{"version":3,"sources":["../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/Events.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/IfOverflowMatches.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/DataUtils.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/DOMUtils.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/Global.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/LogUtils.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/CartesianUtils.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/ShallowEqual.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/shape/Dot.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/shape/Rectangle.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/shape/Curve.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/types.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/ChartUtils.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/ReactUtils.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/shape/Symbols.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/CssPrefixUtils.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/shape/Cross.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/shape/Sector.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/util/PolarUtils.js"],"names":["eventCenter","EventEmitter","setMaxListeners","SYNC_EVENT","ifOverflowMatches","props","value","alwaysShow","ifOverflow","mathSign","isPercent","_isString","indexOf","length","isNumber","_isNumber","_isNaN","isNumOrStr","idCounter","uniqueId","prefix","id","concat","getPercentValue","percent","totalValue","defaultValue","arguments","undefined","validate","index","parseFloat","slice","getAnyElementOfObject","obj","keys","Object","hasDuplicate","ary","_isArray","len","cache","i","interpolateNumber","numberA","numberB","t","findEntryInArray","specifiedKey","specifiedValue","find","entry","_get","getLinearRegression","data","xsum","ysum","xysum","xxsum","xmin","Infinity","xmax","xcurrent","ycurrent","cx","cy","Math","min","max","a","b","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","configurable","writable","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","prototype","toString","call","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","arr2","stringCache","widthCache","cacheCount","MAX_CACHE_NUM","SPAN_STYLE","position","top","left","padding","margin","border","whiteSpace","STYLE_LIST","MEASUREMENT_SPAN_ID","autoCompleteStyle","camelToMiddleLine","text","strs","split","formatStrs","reduce","result","toUpperCase","toLowerCase","join","getStyleString","style","s","getStringSize","Global","isSsr","width","height","str","styleString","cacheKey","measurementSpan","document","getElementById","createElement","setAttribute","body","appendChild","measurementSpanStyle","map","styleKey","textContent","rect","getBoundingClientRect","e","getOffset","el","html","ownerDocument","documentElement","box","window","pageYOffset","clientTop","pageXOffset","clientLeft","calculateChartCoordinate","event","offset","chartX","round","pageX","chartY","pageY","parseIsSsrByDefault","setTimeout","get","set","k","isDev","process","warn","condition","format","_len","args","_key","console","argIndex","replace","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","formatAxisMap","axisMap","axisType","chartName","layout","children","ids","steps","leftMirror","right","rightMirror","topMirror","bottom","bottomMirror","hasBar","findChildByType","axis","orientation","domain","_axis$padding","mirror","reversed","offsetKey","calculatedPadding","range","x","y","needSpace","type","diff","smallestDistanceBetweenValues","sortedValues","categoricalDomain","sort","smallestDistanceInPercent","rangeWidth","gap","barCategoryGap","halfBand","_parseScale","parseScale","scale","realScaleType","checkDomainOfScale","ticks","getTicksOfScale","finalAxis","bandSize","getBandSizeOfAxis","hide","rectWithPoints","_ref","_ref2","x1","y1","x2","y2","abs","rectWithCoords","_ref3","ScaleHelper","bandwidth","_ref4","bandAware","_offset","_offset2","isInRange","first","last","create","EPS","createLabeledScales","options","scales","res","coord","_ref5","_mapValues","label","_every","shallowEqual","hasOwnProperty","_typeof","_extends","assign","_inherits","subClass","superClass","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","getPrototypeOf","Dot","_PureComponent","_super","render","_this$props","r","className","layerClass","classNames","React","filterProps","adaptEventHandlers","PureComponent","getRectanglePath","radius","maxRadius","ySign","xSign","clockWise","path","newRadius","_newRadius","isInRectangle","point","px","py","minX","maxX","minY","maxY","Rectangle","_this","state","totalLength","node","componentDidMount","getTotalLength","setState","err","_this2","_this$props2","animationEasing","animationDuration","animationBegin","isAnimationActive","isUpdateAnimationActive","d","Animate","canBegin","to","duration","isActive","currWidth","currHeight","currX","currY","attributeName","begin","easing","ref","defaultProps","CURVE_FACTORIES","curveBasisClosed","curveBasisOpen","curveBasis","curveLinearClosed","curveLinear","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","defined","getX","getY","getCurveFactory","_isFunction","_upperFirst","Curve","getPath","points","baseLine","connectNulls","curveFactory","formatPoints","lineFunction","formatBaseLine","base","areaPoints","shapeArea","x0","y0","curve","shapeLine","pathRef","realPath","SVGContainerPropKeys","SVGElementPropKeys","EventKeys","includeEvents","isSvg","inputProps","isValidElement","_isObject","out","includes","newHandler","getEventHandlerOfChild","originalHandler","adaptEventsOfChild","item","getValueByDataKey","dataKey","_isNil","getDomainOfDataByKey","filterNil","flattenData","_flatMap","_min","_max","validateData","Date","calculateActiveTickIndex","coordinate","_ticks$length","unsortedTicks","before","cur","after","sameDirectionCoord","diffInterval","curInRange","afterInRange","sameInterval","_i","getMainColorOfGraphicItem","displayName","_item$props","stroke","fill","getLegendProps","formattedGraphicalItems","legendWidth","legendContent","legendItem","Legend","legendData","payload","sectors","iconType","legendType","color","_item$props2","inactive","getWithHeight","getBarSizeList","globalSize","barSize","_ref5$stackGroups","stackGroups","numericAxisIds","sgs","stackIds","j","sLen","_sgs$stackIds$j","items","cateAxisId","barItems","getDisplayName","selfSize","cateId","stackList","getBarPosition","_ref6","barGap","_ref6$sizeList","sizeList","maxBarSize","realBarGap","useFull","fullBarSize","sum","prev","size","newRes","originalSize","appendOffsetOfLegend","legendBox","legendProps","newOffset","align","verticalAlign","getDomainOfErrorBars","errorBars","findAllByType","errorBarChild","direction","entryValue","mainValue","errorDomain","prevErrorArr","errorValue","lowerValue","upperValue","parseErrorBarsOfAxis","domains","getDomainOfItemsWithSameAxis","tag","isCategoricalAxis","getCoordinatesOfGrid","hasMin","hasMax","values","getTicksOfAxis","isGrid","isAll","duplicateDomain","offsetForBand","niceTicks","scaleContent","isCategorical","tickCount","combineEventHandlers","defaultHandler","parentHandler","childHandler","customizedHandler","arg1","arg2","arg3","arg4","chartType","d3Scales","findPositionOfBar","barPosition","child","truncateByDomain","offsetSign","series","m","positive","negative","offsetPositive","STACK_OFFSET_MAP","sign","expand","stackOffsetExpand","none","stackOffsetNone","silhouette","stackOffsetSilhouette","wiggle","stackOffsetWiggle","getStackedData","stackItems","offsetType","dataKeys","stack","shapeStack","order","stackOrderNone","getStackGroupsByAxisId","_items","numericAxisId","reverseStackOrder","reverse","_item$props3","stackId","axisId","parentGroup","hasStack","childGroup","group","g","stackedData","calculateDomainOfTicks","opts","originalDomain","allowDecimals","scaleType","tickValues","getNiceTickValues","_domain","_tickValues","getTickValuesFixedDomain","getCateCoordinateOfLine","_ref7","allowDuplicatedCategory","matchedTick","getCateCoordinateOfBar","_ref8","getBaseValueOfBar","_ref9","numericAxis","getStackedDataOfItem","itemIndex","getDomainOfSingle","getDomainOfStackGroups","startIndex","endIndex","MIN_VALUE_REG","MAX_VALUE_REG","parseSpecifiedDomain","specifiedDomain","dataDomain","allowDataOverflow","exec","_value","isBar","bandWidth","orderedTicks","_sortBy","parseDomainOfCategoryAxis","calculatedDomain","axisChild","_isEqual","getTooltipItem","graphicalItem","_graphicalItem$props","unit","formatter","tooltipType","detectReferenceElementsDomain","specifiedTicks","lines","ReferenceLine","dots","ReferenceDot","elements","areas","ReferenceArea","idKey","valueKey","finalDomain","key1","key2","value1","value2","tick","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","sourceKeys","REACT_BROWSER_EVENT_MAP","click","mousedown","mouseup","mouseover","mousemove","mouseout","mouseenter","mouseleave","touchcancel","touchend","touchmove","touchstart","SCALE_TYPES","LEGEND_TYPES","TOOLTIP_TYPES","Comp","lastChildren","lastResult","toArray","Children","isFragment","types","childType","withoutType","newChildren","validateWidthHeight","_el$props","SVG_TAGS","isSvgElement","filterSvgElements","svgElements","isChildrenEqual","nextChildren","prevChildren","count","isSingleChildEqual","nextChild","prevChild","nextProps","prevProps","renderByOrder","renderMap","record","handler","once","results","getReactEventByType","parseChildIndex","symbolFactories","symbolCircle","symbolCross","symbolDiamond","symbolSquare","symbolStar","symbolTriangle","symbolWye","RADIAN","PI","getSymbolFactory","calculateAreaSize","sizeType","sqrt","angle","tan","pow","Symbols","symbolFactory","symbol","shapeSymbol","transform","registerSymbol","factory","PREFIX_LIST","generatePrefixStyle","camelName","v","Cross","getDeltaAngle","startAngle","endAngle","deltaAngle","getTangentCircle","isExternal","cornerRadius","cornerIsExternal","centerRadius","theta","asin","centerAngle","center","polarToCartesian","circleTangency","lineTangencyAngle","lineTangency","cos","getSectorPath","innerRadius","outerRadius","tempEndAngle","outerStartPoint","outerEndPoint","innerStartPoint","innerEndPoint","getSectorWithCorner","forceCornerRadius","_getTangentCircle","soct","solt","sot","_getTangentCircle2","eoct","eolt","eot","outerArcAngle","_getTangentCircle3","sict","silt","sit","_getTangentCircle4","eict","eilt","eit","innerArcAngle","Sector","deltaRadius","cr","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_e","_s","next","done","degreeToRadian","radianToDegree","angleInRadian","sin","getMaxRadius","_range","_range2","distanceBetweenPoints","anotherPoint","getAngleOfPoint","acos","formatAngleOfSector","startCnt","floor","endCnt","reverseFormatAngleOfSetor","inRangeOfSector","sector","_getAngleOfPoint","_formatAngleOfSector","formatAngle","inRange"],"mappings":"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","file":"static/js/vendors~main~f610c444.af1904e2.chunk.js","sourcesContent":["import EventEmitter from 'eventemitter3';\nvar eventCenter = new EventEmitter();\n\nif (eventCenter.setMaxListeners) {\n eventCenter.setMaxListeners(10);\n}\n\nexport { eventCenter };\nexport var SYNC_EVENT = 'recharts.syncMouseEvents'; // eslint-disable-next-line no-redeclare","export var ifOverflowMatches = function ifOverflowMatches(props, value) {\n var alwaysShow = props.alwaysShow;\n var ifOverflow = props.ifOverflow;\n\n if (alwaysShow) {\n ifOverflow = 'extendDomain';\n }\n\n return ifOverflow === value;\n};","import _get from \"lodash/get\";\nimport _isArray from \"lodash/isArray\";\nimport _isNaN from \"lodash/isNaN\";\nimport _isNumber from \"lodash/isNumber\";\nimport _isString from \"lodash/isString\";\nexport var mathSign = function mathSign(value) {\n if (value === 0) {\n return 0;\n }\n\n if (value > 0) {\n return 1;\n }\n\n return -1;\n};\nexport var isPercent = function isPercent(value) {\n return _isString(value) && value.indexOf('%') === value.length - 1;\n};\nexport var isNumber = function isNumber(value) {\n return _isNumber(value) && !_isNaN(value);\n};\nexport var isNumOrStr = function isNumOrStr(value) {\n return isNumber(value) || _isString(value);\n};\nvar idCounter = 0;\nexport var uniqueId = function uniqueId(prefix) {\n var id = ++idCounter;\n return \"\".concat(prefix || '').concat(id);\n};\n/**\n * Get percent value of a total value\n * @param {Number|String} percent A percent\n * @param {Number} totalValue Total value\n * @param {NUmber} defaultValue The value returned when percent is undefined or invalid\n * @param {Boolean} validate If set to be true, the result will be validated\n * @return {Number} value\n */\n\nexport var getPercentValue = function getPercentValue(percent, totalValue) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var validate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (!isNumber(percent) && !_isString(percent)) {\n return defaultValue;\n }\n\n var value;\n\n if (isPercent(percent)) {\n var index = percent.indexOf('%');\n value = totalValue * parseFloat(percent.slice(0, index)) / 100;\n } else {\n value = +percent;\n }\n\n if (_isNaN(value)) {\n value = defaultValue;\n }\n\n if (validate && value > totalValue) {\n value = totalValue;\n }\n\n return value;\n};\nexport var getAnyElementOfObject = function getAnyElementOfObject(obj) {\n if (!obj) {\n return null;\n }\n\n var keys = Object.keys(obj);\n\n if (keys && keys.length) {\n return obj[keys[0]];\n }\n\n return null;\n};\nexport var hasDuplicate = function hasDuplicate(ary) {\n if (!_isArray(ary)) {\n return false;\n }\n\n var len = ary.length;\n var cache = {};\n\n for (var i = 0; i < len; i++) {\n if (!cache[ary[i]]) {\n cache[ary[i]] = true;\n } else {\n return true;\n }\n }\n\n return false;\n};\nexport var interpolateNumber = function interpolateNumber(numberA, numberB) {\n if (isNumber(numberA) && isNumber(numberB)) {\n return function (t) {\n return numberA + t * (numberB - numberA);\n };\n }\n\n return function () {\n return numberB;\n };\n};\nexport function findEntryInArray(ary, specifiedKey, specifiedValue) {\n if (!ary || !ary.length) {\n return null;\n }\n\n return ary.find(function (entry) {\n return entry && (typeof specifiedKey === 'function' ? specifiedKey(entry) : _get(entry, specifiedKey)) === specifiedValue;\n });\n}\n/**\n * The least square linear regression\n * @param {Array} data The array of points\n * @returns {Object} The domain of x, and the parameter of linear function\n */\n\nexport var getLinearRegression = function getLinearRegression(data) {\n if (!data || !data.length) {\n return null;\n }\n\n var len = data.length;\n var xsum = 0;\n var ysum = 0;\n var xysum = 0;\n var xxsum = 0;\n var xmin = Infinity;\n var xmax = -Infinity;\n var xcurrent = 0;\n var ycurrent = 0;\n\n for (var i = 0; i < len; i++) {\n xcurrent = data[i].cx || 0;\n ycurrent = data[i].cy || 0;\n xsum += xcurrent;\n ysum += ycurrent;\n xysum += xcurrent * ycurrent;\n xxsum += xcurrent * xcurrent;\n xmin = Math.min(xmin, xcurrent);\n xmax = Math.max(xmax, xcurrent);\n }\n\n var a = len * xxsum !== xsum * xsum ? (len * xysum - xsum * ysum) / (len * xxsum - xsum * xsum) : 0;\n return {\n xmin: xmin,\n xmax: xmax,\n a: a,\n b: (ysum - a * xsum) / len\n };\n};","function 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 _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\nimport { Global } from './Global';\nvar stringCache = {\n widthCache: {},\n cacheCount: 0\n};\nvar MAX_CACHE_NUM = 2000;\nvar SPAN_STYLE = {\n position: 'absolute',\n top: '-20000px',\n left: 0,\n padding: 0,\n margin: 0,\n border: 'none',\n whiteSpace: 'pre'\n};\nvar STYLE_LIST = ['minWidth', 'maxWidth', 'width', 'minHeight', 'maxHeight', 'height', 'top', 'left', 'fontSize', 'lineHeight', 'padding', 'margin', 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', 'marginLeft', 'marginRight', 'marginTop', 'marginBottom'];\nvar MEASUREMENT_SPAN_ID = 'recharts_measurement_span';\n\nfunction autoCompleteStyle(name, value) {\n if (STYLE_LIST.indexOf(name) >= 0 && value === +value) {\n return \"\".concat(value, \"px\");\n }\n\n return value;\n}\n\nfunction camelToMiddleLine(text) {\n var strs = text.split('');\n var formatStrs = strs.reduce(function (result, entry) {\n if (entry === entry.toUpperCase()) {\n return [].concat(_toConsumableArray(result), ['-', entry.toLowerCase()]);\n }\n\n return [].concat(_toConsumableArray(result), [entry]);\n }, []);\n return formatStrs.join('');\n}\n\nexport var getStyleString = function getStyleString(style) {\n return Object.keys(style).reduce(function (result, s) {\n return \"\".concat(result).concat(camelToMiddleLine(s), \":\").concat(autoCompleteStyle(s, style[s]), \";\");\n }, '');\n};\nexport var getStringSize = function getStringSize(text) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (text === undefined || text === null || Global.isSsr) {\n return {\n width: 0,\n height: 0\n };\n }\n\n var str = \"\".concat(text);\n var styleString = getStyleString(style);\n var cacheKey = \"\".concat(str, \"-\").concat(styleString);\n\n if (stringCache.widthCache[cacheKey]) {\n return stringCache.widthCache[cacheKey];\n }\n\n try {\n var measurementSpan = document.getElementById(MEASUREMENT_SPAN_ID);\n\n if (!measurementSpan) {\n measurementSpan = document.createElement('span');\n measurementSpan.setAttribute('id', MEASUREMENT_SPAN_ID);\n measurementSpan.setAttribute('aria-hidden', 'true');\n document.body.appendChild(measurementSpan);\n } // Need to use CSS Object Model (CSSOM) to be able to comply with Content Security Policy (CSP)\n // https://en.wikipedia.org/wiki/Content_Security_Policy\n\n\n var measurementSpanStyle = _objectSpread(_objectSpread({}, SPAN_STYLE), style);\n\n Object.keys(measurementSpanStyle).map(function (styleKey) {\n measurementSpan.style[styleKey] = measurementSpanStyle[styleKey];\n return styleKey;\n });\n measurementSpan.textContent = str;\n var rect = measurementSpan.getBoundingClientRect();\n var result = {\n width: rect.width,\n height: rect.height\n };\n stringCache.widthCache[cacheKey] = result;\n\n if (++stringCache.cacheCount > MAX_CACHE_NUM) {\n stringCache.cacheCount = 0;\n stringCache.widthCache = {};\n }\n\n return result;\n } catch (e) {\n return {\n width: 0,\n height: 0\n };\n }\n};\nexport var getOffset = function getOffset(el) {\n var html = el.ownerDocument.documentElement;\n var box = {\n top: 0,\n left: 0\n }; // If we don't have gBCR, just use 0,0 rather than error\n // BlackBerry 5, iOS 3 (original iPhone)\n\n if (typeof el.getBoundingClientRect !== 'undefined') {\n box = el.getBoundingClientRect();\n }\n\n return {\n top: box.top + window.pageYOffset - html.clientTop,\n left: box.left + window.pageXOffset - html.clientLeft\n };\n};\n/**\n * Calculate coordinate of cursor in chart\n * @param {Object} event Event object\n * @param {Object} offset The offset of main part in the svg element\n * @return {Object} {chartX, chartY}\n */\n\nexport var calculateChartCoordinate = function calculateChartCoordinate(event, offset) {\n return {\n chartX: Math.round(event.pageX - offset.left),\n chartY: Math.round(event.pageY - offset.top)\n };\n};","var parseIsSsrByDefault = function parseIsSsrByDefault() {\n return !(typeof window !== 'undefined' && window.document && window.document.createElement && window.setTimeout);\n};\n\nexport var Global = {\n isSsr: parseIsSsrByDefault(),\n get: function get(key) {\n return Global[key];\n },\n set: function set(key, value) {\n if (typeof key === 'string') {\n Global[key] = value;\n } else {\n var keys = Object.keys(key);\n\n if (keys && keys.length) {\n keys.forEach(function (k) {\n Global[k] = key[k];\n });\n }\n }\n }\n};","/* eslint no-console: 0 */\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (isDev && typeof console !== 'undefined' && console.warn) {\n if (format === undefined) {\n console.warn('LogUtils requires an error message argument');\n }\n\n if (!condition) {\n if (format === undefined) {\n console.warn('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n console.warn(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n }\n }\n }\n};","import _every from \"lodash/every\";\nimport _mapValues from \"lodash/mapValues\";\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 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 { getTicksOfScale, parseScale, checkDomainOfScale, getBandSizeOfAxis } from './ChartUtils';\nimport { findChildByType } from './ReactUtils';\nimport { getPercentValue } from './DataUtils';\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {String} axisType The type of axes, x-axis or y-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\n\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height,\n layout = props.layout,\n children = props.children;\n var ids = Object.keys(axisMap);\n var steps = {\n left: offset.left,\n leftMirror: offset.left,\n right: width - offset.right,\n rightMirror: width - offset.right,\n top: offset.top,\n topMirror: offset.top,\n bottom: height - offset.bottom,\n bottomMirror: height - offset.bottom\n };\n var hasBar = !!findChildByType(children, 'Bar');\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var orientation = axis.orientation,\n domain = axis.domain,\n _axis$padding = axis.padding,\n padding = _axis$padding === void 0 ? {} : _axis$padding,\n mirror = axis.mirror,\n reversed = axis.reversed;\n var offsetKey = \"\".concat(orientation).concat(mirror ? 'Mirror' : '');\n var calculatedPadding, range, x, y, needSpace;\n\n if (axis.type === 'number' && (axis.padding === 'gap' || axis.padding === 'no-gap')) {\n var diff = domain[1] - domain[0];\n var smallestDistanceBetweenValues = Infinity;\n var sortedValues = axis.categoricalDomain.sort();\n sortedValues.forEach(function (value, index) {\n if (index > 0) {\n smallestDistanceBetweenValues = Math.min((value || 0) - (sortedValues[index - 1] || 0), smallestDistanceBetweenValues);\n }\n });\n var smallestDistanceInPercent = smallestDistanceBetweenValues / diff;\n var rangeWidth = axis.layout === 'vertical' ? offset.height : offset.width;\n\n if (axis.padding === 'gap') {\n calculatedPadding = smallestDistanceInPercent * rangeWidth / 2;\n }\n\n if (axis.padding === 'no-gap') {\n var gap = getPercentValue(props.barCategoryGap, smallestDistanceInPercent * rangeWidth);\n var halfBand = smallestDistanceInPercent * rangeWidth / 2;\n calculatedPadding = halfBand - gap - (halfBand - gap) / rangeWidth * gap;\n }\n }\n\n if (axisType === 'xAxis') {\n range = [offset.left + (padding.left || 0) + (calculatedPadding || 0), offset.left + offset.width - (padding.right || 0) - (calculatedPadding || 0)];\n } else if (axisType === 'yAxis') {\n range = layout === 'horizontal' ? [offset.top + offset.height - (padding.bottom || 0), offset.top + (padding.top || 0)] : [offset.top + (padding.top || 0) + (calculatedPadding || 0), offset.top + offset.height - (padding.bottom || 0) - (calculatedPadding || 0)];\n } else {\n range = axis.range;\n }\n\n if (reversed) {\n range = [range[1], range[0]];\n }\n\n var _parseScale = parseScale(axis, chartName, hasBar),\n scale = _parseScale.scale,\n realScaleType = _parseScale.realScaleType;\n\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n\n if (axisType === 'xAxis') {\n needSpace = orientation === 'top' && !mirror || orientation === 'bottom' && mirror;\n x = offset.left;\n y = steps[offsetKey] - needSpace * axis.height;\n } else if (axisType === 'yAxis') {\n needSpace = orientation === 'left' && !mirror || orientation === 'right' && mirror;\n x = steps[offsetKey] - needSpace * axis.width;\n y = offset.top;\n }\n\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n realScaleType: realScaleType,\n x: x,\n y: y,\n scale: scale,\n width: axisType === 'xAxis' ? offset.width : axis.width,\n height: axisType === 'yAxis' ? offset.height : axis.height\n });\n\n finalAxis.bandSize = getBandSizeOfAxis(finalAxis, ticks);\n\n if (!axis.hide && axisType === 'xAxis') {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.height;\n } else if (!axis.hide) {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.width;\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var rectWithPoints = function rectWithPoints(_ref, _ref2) {\n var x1 = _ref.x,\n y1 = _ref.y;\n var x2 = _ref2.x,\n y2 = _ref2.y;\n return {\n x: Math.min(x1, x2),\n y: Math.min(y1, y2),\n width: Math.abs(x2 - x1),\n height: Math.abs(y2 - y1)\n };\n};\n/**\n * Compute the x, y, width, and height of a box from two reference points.\n * @param {Object} coords x1, x2, y1, and y2\n * @return {Object} object\n */\n\nexport var rectWithCoords = function rectWithCoords(_ref3) {\n var x1 = _ref3.x1,\n y1 = _ref3.y1,\n x2 = _ref3.x2,\n y2 = _ref3.y2;\n return rectWithPoints({\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n });\n};\nexport var ScaleHelper = /*#__PURE__*/function () {\n function ScaleHelper(scale) {\n _classCallCheck(this, ScaleHelper);\n\n this.scale = void 0;\n this.scale = scale;\n }\n\n _createClass(ScaleHelper, [{\n key: \"domain\",\n get: function get() {\n return this.scale.domain;\n }\n }, {\n key: \"range\",\n get: function get() {\n return this.scale.range;\n }\n }, {\n key: \"rangeMin\",\n get: function get() {\n return this.range()[0];\n }\n }, {\n key: \"rangeMax\",\n get: function get() {\n return this.range()[1];\n }\n }, {\n key: \"bandwidth\",\n get: function get() {\n return this.scale.bandwidth;\n }\n }, {\n key: \"apply\",\n value: function apply(value) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref4.bandAware,\n position = _ref4.position;\n\n if (value === undefined) {\n return undefined;\n }\n\n if (position) {\n switch (position) {\n case 'start':\n {\n return this.scale(value);\n }\n\n case 'middle':\n {\n var offset = this.bandwidth ? this.bandwidth() / 2 : 0;\n return this.scale(value) + offset;\n }\n\n case 'end':\n {\n var _offset = this.bandwidth ? this.bandwidth() : 0;\n\n return this.scale(value) + _offset;\n }\n\n default:\n {\n return this.scale(value);\n }\n }\n }\n\n if (bandAware) {\n var _offset2 = this.bandwidth ? this.bandwidth() / 2 : 0;\n\n return this.scale(value) + _offset2;\n }\n\n return this.scale(value);\n }\n }, {\n key: \"isInRange\",\n value: function isInRange(value) {\n var range = this.range();\n var first = range[0];\n var last = range[range.length - 1];\n return first <= last ? value >= first && value <= last : value >= last && value <= first;\n }\n }], [{\n key: \"create\",\n value: function create(obj) {\n return new ScaleHelper(obj);\n }\n }]);\n\n return ScaleHelper;\n}();\nScaleHelper.EPS = 1e-4;\nexport var createLabeledScales = function createLabeledScales(options) {\n var scales = Object.keys(options).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, ScaleHelper.create(options[key])));\n }, {});\n return _objectSpread(_objectSpread({}, scales), {}, {\n apply: function apply(coord) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref5.bandAware,\n position = _ref5.position;\n\n return _mapValues(coord, function (value, label) {\n return scales[label].apply(value, {\n bandAware: bandAware,\n position: position\n });\n });\n },\n isInRange: function isInRange(coord) {\n return _every(coord, function (value, label) {\n return scales[label].isInRange(value);\n });\n }\n });\n};","export function shallowEqual(a, b) {\n /* eslint-disable no-restricted-syntax */\n for (var key in a) {\n if ({}.hasOwnProperty.call(a, key) && (!{}.hasOwnProperty.call(b, key) || a[key] !== b[key])) {\n return false;\n }\n }\n\n for (var _key in b) {\n if ({}.hasOwnProperty.call(b, _key) && !{}.hasOwnProperty.call(a, _key)) {\n return false;\n }\n }\n\n return true;\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 _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 Dot\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { adaptEventHandlers, filterProps } from '../util/types';\nexport var Dot = /*#__PURE__*/function (_PureComponent) {\n _inherits(Dot, _PureComponent);\n\n var _super = _createSuper(Dot);\n\n function Dot() {\n _classCallCheck(this, Dot);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Dot, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n cx = _this$props.cx,\n cy = _this$props.cy,\n r = _this$props.r,\n className = _this$props.className;\n var layerClass = classNames('recharts-dot', className);\n\n if (cx === +cx && cy === +cy && r === +r) {\n return /*#__PURE__*/React.createElement(\"circle\", _extends({}, filterProps(this.props), adaptEventHandlers(this.props), {\n className: layerClass,\n cx: cx,\n cy: cy,\n r: r\n }));\n }\n\n return null;\n }\n }]);\n\n return Dot;\n}(PureComponent);","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 _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 Rectangle\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Animate from 'react-smooth';\nimport { filterProps } from '../util/types';\n\nvar getRectanglePath = function getRectanglePath(x, y, width, height, radius) {\n var maxRadius = Math.min(Math.abs(width) / 2, Math.abs(height) / 2);\n var ySign = height >= 0 ? 1 : -1;\n var xSign = width >= 0 ? 1 : -1;\n var clockWise = height >= 0 && width >= 0 || height < 0 && width < 0 ? 1 : 0;\n var path;\n\n if (maxRadius > 0 && radius instanceof Array) {\n var newRadius = [0, 0, 0, 0];\n\n for (var i = 0, len = 4; i < len; i++) {\n newRadius[i] = radius[i] > maxRadius ? maxRadius : radius[i];\n }\n\n path = \"M\".concat(x, \",\").concat(y + ySign * newRadius[0]);\n\n if (newRadius[0] > 0) {\n path += \"A \".concat(newRadius[0], \",\").concat(newRadius[0], \",0,0,\").concat(clockWise, \",\").concat(x + xSign * newRadius[0], \",\").concat(y);\n }\n\n path += \"L \".concat(x + width - xSign * newRadius[1], \",\").concat(y);\n\n if (newRadius[1] > 0) {\n path += \"A \".concat(newRadius[1], \",\").concat(newRadius[1], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width, \",\").concat(y + ySign * newRadius[1]);\n }\n\n path += \"L \".concat(x + width, \",\").concat(y + height - ySign * newRadius[2]);\n\n if (newRadius[2] > 0) {\n path += \"A \".concat(newRadius[2], \",\").concat(newRadius[2], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width - xSign * newRadius[2], \",\").concat(y + height);\n }\n\n path += \"L \".concat(x + xSign * newRadius[3], \",\").concat(y + height);\n\n if (newRadius[3] > 0) {\n path += \"A \".concat(newRadius[3], \",\").concat(newRadius[3], \",0,0,\").concat(clockWise, \",\\n \").concat(x, \",\").concat(y + height - ySign * newRadius[3]);\n }\n\n path += 'Z';\n } else if (maxRadius > 0 && radius === +radius && radius > 0) {\n var _newRadius = Math.min(maxRadius, radius);\n\n path = \"M \".concat(x, \",\").concat(y + ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + xSign * _newRadius, \",\").concat(y, \"\\n L \").concat(x + width - xSign * _newRadius, \",\").concat(y, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width, \",\").concat(y + ySign * _newRadius, \"\\n L \").concat(x + width, \",\").concat(y + height - ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width - xSign * _newRadius, \",\").concat(y + height, \"\\n L \").concat(x + xSign * _newRadius, \",\").concat(y + height, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x, \",\").concat(y + height - ySign * _newRadius, \" Z\");\n } else {\n path = \"M \".concat(x, \",\").concat(y, \" h \").concat(width, \" v \").concat(height, \" h \").concat(-width, \" Z\");\n }\n\n return path;\n};\n\nexport var isInRectangle = function isInRectangle(point, rect) {\n if (!point || !rect) {\n return false;\n }\n\n var px = point.x,\n py = point.y;\n var x = rect.x,\n y = rect.y,\n width = rect.width,\n height = rect.height;\n\n if (Math.abs(width) > 0 && Math.abs(height) > 0) {\n var minX = Math.min(x, x + width);\n var maxX = Math.max(x, x + width);\n var minY = Math.min(y, y + height);\n var maxY = Math.max(y, y + height);\n return px >= minX && px <= maxX && py >= minY && py <= maxY;\n }\n\n return false;\n};\nexport var Rectangle = /*#__PURE__*/function (_PureComponent) {\n _inherits(Rectangle, _PureComponent);\n\n var _super = _createSuper(Rectangle);\n\n function Rectangle() {\n var _this;\n\n _classCallCheck(this, Rectangle);\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 totalLength: -1\n };\n _this.node = void 0;\n return _this;\n }\n\n _createClass(Rectangle, [{\n key: \"componentDidMount\",\n value:\n /* eslint-disable react/no-did-mount-set-state */\n function componentDidMount() {\n if (this.node && this.node.getTotalLength) {\n try {\n var totalLength = this.node.getTotalLength();\n\n if (totalLength) {\n this.setState({\n totalLength: totalLength\n });\n }\n } catch (err) {// calculate total length error\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n x = _this$props.x,\n y = _this$props.y,\n width = _this$props.width,\n height = _this$props.height,\n radius = _this$props.radius,\n className = _this$props.className;\n var totalLength = this.state.totalLength;\n var _this$props2 = this.props,\n animationEasing = _this$props2.animationEasing,\n animationDuration = _this$props2.animationDuration,\n animationBegin = _this$props2.animationBegin,\n isAnimationActive = _this$props2.isAnimationActive,\n isUpdateAnimationActive = _this$props2.isUpdateAnimationActive;\n\n if (x !== +x || y !== +y || width !== +width || height !== +height || width === 0 || height === 0) {\n return null;\n }\n\n var layerClass = classNames('recharts-rectangle', className);\n\n if (!isUpdateAnimationActive) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props, true), {\n className: layerClass,\n d: getRectanglePath(x, y, width, height, radius)\n }));\n }\n\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n to: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n duration: animationDuration,\n animationEasing: animationEasing,\n isActive: isUpdateAnimationActive\n }, function (_ref) {\n var currWidth = _ref.width,\n currHeight = _ref.height,\n currX = _ref.x,\n currY = _ref.y;\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\"),\n to: \"\".concat(totalLength, \"px 0px\"),\n attributeName: \"strokeDasharray\",\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing\n }, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(_this2.props, true), {\n className: layerClass,\n d: getRectanglePath(currX, currY, currWidth, currHeight, radius),\n ref: function ref(node) {\n _this2.node = node;\n }\n })));\n });\n }\n }]);\n\n return Rectangle;\n}(PureComponent);\nRectangle.defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n // The radius of border\n // The radius of four corners when radius is a number\n // The radius of left-top, right-top, right-bottom, left-bottom when radius is an array\n radius: 0,\n isAnimationActive: false,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\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 _isArray from \"lodash/isArray\";\nimport _upperFirst from \"lodash/upperFirst\";\nimport _isFunction from \"lodash/isFunction\";\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 Curve\n */\nimport React, { PureComponent } from 'react';\nimport { line as shapeLine, area as shapeArea, curveBasisClosed, curveBasisOpen, curveBasis, curveLinearClosed, curveLinear, curveMonotoneX, curveMonotoneY, curveNatural, curveStep, curveStepAfter, curveStepBefore } from 'd3-shape';\nimport classNames from 'classnames';\nimport { adaptEventHandlers, filterProps } from '../util/types';\nimport { isNumber } from '../util/DataUtils';\nvar CURVE_FACTORIES = {\n curveBasisClosed: curveBasisClosed,\n curveBasisOpen: curveBasisOpen,\n curveBasis: curveBasis,\n curveLinearClosed: curveLinearClosed,\n curveLinear: curveLinear,\n curveMonotoneX: curveMonotoneX,\n curveMonotoneY: curveMonotoneY,\n curveNatural: curveNatural,\n curveStep: curveStep,\n curveStepAfter: curveStepAfter,\n curveStepBefore: curveStepBefore\n};\n\nvar defined = function defined(p) {\n return p.x === +p.x && p.y === +p.y;\n};\n\nvar getX = function getX(p) {\n return p.x;\n};\n\nvar getY = function getY(p) {\n return p.y;\n};\n\nvar getCurveFactory = function getCurveFactory(type, layout) {\n if (_isFunction(type)) {\n return type;\n }\n\n var name = \"curve\".concat(_upperFirst(type));\n\n if (name === 'curveMonotone' && layout) {\n return CURVE_FACTORIES[\"\".concat(name).concat(layout === 'vertical' ? 'Y' : 'X')];\n }\n\n return CURVE_FACTORIES[name] || curveLinear;\n};\n\nexport var Curve = /*#__PURE__*/function (_PureComponent) {\n _inherits(Curve, _PureComponent);\n\n var _super = _createSuper(Curve);\n\n function Curve() {\n _classCallCheck(this, Curve);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Curve, [{\n key: \"getPath\",\n value:\n /**\n * Calculate the path of curve\n * @return {String} path\n */\n function getPath() {\n var _this$props = this.props,\n type = _this$props.type,\n points = _this$props.points,\n baseLine = _this$props.baseLine,\n layout = _this$props.layout,\n connectNulls = _this$props.connectNulls;\n var curveFactory = getCurveFactory(type, layout);\n var formatPoints = connectNulls ? points.filter(function (entry) {\n return defined(entry);\n }) : points;\n var lineFunction;\n\n if (_isArray(baseLine)) {\n var formatBaseLine = connectNulls ? baseLine.filter(function (base) {\n return defined(base);\n }) : baseLine;\n var areaPoints = formatPoints.map(function (entry, index) {\n return _objectSpread(_objectSpread({}, entry), {}, {\n base: formatBaseLine[index]\n });\n });\n\n if (layout === 'vertical') {\n lineFunction = shapeArea().y(getY).x1(getX).x0(function (d) {\n return d.base.x;\n });\n } else {\n lineFunction = shapeArea().x(getX).y1(getY).y0(function (d) {\n return d.base.y;\n });\n }\n\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(areaPoints);\n }\n\n if (layout === 'vertical' && isNumber(baseLine)) {\n lineFunction = shapeArea().y(getY).x1(getX).x0(baseLine);\n } else if (isNumber(baseLine)) {\n lineFunction = shapeArea().x(getX).y1(getY).y0(baseLine);\n } else {\n lineFunction = shapeLine().x(getX).y(getY);\n }\n\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(formatPoints);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n className = _this$props2.className,\n points = _this$props2.points,\n path = _this$props2.path,\n pathRef = _this$props2.pathRef;\n\n if ((!points || !points.length) && !path) {\n return null;\n }\n\n var realPath = points && points.length ? this.getPath() : path;\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props), adaptEventHandlers(this.props), {\n className: classNames('recharts-curve', className),\n d: realPath,\n ref: pathRef\n }));\n }\n }]);\n\n return Curve;\n}(PureComponent);\nCurve.defaultProps = {\n type: 'linear',\n points: [],\n connectNulls: false\n};","import _isObject from \"lodash/isObject\";\n\nfunction _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 { isValidElement } from 'react';\nvar SVGContainerPropKeys = ['viewBox', 'children'];\nvar SVGElementPropKeys = ['aria-activedescendant', 'aria-atomic', 'aria-autocomplete', 'aria-busy', 'aria-checked', 'aria-colcount', 'aria-colindex', 'aria-colspan', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-details', 'aria-disabled', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-level', 'aria-live', 'aria-modal', 'aria-multiline', 'aria-multiselectable', 'aria-orientation', 'aria-owns', 'aria-placeholder', 'aria-posinset', 'aria-pressed', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription', 'aria-rowcount', 'aria-rowindex', 'aria-rowspan', 'aria-selected', 'aria-setsize', 'aria-sort', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext', 'className', 'color', 'height', 'id', 'lang', 'max', 'media', 'method', 'min', 'name', 'style', 'target', 'type', 'width', 'role', 'tabIndex', 'accentHeight', 'accumulate', 'additive', 'alignmentBaseline', 'allowReorder', 'alphabetic', 'amplitude', 'arabicForm', 'ascent', 'attributeName', 'attributeType', 'autoReverse', 'azimuth', 'baseFrequency', 'baselineShift', 'baseProfile', 'bbox', 'begin', 'bias', 'by', 'calcMode', 'capHeight', 'clip', 'clipPath', 'clipPathUnits', 'clipRule', 'colorInterpolation', 'colorInterpolationFilters', 'colorProfile', 'colorRendering', 'contentScriptType', 'contentStyleType', 'cursor', 'cx', 'cy', 'd', 'decelerate', 'descent', 'diffuseConstant', 'direction', 'display', 'divisor', 'dominantBaseline', 'dur', 'dx', 'dy', 'edgeMode', 'elevation', 'enableBackground', 'end', 'exponent', 'externalResourcesRequired', 'fill', 'fillOpacity', 'fillRule', 'filter', 'filterRes', 'filterUnits', 'floodColor', 'floodOpacity', 'focusable', 'fontFamily', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontWeight', 'format', 'from', 'fx', 'fy', 'g1', 'g2', 'glyphName', 'glyphOrientationHorizontal', 'glyphOrientationVertical', 'glyphRef', 'gradientTransform', 'gradientUnits', 'hanging', 'horizAdvX', 'horizOriginX', 'href', 'ideographic', 'imageRendering', 'in2', 'in', 'intercept', 'k1', 'k2', 'k3', 'k4', 'k', 'kernelMatrix', 'kernelUnitLength', 'kerning', 'keyPoints', 'keySplines', 'keyTimes', 'lengthAdjust', 'letterSpacing', 'lightingColor', 'limitingConeAngle', 'local', 'markerEnd', 'markerHeight', 'markerMid', 'markerStart', 'markerUnits', 'markerWidth', 'mask', 'maskContentUnits', 'maskUnits', 'mathematical', 'mode', 'numOctaves', 'offset', 'opacity', 'operator', 'order', 'orient', 'orientation', 'origin', 'overflow', 'overlinePosition', 'overlineThickness', 'paintOrder', 'panose1', 'pathLength', 'patternContentUnits', 'patternTransform', 'patternUnits', 'pointerEvents', 'points', 'pointsAtX', 'pointsAtY', 'pointsAtZ', 'preserveAlpha', 'preserveAspectRatio', 'primitiveUnits', 'r', 'radius', 'refX', 'refY', 'renderingIntent', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'result', 'rotate', 'rx', 'ry', 'seed', 'shapeRendering', 'slope', 'spacing', 'specularConstant', 'specularExponent', 'speed', 'spreadMethod', 'startOffset', 'stdDeviation', 'stemh', 'stemv', 'stitchTiles', 'stopColor', 'stopOpacity', 'strikethroughPosition', 'strikethroughThickness', 'string', 'stroke', 'strokeDasharray', 'strokeDashoffset', 'strokeLinecap', 'strokeLinejoin', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'surfaceScale', 'systemLanguage', 'tableValues', 'targetX', 'targetY', 'textAnchor', 'textDecoration', 'textLength', 'textRendering', 'to', 'transform', 'u1', 'u2', 'underlinePosition', 'underlineThickness', 'unicode', 'unicodeBidi', 'unicodeRange', 'unitsPerEm', 'vAlphabetic', 'values', 'vectorEffect', 'version', 'vertAdvY', 'vertOriginX', 'vertOriginY', 'vHanging', 'vIdeographic', 'viewTarget', 'visibility', 'vMathematical', 'widths', 'wordSpacing', 'writingMode', 'x1', 'x2', 'x', 'xChannelSelector', 'xHeight', 'xlinkActuate', 'xlinkArcrole', 'xlinkHref', 'xlinkRole', 'xlinkShow', 'xlinkTitle', 'xlinkType', 'xmlBase', 'xmlLang', 'xmlns', 'xmlnsXlink', 'xmlSpace', 'y1', 'y2', 'y', 'yChannelSelector', 'z', 'zoomAndPan', 'ref', 'key', 'angle'];\nvar EventKeys = ['dangerouslySetInnerHTML', 'onCopy', 'onCopyCapture', 'onCut', 'onCutCapture', 'onPaste', 'onPasteCapture', 'onCompositionEnd', 'onCompositionEndCapture', 'onCompositionStart', 'onCompositionStartCapture', 'onCompositionUpdate', 'onCompositionUpdateCapture', 'onFocus', 'onFocusCapture', 'onBlur', 'onBlurCapture', 'onChange', 'onChangeCapture', 'onBeforeInput', 'onBeforeInputCapture', 'onInput', 'onInputCapture', 'onReset', 'onResetCapture', 'onSubmit', 'onSubmitCapture', 'onInvalid', 'onInvalidCapture', 'onLoad', 'onLoadCapture', 'onError', 'onErrorCapture', 'onKeyDown', 'onKeyDownCapture', 'onKeyPress', 'onKeyPressCapture', 'onKeyUp', 'onKeyUpCapture', 'onAbort', 'onAbortCapture', 'onCanPlay', 'onCanPlayCapture', 'onCanPlayThrough', 'onCanPlayThroughCapture', 'onDurationChange', 'onDurationChangeCapture', 'onEmptied', 'onEmptiedCapture', 'onEncrypted', 'onEncryptedCapture', 'onEnded', 'onEndedCapture', 'onLoadedData', 'onLoadedDataCapture', 'onLoadedMetadata', 'onLoadedMetadataCapture', 'onLoadStart', 'onLoadStartCapture', 'onPause', 'onPauseCapture', 'onPlay', 'onPlayCapture', 'onPlaying', 'onPlayingCapture', 'onProgress', 'onProgressCapture', 'onRateChange', 'onRateChangeCapture', 'onSeeked', 'onSeekedCapture', 'onSeeking', 'onSeekingCapture', 'onStalled', 'onStalledCapture', 'onSuspend', 'onSuspendCapture', 'onTimeUpdate', 'onTimeUpdateCapture', 'onVolumeChange', 'onVolumeChangeCapture', 'onWaiting', 'onWaitingCapture', 'onAuxClick', 'onAuxClickCapture', 'onClick', 'onClickCapture', 'onContextMenu', 'onContextMenuCapture', 'onDoubleClick', 'onDoubleClickCapture', 'onDrag', 'onDragCapture', 'onDragEnd', 'onDragEndCapture', 'onDragEnter', 'onDragEnterCapture', 'onDragExit', 'onDragExitCapture', 'onDragLeave', 'onDragLeaveCapture', 'onDragOver', 'onDragOverCapture', 'onDragStart', 'onDragStartCapture', 'onDrop', 'onDropCapture', 'onMouseDown', 'onMouseDownCapture', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseMoveCapture', 'onMouseOut', 'onMouseOutCapture', 'onMouseOver', 'onMouseOverCapture', 'onMouseUp', 'onMouseUpCapture', 'onSelect', 'onSelectCapture', 'onTouchCancel', 'onTouchCancelCapture', 'onTouchEnd', 'onTouchEndCapture', 'onTouchMove', 'onTouchMoveCapture', 'onTouchStart', 'onTouchStartCapture', 'onPointerDown', 'onPointerDownCapture', 'onPointerMove', 'onPointerMoveCapture', 'onPointerUp', 'onPointerUpCapture', 'onPointerCancel', 'onPointerCancelCapture', 'onPointerEnter', 'onPointerEnterCapture', 'onPointerLeave', 'onPointerLeaveCapture', 'onPointerOver', 'onPointerOverCapture', 'onPointerOut', 'onPointerOutCapture', 'onGotPointerCapture', 'onGotPointerCaptureCapture', 'onLostPointerCapture', 'onLostPointerCaptureCapture', 'onScroll', 'onScrollCapture', 'onWheel', 'onWheelCapture', 'onAnimationStart', 'onAnimationStartCapture', 'onAnimationEnd', 'onAnimationEndCapture', 'onAnimationIteration', 'onAnimationIterationCapture', 'onTransitionEnd', 'onTransitionEndCapture']; // Animation Types => TODO: Should be moved when react-smooth is typescriptified.\n\nexport var filterProps = function filterProps(props, includeEvents, isSvg) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n\n var inputProps = props;\n\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n\n if (!_isObject(inputProps)) {\n return null;\n }\n\n var out = {};\n Object.keys(inputProps).forEach(function (key) {\n // viewBox only exist in \n if (SVGElementPropKeys.includes(key) || isSvg && SVGContainerPropKeys.includes(key) || includeEvents && EventKeys.includes(key)) {\n out[key] = inputProps[key];\n }\n });\n return out;\n};\nexport var adaptEventHandlers = function adaptEventHandlers(props, newHandler) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n\n var inputProps = props;\n\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n\n if (!_isObject(inputProps)) {\n return null;\n }\n\n var out = {};\n Object.keys(inputProps).forEach(function (key) {\n if (EventKeys.includes(key)) {\n out[key] = newHandler || function (e) {\n return inputProps[key](inputProps, e);\n };\n }\n });\n return out;\n};\n\nvar getEventHandlerOfChild = function getEventHandlerOfChild(originalHandler, data, index) {\n return function (e) {\n originalHandler(data, index, e);\n return null;\n };\n};\n\nexport var adaptEventsOfChild = function adaptEventsOfChild(props, data, index) {\n if (!_isObject(props) || _typeof(props) !== 'object') {\n return null;\n }\n\n var out = null;\n Object.keys(props).forEach(function (key) {\n var item = props[key];\n\n if (EventKeys.includes(key) && typeof item === 'function') {\n if (!out) out = {};\n out[key] = getEventHandlerOfChild(item, data, index);\n }\n });\n return out;\n};","import _isEqual from \"lodash/isEqual\";\nimport _sortBy from \"lodash/sortBy\";\nimport _isNaN from \"lodash/isNaN\";\nimport _upperFirst from \"lodash/upperFirst\";\nimport _isString from \"lodash/isString\";\nimport _isArray from \"lodash/isArray\";\nimport _max from \"lodash/max\";\nimport _min from \"lodash/min\";\nimport _flatMap from \"lodash/flatMap\";\nimport _isFunction from \"lodash/isFunction\";\nimport _get from \"lodash/get\";\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\nimport { getNiceTickValues, getTickValuesFixedDomain } from 'recharts-scale';\nimport * as d3Scales from 'd3-scale';\nimport { stack as shapeStack, stackOrderNone, stackOffsetExpand, stackOffsetNone, stackOffsetSilhouette, stackOffsetWiggle } from 'd3-shape';\nimport { isNumOrStr, uniqueId, isNumber, getPercentValue, mathSign, findEntryInArray } from './DataUtils';\nimport { Legend } from '../component/Legend';\nimport { findAllByType, findChildByType, getDisplayName } from './ReactUtils'; // TODO: Cause of circular dependency. Needs refactor.\n// import { RadiusAxisProps, AngleAxisProps } from '../polar/types';\n\nimport { filterProps } from './types';\nexport function getValueByDataKey(obj, dataKey, defaultValue) {\n if (_isNil(obj) || _isNil(dataKey)) {\n return defaultValue;\n }\n\n if (isNumOrStr(dataKey)) {\n return _get(obj, dataKey, defaultValue);\n }\n\n if (_isFunction(dataKey)) {\n return dataKey(obj);\n }\n\n return defaultValue;\n}\n/**\n * Get domain of data by key\n * @param {Array} data The data displayed in the chart\n * @param {String} key The unique key of a group of data\n * @param {String} type The type of axis\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain of data\n */\n\nexport function getDomainOfDataByKey(data, key, type, filterNil) {\n var flattenData = _flatMap(data, function (entry) {\n return getValueByDataKey(entry, key);\n });\n\n if (type === 'number') {\n var domain = flattenData.filter(function (entry) {\n return isNumber(entry) || parseFloat(entry);\n });\n return domain.length ? [_min(domain), _max(domain)] : [Infinity, -Infinity];\n }\n\n var validateData = filterNil ? flattenData.filter(function (entry) {\n return !_isNil(entry);\n }) : flattenData; // 支持Date类型的x轴\n\n return validateData.map(function (entry) {\n return isNumOrStr(entry) || entry instanceof Date ? entry : '';\n });\n}\nexport var calculateActiveTickIndex = function calculateActiveTickIndex(coordinate) {\n var _ticks$length;\n\n var ticks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var unsortedTicks = arguments.length > 2 ? arguments[2] : undefined;\n var axis = arguments.length > 3 ? arguments[3] : undefined;\n var index = -1;\n var len = (_ticks$length = ticks === null || ticks === void 0 ? void 0 : ticks.length) !== null && _ticks$length !== void 0 ? _ticks$length : 0;\n\n if (len > 1) {\n if (axis && axis.axisType === 'angleAxis' && Math.abs(Math.abs(axis.range[1] - axis.range[0]) - 360) <= 1e-6) {\n var range = axis.range; // ticks are distributed in a circle\n\n for (var i = 0; i < len; i++) {\n var before = i > 0 ? unsortedTicks[i - 1].coordinate : unsortedTicks[len - 1].coordinate;\n var cur = unsortedTicks[i].coordinate;\n var after = i >= len - 1 ? unsortedTicks[0].coordinate : unsortedTicks[i + 1].coordinate;\n var sameDirectionCoord = void 0;\n\n if (mathSign(cur - before) !== mathSign(after - cur)) {\n var diffInterval = [];\n\n if (mathSign(after - cur) === mathSign(range[1] - range[0])) {\n sameDirectionCoord = after;\n var curInRange = cur + range[1] - range[0];\n diffInterval[0] = Math.min(curInRange, (curInRange + before) / 2);\n diffInterval[1] = Math.max(curInRange, (curInRange + before) / 2);\n } else {\n sameDirectionCoord = before;\n var afterInRange = after + range[1] - range[0];\n diffInterval[0] = Math.min(cur, (afterInRange + cur) / 2);\n diffInterval[1] = Math.max(cur, (afterInRange + cur) / 2);\n }\n\n var sameInterval = [Math.min(cur, (sameDirectionCoord + cur) / 2), Math.max(cur, (sameDirectionCoord + cur) / 2)];\n\n if (coordinate > sameInterval[0] && coordinate <= sameInterval[1] || coordinate >= diffInterval[0] && coordinate <= diffInterval[1]) {\n index = unsortedTicks[i].index;\n break;\n }\n } else {\n var min = Math.min(before, after);\n var max = Math.max(before, after);\n\n if (coordinate > (min + cur) / 2 && coordinate <= (max + cur) / 2) {\n index = unsortedTicks[i].index;\n break;\n }\n }\n }\n } else {\n // ticks are distributed in a single direction\n for (var _i = 0; _i < len; _i++) {\n if (_i === 0 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i > 0 && _i < len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i === len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2) {\n index = ticks[_i].index;\n break;\n }\n }\n }\n } else {\n index = 0;\n }\n\n return index;\n};\n/**\n * Get the main color of each graphic item\n * @param {ReactElement} item A graphic item\n * @return {String} Color\n */\n\nexport var getMainColorOfGraphicItem = function getMainColorOfGraphicItem(item) {\n var _ref = item,\n displayName = _ref.type.displayName; // TODO: check if displayName is valid.\n\n var _item$props = item.props,\n stroke = _item$props.stroke,\n fill = _item$props.fill;\n var result;\n\n switch (displayName) {\n case 'Line':\n result = stroke;\n break;\n\n case 'Area':\n case 'Radar':\n result = stroke && stroke !== 'none' ? stroke : fill;\n break;\n\n default:\n result = fill;\n break;\n }\n\n return result;\n};\nexport var getLegendProps = function getLegendProps(_ref2) {\n var children = _ref2.children,\n formattedGraphicalItems = _ref2.formattedGraphicalItems,\n legendWidth = _ref2.legendWidth,\n legendContent = _ref2.legendContent;\n var legendItem = findChildByType(children, Legend.displayName);\n\n if (!legendItem) {\n return null;\n }\n\n var legendData;\n\n if (legendItem.props && legendItem.props.payload) {\n legendData = legendItem.props && legendItem.props.payload;\n } else if (legendContent === 'children') {\n legendData = (formattedGraphicalItems || []).reduce(function (result, _ref3) {\n var item = _ref3.item,\n props = _ref3.props;\n var data = props.sectors || props.data || [];\n return result.concat(data.map(function (entry) {\n return {\n type: legendItem.props.iconType || item.props.legendType,\n value: entry.name,\n color: entry.fill,\n payload: entry\n };\n }));\n }, []);\n } else {\n legendData = (formattedGraphicalItems || []).map(function (_ref4) {\n var item = _ref4.item;\n var _item$props2 = item.props,\n dataKey = _item$props2.dataKey,\n name = _item$props2.name,\n legendType = _item$props2.legendType,\n hide = _item$props2.hide;\n return {\n inactive: hide,\n dataKey: dataKey,\n type: legendItem.props.iconType || legendType || 'square',\n color: getMainColorOfGraphicItem(item),\n value: name || dataKey,\n payload: item.props\n };\n });\n }\n\n return _objectSpread(_objectSpread(_objectSpread({}, legendItem.props), Legend.getWithHeight(legendItem, legendWidth)), {}, {\n payload: legendData,\n item: legendItem\n });\n};\n/**\n * Calculate the size of all groups for stacked bar graph\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @return {Object} The size of all groups\n */\n\nexport var getBarSizeList = function getBarSizeList(_ref5) {\n var globalSize = _ref5.barSize,\n _ref5$stackGroups = _ref5.stackGroups,\n stackGroups = _ref5$stackGroups === void 0 ? {} : _ref5$stackGroups;\n\n if (!stackGroups) {\n return {};\n }\n\n var result = {};\n var numericAxisIds = Object.keys(stackGroups);\n\n for (var i = 0, len = numericAxisIds.length; i < len; i++) {\n var sgs = stackGroups[numericAxisIds[i]].stackGroups;\n var stackIds = Object.keys(sgs);\n\n for (var j = 0, sLen = stackIds.length; j < sLen; j++) {\n var _sgs$stackIds$j = sgs[stackIds[j]],\n items = _sgs$stackIds$j.items,\n cateAxisId = _sgs$stackIds$j.cateAxisId;\n var barItems = items.filter(function (item) {\n return getDisplayName(item.type).indexOf('Bar') >= 0;\n });\n\n if (barItems && barItems.length) {\n var selfSize = barItems[0].props.barSize;\n var cateId = barItems[0].props[cateAxisId];\n\n if (!result[cateId]) {\n result[cateId] = [];\n }\n\n result[cateId].push({\n item: barItems[0],\n stackList: barItems.slice(1),\n barSize: _isNil(selfSize) ? globalSize : selfSize\n });\n }\n }\n }\n\n return result;\n};\n/**\n * Calculate the size of each bar and the gap between two bars\n * @param {Number} bandSize The size of each category\n * @param {sizeList} sizeList The size of all groups\n * @param {maxBarSize} maxBarSize The maximum size of bar\n * @return {Number} The size of each bar and the gap between two bars\n */\n\nexport var getBarPosition = function getBarPosition(_ref6) {\n var barGap = _ref6.barGap,\n barCategoryGap = _ref6.barCategoryGap,\n bandSize = _ref6.bandSize,\n _ref6$sizeList = _ref6.sizeList,\n sizeList = _ref6$sizeList === void 0 ? [] : _ref6$sizeList,\n maxBarSize = _ref6.maxBarSize;\n var len = sizeList.length;\n if (len < 1) return null;\n var realBarGap = getPercentValue(barGap, bandSize, 0, true);\n var result; // whether or not is barSize setted by user\n\n if (sizeList[0].barSize === +sizeList[0].barSize) {\n var useFull = false;\n var fullBarSize = bandSize / len;\n var sum = sizeList.reduce(function (res, entry) {\n return res + entry.barSize || 0;\n }, 0);\n sum += (len - 1) * realBarGap;\n\n if (sum >= bandSize) {\n sum -= (len - 1) * realBarGap;\n realBarGap = 0;\n }\n\n if (sum >= bandSize && fullBarSize > 0) {\n useFull = true;\n fullBarSize *= 0.9;\n sum = len * fullBarSize;\n }\n\n var offset = (bandSize - sum) / 2 >> 0;\n var prev = {\n offset: offset - realBarGap,\n size: 0\n };\n result = sizeList.reduce(function (res, entry) {\n var newRes = [].concat(_toConsumableArray(res), [{\n item: entry.item,\n position: {\n offset: prev.offset + prev.size + realBarGap,\n size: useFull ? fullBarSize : entry.barSize\n }\n }]);\n prev = newRes[newRes.length - 1].position;\n\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: prev\n });\n });\n }\n\n return newRes;\n }, []);\n } else {\n var _offset = getPercentValue(barCategoryGap, bandSize, 0, true);\n\n if (bandSize - 2 * _offset - (len - 1) * realBarGap <= 0) {\n realBarGap = 0;\n }\n\n var originalSize = (bandSize - 2 * _offset - (len - 1) * realBarGap) / len;\n\n if (originalSize > 1) {\n originalSize >>= 0;\n }\n\n var size = maxBarSize === +maxBarSize ? Math.min(originalSize, maxBarSize) : originalSize;\n result = sizeList.reduce(function (res, entry, i) {\n var newRes = [].concat(_toConsumableArray(res), [{\n item: entry.item,\n position: {\n offset: _offset + (originalSize + realBarGap) * i + (originalSize - size) / 2,\n size: size\n }\n }]);\n\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: newRes[newRes.length - 1].position\n });\n });\n }\n\n return newRes;\n }, []);\n }\n\n return result;\n};\nexport var appendOffsetOfLegend = function appendOffsetOfLegend(offset, items, props, legendBox) {\n var children = props.children,\n width = props.width,\n margin = props.margin;\n var legendWidth = width - (margin.left || 0) - (margin.right || 0); // const legendHeight = height - (margin.top || 0) - (margin.bottom || 0);\n\n var legendProps = getLegendProps({\n children: children,\n legendWidth: legendWidth\n });\n var newOffset = offset;\n\n if (legendProps) {\n var box = legendBox || {};\n var align = legendProps.align,\n verticalAlign = legendProps.verticalAlign,\n layout = legendProps.layout;\n\n if ((layout === 'vertical' || layout === 'horizontal' && verticalAlign === 'center') && isNumber(offset[align])) {\n newOffset = _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, align, newOffset[align] + (box.width || 0)));\n }\n\n if ((layout === 'horizontal' || layout === 'vertical' && align === 'center') && isNumber(offset[verticalAlign])) {\n newOffset = _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, verticalAlign, newOffset[verticalAlign] + (box.height || 0)));\n }\n }\n\n return newOffset;\n};\nexport var getDomainOfErrorBars = function getDomainOfErrorBars(data, item, dataKey, axisType) {\n var children = item.props.children;\n var errorBars = findAllByType(children, 'ErrorBar').filter(function (errorBarChild) {\n var direction = errorBarChild.props.direction;\n return _isNil(direction) || _isNil(axisType) ? true : axisType.indexOf(direction) >= 0;\n });\n\n if (errorBars && errorBars.length) {\n var keys = errorBars.map(function (errorBarChild) {\n return errorBarChild.props.dataKey;\n });\n return data.reduce(function (result, entry) {\n var entryValue = getValueByDataKey(entry, dataKey, 0);\n var mainValue = _isArray(entryValue) ? [_min(entryValue), _max(entryValue)] : [entryValue, entryValue];\n var errorDomain = keys.reduce(function (prevErrorArr, k) {\n var errorValue = getValueByDataKey(entry, k, 0);\n var lowerValue = mainValue[0] - Math.abs(_isArray(errorValue) ? errorValue[0] : errorValue);\n var upperValue = mainValue[1] + Math.abs(_isArray(errorValue) ? errorValue[1] : errorValue);\n return [Math.min(lowerValue, prevErrorArr[0]), Math.max(upperValue, prevErrorArr[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(errorDomain[0], result[0]), Math.max(errorDomain[1], result[1])];\n }, [Infinity, -Infinity]);\n }\n\n return null;\n};\nexport var parseErrorBarsOfAxis = function parseErrorBarsOfAxis(data, items, dataKey, axisType) {\n var domains = items.map(function (item) {\n return getDomainOfErrorBars(data, item, dataKey, axisType);\n }).filter(function (entry) {\n return !_isNil(entry);\n });\n\n if (domains && domains.length) {\n return domains.reduce(function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n\n return null;\n};\n/**\n * Get domain of data by the configuration of item element\n * @param {Array} data The data displayed in the chart\n * @param {Array} items The instances of item\n * @param {String} type The type of axis, number - Number Axis, category - Category Axis\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain\n */\n\nexport var getDomainOfItemsWithSameAxis = function getDomainOfItemsWithSameAxis(data, items, type, filterNil) {\n var domains = items.map(function (item) {\n var dataKey = item.props.dataKey;\n\n if (type === 'number' && dataKey) {\n return getDomainOfErrorBars(data, item, dataKey) || getDomainOfDataByKey(data, dataKey, type, filterNil);\n }\n\n return getDomainOfDataByKey(data, dataKey, type, filterNil);\n });\n\n if (type === 'number') {\n // Calculate the domain of number axis\n return domains.reduce(function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n\n var tag = {}; // Get the union set of category axis\n\n return domains.reduce(function (result, entry) {\n for (var i = 0, len = entry.length; i < len; i++) {\n if (!tag[entry[i]]) {\n tag[entry[i]] = true;\n result.push(entry[i]);\n }\n }\n\n return result;\n }, []);\n};\nexport var isCategoricalAxis = function isCategoricalAxis(layout, axisType) {\n return layout === 'horizontal' && axisType === 'xAxis' || layout === 'vertical' && axisType === 'yAxis' || layout === 'centric' && axisType === 'angleAxis' || layout === 'radial' && axisType === 'radiusAxis';\n};\n/**\n * Calculate the Coordinates of grid\n * @param {Array} ticks The ticks in axis\n * @param {Number} min The minimun value of axis\n * @param {Number} max The maximun value of axis\n * @return {Array} Coordinates\n */\n\nexport var getCoordinatesOfGrid = function getCoordinatesOfGrid(ticks, min, max) {\n var hasMin, hasMax;\n var values = ticks.map(function (entry) {\n if (entry.coordinate === min) {\n hasMin = true;\n }\n\n if (entry.coordinate === max) {\n hasMax = true;\n }\n\n return entry.coordinate;\n });\n\n if (!hasMin) {\n values.push(min);\n }\n\n if (!hasMax) {\n values.push(max);\n }\n\n return values;\n};\n/**\n * Get the ticks of an axis\n * @param {Object} axis The configuration of an axis\n * @param {Boolean} isGrid Whether or not are the ticks in grid\n * @param {Boolean} isAll Return the ticks of all the points or not\n * @return {Array} Ticks\n */\n\nexport var getTicksOfAxis = function getTicksOfAxis(axis, isGrid, isAll) {\n if (!axis) return null;\n var scale = axis.scale;\n var duplicateDomain = axis.duplicateDomain,\n type = axis.type,\n range = axis.range;\n var offsetForBand = axis.realScaleType === 'scaleBand' ? scale.bandwidth() / 2 : 2;\n var offset = (isGrid || isAll) && type === 'category' && scale.bandwidth ? scale.bandwidth() / offsetForBand : 0;\n offset = axis.axisType === 'angleAxis' ? mathSign(range[0] - range[1]) * 2 * offset : offset; // The ticks setted by user should only affect the ticks adjacent to axis line\n\n if (isGrid && (axis.ticks || axis.niceTicks)) {\n return (axis.ticks || axis.niceTicks).map(function (entry) {\n var scaleContent = duplicateDomain ? duplicateDomain.indexOf(entry) : entry;\n return {\n coordinate: scale(scaleContent) + offset,\n value: entry,\n offset: offset\n };\n });\n } // When axis is a categorial axis, but the type of axis is number or the scale of axis is not \"auto\"\n\n\n if (axis.isCategorical && axis.categoricalDomain) {\n return axis.categoricalDomain.map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n index: index,\n offset: offset\n };\n });\n }\n\n if (scale.ticks && !isAll) {\n return scale.ticks(axis.tickCount).map(function (entry) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n offset: offset\n };\n });\n } // When axis has duplicated text, serial numbers are used to generate scale\n\n\n return scale.domain().map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index,\n offset: offset\n };\n });\n};\n/**\n * combine the handlers\n * @param {Function} defaultHandler Internal private handler\n * @param {Function} parentHandler Handler function specified in parent component\n * @param {Function} childHandler Handler function specified in child component\n * @return {Function} The combined handler\n */\n\nexport var combineEventHandlers = function combineEventHandlers(defaultHandler, parentHandler, childHandler) {\n var customizedHandler;\n\n if (_isFunction(childHandler)) {\n customizedHandler = childHandler;\n } else if (_isFunction(parentHandler)) {\n customizedHandler = parentHandler;\n }\n\n if (_isFunction(defaultHandler) || customizedHandler) {\n return function (arg1, arg2, arg3, arg4) {\n if (_isFunction(defaultHandler)) {\n defaultHandler(arg1, arg2, arg3, arg4);\n }\n\n if (_isFunction(customizedHandler)) {\n customizedHandler(arg1, arg2, arg3, arg4);\n }\n };\n }\n\n return null;\n};\n/**\n * Parse the scale function of axis\n * @param {Object} axis The option of axis\n * @param {String} chartType The displayName of chart\n * @param {Boolean} hasBar if it has a bar\n * @return {Function} The scale function\n */\n\nexport var parseScale = function parseScale(axis, chartType, hasBar) {\n var scale = axis.scale,\n type = axis.type,\n layout = axis.layout,\n axisType = axis.axisType;\n\n if (scale === 'auto') {\n if (layout === 'radial' && axisType === 'radiusAxis') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n\n if (layout === 'radial' && axisType === 'angleAxis') {\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n\n if (type === 'category' && chartType && (chartType.indexOf('LineChart') >= 0 || chartType.indexOf('AreaChart') >= 0 || chartType.indexOf('ComposedChart') >= 0 && !hasBar)) {\n return {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n }\n\n if (type === 'category') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n\n if (_isString(scale)) {\n var name = \"scale\".concat(_upperFirst(scale));\n return {\n scale: (d3Scales[name] || d3Scales.scalePoint)(),\n realScaleType: d3Scales[name] ? name : 'point'\n };\n }\n\n return _isFunction(scale) ? {\n scale: scale\n } : {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n};\nvar EPS = 1e-4;\nexport var checkDomainOfScale = function checkDomainOfScale(scale) {\n var domain = scale.domain();\n\n if (!domain || domain.length <= 2) {\n return;\n }\n\n var len = domain.length;\n var range = scale.range();\n var min = Math.min(range[0], range[1]) - EPS;\n var max = Math.max(range[0], range[1]) + EPS;\n var first = scale(domain[0]);\n var last = scale(domain[len - 1]);\n\n if (first < min || first > max || last < min || last > max) {\n scale.domain([domain[0], domain[len - 1]]);\n }\n};\nexport var findPositionOfBar = function findPositionOfBar(barPosition, child) {\n if (!barPosition) {\n return null;\n }\n\n for (var i = 0, len = barPosition.length; i < len; i++) {\n if (barPosition[i].item === child) {\n return barPosition[i].position;\n }\n }\n\n return null;\n};\nexport var truncateByDomain = function truncateByDomain(value, domain) {\n if (!domain || domain.length !== 2 || !isNumber(domain[0]) || !isNumber(domain[1])) {\n return value;\n }\n\n var min = Math.min(domain[0], domain[1]);\n var max = Math.max(domain[0], domain[1]);\n var result = [value[0], value[1]];\n\n if (!isNumber(value[0]) || value[0] < min) {\n result[0] = min;\n }\n\n if (!isNumber(value[1]) || value[1] > max) {\n result[1] = max;\n }\n\n if (result[0] > max) {\n result[0] = max;\n }\n\n if (result[1] < min) {\n result[1] = min;\n }\n\n return result;\n};\n/* eslint no-param-reassign: 0 */\n\nexport var offsetSign = function offsetSign(series) {\n var n = series.length;\n\n if (n <= 0) {\n return;\n }\n\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n var negative = 0;\n\n for (var i = 0; i < n; ++i) {\n var value = _isNaN(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n /* eslint-disable prefer-destructuring */\n\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = negative;\n series[i][j][1] = negative + value;\n negative = series[i][j][1];\n }\n /* eslint-enable prefer-destructuring */\n\n }\n }\n};\n/* eslint no-param-reassign: 0 */\n\nexport var offsetPositive = function offsetPositive(series) {\n var n = series.length;\n\n if (n <= 0) {\n return;\n }\n\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n\n for (var i = 0; i < n; ++i) {\n var value = _isNaN(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n /* eslint-disable prefer-destructuring */\n\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = 0;\n series[i][j][1] = 0;\n }\n /* eslint-enable prefer-destructuring */\n\n }\n }\n};\nvar STACK_OFFSET_MAP = {\n sign: offsetSign,\n expand: stackOffsetExpand,\n none: stackOffsetNone,\n silhouette: stackOffsetSilhouette,\n wiggle: stackOffsetWiggle,\n positive: offsetPositive\n};\nexport var getStackedData = function getStackedData(data, stackItems, offsetType) {\n var dataKeys = stackItems.map(function (item) {\n return item.props.dataKey;\n });\n var stack = shapeStack().keys(dataKeys).value(function (d, key) {\n return +getValueByDataKey(d, key, 0);\n }).order(stackOrderNone).offset(STACK_OFFSET_MAP[offsetType]);\n return stack(data);\n};\nexport var getStackGroupsByAxisId = function getStackGroupsByAxisId(data, _items, numericAxisId, cateAxisId, offsetType, reverseStackOrder) {\n if (!data) {\n return null;\n } // reversing items to affect render order (for layering)\n\n\n var items = reverseStackOrder ? _items.reverse() : _items;\n var stackGroups = items.reduce(function (result, item) {\n var _item$props3 = item.props,\n stackId = _item$props3.stackId,\n hide = _item$props3.hide;\n\n if (hide) {\n return result;\n }\n\n var axisId = item.props[numericAxisId];\n var parentGroup = result[axisId] || {\n hasStack: false,\n stackGroups: {}\n };\n\n if (isNumOrStr(stackId)) {\n var childGroup = parentGroup.stackGroups[stackId] || {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: []\n };\n childGroup.items.push(item);\n parentGroup.hasStack = true;\n parentGroup.stackGroups[stackId] = childGroup;\n } else {\n parentGroup.stackGroups[uniqueId('_stackId_')] = {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: [item]\n };\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, parentGroup));\n }, {});\n return Object.keys(stackGroups).reduce(function (result, axisId) {\n var group = stackGroups[axisId];\n\n if (group.hasStack) {\n group.stackGroups = Object.keys(group.stackGroups).reduce(function (res, stackId) {\n var g = group.stackGroups[stackId];\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, stackId, {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: g.items,\n stackedData: getStackedData(data, g.items, offsetType)\n }));\n }, {});\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, group));\n }, {});\n};\n/**\n * get domain of ticks\n * @param {Array} ticks Ticks of axis\n * @param {String} type The type of axis\n * @return {Array} domain\n */\n\nexport var calculateDomainOfTicks = function calculateDomainOfTicks(ticks, type) {\n if (type === 'number') {\n return [_min(ticks), _max(ticks)];\n }\n\n return ticks;\n};\n/**\n * Configure the scale function of axis\n * @param {Object} scale The scale function\n * @param {Object} opts The configuration of axis\n * @return {Object} null\n */\n\nexport var getTicksOfScale = function getTicksOfScale(scale, opts) {\n var realScaleType = opts.realScaleType,\n type = opts.type,\n tickCount = opts.tickCount,\n originalDomain = opts.originalDomain,\n allowDecimals = opts.allowDecimals;\n var scaleType = realScaleType || opts.scale;\n\n if (scaleType !== 'auto' && scaleType !== 'linear') {\n return null;\n }\n\n if (tickCount && type === 'number' && originalDomain && (originalDomain[0] === 'auto' || originalDomain[1] === 'auto')) {\n // Calculate the ticks by the number of grid when the axis is a number axis\n var domain = scale.domain();\n\n if (!domain.length) {\n return null;\n }\n\n var tickValues = getNiceTickValues(domain, tickCount, allowDecimals);\n scale.domain(calculateDomainOfTicks(tickValues, type));\n return {\n niceTicks: tickValues\n };\n }\n\n if (tickCount && type === 'number') {\n var _domain = scale.domain();\n\n var _tickValues = getTickValuesFixedDomain(_domain, tickCount, allowDecimals);\n\n return {\n niceTicks: _tickValues\n };\n }\n\n return null;\n};\nexport var getCateCoordinateOfLine = function getCateCoordinateOfLine(_ref7) {\n var axis = _ref7.axis,\n ticks = _ref7.ticks,\n bandSize = _ref7.bandSize,\n entry = _ref7.entry,\n index = _ref7.index,\n dataKey = _ref7.dataKey;\n\n if (axis.type === 'category') {\n // find coordinate of category axis by the value of category\n if (!axis.allowDuplicatedCategory && axis.dataKey && !_isNil(entry[axis.dataKey])) {\n var matchedTick = findEntryInArray(ticks, 'value', entry[axis.dataKey]);\n\n if (matchedTick) {\n return matchedTick.coordinate + bandSize / 2;\n }\n }\n\n return ticks[index] ? ticks[index].coordinate + bandSize / 2 : null;\n }\n\n var value = getValueByDataKey(entry, !_isNil(dataKey) ? dataKey : axis.dataKey);\n return !_isNil(value) ? axis.scale(value) : null;\n};\nexport var getCateCoordinateOfBar = function getCateCoordinateOfBar(_ref8) {\n var axis = _ref8.axis,\n ticks = _ref8.ticks,\n offset = _ref8.offset,\n bandSize = _ref8.bandSize,\n entry = _ref8.entry,\n index = _ref8.index;\n\n if (axis.type === 'category') {\n return ticks[index] ? ticks[index].coordinate + offset : null;\n }\n\n var value = getValueByDataKey(entry, axis.dataKey, axis.domain[index]);\n return !_isNil(value) ? axis.scale(value) - bandSize / 2 + offset : null;\n};\nexport var getBaseValueOfBar = function getBaseValueOfBar(_ref9) {\n var numericAxis = _ref9.numericAxis;\n var domain = numericAxis.scale.domain();\n\n if (numericAxis.type === 'number') {\n var min = Math.min(domain[0], domain[1]);\n var max = Math.max(domain[0], domain[1]);\n\n if (min <= 0 && max >= 0) {\n return 0;\n }\n\n if (max < 0) {\n return max;\n }\n\n return min;\n }\n\n return domain[0];\n};\nexport var getStackedDataOfItem = function getStackedDataOfItem(item, stackGroups) {\n var stackId = item.props.stackId;\n\n if (isNumOrStr(stackId)) {\n var group = stackGroups[stackId];\n\n if (group && group.items.length) {\n var itemIndex = -1;\n\n for (var i = 0, len = group.items.length; i < len; i++) {\n if (group.items[i] === item) {\n itemIndex = i;\n break;\n }\n }\n\n return itemIndex >= 0 ? group.stackedData[itemIndex] : null;\n }\n }\n\n return null;\n};\n\nvar getDomainOfSingle = function getDomainOfSingle(data) {\n return data.reduce(function (result, entry) {\n return [_min(entry.concat([result[0]]).filter(isNumber)), _max(entry.concat([result[1]]).filter(isNumber))];\n }, [Infinity, -Infinity]);\n};\n\nexport var getDomainOfStackGroups = function getDomainOfStackGroups(stackGroups, startIndex, endIndex) {\n return Object.keys(stackGroups).reduce(function (result, stackId) {\n var group = stackGroups[stackId];\n var stackedData = group.stackedData;\n var domain = stackedData.reduce(function (res, entry) {\n var s = getDomainOfSingle(entry.slice(startIndex, endIndex + 1));\n return [Math.min(res[0], s[0]), Math.max(res[1], s[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(domain[0], result[0]), Math.max(domain[1], result[1])];\n }, [Infinity, -Infinity]).map(function (result) {\n return result === Infinity || result === -Infinity ? 0 : result;\n });\n};\nexport var MIN_VALUE_REG = /^dataMin[\\s]*-[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var MAX_VALUE_REG = /^dataMax[\\s]*\\+[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var parseSpecifiedDomain = function parseSpecifiedDomain(specifiedDomain, dataDomain, allowDataOverflow) {\n if (_isFunction(specifiedDomain)) {\n return specifiedDomain(dataDomain, allowDataOverflow);\n }\n\n if (!_isArray(specifiedDomain)) {\n return dataDomain;\n }\n\n var domain = [];\n /* eslint-disable prefer-destructuring */\n\n if (isNumber(specifiedDomain[0])) {\n domain[0] = allowDataOverflow ? specifiedDomain[0] : Math.min(specifiedDomain[0], dataDomain[0]);\n } else if (MIN_VALUE_REG.test(specifiedDomain[0])) {\n var value = +MIN_VALUE_REG.exec(specifiedDomain[0])[1];\n domain[0] = dataDomain[0] - value;\n } else if (_isFunction(specifiedDomain[0])) {\n domain[0] = specifiedDomain[0](dataDomain[0]);\n } else {\n domain[0] = dataDomain[0];\n }\n\n if (isNumber(specifiedDomain[1])) {\n domain[1] = allowDataOverflow ? specifiedDomain[1] : Math.max(specifiedDomain[1], dataDomain[1]);\n } else if (MAX_VALUE_REG.test(specifiedDomain[1])) {\n var _value = +MAX_VALUE_REG.exec(specifiedDomain[1])[1];\n\n domain[1] = dataDomain[1] + _value;\n } else if (_isFunction(specifiedDomain[1])) {\n domain[1] = specifiedDomain[1](dataDomain[1]);\n } else {\n domain[1] = dataDomain[1];\n }\n /* eslint-enable prefer-destructuring */\n\n\n return domain;\n};\n/**\n * Calculate the size between two category\n * @param {Object} axis The options of axis\n * @param {Array} ticks The ticks of axis\n * @param {Boolean} isBar if items in axis are bars\n * @return {Number} Size\n */\n\nexport var getBandSizeOfAxis = function getBandSizeOfAxis(axis, ticks, isBar) {\n if (axis && axis.scale && axis.scale.bandwidth) {\n var bandWidth = axis.scale.bandwidth();\n\n if (!isBar || bandWidth > 0) {\n return bandWidth;\n }\n }\n\n if (axis && ticks && ticks.length >= 2) {\n var orderedTicks = _sortBy(ticks, function (o) {\n return o.coordinate;\n });\n\n var bandSize = Infinity;\n\n for (var i = 1, len = orderedTicks.length; i < len; i++) {\n var cur = orderedTicks[i];\n var prev = orderedTicks[i - 1];\n bandSize = Math.min((cur.coordinate || 0) - (prev.coordinate || 0), bandSize);\n }\n\n return bandSize === Infinity ? 0 : bandSize;\n }\n\n return isBar ? undefined : 0;\n};\n/**\n * parse the domain of a category axis when a domain is specified\n * @param {Array} specifiedDomain The domain specified by users\n * @param {Array} calculatedDomain The domain calculated by dateKey\n * @param {ReactElement} axisChild The axis element\n * @returns {Array} domains\n */\n\nexport var parseDomainOfCategoryAxis = function parseDomainOfCategoryAxis(specifiedDomain, calculatedDomain, axisChild) {\n if (!specifiedDomain || !specifiedDomain.length) {\n return calculatedDomain;\n }\n\n if (_isEqual(specifiedDomain, _get(axisChild, 'type.defaultProps.domain'))) {\n return calculatedDomain;\n }\n\n return specifiedDomain;\n};\nexport var getTooltipItem = function getTooltipItem(graphicalItem, payload) {\n var _graphicalItem$props = graphicalItem.props,\n dataKey = _graphicalItem$props.dataKey,\n name = _graphicalItem$props.name,\n unit = _graphicalItem$props.unit,\n formatter = _graphicalItem$props.formatter,\n tooltipType = _graphicalItem$props.tooltipType,\n chartType = _graphicalItem$props.chartType;\n return _objectSpread(_objectSpread({}, filterProps(graphicalItem)), {}, {\n dataKey: dataKey,\n unit: unit,\n formatter: formatter,\n name: name || dataKey,\n color: getMainColorOfGraphicItem(graphicalItem),\n value: getValueByDataKey(payload, dataKey),\n type: tooltipType,\n payload: payload,\n chartType: chartType\n });\n};","import { ReferenceDot } from '../cartesian/ReferenceDot';\nimport { ReferenceLine } from '../cartesian/ReferenceLine';\nimport { ReferenceArea } from '../cartesian/ReferenceArea';\nimport { ifOverflowMatches } from './IfOverflowMatches';\nimport { findAllByType } from './ReactUtils';\nimport { isNumber } from './DataUtils';\nexport var detectReferenceElementsDomain = function detectReferenceElementsDomain(children, domain, axisId, axisType, specifiedTicks) {\n var lines = findAllByType(children, ReferenceLine.displayName);\n var dots = findAllByType(children, ReferenceDot.displayName);\n var elements = lines.concat(dots);\n var areas = findAllByType(children, ReferenceArea.displayName);\n var idKey = \"\".concat(axisType, \"Id\");\n var valueKey = axisType[0];\n var finalDomain = domain;\n\n if (elements.length) {\n finalDomain = elements.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[valueKey])) {\n var value = el.props[valueKey];\n return [Math.min(result[0], value), Math.max(result[1], value)];\n }\n\n return result;\n }, finalDomain);\n }\n\n if (areas.length) {\n var key1 = \"\".concat(valueKey, \"1\");\n var key2 = \"\".concat(valueKey, \"2\");\n finalDomain = areas.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[key1]) && isNumber(el.props[key2])) {\n var value1 = el.props[key1];\n var value2 = el.props[key2];\n return [Math.min(result[0], value1, value2), Math.max(result[1], value1, value2)];\n }\n\n return result;\n }, finalDomain);\n }\n\n if (specifiedTicks && specifiedTicks.length) {\n finalDomain = specifiedTicks.reduce(function (result, tick) {\n if (isNumber(tick)) {\n return [Math.min(result[0], tick), Math.max(result[1], tick)];\n }\n\n return result;\n }, finalDomain);\n }\n\n return finalDomain;\n};","import _isString from \"lodash/isString\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\nimport _isArray from \"lodash/isArray\";\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 { Children } from 'react';\nimport { isFragment } from 'react-is';\nimport { isNumber } from './DataUtils';\nimport { shallowEqual } from './ShallowEqual';\nvar REACT_BROWSER_EVENT_MAP = {\n click: 'onClick',\n mousedown: 'onMouseDown',\n mouseup: 'onMouseUp',\n mouseover: 'onMouseOver',\n mousemove: 'onMouseMove',\n mouseout: 'onMouseOut',\n mouseenter: 'onMouseEnter',\n mouseleave: 'onMouseLeave',\n touchcancel: 'onTouchCancel',\n touchend: 'onTouchEnd',\n touchmove: 'onTouchMove',\n touchstart: 'onTouchStart'\n};\nexport var SCALE_TYPES = ['auto', 'linear', 'pow', 'sqrt', 'log', 'identity', 'time', 'band', 'point', 'ordinal', 'quantile', 'quantize', 'utc', 'sequential', 'threshold'];\nexport var LEGEND_TYPES = ['plainline', 'line', 'square', 'rect', 'circle', 'cross', 'diamond', 'star', 'triangle', 'wye', 'none'];\nexport var TOOLTIP_TYPES = ['none'];\n/**\n * Get the display name of a component\n * @param {Object} Comp Specified Component\n * @return {String} Display name of Component\n */\n\nexport var getDisplayName = function getDisplayName(Comp) {\n if (typeof Comp === 'string') {\n return Comp;\n }\n\n if (!Comp) {\n return '';\n }\n\n return Comp.displayName || Comp.name || 'Component';\n}; // `toArray` gets called multiple times during the render\n// so we can memoize last invocation (since reference to `children` is the same)\n\nvar lastChildren = null;\nvar lastResult = null;\nexport var toArray = function toArray(children) {\n if (children === lastChildren && _isArray(lastResult)) {\n return lastResult;\n }\n\n var result = [];\n Children.forEach(children, function (child) {\n if (_isNil(child)) return;\n\n if (isFragment(child)) {\n result = result.concat(toArray(child.props.children));\n } else {\n result.push(child);\n }\n });\n lastResult = result;\n lastChildren = children;\n return result;\n};\n/*\n * Find and return all matched children by type. `type` can be a React element class or\n * string\n */\n\nexport var findAllByType = function findAllByType(children, type) {\n var result = [];\n var types = [];\n\n if (_isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n\n toArray(children).forEach(function (child) {\n var childType = _get(child, 'type.displayName') || _get(child, 'type.name');\n\n if (types.indexOf(childType) !== -1) {\n result.push(child);\n }\n });\n return result;\n};\n/*\n * Return the first matched child by type, return null otherwise.\n * `type` can be a React element class or string.\n */\n\nexport var findChildByType = function findChildByType(children, type) {\n var result = findAllByType(children, type);\n return result && result[0];\n};\n/*\n * Create a new array of children excluding the ones matched the type\n */\n\nexport var withoutType = function withoutType(children, type) {\n var newChildren = [];\n var types;\n\n if (_isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n\n toArray(children).forEach(function (child) {\n var displayName = _get(child, 'type.displayName');\n\n if (displayName && types.indexOf(displayName) !== -1) {\n return;\n }\n\n newChildren.push(child);\n });\n return newChildren;\n};\n/**\n * validate the width and height props of a chart element\n * @param {Object} el A chart element\n * @return {Boolean} true If the props width and height are number, and greater than 0\n */\n\nexport var validateWidthHeight = function validateWidthHeight(el) {\n if (!el || !el.props) {\n return false;\n }\n\n var _el$props = el.props,\n width = _el$props.width,\n height = _el$props.height;\n\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0) {\n return false;\n }\n\n return true;\n};\nvar SVG_TAGS = ['a', 'altGlyph', 'altGlyphDef', 'altGlyphItem', 'animate', 'animateColor', 'animateMotion', 'animateTransform', 'circle', 'clipPath', 'color-profile', 'cursor', 'defs', 'desc', 'ellipse', 'feBlend', 'feColormatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence', 'filter', 'font', 'font-face', 'font-face-format', 'font-face-name', 'font-face-url', 'foreignObject', 'g', 'glyph', 'glyphRef', 'hkern', 'image', 'line', 'lineGradient', 'marker', 'mask', 'metadata', 'missing-glyph', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'script', 'set', 'stop', 'style', 'svg', 'switch', 'symbol', 'text', 'textPath', 'title', 'tref', 'tspan', 'use', 'view', 'vkern'];\n\nvar isSvgElement = function isSvgElement(child) {\n return child && child.type && _isString(child.type) && SVG_TAGS.indexOf(child.type) >= 0;\n};\n/**\n * Filter all the svg elements of children\n * @param {Array} children The children of a react element\n * @return {Array} All the svg elements\n */\n\n\nexport var filterSvgElements = function filterSvgElements(children) {\n var svgElements = [];\n toArray(children).forEach(function (entry) {\n if (isSvgElement(entry)) {\n svgElements.push(entry);\n }\n });\n return svgElements;\n};\n/**\n * Wether props of children changed\n * @param {Object} nextChildren The latest children\n * @param {Object} prevChildren The prev children\n * @return {Boolean} equal or not\n */\n\nexport var isChildrenEqual = function isChildrenEqual(nextChildren, prevChildren) {\n if (nextChildren === prevChildren) {\n return true;\n }\n\n var count = Children.count(nextChildren);\n\n if (count !== Children.count(prevChildren)) {\n return false;\n }\n\n if (count === 0) {\n return true;\n }\n\n if (count === 1) {\n // eslint-disable-next-line no-use-before-define,@typescript-eslint/no-use-before-define\n return isSingleChildEqual(_isArray(nextChildren) ? nextChildren[0] : nextChildren, _isArray(prevChildren) ? prevChildren[0] : prevChildren);\n }\n\n for (var i = 0; i < count; i++) {\n var nextChild = nextChildren[i];\n var prevChild = prevChildren[i];\n\n if (_isArray(nextChild) || _isArray(prevChild)) {\n if (!isChildrenEqual(nextChild, prevChild)) {\n return false;\n } // eslint-disable-next-line no-use-before-define,@typescript-eslint/no-use-before-define\n\n } else if (!isSingleChildEqual(nextChild, prevChild)) {\n return false;\n }\n }\n\n return true;\n};\nexport var isSingleChildEqual = function isSingleChildEqual(nextChild, prevChild) {\n if (_isNil(nextChild) && _isNil(prevChild)) {\n return true;\n }\n\n if (!_isNil(nextChild) && !_isNil(prevChild)) {\n var _ref = nextChild.props || {},\n nextChildren = _ref.children,\n nextProps = _objectWithoutProperties(_ref, [\"children\"]);\n\n var _ref2 = prevChild.props || {},\n prevChildren = _ref2.children,\n prevProps = _objectWithoutProperties(_ref2, [\"children\"]);\n\n if (nextChildren && prevChildren) {\n // eslint-disable-next-line no-use-before-define\n return shallowEqual(nextProps, prevProps) && isChildrenEqual(nextChildren, prevChildren);\n }\n\n if (!nextChildren && !prevChildren) {\n return shallowEqual(nextProps, prevProps);\n }\n\n return false;\n }\n\n return false;\n};\nexport var renderByOrder = function renderByOrder(children, renderMap) {\n var elements = [];\n var record = {};\n toArray(children).forEach(function (child, index) {\n if (isSvgElement(child)) {\n elements.push(child);\n } else if (child) {\n var displayName = getDisplayName(child.type);\n\n var _ref3 = renderMap[displayName] || {},\n handler = _ref3.handler,\n once = _ref3.once;\n\n if (handler && (!once || !record[displayName])) {\n var results = handler(child, displayName, index);\n elements.push(results);\n record[displayName] = true;\n }\n }\n });\n return elements;\n};\nexport var getReactEventByType = function getReactEventByType(e) {\n var type = e && e.type;\n\n if (type && REACT_BROWSER_EVENT_MAP[type]) {\n return REACT_BROWSER_EVENT_MAP[type];\n }\n\n return null;\n};\nexport var parseChildIndex = function parseChildIndex(child, children) {\n return toArray(children).indexOf(child);\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 _upperFirst from \"lodash/upperFirst\";\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 _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 Curve\n */\nimport React, { PureComponent } from 'react';\nimport { symbol as shapeSymbol, symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye } from 'd3-shape';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/types';\nvar symbolFactories = {\n symbolCircle: symbolCircle,\n symbolCross: symbolCross,\n symbolDiamond: symbolDiamond,\n symbolSquare: symbolSquare,\n symbolStar: symbolStar,\n symbolTriangle: symbolTriangle,\n symbolWye: symbolWye\n};\nvar RADIAN = Math.PI / 180;\n\nvar getSymbolFactory = function getSymbolFactory(type) {\n var name = \"symbol\".concat(_upperFirst(type));\n return symbolFactories[name] || symbolCircle;\n};\n\nvar calculateAreaSize = function calculateAreaSize(size, sizeType, type) {\n if (sizeType === 'area') {\n return size;\n }\n\n switch (type) {\n case 'cross':\n return 5 * size * size / 9;\n\n case 'diamond':\n return 0.5 * size * size / Math.sqrt(3);\n\n case 'square':\n return size * size;\n\n case 'star':\n {\n var angle = 18 * RADIAN;\n return 1.25 * size * size * (Math.tan(angle) - Math.tan(angle * 2) * Math.pow(Math.tan(angle), 2));\n }\n\n case 'triangle':\n return Math.sqrt(3) * size * size / 4;\n\n case 'wye':\n return (21 - 10 * Math.sqrt(3)) * size * size / 8;\n\n default:\n return Math.PI * size * size / 4;\n }\n};\n\nexport var Symbols = /*#__PURE__*/function (_PureComponent) {\n _inherits(Symbols, _PureComponent);\n\n var _super = _createSuper(Symbols);\n\n function Symbols() {\n _classCallCheck(this, Symbols);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Symbols, [{\n key: \"getPath\",\n value:\n /**\n * Calculate the path of curve\n * @return {String} path\n */\n function getPath() {\n var _this$props = this.props,\n size = _this$props.size,\n sizeType = _this$props.sizeType,\n type = _this$props.type;\n var symbolFactory = getSymbolFactory(type);\n var symbol = shapeSymbol().type(symbolFactory).size(calculateAreaSize(size, sizeType, type));\n return symbol();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n className = _this$props2.className,\n cx = _this$props2.cx,\n cy = _this$props2.cy,\n size = _this$props2.size;\n\n if (cx === +cx && cy === +cy && size === +size) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props, true), {\n className: classNames('recharts-symbols', className),\n transform: \"translate(\".concat(cx, \", \").concat(cy, \")\"),\n d: this.getPath()\n }));\n }\n\n return null;\n }\n }]);\n\n return Symbols;\n}(PureComponent);\nSymbols.defaultProps = {\n type: 'circle',\n size: 64,\n sizeType: 'area'\n};\n\nSymbols.registerSymbol = function (key, factory) {\n symbolFactories[\"symbol\".concat(_upperFirst(key))] = factory;\n};","function 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\nvar PREFIX_LIST = ['Webkit', 'Moz', 'O', 'ms'];\nexport var generatePrefixStyle = function generatePrefixStyle(name, value) {\n if (!name) {\n return null;\n }\n\n var camelName = name.replace(/(\\w)/, function (v) {\n return v.toUpperCase();\n });\n var result = PREFIX_LIST.reduce(function (res, entry) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, entry + camelName, value));\n }, {});\n result[name] = value;\n return result;\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 _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 Cross\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/types';\nexport var Cross = /*#__PURE__*/function (_PureComponent) {\n _inherits(Cross, _PureComponent);\n\n var _super = _createSuper(Cross);\n\n function Cross() {\n _classCallCheck(this, Cross);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Cross, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n x = _this$props.x,\n y = _this$props.y,\n width = _this$props.width,\n height = _this$props.height,\n top = _this$props.top,\n left = _this$props.left,\n className = _this$props.className;\n\n if (!isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || !isNumber(top) || !isNumber(left)) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props, true), {\n className: classNames('recharts-cross', className),\n d: Cross.getPath(x, y, width, height, top, left)\n }));\n }\n }], [{\n key: \"getPath\",\n value: function getPath(x, y, width, height, top, left) {\n return \"M\".concat(x, \",\").concat(top, \"v\").concat(height, \"M\").concat(left, \",\").concat(y, \"h\").concat(width);\n }\n }]);\n\n return Cross;\n}(PureComponent);\nCross.defaultProps = {\n x: 0,\n y: 0,\n top: 0,\n left: 0,\n width: 0,\n height: 0\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 _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 Sector\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/types';\nimport { polarToCartesian, RADIAN } from '../util/PolarUtils';\nimport { getPercentValue, mathSign } from '../util/DataUtils';\n\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 359.999);\n return sign * deltaAngle;\n};\n\nvar getTangentCircle = function getTangentCircle(_ref) {\n var cx = _ref.cx,\n cy = _ref.cy,\n radius = _ref.radius,\n angle = _ref.angle,\n sign = _ref.sign,\n isExternal = _ref.isExternal,\n cornerRadius = _ref.cornerRadius,\n cornerIsExternal = _ref.cornerIsExternal;\n var centerRadius = cornerRadius * (isExternal ? 1 : -1) + radius;\n var theta = Math.asin(cornerRadius / centerRadius) / RADIAN;\n var centerAngle = cornerIsExternal ? angle : angle + sign * theta;\n var center = polarToCartesian(cx, cy, centerRadius, centerAngle); // The coordinate of point which is tangent to the circle\n\n var circleTangency = polarToCartesian(cx, cy, radius, centerAngle); // The coordinate of point which is tangent to the radius line\n\n var lineTangencyAngle = cornerIsExternal ? angle - sign * theta : angle;\n var lineTangency = polarToCartesian(cx, cy, centerRadius * Math.cos(theta * RADIAN), lineTangencyAngle);\n return {\n center: center,\n circleTangency: circleTangency,\n lineTangency: lineTangency,\n theta: theta\n };\n};\n\nvar getSectorPath = function getSectorPath(_ref2) {\n var 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 angle = getDeltaAngle(startAngle, endAngle); // When the angle of sector equals to 360, star point and end point coincide\n\n var tempEndAngle = startAngle + angle;\n var outerStartPoint = polarToCartesian(cx, cy, outerRadius, startAngle);\n var outerEndPoint = polarToCartesian(cx, cy, outerRadius, tempEndAngle);\n var path = \"M \".concat(outerStartPoint.x, \",\").concat(outerStartPoint.y, \"\\n A \").concat(outerRadius, \",\").concat(outerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle > tempEndAngle), \",\\n \").concat(outerEndPoint.x, \",\").concat(outerEndPoint.y, \"\\n \");\n\n if (innerRadius > 0) {\n var innerStartPoint = polarToCartesian(cx, cy, innerRadius, startAngle);\n var innerEndPoint = polarToCartesian(cx, cy, innerRadius, tempEndAngle);\n path += \"L \".concat(innerEndPoint.x, \",\").concat(innerEndPoint.y, \"\\n A \").concat(innerRadius, \",\").concat(innerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle <= tempEndAngle), \",\\n \").concat(innerStartPoint.x, \",\").concat(innerStartPoint.y, \" Z\");\n } else {\n path += \"L \".concat(cx, \",\").concat(cy, \" Z\");\n }\n\n return path;\n};\n\nvar getSectorWithCorner = function getSectorWithCorner(_ref3) {\n var cx = _ref3.cx,\n cy = _ref3.cy,\n innerRadius = _ref3.innerRadius,\n outerRadius = _ref3.outerRadius,\n cornerRadius = _ref3.cornerRadius,\n forceCornerRadius = _ref3.forceCornerRadius,\n cornerIsExternal = _ref3.cornerIsExternal,\n startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var sign = mathSign(endAngle - startAngle);\n\n var _getTangentCircle = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: startAngle,\n sign: sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n soct = _getTangentCircle.circleTangency,\n solt = _getTangentCircle.lineTangency,\n sot = _getTangentCircle.theta;\n\n var _getTangentCircle2 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: endAngle,\n sign: -sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eoct = _getTangentCircle2.circleTangency,\n eolt = _getTangentCircle2.lineTangency,\n eot = _getTangentCircle2.theta;\n\n var outerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sot - eot;\n\n if (outerArcAngle < 0) {\n if (forceCornerRadius) {\n return \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(cornerRadius * 2, \",0\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(-cornerRadius * 2, \",0\\n \");\n }\n\n return getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n\n var path = \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(soct.x, \",\").concat(soct.y, \"\\n A\").concat(outerRadius, \",\").concat(outerRadius, \",0,\").concat(+(outerArcAngle > 180), \",\").concat(+(sign < 0), \",\").concat(eoct.x, \",\").concat(eoct.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eolt.x, \",\").concat(eolt.y, \"\\n \");\n\n if (innerRadius > 0) {\n var _getTangentCircle3 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: startAngle,\n sign: sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n sict = _getTangentCircle3.circleTangency,\n silt = _getTangentCircle3.lineTangency,\n sit = _getTangentCircle3.theta;\n\n var _getTangentCircle4 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: endAngle,\n sign: -sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eict = _getTangentCircle4.circleTangency,\n eilt = _getTangentCircle4.lineTangency,\n eit = _getTangentCircle4.theta;\n\n var innerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sit - eit;\n\n if (innerArcAngle < 0 && cornerRadius === 0) {\n return \"\".concat(path, \"L\").concat(cx, \",\").concat(cy, \"Z\");\n }\n\n path += \"L\".concat(eilt.x, \",\").concat(eilt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eict.x, \",\").concat(eict.y, \"\\n A\").concat(innerRadius, \",\").concat(innerRadius, \",0,\").concat(+(innerArcAngle > 180), \",\").concat(+(sign > 0), \",\").concat(sict.x, \",\").concat(sict.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(silt.x, \",\").concat(silt.y, \"Z\");\n } else {\n path += \"L\".concat(cx, \",\").concat(cy, \"Z\");\n }\n\n return path;\n};\n\nexport var Sector = /*#__PURE__*/function (_PureComponent) {\n _inherits(Sector, _PureComponent);\n\n var _super = _createSuper(Sector);\n\n function Sector() {\n _classCallCheck(this, Sector);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Sector, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n cx = _this$props.cx,\n cy = _this$props.cy,\n innerRadius = _this$props.innerRadius,\n outerRadius = _this$props.outerRadius,\n cornerRadius = _this$props.cornerRadius,\n forceCornerRadius = _this$props.forceCornerRadius,\n cornerIsExternal = _this$props.cornerIsExternal,\n startAngle = _this$props.startAngle,\n endAngle = _this$props.endAngle,\n className = _this$props.className;\n\n if (outerRadius < innerRadius || startAngle === endAngle) {\n return null;\n }\n\n var layerClass = classNames('recharts-sector', className);\n var deltaRadius = outerRadius - innerRadius;\n var cr = getPercentValue(cornerRadius, deltaRadius, 0, true);\n var path;\n\n if (cr > 0 && Math.abs(startAngle - endAngle) < 360) {\n path = getSectorWithCorner({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n cornerRadius: Math.min(cr, deltaRadius / 2),\n forceCornerRadius: forceCornerRadius,\n cornerIsExternal: cornerIsExternal,\n startAngle: startAngle,\n endAngle: endAngle\n });\n } else {\n path = getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props, true), {\n className: layerClass,\n d: path\n }));\n }\n }]);\n\n return Sector;\n}(PureComponent);\nSector.defaultProps = {\n cx: 0,\n cy: 0,\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n cornerRadius: 0,\n forceCornerRadius: false,\n cornerIsExternal: false\n};","import _isNil from \"lodash/isNil\";\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 _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\nimport { getPercentValue } from './DataUtils';\nimport { parseScale, checkDomainOfScale, getTicksOfScale } from './ChartUtils';\nexport var RADIAN = Math.PI / 180;\nexport var degreeToRadian = function degreeToRadian(angle) {\n return angle * Math.PI / 180;\n};\nexport var radianToDegree = function radianToDegree(angleInRadian) {\n return angleInRadian * 180 / Math.PI;\n};\nexport var polarToCartesian = function polarToCartesian(cx, cy, radius, angle) {\n return {\n x: cx + Math.cos(-RADIAN * angle) * radius,\n y: cy + Math.sin(-RADIAN * angle) * radius\n };\n};\nexport var getMaxRadius = function getMaxRadius(width, height) {\n var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n return Math.min(Math.abs(width - (offset.left || 0) - (offset.right || 0)), Math.abs(height - (offset.top || 0) - (offset.bottom || 0))) / 2;\n};\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {Object} axisType The type of axes, radius-axis or angle-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\n\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height;\n var startAngle = props.startAngle,\n endAngle = props.endAngle;\n var cx = getPercentValue(props.cx, width, width / 2);\n var cy = getPercentValue(props.cy, height, height / 2);\n var maxRadius = getMaxRadius(width, height, offset);\n var innerRadius = getPercentValue(props.innerRadius, maxRadius, 0);\n var outerRadius = getPercentValue(props.outerRadius, maxRadius, maxRadius * 0.8);\n var ids = Object.keys(axisMap);\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var domain = axis.domain,\n reversed = axis.reversed;\n var range;\n\n if (_isNil(axis.range)) {\n if (axisType === 'angleAxis') {\n range = [startAngle, endAngle];\n } else if (axisType === 'radiusAxis') {\n range = [innerRadius, outerRadius];\n }\n\n if (reversed) {\n range = [range[1], range[0]];\n }\n } else {\n range = axis.range;\n var _range = range;\n\n var _range2 = _slicedToArray(_range, 2);\n\n startAngle = _range2[0];\n endAngle = _range2[1];\n }\n\n var _parseScale = parseScale(axis, chartName),\n realScaleType = _parseScale.realScaleType,\n scale = _parseScale.scale;\n\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n range: range,\n radius: outerRadius,\n realScaleType: realScaleType,\n scale: scale,\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var distanceBetweenPoints = function distanceBetweenPoints(point, anotherPoint) {\n var x1 = point.x,\n y1 = point.y;\n var x2 = anotherPoint.x,\n y2 = anotherPoint.y;\n return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n};\nexport var getAngleOfPoint = function getAngleOfPoint(_ref, _ref2) {\n var x = _ref.x,\n y = _ref.y;\n var cx = _ref2.cx,\n cy = _ref2.cy;\n var radius = distanceBetweenPoints({\n x: x,\n y: y\n }, {\n x: cx,\n y: cy\n });\n\n if (radius <= 0) {\n return {\n radius: radius\n };\n }\n\n var cos = (x - cx) / radius;\n var angleInRadian = Math.acos(cos);\n\n if (y > cy) {\n angleInRadian = 2 * Math.PI - angleInRadian;\n }\n\n return {\n radius: radius,\n angle: radianToDegree(angleInRadian),\n angleInRadian: angleInRadian\n };\n};\nexport var formatAngleOfSector = function formatAngleOfSector(_ref3) {\n var startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return {\n startAngle: startAngle - min * 360,\n endAngle: endAngle - min * 360\n };\n};\n\nvar reverseFormatAngleOfSetor = function reverseFormatAngleOfSetor(angle, _ref4) {\n var startAngle = _ref4.startAngle,\n endAngle = _ref4.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return angle + min * 360;\n};\n\nexport var inRangeOfSector = function inRangeOfSector(_ref5, sector) {\n var x = _ref5.x,\n y = _ref5.y;\n\n var _getAngleOfPoint = getAngleOfPoint({\n x: x,\n y: y\n }, sector),\n radius = _getAngleOfPoint.radius,\n angle = _getAngleOfPoint.angle;\n\n var innerRadius = sector.innerRadius,\n outerRadius = sector.outerRadius;\n\n if (radius < innerRadius || radius > outerRadius) {\n return false;\n }\n\n if (radius === 0) {\n return true;\n }\n\n var _formatAngleOfSector = formatAngleOfSector(sector),\n startAngle = _formatAngleOfSector.startAngle,\n endAngle = _formatAngleOfSector.endAngle;\n\n var formatAngle = angle;\n var inRange;\n\n if (startAngle <= endAngle) {\n while (formatAngle > endAngle) {\n formatAngle -= 360;\n }\n\n while (formatAngle < startAngle) {\n formatAngle += 360;\n }\n\n inRange = formatAngle >= startAngle && formatAngle <= endAngle;\n } else {\n while (formatAngle > startAngle) {\n formatAngle -= 360;\n }\n\n while (formatAngle < endAngle) {\n formatAngle += 360;\n }\n\n inRange = formatAngle >= endAngle && formatAngle <= startAngle;\n }\n\n if (inRange) {\n return _objectSpread(_objectSpread({}, sector), {}, {\n radius: radius,\n angle: reverseFormatAngleOfSetor(formatAngle, sector)\n });\n }\n\n return null;\n};"],"sourceRoot":""}