{"version":3,"sources":["../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/chart/LineChart.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/cartesian/CartesianGrid.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/cartesian/CartesianAxis.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/cartesian/ErrorBar.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/cartesian/Line.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/cartesian/Brush.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/cartesian/XAxis.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/cartesian/YAxis.js","../../node_modules/.pnpm/recharts-scale@0.4.5/node_modules/recharts-scale/es6/util/utils.js","../../node_modules/.pnpm/recharts-scale@0.4.5/node_modules/recharts-scale/es6/util/arithmetic.js","../../node_modules/.pnpm/recharts-scale@0.4.5/node_modules/recharts-scale/es6/getNiceTickValues.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/cartesian/ReferenceLine.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/cartesian/ReferenceDot.js","../../node_modules/.pnpm/recharts@2.1.10_sfoxds7t5ydpegc3knd667wn6m/node_modules/recharts/es6/cartesian/ReferenceArea.js"],"names":["LineChart","generateCategoricalChart","chartName","GraphicalChild","Line","axisComponents","axisType","AxisComp","XAxis","YAxis","formatAxisMap","_typeof","obj","Symbol","iterator","constructor","prototype","_extends","Object","assign","target","i","arguments","length","source","key","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","configurable","writable","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_inherits","subClass","superClass","create","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","CartesianGrid","_PureComponent","_super","renderHorizontal","horizontalPoints","_this","_this$props","x","width","horizontal","items","map","entry","x1","y1","x2","y2","concat","index","renderLineItem","React","createElement","className","renderVertical","verticalPoints","_this2","_this$props2","y","height","vertical","renderVerticalStripes","verticalFill","_this$props3","fillOpacity","verticalPointsUpdated","slice","sort","a","b","unshift","lineWidth","colorIndex","Math","round","stroke","fill","renderHorizontalStripes","horizontalFill","_this$props4","horizontalPointsUpdated","lineHeight","renderBackground","_this$props5","render","_this$props6","horizontalCoordinatesGenerator","verticalCoordinatesGenerator","xAxis","yAxis","offset","chartWidth","chartHeight","isNumber","_this$props7","_isFunction","option","lineItem","isValidElement","cloneElement","others","filterProps","PureComponent","displayName","defaultProps","CartesianAxis","_Component","shouldComponentUpdate","_ref","viewBox","restProps","viewBoxOld","restPropsOld","shallowEqual","getTickLineCoord","data","orientation","tickSize","mirror","tickMargin","tx","ty","sign","finalTickSize","tickCoord","coordinate","line","tick","getTickTextAnchor","textAnchor","getTickVerticalAnchor","verticalAnchor","renderAxisLine","axisLine","needHeight","needWidth","classNames","_get","renderTicks","ticks","tickLine","tickFormatter","unit","finalTicks","getTicks","axisProps","customTickProps","tickLineProps","_this$getTickLineCoor","lineCoord","tickProps","payload","visibleTicksCount","Layer","adaptEventsOfChild","renderTickItem","ticksGenerator","hide","_this$props8","noTicksProps","Label","renderCallByParent","minTickGap","interval","Global","isSsr","getNumberIntervalTicks","getTicksStart","getTicksEnd","_ref2","preserveEnd","sizeKey","unitSize","getStringSize","len","mathSign","start","end","tail","tailContent","tailSize","tailGap","isTailShow","isShow","count","content","size","gap","_ref3","tickItem","Text","Component","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","n","toString","name","Array","from","test","arr2","_arr","_n","_d","_e","undefined","_i","_s","next","done","err","isArray","ErrorBar","layout","dataKey","dataPointFormatter","svgProps","errorBars","_dataPointFormatter","errorVal","lineCoordinates","lowBound","highBound","_errorVal","scale","yMid","yMin","yMax","xMin","xMax","_scale","xMid","_xMin","_xMax","_yMin","_yMax","coordinates","strokeWidth","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","_len","args","_key","mainCurve","state","isAnimationFinished","totalLength","getStrokeDasharray","lines","lineLength","reduce","pre","floor","remainLength","restLength","remainLines","sum","emptyLines","repeat","join","id","uniqueId","pathRef","node","handleAnimationEnd","setState","onAnimationEnd","handleAnimationStart","onAnimationStart","componentDidMount","isAnimationActive","getTotalLength","curveDom","renderErrorBar","points","children","errorBarItems","findAllByType","dataPoint","getValueByDataKey","item","renderDots","needClip","clipPathId","dot","lineProps","customDotProps","dots","dotProps","r","cx","cy","renderDotItem","dotsProps","clipPath","renderCurveStatically","type","connectNulls","ref","curveProps","Curve","renderCurveWithAnimation","strokeDasharray","animationBegin","animationDuration","animationEasing","animationId","animateNewValues","_this$state","prevPoints","Animate","begin","duration","isActive","easing","t","to","prevPointsDiffFactor","stepData","prevPointIndex","prev","interpolatorX","interpolateNumber","interpolatorY","_interpolatorX","_interpolatorY","interpolator","curLength","currentStrokeDasharray","split","num","parseFloat","renderCurve","_this$state2","_isEqual","top","left","hasSinglePoint","layerClass","allowDataOverflow","_isNil","LabelList","getDerivedStateFromProps","nextProps","prevState","prevAnimationId","curPoints","linesUnit","dotItem","Dot","xAxisId","yAxisId","activeDot","legendType","getComposedData","xAxisTicks","yAxisTicks","bandSize","displayedData","getCateCoordinateOfLine","axis","createScale","startIndex","endIndex","travellerWidth","scalePoint","domain","_range","range","scaleValues","isTextActive","isSlideMoving","isTravellerMoving","startX","endX","isTouch","changedTouches","Brush","leaveTimer","travellerDragStartHandlers","handleDrag","clearTimeout","handleTravellerMove","handleSlideDrag","handleTouchMove","handleDragEnd","detachDragEndListener","handleLeaveWrapper","window","setTimeout","leaveTimeOut","handleEnterSlideOrTraveller","handleLeaveSlideOrTraveller","handleSlideDragStart","event","slideMoveStartX","pageX","attachDragEndListener","handleTravellerDragStart","bind","componentWillUnmount","getIndex","lastIndex","min","max","minIndex","getIndexInRange","maxIndex","getTextOfTick","text","addEventListener","removeEventListener","onChange","delta","newIndex","movingTravellerId","brushMoveStartX","_this$setState","prevValue","params","isFullGap","renderPanorama","padding","chartElement","Children","only","margin","compact","renderTravellerLayer","travellerX","traveller","travellerProps","onMouseEnter","onMouseLeave","onMouseDown","onTouchStart","style","cursor","renderTraveller","renderSlide","abs","renderText","_this$props9","_this$state3","attrs","pointerEvents","_this$props10","alwaysShowText","_this$state4","isPanoramic","generatePrefixStyle","onMouseMove","onTouchMove","renderDefaultTraveller","lineY","Fragment","rectangle","updateId","prevData","prevUpdateId","prevTravellerWidth","prevX","prevWidth","middle","right","bottom","allowDecimals","tickCount","reversed","allowDuplicatedCategory","identity","PLACE_HOLDER","isPlaceHolder","val","curry0","fn","_curried","curryN","argsLength","arg","_len2","restArgs","_key2","newArgs","shift","curry","compose","_len3","_key3","fns","reverse","firstFn","tailsFn","res","memoize","lastArgs","lastResult","_len4","_key4","every","getDigitCount","Decimal","log","toNumber","rangeStep","step","lt","add","newA","newB","uninterpolateNumber","diff","Infinity","uninterpolateTruncation","getValidInterval","validMin","validMax","getFormatStep","roughStep","correctionFactor","lte","digitCount","Arithmetic","digitCountValue","pow","stepRatio","div","stepRatioScale","amendStepRatio","ceil","mul","formatStep","getTickOfSingleValue","isint","absVal","middleIndex","calculateStep","Number","isFinite","tickMin","tickMax","sub","mod","belowCount","upCount","scaleCount","getNiceTickValuesFn","_ref4","_getValidInterval","_getValidInterval2","cormin","cormax","_values","_calculateStep","values","getTickValuesFn","_ref5","_ref6","_getValidInterval3","_getValidInterval4","getTickValuesFixedDomainFn","_ref7","_ref8","_getValidInterval5","_getValidInterval6","getNiceTickValues","getTickValues","getTickValuesFixedDomain","renderLine","getEndPoints","scales","isFixedX","isFixedY","isSegment","_props$viewBox","position","yCoord","coord","ifOverflowMatches","isInRange","xCoord","_orientation","_coord","_points","segment","_points2","_some","ReferenceLine","fixedX","fixedY","shape","alwaysShow","warn","createLabeledScales","isX","isNumOrStr","isY","endPoints","_endPoints","_endPoints$","_endPoints$2","rectWithCoords","isFront","ifOverflow","getCoordinate","bandAware","ReferenceDot","renderDot","getRect","hasX1","hasX2","hasY1","hasY2","xValue1","xValue2","yValue1","yValue2","p1","rangeMin","p2","rangeMax","rectWithPoints","ReferenceArea","rect","renderRect","Rectangle"],"mappings":"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","file":"static/js/vendors~main~9a5e9864.baf55fcb.chunk.js","sourcesContent":["/**\n * @fileOverview Line Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Line } from '../cartesian/Line';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var LineChart = generateCategoricalChart({\n chartName: 'LineChart',\n GraphicalChild: Line,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction 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 Cartesian Grid\n */\nimport React, { PureComponent } from 'react';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/types';\nexport var CartesianGrid = /*#__PURE__*/function (_PureComponent) {\n _inherits(CartesianGrid, _PureComponent);\n\n var _super = _createSuper(CartesianGrid);\n\n function CartesianGrid() {\n _classCallCheck(this, CartesianGrid);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(CartesianGrid, [{\n key: \"renderHorizontal\",\n value:\n /**\n * Draw the horizontal grid lines\n * @param {Array} horizontalPoints either passed in as props or generated from function\n * @return {Group} Horizontal lines\n */\n function renderHorizontal(horizontalPoints) {\n var _this = this;\n\n var _this$props = this.props,\n x = _this$props.x,\n width = _this$props.width,\n horizontal = _this$props.horizontal;\n\n if (!horizontalPoints || !horizontalPoints.length) {\n return null;\n }\n\n var items = horizontalPoints.map(function (entry, i) {\n var props = _objectSpread(_objectSpread({}, _this.props), {}, {\n x1: x,\n y1: entry,\n x2: x + width,\n y2: entry,\n key: \"line-\".concat(i),\n index: i\n });\n\n return CartesianGrid.renderLineItem(horizontal, props);\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid-horizontal\"\n }, items);\n }\n /**\n * Draw vertical grid lines\n * @param {Array} verticalPoints either passed in as props or generated from function\n * @return {Group} Vertical lines\n */\n\n }, {\n key: \"renderVertical\",\n value: function renderVertical(verticalPoints) {\n var _this2 = this;\n\n var _this$props2 = this.props,\n y = _this$props2.y,\n height = _this$props2.height,\n vertical = _this$props2.vertical;\n\n if (!verticalPoints || !verticalPoints.length) {\n return null;\n }\n\n var items = verticalPoints.map(function (entry, i) {\n var props = _objectSpread(_objectSpread({}, _this2.props), {}, {\n x1: entry,\n y1: y,\n x2: entry,\n y2: y + height,\n key: \"line-\".concat(i),\n index: i\n });\n\n return CartesianGrid.renderLineItem(vertical, props);\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid-vertical\"\n }, items);\n }\n /**\n * Draw vertical grid stripes filled by colors\n * @param {Array} verticalPoints either passed in as props or generated from function\n * @return {Group} Vertical stripes\n */\n\n }, {\n key: \"renderVerticalStripes\",\n value: function renderVerticalStripes(verticalPoints) {\n var verticalFill = this.props.verticalFill;\n\n if (!verticalFill || !verticalFill.length) {\n return null;\n }\n\n var _this$props3 = this.props,\n fillOpacity = _this$props3.fillOpacity,\n x = _this$props3.x,\n y = _this$props3.y,\n width = _this$props3.width,\n height = _this$props3.height;\n var verticalPointsUpdated = verticalPoints.slice().sort(function (a, b) {\n return a - b;\n });\n\n if (x !== verticalPointsUpdated[0]) {\n verticalPointsUpdated.unshift(0);\n }\n\n var items = verticalPointsUpdated.map(function (entry, i) {\n var lineWidth = verticalPointsUpdated[i + 1] ? verticalPointsUpdated[i + 1] - entry : x + width - entry;\n\n if (lineWidth <= 0) {\n return null;\n }\n\n var colorIndex = i % verticalFill.length;\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n ,\n x: Math.round(entry + x - x),\n y: y,\n width: lineWidth,\n height: height,\n stroke: \"none\",\n fill: verticalFill[colorIndex],\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-vertical\"\n }, items);\n }\n /**\n * Draw horizontal grid stripes filled by colors\n * @param {Array} horizontalPoints either passed in as props or generated from function\n * @return {Group} Horizontal stripes\n */\n\n }, {\n key: \"renderHorizontalStripes\",\n value: function renderHorizontalStripes(horizontalPoints) {\n var horizontalFill = this.props.horizontalFill;\n\n if (!horizontalFill || !horizontalFill.length) {\n return null;\n }\n\n var _this$props4 = this.props,\n fillOpacity = _this$props4.fillOpacity,\n x = _this$props4.x,\n y = _this$props4.y,\n width = _this$props4.width,\n height = _this$props4.height;\n var horizontalPointsUpdated = horizontalPoints.slice().sort(function (a, b) {\n return a - b;\n });\n\n if (y !== horizontalPointsUpdated[0]) {\n horizontalPointsUpdated.unshift(0);\n }\n\n var items = horizontalPointsUpdated.map(function (entry, i) {\n var lineHeight = horizontalPointsUpdated[i + 1] ? horizontalPointsUpdated[i + 1] - entry : y + height - entry;\n\n if (lineHeight <= 0) {\n return null;\n }\n\n var colorIndex = i % horizontalFill.length;\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n ,\n y: Math.round(entry + y - y),\n x: x,\n height: lineHeight,\n width: width,\n stroke: \"none\",\n fill: horizontalFill[colorIndex],\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-horizontal\"\n }, items);\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var fill = this.props.fill;\n\n if (!fill || fill === 'none') {\n return null;\n }\n\n var _this$props5 = this.props,\n fillOpacity = _this$props5.fillOpacity,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height;\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n stroke: \"none\",\n fill: fill,\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n x = _this$props6.x,\n y = _this$props6.y,\n width = _this$props6.width,\n height = _this$props6.height,\n horizontal = _this$props6.horizontal,\n vertical = _this$props6.vertical,\n horizontalCoordinatesGenerator = _this$props6.horizontalCoordinatesGenerator,\n verticalCoordinatesGenerator = _this$props6.verticalCoordinatesGenerator,\n xAxis = _this$props6.xAxis,\n yAxis = _this$props6.yAxis,\n offset = _this$props6.offset,\n chartWidth = _this$props6.chartWidth,\n chartHeight = _this$props6.chartHeight;\n\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0 || !isNumber(x) || x !== +x || !isNumber(y) || y !== +y) {\n return null;\n }\n\n var _this$props7 = this.props,\n horizontalPoints = _this$props7.horizontalPoints,\n verticalPoints = _this$props7.verticalPoints; // No horizontal points are specified\n\n if ((!horizontalPoints || !horizontalPoints.length) && _isFunction(horizontalCoordinatesGenerator)) {\n horizontalPoints = horizontalCoordinatesGenerator({\n yAxis: yAxis,\n width: chartWidth,\n height: chartHeight,\n offset: offset\n });\n } // No vertical points are specified\n\n\n if ((!verticalPoints || !verticalPoints.length) && _isFunction(verticalCoordinatesGenerator)) {\n verticalPoints = verticalCoordinatesGenerator({\n xAxis: xAxis,\n width: chartWidth,\n height: chartHeight,\n offset: offset\n });\n }\n\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid\"\n }, this.renderBackground(), horizontal && this.renderHorizontal(horizontalPoints), vertical && this.renderVertical(verticalPoints), horizontal && this.renderHorizontalStripes(horizontalPoints), vertical && this.renderVerticalStripes(verticalPoints));\n }\n }], [{\n key: \"renderLineItem\",\n value: function renderLineItem(option, props) {\n var lineItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n lineItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n lineItem = option(props);\n } else {\n var x1 = props.x1,\n y1 = props.y1,\n x2 = props.x2,\n y2 = props.y2,\n key = props.key,\n others = _objectWithoutProperties(props, [\"x1\", \"y1\", \"x2\", \"y2\", \"key\"]);\n\n lineItem = /*#__PURE__*/React.createElement(\"line\", _extends({}, filterProps(others), {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2,\n fill: \"none\",\n key: key\n }));\n }\n\n return lineItem;\n }\n }]);\n\n return CartesianGrid;\n}(PureComponent);\nCartesianGrid.displayName = 'CartesianGrid';\nCartesianGrid.defaultProps = {\n horizontal: true,\n vertical: true,\n // The ordinates of horizontal grid lines\n horizontalPoints: [],\n // The abscissas of vertical grid lines\n verticalPoints: [],\n stroke: '#ccc',\n fill: 'none',\n // The fill of colors of grid lines\n verticalFill: [],\n horizontalFill: []\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 _get from \"lodash/get\";\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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Cartesian Axis\n */\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { getStringSize } from '../util/DOMUtils';\nimport { Layer } from '../container/Layer';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { Global } from '../util/Global';\nimport { isNumber, mathSign } from '../util/DataUtils';\nimport { filterProps, adaptEventsOfChild } from '../util/types';\nexport var CartesianAxis = /*#__PURE__*/function (_Component) {\n _inherits(CartesianAxis, _Component);\n\n var _super = _createSuper(CartesianAxis);\n\n function CartesianAxis() {\n _classCallCheck(this, CartesianAxis);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(CartesianAxis, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(_ref) {\n var viewBox = _ref.viewBox,\n restProps = _objectWithoutProperties(_ref, [\"viewBox\"]);\n\n // props.viewBox is sometimes generated every time -\n // check that specially as object equality is likely to fail\n var _this$props = this.props,\n viewBoxOld = _this$props.viewBox,\n restPropsOld = _objectWithoutProperties(_this$props, [\"viewBox\"]);\n\n return !shallowEqual(viewBox, viewBoxOld) || !shallowEqual(restProps, restPropsOld);\n }\n /**\n * Calculate the coordinates of endpoints in ticks\n * @param {Object} data The data of a simple tick\n * @return {Object} (x1, y1): The coordinate of endpoint close to tick text\n * (x2, y2): The coordinate of endpoint close to axis\n */\n\n }, {\n key: \"getTickLineCoord\",\n value: function getTickLineCoord(data) {\n var _this$props2 = this.props,\n x = _this$props2.x,\n y = _this$props2.y,\n width = _this$props2.width,\n height = _this$props2.height,\n orientation = _this$props2.orientation,\n tickSize = _this$props2.tickSize,\n mirror = _this$props2.mirror,\n tickMargin = _this$props2.tickMargin;\n var x1, x2, y1, y2, tx, ty;\n var sign = mirror ? -1 : 1;\n var finalTickSize = data.tickSize || tickSize;\n var tickCoord = isNumber(data.tickCoord) ? data.tickCoord : data.coordinate;\n\n switch (orientation) {\n case 'top':\n x1 = x2 = data.coordinate;\n y2 = y + +!mirror * height;\n y1 = y2 - sign * finalTickSize;\n ty = y1 - sign * tickMargin;\n tx = tickCoord;\n break;\n\n case 'left':\n y1 = y2 = data.coordinate;\n x2 = x + +!mirror * width;\n x1 = x2 - sign * finalTickSize;\n tx = x1 - sign * tickMargin;\n ty = tickCoord;\n break;\n\n case 'right':\n y1 = y2 = data.coordinate;\n x2 = x + +mirror * width;\n x1 = x2 + sign * finalTickSize;\n tx = x1 + sign * tickMargin;\n ty = tickCoord;\n break;\n\n default:\n x1 = x2 = data.coordinate;\n y2 = y + +mirror * height;\n y1 = y2 + sign * finalTickSize;\n ty = y1 + sign * tickMargin;\n tx = tickCoord;\n break;\n }\n\n return {\n line: {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n },\n tick: {\n x: tx,\n y: ty\n }\n };\n }\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor() {\n var _this$props3 = this.props,\n orientation = _this$props3.orientation,\n mirror = _this$props3.mirror;\n var textAnchor;\n\n switch (orientation) {\n case 'left':\n textAnchor = mirror ? 'start' : 'end';\n break;\n\n case 'right':\n textAnchor = mirror ? 'end' : 'start';\n break;\n\n default:\n textAnchor = 'middle';\n break;\n }\n\n return textAnchor;\n }\n }, {\n key: \"getTickVerticalAnchor\",\n value: function getTickVerticalAnchor() {\n var _this$props4 = this.props,\n orientation = _this$props4.orientation,\n mirror = _this$props4.mirror;\n var verticalAnchor = 'end';\n\n switch (orientation) {\n case 'left':\n case 'right':\n verticalAnchor = 'middle';\n break;\n\n case 'top':\n verticalAnchor = mirror ? 'start' : 'end';\n break;\n\n default:\n verticalAnchor = mirror ? 'end' : 'start';\n break;\n }\n\n return verticalAnchor;\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props5 = this.props,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height,\n orientation = _this$props5.orientation,\n mirror = _this$props5.mirror,\n axisLine = _this$props5.axisLine;\n\n var props = _objectSpread(_objectSpread(_objectSpread({}, filterProps(this.props)), filterProps(axisLine)), {}, {\n fill: 'none'\n });\n\n if (orientation === 'top' || orientation === 'bottom') {\n var needHeight = +(orientation === 'top' && !mirror || orientation === 'bottom' && mirror);\n props = _objectSpread(_objectSpread({}, props), {}, {\n x1: x,\n y1: y + needHeight * height,\n x2: x + width,\n y2: y + needHeight * height\n });\n } else {\n var needWidth = +(orientation === 'left' && !mirror || orientation === 'right' && mirror);\n props = _objectSpread(_objectSpread({}, props), {}, {\n x1: x + needWidth * width,\n y1: y,\n x2: x + needWidth * width,\n y2: y + height\n });\n }\n\n return /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n className: classNames('recharts-cartesian-axis-line', _get(axisLine, 'className'))\n }));\n }\n }, {\n key: \"renderTicks\",\n value:\n /**\n * render the ticks\n * @param {Array} ticks The ticks to actually render (overrides what was passed in props)\n * @return {ReactComponent} renderedTicks\n */\n function renderTicks(ticks) {\n var _this = this;\n\n var _this$props6 = this.props,\n tickLine = _this$props6.tickLine,\n stroke = _this$props6.stroke,\n tick = _this$props6.tick,\n tickFormatter = _this$props6.tickFormatter,\n unit = _this$props6.unit;\n var finalTicks = CartesianAxis.getTicks(_objectSpread(_objectSpread({}, this.props), {}, {\n ticks: ticks\n }));\n var textAnchor = this.getTickTextAnchor();\n var verticalAnchor = this.getTickVerticalAnchor();\n var axisProps = filterProps(this.props);\n var customTickProps = filterProps(tick);\n\n var tickLineProps = _objectSpread(_objectSpread({}, axisProps), {}, {\n fill: 'none'\n }, filterProps(tickLine));\n\n var items = finalTicks.map(function (entry, i) {\n var _this$getTickLineCoor = _this.getTickLineCoord(entry),\n lineCoord = _this$getTickLineCoor.line,\n tickCoord = _this$getTickLineCoor.tick;\n\n var tickProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n textAnchor: textAnchor,\n verticalAnchor: verticalAnchor\n }, axisProps), {}, {\n stroke: 'none',\n fill: stroke\n }, customTickProps), tickCoord), {}, {\n index: i,\n payload: entry,\n visibleTicksCount: finalTicks.length,\n tickFormatter: tickFormatter\n });\n\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-cartesian-axis-tick\",\n key: \"tick-\".concat(i) // eslint-disable-line react/no-array-index-key\n\n }, adaptEventsOfChild(_this.props, entry, i)), tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({}, tickLineProps, lineCoord, {\n className: classNames('recharts-cartesian-axis-tick-line', _get(tickLine, 'className'))\n })), tick && CartesianAxis.renderTickItem(tick, tickProps, \"\".concat(_isFunction(tickFormatter) ? tickFormatter(entry.value, i) : entry.value).concat(unit || '')));\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props7 = this.props,\n axisLine = _this$props7.axisLine,\n width = _this$props7.width,\n height = _this$props7.height,\n ticksGenerator = _this$props7.ticksGenerator,\n className = _this$props7.className,\n hide = _this$props7.hide;\n\n if (hide) {\n return null;\n }\n\n var _this$props8 = this.props,\n ticks = _this$props8.ticks,\n noTicksProps = _objectWithoutProperties(_this$props8, [\"ticks\"]);\n\n var finalTicks = ticks;\n\n if (_isFunction(ticksGenerator)) {\n finalTicks = ticks && ticks.length > 0 ? ticksGenerator(this.props) : ticksGenerator(noTicksProps);\n }\n\n if (width <= 0 || height <= 0 || !finalTicks || !finalTicks.length) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-cartesian-axis', className)\n }, axisLine && this.renderAxisLine(), this.renderTicks(finalTicks), Label.renderCallByParent(this.props));\n }\n }], [{\n key: \"getTicks\",\n value: // todo Array\n function getTicks(props) {\n var tick = props.tick,\n ticks = props.ticks,\n viewBox = props.viewBox,\n minTickGap = props.minTickGap,\n orientation = props.orientation,\n interval = props.interval,\n tickFormatter = props.tickFormatter,\n unit = props.unit;\n\n if (!ticks || !ticks.length || !tick) {\n return [];\n }\n\n if (isNumber(interval) || Global.isSsr) {\n return CartesianAxis.getNumberIntervalTicks(ticks, typeof interval === 'number' && isNumber(interval) ? interval : 0);\n }\n\n if (interval === 'preserveStartEnd') {\n return CartesianAxis.getTicksStart({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit\n }, true);\n }\n\n if (interval === 'preserveStart') {\n return CartesianAxis.getTicksStart({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit\n });\n }\n\n return CartesianAxis.getTicksEnd({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit\n });\n }\n }, {\n key: \"getNumberIntervalTicks\",\n value: function getNumberIntervalTicks(ticks, interval) {\n return ticks.filter(function (entry, i) {\n return i % (interval + 1) === 0;\n });\n }\n }, {\n key: \"getTicksStart\",\n value: function getTicksStart(_ref2, preserveEnd) {\n var ticks = _ref2.ticks,\n tickFormatter = _ref2.tickFormatter,\n viewBox = _ref2.viewBox,\n orientation = _ref2.orientation,\n minTickGap = _ref2.minTickGap,\n unit = _ref2.unit;\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height';\n var result = (ticks || []).slice(); // we need add the width of 'unit' only when sizeKey === 'width'\n\n var unitSize = unit && sizeKey === 'width' ? getStringSize(unit)[sizeKey] : 0;\n var len = result.length;\n var sign = len >= 2 ? mathSign(result[1].coordinate - result[0].coordinate) : 1;\n var start, end;\n\n if (sign === 1) {\n start = sizeKey === 'width' ? x : y;\n end = sizeKey === 'width' ? x + width : y + height;\n } else {\n start = sizeKey === 'width' ? x + width : y + height;\n end = sizeKey === 'width' ? x : y;\n }\n\n if (preserveEnd) {\n // Try to guarantee the tail to be displayed\n var tail = ticks[len - 1];\n var tailContent = _isFunction(tickFormatter) ? tickFormatter(tail.value, len - 1) : tail.value;\n var tailSize = getStringSize(tailContent)[sizeKey] + unitSize;\n var tailGap = sign * (tail.coordinate + sign * tailSize / 2 - end);\n result[len - 1] = tail = _objectSpread(_objectSpread({}, tail), {}, {\n tickCoord: tailGap > 0 ? tail.coordinate - tailGap * sign : tail.coordinate\n });\n var isTailShow = sign * (tail.tickCoord - sign * tailSize / 2 - start) >= 0 && sign * (tail.tickCoord + sign * tailSize / 2 - end) <= 0;\n\n if (isTailShow) {\n end = tail.tickCoord - sign * (tailSize / 2 + minTickGap);\n result[len - 1] = _objectSpread(_objectSpread({}, tail), {}, {\n isShow: true\n });\n }\n }\n\n var count = preserveEnd ? len - 1 : len;\n\n for (var i = 0; i < count; i++) {\n var entry = result[i];\n var content = _isFunction(tickFormatter) ? tickFormatter(entry.value, i) : entry.value;\n var size = getStringSize(content)[sizeKey] + unitSize;\n\n if (i === 0) {\n var gap = sign * (entry.coordinate - sign * size / 2 - start);\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: gap < 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n\n var isShow = sign * (entry.tickCoord - sign * size / 2 - start) >= 0 && sign * (entry.tickCoord + sign * size / 2 - end) <= 0;\n\n if (isShow) {\n start = entry.tickCoord + sign * (size / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n }\n\n return result.filter(function (entry) {\n return entry.isShow;\n });\n }\n }, {\n key: \"getTicksEnd\",\n value: function getTicksEnd(_ref3) {\n var ticks = _ref3.ticks,\n tickFormatter = _ref3.tickFormatter,\n viewBox = _ref3.viewBox,\n orientation = _ref3.orientation,\n minTickGap = _ref3.minTickGap,\n unit = _ref3.unit;\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height'; // we need add the width of 'unit' only when sizeKey === 'width'\n\n var unitSize = unit && sizeKey === 'width' ? getStringSize(unit)[sizeKey] : 0;\n var result = (ticks || []).slice();\n var len = result.length;\n var sign = len >= 2 ? mathSign(result[1].coordinate - result[0].coordinate) : 1;\n var start, end;\n\n if (sign === 1) {\n start = sizeKey === 'width' ? x : y;\n end = sizeKey === 'width' ? x + width : y + height;\n } else {\n start = sizeKey === 'width' ? x + width : y + height;\n end = sizeKey === 'width' ? x : y;\n }\n\n for (var i = len - 1; i >= 0; i--) {\n var entry = result[i];\n var content = _isFunction(tickFormatter) ? tickFormatter(entry.value, len - i - 1) : entry.value;\n var size = getStringSize(content)[sizeKey] + unitSize;\n\n if (i === len - 1) {\n var gap = sign * (entry.coordinate + sign * size / 2 - end);\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: gap > 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n\n var isShow = sign * (entry.tickCoord - sign * size / 2 - start) >= 0 && sign * (entry.tickCoord + sign * size / 2 - end) <= 0;\n\n if (isShow) {\n end = entry.tickCoord - sign * (size / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n }\n\n return result.filter(function (entry) {\n return entry.isShow;\n });\n }\n }, {\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n tickItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n tickItem = option(props);\n } else {\n tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n className: \"recharts-cartesian-axis-tick-value\"\n }), value);\n }\n\n return tickItem;\n }\n }]);\n\n return CartesianAxis;\n}(Component);\nCartesianAxis.displayName = 'CartesianAxis';\nCartesianAxis.defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n viewBox: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n // The orientation of axis\n orientation: 'bottom',\n // The ticks\n ticks: [],\n stroke: '#666',\n tickLine: true,\n axisLine: true,\n tick: true,\n mirror: false,\n minTickGap: 5,\n // The width or height of tick\n tickSize: 6,\n tickMargin: 2,\n interval: 'preserveEnd'\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * @fileOverview Render a group of error bar\n */\nimport React from 'react';\nimport { Layer } from '../container/Layer';\nimport { filterProps } from '../util/types';\nexport function ErrorBar(props) {\n var offset = props.offset,\n layout = props.layout,\n width = props.width,\n dataKey = props.dataKey,\n data = props.data,\n dataPointFormatter = props.dataPointFormatter,\n xAxis = props.xAxis,\n yAxis = props.yAxis,\n others = _objectWithoutProperties(props, [\"offset\", \"layout\", \"width\", \"dataKey\", \"data\", \"dataPointFormatter\", \"xAxis\", \"yAxis\"]);\n\n var svgProps = filterProps(others);\n var errorBars = data.map(function (entry, i) {\n var _dataPointFormatter = dataPointFormatter(entry, dataKey),\n x = _dataPointFormatter.x,\n y = _dataPointFormatter.y,\n value = _dataPointFormatter.value,\n errorVal = _dataPointFormatter.errorVal;\n\n if (!errorVal) {\n return null;\n }\n\n var lineCoordinates = [];\n var lowBound, highBound;\n\n if (Array.isArray(errorVal)) {\n var _errorVal = _slicedToArray(errorVal, 2);\n\n lowBound = _errorVal[0];\n highBound = _errorVal[1];\n } else {\n lowBound = highBound = errorVal;\n }\n\n if (layout === 'vertical') {\n // error bar for horizontal charts, the y is fixed, x is a range value\n var scale = xAxis.scale;\n var yMid = y + offset;\n var yMin = yMid + width;\n var yMax = yMid - width;\n var xMin = scale(value - lowBound);\n var xMax = scale(value + highBound); // the right line of |--|\n\n lineCoordinates.push({\n x1: xMax,\n y1: yMin,\n x2: xMax,\n y2: yMax\n }); // the middle line of |--|\n\n lineCoordinates.push({\n x1: xMin,\n y1: yMid,\n x2: xMax,\n y2: yMid\n }); // the left line of |--|\n\n lineCoordinates.push({\n x1: xMin,\n y1: yMin,\n x2: xMin,\n y2: yMax\n });\n } else if (layout === 'horizontal') {\n // error bar for horizontal charts, the x is fixed, y is a range value\n var _scale = yAxis.scale;\n var xMid = x + offset;\n\n var _xMin = xMid - width;\n\n var _xMax = xMid + width;\n\n var _yMin = _scale(value - lowBound);\n\n var _yMax = _scale(value + highBound); // the top line\n\n\n lineCoordinates.push({\n x1: _xMin,\n y1: _yMax,\n x2: _xMax,\n y2: _yMax\n }); // the middle line\n\n lineCoordinates.push({\n x1: xMid,\n y1: _yMin,\n x2: xMid,\n y2: _yMax\n }); // the bottom line\n\n lineCoordinates.push({\n x1: _xMin,\n y1: _yMin,\n x2: _xMax,\n y2: _yMin\n });\n }\n\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(Layer, _extends({\n className: \"recharts-errorBar\",\n key: \"bar-\".concat(i)\n }, svgProps), lineCoordinates.map(function (coordinates, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"line\", _extends({}, coordinates, {\n key: \"line-\".concat(index)\n }))\n );\n }))\n );\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-errorBars\"\n }, errorBars);\n}\nErrorBar.defaultProps = {\n stroke: 'black',\n strokeWidth: 1.5,\n width: 5,\n offset: 0,\n layout: 'horizontal'\n};\nErrorBar.displayName = 'ErrorBar';","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 _isEqual from \"lodash/isEqual\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _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 _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 _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 Line\n */\nimport React, { PureComponent } from 'react';\nimport Animate from 'react-smooth';\nimport classNames from 'classnames';\nimport { Curve } from '../shape/Curve';\nimport { Dot } from '../shape/Dot';\nimport { Layer } from '../container/Layer';\nimport { LabelList } from '../component/LabelList';\nimport { ErrorBar } from './ErrorBar';\nimport { uniqueId, interpolateNumber } from '../util/DataUtils';\nimport { findAllByType } from '../util/ReactUtils';\nimport { Global } from '../util/Global';\nimport { getCateCoordinateOfLine, getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps } from '../util/types';\nexport var Line = /*#__PURE__*/function (_PureComponent) {\n _inherits(Line, _PureComponent);\n\n var _super = _createSuper(Line);\n\n function Line() {\n var _this;\n\n _classCallCheck(this, Line);\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.mainCurve = void 0;\n _this.state = {\n isAnimationFinished: true,\n totalLength: 0\n };\n\n _this.getStrokeDasharray = function (length, totalLength, lines) {\n var lineLength = lines.reduce(function (pre, next) {\n return pre + next;\n });\n var count = Math.floor(length / lineLength);\n var remainLength = length % lineLength;\n var restLength = totalLength - length;\n var remainLines = [];\n\n for (var i = 0, sum = 0;; sum += lines[i], ++i) {\n if (sum + lines[i] > remainLength) {\n remainLines = [].concat(_toConsumableArray(lines.slice(0, i)), [remainLength - sum]);\n break;\n }\n }\n\n var emptyLines = remainLines.length % 2 === 0 ? [0, restLength] : [restLength];\n return [].concat(_toConsumableArray(Line.repeat(lines, count)), _toConsumableArray(remainLines), emptyLines).map(function (line) {\n return \"\".concat(line, \"px\");\n }).join(', ');\n };\n\n _this.id = uniqueId('recharts-line-');\n\n _this.pathRef = function (node) {\n _this.mainCurve = node;\n };\n\n _this.handleAnimationEnd = function () {\n _this.setState({\n isAnimationFinished: true\n });\n\n if (_this.props.onAnimationEnd) {\n _this.props.onAnimationEnd();\n }\n };\n\n _this.handleAnimationStart = function () {\n _this.setState({\n isAnimationFinished: false\n });\n\n if (_this.props.onAnimationStart) {\n _this.props.onAnimationStart();\n }\n };\n\n return _this;\n }\n\n _createClass(Line, [{\n key: \"componentDidMount\",\n value:\n /* eslint-disable react/no-did-mount-set-state */\n function componentDidMount() {\n if (!this.props.isAnimationActive) {\n return;\n }\n\n var totalLength = this.getTotalLength();\n this.setState({\n totalLength: totalLength\n });\n }\n }, {\n key: \"getTotalLength\",\n value: function getTotalLength() {\n var curveDom = this.mainCurve;\n\n try {\n return curveDom && curveDom.getTotalLength && curveDom.getTotalLength() || 0;\n } catch (err) {\n return 0;\n }\n }\n }, {\n key: \"renderErrorBar\",\n value: function renderErrorBar() {\n if (this.props.isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n\n var _this$props = this.props,\n points = _this$props.points,\n xAxis = _this$props.xAxis,\n yAxis = _this$props.yAxis,\n layout = _this$props.layout,\n children = _this$props.children;\n var errorBarItems = findAllByType(children, ErrorBar.displayName);\n\n if (!errorBarItems) {\n return null;\n }\n\n function dataPointFormatter(dataPoint, dataKey) {\n return {\n x: dataPoint.x,\n y: dataPoint.y,\n value: dataPoint.value,\n errorVal: getValueByDataKey(dataPoint.payload, dataKey)\n };\n }\n\n return errorBarItems.map(function (item, i) {\n return /*#__PURE__*/React.cloneElement(item, {\n // eslint-disable-next-line react/no-array-index-key\n key: \"bar-\".concat(i),\n data: points,\n xAxis: xAxis,\n yAxis: yAxis,\n layout: layout,\n dataPointFormatter: dataPointFormatter\n });\n });\n }\n }, {\n key: \"renderDots\",\n value: function renderDots(needClip, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n\n if (isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n\n var _this$props2 = this.props,\n dot = _this$props2.dot,\n points = _this$props2.points,\n dataKey = _this$props2.dataKey;\n var lineProps = filterProps(this.props);\n var customDotProps = filterProps(dot, true);\n var dots = points.map(function (entry, i) {\n var dotProps = _objectSpread(_objectSpread(_objectSpread({\n key: \"dot-\".concat(i),\n r: 3\n }, lineProps), customDotProps), {}, {\n value: entry.value,\n dataKey: dataKey,\n cx: entry.x,\n cy: entry.y,\n index: i,\n payload: entry.payload\n });\n\n return Line.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-line-dots\",\n key: \"dots\"\n }, dotsProps), dots);\n }\n }, {\n key: \"renderCurveStatically\",\n value: function renderCurveStatically(points, needClip, clipPathId, props) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var _this$props3 = this.props,\n type = _this$props3.type,\n layout = _this$props3.layout,\n connectNulls = _this$props3.connectNulls,\n ref = _this$props3.ref,\n others = _objectWithoutProperties(_this$props3, [\"type\", \"layout\", \"connectNulls\", \"ref\"]);\n\n var curveProps = _objectSpread(_objectSpread(_objectSpread({}, filterProps(others, true)), {}, {\n fill: 'none',\n className: 'recharts-line-curve',\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null,\n points: points\n }, props), {}, {\n type: type,\n layout: layout,\n connectNulls: connectNulls\n });\n\n return /*#__PURE__*/React.createElement(Curve, _extends({}, curveProps, {\n pathRef: this.pathRef\n }));\n }\n }, {\n key: \"renderCurveWithAnimation\",\n value: function renderCurveWithAnimation(needClip, clipPathId) {\n var _this2 = this;\n\n var _this$props4 = this.props,\n points = _this$props4.points,\n strokeDasharray = _this$props4.strokeDasharray,\n isAnimationActive = _this$props4.isAnimationActive,\n animationBegin = _this$props4.animationBegin,\n animationDuration = _this$props4.animationDuration,\n animationEasing = _this$props4.animationEasing,\n animationId = _this$props4.animationId,\n animateNewValues = _this$props4.animateNewValues,\n width = _this$props4.width,\n height = _this$props4.height;\n var _this$state = this.state,\n prevPoints = _this$state.prevPoints,\n totalLength = _this$state.totalLength;\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"line-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n var stepData = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n } // magic number of faking previous x and y location\n\n\n if (animateNewValues) {\n var _interpolatorX = interpolateNumber(width * 2, entry.x);\n\n var _interpolatorY = interpolateNumber(height / 2, entry.y);\n\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: _interpolatorX(t),\n y: _interpolatorY(t)\n });\n }\n\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: entry.x,\n y: entry.y\n });\n });\n return _this2.renderCurveStatically(stepData, needClip, clipPathId);\n }\n\n var interpolator = interpolateNumber(0, totalLength);\n var curLength = interpolator(t);\n var currentStrokeDasharray;\n\n if (strokeDasharray) {\n var lines = \"\".concat(strokeDasharray).split(/[,\\s]+/gim).map(function (num) {\n return parseFloat(num);\n });\n currentStrokeDasharray = _this2.getStrokeDasharray(curLength, totalLength, lines);\n } else {\n currentStrokeDasharray = \"\".concat(curLength, \"px \").concat(totalLength - curLength, \"px\");\n }\n\n return _this2.renderCurveStatically(points, needClip, clipPathId, {\n strokeDasharray: currentStrokeDasharray\n });\n });\n }\n }, {\n key: \"renderCurve\",\n value: function renderCurve(needClip, clipPathId) {\n var _this$props5 = this.props,\n points = _this$props5.points,\n isAnimationActive = _this$props5.isAnimationActive;\n var _this$state2 = this.state,\n prevPoints = _this$state2.prevPoints,\n totalLength = _this$state2.totalLength;\n\n if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !_isEqual(prevPoints, points))) {\n return this.renderCurveWithAnimation(needClip, clipPathId);\n }\n\n return this.renderCurveStatically(points, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n hide = _this$props6.hide,\n dot = _this$props6.dot,\n points = _this$props6.points,\n className = _this$props6.className,\n xAxis = _this$props6.xAxis,\n yAxis = _this$props6.yAxis,\n top = _this$props6.top,\n left = _this$props6.left,\n width = _this$props6.width,\n height = _this$props6.height,\n isAnimationActive = _this$props6.isAnimationActive,\n id = _this$props6.id;\n\n if (hide || !points || !points.length) {\n return null;\n }\n\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = classNames('recharts-line', className);\n var needClip = xAxis && xAxis.allowDataOverflow || yAxis && yAxis.allowDataOverflow;\n var clipPathId = _isNil(id) ? this.id : id;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClip ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left,\n y: top,\n width: width,\n height: height\n }))) : null, !hasSinglePoint && this.renderCurve(needClip, clipPathId), this.renderErrorBar(), (hasSinglePoint || dot) && this.renderDots(needClip, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, points));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curPoints: nextProps.points,\n prevPoints: prevState.curPoints\n };\n }\n\n if (nextProps.points !== prevState.curPoints) {\n return {\n curPoints: nextProps.points\n };\n }\n\n return null;\n }\n }, {\n key: \"repeat\",\n value: function repeat(lines, count) {\n var linesUnit = lines.length % 2 !== 0 ? [].concat(_toConsumableArray(lines), [0]) : lines;\n var result = [];\n\n for (var i = 0; i < count; ++i) {\n result = [].concat(_toConsumableArray(result), _toConsumableArray(linesUnit));\n }\n\n return result;\n }\n }, {\n key: \"renderDotItem\",\n value: function renderDotItem(option, props) {\n var dotItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dotItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n dotItem = option(props);\n } else {\n var className = classNames('recharts-line-dot', option ? option.className : '');\n dotItem = /*#__PURE__*/React.createElement(Dot, _extends({}, props, {\n className: className\n }));\n }\n\n return dotItem;\n }\n }]);\n\n return Line;\n}(PureComponent);\nLine.displayName = 'Line';\nLine.defaultProps = {\n xAxisId: 0,\n yAxisId: 0,\n connectNulls: false,\n activeDot: true,\n dot: true,\n legendType: 'line',\n stroke: '#3182bd',\n strokeWidth: 1,\n fill: '#fff',\n points: [],\n isAnimationActive: !Global.isSsr,\n animateNewValues: true,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease',\n hide: false\n};\n\nLine.getComposedData = function (_ref2) {\n var props = _ref2.props,\n xAxis = _ref2.xAxis,\n yAxis = _ref2.yAxis,\n xAxisTicks = _ref2.xAxisTicks,\n yAxisTicks = _ref2.yAxisTicks,\n dataKey = _ref2.dataKey,\n bandSize = _ref2.bandSize,\n displayedData = _ref2.displayedData,\n offset = _ref2.offset;\n var layout = props.layout;\n var points = displayedData.map(function (entry, index) {\n var value = getValueByDataKey(entry, dataKey);\n\n if (layout === 'horizontal') {\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n y: _isNil(value) ? null : yAxis.scale(value),\n value: value,\n payload: entry\n };\n }\n\n return {\n x: _isNil(value) ? null : xAxis.scale(value),\n y: getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n value: value,\n payload: entry\n };\n });\n return _objectSpread({\n points: points,\n layout: layout\n }, offset);\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\nimport _range from \"lodash/range\";\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 Brush\n */\nimport React, { PureComponent, Children } from 'react';\nimport classNames from 'classnames';\nimport { scalePoint } from 'd3-scale';\nimport { Layer } from '../container/Layer';\nimport { Text } from '../component/Text';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport { isNumber } from '../util/DataUtils';\nimport { generatePrefixStyle } from '../util/CssPrefixUtils';\nimport { filterProps } from '../util/types';\n\nvar createScale = function createScale(_ref) {\n var data = _ref.data,\n startIndex = _ref.startIndex,\n endIndex = _ref.endIndex,\n x = _ref.x,\n width = _ref.width,\n travellerWidth = _ref.travellerWidth;\n\n if (!data || !data.length) {\n return {};\n }\n\n var len = data.length;\n var scale = scalePoint().domain(_range(0, len)).range([x, x + width - travellerWidth]);\n var scaleValues = scale.domain().map(function (entry) {\n return scale(entry);\n });\n return {\n isTextActive: false,\n isSlideMoving: false,\n isTravellerMoving: false,\n startX: scale(startIndex),\n endX: scale(endIndex),\n scale: scale,\n scaleValues: scaleValues\n };\n};\n\nvar isTouch = function isTouch(e) {\n return e.changedTouches && !!e.changedTouches.length;\n};\n\nexport var Brush = /*#__PURE__*/function (_PureComponent) {\n _inherits(Brush, _PureComponent);\n\n var _super = _createSuper(Brush);\n\n function Brush(props) {\n var _this;\n\n _classCallCheck(this, Brush);\n\n _this = _super.call(this, props);\n _this.leaveTimer = void 0;\n _this.travellerDragStartHandlers = void 0;\n\n _this.handleDrag = function (e) {\n if (_this.leaveTimer) {\n clearTimeout(_this.leaveTimer);\n _this.leaveTimer = null;\n }\n\n if (_this.state.isTravellerMoving) {\n _this.handleTravellerMove(e);\n } else if (_this.state.isSlideMoving) {\n _this.handleSlideDrag(e);\n }\n };\n\n _this.handleTouchMove = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleDrag(e.changedTouches[0]);\n }\n };\n\n _this.handleDragEnd = function () {\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: false\n });\n\n _this.detachDragEndListener();\n };\n\n _this.handleLeaveWrapper = function () {\n if (_this.state.isTravellerMoving || _this.state.isSlideMoving) {\n _this.leaveTimer = window.setTimeout(_this.handleDragEnd, _this.props.leaveTimeOut);\n }\n };\n\n _this.handleEnterSlideOrTraveller = function () {\n _this.setState({\n isTextActive: true\n });\n };\n\n _this.handleLeaveSlideOrTraveller = function () {\n _this.setState({\n isTextActive: false\n });\n };\n\n _this.handleSlideDragStart = function (e) {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: true,\n slideMoveStartX: event.pageX\n });\n\n _this.attachDragEndListener();\n };\n\n _this.travellerDragStartHandlers = {\n startX: _this.handleTravellerDragStart.bind(_assertThisInitialized(_this), 'startX'),\n endX: _this.handleTravellerDragStart.bind(_assertThisInitialized(_this), 'endX')\n };\n _this.state = {};\n return _this;\n }\n\n _createClass(Brush, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.leaveTimer) {\n clearTimeout(this.leaveTimer);\n this.leaveTimer = null;\n }\n\n this.detachDragEndListener();\n }\n }, {\n key: \"getIndex\",\n value: function getIndex(_ref2) {\n var startX = _ref2.startX,\n endX = _ref2.endX;\n var scaleValues = this.state.scaleValues;\n var _this$props = this.props,\n gap = _this$props.gap,\n data = _this$props.data;\n var lastIndex = data.length - 1;\n var min = Math.min(startX, endX);\n var max = Math.max(startX, endX);\n var minIndex = Brush.getIndexInRange(scaleValues, min);\n var maxIndex = Brush.getIndexInRange(scaleValues, max);\n return {\n startIndex: minIndex - minIndex % gap,\n endIndex: maxIndex === lastIndex ? lastIndex : maxIndex - maxIndex % gap\n };\n }\n }, {\n key: \"getTextOfTick\",\n value: function getTextOfTick(index) {\n var _this$props2 = this.props,\n data = _this$props2.data,\n tickFormatter = _this$props2.tickFormatter,\n dataKey = _this$props2.dataKey;\n var text = getValueByDataKey(data[index], dataKey, index);\n return _isFunction(tickFormatter) ? tickFormatter(text, index) : text;\n }\n }, {\n key: \"attachDragEndListener\",\n value: function attachDragEndListener() {\n window.addEventListener('mouseup', this.handleDragEnd, true);\n window.addEventListener('touchend', this.handleDragEnd, true);\n }\n }, {\n key: \"detachDragEndListener\",\n value: function detachDragEndListener() {\n window.removeEventListener('mouseup', this.handleDragEnd, true);\n window.removeEventListener('touchend', this.handleDragEnd, true);\n }\n }, {\n key: \"handleSlideDrag\",\n value: function handleSlideDrag(e) {\n var _this$state = this.state,\n slideMoveStartX = _this$state.slideMoveStartX,\n startX = _this$state.startX,\n endX = _this$state.endX;\n var _this$props3 = this.props,\n x = _this$props3.x,\n width = _this$props3.width,\n travellerWidth = _this$props3.travellerWidth,\n startIndex = _this$props3.startIndex,\n endIndex = _this$props3.endIndex,\n onChange = _this$props3.onChange;\n var delta = e.pageX - slideMoveStartX;\n\n if (delta > 0) {\n delta = Math.min(delta, x + width - travellerWidth - endX, x + width - travellerWidth - startX);\n } else if (delta < 0) {\n delta = Math.max(delta, x - startX, x - endX);\n }\n\n var newIndex = this.getIndex({\n startX: startX + delta,\n endX: endX + delta\n });\n\n if ((newIndex.startIndex !== startIndex || newIndex.endIndex !== endIndex) && onChange) {\n onChange(newIndex);\n }\n\n this.setState({\n startX: startX + delta,\n endX: endX + delta,\n slideMoveStartX: e.pageX\n });\n }\n }, {\n key: \"handleTravellerDragStart\",\n value: function handleTravellerDragStart(id, e) {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n this.setState({\n isSlideMoving: false,\n isTravellerMoving: true,\n movingTravellerId: id,\n brushMoveStartX: event.pageX\n });\n this.attachDragEndListener();\n }\n }, {\n key: \"handleTravellerMove\",\n value: function handleTravellerMove(e) {\n var _this$setState;\n\n var _this$state2 = this.state,\n brushMoveStartX = _this$state2.brushMoveStartX,\n movingTravellerId = _this$state2.movingTravellerId,\n endX = _this$state2.endX,\n startX = _this$state2.startX;\n var prevValue = this.state[movingTravellerId];\n var _this$props4 = this.props,\n x = _this$props4.x,\n width = _this$props4.width,\n travellerWidth = _this$props4.travellerWidth,\n onChange = _this$props4.onChange,\n gap = _this$props4.gap,\n data = _this$props4.data;\n var params = {\n startX: this.state.startX,\n endX: this.state.endX\n };\n var delta = e.pageX - brushMoveStartX;\n\n if (delta > 0) {\n delta = Math.min(delta, x + width - travellerWidth - prevValue);\n } else if (delta < 0) {\n delta = Math.max(delta, x - prevValue);\n }\n\n params[movingTravellerId] = prevValue + delta;\n var newIndex = this.getIndex(params);\n var startIndex = newIndex.startIndex,\n endIndex = newIndex.endIndex;\n\n var isFullGap = function isFullGap() {\n var lastIndex = data.length - 1;\n\n if (movingTravellerId === 'startX' && (endX > startX ? startIndex % gap === 0 : endIndex % gap === 0) || endX < startX && endIndex === lastIndex || movingTravellerId === 'endX' && (endX > startX ? endIndex % gap === 0 : startIndex % gap === 0) || endX > startX && endIndex === lastIndex) {\n return true;\n }\n\n return false;\n };\n\n this.setState((_this$setState = {}, _defineProperty(_this$setState, movingTravellerId, prevValue + delta), _defineProperty(_this$setState, \"brushMoveStartX\", e.pageX), _this$setState), function () {\n if (onChange) {\n if (isFullGap()) {\n onChange(newIndex);\n }\n }\n });\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var _this$props5 = this.props,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height,\n fill = _this$props5.fill,\n stroke = _this$props5.stroke;\n return /*#__PURE__*/React.createElement(\"rect\", {\n stroke: stroke,\n fill: fill,\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n }, {\n key: \"renderPanorama\",\n value: function renderPanorama() {\n var _this$props6 = this.props,\n x = _this$props6.x,\n y = _this$props6.y,\n width = _this$props6.width,\n height = _this$props6.height,\n data = _this$props6.data,\n children = _this$props6.children,\n padding = _this$props6.padding;\n var chartElement = Children.only(children);\n\n if (!chartElement) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(chartElement, {\n x: x,\n y: y,\n width: width,\n height: height,\n margin: padding,\n compact: true,\n data: data\n });\n }\n }, {\n key: \"renderTravellerLayer\",\n value: function renderTravellerLayer(travellerX, id) {\n var _this$props7 = this.props,\n y = _this$props7.y,\n travellerWidth = _this$props7.travellerWidth,\n height = _this$props7.height,\n traveller = _this$props7.traveller;\n var x = Math.max(travellerX, this.props.x);\n\n var travellerProps = _objectSpread(_objectSpread({}, filterProps(this.props)), {}, {\n x: x,\n y: y,\n width: travellerWidth,\n height: height\n });\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-brush-traveller\",\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.travellerDragStartHandlers[id],\n onTouchStart: this.travellerDragStartHandlers[id],\n style: {\n cursor: 'col-resize'\n }\n }, Brush.renderTraveller(traveller, travellerProps));\n }\n }, {\n key: \"renderSlide\",\n value: function renderSlide(startX, endX) {\n var _this$props8 = this.props,\n y = _this$props8.y,\n height = _this$props8.height,\n stroke = _this$props8.stroke,\n travellerWidth = _this$props8.travellerWidth;\n var x = Math.min(startX, endX) + travellerWidth;\n var width = Math.max(Math.abs(endX - startX) - travellerWidth, 0);\n return /*#__PURE__*/React.createElement(\"rect\", {\n className: \"recharts-brush-slide\",\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.handleSlideDragStart,\n onTouchStart: this.handleSlideDragStart,\n style: {\n cursor: 'move'\n },\n stroke: \"none\",\n fill: stroke,\n fillOpacity: 0.2,\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n }, {\n key: \"renderText\",\n value: function renderText() {\n var _this$props9 = this.props,\n startIndex = _this$props9.startIndex,\n endIndex = _this$props9.endIndex,\n y = _this$props9.y,\n height = _this$props9.height,\n travellerWidth = _this$props9.travellerWidth,\n stroke = _this$props9.stroke;\n var _this$state3 = this.state,\n startX = _this$state3.startX,\n endX = _this$state3.endX;\n var offset = 5;\n var attrs = {\n pointerEvents: 'none',\n fill: stroke\n };\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-brush-texts\"\n }, /*#__PURE__*/React.createElement(Text, _extends({\n textAnchor: \"end\",\n verticalAnchor: \"middle\",\n x: Math.min(startX, endX) - offset,\n y: y + height / 2\n }, attrs), this.getTextOfTick(startIndex)), /*#__PURE__*/React.createElement(Text, _extends({\n textAnchor: \"start\",\n verticalAnchor: \"middle\",\n x: Math.max(startX, endX) + travellerWidth + offset,\n y: y + height / 2\n }, attrs), this.getTextOfTick(endIndex)));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props10 = this.props,\n data = _this$props10.data,\n className = _this$props10.className,\n children = _this$props10.children,\n x = _this$props10.x,\n y = _this$props10.y,\n width = _this$props10.width,\n height = _this$props10.height,\n alwaysShowText = _this$props10.alwaysShowText;\n var _this$state4 = this.state,\n startX = _this$state4.startX,\n endX = _this$state4.endX,\n isTextActive = _this$state4.isTextActive,\n isSlideMoving = _this$state4.isSlideMoving,\n isTravellerMoving = _this$state4.isTravellerMoving;\n\n if (!data || !data.length || !isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || width <= 0 || height <= 0) {\n return null;\n }\n\n var layerClass = classNames('recharts-brush', className);\n var isPanoramic = React.Children.count(children) === 1;\n var style = generatePrefixStyle('userSelect', 'none');\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass,\n onMouseMove: this.handleDrag,\n onMouseLeave: this.handleLeaveWrapper,\n onTouchMove: this.handleTouchMove,\n style: style\n }, this.renderBackground(), isPanoramic && this.renderPanorama(), this.renderSlide(startX, endX), this.renderTravellerLayer(startX, 'startX'), this.renderTravellerLayer(endX, 'endX'), (isTextActive || isSlideMoving || isTravellerMoving || alwaysShowText) && this.renderText());\n }\n }], [{\n key: \"renderDefaultTraveller\",\n value: function renderDefaultTraveller(props) {\n var x = props.x,\n y = props.y,\n width = props.width,\n height = props.height,\n stroke = props.stroke;\n var lineY = Math.floor(y + height / 2) - 1;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n fill: stroke,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: x + 1,\n y1: lineY,\n x2: x + width - 1,\n y2: lineY,\n fill: \"none\",\n stroke: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: x + 1,\n y1: lineY + 2,\n x2: x + width - 1,\n y2: lineY + 2,\n fill: \"none\",\n stroke: \"#fff\"\n }));\n }\n }, {\n key: \"renderTraveller\",\n value: function renderTraveller(option, props) {\n var rectangle;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n rectangle = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n rectangle = option(props);\n } else {\n rectangle = Brush.renderDefaultTraveller(props);\n }\n\n return rectangle;\n }\n }, {\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n var data = nextProps.data,\n width = nextProps.width,\n x = nextProps.x,\n travellerWidth = nextProps.travellerWidth,\n updateId = nextProps.updateId,\n startIndex = nextProps.startIndex,\n endIndex = nextProps.endIndex;\n\n if (data !== prevState.prevData || updateId !== prevState.prevUpdateId) {\n return _objectSpread({\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevUpdateId: updateId,\n prevX: x,\n prevWidth: width\n }, data && data.length ? createScale({\n data: data,\n width: width,\n x: x,\n travellerWidth: travellerWidth,\n startIndex: startIndex,\n endIndex: endIndex\n }) : {\n scale: null,\n scaleValues: null\n });\n }\n\n if (prevState.scale && (width !== prevState.prevWidth || x !== prevState.prevX || travellerWidth !== prevState.prevTravellerWidth)) {\n prevState.scale.range([x, x + width - travellerWidth]);\n var scaleValues = prevState.scale.domain().map(function (entry) {\n return prevState.scale(entry);\n });\n return {\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevUpdateId: updateId,\n prevX: x,\n prevWidth: width,\n startX: prevState.scale(nextProps.startIndex),\n endX: prevState.scale(nextProps.endIndex),\n scaleValues: scaleValues\n };\n }\n\n return null;\n }\n }, {\n key: \"getIndexInRange\",\n value: function getIndexInRange(range, x) {\n var len = range.length;\n var start = 0;\n var end = len - 1;\n\n while (end - start > 1) {\n var middle = Math.floor((start + end) / 2);\n\n if (range[middle] > x) {\n end = middle;\n } else {\n start = middle;\n }\n }\n\n return x >= range[end] ? end : start;\n }\n }]);\n\n return Brush;\n}(PureComponent);\nBrush.displayName = 'Brush';\nBrush.defaultProps = {\n height: 40,\n travellerWidth: 5,\n gap: 1,\n fill: '#fff',\n stroke: '#666',\n padding: {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n },\n leaveTimeOut: 1000,\n alwaysShowText: false\n};","/**\n * @fileOverview X Axis\n */\n\n/** Define of XAxis props */\nexport var XAxis = function XAxis() {\n return null;\n};\nXAxis.displayName = 'XAxis';\nXAxis.defaultProps = {\n allowDecimals: true,\n hide: false,\n orientation: 'bottom',\n width: 0,\n height: 30,\n mirror: false,\n xAxisId: 0,\n tickCount: 5,\n type: 'category',\n domain: [0, 'auto'],\n padding: {\n left: 0,\n right: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false,\n allowDuplicatedCategory: true\n};","/**\n * @fileOverview Y Axis\n */\nexport var YAxis = function YAxis() {\n return null;\n};\nYAxis.displayName = 'YAxis';\nYAxis.defaultProps = {\n allowDuplicatedCategory: true,\n allowDecimals: true,\n hide: false,\n orientation: 'left',\n width: 60,\n height: 0,\n mirror: false,\n yAxisId: 0,\n tickCount: 5,\n type: 'number',\n domain: [0, 'auto'],\n padding: {\n top: 0,\n bottom: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false\n};","function _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\nvar identity = function identity(i) {\n return i;\n};\n\nexport var PLACE_HOLDER = {\n '@@functional/placeholder': true\n};\n\nvar isPlaceHolder = function isPlaceHolder(val) {\n return val === PLACE_HOLDER;\n};\n\nvar curry0 = function curry0(fn) {\n return function _curried() {\n if (arguments.length === 0 || arguments.length === 1 && isPlaceHolder(arguments.length <= 0 ? undefined : arguments[0])) {\n return _curried;\n }\n\n return fn.apply(void 0, arguments);\n };\n};\n\nvar curryN = function curryN(n, fn) {\n if (n === 1) {\n return fn;\n }\n\n return curry0(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var argsLength = args.filter(function (arg) {\n return arg !== PLACE_HOLDER;\n }).length;\n\n if (argsLength >= n) {\n return fn.apply(void 0, args);\n }\n\n return curryN(n - argsLength, curry0(function () {\n for (var _len2 = arguments.length, restArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n restArgs[_key2] = arguments[_key2];\n }\n\n var newArgs = args.map(function (arg) {\n return isPlaceHolder(arg) ? restArgs.shift() : arg;\n });\n return fn.apply(void 0, _toConsumableArray(newArgs).concat(restArgs));\n }));\n });\n};\n\nexport var curry = function curry(fn) {\n return curryN(fn.length, fn);\n};\nexport var range = function range(begin, end) {\n var arr = [];\n\n for (var i = begin; i < end; ++i) {\n arr[i - begin] = i;\n }\n\n return arr;\n};\nexport var map = curry(function (fn, arr) {\n if (Array.isArray(arr)) {\n return arr.map(fn);\n }\n\n return Object.keys(arr).map(function (key) {\n return arr[key];\n }).map(fn);\n});\nexport var compose = function compose() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (!args.length) {\n return identity;\n }\n\n var fns = args.reverse(); // first function can receive multiply arguments\n\n var firstFn = fns[0];\n var tailsFn = fns.slice(1);\n return function () {\n return tailsFn.reduce(function (res, fn) {\n return fn(res);\n }, firstFn.apply(void 0, arguments));\n };\n};\nexport var reverse = function reverse(arr) {\n if (Array.isArray(arr)) {\n return arr.reverse();\n } // can be string\n\n\n return arr.split('').reverse.join('');\n};\nexport var memoize = function memoize(fn) {\n var lastArgs = null;\n var lastResult = null;\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n if (lastArgs && args.every(function (val, i) {\n return val === lastArgs[i];\n })) {\n return lastResult;\n }\n\n lastArgs = args;\n lastResult = fn.apply(void 0, args);\n return lastResult;\n };\n};","/**\n * @fileOverview 一些公用的运算方法\n * @author xile611\n * @date 2015-09-17\n */\nimport Decimal from 'decimal.js-light';\nimport { curry } from './utils';\n/**\n * 获取数值的位数\n * 其中绝对值属于区间[0.1, 1), 得到的值为0\n * 绝对值属于区间[0.01, 0.1),得到的位数为 -1\n * 绝对值属于区间[0.001, 0.01),得到的位数为 -2\n *\n * @param {Number} value 数值\n * @return {Integer} 位数\n */\n\nfunction getDigitCount(value) {\n var result;\n\n if (value === 0) {\n result = 1;\n } else {\n result = Math.floor(new Decimal(value).abs().log(10).toNumber()) + 1;\n }\n\n return result;\n}\n/**\n * 按照固定的步长获取[start, end)这个区间的数据\n * 并且需要处理js计算精度的问题\n *\n * @param {Decimal} start 起点\n * @param {Decimal} end 终点,不包含该值\n * @param {Decimal} step 步长\n * @return {Array} 若干数值\n */\n\n\nfunction rangeStep(start, end, step) {\n var num = new Decimal(start);\n var i = 0;\n var result = []; // magic number to prevent infinite loop\n\n while (num.lt(end) && i < 100000) {\n result.push(num.toNumber());\n num = num.add(step);\n i++;\n }\n\n return result;\n}\n/**\n * 对数值进行线性插值\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} t [0, 1]内的某个值\n * @return {Number} 定义域内的某个值\n */\n\n\nvar interpolateNumber = curry(function (a, b, t) {\n var newA = +a;\n var newB = +b;\n return newA + t * (newB - newA);\n});\n/**\n * 线性插值的逆运算\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} x 可以认为是插值后的一个输出值\n * @return {Number} 当x在 a ~ b这个范围内时,返回值属于[0, 1]\n */\n\nvar uninterpolateNumber = curry(function (a, b, x) {\n var diff = b - +a;\n diff = diff || Infinity;\n return (x - a) / diff;\n});\n/**\n * 线性插值的逆运算,并且有截断的操作\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} x 可以认为是插值后的一个输出值\n * @return {Number} 当x在 a ~ b这个区间内时,返回值属于[0, 1],\n * 当x不在 a ~ b这个区间时,会截断到 a ~ b 这个区间\n */\n\nvar uninterpolateTruncation = curry(function (a, b, x) {\n var diff = b - +a;\n diff = diff || Infinity;\n return Math.max(0, Math.min(1, (x - a) / diff));\n});\nexport default {\n rangeStep: rangeStep,\n getDigitCount: getDigitCount,\n interpolateNumber: interpolateNumber,\n uninterpolateNumber: uninterpolateNumber,\n uninterpolateTruncation: uninterpolateTruncation\n};","function _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 _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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/**\n * @fileOverview calculate tick values of scale\n * @author xile611, arcthur\n * @date 2015-09-17\n */\nimport Decimal from 'decimal.js-light';\nimport { compose, range, memoize, map, reverse } from './util/utils';\nimport Arithmetic from './util/arithmetic';\n/**\n * Calculate a interval of a minimum value and a maximum value\n *\n * @param {Number} min The minimum value\n * @param {Number} max The maximum value\n * @return {Array} An interval\n */\n\nfunction getValidInterval(_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n min = _ref2[0],\n max = _ref2[1];\n\n var validMin = min,\n validMax = max; // exchange\n\n if (min > max) {\n validMin = max;\n validMax = min;\n }\n\n return [validMin, validMax];\n}\n/**\n * Calculate the step which is easy to understand between ticks, like 10, 20, 25\n *\n * @param {Decimal} roughStep The rough step calculated by deviding the\n * difference by the tickCount\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @param {Integer} correctionFactor A correction factor\n * @return {Decimal} The step which is easy to understand between two ticks\n */\n\n\nfunction getFormatStep(roughStep, allowDecimals, correctionFactor) {\n if (roughStep.lte(0)) {\n return new Decimal(0);\n }\n\n var digitCount = Arithmetic.getDigitCount(roughStep.toNumber()); // The ratio between the rough step and the smallest number which has a bigger\n // order of magnitudes than the rough step\n\n var digitCountValue = new Decimal(10).pow(digitCount);\n var stepRatio = roughStep.div(digitCountValue); // When an integer and a float multiplied, the accuracy of result may be wrong\n\n var stepRatioScale = digitCount !== 1 ? 0.05 : 0.1;\n var amendStepRatio = new Decimal(Math.ceil(stepRatio.div(stepRatioScale).toNumber())).add(correctionFactor).mul(stepRatioScale);\n var formatStep = amendStepRatio.mul(digitCountValue);\n return allowDecimals ? formatStep : new Decimal(Math.ceil(formatStep));\n}\n/**\n * calculate the ticks when the minimum value equals to the maximum value\n *\n * @param {Number} value The minimum valuue which is also the maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickOfSingleValue(value, tickCount, allowDecimals) {\n var step = 1; // calculate the middle value of ticks\n\n var middle = new Decimal(value);\n\n if (!middle.isint() && allowDecimals) {\n var absVal = Math.abs(value);\n\n if (absVal < 1) {\n // The step should be a float number when the difference is smaller than 1\n step = new Decimal(10).pow(Arithmetic.getDigitCount(value) - 1);\n middle = new Decimal(Math.floor(middle.div(step).toNumber())).mul(step);\n } else if (absVal > 1) {\n // Return the maximum integer which is smaller than 'value' when 'value' is greater than 1\n middle = new Decimal(Math.floor(value));\n }\n } else if (value === 0) {\n middle = new Decimal(Math.floor((tickCount - 1) / 2));\n } else if (!allowDecimals) {\n middle = new Decimal(Math.floor(value));\n }\n\n var middleIndex = Math.floor((tickCount - 1) / 2);\n var fn = compose(map(function (n) {\n return middle.add(new Decimal(n - middleIndex).mul(step)).toNumber();\n }), range);\n return fn(0, tickCount);\n}\n/**\n * Calculate the step\n *\n * @param {Number} min The minimum value of an interval\n * @param {Number} max The maximum value of an interval\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @param {Number} correctionFactor A correction factor\n * @return {Object} The step, minimum value of ticks, maximum value of ticks\n */\n\n\nfunction calculateStep(min, max, tickCount, allowDecimals) {\n var correctionFactor = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n\n // dirty hack (for recharts' test)\n if (!Number.isFinite((max - min) / (tickCount - 1))) {\n return {\n step: new Decimal(0),\n tickMin: new Decimal(0),\n tickMax: new Decimal(0)\n };\n } // The step which is easy to understand between two ticks\n\n\n var step = getFormatStep(new Decimal(max).sub(min).div(tickCount - 1), allowDecimals, correctionFactor); // A medial value of ticks\n\n var middle; // When 0 is inside the interval, 0 should be a tick\n\n if (min <= 0 && max >= 0) {\n middle = new Decimal(0);\n } else {\n // calculate the middle value\n middle = new Decimal(min).add(max).div(2); // minus modulo value\n\n middle = middle.sub(new Decimal(middle).mod(step));\n }\n\n var belowCount = Math.ceil(middle.sub(min).div(step).toNumber());\n var upCount = Math.ceil(new Decimal(max).sub(middle).div(step).toNumber());\n var scaleCount = belowCount + upCount + 1;\n\n if (scaleCount > tickCount) {\n // When more ticks need to cover the interval, step should be bigger.\n return calculateStep(min, max, tickCount, allowDecimals, correctionFactor + 1);\n }\n\n if (scaleCount < tickCount) {\n // When less ticks can cover the interval, we should add some additional ticks\n upCount = max > 0 ? upCount + (tickCount - scaleCount) : upCount;\n belowCount = max > 0 ? belowCount : belowCount + (tickCount - scaleCount);\n }\n\n return {\n step: step,\n tickMin: middle.sub(new Decimal(belowCount).mul(step)),\n tickMax: middle.add(new Decimal(upCount).mul(step))\n };\n}\n/**\n * Calculate the ticks of an interval, the count of ticks will be guraranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getNiceTickValuesFn(_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n min = _ref4[0],\n max = _ref4[1];\n\n var tickCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // More than two ticks should be return\n var count = Math.max(tickCount, 2);\n\n var _getValidInterval = getValidInterval([min, max]),\n _getValidInterval2 = _slicedToArray(_getValidInterval, 2),\n cormin = _getValidInterval2[0],\n cormax = _getValidInterval2[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n var _values = cormax === Infinity ? [cormin].concat(_toConsumableArray(range(0, tickCount - 1).map(function () {\n return Infinity;\n }))) : [].concat(_toConsumableArray(range(0, tickCount - 1).map(function () {\n return -Infinity;\n })), [cormax]);\n\n return min > max ? reverse(_values) : _values;\n }\n\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n } // Get the step between two ticks\n\n\n var _calculateStep = calculateStep(cormin, cormax, count, allowDecimals),\n step = _calculateStep.step,\n tickMin = _calculateStep.tickMin,\n tickMax = _calculateStep.tickMax;\n\n var values = Arithmetic.rangeStep(tickMin, tickMax.add(new Decimal(0.1).mul(step)), step);\n return min > max ? reverse(values) : values;\n}\n/**\n * Calculate the ticks of an interval, the count of ticks won't be guraranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickValuesFn(_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n min = _ref6[0],\n max = _ref6[1];\n\n var tickCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // More than two ticks should be return\n var count = Math.max(tickCount, 2);\n\n var _getValidInterval3 = getValidInterval([min, max]),\n _getValidInterval4 = _slicedToArray(_getValidInterval3, 2),\n cormin = _getValidInterval4[0],\n cormax = _getValidInterval4[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n return [min, max];\n }\n\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n }\n\n var step = getFormatStep(new Decimal(cormax).sub(cormin).div(count - 1), allowDecimals, 0);\n var fn = compose(map(function (n) {\n return new Decimal(cormin).add(new Decimal(n).mul(step)).toNumber();\n }), range);\n var values = fn(0, count).filter(function (entry) {\n return entry >= cormin && entry <= cormax;\n });\n return min > max ? reverse(values) : values;\n}\n/**\n * Calculate the ticks of an interval, the count of ticks won't be guraranteed,\n * but the domain will be guaranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickValuesFixedDomainFn(_ref7, tickCount) {\n var _ref8 = _slicedToArray(_ref7, 2),\n min = _ref8[0],\n max = _ref8[1];\n\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n // More than two ticks should be return\n var _getValidInterval5 = getValidInterval([min, max]),\n _getValidInterval6 = _slicedToArray(_getValidInterval5, 2),\n cormin = _getValidInterval6[0],\n cormax = _getValidInterval6[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n return [min, max];\n }\n\n if (cormin === cormax) {\n return [cormin];\n }\n\n var count = Math.max(tickCount, 2);\n var step = getFormatStep(new Decimal(cormax).sub(cormin).div(count - 1), allowDecimals, 0);\n var values = [].concat(_toConsumableArray(Arithmetic.rangeStep(new Decimal(cormin), new Decimal(cormax).sub(new Decimal(0.99).mul(step)), step)), [cormax]);\n return min > max ? reverse(values) : values;\n}\n\nexport var getNiceTickValues = memoize(getNiceTickValuesFn);\nexport var getTickValues = memoize(getTickValuesFn);\nexport var getTickValuesFixedDomain = memoize(getTickValuesFixedDomainFn);","import _some from \"lodash/some\";\nimport _isFunction from \"lodash/isFunction\";\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\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\n/**\n * @fileOverview Reference Line\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { Layer } from '../container/Layer';\nimport { Label } from '../component/Label';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { createLabeledScales, rectWithCoords } from '../util/CartesianUtils';\nimport { warn } from '../util/LogUtils';\nimport { filterProps } from '../util/types';\n\nvar renderLine = function renderLine(option, props) {\n var line;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n line = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n line = option(props);\n } else {\n line = /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n className: \"recharts-reference-line-line\"\n }));\n }\n\n return line;\n}; // TODO: ScaleHelper\n\n\nvar getEndPoints = function getEndPoints(scales, isFixedX, isFixedY, isSegment, props) {\n var _props$viewBox = props.viewBox,\n x = _props$viewBox.x,\n y = _props$viewBox.y,\n width = _props$viewBox.width,\n height = _props$viewBox.height,\n position = props.position;\n\n if (isFixedY) {\n var yCoord = props.y,\n orientation = props.yAxis.orientation;\n var coord = scales.y.apply(yCoord, {\n position: position\n });\n\n if (ifOverflowMatches(props, 'discard') && !scales.y.isInRange(coord)) {\n return null;\n }\n\n var points = [{\n x: x + width,\n y: coord\n }, {\n x: x,\n y: coord\n }];\n return orientation === 'left' ? points.reverse() : points;\n }\n\n if (isFixedX) {\n var xCoord = props.x,\n _orientation = props.xAxis.orientation;\n\n var _coord = scales.x.apply(xCoord, {\n position: position\n });\n\n if (ifOverflowMatches(props, 'discard') && !scales.x.isInRange(_coord)) {\n return null;\n }\n\n var _points = [{\n x: _coord,\n y: y + height\n }, {\n x: _coord,\n y: y\n }];\n return _orientation === 'top' ? _points.reverse() : _points;\n }\n\n if (isSegment) {\n var segment = props.segment;\n\n var _points2 = segment.map(function (p) {\n return scales.apply(p, {\n position: position\n });\n });\n\n if (ifOverflowMatches(props, 'discard') && _some(_points2, function (p) {\n return !scales.isInRange(p);\n })) {\n return null;\n }\n\n return _points2;\n }\n\n return null;\n};\n\nexport function ReferenceLine(props) {\n var fixedX = props.x,\n fixedY = props.y,\n segment = props.segment,\n xAxis = props.xAxis,\n yAxis = props.yAxis,\n shape = props.shape,\n className = props.className,\n alwaysShow = props.alwaysShow,\n clipPathId = props.clipPathId;\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var isX = isNumOrStr(fixedX);\n var isY = isNumOrStr(fixedY);\n var isSegment = segment && segment.length === 2;\n var endPoints = getEndPoints(scales, isX, isY, isSegment, props);\n\n if (!endPoints) {\n return null;\n }\n\n var _endPoints = _slicedToArray(endPoints, 2),\n _endPoints$ = _endPoints[0],\n x1 = _endPoints$.x,\n y1 = _endPoints$.y,\n _endPoints$2 = _endPoints[1],\n x2 = _endPoints$2.x,\n y2 = _endPoints$2.y;\n\n var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n\n var lineProps = _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(props, true)), {}, {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n });\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-line', className)\n }, renderLine(shape, lineProps), Label.renderCallByParent(props, rectWithCoords({\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n })));\n}\nReferenceLine.displayName = 'ReferenceLine';\nReferenceLine.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n fill: 'none',\n stroke: '#ccc',\n fillOpacity: 1,\n strokeWidth: 1,\n position: 'middle'\n};","import _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\n/**\n * @fileOverview Reference Dot\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { Layer } from '../container/Layer';\nimport { Dot } from '../shape/Dot';\nimport { Label } from '../component/Label';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { createLabeledScales } from '../util/CartesianUtils';\nimport { warn } from '../util/LogUtils';\nimport { filterProps } from '../util/types';\n\nvar getCoordinate = function getCoordinate(props) {\n var x = props.x,\n y = props.y,\n xAxis = props.xAxis,\n yAxis = props.yAxis;\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var result = scales.apply({\n x: x,\n y: y\n }, {\n bandAware: true\n });\n\n if (ifOverflowMatches(props, 'discard') && !scales.isInRange(result)) {\n return null;\n }\n\n return result;\n};\n\nexport function ReferenceDot(props) {\n var x = props.x,\n y = props.y,\n r = props.r,\n alwaysShow = props.alwaysShow,\n clipPathId = props.clipPathId;\n var isX = isNumOrStr(x);\n var isY = isNumOrStr(y);\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n\n if (!isX || !isY) {\n return null;\n }\n\n var coordinate = getCoordinate(props);\n\n if (!coordinate) {\n return null;\n }\n\n var cx = coordinate.x,\n cy = coordinate.y;\n var shape = props.shape,\n className = props.className;\n var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n\n var dotProps = _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(props, true)), {}, {\n cx: cx,\n cy: cy\n });\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-dot', className)\n }, ReferenceDot.renderDot(shape, dotProps), Label.renderCallByParent(props, {\n x: cx - r,\n y: cy - r,\n width: 2 * r,\n height: 2 * r\n }));\n}\nReferenceDot.displayName = 'ReferenceDot';\nReferenceDot.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n r: 10,\n fill: '#fff',\n stroke: '#ccc',\n fillOpacity: 1,\n strokeWidth: 1\n};\n\nReferenceDot.renderDot = function (option, props) {\n var dot;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dot = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n dot = option(props);\n } else {\n dot = /*#__PURE__*/React.createElement(Dot, _extends({}, props, {\n cx: props.cx,\n cy: props.cy,\n className: \"recharts-reference-dot-dot\"\n }));\n }\n\n return dot;\n};","import _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\n/**\n * @fileOverview Reference Line\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { Layer } from '../container/Layer';\nimport { Label } from '../component/Label';\nimport { createLabeledScales, rectWithPoints } from '../util/CartesianUtils';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nimport { Rectangle } from '../shape/Rectangle';\nimport { filterProps } from '../util/types';\n\nvar getRect = function getRect(hasX1, hasX2, hasY1, hasY2, props) {\n var xValue1 = props.x1,\n xValue2 = props.x2,\n yValue1 = props.y1,\n yValue2 = props.y2,\n xAxis = props.xAxis,\n yAxis = props.yAxis;\n if (!xAxis || !yAxis) return null;\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var p1 = {\n x: hasX1 ? scales.x.apply(xValue1, {\n position: 'start'\n }) : scales.x.rangeMin,\n y: hasY1 ? scales.y.apply(yValue1, {\n position: 'start'\n }) : scales.y.rangeMin\n };\n var p2 = {\n x: hasX2 ? scales.x.apply(xValue2, {\n position: 'end'\n }) : scales.x.rangeMax,\n y: hasY2 ? scales.y.apply(yValue2, {\n position: 'end'\n }) : scales.y.rangeMax\n };\n\n if (ifOverflowMatches(props, 'discard') && (!scales.isInRange(p1) || !scales.isInRange(p2))) {\n return null;\n }\n\n return rectWithPoints(p1, p2);\n};\n\nexport function ReferenceArea(props) {\n var x1 = props.x1,\n x2 = props.x2,\n y1 = props.y1,\n y2 = props.y2,\n className = props.className,\n alwaysShow = props.alwaysShow,\n clipPathId = props.clipPathId;\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n var hasX1 = isNumOrStr(x1);\n var hasX2 = isNumOrStr(x2);\n var hasY1 = isNumOrStr(y1);\n var hasY2 = isNumOrStr(y2);\n var shape = props.shape;\n\n if (!hasX1 && !hasX2 && !hasY1 && !hasY2 && !shape) {\n return null;\n }\n\n var rect = getRect(hasX1, hasX2, hasY1, hasY2, props);\n\n if (!rect && !shape) {\n return null;\n }\n\n var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-area', className)\n }, ReferenceArea.renderRect(shape, _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(props, true)), rect)), Label.renderCallByParent(props, rect));\n}\nReferenceArea.displayName = 'ReferenceArea';\nReferenceArea.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n r: 10,\n fill: '#ccc',\n fillOpacity: 0.5,\n stroke: 'none',\n strokeWidth: 1\n};\n\nReferenceArea.renderRect = function (option, props) {\n var rect;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n rect = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n rect = option(props);\n } else {\n rect = /*#__PURE__*/React.createElement(Rectangle, _extends({}, props, {\n className: \"recharts-reference-area-rect\"\n }));\n }\n\n return rect;\n};"],"sourceRoot":""}