{"version":3,"sources":["../node_modules/recharts/es6/util/DataUtils.js","../node_modules/recharts/es6/util/ReactUtils.js","../node_modules/recharts/es6/util/ChartUtils.js","../node_modules/recharts/node_modules/clsx/dist/clsx.mjs","../node_modules/recharts/es6/container/Layer.js","../node_modules/recharts/es6/util/PolarUtils.js","../node_modules/victory-vendor/d3-shape.js","../node_modules/recharts/es6/util/types.js","../node_modules/recharts/es6/util/calculateViewBox.js","../node_modules/recharts/es6/context/chartLayoutContext.js","../node_modules/recharts/es6/util/LogUtils.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/math.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/init.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/interval.js","../node_modules/recharts/es6/component/Label.js","../node_modules/recharts/es6/util/Global.js","../node_modules/recharts/es6/util/CartesianUtils.js","../node_modules/recharts/es6/util/ReduceCSSCalc.js","../node_modules/recharts/es6/component/Text.js","../node_modules/victory-vendor/d3-scale.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/index.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/ascending.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/duration.js","../node_modules/recharts/es6/shape/Trapezoid.js","../node_modules/recharts/es6/util/ActiveShapeUtils.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/continuous.js","../node_modules/recharts/es6/util/ShallowEqual.js","../node_modules/recharts/es6/util/DOMUtils.js","../node_modules/recharts/es6/shape/Curve.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/linear.js","../node_modules/recharts/es6/shape/Rectangle.js","../node_modules/recharts/es6/shape/Dot.js","../node_modules/recharts/es6/component/DefaultTooltipContent.js","../node_modules/recharts/es6/util/tooltip/translate.js","../node_modules/recharts/es6/component/TooltipBoundingBox.js","../node_modules/recharts/es6/component/Tooltip.js","../node_modules/victory-vendor/lib-vendor/internmap/src/index.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/constant.js","../node_modules/recharts/es6/cartesian/CartesianAxis.js","../node_modules/victory-vendor/lib-vendor/d3-color/src/index.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/color.js","../node_modules/recharts/es6/component/LabelList.js","../node_modules/recharts/es6/util/CssPrefixUtils.js","../node_modules/recharts/es6/cartesian/Brush.js","../node_modules/recharts/es6/util/IfOverflowMatches.js","../node_modules/recharts/es6/cartesian/ReferenceDot.js","../node_modules/recharts/es6/cartesian/ReferenceLine.js","../node_modules/recharts/es6/cartesian/ReferenceArea.js","../node_modules/recharts/es6/util/DetectReferenceElementsDomain.js","../node_modules/recharts/es6/util/Events.js","../node_modules/recharts/es6/chart/AccessibilityManager.js","../node_modules/recharts/es6/shape/Cross.js","../node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js","../node_modules/recharts/es6/util/cursor/getCursorPoints.js","../node_modules/recharts/es6/component/Cursor.js","../node_modules/recharts/es6/util/cursor/getCursorRectangle.js","../node_modules/recharts/es6/chart/generateCategoricalChart.js","../node_modules/recharts/es6/util/isDomainSpecifiedByUser.js","../node_modules/recharts/es6/component/DefaultLegendContent.js","../node_modules/recharts/es6/component/Legend.js","../node_modules/victory-vendor/lib-vendor/d3-path/src/index.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/array.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/offset/none.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/order/none.js","../node_modules/recharts/es6/container/Surface.js","../node_modules/recharts/es6/util/getEveryNthWithCondition.js","../node_modules/recharts/es6/util/TickUtils.js","../node_modules/recharts/es6/cartesian/getTicks.js","../node_modules/recharts/es6/cartesian/getEquidistantTicks.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/count.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/sort.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/value.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/number.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/exponent.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/formatDecimal.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/linear.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/noop.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/basis.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/cardinal.js","../node_modules/recharts/es6/shape/Symbols.js","../node_modules/recharts/es6/util/payload/getUniqPayload.js","../node_modules/recharts/es6/cartesian/ErrorBar.js","../node_modules/recharts/es6/shape/Sector.js","../node_modules/recharts/es6/component/Cell.js","../node_modules/recharts/es6/cartesian/XAxis.js","../node_modules/recharts/es6/cartesian/YAxis.js","../node_modules/recharts/es6/util/BarUtils.js","../node_modules/recharts/es6/cartesian/Bar.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/ticks.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/quantile.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/min.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/index.js","../node_modules/victory-vendor/lib-vendor/d3-color/src/color.js","../node_modules/victory-vendor/lib-vendor/d3-color/src/define.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/basis.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/numberArray.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/number.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/log.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/symlog.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/pow.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/index.js","../node_modules/victory-vendor/lib-vendor/d3-time-format/src/defaultLocale.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/line.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/point.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/catmullRom.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/order/ascending.js","../node_modules/recharts/es6/util/getLegendProps.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/bisect.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/bisector.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/descending.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/number.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/deviation.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/variance.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/extent.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/group.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/identity.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/permute.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/nice.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/threshold/sturges.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/max.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/quickselect.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/maxIndex.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/minIndex.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/leastIndex.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/transpose.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/superset.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/ordinal.js","../node_modules/victory-vendor/lib-vendor/d3-color/src/math.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/rgb.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/basisClosed.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/constant.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/array.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/date.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/object.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/string.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/tickFormat.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/index.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/locale.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/formatSpecifier.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/formatPrefixAuto.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/nice.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/time.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/millisecond.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/second.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/minute.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/hour.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/day.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/week.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/month.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/year.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/utcMinute.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/utcHour.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/utcDay.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/utcWeek.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/utcMonth.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/utcYear.js","../node_modules/victory-vendor/lib-vendor/d3-time-format/src/index.js","../node_modules/victory-vendor/lib-vendor/d3-time-format/src/locale.js","../node_modules/victory-vendor/lib-vendor/d3-time-format/src/isoFormat.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/sequential.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/area.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/radial.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/lineRadial.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/pointRadial.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/bump.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol/asterisk.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol/circle.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol/cross.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol/diamond.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol/diamond2.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol/plus.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol/square.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol/square2.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol/star.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol/triangle.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol/triangle2.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol/wye.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol/x.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/cardinalClosed.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/cardinalOpen.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/order/appearance.js","../node_modules/recharts/node_modules/react-is/index.js","../node_modules/recharts/es6/cartesian/Area.js","../node_modules/recharts/es6/polar/Pie.js","../node_modules/recharts/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/victory-vendor/lib/d3-scale.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/index.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/band.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/cross.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/cumsum.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/fsum.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/groupSort.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/bin.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/array.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/constant.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/threshold/freedmanDiaconis.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/threshold/scott.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/mean.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/median.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/merge.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/mode.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/pairs.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/range.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/rank.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/least.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/greatest.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/greatestIndex.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/scan.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/shuffle.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/sum.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/zip.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/every.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/some.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/filter.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/map.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/reduce.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/reverse.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/difference.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/disjoint.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/intersection.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/subset.js","../node_modules/victory-vendor/lib-vendor/d3-array/src/union.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/identity.js","../node_modules/victory-vendor/lib-vendor/d3-color/src/lab.js","../node_modules/victory-vendor/lib-vendor/d3-color/src/cubehelix.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/discrete.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/hue.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/round.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/transform/index.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/transform/parse.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/transform/decompose.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/zoom.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/hsl.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/lab.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/hcl.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/cubehelix.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/piecewise.js","../node_modules/victory-vendor/lib-vendor/d3-interpolate/src/quantize.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/constant.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/defaultLocale.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/formatGroup.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/formatNumerals.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/formatTrim.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/formatTypes.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/formatRounded.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/identity.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/precisionFixed.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/precisionPrefix.js","../node_modules/victory-vendor/lib-vendor/d3-format/src/precisionRound.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/radial.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/quantile.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/quantize.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/threshold.js","../node_modules/victory-vendor/lib-vendor/d3-time/src/ticks.js","../node_modules/victory-vendor/lib-vendor/d3-time-format/src/isoParse.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/utcTime.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/sequentialQuantile.js","../node_modules/victory-vendor/lib-vendor/d3-scale/src/diverging.js","../node_modules/victory-vendor/lib/d3-shape.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/index.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/arc.js","../node_modules/victory-vendor/lib-vendor/d3-path/src/path.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/pie.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/descending.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/identity.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/areaRadial.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/link.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/symbol.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/basisClosed.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/basisOpen.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/bundle.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/catmullRomClosed.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/catmullRomOpen.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/linearClosed.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/monotone.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/natural.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/curve/step.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/stack.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/offset/expand.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/offset/diverging.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/offset/silhouette.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/offset/wiggle.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/order/descending.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/order/insideOut.js","../node_modules/victory-vendor/lib-vendor/d3-shape/src/order/reverse.js","../node_modules/recharts/es6/component/ResponsiveContainer.js","../node_modules/recharts/es6/chart/BarChart.js","../node_modules/recharts/es6/cartesian/CartesianGrid.js","../node_modules/recharts/es6/chart/AreaChart.js","../node_modules/recharts/es6/shape/Polygon.js","../node_modules/recharts/es6/polar/PolarAngleAxis.js","../node_modules/recharts/es6/polar/PolarRadiusAxis.js","../node_modules/recharts/es6/chart/PieChart.js"],"names":["mathSign","value","isPercent","isString","indexOf","length","isNumber","lodashIsNumber","isNan","isNumOrStr","idCounter","uniqueId","prefix","id","concat","getPercentValue","percent","totalValue","defaultValue","arguments","undefined","validate","index","parseFloat","slice","getAnyElementOfObject","obj","keys","Object","hasDuplicate","ary","Array","isArray","len","cache","i","interpolateNumber","numberA","numberB","t","findEntryInArray","specifiedKey","specifiedValue","find","entry","get","_excluded","_excluded2","_objectWithoutProperties","source","excluded","key","target","prototype","hasOwnProperty","call","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_typeof","o","Symbol","iterator","constructor","REACT_BROWSER_EVENT_MAP","click","mousedown","mouseup","mouseover","mousemove","mouseout","mouseenter","mouseleave","touchcancel","touchend","touchmove","touchstart","contextmenu","dblclick","getDisplayName","Comp","displayName","name","lastChildren","lastResult","toArray","children","result","Children","forEach","child","isNil","isFragment","props","push","findAllByType","type","types","map","childType","findChildByType","validateWidthHeight","el","_el$props","width","height","SVG_TAGS","isSvgElement","hasClipDot","dot","filterProps","includeEvents","svgElementType","inputProps","isValidElement","isObject","out","_inputProps","property","_FilteredElementKeyMa","matchingElementTypeKeys","FilteredElementKeyMap","startsWith","isFunction","includes","SVGElementPropKeys","EventKeys","isValidSpreadableProp","isChildrenEqual","nextChildren","prevChildren","count","isSingleChildEqual","nextChild","prevChild","_ref","nextProps","_ref2","prevProps","shallowEqual","renderByOrder","renderMap","elements","record","_ref3","handler","once","results","getReactEventByType","e","parseChildIndex","_toConsumableArray","arr","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","n","toString","test","_unsupportedIterableToArray","TypeError","_nonIterableSpread","arr2","ownKeys","r","filter","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","toPrimitive","String","Number","_toPrimitive","_toPropertyKey","configurable","writable","getValueByDataKey","dataKey","getDomainOfDataByKey","data","filterNil","flattenData","flatMap","domain","min","max","Infinity","Date","calculateActiveTickIndex","coordinate","_ticks$length","ticks","unsortedTicks","axis","axisType","Math","abs","range","before","cur","after","sameDirectionCoord","diffInterval","curInRange","afterInRange","sameInterval","minValue","maxValue","_i","getMainColorOfGraphicItem","item","_item$type","defaultedProps","defaultProps","stroke","fill","getBarSizeList","globalSize","barSize","totalSize","_ref2$stackGroups","stackGroups","numericAxisIds","sgs","stackIds","j","sLen","_sgs$stackIds$j","items","cateAxisId","barItems","barItemDefaultProps","barItemProps","selfSize","cateId","stackList","getBarPosition","barGap","barCategoryGap","bandSize","_ref3$sizeList","sizeList","maxBarSize","realBarGap","initialValue","useFull","fullBarSize","sum","reduce","res","prev","offset","size","newPosition","position","newRes","_offset","originalSize","appendOffsetOfLegend","_unused","legendBox","margin","legendWidth","left","right","legendProps","getLegendProps","_ref4","boxWidth","boxHeight","align","verticalAlign","layout","getDomainOfErrorBars","errorBars","ErrorBar","errorBarChild","direction","isErrorBarRelevantForAxis","entryValue","mainValue","errorDomain","prevErrorArr","k","errorValue","lowerValue","upperValue","parseErrorBarsOfAxis","domains","getDomainOfItemsWithSameAxis","tag","isCategoricalAxis","getCoordinatesOfGrid","syncWithTicks","hasMin","hasMax","values","getTicksOfAxis","isGrid","isAll","scale","duplicateDomain","offsetForBand","realScaleType","bandwidth","niceTicks","scaleContent","row","isCategorical","categoricalDomain","tickCount","handlerWeakMap","WeakMap","combineEventHandlers","defaultHandler","childHandler","has","set","childWeakMap","combineHandler","parseScale","chartType","hasBar","d3Scales","upperFirst","EPS","checkDomainOfScale","first","last","findPositionOfBar","barPosition","truncateByDomain","STACK_OFFSET_MAP","sign","series","m","positive","negative","expand","stackOffsetExpand","none","stackOffsetNone","silhouette","stackOffsetSilhouette","wiggle","stackOffsetWiggle","getStackedData","stackItems","offsetType","dataKeys","offsetAccessor","shapeStack","d","order","stackOrderNone","stack","getStackGroupsByAxisId","_items","numericAxisId","reverseStackOrder","reverse","_item$type2","stackId","hide","axisId","parentGroup","hasStack","childGroup","group","g","stackedData","getTicksOfScale","opts","originalDomain","allowDecimals","scaleType","tickValues","getNiceTickValues","_domain","getTickValuesFixedDomain","getCateCoordinateOfLine","_ref5","allowDuplicatedCategory","matchedTick","getCateCoordinateOfBar","_ref6","getBaseValueOfBar","_ref7","numericAxis","getStackedDataOfItem","_item$type3","itemIndex","getDomainOfStackGroups","startIndex","endIndex","s","MIN_VALUE_REG","MAX_VALUE_REG","parseSpecifiedDomain","specifiedDomain","dataDomain","allowDataOverflow","exec","_value","getBandSizeOfAxis","isBar","bandWidth","orderedTicks","sortBy","parseDomainOfCategoryAxis","calculatedDomain","axisChild","isEqual","getTooltipItem","graphicalItem","payload","unit","formatter","tooltipType","color","f","clsx","_extends","assign","bind","this","Layer","React","forwardRef","ref","className","others","layerClass","createElement","_slicedToArray","_arrayWithHoles","l","u","a","next","done","_iterableToArrayLimit","_nonIterableRest","RADIAN","PI","radianToDegree","angleInRadian","polarToCartesian","cx","cy","radius","angle","x","cos","y","sin","getMaxRadius","top","bottom","formatAxisMap","axisMap","chartName","startAngle","endAngle","maxRadius","innerRadius","outerRadius","reversed","_range2","_parseScale","finalAxis","getAngleOfPoint","point","anotherPoint","x1","y1","x2","y2","sqrt","pow","distanceBetweenPoints","acos","reverseFormatAngleOfSetor","startCnt","floor","endCnt","inRangeOfSector","sector","_getAngleOfPoint","inRange","_formatAngleOfSector","formatAngleOfSector","formatAngle","getTickClassName","tick","module","exports","require","PolyElementKeys","svg","polygon","polyline","adaptEventHandlers","newHandler","adaptEventsOfChild","originalHandler","getEventHandlerOfChild","calculateViewBox","memoize","join","XAxisContext","createContext","YAxisContext","ViewBoxContext","OffsetContext","ClipPathIdContext","ChartHeightContext","ChartWidthContext","ChartLayoutContextProvider","_props$state","state","xAxisMap","yAxisMap","clipPathId","viewBox","Provider","useClipPathId","useContext","useXAxisOrThrow","xAxisId","invariant","xAxis","useArbitraryXAxis","useYAxisWithFiniteDomainOrRandom","every","isFinite","useYAxisOrThrow","yAxisId","yAxis","useViewBox","useOffset","useChartWidth","useChartHeight","warn","condition","format","_len","args","_key","pi","asin","halfPi","tau","epsilon","atan2","initInterpolator","interpolator","initRange","default","newInterval","floori","offseti","field","interval","date","ceil","round","d0","d1","step","start","stop","previous","setTime","end","t0","t1","getLabel","label","renderRadialLabel","labelProps","attrs","labelAngle","clockWise","deltaAngle","getDeltaAngle","startPoint","endPoint","path","dominantBaseline","xlinkHref","getAttrsOfPolarLabel","midAngle","_polarToCartesian","_x","textAnchor","verticalAnchor","_polarToCartesian2","getAttrsOfCartesianLabel","parentViewBox","verticalSign","verticalOffset","verticalEnd","verticalStart","horizontalSign","horizontalOffset","horizontalEnd","horizontalStart","_attrs2","_attrs3","sizeAttrs","isPolar","Label","_ref4$offset","content","_props$className","textBreakAll","cloneElement","isPolarLabel","positionAttrs","Text","breakAll","parseViewBox","labelViewBox","renderCallByParent","parentProps","checkPropsLabel","explicitChildren","implicitLabel","parseLabel","Global","isSsr","window","document","setTimeout","_defineProperties","descriptor","ids","steps","leftMirror","rightMirror","topMirror","bottomMirror","Bar","calculatedPadding","needSpace","orientation","_axis$padding","padding","mirror","offsetKey","diff","smallestDistanceBetweenValues","sortedValues","sort","smallestDistanceInPercent","rangeWidth","gap","halfBand","rectWithPoints","rectWithCoords","ScaleHelper","instance","Constructor","_classCallCheck","protoProps","bandAware","_offset2","staticProps","createLabeledScales","options","scales","create","coord","mapValues","isInRange","getAngledRectangleWidth","normalizedAngle","normalizeAngle","angleRadians","angleThreshold","atan","angledWidth","MULTIPLY_OR_DIVIDE_REGEX","ADD_OR_SUBTRACT_REGEX","CSS_LENGTH_UNIT_REGEX","NUM_SPLIT_REGEX","CONVERSION_RATES","cm","mm","pt","pc","Q","px","FIXED_CSS_LENGTH_UNITS","STR_NAN","DecimalCSS","num","isNaN","NaN","convertToPx","str","_NUM_SPLIT_REGEX$exec","numStr","other","calculateArithmetic","expr","newExpr","_MULTIPLY_OR_DIVIDE_R","leftOperand","operator","rightOperand","lTs","parse","rTs","multiply","divide","replace","_ADD_OR_SUBTRACT_REGE","_leftOperand","_operator","_rightOperand","_lTs","_rTs","_result","add","subtract","PARENTHESES_REGEX","evaluateExpression","expression","parentheticalExpression","calculateParentheses","reduceCSSCalc","safeEvaluateExpression","BREAKING_SPACES","calculateWordWidths","style","words","split","wordsWithComputedWidth","word","getStringSize","spaceWidth","getWordsWithoutCalculate","getWordsByLines","scaleToFit","maxLines","wordWidths","initialWordsWithComputedWith","lineWidth","shouldLimitLines","text","calculate","currentLine","newLine","originalResult","trimmedResult","checkOverflow","tempText","doesOverflow","b","findLongestLine","iterations","middle","_checkOverflow2","doesPrevOverflow","doesMiddleOverflow","calculateWordsByLines","DEFAULT_FILL","_ref5$x","propsX","_ref5$y","propsY","_ref5$lineHeight","lineHeight","_ref5$capHeight","capHeight","_ref5$scaleToFit","_ref5$textAnchor","_ref5$verticalAnchor","_ref5$fill","wordsByLines","useMemo","dx","dy","textProps","startDy","transforms","transform","line","_fsum","Adder","_index","InternMap","InternSet","_ascending","_bin","_bisect","bisectCenter","bisectLeft","bisectRight","_bisector","_count","_cross","_cumsum","_descending","_deviation","_difference","_disjoint","_every","_extent","fcumsum","_filter","_group","flatGroup","flatRollup","fsum","_greatest","_greatestIndex","_groupSort","groups","indexes","_intersection","_least","_leastIndex","_map","_max","_maxIndex","_mean","_median","_merge","_min","_minIndex","_mode","_nice","_pairs","_permute","_quantile","quantileSorted","_quickselect","_range","_rank","_reduce","_reverse","rollup","rollups","_scan","_shuffle","shuffler","_some","_sort","_subset","_sum","_superset","_freedmanDiaconis","_scott","_sturges","_ticks","tickIncrement","tickStep","_transpose","_union","_variance","_zip","_interopRequireWildcard","_interopRequireDefault","__esModule","_getRequireWildcardCache","nodeInterop","cacheBabelInterop","cacheNodeInterop","newObj","hasPropertyDescriptor","desc","durationYear","durationWeek","durationSecond","durationMonth","durationMinute","durationHour","durationDay","getTrapezoidPath","upperWidth","lowerWidth","widthGap","isUpdateAnimationActive","animationBegin","animationDuration","animationEasing","Trapezoid","trapezoidProps","pathRef","useRef","_useState2","useState","totalLength","setTotalLength","useEffect","current","getTotalLength","pathTotalLength","err","Animate","canBegin","to","duration","isActive","currUpperWidth","currLowerWidth","currHeight","currX","currY","attributeName","begin","easing","defaultPropTransformer","option","ShapeSelector","shapeType","elementProps","Rectangle","Sector","isSymbolsProps","Symbols","Shape","shape","_ref2$propTransformer","propTransformer","_ref2$activeClassName","activeClassName","getPropsFromShapeOption","isPlainObject","isBoolean","isFunnel","_item","isPie","isScatter","compareFunnel","shapeData","activeTooltipItem","_activeTooltipItem$la","_activeTooltipItem$la2","xMatches","yMatches","comparePie","startAngleMatches","endAngleMatches","compareScatter","zMatches","z","getActiveShapeIndexForTooltip","itemData","shapeKey","activeItem","getShapeDataKey","tooltipPayload","_activeItem$tooltipPa","_activeItem$tooltipPa2","getActiveShapeTooltipPayload","activeItemMatches","datum","dataIndex","valuesMatch","mouseCoordinateMatches","comparison","getComparisonFn","indexOfMouseCoordinates","copy","interpolate","clamp","unknown","transformer","identity","_index2","_constant","_number","normalize","bimap","r0","r1","polymap","bisect","untransform","piecewise","output","input","rescale","clamper","invert","_","rangeRound","interpolateRound","stringCache","widthCache","cacheCount","SPAN_STYLE","border","whiteSpace","MEASUREMENT_SPAN_ID","copyStyle","copyObj","removeInvalidKeys","cacheKey","JSON","stringify","measurementSpan","getElementById","setAttribute","body","appendChild","measurementSpanStyle","textContent","rect","getBoundingClientRect","getOffset","scrollY","documentElement","clientTop","scrollX","clientLeft","CURVE_FACTORIES","curveBasisClosed","curveBasisOpen","curveBasis","curveBumpX","curveBumpY","curveLinearClosed","curveLinear","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","defined","p","getX","getY","getPath","lineFunction","_ref$type","_ref$points","points","baseLine","_ref$connectNulls","connectNulls","curveFactory","getCurveFactory","formatPoints","formatBaseLine","base","areaPoints","shapeArea","x0","y0","curve","shapeLine","Curve","realPath","linear","_continuous","_init","linearish","_tickFormat","tickFormat","specifier","nice","prestep","i0","i1","maxIter","getRectanglePath","ySign","xSign","newRadius","_newRadius","isInRectangle","py","minX","maxX","minY","maxY","isAnimationActive","rectangleProps","currWidth","Dot","defaultFormatter","DefaultTooltipContent","_props$separator","separator","_props$contentStyle","contentStyle","_props$itemStyle","itemStyle","_props$labelStyle","labelStyle","itemSorter","wrapperClassName","labelClassName","labelFormatter","_props$accessibilityL","accessibilityLayer","finalStyle","backgroundColor","finalLabelStyle","hasLabel","finalLabel","wrapperCN","labelCN","accessibilityAttributes","role","finalItemStyle","display","paddingTop","paddingBottom","finalFormatter","finalValue","finalName","formatted","_formatted","renderContent","CSS_CLASS_PREFIX","TOOLTIP_HIDDEN","visibility","getTooltipCSSClassName","translateX","translateY","getTooltipTranslateXY","allowEscapeViewBox","offsetTopLeft","reverseDirection","tooltipDimension","viewBoxDimension","_callSuper","_getPrototypeOf","self","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","TooltipBoundingBox","_PureComponent","_this","dismissed","dismissedAtCoordinate","lastBoundingBox","event","_this$props$coordinat","_this$props$coordinat2","_this$props$coordinat3","_this$props$coordinat4","setState","subClass","superClass","_inherits","wrapperNode","box","addEventListener","handleKeyDown","updateBBox","removeEventListener","_this$props$coordinat5","_this$props$coordinat6","active","_this2","_this$props","hasPayload","useTranslate3d","wrapperStyle","_getTooltipTranslate","tooltipBox","cssProperties","getTransformStyle","cssClasses","getTooltipTranslate","outerStyle","transition","pointerEvents","tabIndex","node","PureComponent","defaultUniqBy","Tooltip","filterNull","payloadUniqBy","finalPayload","getUniqPayload","includeHidden","cursor","cursorStyle","trigger","Map","entries","keyof","super","_intern","intern_get","intern_set","delete","intern_delete","Set","_excluded3","CartesianAxis","_Component","fontSize","letterSpacing","nextState","restProps","viewBoxOld","restPropsOld","htmlLayer","layerReference","getElementsByClassName","getComputedStyle","tx","ty","_this$props2","tickSize","tickMargin","finalTickSize","tickCoord","_this$props3","_this$props4","_this$props5","axisLine","needHeight","needWidth","_this$props6","tickLine","tickFormatter","finalTicks","getTicks","getTickTextAnchor","getTickVerticalAnchor","axisProps","customTickProps","tickLineProps","_this2$getTickLineCoo","getTickLineCoord","lineCoord","tickProps","visibleTicksCount","renderTickItem","_this3","_this$props7","ticksGenerator","_this$props8","noTicksProps","renderAxisLine","renderTicks","Component","minTickGap","_color","_cubehelix","_lab","gray","hcl","hsl","lch","rgb","nogamma","gamma","exponential","hue","defaultAccessor","LabelList","_ref$valueAccessor","valueAccessor","idProps","parseLabelList","PREFIX_LIST","isTouch","changedTouches","Brush","leaveTimer","clearTimeout","isTravellerMoving","handleTravellerMove","isSlideMoving","handleSlideDrag","handleDrag","onDragEnd","detachDragEndListener","handleDragEnd","leaveTimeOut","isTextActive","slideMoveStartX","pageX","attachDragEndListener","travellerDragStartHandlers","startX","handleTravellerDragStart","endX","lineY","Fragment","renderDefaultTraveller","prevState","travellerWidth","updateId","prevData","prevUpdateId","prevTravellerWidth","prevX","prevWidth","scalePoint","scaleValues","isTravellerFocused","createScale","valueRange","lastIndex","minIndex","getIndexInRange","maxIndex","_this$state","onChange","delta","newIndex","getIndex","movingTravellerId","brushMoveStartX","_this$state2","prevValue","params","isFullGap","_this$state3","currentScaleValue","currentIndex","newScaleValue","chartElement","only","compact","travellerX","_data$startIndex","_data$endIndex","traveller","ariaLabel","travellerProps","ariaLabelBrush","onMouseEnter","handleEnterSlideOrTraveller","onMouseLeave","handleLeaveSlideOrTraveller","onMouseDown","onTouchStart","onKeyDown","preventDefault","stopPropagation","handleTravellerMoveKeyboard","onFocus","onBlur","renderTraveller","_this$props9","handleSlideDragStart","fillOpacity","_this$props10","_this$state4","getTextOfTick","_this$props11","alwaysShowText","_this$state5","isPanoramic","camelName","v","toUpperCase","generatePrefixStyle","handleLeaveWrapper","onTouchMove","handleTouchMove","renderBackground","renderPanorama","renderSlide","renderTravellerLayer","renderText","ifOverflowMatches","alwaysShow","ifOverflow","ReferenceDot","_React$Component","isX","isY","getCoordinate","dotProps","clipPath","renderDot","isFront","strokeWidth","ReferenceLineImpl","fixedX","fixedY","segment","endPoints","isFixedX","isFixedY","isSegment","xAxisOrientation","yAxisOrientation","yCoord","xCoord","_coord","_points","_points2","some","getEndPoints","_endPoints","_endPoints$","_endPoints$2","lineProps","renderLine","ReferenceLine","ReferenceArea","hasX1","hasX2","hasY1","hasY2","xValue1","xValue2","yValue1","yValue2","p1","rangeMin","p2","rangeMax","getRect","renderRect","detectReferenceElementsDomain","specifiedTicks","lines","dots","areas","idKey","valueKey","finalDomain","key1","key2","value1","value2","eventCenter","EventEmitter","SYNC_EVENT","AccessibilityManager","_ref$coordinateList","coordinateList","_ref$container","container","_ref$layout","_ref$offset","_ref$mouseHandlerCall","mouseHandlerCallback","activeIndex","spoofMouse","_window","_window2","_this$container$getBo","scrollOffsetX","scrollOffsetY","pageY","Cross","_ref$x","_ref$y","_ref$top","_ref$left","_ref$width","_ref$height","getRadialCursorPoints","activeCoordinate","getCursorPoints","innerPoint","outerPoint","Cursor","_element$props$cursor","_defaultProps","element","tooltipEventType","activePayload","activeTooltipIndex","tooltipAxisBandSize","elementPropsCursor","cursorComp","halfSize","getCursorRectangle","_getRadialCursorPoint","cursorProps","payloadIndex","ORIENT_MAP","FULL_WIDTH_AND_HEIGHT","originCoordinate","renderAsIs","getDisplayedData","graphicalItems","dataStartIndex","dataEndIndex","itemsData","getDefaultDomainByAxisType","getTooltipContent","chartData","activeLabel","tooltipAxis","displayedData","_child$props$data","getTooltipData","rangeObj","rangeData","chartX","chartY","pos","calculateTooltipPos","orderedTooltipTicks","tooltipTicks","_angle","_radius","getActiveCoordinate","getAxisMapByAxes","axes","axisIdKey","stackOffset","_childProps$domain2","childProps","domainStart","domainEnd","isDomainSpecifiedByUser","defaultDomain","_childProps$domain","childDomain","duplicate","errorBarsDomain","_defaultProps2","_defaultProps3","itemAxisId","itemHide","axisDomain","getAxisMap","_ref4$axisType","AxisComp","Axis","_defaultProps4","_defaultProps5","getAxisMapByItems","createDefaultState","defaultShowTooltip","brushItem","isTooltipActive","getAxisNameByLayout","numericAxisName","cateAxisName","getCartesianAxisSize","axisObj","axisName","generateCategoricalChart","GraphicalChild","_ref6$defaultTooltipE","defaultTooltipEventType","_ref6$validateTooltip","validateTooltipEventTypes","axisComponents","legendContent","getFormatItems","currentState","globalMaxBarSize","_getAxisNameByLayout","hasGraphicalBarItem","formattedItems","itemProps","childMaxBarSize","cateAxis","cateTicks","itemIsBar","_getBandSizeOfAxis","barBandSize","composedFn","getComposedData","childIndex","updateStateOfAxisMapsOffsetAndStackGroups","_ref8","_getAxisNameByLayout2","prevLegendBBox","_ref5$xAxisMap","_ref5$yAxisMap","legendItem","Legend","offsetH","offsetV","brushBottom","offsetWidth","offsetHeight","calculateOffset","legendBBox","ticksObj","tooltipTicksGenerator","formattedGraphicalItems","CategoricalChartWrapper","_props","_props$id","_props$throttleDelay","cId","emitter","syncId","eventEmitterSymbol","syncMethod","applySyncEvent","_ref9","triggerSyncEvent","mouse","getMouseInfo","_nextState","onMouseMove","tooltipPosition","persist","throttleTriggeredAfterMouseMove","cancel","_mouse","eventName","_nextState2","onClick","onMouseUp","handleMouseDown","handleMouseUp","onDoubleClick","onContextMenu","emit","validateChartX","validateChartY","_element$props$active","getTooltipEventType","elementDefaultProps","axisOption","_element$props","radialLines","polarAngles","polarRadius","radiusAxisMap","angleAxisMap","radiusAxis","angleAxis","otherProps","chartWidth","chartHeight","onBBoxUpdate","handleLegendBBoxUpdate","_tooltipItem$props$ac","tooltipItem","_this$state6","handleBrushChange","_this$state7","_element$props2","_element$props2$xAxis","_element$props2$yAxis","_ref10","activePoint","basePoint","isRange","itemItemProps","activeDot","renderActiveDot","filterFormatItem","_this$state8","_item$props","activeBar","activeShape","hasActive","itemEvents","handleItemMouseEnter","handleItemMouseLeave","_this$getItemByXY","_ref11$graphicalItem","getItemByXY","_ref11$graphicalItem$","xyItem","renderActivePoints","CartesianGrid","renderReferenceElement","XAxis","YAxis","renderBrush","renderGraphicChild","Line","Area","Radar","RadialBar","Scatter","Pie","Funnel","renderCursor","PolarGrid","renderPolarGrid","PolarAngleAxis","renderPolarAxis","PolarRadiusAxis","Customized","renderCustomized","throttle","triggeredAfterMouseMove","throttleDelay","_this$props$margin$le","_this$props$margin$to","addListener","accessibilityManager","setDetails","displayDefaultTooltip","tooltipElem","defaultIndex","independentAxisCoord","dependentAxisCoord","scatterPlotElement","_ref12","setIndex","_this$props$margin$le2","_this$props$margin$to2","removeListener","shared","eventType","boundingRect","containerOffset","_this$state9","toolTipData","xScale","yScale","xValue","yValue","scaledX","scaledY","_this$state10","tooltipEvents","handleClick","handleMouseEnter","handleDoubleClick","handleMouseMove","handleMouseLeave","handleTouchStart","onTouchEnd","handleTouchEnd","handleContextMenu","handleOuterEvent","on","handleReceiveSyncEvent","_this$state$offset","_ref13","_ref14","_ref15","_ref16","_this$state$xAxisMap","_this$state$yAxisMap","chartXY","_this$state11","itemDisplayName","activeBarItem","_activeBarItem","_this$props$tabIndex","_this$props$role","title","Surface","renderClipPath","keyboardEvent","focus","events","parseEventsOfWrapper","renderLegend","renderTooltip","defaultState","prevDataKey","prevHeight","prevLayout","prevStackOffset","prevMargin","_defaultState","keepFromPrevState","updatesToState","newState","_brush$props$startInd","_brush$props","_brush$props$endIndex","_brush$props2","brush","hasDifferentStartOrEndIndex","newUpdateId","CategoricalChart","SIZE","DefaultLegendContent","inactiveColor","sixthSize","thirdSize","inactive","strokeDasharray","legendIcon","iconProps","sizeType","iconSize","marginRight","svgStyle","renderIcon","textAlign","renderItems","getBBox","hPos","vPos","getBBoxSnapshot","getDefaultPosition","_path","s0","s1","svgView","getEveryNthWithCondition","array","isValid","isVisible","tickPosition","getSize","getNumberIntervalTicks","candidates","sizeKey","unitSize","getTickSize","contentSize","getAngledTickWidth","boundaries","isWidth","getTickBoundaries","_ret","initialStart","stepsize","_loop","isShow","getEquidistantTicks","preserveEnd","tail","tailSize","tailGap","_loop2","getTicksStart","getTicksEnd","valueof","ascendingDefined","compareDefined","F","Uint32Array","c","compare","_rgb","_string","_date","_numberArray","isNumberArray","_array","genericArray","_object","_formatDecimal","formatDecimalParts","toLocaleString","toExponential","coefficient","Linear","context","_context","areaStart","_line","areaEnd","lineStart","_point","lineEnd","closePath","lineTo","moveTo","that","bezierCurveTo","_x0","_x1","_y0","_y1","Basis","_k","_x2","_y2","Cardinal","tension","_default","custom","cardinal","symbolFactories","symbolCircle","symbolCross","symbolDiamond","symbolSquare","symbolStar","symbolTriangle","symbolWye","_ref$size","_ref$sizeType","filteredProps","symbolFactory","getSymbolFactory","symbol","shapeSymbol","tan","calculateAreaSize","registerSymbol","factory","uniqBy","dataPointFormatter","svgProps","_dataPointFormatter","errorVal","lowBound","highBound","lineCoordinates","_errorVal","yMid","yMin","yMax","xMin","xMax","_scale","xMid","_xMin","_xMax","_yMin","_yMax","coordinates","getTangentCircle","isExternal","cornerRadius","cornerIsExternal","centerRadius","theta","centerAngle","lineTangencyAngle","center","circleTangency","lineTangency","getSectorPath","tempEndAngle","outerStartPoint","outerEndPoint","innerStartPoint","innerEndPoint","forceCornerRadius","sectorProps","deltaRadius","cr","_getTangentCircle","soct","solt","sot","_getTangentCircle2","eoct","eolt","eot","outerArcAngle","_getTangentCircle3","sict","silt","sit","_getTangentCircle4","eict","eilt","eit","innerArcAngle","getSectorWithCorner","Cell","XAxisImpl","axisOptions","YAxisImpl","typeguardBarRectangleProps","xProp","yProp","parseInt","heightValue","widthValue","BarRectangle","_Bar","isAnimationFinished","onAnimationEnd","onAnimationStart","animationId","prevAnimationId","curData","baseProps","handleAnimationStart","handleAnimationEnd","stepData","interpolatorX","interpolatorY","interpolatorWidth","interpolatorHeight","h","_interpolatorHeight","w","renderRectanglesStatically","renderRectanglesWithAnimation","_this4","backgroundProps","background","rest","needClip","errorBarItems","dataPoint","errorBarProps","needClipX","needClipY","renderRectangles","renderErrorBar","legendType","minPointSize","xAxisTicks","yAxisTicks","itemDefaultProps","minPointSizeProp","stackedDomain","baseValue","cells","rects","isValueNumber","minPointSizeCallback","baseValueScale","currentValueScale","computedHeight","_baseValueScale","_currentValueScale","step0","step1","log","LN10","error","e10","e5","e2","power","Float64Array","numbers","value0","subarray","_basis","_basisClosed","cubehelixLong","_discrete","_hcl","hclLong","_hsl","hslLong","_hue","rgbBasis","rgbBasisClosed","_round","interpolateTransformCss","interpolateTransformSvg","_zoom","_piecewise","_quantize","Color","Rgb","darker","brighter","hslConvert","rgbConvert","_define","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","formatHex","color_formatRgb","formatRgb","trim","toLowerCase","rgbn","rgba","hsla","opacity","rgb_formatHex","hex","rgb_formatRgb","clampa","clampi","Hsl","clamph","clampt","hsl2rgb","m1","m2","channels","displayable","formatHex8","formatHsl","extend","parent","definition","basis","v0","v1","v2","v3","t2","t3","ArrayBuffer","isView","DataView","loggish","transformLog","transformExp","exp","transformLogn","transformExpn","pow10","reflect","logs","pows","E","log10","log2","logp","powp","formatSpecifier","precision","symlog","symlogish","constant","_linear","transformSymlog","log1p","transformSymexp","expm1","powish","exponent","transformPow","transformSqrt","transformSquare","_day","days","_week","friday","fridays","_hour","hours","_interval","_millisecond","milliseconds","_minute","minutes","monday","mondays","_month","months","saturday","saturdays","_second","seconds","sunday","sundays","thursday","thursdays","timeTickInterval","timeTicks","tuesday","tuesdays","wednesday","wednesdays","_year","years","_utcDay","utcDays","_utcWeek","utcFriday","utcFridays","_utcHour","utcHours","_utcMinute","utcMinutes","utcMonday","utcMondays","_utcMonth","utcMonths","utcSaturday","utcSaturdays","utcSunday","utcSundays","utcThursday","utcThursdays","utcTickInterval","utcTicks","utcTuesday","utcTuesdays","utcWednesday","utcWednesdays","_utcYear","utcYears","defaultLocale","utcParse","utcFormat","timeParse","timeFormat","locale","_locale","dateTime","time","periods","shortDays","shortMonths","buffer","defined0","_math","_cardinal","_l01_a","_l01_2a","_l12_a","_l12_2a","_l23_a","_l23_2a","CatmullRom","alpha","_alpha","x23","y23","catmullRom","sums","_none","legendData","legendDefaultProps","sectors","iconType","getWithHeight","ascendingBisect","compare1","compare2","zero","lo","hi","mid","mean","nest","_identity","_len3","_key3","flatten","_len4","_key4","_len7","_key7","unique","_len8","_key8","_len5","_key5","_len2","_key2","pop","_len6","_key6","Error","regroup","LN2","quickselect","sd","newLeft","newRight","swap","matrix","transpose","intern","io","ivalue","is","ordinal","implicit","radians","degrees","rgbGamma","rgbSpline","spline","colors","nb","na","am","bm","bs","bi","reA","reB","q","one","precisionPrefix","formatPrefix","precisionRound","precisionFixed","_formatSpecifier","FormatSpecifier","_defaultLocale","_precisionFixed","_precisionPrefix","_precisionRound","grouping","thousands","_formatGroup","currencyPrefix","currency","currencySuffix","decimal","numerals","_formatNumerals","minus","nan","newFormat","comma","_formatTypes","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","_formatTrim","prefixes","_formatPrefixAuto","prefixExponent","charCodeAt","_exponent","re","match","calendar","timeYear","timeMonth","timeWeek","timeDay","timeHour","timeMinute","timeSecond","number","tickInterval","year","month","week","day","hour","minute","second","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","formatYear","millisecond","_duration","getMilliseconds","getUTCSeconds","getSeconds","getMinutes","getHours","setHours","setDate","getDate","getTimezoneOffset","weekday","getDay","setMonth","getMonth","getFullYear","setFullYear","utcMinute","setUTCSeconds","getUTCMinutes","utcHour","setUTCMinutes","getUTCHours","utcDay","setUTCHours","setUTCDate","getUTCDate","utcWeekday","getUTCDay","utcMonth","setUTCMonth","getUTCMonth","getUTCFullYear","utcYear","setUTCFullYear","_isoFormat","_isoParse","locale_dateTime","locale_date","locale_time","locale_periods","locale_weekdays","locale_shortWeekdays","locale_months","locale_shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","string","parseSpecifier","parseDayOfMonth","parseMicroseconds","parseYear","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseZone","parseLiteralPercent","pad","pads","charAt","newParse","Z","newDate","L","H","V","utcDate","localDate","timeMonday","W","U","M","X","S","UTC","numberRe","percentRe","requoteRe","requote","names","timeSunday","dISO","timeThursday","getUTCMilliseconds","dow","UTCdISO","isoSpecifier","toISOString","sequential","sequentialLog","_log","sequentialPow","sequentialSqrt","sequentialSymlog","_symlog","_pow","k10","area","x0z","y0z","arealine","lineX0","lineY0","lineY1","lineX1","curveRadialLinear","curveRadial","Radial","_curve","radial","lineRadial","_radial","bumpRadial","BumpRadial","bumpX","Bump","bumpY","_pointRadial","p0","p3","sqrt3","draw","arc","tan30","tan30_2","kr","kx","ky","CardinalClosed","_noop","_x3","_x4","_x5","_y3","_y4","_y5","CardinalOpen","peaks","peak","vi","vj","_Area","curPoints","curBaseLine","prevPoints","prevBaseLine","clipDot","areaProps","customDotProps","renderDotItem","dotsProps","startY","endY","renderVerticalRect","renderHorizontalRect","stepBaseLine","prevPointsDiffFactor","stepPoints","prevPointIndex","_interpolator","renderAreaStatically","renderClipRect","renderAreaWithAnimation","_filterProps","hasSinglePoint","_ref2$r","_ref2$strokeWidth","_ref3$clipDot","dotSize","renderArea","renderDots","chartBaseValue","itemBaseValue","domainMax","domainMin","getBaseValue","isHorizontalLayout","isBreakPoint","dotItem","_Pie","prevIsAnimationActive","sectorToFocus","curSectors","prevSectors","alignmentBaseline","labelLine","pieProps","customLabelProps","customLabelLineProps","offsetRadius","labels","getTextAnchor","realDataKey","renderLabelLineItem","renderLabelItem","blendStroke","inactiveShapeProp","inactiveShape","isActiveIndex","hasActiveIndex","sectorOptions","sectorRefs","curAngle","paddingAngle","angleIp","latest","interpolatorAngle","_latest","renderSectorsStatically","pieRef","onkeydown","altKey","_next","blur","renderSectorsWithAnimation","attachKeyboardHandlers","_this5","rootTabIndex","renderSectors","renderLabels","minAngle","nameKey","presentationProps","cell","maxPieRadius","pieData","getRealPieData","parseCoordinateOfPie","parseDeltaAngle","absDeltaAngle","notZeroItemCount","realTotalAngle","val","tempStartAngle","middleRadius","for","$$typeof","ContextConsumer","ContextProvider","Element","ForwardRef","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","SuspenseList","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isSuspenseList","isValidElementType","getModuleId","typeOf","_band","_diverging","divergingLog","divergingPow","divergingSqrt","divergingSymlog","_ordinal","_sequential","_sequentialQuantile","_threshold","_time","_utcTime","band","pointish","paddingInner","ordinalRange","paddingOuter","empty","arrayify","reducer","lengths","product","adder","_partials","_n","ak","av","bk","bv","threshold","histogram","xz","tz","tn","shift","bin","bins","thresholds","cbrt","arrays","counts","modeValue","modeCount","pair","pairof","pairs","R","compareIndex","random","mapper","Hcl","Lab","lab","hclConvert","Xn","Yn","Zn","labConvert","hcl2lab","rgb2lrgb","xyz2lab","lab2xyz","lrgb2rgb","Cubehelix","cubehelix","A","B","C","D","ED","EB","BC_DA","bl","cubehelixConvert","cosh","sinh","_parse","interpolateTransform","pxComma","pxParen","degParen","xa","ya","xb","yb","translate","rotate","skewX","scaleX","scaleY","parseCss","parseSvg","DOMMatrix","WebKitCSSMatrix","isIdentity","_decompose","svgNode","createElementNS","baseVal","consolidate","zoomRho","rho","rho2","rho4","zoom","ux0","uy0","w0","ux1","uy1","w1","d2","b0","b1","coshr0","SQRT2","_1","_2","cubehelixGamma","I","samples","substring","_formatRounded","%","toFixed","toPrecision","squared","unsquare","square","quantile","invertExtent","ascending","quantiles","quantize","ticker","tickIntervals","bisector","utcWeek","utcSecond","sequentialQuantile","diverging","k21","r2","_arc","_area","_areaRadial","_basisOpen","_bump","_bundle","_cardinalClosed","_cardinalOpen","_catmullRom","_catmullRomClosed","_catmullRomOpen","_linearClosed","_monotone","monotoneX","monotoneY","_natural","_step","stepAfter","stepBefore","_lineRadial","_link","link","linkHorizontal","linkRadial","linkVertical","_pie","_stack","_expand","_silhouette","_wiggle","_appearance","_insideOut","_none2","_symbol","_asterisk","_circle","_diamond","_diamond2","_plus","_square","_square2","_star","_triangle","_triangle2","_wye","symbolsFill","symbolsStroke","arcInnerRadius","arcOuterRadius","padRadius","arcStartAngle","arcEndAngle","padAngle","arcPadAngle","a0","a1","da","cw","a01","a11","a00","a10","da0","da1","ap","rp","rc","rc0","rc1","x01","y01","x10","y10","oc","x11","y11","x00","y00","x3","y3","x32","y32","intersect","ax","ay","bx","by","kc","lc","cornerTangents","centroid","ox","oy","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","tauEpsilon","Path","quadraticCurveTo","arcTo","x21","y21","l01_2","x20","y20","l21_2","l20_2","l21","l01","t01","t21","ccw","sortValues","pie","arcs","pa","lineStartAngle","lineEndAngle","lineInnerRadius","lineOuterRadius","linkSource","linkTarget","argv","BasisClosed","BasisOpen","Bundle","beta","_beta","_y","bundle","CatmullRomClosed","CatmullRomOpen","LinearClosed","slope3","h0","h1","slope2","MonotoneX","MonotoneY","ReflectContext","_t0","Natural","controlPoints","Step","_t","stackValue","oz","sz","stackSeries","yp","yn","s2","si","sij0","s3","sk","tops","bottoms","ResponsiveContainer","aspect","_ref$initialDimension","initialDimension","_ref$minWidth","minWidth","minHeight","maxHeight","_ref$debounce","debounce","onResize","_ref$style","containerRef","onResizeRef","useImperativeHandle","console","containerWidth","containerHeight","sizes","setSizes","setContainerSize","useCallback","newWidth","newHeight","roundedWidth","roundedHeight","callback","_onResizeRef$current","_entries$0$contentRec","contentRect","trailing","leading","observer","ResizeObserver","_containerRef$current","observe","disconnect","chartContent","calculatedWidth","calculatedHeight","isCharts","endsWith","maxWidth","BarChart","Background","ry","renderLineItem","lineItem","restOfFilteredProps","HorizontalGridLines","_props$horizontal","horizontal","horizontalPoints","lineItemProps","VerticalGridLines","_props$vertical","vertical","verticalPoints","HorizontalStripes","horizontalFill","_props$horizontal2","roundedSortedHorizontalPoints","unshift","colorIndex","VerticalStripes","_props$vertical2","verticalFill","roundedSortedVerticalPoints","defaultVerticalCoordinatesGenerator","defaultHorizontalCoordinatesGenerator","_props$stroke","_props$fill","_props$horizontal3","_props$horizontalFill","_props$vertical3","_props$verticalFill","propsIncludingDefaults","horizontalValues","verticalValues","verticalCoordinatesGenerator","horizontalCoordinatesGenerator","isHorizontalValues","generatorResult","isVerticalValues","_generatorResult","AreaChart","isValidatePoint","getSinglePolygonPath","segmentPoints","getParsedPoints","segPoints","polygonPath","Polygon","baseLinePoints","hasStroke","rangePath","outerPath","getRanglePath","singlePath","eps","tickLineSize","axisLineType","angleAxisId","maxRadiusTick","maxBy","minBy","extent","point0","point1","getTickValueCoord","getViewBox","radiusAxisId","PieChart"],"mappings":"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","file":"static/js/vendor_recharts_victory_vendor.8618dd26.chunk.js","sourcesContent":["import isString from 'lodash/isString';\nimport isNan from 'lodash/isNaN';\nimport get from 'lodash/get';\nimport lodashIsNumber from 'lodash/isNumber';\nexport var mathSign = function mathSign(value) {\n if (value === 0) {\n return 0;\n }\n if (value > 0) {\n return 1;\n }\n return -1;\n};\nexport var isPercent = function isPercent(value) {\n return isString(value) && value.indexOf('%') === value.length - 1;\n};\nexport var isNumber = function isNumber(value) {\n return lodashIsNumber(value) && !isNan(value);\n};\nexport var isNumOrStr = function isNumOrStr(value) {\n return isNumber(value) || isString(value);\n};\nvar idCounter = 0;\nexport var uniqueId = function uniqueId(prefix) {\n var id = ++idCounter;\n return \"\".concat(prefix || '').concat(id);\n};\n\n/**\n * Get percent value of a total value\n * @param {number|string} percent A percent\n * @param {number} totalValue Total value\n * @param {number} defaultValue The value returned when percent is undefined or invalid\n * @param {boolean} validate If set to be true, the result will be validated\n * @return {number} value\n */\nexport var getPercentValue = function getPercentValue(percent, totalValue) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var validate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if (!isNumber(percent) && !isString(percent)) {\n return defaultValue;\n }\n var value;\n if (isPercent(percent)) {\n var index = percent.indexOf('%');\n value = totalValue * parseFloat(percent.slice(0, index)) / 100;\n } else {\n value = +percent;\n }\n if (isNan(value)) {\n value = defaultValue;\n }\n if (validate && value > totalValue) {\n value = totalValue;\n }\n return value;\n};\nexport var getAnyElementOfObject = function getAnyElementOfObject(obj) {\n if (!obj) {\n return null;\n }\n var keys = Object.keys(obj);\n if (keys && keys.length) {\n return obj[keys[0]];\n }\n return null;\n};\nexport var hasDuplicate = function hasDuplicate(ary) {\n if (!Array.isArray(ary)) {\n return false;\n }\n var len = ary.length;\n var cache = {};\n for (var i = 0; i < len; i++) {\n if (!cache[ary[i]]) {\n cache[ary[i]] = true;\n } else {\n return true;\n }\n }\n return false;\n};\n\n/* @todo consider to rename this function into `getInterpolator` */\nexport var interpolateNumber = function interpolateNumber(numberA, numberB) {\n if (isNumber(numberA) && isNumber(numberB)) {\n return function (t) {\n return numberA + t * (numberB - numberA);\n };\n }\n return function () {\n return numberB;\n };\n};\nexport function findEntryInArray(ary, specifiedKey, specifiedValue) {\n if (!ary || !ary.length) {\n return null;\n }\n return ary.find(function (entry) {\n return entry && (typeof specifiedKey === 'function' ? specifiedKey(entry) : get(entry, specifiedKey)) === specifiedValue;\n });\n}\n\n/**\n * The least square linear regression\n * @param {Array} data The array of points\n * @returns {Object} The domain of x, and the parameter of linear function\n */\nexport var getLinearRegression = function getLinearRegression(data) {\n if (!data || !data.length) {\n return null;\n }\n var len = data.length;\n var xsum = 0;\n var ysum = 0;\n var xysum = 0;\n var xxsum = 0;\n var xmin = Infinity;\n var xmax = -Infinity;\n var xcurrent = 0;\n var ycurrent = 0;\n for (var i = 0; i < len; i++) {\n xcurrent = data[i].cx || 0;\n ycurrent = data[i].cy || 0;\n xsum += xcurrent;\n ysum += ycurrent;\n xysum += xcurrent * ycurrent;\n xxsum += xcurrent * xcurrent;\n xmin = Math.min(xmin, xcurrent);\n xmax = Math.max(xmax, xcurrent);\n }\n var a = len * xxsum !== xsum * xsum ? (len * xysum - xsum * ysum) / (len * xxsum - xsum * xsum) : 0;\n return {\n xmin: xmin,\n xmax: xmax,\n a: a,\n b: (ysum - a * xsum) / len\n };\n};","var _excluded = [\"children\"],\n _excluded2 = [\"children\"];\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport get from 'lodash/get';\nimport isNil from 'lodash/isNil';\nimport isString from 'lodash/isString';\nimport isFunction from 'lodash/isFunction';\nimport isObject from 'lodash/isObject';\nimport { Children, isValidElement } from 'react';\nimport { isFragment } from 'react-is';\nimport { isNumber } from './DataUtils';\nimport { shallowEqual } from './ShallowEqual';\nimport { FilteredElementKeyMap, SVGElementPropKeys, EventKeys } from './types';\nvar REACT_BROWSER_EVENT_MAP = {\n click: 'onClick',\n mousedown: 'onMouseDown',\n mouseup: 'onMouseUp',\n mouseover: 'onMouseOver',\n mousemove: 'onMouseMove',\n mouseout: 'onMouseOut',\n mouseenter: 'onMouseEnter',\n mouseleave: 'onMouseLeave',\n touchcancel: 'onTouchCancel',\n touchend: 'onTouchEnd',\n touchmove: 'onTouchMove',\n touchstart: 'onTouchStart',\n contextmenu: 'onContextMenu',\n dblclick: 'onDoubleClick'\n};\nexport var SCALE_TYPES = ['auto', 'linear', 'pow', 'sqrt', 'log', 'identity', 'time', 'band', 'point', 'ordinal', 'quantile', 'quantize', 'utc', 'sequential', 'threshold'];\nexport var LEGEND_TYPES = ['plainline', 'line', 'square', 'rect', 'circle', 'cross', 'diamond', 'star', 'triangle', 'wye', 'none'];\nexport var TOOLTIP_TYPES = ['none'];\n\n/**\n * Get the display name of a component\n * @param {Object} Comp Specified Component\n * @return {String} Display name of Component\n */\nexport var getDisplayName = function getDisplayName(Comp) {\n if (typeof Comp === 'string') {\n return Comp;\n }\n if (!Comp) {\n return '';\n }\n return Comp.displayName || Comp.name || 'Component';\n};\n\n// `toArray` gets called multiple times during the render\n// so we can memoize last invocation (since reference to `children` is the same)\nvar lastChildren = null;\nvar lastResult = null;\nexport var toArray = function toArray(children) {\n if (children === lastChildren && Array.isArray(lastResult)) {\n return lastResult;\n }\n var result = [];\n Children.forEach(children, function (child) {\n if (isNil(child)) return;\n if (isFragment(child)) {\n result = result.concat(toArray(child.props.children));\n } else {\n // @ts-expect-error this could still be Iterable and TS does not like that\n result.push(child);\n }\n });\n lastResult = result;\n lastChildren = children;\n return result;\n};\n\n/*\n * Find and return all matched children by type.\n * `type` must be a React.ComponentType\n */\nexport function findAllByType(children, type) {\n var result = [];\n var types = [];\n if (Array.isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n toArray(children).forEach(function (child) {\n var childType = get(child, 'type.displayName') || get(child, 'type.name');\n if (types.indexOf(childType) !== -1) {\n result.push(child);\n }\n });\n return result;\n}\n\n/*\n * Return the first matched child by type, return null otherwise.\n * `type` must be a React.ComponentType\n */\nexport function findChildByType(children, type) {\n var result = findAllByType(children, type);\n return result && result[0];\n}\n\n/*\n * Create a new array of children excluding the ones matched the type\n */\nexport var withoutType = function withoutType(children, type) {\n var newChildren = [];\n var types;\n if (Array.isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n toArray(children).forEach(function (child) {\n var displayName = get(child, 'type.displayName');\n if (displayName && types.indexOf(displayName) !== -1) {\n return;\n }\n newChildren.push(child);\n });\n return newChildren;\n};\n\n/**\n * validate the width and height props of a chart element\n * @param {Object} el A chart element\n * @return {Boolean} true If the props width and height are number, and greater than 0\n */\nexport var validateWidthHeight = function validateWidthHeight(el) {\n if (!el || !el.props) {\n return false;\n }\n var _el$props = el.props,\n width = _el$props.width,\n height = _el$props.height;\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0) {\n return false;\n }\n return true;\n};\nvar SVG_TAGS = ['a', 'altGlyph', 'altGlyphDef', 'altGlyphItem', 'animate', 'animateColor', 'animateMotion', 'animateTransform', 'circle', 'clipPath', 'color-profile', 'cursor', 'defs', 'desc', 'ellipse', 'feBlend', 'feColormatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence', 'filter', 'font', 'font-face', 'font-face-format', 'font-face-name', 'font-face-url', 'foreignObject', 'g', 'glyph', 'glyphRef', 'hkern', 'image', 'line', 'lineGradient', 'marker', 'mask', 'metadata', 'missing-glyph', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'script', 'set', 'stop', 'style', 'svg', 'switch', 'symbol', 'text', 'textPath', 'title', 'tref', 'tspan', 'use', 'view', 'vkern'];\nvar isSvgElement = function isSvgElement(child) {\n return child && child.type && isString(child.type) && SVG_TAGS.indexOf(child.type) >= 0;\n};\nexport var hasClipDot = function hasClipDot(dot) {\n return dot && _typeof(dot) === 'object' && 'clipDot' in dot;\n};\n\n/**\n * Checks if the property is valid to spread onto an SVG element or onto a specific component\n * @param {unknown} property property value currently being compared\n * @param {string} key property key currently being compared\n * @param {boolean} includeEvents if events are included in spreadable props\n * @param {boolean} svgElementType checks against map of SVG element types to attributes\n * @returns {boolean} is prop valid\n */\nexport var isValidSpreadableProp = function isValidSpreadableProp(property, key, includeEvents, svgElementType) {\n var _FilteredElementKeyMa;\n /**\n * If the svg element type is explicitly included, check against the filtered element key map\n * to determine if there are attributes that should only exist on that element type.\n * @todo Add an internal cjs version of https://github.com/wooorm/svg-element-attributes for full coverage.\n */\n var matchingElementTypeKeys = (_FilteredElementKeyMa = FilteredElementKeyMap === null || FilteredElementKeyMap === void 0 ? void 0 : FilteredElementKeyMap[svgElementType]) !== null && _FilteredElementKeyMa !== void 0 ? _FilteredElementKeyMa : [];\n return key.startsWith('data-') || !isFunction(property) && (svgElementType && matchingElementTypeKeys.includes(key) || SVGElementPropKeys.includes(key)) || includeEvents && EventKeys.includes(key);\n};\n\n/**\n * Filter all the svg elements of children\n * @param {Array} children The children of a react element\n * @return {Array} All the svg elements\n */\nexport var filterSvgElements = function filterSvgElements(children) {\n var svgElements = [];\n toArray(children).forEach(function (entry) {\n if (isSvgElement(entry)) {\n svgElements.push(entry);\n }\n });\n return svgElements;\n};\nexport var filterProps = function filterProps(props, includeEvents, svgElementType) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n var inputProps = props;\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n if (!isObject(inputProps)) {\n return null;\n }\n var out = {};\n\n /**\n * Props are blindly spread onto SVG elements. This loop filters out properties that we don't want to spread.\n * Items filtered out are as follows:\n * - functions in properties that are SVG attributes (functions are included when includeEvents is true)\n * - props that are SVG attributes but don't matched the passed svgElementType\n * - any prop that is not in SVGElementPropKeys (or in EventKeys if includeEvents is true)\n */\n Object.keys(inputProps).forEach(function (key) {\n var _inputProps;\n if (isValidSpreadableProp((_inputProps = inputProps) === null || _inputProps === void 0 ? void 0 : _inputProps[key], key, includeEvents, svgElementType)) {\n out[key] = inputProps[key];\n }\n });\n return out;\n};\n\n/**\n * Wether props of children changed\n * @param {Object} nextChildren The latest children\n * @param {Object} prevChildren The prev children\n * @return {Boolean} equal or not\n */\nexport var isChildrenEqual = function isChildrenEqual(nextChildren, prevChildren) {\n if (nextChildren === prevChildren) {\n return true;\n }\n var count = Children.count(nextChildren);\n if (count !== Children.count(prevChildren)) {\n return false;\n }\n if (count === 0) {\n return true;\n }\n if (count === 1) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return isSingleChildEqual(Array.isArray(nextChildren) ? nextChildren[0] : nextChildren, Array.isArray(prevChildren) ? prevChildren[0] : prevChildren);\n }\n for (var i = 0; i < count; i++) {\n var nextChild = nextChildren[i];\n var prevChild = prevChildren[i];\n if (Array.isArray(nextChild) || Array.isArray(prevChild)) {\n if (!isChildrenEqual(nextChild, prevChild)) {\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n } else if (!isSingleChildEqual(nextChild, prevChild)) {\n return false;\n }\n }\n return true;\n};\nexport var isSingleChildEqual = function isSingleChildEqual(nextChild, prevChild) {\n if (isNil(nextChild) && isNil(prevChild)) {\n return true;\n }\n if (!isNil(nextChild) && !isNil(prevChild)) {\n var _ref = nextChild.props || {},\n nextChildren = _ref.children,\n nextProps = _objectWithoutProperties(_ref, _excluded);\n var _ref2 = prevChild.props || {},\n prevChildren = _ref2.children,\n prevProps = _objectWithoutProperties(_ref2, _excluded2);\n if (nextChildren && prevChildren) {\n return shallowEqual(nextProps, prevProps) && isChildrenEqual(nextChildren, prevChildren);\n }\n if (!nextChildren && !prevChildren) {\n return shallowEqual(nextProps, prevProps);\n }\n return false;\n }\n return false;\n};\nexport var renderByOrder = function renderByOrder(children, renderMap) {\n var elements = [];\n var record = {};\n toArray(children).forEach(function (child, index) {\n if (isSvgElement(child)) {\n elements.push(child);\n } else if (child) {\n var displayName = getDisplayName(child.type);\n var _ref3 = renderMap[displayName] || {},\n handler = _ref3.handler,\n once = _ref3.once;\n if (handler && (!once || !record[displayName])) {\n var results = handler(child, displayName, index);\n elements.push(results);\n record[displayName] = true;\n }\n }\n });\n return elements;\n};\nexport var getReactEventByType = function getReactEventByType(e) {\n var type = e && e.type;\n if (type && REACT_BROWSER_EVENT_MAP[type]) {\n return REACT_BROWSER_EVENT_MAP[type];\n }\n return null;\n};\nexport var parseChildIndex = function parseChildIndex(child, children) {\n return toArray(children).indexOf(child);\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\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.\"); }\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); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport * as d3Scales from 'victory-vendor/d3-scale';\nimport { stack as shapeStack, stackOffsetExpand, stackOffsetNone, stackOffsetSilhouette, stackOffsetWiggle, stackOrderNone } from 'victory-vendor/d3-shape';\nimport max from 'lodash/max';\nimport min from 'lodash/min';\nimport isNil from 'lodash/isNil';\nimport isFunction from 'lodash/isFunction';\nimport isString from 'lodash/isString';\nimport get from 'lodash/get';\nimport flatMap from 'lodash/flatMap';\nimport isNan from 'lodash/isNaN';\nimport upperFirst from 'lodash/upperFirst';\nimport isEqual from 'lodash/isEqual';\nimport sortBy from 'lodash/sortBy';\nimport { getNiceTickValues, getTickValuesFixedDomain } from 'recharts-scale';\nimport { ErrorBar } from '../cartesian/ErrorBar';\nimport { findEntryInArray, getPercentValue, isNumber, isNumOrStr, mathSign, uniqueId } from './DataUtils';\nimport { filterProps, findAllByType, getDisplayName } from './ReactUtils';\n// TODO: Cause of circular dependency. Needs refactor.\n// import { RadiusAxisProps, AngleAxisProps } from '../polar/types';\n\nimport { getLegendProps } from './getLegendProps';\n\n// Exported for backwards compatibility\nexport { getLegendProps };\nexport function getValueByDataKey(obj, dataKey, defaultValue) {\n if (isNil(obj) || isNil(dataKey)) {\n return defaultValue;\n }\n if (isNumOrStr(dataKey)) {\n return get(obj, dataKey, defaultValue);\n }\n if (isFunction(dataKey)) {\n return dataKey(obj);\n }\n return defaultValue;\n}\n/**\n * Get domain of data by key.\n * @param {Array} data The data displayed in the chart\n * @param {String} key The unique key of a group of data\n * @param {String} type The type of axis\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain of data\n */\nexport function getDomainOfDataByKey(data, key, type, filterNil) {\n var flattenData = flatMap(data, function (entry) {\n return getValueByDataKey(entry, key);\n });\n if (type === 'number') {\n // @ts-expect-error parseFloat type only accepts strings\n var domain = flattenData.filter(function (entry) {\n return isNumber(entry) || parseFloat(entry);\n });\n return domain.length ? [min(domain), max(domain)] : [Infinity, -Infinity];\n }\n var validateData = filterNil ? flattenData.filter(function (entry) {\n return !isNil(entry);\n }) : flattenData;\n\n // Supports x-axis of Date type\n return validateData.map(function (entry) {\n return isNumOrStr(entry) || entry instanceof Date ? entry : '';\n });\n}\nexport var calculateActiveTickIndex = function calculateActiveTickIndex(coordinate) {\n var _ticks$length;\n var ticks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var unsortedTicks = arguments.length > 2 ? arguments[2] : undefined;\n var axis = arguments.length > 3 ? arguments[3] : undefined;\n var index = -1;\n var len = (_ticks$length = ticks === null || ticks === void 0 ? void 0 : ticks.length) !== null && _ticks$length !== void 0 ? _ticks$length : 0;\n\n // if there are 1 or less ticks ticks then the active tick is at index 0\n if (len <= 1) {\n return 0;\n }\n if (axis && axis.axisType === 'angleAxis' && Math.abs(Math.abs(axis.range[1] - axis.range[0]) - 360) <= 1e-6) {\n var range = axis.range;\n // ticks are distributed in a circle\n for (var i = 0; i < len; i++) {\n var before = i > 0 ? unsortedTicks[i - 1].coordinate : unsortedTicks[len - 1].coordinate;\n var cur = unsortedTicks[i].coordinate;\n var after = i >= len - 1 ? unsortedTicks[0].coordinate : unsortedTicks[i + 1].coordinate;\n var sameDirectionCoord = void 0;\n if (mathSign(cur - before) !== mathSign(after - cur)) {\n var diffInterval = [];\n if (mathSign(after - cur) === mathSign(range[1] - range[0])) {\n sameDirectionCoord = after;\n var curInRange = cur + range[1] - range[0];\n diffInterval[0] = Math.min(curInRange, (curInRange + before) / 2);\n diffInterval[1] = Math.max(curInRange, (curInRange + before) / 2);\n } else {\n sameDirectionCoord = before;\n var afterInRange = after + range[1] - range[0];\n diffInterval[0] = Math.min(cur, (afterInRange + cur) / 2);\n diffInterval[1] = Math.max(cur, (afterInRange + cur) / 2);\n }\n var sameInterval = [Math.min(cur, (sameDirectionCoord + cur) / 2), Math.max(cur, (sameDirectionCoord + cur) / 2)];\n if (coordinate > sameInterval[0] && coordinate <= sameInterval[1] || coordinate >= diffInterval[0] && coordinate <= diffInterval[1]) {\n index = unsortedTicks[i].index;\n break;\n }\n } else {\n var minValue = Math.min(before, after);\n var maxValue = Math.max(before, after);\n if (coordinate > (minValue + cur) / 2 && coordinate <= (maxValue + cur) / 2) {\n index = unsortedTicks[i].index;\n break;\n }\n }\n }\n } else {\n // ticks are distributed in a single direction\n for (var _i = 0; _i < len; _i++) {\n if (_i === 0 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i > 0 && _i < len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i === len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2) {\n index = ticks[_i].index;\n break;\n }\n }\n }\n return index;\n};\n\n/**\n * Get the main color of each graphic item\n * @param {ReactElement} item A graphic item\n * @return {String} Color\n */\nexport var getMainColorOfGraphicItem = function getMainColorOfGraphicItem(item) {\n var _item$type;\n var _ref = item,\n displayName = _ref.type.displayName; // TODO: check if displayName is valid.\n var defaultedProps = (_item$type = item.type) !== null && _item$type !== void 0 && _item$type.defaultProps ? _objectSpread(_objectSpread({}, item.type.defaultProps), item.props) : item.props;\n var stroke = defaultedProps.stroke,\n fill = defaultedProps.fill;\n var result;\n switch (displayName) {\n case 'Line':\n result = stroke;\n break;\n case 'Area':\n case 'Radar':\n result = stroke && stroke !== 'none' ? stroke : fill;\n break;\n default:\n result = fill;\n break;\n }\n return result;\n};\n/**\n * Calculate the size of all groups for stacked bar graph\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @return {Object} The size of all groups\n */\nexport var getBarSizeList = function getBarSizeList(_ref2) {\n var globalSize = _ref2.barSize,\n totalSize = _ref2.totalSize,\n _ref2$stackGroups = _ref2.stackGroups,\n stackGroups = _ref2$stackGroups === void 0 ? {} : _ref2$stackGroups;\n if (!stackGroups) {\n return {};\n }\n var result = {};\n var numericAxisIds = Object.keys(stackGroups);\n for (var i = 0, len = numericAxisIds.length; i < len; i++) {\n var sgs = stackGroups[numericAxisIds[i]].stackGroups;\n var stackIds = Object.keys(sgs);\n for (var j = 0, sLen = stackIds.length; j < sLen; j++) {\n var _sgs$stackIds$j = sgs[stackIds[j]],\n items = _sgs$stackIds$j.items,\n cateAxisId = _sgs$stackIds$j.cateAxisId;\n var barItems = items.filter(function (item) {\n return getDisplayName(item.type).indexOf('Bar') >= 0;\n });\n if (barItems && barItems.length) {\n var barItemDefaultProps = barItems[0].type.defaultProps;\n var barItemProps = barItemDefaultProps !== undefined ? _objectSpread(_objectSpread({}, barItemDefaultProps), barItems[0].props) : barItems[0].props;\n var selfSize = barItemProps.barSize;\n var cateId = barItemProps[cateAxisId];\n if (!result[cateId]) {\n result[cateId] = [];\n }\n var barSize = isNil(selfSize) ? globalSize : selfSize;\n result[cateId].push({\n item: barItems[0],\n stackList: barItems.slice(1),\n barSize: isNil(barSize) ? undefined : getPercentValue(barSize, totalSize, 0)\n });\n }\n }\n }\n return result;\n};\n/**\n * Calculate the size of each bar and offset between start of band and the bar\n *\n * @param {number} bandSize is the size of area where bars can render\n * @param {number | string} barGap is the gap size, as a percentage of `bandSize`.\n * Can be defined as number or percent string\n * @param {number | string} barCategoryGap is the gap size, as a percentage of `bandSize`.\n * Can be defined as number or percent string\n * @param {Array} sizeList Sizes of all groups\n * @param {number} maxBarSize The maximum size of each bar\n * @return {Array} The size and offset of each bar\n */\nexport var getBarPosition = function getBarPosition(_ref3) {\n var barGap = _ref3.barGap,\n barCategoryGap = _ref3.barCategoryGap,\n bandSize = _ref3.bandSize,\n _ref3$sizeList = _ref3.sizeList,\n sizeList = _ref3$sizeList === void 0 ? [] : _ref3$sizeList,\n maxBarSize = _ref3.maxBarSize;\n var len = sizeList.length;\n if (len < 1) return null;\n var realBarGap = getPercentValue(barGap, bandSize, 0, true);\n var result;\n var initialValue = [];\n\n // whether or not is barSize setted by user\n if (sizeList[0].barSize === +sizeList[0].barSize) {\n var useFull = false;\n var fullBarSize = bandSize / len;\n // @ts-expect-error the type check above does not check for type number explicitly\n var sum = sizeList.reduce(function (res, entry) {\n return res + entry.barSize || 0;\n }, 0);\n sum += (len - 1) * realBarGap;\n if (sum >= bandSize) {\n sum -= (len - 1) * realBarGap;\n realBarGap = 0;\n }\n if (sum >= bandSize && fullBarSize > 0) {\n useFull = true;\n fullBarSize *= 0.9;\n sum = len * fullBarSize;\n }\n var offset = (bandSize - sum) / 2 >> 0;\n var prev = {\n offset: offset - realBarGap,\n size: 0\n };\n result = sizeList.reduce(function (res, entry) {\n var newPosition = {\n item: entry.item,\n position: {\n offset: prev.offset + prev.size + realBarGap,\n // @ts-expect-error the type check above does not check for type number explicitly\n size: useFull ? fullBarSize : entry.barSize\n }\n };\n var newRes = [].concat(_toConsumableArray(res), [newPosition]);\n prev = newRes[newRes.length - 1].position;\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: prev\n });\n });\n }\n return newRes;\n }, initialValue);\n } else {\n var _offset = getPercentValue(barCategoryGap, bandSize, 0, true);\n if (bandSize - 2 * _offset - (len - 1) * realBarGap <= 0) {\n realBarGap = 0;\n }\n var originalSize = (bandSize - 2 * _offset - (len - 1) * realBarGap) / len;\n if (originalSize > 1) {\n originalSize >>= 0;\n }\n var size = maxBarSize === +maxBarSize ? Math.min(originalSize, maxBarSize) : originalSize;\n result = sizeList.reduce(function (res, entry, i) {\n var newRes = [].concat(_toConsumableArray(res), [{\n item: entry.item,\n position: {\n offset: _offset + (originalSize + realBarGap) * i + (originalSize - size) / 2,\n size: size\n }\n }]);\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: newRes[newRes.length - 1].position\n });\n });\n }\n return newRes;\n }, initialValue);\n }\n return result;\n};\nexport var appendOffsetOfLegend = function appendOffsetOfLegend(offset, _unused, props, legendBox) {\n var children = props.children,\n width = props.width,\n margin = props.margin;\n var legendWidth = width - (margin.left || 0) - (margin.right || 0);\n var legendProps = getLegendProps({\n children: children,\n legendWidth: legendWidth\n });\n if (legendProps) {\n var _ref4 = legendBox || {},\n boxWidth = _ref4.width,\n boxHeight = _ref4.height;\n var align = legendProps.align,\n verticalAlign = legendProps.verticalAlign,\n layout = legendProps.layout;\n if ((layout === 'vertical' || layout === 'horizontal' && verticalAlign === 'middle') && align !== 'center' && isNumber(offset[align])) {\n return _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, align, offset[align] + (boxWidth || 0)));\n }\n if ((layout === 'horizontal' || layout === 'vertical' && align === 'center') && verticalAlign !== 'middle' && isNumber(offset[verticalAlign])) {\n return _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, verticalAlign, offset[verticalAlign] + (boxHeight || 0)));\n }\n }\n return offset;\n};\nvar isErrorBarRelevantForAxis = function isErrorBarRelevantForAxis(layout, axisType, direction) {\n if (isNil(axisType)) {\n return true;\n }\n if (layout === 'horizontal') {\n return axisType === 'yAxis';\n }\n if (layout === 'vertical') {\n return axisType === 'xAxis';\n }\n if (direction === 'x') {\n return axisType === 'xAxis';\n }\n if (direction === 'y') {\n return axisType === 'yAxis';\n }\n return true;\n};\nexport var getDomainOfErrorBars = function getDomainOfErrorBars(data, item, dataKey, layout, axisType) {\n var children = item.props.children;\n var errorBars = findAllByType(children, ErrorBar).filter(function (errorBarChild) {\n return isErrorBarRelevantForAxis(layout, axisType, errorBarChild.props.direction);\n });\n if (errorBars && errorBars.length) {\n var keys = errorBars.map(function (errorBarChild) {\n return errorBarChild.props.dataKey;\n });\n return data.reduce(function (result, entry) {\n var entryValue = getValueByDataKey(entry, dataKey);\n if (isNil(entryValue)) return result;\n var mainValue = Array.isArray(entryValue) ? [min(entryValue), max(entryValue)] : [entryValue, entryValue];\n var errorDomain = keys.reduce(function (prevErrorArr, k) {\n var errorValue = getValueByDataKey(entry, k, 0);\n var lowerValue = mainValue[0] - Math.abs(Array.isArray(errorValue) ? errorValue[0] : errorValue);\n var upperValue = mainValue[1] + Math.abs(Array.isArray(errorValue) ? errorValue[1] : errorValue);\n return [Math.min(lowerValue, prevErrorArr[0]), Math.max(upperValue, prevErrorArr[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(errorDomain[0], result[0]), Math.max(errorDomain[1], result[1])];\n }, [Infinity, -Infinity]);\n }\n return null;\n};\nexport var parseErrorBarsOfAxis = function parseErrorBarsOfAxis(data, items, dataKey, axisType, layout) {\n var domains = items.map(function (item) {\n return getDomainOfErrorBars(data, item, dataKey, layout, axisType);\n }).filter(function (entry) {\n return !isNil(entry);\n });\n if (domains && domains.length) {\n return domains.reduce(function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n return null;\n};\n\n/**\n * Get domain of data by the configuration of item element\n * @param {Array} data The data displayed in the chart\n * @param {Array} items The instances of item\n * @param {String} type The type of axis, number - Number Axis, category - Category Axis\n * @param {LayoutType} layout The type of layout\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain\n */\nexport var getDomainOfItemsWithSameAxis = function getDomainOfItemsWithSameAxis(data, items, type, layout, filterNil) {\n var domains = items.map(function (item) {\n var dataKey = item.props.dataKey;\n if (type === 'number' && dataKey) {\n return getDomainOfErrorBars(data, item, dataKey, layout) || getDomainOfDataByKey(data, dataKey, type, filterNil);\n }\n return getDomainOfDataByKey(data, dataKey, type, filterNil);\n });\n if (type === 'number') {\n // Calculate the domain of number axis\n return domains.reduce(\n // @ts-expect-error if (type === number) means that the domain is numerical type\n // - but this link is missing in the type definition\n function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n var tag = {};\n // Get the union set of category axis\n return domains.reduce(function (result, entry) {\n for (var i = 0, len = entry.length; i < len; i++) {\n // @ts-expect-error Date cannot index an object\n if (!tag[entry[i]]) {\n // @ts-expect-error Date cannot index an object\n tag[entry[i]] = true;\n\n // @ts-expect-error Date cannot index an object\n result.push(entry[i]);\n }\n }\n return result;\n }, []);\n};\nexport var isCategoricalAxis = function isCategoricalAxis(layout, axisType) {\n return layout === 'horizontal' && axisType === 'xAxis' || layout === 'vertical' && axisType === 'yAxis' || layout === 'centric' && axisType === 'angleAxis' || layout === 'radial' && axisType === 'radiusAxis';\n};\n\n/**\n * Calculate the Coordinates of grid\n * @param {Array} ticks The ticks in axis\n * @param {Number} minValue The minimun value of axis\n * @param {Number} maxValue The maximun value of axis\n * @param {boolean} syncWithTicks Synchronize grid lines with ticks or not\n * @return {Array} Coordinates\n */\nexport var getCoordinatesOfGrid = function getCoordinatesOfGrid(ticks, minValue, maxValue, syncWithTicks) {\n if (syncWithTicks) {\n return ticks.map(function (entry) {\n return entry.coordinate;\n });\n }\n var hasMin, hasMax;\n var values = ticks.map(function (entry) {\n if (entry.coordinate === minValue) {\n hasMin = true;\n }\n if (entry.coordinate === maxValue) {\n hasMax = true;\n }\n return entry.coordinate;\n });\n if (!hasMin) {\n values.push(minValue);\n }\n if (!hasMax) {\n values.push(maxValue);\n }\n return values;\n};\n\n/**\n * Get the ticks of an axis\n * @param {Object} axis The configuration of an axis\n * @param {Boolean} isGrid Whether or not are the ticks in grid\n * @param {Boolean} isAll Return the ticks of all the points or not\n * @return {Array} Ticks\n */\nexport var getTicksOfAxis = function getTicksOfAxis(axis, isGrid, isAll) {\n if (!axis) return null;\n var scale = axis.scale;\n var duplicateDomain = axis.duplicateDomain,\n type = axis.type,\n range = axis.range;\n var offsetForBand = axis.realScaleType === 'scaleBand' ? scale.bandwidth() / 2 : 2;\n var offset = (isGrid || isAll) && type === 'category' && scale.bandwidth ? scale.bandwidth() / offsetForBand : 0;\n offset = axis.axisType === 'angleAxis' && (range === null || range === void 0 ? void 0 : range.length) >= 2 ? mathSign(range[0] - range[1]) * 2 * offset : offset;\n\n // The ticks set by user should only affect the ticks adjacent to axis line\n if (isGrid && (axis.ticks || axis.niceTicks)) {\n var result = (axis.ticks || axis.niceTicks).map(function (entry) {\n var scaleContent = duplicateDomain ? duplicateDomain.indexOf(entry) : entry;\n return {\n // If the scaleContent is not a number, the coordinate will be NaN.\n // That could be the case for example with a PointScale and a string as domain.\n coordinate: scale(scaleContent) + offset,\n value: entry,\n offset: offset\n };\n });\n return result.filter(function (row) {\n return !isNan(row.coordinate);\n });\n }\n\n // When axis is a categorial axis, but the type of axis is number or the scale of axis is not \"auto\"\n if (axis.isCategorical && axis.categoricalDomain) {\n return axis.categoricalDomain.map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n index: index,\n offset: offset\n };\n });\n }\n if (scale.ticks && !isAll) {\n return scale.ticks(axis.tickCount).map(function (entry) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n offset: offset\n };\n });\n }\n\n // When axis has duplicated text, serial numbers are used to generate scale\n return scale.domain().map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index,\n offset: offset\n };\n });\n};\n\n/**\n * combine the handlers\n * @param {Function} defaultHandler Internal private handler\n * @param {Function} childHandler Handler function specified in child component\n * @return {Function} The combined handler\n */\n\nvar handlerWeakMap = new WeakMap();\nexport var combineEventHandlers = function combineEventHandlers(defaultHandler, childHandler) {\n if (typeof childHandler !== 'function') {\n return defaultHandler;\n }\n if (!handlerWeakMap.has(defaultHandler)) {\n handlerWeakMap.set(defaultHandler, new WeakMap());\n }\n var childWeakMap = handlerWeakMap.get(defaultHandler);\n if (childWeakMap.has(childHandler)) {\n return childWeakMap.get(childHandler);\n }\n var combineHandler = function combineHandler() {\n defaultHandler.apply(void 0, arguments);\n childHandler.apply(void 0, arguments);\n };\n childWeakMap.set(childHandler, combineHandler);\n return combineHandler;\n};\n\n/**\n * Parse the scale function of axis\n * @param {Object} axis The option of axis\n * @param {String} chartType The displayName of chart\n * @param {Boolean} hasBar if it has a bar\n * @return {object} The scale function and resolved name\n */\nexport var parseScale = function parseScale(axis, chartType, hasBar) {\n var scale = axis.scale,\n type = axis.type,\n layout = axis.layout,\n axisType = axis.axisType;\n if (scale === 'auto') {\n if (layout === 'radial' && axisType === 'radiusAxis') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n if (layout === 'radial' && axisType === 'angleAxis') {\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n if (type === 'category' && chartType && (chartType.indexOf('LineChart') >= 0 || chartType.indexOf('AreaChart') >= 0 || chartType.indexOf('ComposedChart') >= 0 && !hasBar)) {\n return {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n }\n if (type === 'category') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n if (isString(scale)) {\n var name = \"scale\".concat(upperFirst(scale));\n return {\n scale: (d3Scales[name] || d3Scales.scalePoint)(),\n realScaleType: d3Scales[name] ? name : 'point'\n };\n }\n return isFunction(scale) ? {\n scale: scale\n } : {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n};\nvar EPS = 1e-4;\nexport var checkDomainOfScale = function checkDomainOfScale(scale) {\n var domain = scale.domain();\n if (!domain || domain.length <= 2) {\n return;\n }\n var len = domain.length;\n var range = scale.range();\n var minValue = Math.min(range[0], range[1]) - EPS;\n var maxValue = Math.max(range[0], range[1]) + EPS;\n var first = scale(domain[0]);\n var last = scale(domain[len - 1]);\n if (first < minValue || first > maxValue || last < minValue || last > maxValue) {\n scale.domain([domain[0], domain[len - 1]]);\n }\n};\nexport var findPositionOfBar = function findPositionOfBar(barPosition, child) {\n if (!barPosition) {\n return null;\n }\n for (var i = 0, len = barPosition.length; i < len; i++) {\n if (barPosition[i].item === child) {\n return barPosition[i].position;\n }\n }\n return null;\n};\n\n/**\n * Both value and domain are tuples of two numbers\n * - but the type stays as array of numbers until we have better support in rest of the app\n * @param {Array} value input that will be truncated\n * @param {Array} domain boundaries\n * @returns {Array} tuple of two numbers\n */\nexport var truncateByDomain = function truncateByDomain(value, domain) {\n if (!domain || domain.length !== 2 || !isNumber(domain[0]) || !isNumber(domain[1])) {\n return value;\n }\n var minValue = Math.min(domain[0], domain[1]);\n var maxValue = Math.max(domain[0], domain[1]);\n var result = [value[0], value[1]];\n if (!isNumber(value[0]) || value[0] < minValue) {\n result[0] = minValue;\n }\n if (!isNumber(value[1]) || value[1] > maxValue) {\n result[1] = maxValue;\n }\n if (result[0] > maxValue) {\n result[0] = maxValue;\n }\n if (result[1] < minValue) {\n result[1] = minValue;\n }\n return result;\n};\n\n/**\n * Stacks all positive numbers above zero and all negative numbers below zero.\n *\n * If all values in the series are positive then this behaves the same as 'none' stacker.\n *\n * @param {Array} series from d3-shape Stack\n * @return {Array} series with applied offset\n */\nexport var offsetSign = function offsetSign(series) {\n var n = series.length;\n if (n <= 0) {\n return;\n }\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n var negative = 0;\n for (var i = 0; i < n; ++i) {\n var value = isNan(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n\n /* eslint-disable prefer-destructuring, no-param-reassign */\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = negative;\n series[i][j][1] = negative + value;\n negative = series[i][j][1];\n }\n /* eslint-enable prefer-destructuring, no-param-reassign */\n }\n }\n};\n\n/**\n * Replaces all negative values with zero when stacking data.\n *\n * If all values in the series are positive then this behaves the same as 'none' stacker.\n *\n * @param {Array} series from d3-shape Stack\n * @return {Array} series with applied offset\n */\nexport var offsetPositive = function offsetPositive(series) {\n var n = series.length;\n if (n <= 0) {\n return;\n }\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n for (var i = 0; i < n; ++i) {\n var value = isNan(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n\n /* eslint-disable prefer-destructuring, no-param-reassign */\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = 0;\n series[i][j][1] = 0;\n }\n /* eslint-enable prefer-destructuring, no-param-reassign */\n }\n }\n};\n\n/**\n * Function type to compute offset for stacked data.\n *\n * d3-shape has something fishy going on with its types.\n * In @definitelytyped/d3-shape, this function (the offset accessor) is typed as Series<> => void.\n * However! When I actually open the storybook I can see that the offset accessor actually receives Array>.\n * The same I can see in the source code itself:\n * https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/66042\n * That one unfortunately has no types but we can tell it passes three-dimensional array.\n *\n * Which leads me to believe that definitelytyped is wrong on this one.\n * There's open discussion on this topic without much attention:\n * https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/66042\n */\n\nvar STACK_OFFSET_MAP = {\n sign: offsetSign,\n // @ts-expect-error definitelytyped types are incorrect\n expand: stackOffsetExpand,\n // @ts-expect-error definitelytyped types are incorrect\n none: stackOffsetNone,\n // @ts-expect-error definitelytyped types are incorrect\n silhouette: stackOffsetSilhouette,\n // @ts-expect-error definitelytyped types are incorrect\n wiggle: stackOffsetWiggle,\n positive: offsetPositive\n};\nexport var getStackedData = function getStackedData(data, stackItems, offsetType) {\n var dataKeys = stackItems.map(function (item) {\n return item.props.dataKey;\n });\n var offsetAccessor = STACK_OFFSET_MAP[offsetType];\n var stack = shapeStack()\n // @ts-expect-error stack.keys type wants an array of strings, but we provide array of DataKeys\n .keys(dataKeys).value(function (d, key) {\n return +getValueByDataKey(d, key, 0);\n }).order(stackOrderNone)\n // @ts-expect-error definitelytyped types are incorrect\n .offset(offsetAccessor);\n return stack(data);\n};\nexport var getStackGroupsByAxisId = function getStackGroupsByAxisId(data, _items, numericAxisId, cateAxisId, offsetType, reverseStackOrder) {\n if (!data) {\n return null;\n }\n\n // reversing items to affect render order (for layering)\n var items = reverseStackOrder ? _items.reverse() : _items;\n var parentStackGroupsInitialValue = {};\n var stackGroups = items.reduce(function (result, item) {\n var _item$type2;\n var defaultedProps = (_item$type2 = item.type) !== null && _item$type2 !== void 0 && _item$type2.defaultProps ? _objectSpread(_objectSpread({}, item.type.defaultProps), item.props) : item.props;\n var stackId = defaultedProps.stackId,\n hide = defaultedProps.hide;\n if (hide) {\n return result;\n }\n var axisId = defaultedProps[numericAxisId];\n var parentGroup = result[axisId] || {\n hasStack: false,\n stackGroups: {}\n };\n if (isNumOrStr(stackId)) {\n var childGroup = parentGroup.stackGroups[stackId] || {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: []\n };\n childGroup.items.push(item);\n parentGroup.hasStack = true;\n parentGroup.stackGroups[stackId] = childGroup;\n } else {\n parentGroup.stackGroups[uniqueId('_stackId_')] = {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: [item]\n };\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, parentGroup));\n }, parentStackGroupsInitialValue);\n var axisStackGroupsInitialValue = {};\n return Object.keys(stackGroups).reduce(function (result, axisId) {\n var group = stackGroups[axisId];\n if (group.hasStack) {\n var stackGroupsInitialValue = {};\n group.stackGroups = Object.keys(group.stackGroups).reduce(function (res, stackId) {\n var g = group.stackGroups[stackId];\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, stackId, {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: g.items,\n stackedData: getStackedData(data, g.items, offsetType)\n }));\n }, stackGroupsInitialValue);\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, group));\n }, axisStackGroupsInitialValue);\n};\n\n/**\n * Configure the scale function of axis\n * @param {Object} scale The scale function\n * @param {Object} opts The configuration of axis\n * @return {Object} null\n */\nexport var getTicksOfScale = function getTicksOfScale(scale, opts) {\n var realScaleType = opts.realScaleType,\n type = opts.type,\n tickCount = opts.tickCount,\n originalDomain = opts.originalDomain,\n allowDecimals = opts.allowDecimals;\n var scaleType = realScaleType || opts.scale;\n if (scaleType !== 'auto' && scaleType !== 'linear') {\n return null;\n }\n if (tickCount && type === 'number' && originalDomain && (originalDomain[0] === 'auto' || originalDomain[1] === 'auto')) {\n // Calculate the ticks by the number of grid when the axis is a number axis\n var domain = scale.domain();\n if (!domain.length) {\n return null;\n }\n var tickValues = getNiceTickValues(domain, tickCount, allowDecimals);\n scale.domain([min(tickValues), max(tickValues)]);\n return {\n niceTicks: tickValues\n };\n }\n if (tickCount && type === 'number') {\n var _domain = scale.domain();\n var _tickValues = getTickValuesFixedDomain(_domain, tickCount, allowDecimals);\n return {\n niceTicks: _tickValues\n };\n }\n return null;\n};\nexport function getCateCoordinateOfLine(_ref5) {\n var axis = _ref5.axis,\n ticks = _ref5.ticks,\n bandSize = _ref5.bandSize,\n entry = _ref5.entry,\n index = _ref5.index,\n dataKey = _ref5.dataKey;\n if (axis.type === 'category') {\n // find coordinate of category axis by the value of category\n // @ts-expect-error why does this use direct object access instead of getValueByDataKey?\n if (!axis.allowDuplicatedCategory && axis.dataKey && !isNil(entry[axis.dataKey])) {\n // @ts-expect-error why does this use direct object access instead of getValueByDataKey?\n var matchedTick = findEntryInArray(ticks, 'value', entry[axis.dataKey]);\n if (matchedTick) {\n return matchedTick.coordinate + bandSize / 2;\n }\n }\n return ticks[index] ? ticks[index].coordinate + bandSize / 2 : null;\n }\n var value = getValueByDataKey(entry, !isNil(dataKey) ? dataKey : axis.dataKey);\n return !isNil(value) ? axis.scale(value) : null;\n}\nexport var getCateCoordinateOfBar = function getCateCoordinateOfBar(_ref6) {\n var axis = _ref6.axis,\n ticks = _ref6.ticks,\n offset = _ref6.offset,\n bandSize = _ref6.bandSize,\n entry = _ref6.entry,\n index = _ref6.index;\n if (axis.type === 'category') {\n return ticks[index] ? ticks[index].coordinate + offset : null;\n }\n var value = getValueByDataKey(entry, axis.dataKey, axis.domain[index]);\n return !isNil(value) ? axis.scale(value) - bandSize / 2 + offset : null;\n};\nexport var getBaseValueOfBar = function getBaseValueOfBar(_ref7) {\n var numericAxis = _ref7.numericAxis;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === 'number') {\n var minValue = Math.min(domain[0], domain[1]);\n var maxValue = Math.max(domain[0], domain[1]);\n if (minValue <= 0 && maxValue >= 0) {\n return 0;\n }\n if (maxValue < 0) {\n return maxValue;\n }\n return minValue;\n }\n return domain[0];\n};\nexport var getStackedDataOfItem = function getStackedDataOfItem(item, stackGroups) {\n var _item$type3;\n var defaultedProps = (_item$type3 = item.type) !== null && _item$type3 !== void 0 && _item$type3.defaultProps ? _objectSpread(_objectSpread({}, item.type.defaultProps), item.props) : item.props;\n var stackId = defaultedProps.stackId;\n if (isNumOrStr(stackId)) {\n var group = stackGroups[stackId];\n if (group) {\n var itemIndex = group.items.indexOf(item);\n return itemIndex >= 0 ? group.stackedData[itemIndex] : null;\n }\n }\n return null;\n};\nvar getDomainOfSingle = function getDomainOfSingle(data) {\n return data.reduce(function (result, entry) {\n return [min(entry.concat([result[0]]).filter(isNumber)), max(entry.concat([result[1]]).filter(isNumber))];\n }, [Infinity, -Infinity]);\n};\nexport var getDomainOfStackGroups = function getDomainOfStackGroups(stackGroups, startIndex, endIndex) {\n return Object.keys(stackGroups).reduce(function (result, stackId) {\n var group = stackGroups[stackId];\n var stackedData = group.stackedData;\n var domain = stackedData.reduce(function (res, entry) {\n var s = getDomainOfSingle(entry.slice(startIndex, endIndex + 1));\n return [Math.min(res[0], s[0]), Math.max(res[1], s[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(domain[0], result[0]), Math.max(domain[1], result[1])];\n }, [Infinity, -Infinity]).map(function (result) {\n return result === Infinity || result === -Infinity ? 0 : result;\n });\n};\nexport var MIN_VALUE_REG = /^dataMin[\\s]*-[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var MAX_VALUE_REG = /^dataMax[\\s]*\\+[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var parseSpecifiedDomain = function parseSpecifiedDomain(specifiedDomain, dataDomain, allowDataOverflow) {\n if (isFunction(specifiedDomain)) {\n return specifiedDomain(dataDomain, allowDataOverflow);\n }\n if (!Array.isArray(specifiedDomain)) {\n return dataDomain;\n }\n var domain = [];\n\n /* eslint-disable prefer-destructuring */\n if (isNumber(specifiedDomain[0])) {\n domain[0] = allowDataOverflow ? specifiedDomain[0] : Math.min(specifiedDomain[0], dataDomain[0]);\n } else if (MIN_VALUE_REG.test(specifiedDomain[0])) {\n var value = +MIN_VALUE_REG.exec(specifiedDomain[0])[1];\n domain[0] = dataDomain[0] - value;\n } else if (isFunction(specifiedDomain[0])) {\n domain[0] = specifiedDomain[0](dataDomain[0]);\n } else {\n domain[0] = dataDomain[0];\n }\n if (isNumber(specifiedDomain[1])) {\n domain[1] = allowDataOverflow ? specifiedDomain[1] : Math.max(specifiedDomain[1], dataDomain[1]);\n } else if (MAX_VALUE_REG.test(specifiedDomain[1])) {\n var _value = +MAX_VALUE_REG.exec(specifiedDomain[1])[1];\n domain[1] = dataDomain[1] + _value;\n } else if (isFunction(specifiedDomain[1])) {\n domain[1] = specifiedDomain[1](dataDomain[1]);\n } else {\n domain[1] = dataDomain[1];\n }\n /* eslint-enable prefer-destructuring */\n\n return domain;\n};\n\n/**\n * Calculate the size between two category\n * @param {Object} axis The options of axis\n * @param {Array} ticks The ticks of axis\n * @param {Boolean} isBar if items in axis are bars\n * @return {Number} Size\n */\nexport var getBandSizeOfAxis = function getBandSizeOfAxis(axis, ticks, isBar) {\n // @ts-expect-error we need to rethink scale type\n if (axis && axis.scale && axis.scale.bandwidth) {\n // @ts-expect-error we need to rethink scale type\n var bandWidth = axis.scale.bandwidth();\n if (!isBar || bandWidth > 0) {\n return bandWidth;\n }\n }\n if (axis && ticks && ticks.length >= 2) {\n var orderedTicks = sortBy(ticks, function (o) {\n return o.coordinate;\n });\n var bandSize = Infinity;\n for (var i = 1, len = orderedTicks.length; i < len; i++) {\n var cur = orderedTicks[i];\n var prev = orderedTicks[i - 1];\n bandSize = Math.min((cur.coordinate || 0) - (prev.coordinate || 0), bandSize);\n }\n return bandSize === Infinity ? 0 : bandSize;\n }\n return isBar ? undefined : 0;\n};\n/**\n * parse the domain of a category axis when a domain is specified\n * @param {Array} specifiedDomain The domain specified by users\n * @param {Array} calculatedDomain The domain calculated by dateKey\n * @param {ReactElement} axisChild The axis ReactElement\n * @returns {Array} domains\n */\nexport var parseDomainOfCategoryAxis = function parseDomainOfCategoryAxis(specifiedDomain, calculatedDomain, axisChild) {\n if (!specifiedDomain || !specifiedDomain.length) {\n return calculatedDomain;\n }\n if (isEqual(specifiedDomain, get(axisChild, 'type.defaultProps.domain'))) {\n return calculatedDomain;\n }\n return specifiedDomain;\n};\nexport var getTooltipItem = function getTooltipItem(graphicalItem, payload) {\n var defaultedProps = graphicalItem.type.defaultProps ? _objectSpread(_objectSpread({}, graphicalItem.type.defaultProps), graphicalItem.props) : graphicalItem.props;\n var dataKey = defaultedProps.dataKey,\n name = defaultedProps.name,\n unit = defaultedProps.unit,\n formatter = defaultedProps.formatter,\n tooltipType = defaultedProps.tooltipType,\n chartType = defaultedProps.chartType,\n hide = defaultedProps.hide;\n return _objectSpread(_objectSpread({}, filterProps(graphicalItem, false)), {}, {\n dataKey: dataKey,\n unit: unit,\n formatter: formatter,\n name: name || dataKey,\n color: getMainColorOfGraphicItem(graphicalItem),\n value: getValueByDataKey(payload, dataKey),\n type: tooltipType,\n payload: payload,\n chartType: chartType,\n hide: hide\n });\n};","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nimport React from 'react';\nimport clsx from 'clsx';\nimport { filterProps } from '../util/ReactUtils';\nexport var Layer = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var children = props.children,\n className = props.className,\n others = _objectWithoutProperties(props, _excluded);\n var layerClass = clsx('recharts-layer', className);\n return /*#__PURE__*/React.createElement(\"g\", _extends({\n className: layerClass\n }, filterProps(others, true), {\n ref: ref\n }), children);\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\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.\"); }\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); }\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; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nimport isNil from 'lodash/isNil';\nimport { isValidElement } from 'react';\nimport isFunction from 'lodash/isFunction';\nimport { getPercentValue } from './DataUtils';\nimport { parseScale, checkDomainOfScale, getTicksOfScale } from './ChartUtils';\nexport var RADIAN = Math.PI / 180;\nexport var degreeToRadian = function degreeToRadian(angle) {\n return angle * Math.PI / 180;\n};\nexport var radianToDegree = function radianToDegree(angleInRadian) {\n return angleInRadian * 180 / Math.PI;\n};\nexport var polarToCartesian = function polarToCartesian(cx, cy, radius, angle) {\n return {\n x: cx + Math.cos(-RADIAN * angle) * radius,\n y: cy + Math.sin(-RADIAN * angle) * radius\n };\n};\nexport var getMaxRadius = function getMaxRadius(width, height) {\n var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n return Math.min(Math.abs(width - (offset.left || 0) - (offset.right || 0)), Math.abs(height - (offset.top || 0) - (offset.bottom || 0))) / 2;\n};\n\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {Object} axisType The type of axes, radius-axis or angle-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height;\n var startAngle = props.startAngle,\n endAngle = props.endAngle;\n var cx = getPercentValue(props.cx, width, width / 2);\n var cy = getPercentValue(props.cy, height, height / 2);\n var maxRadius = getMaxRadius(width, height, offset);\n var innerRadius = getPercentValue(props.innerRadius, maxRadius, 0);\n var outerRadius = getPercentValue(props.outerRadius, maxRadius, maxRadius * 0.8);\n var ids = Object.keys(axisMap);\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var domain = axis.domain,\n reversed = axis.reversed;\n var range;\n if (isNil(axis.range)) {\n if (axisType === 'angleAxis') {\n range = [startAngle, endAngle];\n } else if (axisType === 'radiusAxis') {\n range = [innerRadius, outerRadius];\n }\n if (reversed) {\n range = [range[1], range[0]];\n }\n } else {\n range = axis.range;\n var _range = range;\n var _range2 = _slicedToArray(_range, 2);\n startAngle = _range2[0];\n endAngle = _range2[1];\n }\n var _parseScale = parseScale(axis, chartName),\n realScaleType = _parseScale.realScaleType,\n scale = _parseScale.scale;\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n range: range,\n radius: outerRadius,\n realScaleType: realScaleType,\n scale: scale,\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var distanceBetweenPoints = function distanceBetweenPoints(point, anotherPoint) {\n var x1 = point.x,\n y1 = point.y;\n var x2 = anotherPoint.x,\n y2 = anotherPoint.y;\n return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n};\nexport var getAngleOfPoint = function getAngleOfPoint(_ref, _ref2) {\n var x = _ref.x,\n y = _ref.y;\n var cx = _ref2.cx,\n cy = _ref2.cy;\n var radius = distanceBetweenPoints({\n x: x,\n y: y\n }, {\n x: cx,\n y: cy\n });\n if (radius <= 0) {\n return {\n radius: radius\n };\n }\n var cos = (x - cx) / radius;\n var angleInRadian = Math.acos(cos);\n if (y > cy) {\n angleInRadian = 2 * Math.PI - angleInRadian;\n }\n return {\n radius: radius,\n angle: radianToDegree(angleInRadian),\n angleInRadian: angleInRadian\n };\n};\nexport var formatAngleOfSector = function formatAngleOfSector(_ref3) {\n var startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return {\n startAngle: startAngle - min * 360,\n endAngle: endAngle - min * 360\n };\n};\nvar reverseFormatAngleOfSetor = function reverseFormatAngleOfSetor(angle, _ref4) {\n var startAngle = _ref4.startAngle,\n endAngle = _ref4.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return angle + min * 360;\n};\nexport var inRangeOfSector = function inRangeOfSector(_ref5, sector) {\n var x = _ref5.x,\n y = _ref5.y;\n var _getAngleOfPoint = getAngleOfPoint({\n x: x,\n y: y\n }, sector),\n radius = _getAngleOfPoint.radius,\n angle = _getAngleOfPoint.angle;\n var innerRadius = sector.innerRadius,\n outerRadius = sector.outerRadius;\n if (radius < innerRadius || radius > outerRadius) {\n return false;\n }\n if (radius === 0) {\n return true;\n }\n var _formatAngleOfSector = formatAngleOfSector(sector),\n startAngle = _formatAngleOfSector.startAngle,\n endAngle = _formatAngleOfSector.endAngle;\n var formatAngle = angle;\n var inRange;\n if (startAngle <= endAngle) {\n while (formatAngle > endAngle) {\n formatAngle -= 360;\n }\n while (formatAngle < startAngle) {\n formatAngle += 360;\n }\n inRange = formatAngle >= startAngle && formatAngle <= endAngle;\n } else {\n while (formatAngle > startAngle) {\n formatAngle -= 360;\n }\n while (formatAngle < endAngle) {\n formatAngle += 360;\n }\n inRange = formatAngle >= endAngle && formatAngle <= startAngle;\n }\n if (inRange) {\n return _objectSpread(_objectSpread({}, sector), {}, {\n radius: radius,\n angle: reverseFormatAngleOfSetor(formatAngle, sector)\n });\n }\n return null;\n};\nexport var getTickClassName = function getTickClassName(tick) {\n return ! /*#__PURE__*/isValidElement(tick) && !isFunction(tick) && typeof tick !== 'boolean' ? tick.className : '';\n};","\n// `victory-vendor/d3-shape` (CommonJS)\n// See upstream license: https://github.com/d3/d3-shape/blob/main/LICENSE\n//\n// This file only exists for tooling that doesn't work yet with package.json:exports\n// by proxying through the CommonJS version.\nmodule.exports = require(\"./lib/d3-shape\");\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport { isValidElement } from 'react';\nimport isObject from 'lodash/isObject';\n\n/**\n * Determines how values are stacked:\n *\n * - `none` is the default, it adds values on top of each other. No smarts. Negative values will overlap.\n * - `expand` make it so that the values always add up to 1 - so the chart will look like a rectangle.\n * - `wiggle` and `silhouette` tries to keep the chart centered.\n * - `sign` stacks positive values above zero and negative values below zero. Similar to `none` but handles negatives.\n * - `positive` ignores all negative values, and then behaves like \\`none\\`.\n *\n * Also see https://d3js.org/d3-shape/stack#stack-offsets\n * (note that the `diverging` offset in d3 is named `sign` in recharts)\n */\n\n//\n// Event Handler Types -- Copied from @types/react/index.d.ts and adapted for Props.\n//\n\nvar SVGContainerPropKeys = ['viewBox', 'children'];\nexport var SVGElementPropKeys = ['aria-activedescendant', 'aria-atomic', 'aria-autocomplete', 'aria-busy', 'aria-checked', 'aria-colcount', 'aria-colindex', 'aria-colspan', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-details', 'aria-disabled', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-level', 'aria-live', 'aria-modal', 'aria-multiline', 'aria-multiselectable', 'aria-orientation', 'aria-owns', 'aria-placeholder', 'aria-posinset', 'aria-pressed', 'aria-readonly', 'aria-relevant', 'aria-required', 'aria-roledescription', 'aria-rowcount', 'aria-rowindex', 'aria-rowspan', 'aria-selected', 'aria-setsize', 'aria-sort', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext', 'className', 'color', 'height', 'id', 'lang', 'max', 'media', 'method', 'min', 'name', 'style',\n/*\n * removed 'type' SVGElementPropKey because we do not currently use any SVG elements\n * that can use it and it conflicts with the recharts prop 'type'\n * https://github.com/recharts/recharts/pull/3327\n * https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/type\n */\n// 'type',\n'target', 'width', 'role', 'tabIndex', 'accentHeight', 'accumulate', 'additive', 'alignmentBaseline', 'allowReorder', 'alphabetic', 'amplitude', 'arabicForm', 'ascent', 'attributeName', 'attributeType', 'autoReverse', 'azimuth', 'baseFrequency', 'baselineShift', 'baseProfile', 'bbox', 'begin', 'bias', 'by', 'calcMode', 'capHeight', 'clip', 'clipPath', 'clipPathUnits', 'clipRule', 'colorInterpolation', 'colorInterpolationFilters', 'colorProfile', 'colorRendering', 'contentScriptType', 'contentStyleType', 'cursor', 'cx', 'cy', 'd', 'decelerate', 'descent', 'diffuseConstant', 'direction', 'display', 'divisor', 'dominantBaseline', 'dur', 'dx', 'dy', 'edgeMode', 'elevation', 'enableBackground', 'end', 'exponent', 'externalResourcesRequired', 'fill', 'fillOpacity', 'fillRule', 'filter', 'filterRes', 'filterUnits', 'floodColor', 'floodOpacity', 'focusable', 'fontFamily', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontWeight', 'format', 'from', 'fx', 'fy', 'g1', 'g2', 'glyphName', 'glyphOrientationHorizontal', 'glyphOrientationVertical', 'glyphRef', 'gradientTransform', 'gradientUnits', 'hanging', 'horizAdvX', 'horizOriginX', 'href', 'ideographic', 'imageRendering', 'in2', 'in', 'intercept', 'k1', 'k2', 'k3', 'k4', 'k', 'kernelMatrix', 'kernelUnitLength', 'kerning', 'keyPoints', 'keySplines', 'keyTimes', 'lengthAdjust', 'letterSpacing', 'lightingColor', 'limitingConeAngle', 'local', 'markerEnd', 'markerHeight', 'markerMid', 'markerStart', 'markerUnits', 'markerWidth', 'mask', 'maskContentUnits', 'maskUnits', 'mathematical', 'mode', 'numOctaves', 'offset', 'opacity', 'operator', 'order', 'orient', 'orientation', 'origin', 'overflow', 'overlinePosition', 'overlineThickness', 'paintOrder', 'panose1', 'pathLength', 'patternContentUnits', 'patternTransform', 'patternUnits', 'pointerEvents', 'pointsAtX', 'pointsAtY', 'pointsAtZ', 'preserveAlpha', 'preserveAspectRatio', 'primitiveUnits', 'r', 'radius', 'refX', 'refY', 'renderingIntent', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'result', 'rotate', 'rx', 'ry', 'seed', 'shapeRendering', 'slope', 'spacing', 'specularConstant', 'specularExponent', 'speed', 'spreadMethod', 'startOffset', 'stdDeviation', 'stemh', 'stemv', 'stitchTiles', 'stopColor', 'stopOpacity', 'strikethroughPosition', 'strikethroughThickness', 'string', 'stroke', 'strokeDasharray', 'strokeDashoffset', 'strokeLinecap', 'strokeLinejoin', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'surfaceScale', 'systemLanguage', 'tableValues', 'targetX', 'targetY', 'textAnchor', 'textDecoration', 'textLength', 'textRendering', 'to', 'transform', 'u1', 'u2', 'underlinePosition', 'underlineThickness', 'unicode', 'unicodeBidi', 'unicodeRange', 'unitsPerEm', 'vAlphabetic', 'values', 'vectorEffect', 'version', 'vertAdvY', 'vertOriginX', 'vertOriginY', 'vHanging', 'vIdeographic', 'viewTarget', 'visibility', 'vMathematical', 'widths', 'wordSpacing', 'writingMode', 'x1', 'x2', 'x', 'xChannelSelector', 'xHeight', 'xlinkActuate', 'xlinkArcrole', 'xlinkHref', 'xlinkRole', 'xlinkShow', 'xlinkTitle', 'xlinkType', 'xmlBase', 'xmlLang', 'xmlns', 'xmlnsXlink', 'xmlSpace', 'y1', 'y2', 'y', 'yChannelSelector', 'z', 'zoomAndPan', 'ref', 'key', 'angle'];\nvar PolyElementKeys = ['points', 'pathLength'];\n\n/** svg element types that have specific attribute filtration requirements */\n\n/** map of svg element types to unique svg attributes that belong to that element */\nexport var FilteredElementKeyMap = {\n svg: SVGContainerPropKeys,\n polygon: PolyElementKeys,\n polyline: PolyElementKeys\n};\nexport var EventKeys = ['dangerouslySetInnerHTML', 'onCopy', 'onCopyCapture', 'onCut', 'onCutCapture', 'onPaste', 'onPasteCapture', 'onCompositionEnd', 'onCompositionEndCapture', 'onCompositionStart', 'onCompositionStartCapture', 'onCompositionUpdate', 'onCompositionUpdateCapture', 'onFocus', 'onFocusCapture', 'onBlur', 'onBlurCapture', 'onChange', 'onChangeCapture', 'onBeforeInput', 'onBeforeInputCapture', 'onInput', 'onInputCapture', 'onReset', 'onResetCapture', 'onSubmit', 'onSubmitCapture', 'onInvalid', 'onInvalidCapture', 'onLoad', 'onLoadCapture', 'onError', 'onErrorCapture', 'onKeyDown', 'onKeyDownCapture', 'onKeyPress', 'onKeyPressCapture', 'onKeyUp', 'onKeyUpCapture', 'onAbort', 'onAbortCapture', 'onCanPlay', 'onCanPlayCapture', 'onCanPlayThrough', 'onCanPlayThroughCapture', 'onDurationChange', 'onDurationChangeCapture', 'onEmptied', 'onEmptiedCapture', 'onEncrypted', 'onEncryptedCapture', 'onEnded', 'onEndedCapture', 'onLoadedData', 'onLoadedDataCapture', 'onLoadedMetadata', 'onLoadedMetadataCapture', 'onLoadStart', 'onLoadStartCapture', 'onPause', 'onPauseCapture', 'onPlay', 'onPlayCapture', 'onPlaying', 'onPlayingCapture', 'onProgress', 'onProgressCapture', 'onRateChange', 'onRateChangeCapture', 'onSeeked', 'onSeekedCapture', 'onSeeking', 'onSeekingCapture', 'onStalled', 'onStalledCapture', 'onSuspend', 'onSuspendCapture', 'onTimeUpdate', 'onTimeUpdateCapture', 'onVolumeChange', 'onVolumeChangeCapture', 'onWaiting', 'onWaitingCapture', 'onAuxClick', 'onAuxClickCapture', 'onClick', 'onClickCapture', 'onContextMenu', 'onContextMenuCapture', 'onDoubleClick', 'onDoubleClickCapture', 'onDrag', 'onDragCapture', 'onDragEnd', 'onDragEndCapture', 'onDragEnter', 'onDragEnterCapture', 'onDragExit', 'onDragExitCapture', 'onDragLeave', 'onDragLeaveCapture', 'onDragOver', 'onDragOverCapture', 'onDragStart', 'onDragStartCapture', 'onDrop', 'onDropCapture', 'onMouseDown', 'onMouseDownCapture', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseMoveCapture', 'onMouseOut', 'onMouseOutCapture', 'onMouseOver', 'onMouseOverCapture', 'onMouseUp', 'onMouseUpCapture', 'onSelect', 'onSelectCapture', 'onTouchCancel', 'onTouchCancelCapture', 'onTouchEnd', 'onTouchEndCapture', 'onTouchMove', 'onTouchMoveCapture', 'onTouchStart', 'onTouchStartCapture', 'onPointerDown', 'onPointerDownCapture', 'onPointerMove', 'onPointerMoveCapture', 'onPointerUp', 'onPointerUpCapture', 'onPointerCancel', 'onPointerCancelCapture', 'onPointerEnter', 'onPointerEnterCapture', 'onPointerLeave', 'onPointerLeaveCapture', 'onPointerOver', 'onPointerOverCapture', 'onPointerOut', 'onPointerOutCapture', 'onGotPointerCapture', 'onGotPointerCaptureCapture', 'onLostPointerCapture', 'onLostPointerCaptureCapture', 'onScroll', 'onScrollCapture', 'onWheel', 'onWheelCapture', 'onAnimationStart', 'onAnimationStartCapture', 'onAnimationEnd', 'onAnimationEndCapture', 'onAnimationIteration', 'onAnimationIterationCapture', 'onTransitionEnd', 'onTransitionEndCapture'];\n\n/** The type of easing function to use for animations */\n\n/** Specifies the duration of animation, the unit of this option is ms. */\n\n/** the offset of a chart, which define the blank space all around */\n\n/**\n * The domain of axis.\n * This is the definition\n *\n * Numeric domain is always defined by an array of exactly two values, for the min and the max of the axis.\n * Categorical domain is defined as array of all possible values.\n *\n * Can be specified in many ways:\n * - array of numbers\n * - with special strings like 'dataMin' and 'dataMax'\n * - with special string math like 'dataMin - 100'\n * - with keyword 'auto'\n * - or a function\n * - array of functions\n * - or a combination of the above\n */\n\n/**\n * NumberDomain is an evaluated {@link AxisDomain}.\n * Unlike {@link AxisDomain}, it has no variety - it's a tuple of two number.\n * This is after all the keywords and functions were evaluated and what is left is [min, max].\n *\n * Know that the min, max values are not guaranteed to be nice numbers - values like -Infinity or NaN are possible.\n *\n * There are also `category` axes that have different things than numbers in their domain.\n */\n\n/** The props definition of base axis */\n\n/** Defines how ticks are placed and whether / how tick collisions are handled.\n * 'preserveStart' keeps the left tick on collision and ensures that the first tick is always shown.\n * 'preserveEnd' keeps the right tick on collision and ensures that the last tick is always shown.\n * 'preserveStartEnd' keeps the left tick on collision and ensures that the first and last ticks are always shown.\n * 'equidistantPreserveStart' selects a number N such that every nTh tick will be shown without collision.\n */\n\nexport var adaptEventHandlers = function adaptEventHandlers(props, newHandler) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n var inputProps = props;\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n if (!isObject(inputProps)) {\n return null;\n }\n var out = {};\n Object.keys(inputProps).forEach(function (key) {\n if (EventKeys.includes(key)) {\n out[key] = newHandler || function (e) {\n return inputProps[key](inputProps, e);\n };\n }\n });\n return out;\n};\nvar getEventHandlerOfChild = function getEventHandlerOfChild(originalHandler, data, index) {\n return function (e) {\n originalHandler(data, index, e);\n return null;\n };\n};\nexport var adaptEventsOfChild = function adaptEventsOfChild(props, data, index) {\n if (!isObject(props) || _typeof(props) !== 'object') {\n return null;\n }\n var out = null;\n Object.keys(props).forEach(function (key) {\n var item = props[key];\n if (EventKeys.includes(key) && typeof item === 'function') {\n if (!out) out = {};\n out[key] = getEventHandlerOfChild(item, data, index);\n }\n });\n return out;\n};","import memoize from 'lodash/memoize';\n/**\n * This is memoized because the viewBox is unlikely to change often\n * - but because it is computed from offset, any change to it would re-render all children.\n *\n * And because we have many readers of the viewBox, and update it only rarely,\n * then let's optimize with memoization.\n */\nexport var calculateViewBox = memoize(function (offset) {\n return {\n x: offset.left,\n y: offset.top,\n width: offset.width,\n height: offset.height\n };\n}, function (offset) {\n return ['l', offset.left, 't', offset.top, 'w', offset.width, 'h', offset.height].join('');\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport React, { createContext, useContext } from 'react';\nimport invariant from 'tiny-invariant';\nimport find from 'lodash/find';\nimport every from 'lodash/every';\nimport { calculateViewBox } from '../util/calculateViewBox';\nimport { getAnyElementOfObject } from '../util/DataUtils';\nexport var XAxisContext = /*#__PURE__*/createContext(undefined);\nexport var YAxisContext = /*#__PURE__*/createContext(undefined);\nexport var ViewBoxContext = /*#__PURE__*/createContext(undefined);\nexport var OffsetContext = /*#__PURE__*/createContext({});\nexport var ClipPathIdContext = /*#__PURE__*/createContext(undefined);\nexport var ChartHeightContext = /*#__PURE__*/createContext(0);\nexport var ChartWidthContext = /*#__PURE__*/createContext(0);\n\n/**\n * Will add all the properties required to render all individual Recharts components into a React Context.\n *\n * If you want to read these properties, see the collection of hooks exported from this file.\n *\n * @param {object} props CategoricalChartState, plus children\n * @returns {ReactElement} React Context Provider\n */\nexport var ChartLayoutContextProvider = function ChartLayoutContextProvider(props) {\n var _props$state = props.state,\n xAxisMap = _props$state.xAxisMap,\n yAxisMap = _props$state.yAxisMap,\n offset = _props$state.offset,\n clipPathId = props.clipPathId,\n children = props.children,\n width = props.width,\n height = props.height;\n\n /**\n * Perhaps we should compute this property when reading? Let's see what is more often used\n */\n var viewBox = calculateViewBox(offset);\n\n /*\n * This pretends to be a single context but actually is split into multiple smaller ones.\n * Why?\n * Because one React Context only allows to set one value.\n * But we need to set multiple values.\n * If we do that with one context, then we force re-render on components that might not even be interested\n * in the part of the state that has changed.\n *\n * By splitting into smaller contexts, we allow each components to be optimized and only re-render when its dependencies change.\n *\n * To actually achieve the optimal re-render, it is necessary to use React.memo().\n * See the test file for details.\n */\n return /*#__PURE__*/React.createElement(XAxisContext.Provider, {\n value: xAxisMap\n }, /*#__PURE__*/React.createElement(YAxisContext.Provider, {\n value: yAxisMap\n }, /*#__PURE__*/React.createElement(OffsetContext.Provider, {\n value: offset\n }, /*#__PURE__*/React.createElement(ViewBoxContext.Provider, {\n value: viewBox\n }, /*#__PURE__*/React.createElement(ClipPathIdContext.Provider, {\n value: clipPathId\n }, /*#__PURE__*/React.createElement(ChartHeightContext.Provider, {\n value: height\n }, /*#__PURE__*/React.createElement(ChartWidthContext.Provider, {\n value: width\n }, children)))))));\n};\nexport var useClipPathId = function useClipPathId() {\n return useContext(ClipPathIdContext);\n};\nfunction getKeysForDebug(object) {\n var keys = Object.keys(object);\n if (keys.length === 0) {\n return 'There are no available ids.';\n }\n return \"Available ids are: \".concat(keys, \".\");\n}\n\n/**\n * This either finds and returns Axis by the specified ID, or throws an exception if an axis with this ID does not exist.\n *\n * @param xAxisId identifier of the axis - it's either autogenerated ('0'), or passed via `id` prop as \n * @returns axis configuration object\n * @throws Error if no axis with this ID exists\n */\nexport var useXAxisOrThrow = function useXAxisOrThrow(xAxisId) {\n var xAxisMap = useContext(XAxisContext);\n !(xAxisMap != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find Recharts context; are you sure this is rendered inside a Recharts wrapper component?') : invariant(false) : void 0;\n var xAxis = xAxisMap[xAxisId];\n !(xAxis != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not find xAxis by id \\\"\".concat(xAxisId, \"\\\" [\").concat(_typeof(xAxisId), \"]. \").concat(getKeysForDebug(xAxisMap))) : invariant(false) : void 0;\n return xAxis;\n};\n\n/**\n * This will find an arbitrary first XAxis. If there's exactly one it always returns that one\n * - but if there are multiple then it can return any of those.\n *\n * If you want specific XAxis out of multiple then prefer using useXAxisOrThrow\n *\n * @returns X axisOptions, or undefined - if there are no X axes\n */\nexport var useArbitraryXAxis = function useArbitraryXAxis() {\n var xAxisMap = useContext(XAxisContext);\n return getAnyElementOfObject(xAxisMap);\n};\n\n/**\n * This will find an arbitrary first YAxis. If there's exactly one it always returns that one\n * - but if there are multiple then it can return any of those.\n *\n * If you want specific YAxis out of multiple then prefer using useXAxisOrThrow\n *\n * @returns Y axisOptions, or undefined - if there are no Y axes\n */\nexport var useArbitraryYAxis = function useArbitraryYAxis() {\n var yAxisMap = useContext(YAxisContext);\n return getAnyElementOfObject(yAxisMap);\n};\n\n/**\n * This hooks will:\n * 1st attempt to find an YAxis that has all elements in its domain finite\n * If no such axis exists, it will return an arbitrary YAxis\n * if there are no Y axes then it returns undefined\n *\n * @returns Either Y axisOptions, or undefined if there are no Y axes\n */\nexport var useYAxisWithFiniteDomainOrRandom = function useYAxisWithFiniteDomainOrRandom() {\n var yAxisMap = useContext(YAxisContext);\n var yAxisWithFiniteDomain = find(yAxisMap, function (axis) {\n return every(axis.domain, Number.isFinite);\n });\n return yAxisWithFiniteDomain || getAnyElementOfObject(yAxisMap);\n};\n\n/**\n * This either finds and returns Axis by the specified ID, or throws an exception if an axis with this ID does not exist.\n *\n * @param yAxisId identifier of the axis - it's either autogenerated ('0'), or passed via `id` prop as \n * @returns axis configuration object\n * @throws Error if no axis with this ID exists\n */\nexport var useYAxisOrThrow = function useYAxisOrThrow(yAxisId) {\n var yAxisMap = useContext(YAxisContext);\n !(yAxisMap != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find Recharts context; are you sure this is rendered inside a Recharts wrapper component?') : invariant(false) : void 0;\n var yAxis = yAxisMap[yAxisId];\n !(yAxis != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not find yAxis by id \\\"\".concat(yAxisId, \"\\\" [\").concat(_typeof(yAxisId), \"]. \").concat(getKeysForDebug(yAxisMap))) : invariant(false) : void 0;\n return yAxis;\n};\nexport var useViewBox = function useViewBox() {\n var viewBox = useContext(ViewBoxContext);\n return viewBox;\n};\nexport var useOffset = function useOffset() {\n return useContext(OffsetContext);\n};\nexport var useChartWidth = function useChartWidth() {\n return useContext(ChartWidthContext);\n};\nexport var useChartHeight = function useChartHeight() {\n return useContext(ChartHeightContext);\n};","/* eslint no-console: 0 */\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n if (isDev && typeof console !== 'undefined' && console.warn) {\n if (format === undefined) {\n console.warn('LogUtils requires an error message argument');\n }\n if (!condition) {\n if (format === undefined) {\n console.warn('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n console.warn(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n }\n }\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.abs = void 0;\nexports.acos = acos;\nexports.asin = asin;\nexports.tau = exports.sqrt = exports.sin = exports.pi = exports.min = exports.max = exports.halfPi = exports.epsilon = exports.cos = exports.atan2 = void 0;\nconst abs = Math.abs;\nexports.abs = abs;\nconst atan2 = Math.atan2;\nexports.atan2 = atan2;\nconst cos = Math.cos;\nexports.cos = cos;\nconst max = Math.max;\nexports.max = max;\nconst min = Math.min;\nexports.min = min;\nconst sin = Math.sin;\nexports.sin = sin;\nconst sqrt = Math.sqrt;\nexports.sqrt = sqrt;\nconst epsilon = 1e-12;\nexports.epsilon = epsilon;\nconst pi = Math.PI;\nexports.pi = pi;\nconst halfPi = pi / 2;\nexports.halfPi = halfPi;\nconst tau = 2 * pi;\nexports.tau = tau;\n\nfunction acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nfunction asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.initInterpolator = initInterpolator;\nexports.initRange = initRange;\n\nfunction initRange(domain, range) {\n switch (arguments.length) {\n case 0:\n break;\n\n case 1:\n this.range(domain);\n break;\n\n default:\n this.range(range).domain(domain);\n break;\n }\n\n return this;\n}\n\nfunction initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0:\n break;\n\n case 1:\n {\n if (typeof domain === \"function\") this.interpolator(domain);else this.range(domain);\n break;\n }\n\n default:\n {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);else this.range(interpolator);\n break;\n }\n }\n\n return this;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = newInterval;\nvar t0 = new Date(),\n t1 = new Date();\n\nfunction newInterval(floori, offseti, count, field) {\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date() : new Date(+date)), date;\n }\n\n interval.floor = function (date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function (date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function (date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function (date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function (start, stop, step) {\n var range = [],\n previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start); while (previous < start && start < stop);\n\n return range;\n };\n\n interval.filter = function (test) {\n return newInterval(function (date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function (date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n\n }\n }\n });\n };\n\n if (count) {\n interval.count = function (start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function (step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null : !(step > 1) ? interval : interval.filter(field ? function (d) {\n return field(d) % step === 0;\n } : function (d) {\n return interval.count(0, d) % step === 0;\n });\n };\n }\n\n return interval;\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"offset\"];\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\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.\"); }\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); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nimport React, { cloneElement, isValidElement, createElement } from 'react';\nimport isNil from 'lodash/isNil';\nimport isFunction from 'lodash/isFunction';\nimport isObject from 'lodash/isObject';\nimport clsx from 'clsx';\nimport { Text } from './Text';\nimport { findAllByType, filterProps } from '../util/ReactUtils';\nimport { isNumOrStr, isNumber, isPercent, getPercentValue, uniqueId, mathSign } from '../util/DataUtils';\nimport { polarToCartesian } from '../util/PolarUtils';\nvar getLabel = function getLabel(props) {\n var value = props.value,\n formatter = props.formatter;\n var label = isNil(props.children) ? value : props.children;\n if (isFunction(formatter)) {\n return formatter(label);\n }\n return label;\n};\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign * deltaAngle;\n};\nvar renderRadialLabel = function renderRadialLabel(labelProps, label, attrs) {\n var position = labelProps.position,\n viewBox = labelProps.viewBox,\n offset = labelProps.offset,\n className = labelProps.className;\n var _ref = viewBox,\n cx = _ref.cx,\n cy = _ref.cy,\n innerRadius = _ref.innerRadius,\n outerRadius = _ref.outerRadius,\n startAngle = _ref.startAngle,\n endAngle = _ref.endAngle,\n clockWise = _ref.clockWise;\n var radius = (innerRadius + outerRadius) / 2;\n var deltaAngle = getDeltaAngle(startAngle, endAngle);\n var sign = deltaAngle >= 0 ? 1 : -1;\n var labelAngle, direction;\n if (position === 'insideStart') {\n labelAngle = startAngle + sign * offset;\n direction = clockWise;\n } else if (position === 'insideEnd') {\n labelAngle = endAngle - sign * offset;\n direction = !clockWise;\n } else if (position === 'end') {\n labelAngle = endAngle + sign * offset;\n direction = clockWise;\n }\n direction = deltaAngle <= 0 ? direction : !direction;\n var startPoint = polarToCartesian(cx, cy, radius, labelAngle);\n var endPoint = polarToCartesian(cx, cy, radius, labelAngle + (direction ? 1 : -1) * 359);\n var path = \"M\".concat(startPoint.x, \",\").concat(startPoint.y, \"\\n A\").concat(radius, \",\").concat(radius, \",0,1,\").concat(direction ? 0 : 1, \",\\n \").concat(endPoint.x, \",\").concat(endPoint.y);\n var id = isNil(labelProps.id) ? uniqueId('recharts-radial-line-') : labelProps.id;\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, attrs, {\n dominantBaseline: \"central\",\n className: clsx('recharts-radial-bar-label', className)\n }), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: id,\n d: path\n })), /*#__PURE__*/React.createElement(\"textPath\", {\n xlinkHref: \"#\".concat(id)\n }, label));\n};\nvar getAttrsOfPolarLabel = function getAttrsOfPolarLabel(props) {\n var viewBox = props.viewBox,\n offset = props.offset,\n position = props.position;\n var _ref2 = viewBox,\n cx = _ref2.cx,\n cy = _ref2.cy,\n innerRadius = _ref2.innerRadius,\n outerRadius = _ref2.outerRadius,\n startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var midAngle = (startAngle + endAngle) / 2;\n if (position === 'outside') {\n var _polarToCartesian = polarToCartesian(cx, cy, outerRadius + offset, midAngle),\n _x = _polarToCartesian.x,\n _y = _polarToCartesian.y;\n return {\n x: _x,\n y: _y,\n textAnchor: _x >= cx ? 'start' : 'end',\n verticalAnchor: 'middle'\n };\n }\n if (position === 'center') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n }\n if (position === 'centerTop') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'start'\n };\n }\n if (position === 'centerBottom') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'end'\n };\n }\n var r = (innerRadius + outerRadius) / 2;\n var _polarToCartesian2 = polarToCartesian(cx, cy, r, midAngle),\n x = _polarToCartesian2.x,\n y = _polarToCartesian2.y;\n return {\n x: x,\n y: y,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n};\nvar getAttrsOfCartesianLabel = function getAttrsOfCartesianLabel(props) {\n var viewBox = props.viewBox,\n parentViewBox = props.parentViewBox,\n offset = props.offset,\n position = props.position;\n var _ref3 = viewBox,\n x = _ref3.x,\n y = _ref3.y,\n width = _ref3.width,\n height = _ref3.height;\n\n // Define vertical offsets and position inverts based on the value being positive or negative\n var verticalSign = height >= 0 ? 1 : -1;\n var verticalOffset = verticalSign * offset;\n var verticalEnd = verticalSign > 0 ? 'end' : 'start';\n var verticalStart = verticalSign > 0 ? 'start' : 'end';\n\n // Define horizontal offsets and position inverts based on the value being positive or negative\n var horizontalSign = width >= 0 ? 1 : -1;\n var horizontalOffset = horizontalSign * offset;\n var horizontalEnd = horizontalSign > 0 ? 'end' : 'start';\n var horizontalStart = horizontalSign > 0 ? 'start' : 'end';\n if (position === 'top') {\n var attrs = {\n x: x + width / 2,\n y: y - verticalSign * offset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n };\n return _objectSpread(_objectSpread({}, attrs), parentViewBox ? {\n height: Math.max(y - parentViewBox.y, 0),\n width: width\n } : {});\n }\n if (position === 'bottom') {\n var _attrs = {\n x: x + width / 2,\n y: y + height + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n };\n return _objectSpread(_objectSpread({}, _attrs), parentViewBox ? {\n height: Math.max(parentViewBox.y + parentViewBox.height - (y + height), 0),\n width: width\n } : {});\n }\n if (position === 'left') {\n var _attrs2 = {\n x: x - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs2), parentViewBox ? {\n width: Math.max(_attrs2.x - parentViewBox.x, 0),\n height: height\n } : {});\n }\n if (position === 'right') {\n var _attrs3 = {\n x: x + width + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs3), parentViewBox ? {\n width: Math.max(parentViewBox.x + parentViewBox.width - _attrs3.x, 0),\n height: height\n } : {});\n }\n var sizeAttrs = parentViewBox ? {\n width: width,\n height: height\n } : {};\n if (position === 'insideLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n if (position === 'insideRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n if (position === 'insideTop') {\n return _objectSpread({\n x: x + width / 2,\n y: y + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position === 'insideBottom') {\n return _objectSpread({\n x: x + width / 2,\n y: y + height - verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (position === 'insideTopLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position === 'insideTopRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n if (position === 'insideBottomLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (position === 'insideBottomRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n if (isObject(position) && (isNumber(position.x) || isPercent(position.x)) && (isNumber(position.y) || isPercent(position.y))) {\n return _objectSpread({\n x: x + getPercentValue(position.x, width),\n y: y + getPercentValue(position.y, height),\n textAnchor: 'end',\n verticalAnchor: 'end'\n }, sizeAttrs);\n }\n return _objectSpread({\n x: x + width / 2,\n y: y + height / 2,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n }, sizeAttrs);\n};\nvar isPolar = function isPolar(viewBox) {\n return 'cx' in viewBox && isNumber(viewBox.cx);\n};\nexport function Label(_ref4) {\n var _ref4$offset = _ref4.offset,\n offset = _ref4$offset === void 0 ? 5 : _ref4$offset,\n restProps = _objectWithoutProperties(_ref4, _excluded);\n var props = _objectSpread({\n offset: offset\n }, restProps);\n var viewBox = props.viewBox,\n position = props.position,\n value = props.value,\n children = props.children,\n content = props.content,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n textBreakAll = props.textBreakAll;\n if (!viewBox || isNil(value) && isNil(children) && ! /*#__PURE__*/isValidElement(content) && !isFunction(content)) {\n return null;\n }\n if ( /*#__PURE__*/isValidElement(content)) {\n return /*#__PURE__*/cloneElement(content, props);\n }\n var label;\n if (isFunction(content)) {\n label = /*#__PURE__*/createElement(content, props);\n if ( /*#__PURE__*/isValidElement(label)) {\n return label;\n }\n } else {\n label = getLabel(props);\n }\n var isPolarLabel = isPolar(viewBox);\n var attrs = filterProps(props, true);\n if (isPolarLabel && (position === 'insideStart' || position === 'insideEnd' || position === 'end')) {\n return renderRadialLabel(props, label, attrs);\n }\n var positionAttrs = isPolarLabel ? getAttrsOfPolarLabel(props) : getAttrsOfCartesianLabel(props);\n return /*#__PURE__*/React.createElement(Text, _extends({\n className: clsx('recharts-label', className)\n }, attrs, positionAttrs, {\n breakAll: textBreakAll\n }), label);\n}\nLabel.displayName = 'Label';\nvar parseViewBox = function parseViewBox(props) {\n var cx = props.cx,\n cy = props.cy,\n angle = props.angle,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n r = props.r,\n radius = props.radius,\n innerRadius = props.innerRadius,\n outerRadius = props.outerRadius,\n x = props.x,\n y = props.y,\n top = props.top,\n left = props.left,\n width = props.width,\n height = props.height,\n clockWise = props.clockWise,\n labelViewBox = props.labelViewBox;\n if (labelViewBox) {\n return labelViewBox;\n }\n if (isNumber(width) && isNumber(height)) {\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n }\n if (isNumber(top) && isNumber(left)) {\n return {\n x: top,\n y: left,\n width: width,\n height: height\n };\n }\n }\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: 0,\n height: 0\n };\n }\n if (isNumber(cx) && isNumber(cy)) {\n return {\n cx: cx,\n cy: cy,\n startAngle: startAngle || angle || 0,\n endAngle: endAngle || angle || 0,\n innerRadius: innerRadius || 0,\n outerRadius: outerRadius || radius || r || 0,\n clockWise: clockWise\n };\n }\n if (props.viewBox) {\n return props.viewBox;\n }\n return {};\n};\nvar parseLabel = function parseLabel(label, viewBox) {\n if (!label) {\n return null;\n }\n if (label === true) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox\n });\n }\n if (isNumOrStr(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox,\n value: label\n });\n }\n if ( /*#__PURE__*/isValidElement(label)) {\n if (label.type === Label) {\n return /*#__PURE__*/cloneElement(label, {\n key: 'label-implicit',\n viewBox: viewBox\n });\n }\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n if (isFunction(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n if (isObject(label)) {\n return /*#__PURE__*/React.createElement(Label, _extends({\n viewBox: viewBox\n }, label, {\n key: \"label-implicit\"\n }));\n }\n return null;\n};\nvar renderCallByParent = function renderCallByParent(parentProps, viewBox) {\n var checkPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (!parentProps || !parentProps.children && checkPropsLabel && !parentProps.label) {\n return null;\n }\n var children = parentProps.children;\n var parentViewBox = parseViewBox(parentProps);\n var explicitChildren = findAllByType(children, Label).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n viewBox: viewBox || parentViewBox,\n // eslint-disable-next-line react/no-array-index-key\n key: \"label-\".concat(index)\n });\n });\n if (!checkPropsLabel) {\n return explicitChildren;\n }\n var implicitLabel = parseLabel(parentProps.label, viewBox || parentViewBox);\n return [implicitLabel].concat(_toConsumableArray(explicitChildren));\n};\nLabel.parseViewBox = parseViewBox;\nLabel.renderCallByParent = renderCallByParent;","var parseIsSsrByDefault = function parseIsSsrByDefault() {\n return !(typeof window !== 'undefined' && window.document && window.document.createElement && window.setTimeout);\n};\nexport var Global = {\n isSsr: parseIsSsrByDefault(),\n get: function get(key) {\n return Global[key];\n },\n set: function set(key, value) {\n if (typeof key === 'string') {\n Global[key] = value;\n } else {\n var keys = Object.keys(key);\n if (keys && keys.length) {\n keys.forEach(function (k) {\n Global[k] = key[k];\n });\n }\n }\n }\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport mapValues from 'lodash/mapValues';\nimport every from 'lodash/every';\nimport { getTicksOfScale, parseScale, checkDomainOfScale, getBandSizeOfAxis } from './ChartUtils';\nimport { findChildByType } from './ReactUtils';\nimport { getPercentValue } from './DataUtils';\nimport { Bar } from '../cartesian/Bar';\n\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {String} axisType The type of axes, x-axis or y-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height,\n layout = props.layout,\n children = props.children;\n var ids = Object.keys(axisMap);\n var steps = {\n left: offset.left,\n leftMirror: offset.left,\n right: width - offset.right,\n rightMirror: width - offset.right,\n top: offset.top,\n topMirror: offset.top,\n bottom: height - offset.bottom,\n bottomMirror: height - offset.bottom\n };\n var hasBar = !!findChildByType(children, Bar);\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var orientation = axis.orientation,\n domain = axis.domain,\n _axis$padding = axis.padding,\n padding = _axis$padding === void 0 ? {} : _axis$padding,\n mirror = axis.mirror,\n reversed = axis.reversed;\n var offsetKey = \"\".concat(orientation).concat(mirror ? 'Mirror' : '');\n var calculatedPadding, range, x, y, needSpace;\n if (axis.type === 'number' && (axis.padding === 'gap' || axis.padding === 'no-gap')) {\n var diff = domain[1] - domain[0];\n var smallestDistanceBetweenValues = Infinity;\n var sortedValues = axis.categoricalDomain.sort();\n sortedValues.forEach(function (value, index) {\n if (index > 0) {\n smallestDistanceBetweenValues = Math.min((value || 0) - (sortedValues[index - 1] || 0), smallestDistanceBetweenValues);\n }\n });\n if (Number.isFinite(smallestDistanceBetweenValues)) {\n var smallestDistanceInPercent = smallestDistanceBetweenValues / diff;\n var rangeWidth = axis.layout === 'vertical' ? offset.height : offset.width;\n if (axis.padding === 'gap') {\n calculatedPadding = smallestDistanceInPercent * rangeWidth / 2;\n }\n if (axis.padding === 'no-gap') {\n var gap = getPercentValue(props.barCategoryGap, smallestDistanceInPercent * rangeWidth);\n var halfBand = smallestDistanceInPercent * rangeWidth / 2;\n calculatedPadding = halfBand - gap - (halfBand - gap) / rangeWidth * gap;\n }\n }\n }\n if (axisType === 'xAxis') {\n range = [offset.left + (padding.left || 0) + (calculatedPadding || 0), offset.left + offset.width - (padding.right || 0) - (calculatedPadding || 0)];\n } else if (axisType === 'yAxis') {\n range = layout === 'horizontal' ? [offset.top + offset.height - (padding.bottom || 0), offset.top + (padding.top || 0)] : [offset.top + (padding.top || 0) + (calculatedPadding || 0), offset.top + offset.height - (padding.bottom || 0) - (calculatedPadding || 0)];\n } else {\n range = axis.range;\n }\n if (reversed) {\n range = [range[1], range[0]];\n }\n var _parseScale = parseScale(axis, chartName, hasBar),\n scale = _parseScale.scale,\n realScaleType = _parseScale.realScaleType;\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n if (axisType === 'xAxis') {\n needSpace = orientation === 'top' && !mirror || orientation === 'bottom' && mirror;\n x = offset.left;\n y = steps[offsetKey] - needSpace * axis.height;\n } else if (axisType === 'yAxis') {\n needSpace = orientation === 'left' && !mirror || orientation === 'right' && mirror;\n x = steps[offsetKey] - needSpace * axis.width;\n y = offset.top;\n }\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n realScaleType: realScaleType,\n x: x,\n y: y,\n scale: scale,\n width: axisType === 'xAxis' ? offset.width : axis.width,\n height: axisType === 'yAxis' ? offset.height : axis.height\n });\n finalAxis.bandSize = getBandSizeOfAxis(finalAxis, ticks);\n if (!axis.hide && axisType === 'xAxis') {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.height;\n } else if (!axis.hide) {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.width;\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var rectWithPoints = function rectWithPoints(_ref, _ref2) {\n var x1 = _ref.x,\n y1 = _ref.y;\n var x2 = _ref2.x,\n y2 = _ref2.y;\n return {\n x: Math.min(x1, x2),\n y: Math.min(y1, y2),\n width: Math.abs(x2 - x1),\n height: Math.abs(y2 - y1)\n };\n};\n\n/**\n * Compute the x, y, width, and height of a box from two reference points.\n * @param {Object} coords x1, x2, y1, and y2\n * @return {Object} object\n */\nexport var rectWithCoords = function rectWithCoords(_ref3) {\n var x1 = _ref3.x1,\n y1 = _ref3.y1,\n x2 = _ref3.x2,\n y2 = _ref3.y2;\n return rectWithPoints({\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n });\n};\nexport var ScaleHelper = /*#__PURE__*/function () {\n function ScaleHelper(scale) {\n _classCallCheck(this, ScaleHelper);\n this.scale = scale;\n }\n return _createClass(ScaleHelper, [{\n key: \"domain\",\n get: function get() {\n return this.scale.domain;\n }\n }, {\n key: \"range\",\n get: function get() {\n return this.scale.range;\n }\n }, {\n key: \"rangeMin\",\n get: function get() {\n return this.range()[0];\n }\n }, {\n key: \"rangeMax\",\n get: function get() {\n return this.range()[1];\n }\n }, {\n key: \"bandwidth\",\n get: function get() {\n return this.scale.bandwidth;\n }\n }, {\n key: \"apply\",\n value: function apply(value) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref4.bandAware,\n position = _ref4.position;\n if (value === undefined) {\n return undefined;\n }\n if (position) {\n switch (position) {\n case 'start':\n {\n return this.scale(value);\n }\n case 'middle':\n {\n var offset = this.bandwidth ? this.bandwidth() / 2 : 0;\n return this.scale(value) + offset;\n }\n case 'end':\n {\n var _offset = this.bandwidth ? this.bandwidth() : 0;\n return this.scale(value) + _offset;\n }\n default:\n {\n return this.scale(value);\n }\n }\n }\n if (bandAware) {\n var _offset2 = this.bandwidth ? this.bandwidth() / 2 : 0;\n return this.scale(value) + _offset2;\n }\n return this.scale(value);\n }\n }, {\n key: \"isInRange\",\n value: function isInRange(value) {\n var range = this.range();\n var first = range[0];\n var last = range[range.length - 1];\n return first <= last ? value >= first && value <= last : value >= last && value <= first;\n }\n }], [{\n key: \"create\",\n value: function create(obj) {\n return new ScaleHelper(obj);\n }\n }]);\n}();\n_defineProperty(ScaleHelper, \"EPS\", 1e-4);\nexport var createLabeledScales = function createLabeledScales(options) {\n var scales = Object.keys(options).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, ScaleHelper.create(options[key])));\n }, {});\n return _objectSpread(_objectSpread({}, scales), {}, {\n apply: function apply(coord) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref5.bandAware,\n position = _ref5.position;\n return mapValues(coord, function (value, label) {\n return scales[label].apply(value, {\n bandAware: bandAware,\n position: position\n });\n });\n },\n isInRange: function isInRange(coord) {\n return every(coord, function (value, label) {\n return scales[label].isInRange(value);\n });\n }\n });\n};\n\n/** Normalizes the angle so that 0 <= angle < 180.\n * @param {number} angle Angle in degrees.\n * @return {number} the normalized angle with a value of at least 0 and never greater or equal to 180. */\nexport function normalizeAngle(angle) {\n return (angle % 180 + 180) % 180;\n}\n\n/** Calculates the width of the largest horizontal line that fits inside a rectangle that is displayed at an angle.\n * @param {Object} size Width and height of the text in a horizontal position.\n * @param {number} angle Angle in degrees in which the text is displayed.\n * @return {number} The width of the largest horizontal line that fits inside a rectangle that is displayed at an angle.\n */\nexport var getAngledRectangleWidth = function getAngledRectangleWidth(_ref6) {\n var width = _ref6.width,\n height = _ref6.height;\n var angle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Ensure angle is >= 0 && < 180\n var normalizedAngle = normalizeAngle(angle);\n var angleRadians = normalizedAngle * Math.PI / 180;\n\n /* Depending on the height and width of the rectangle, we may need to use different formulas to calculate the angled\n * width. This threshold defines when each formula should kick in. */\n var angleThreshold = Math.atan(height / width);\n var angledWidth = angleRadians > angleThreshold && angleRadians < Math.PI - angleThreshold ? height / Math.sin(angleRadians) : width / Math.cos(angleRadians);\n return Math.abs(angledWidth);\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\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.\"); }\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); }\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; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar MULTIPLY_OR_DIVIDE_REGEX = /(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)([*/])(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)/;\nvar ADD_OR_SUBTRACT_REGEX = /(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)([+-])(-?\\d+(?:\\.\\d+)?[a-zA-Z%]*)/;\nvar CSS_LENGTH_UNIT_REGEX = /^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/;\nvar NUM_SPLIT_REGEX = /(-?\\d+(?:\\.\\d+)?)([a-zA-Z%]+)?/;\nvar CONVERSION_RATES = {\n cm: 96 / 2.54,\n mm: 96 / 25.4,\n pt: 96 / 72,\n pc: 96 / 6,\n \"in\": 96,\n Q: 96 / (2.54 * 40),\n px: 1\n};\nvar FIXED_CSS_LENGTH_UNITS = Object.keys(CONVERSION_RATES);\nvar STR_NAN = 'NaN';\nfunction convertToPx(value, unit) {\n return value * CONVERSION_RATES[unit];\n}\nvar DecimalCSS = /*#__PURE__*/function () {\n function DecimalCSS(num, unit) {\n _classCallCheck(this, DecimalCSS);\n this.num = num;\n this.unit = unit;\n this.num = num;\n this.unit = unit;\n if (Number.isNaN(num)) {\n this.unit = '';\n }\n if (unit !== '' && !CSS_LENGTH_UNIT_REGEX.test(unit)) {\n this.num = NaN;\n this.unit = '';\n }\n if (FIXED_CSS_LENGTH_UNITS.includes(unit)) {\n this.num = convertToPx(num, unit);\n this.unit = 'px';\n }\n }\n return _createClass(DecimalCSS, [{\n key: \"add\",\n value: function add(other) {\n if (this.unit !== other.unit) {\n return new DecimalCSS(NaN, '');\n }\n return new DecimalCSS(this.num + other.num, this.unit);\n }\n }, {\n key: \"subtract\",\n value: function subtract(other) {\n if (this.unit !== other.unit) {\n return new DecimalCSS(NaN, '');\n }\n return new DecimalCSS(this.num - other.num, this.unit);\n }\n }, {\n key: \"multiply\",\n value: function multiply(other) {\n if (this.unit !== '' && other.unit !== '' && this.unit !== other.unit) {\n return new DecimalCSS(NaN, '');\n }\n return new DecimalCSS(this.num * other.num, this.unit || other.unit);\n }\n }, {\n key: \"divide\",\n value: function divide(other) {\n if (this.unit !== '' && other.unit !== '' && this.unit !== other.unit) {\n return new DecimalCSS(NaN, '');\n }\n return new DecimalCSS(this.num / other.num, this.unit || other.unit);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.num).concat(this.unit);\n }\n }, {\n key: \"isNaN\",\n value: function isNaN() {\n return Number.isNaN(this.num);\n }\n }], [{\n key: \"parse\",\n value: function parse(str) {\n var _NUM_SPLIT_REGEX$exec;\n var _ref = (_NUM_SPLIT_REGEX$exec = NUM_SPLIT_REGEX.exec(str)) !== null && _NUM_SPLIT_REGEX$exec !== void 0 ? _NUM_SPLIT_REGEX$exec : [],\n _ref2 = _slicedToArray(_ref, 3),\n numStr = _ref2[1],\n unit = _ref2[2];\n return new DecimalCSS(parseFloat(numStr), unit !== null && unit !== void 0 ? unit : '');\n }\n }]);\n}();\nfunction calculateArithmetic(expr) {\n if (expr.includes(STR_NAN)) {\n return STR_NAN;\n }\n var newExpr = expr;\n while (newExpr.includes('*') || newExpr.includes('/')) {\n var _MULTIPLY_OR_DIVIDE_R;\n var _ref3 = (_MULTIPLY_OR_DIVIDE_R = MULTIPLY_OR_DIVIDE_REGEX.exec(newExpr)) !== null && _MULTIPLY_OR_DIVIDE_R !== void 0 ? _MULTIPLY_OR_DIVIDE_R : [],\n _ref4 = _slicedToArray(_ref3, 4),\n leftOperand = _ref4[1],\n operator = _ref4[2],\n rightOperand = _ref4[3];\n var lTs = DecimalCSS.parse(leftOperand !== null && leftOperand !== void 0 ? leftOperand : '');\n var rTs = DecimalCSS.parse(rightOperand !== null && rightOperand !== void 0 ? rightOperand : '');\n var result = operator === '*' ? lTs.multiply(rTs) : lTs.divide(rTs);\n if (result.isNaN()) {\n return STR_NAN;\n }\n newExpr = newExpr.replace(MULTIPLY_OR_DIVIDE_REGEX, result.toString());\n }\n while (newExpr.includes('+') || /.-\\d+(?:\\.\\d+)?/.test(newExpr)) {\n var _ADD_OR_SUBTRACT_REGE;\n var _ref5 = (_ADD_OR_SUBTRACT_REGE = ADD_OR_SUBTRACT_REGEX.exec(newExpr)) !== null && _ADD_OR_SUBTRACT_REGE !== void 0 ? _ADD_OR_SUBTRACT_REGE : [],\n _ref6 = _slicedToArray(_ref5, 4),\n _leftOperand = _ref6[1],\n _operator = _ref6[2],\n _rightOperand = _ref6[3];\n var _lTs = DecimalCSS.parse(_leftOperand !== null && _leftOperand !== void 0 ? _leftOperand : '');\n var _rTs = DecimalCSS.parse(_rightOperand !== null && _rightOperand !== void 0 ? _rightOperand : '');\n var _result = _operator === '+' ? _lTs.add(_rTs) : _lTs.subtract(_rTs);\n if (_result.isNaN()) {\n return STR_NAN;\n }\n newExpr = newExpr.replace(ADD_OR_SUBTRACT_REGEX, _result.toString());\n }\n return newExpr;\n}\nvar PARENTHESES_REGEX = /\\(([^()]*)\\)/;\nfunction calculateParentheses(expr) {\n var newExpr = expr;\n while (newExpr.includes('(')) {\n var _PARENTHESES_REGEX$ex = PARENTHESES_REGEX.exec(newExpr),\n _PARENTHESES_REGEX$ex2 = _slicedToArray(_PARENTHESES_REGEX$ex, 2),\n parentheticalExpression = _PARENTHESES_REGEX$ex2[1];\n newExpr = newExpr.replace(PARENTHESES_REGEX, calculateArithmetic(parentheticalExpression));\n }\n return newExpr;\n}\nfunction evaluateExpression(expression) {\n var newExpr = expression.replace(/\\s+/g, '');\n newExpr = calculateParentheses(newExpr);\n newExpr = calculateArithmetic(newExpr);\n return newExpr;\n}\nexport function safeEvaluateExpression(expression) {\n try {\n return evaluateExpression(expression);\n } catch (e) {\n /* istanbul ignore next */\n return STR_NAN;\n }\n}\nexport function reduceCSSCalc(expression) {\n var result = safeEvaluateExpression(expression.slice(5, -1));\n if (result === STR_NAN) {\n // notify the user\n return '';\n }\n return result;\n}","var _excluded = [\"x\", \"y\", \"lineHeight\", \"capHeight\", \"scaleToFit\", \"textAnchor\", \"verticalAnchor\", \"fill\"],\n _excluded2 = [\"dx\", \"dy\", \"angle\", \"className\", \"breakAll\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\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.\"); }\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); }\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; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nimport React, { useMemo } from 'react';\nimport isNil from 'lodash/isNil';\nimport clsx from 'clsx';\nimport { isNumber, isNumOrStr } from '../util/DataUtils';\nimport { Global } from '../util/Global';\nimport { filterProps } from '../util/ReactUtils';\nimport { getStringSize } from '../util/DOMUtils';\nimport { reduceCSSCalc } from '../util/ReduceCSSCalc';\nvar BREAKING_SPACES = /[ \\f\\n\\r\\t\\v\\u2028\\u2029]+/;\nvar calculateWordWidths = function calculateWordWidths(_ref) {\n var children = _ref.children,\n breakAll = _ref.breakAll,\n style = _ref.style;\n try {\n var words = [];\n if (!isNil(children)) {\n if (breakAll) {\n words = children.toString().split('');\n } else {\n words = children.toString().split(BREAKING_SPACES);\n }\n }\n var wordsWithComputedWidth = words.map(function (word) {\n return {\n word: word,\n width: getStringSize(word, style).width\n };\n });\n var spaceWidth = breakAll ? 0 : getStringSize(\"\\xA0\", style).width;\n return {\n wordsWithComputedWidth: wordsWithComputedWidth,\n spaceWidth: spaceWidth\n };\n } catch (e) {\n return null;\n }\n};\nvar calculateWordsByLines = function calculateWordsByLines(_ref2, initialWordsWithComputedWith, spaceWidth, lineWidth, scaleToFit) {\n var maxLines = _ref2.maxLines,\n children = _ref2.children,\n style = _ref2.style,\n breakAll = _ref2.breakAll;\n var shouldLimitLines = isNumber(maxLines);\n var text = children;\n var calculate = function calculate() {\n var words = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return words.reduce(function (result, _ref3) {\n var word = _ref3.word,\n width = _ref3.width;\n var currentLine = result[result.length - 1];\n if (currentLine && (lineWidth == null || scaleToFit || currentLine.width + width + spaceWidth < Number(lineWidth))) {\n // Word can be added to an existing line\n currentLine.words.push(word);\n currentLine.width += width + spaceWidth;\n } else {\n // Add first word to line or word is too long to scaleToFit on existing line\n var newLine = {\n words: [word],\n width: width\n };\n result.push(newLine);\n }\n return result;\n }, []);\n };\n var originalResult = calculate(initialWordsWithComputedWith);\n var findLongestLine = function findLongestLine(words) {\n return words.reduce(function (a, b) {\n return a.width > b.width ? a : b;\n });\n };\n if (!shouldLimitLines) {\n return originalResult;\n }\n var suffix = '…';\n var checkOverflow = function checkOverflow(index) {\n var tempText = text.slice(0, index);\n var words = calculateWordWidths({\n breakAll: breakAll,\n style: style,\n children: tempText + suffix\n }).wordsWithComputedWidth;\n var result = calculate(words);\n var doesOverflow = result.length > maxLines || findLongestLine(result).width > Number(lineWidth);\n return [doesOverflow, result];\n };\n var start = 0;\n var end = text.length - 1;\n var iterations = 0;\n var trimmedResult;\n while (start <= end && iterations <= text.length - 1) {\n var middle = Math.floor((start + end) / 2);\n var prev = middle - 1;\n var _checkOverflow = checkOverflow(prev),\n _checkOverflow2 = _slicedToArray(_checkOverflow, 2),\n doesPrevOverflow = _checkOverflow2[0],\n result = _checkOverflow2[1];\n var _checkOverflow3 = checkOverflow(middle),\n _checkOverflow4 = _slicedToArray(_checkOverflow3, 1),\n doesMiddleOverflow = _checkOverflow4[0];\n if (!doesPrevOverflow && !doesMiddleOverflow) {\n start = middle + 1;\n }\n if (doesPrevOverflow && doesMiddleOverflow) {\n end = middle - 1;\n }\n if (!doesPrevOverflow && doesMiddleOverflow) {\n trimmedResult = result;\n break;\n }\n iterations++;\n }\n\n // Fallback to originalResult (result without trimming) if we cannot find the\n // where to trim. This should not happen :tm:\n return trimmedResult || originalResult;\n};\nvar getWordsWithoutCalculate = function getWordsWithoutCalculate(children) {\n var words = !isNil(children) ? children.toString().split(BREAKING_SPACES) : [];\n return [{\n words: words\n }];\n};\nvar getWordsByLines = function getWordsByLines(_ref4) {\n var width = _ref4.width,\n scaleToFit = _ref4.scaleToFit,\n children = _ref4.children,\n style = _ref4.style,\n breakAll = _ref4.breakAll,\n maxLines = _ref4.maxLines;\n // Only perform calculations if using features that require them (multiline, scaleToFit)\n if ((width || scaleToFit) && !Global.isSsr) {\n var wordsWithComputedWidth, spaceWidth;\n var wordWidths = calculateWordWidths({\n breakAll: breakAll,\n children: children,\n style: style\n });\n if (wordWidths) {\n var wcw = wordWidths.wordsWithComputedWidth,\n sw = wordWidths.spaceWidth;\n wordsWithComputedWidth = wcw;\n spaceWidth = sw;\n } else {\n return getWordsWithoutCalculate(children);\n }\n return calculateWordsByLines({\n breakAll: breakAll,\n children: children,\n maxLines: maxLines,\n style: style\n }, wordsWithComputedWidth, spaceWidth, width, scaleToFit);\n }\n return getWordsWithoutCalculate(children);\n};\nvar DEFAULT_FILL = '#808080';\nexport var Text = function Text(_ref5) {\n var _ref5$x = _ref5.x,\n propsX = _ref5$x === void 0 ? 0 : _ref5$x,\n _ref5$y = _ref5.y,\n propsY = _ref5$y === void 0 ? 0 : _ref5$y,\n _ref5$lineHeight = _ref5.lineHeight,\n lineHeight = _ref5$lineHeight === void 0 ? '1em' : _ref5$lineHeight,\n _ref5$capHeight = _ref5.capHeight,\n capHeight = _ref5$capHeight === void 0 ? '0.71em' : _ref5$capHeight,\n _ref5$scaleToFit = _ref5.scaleToFit,\n scaleToFit = _ref5$scaleToFit === void 0 ? false : _ref5$scaleToFit,\n _ref5$textAnchor = _ref5.textAnchor,\n textAnchor = _ref5$textAnchor === void 0 ? 'start' : _ref5$textAnchor,\n _ref5$verticalAnchor = _ref5.verticalAnchor,\n verticalAnchor = _ref5$verticalAnchor === void 0 ? 'end' : _ref5$verticalAnchor,\n _ref5$fill = _ref5.fill,\n fill = _ref5$fill === void 0 ? DEFAULT_FILL : _ref5$fill,\n props = _objectWithoutProperties(_ref5, _excluded);\n var wordsByLines = useMemo(function () {\n return getWordsByLines({\n breakAll: props.breakAll,\n children: props.children,\n maxLines: props.maxLines,\n scaleToFit: scaleToFit,\n style: props.style,\n width: props.width\n });\n }, [props.breakAll, props.children, props.maxLines, scaleToFit, props.style, props.width]);\n var dx = props.dx,\n dy = props.dy,\n angle = props.angle,\n className = props.className,\n breakAll = props.breakAll,\n textProps = _objectWithoutProperties(props, _excluded2);\n if (!isNumOrStr(propsX) || !isNumOrStr(propsY)) {\n return null;\n }\n var x = propsX + (isNumber(dx) ? dx : 0);\n var y = propsY + (isNumber(dy) ? dy : 0);\n var startDy;\n switch (verticalAnchor) {\n case 'start':\n startDy = reduceCSSCalc(\"calc(\".concat(capHeight, \")\"));\n break;\n case 'middle':\n startDy = reduceCSSCalc(\"calc(\".concat((wordsByLines.length - 1) / 2, \" * -\").concat(lineHeight, \" + (\").concat(capHeight, \" / 2))\"));\n break;\n default:\n startDy = reduceCSSCalc(\"calc(\".concat(wordsByLines.length - 1, \" * -\").concat(lineHeight, \")\"));\n break;\n }\n var transforms = [];\n if (scaleToFit) {\n var lineWidth = wordsByLines[0].width;\n var width = props.width;\n transforms.push(\"scale(\".concat((isNumber(width) ? width / lineWidth : 1) / lineWidth, \")\"));\n }\n if (angle) {\n transforms.push(\"rotate(\".concat(angle, \", \").concat(x, \", \").concat(y, \")\"));\n }\n if (transforms.length) {\n textProps.transform = transforms.join(' ');\n }\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, filterProps(textProps, true), {\n x: x,\n y: y,\n className: clsx('recharts-text', className),\n textAnchor: textAnchor,\n fill: fill.includes('url') ? DEFAULT_FILL : fill\n }), wordsByLines.map(function (line, index) {\n var words = line.words.join(breakAll ? '' : ' ');\n return (\n /*#__PURE__*/\n // duplicate words will cause duplicate keys\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"tspan\", {\n x: x,\n dy: index === 0 ? startDy : lineHeight,\n key: \"\".concat(words, \"-\").concat(index)\n }, words)\n );\n }));\n};","\n// `victory-vendor/d3-scale` (CommonJS)\n// See upstream license: https://github.com/d3/d3-scale/blob/main/LICENSE\n//\n// This file only exists for tooling that doesn't work yet with package.json:exports\n// by proxying through the CommonJS version.\nmodule.exports = require(\"./lib/d3-scale\");\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"Adder\", {\n enumerable: true,\n get: function () {\n return _fsum.Adder;\n }\n});\nObject.defineProperty(exports, \"InternMap\", {\n enumerable: true,\n get: function () {\n return _index.InternMap;\n }\n});\nObject.defineProperty(exports, \"InternSet\", {\n enumerable: true,\n get: function () {\n return _index.InternSet;\n }\n});\nObject.defineProperty(exports, \"ascending\", {\n enumerable: true,\n get: function () {\n return _ascending.default;\n }\n});\nObject.defineProperty(exports, \"bin\", {\n enumerable: true,\n get: function () {\n return _bin.default;\n }\n});\nObject.defineProperty(exports, \"bisect\", {\n enumerable: true,\n get: function () {\n return _bisect.default;\n }\n});\nObject.defineProperty(exports, \"bisectCenter\", {\n enumerable: true,\n get: function () {\n return _bisect.bisectCenter;\n }\n});\nObject.defineProperty(exports, \"bisectLeft\", {\n enumerable: true,\n get: function () {\n return _bisect.bisectLeft;\n }\n});\nObject.defineProperty(exports, \"bisectRight\", {\n enumerable: true,\n get: function () {\n return _bisect.bisectRight;\n }\n});\nObject.defineProperty(exports, \"bisector\", {\n enumerable: true,\n get: function () {\n return _bisector.default;\n }\n});\nObject.defineProperty(exports, \"count\", {\n enumerable: true,\n get: function () {\n return _count.default;\n }\n});\nObject.defineProperty(exports, \"cross\", {\n enumerable: true,\n get: function () {\n return _cross.default;\n }\n});\nObject.defineProperty(exports, \"cumsum\", {\n enumerable: true,\n get: function () {\n return _cumsum.default;\n }\n});\nObject.defineProperty(exports, \"descending\", {\n enumerable: true,\n get: function () {\n return _descending.default;\n }\n});\nObject.defineProperty(exports, \"deviation\", {\n enumerable: true,\n get: function () {\n return _deviation.default;\n }\n});\nObject.defineProperty(exports, \"difference\", {\n enumerable: true,\n get: function () {\n return _difference.default;\n }\n});\nObject.defineProperty(exports, \"disjoint\", {\n enumerable: true,\n get: function () {\n return _disjoint.default;\n }\n});\nObject.defineProperty(exports, \"every\", {\n enumerable: true,\n get: function () {\n return _every.default;\n }\n});\nObject.defineProperty(exports, \"extent\", {\n enumerable: true,\n get: function () {\n return _extent.default;\n }\n});\nObject.defineProperty(exports, \"fcumsum\", {\n enumerable: true,\n get: function () {\n return _fsum.fcumsum;\n }\n});\nObject.defineProperty(exports, \"filter\", {\n enumerable: true,\n get: function () {\n return _filter.default;\n }\n});\nObject.defineProperty(exports, \"flatGroup\", {\n enumerable: true,\n get: function () {\n return _group.flatGroup;\n }\n});\nObject.defineProperty(exports, \"flatRollup\", {\n enumerable: true,\n get: function () {\n return _group.flatRollup;\n }\n});\nObject.defineProperty(exports, \"fsum\", {\n enumerable: true,\n get: function () {\n return _fsum.fsum;\n }\n});\nObject.defineProperty(exports, \"greatest\", {\n enumerable: true,\n get: function () {\n return _greatest.default;\n }\n});\nObject.defineProperty(exports, \"greatestIndex\", {\n enumerable: true,\n get: function () {\n return _greatestIndex.default;\n }\n});\nObject.defineProperty(exports, \"group\", {\n enumerable: true,\n get: function () {\n return _group.default;\n }\n});\nObject.defineProperty(exports, \"groupSort\", {\n enumerable: true,\n get: function () {\n return _groupSort.default;\n }\n});\nObject.defineProperty(exports, \"groups\", {\n enumerable: true,\n get: function () {\n return _group.groups;\n }\n});\nObject.defineProperty(exports, \"histogram\", {\n enumerable: true,\n get: function () {\n return _bin.default;\n }\n});\nObject.defineProperty(exports, \"index\", {\n enumerable: true,\n get: function () {\n return _group.index;\n }\n});\nObject.defineProperty(exports, \"indexes\", {\n enumerable: true,\n get: function () {\n return _group.indexes;\n }\n});\nObject.defineProperty(exports, \"intersection\", {\n enumerable: true,\n get: function () {\n return _intersection.default;\n }\n});\nObject.defineProperty(exports, \"least\", {\n enumerable: true,\n get: function () {\n return _least.default;\n }\n});\nObject.defineProperty(exports, \"leastIndex\", {\n enumerable: true,\n get: function () {\n return _leastIndex.default;\n }\n});\nObject.defineProperty(exports, \"map\", {\n enumerable: true,\n get: function () {\n return _map.default;\n }\n});\nObject.defineProperty(exports, \"max\", {\n enumerable: true,\n get: function () {\n return _max.default;\n }\n});\nObject.defineProperty(exports, \"maxIndex\", {\n enumerable: true,\n get: function () {\n return _maxIndex.default;\n }\n});\nObject.defineProperty(exports, \"mean\", {\n enumerable: true,\n get: function () {\n return _mean.default;\n }\n});\nObject.defineProperty(exports, \"median\", {\n enumerable: true,\n get: function () {\n return _median.default;\n }\n});\nObject.defineProperty(exports, \"merge\", {\n enumerable: true,\n get: function () {\n return _merge.default;\n }\n});\nObject.defineProperty(exports, \"min\", {\n enumerable: true,\n get: function () {\n return _min.default;\n }\n});\nObject.defineProperty(exports, \"minIndex\", {\n enumerable: true,\n get: function () {\n return _minIndex.default;\n }\n});\nObject.defineProperty(exports, \"mode\", {\n enumerable: true,\n get: function () {\n return _mode.default;\n }\n});\nObject.defineProperty(exports, \"nice\", {\n enumerable: true,\n get: function () {\n return _nice.default;\n }\n});\nObject.defineProperty(exports, \"pairs\", {\n enumerable: true,\n get: function () {\n return _pairs.default;\n }\n});\nObject.defineProperty(exports, \"permute\", {\n enumerable: true,\n get: function () {\n return _permute.default;\n }\n});\nObject.defineProperty(exports, \"quantile\", {\n enumerable: true,\n get: function () {\n return _quantile.default;\n }\n});\nObject.defineProperty(exports, \"quantileSorted\", {\n enumerable: true,\n get: function () {\n return _quantile.quantileSorted;\n }\n});\nObject.defineProperty(exports, \"quickselect\", {\n enumerable: true,\n get: function () {\n return _quickselect.default;\n }\n});\nObject.defineProperty(exports, \"range\", {\n enumerable: true,\n get: function () {\n return _range.default;\n }\n});\nObject.defineProperty(exports, \"rank\", {\n enumerable: true,\n get: function () {\n return _rank.default;\n }\n});\nObject.defineProperty(exports, \"reduce\", {\n enumerable: true,\n get: function () {\n return _reduce.default;\n }\n});\nObject.defineProperty(exports, \"reverse\", {\n enumerable: true,\n get: function () {\n return _reverse.default;\n }\n});\nObject.defineProperty(exports, \"rollup\", {\n enumerable: true,\n get: function () {\n return _group.rollup;\n }\n});\nObject.defineProperty(exports, \"rollups\", {\n enumerable: true,\n get: function () {\n return _group.rollups;\n }\n});\nObject.defineProperty(exports, \"scan\", {\n enumerable: true,\n get: function () {\n return _scan.default;\n }\n});\nObject.defineProperty(exports, \"shuffle\", {\n enumerable: true,\n get: function () {\n return _shuffle.default;\n }\n});\nObject.defineProperty(exports, \"shuffler\", {\n enumerable: true,\n get: function () {\n return _shuffle.shuffler;\n }\n});\nObject.defineProperty(exports, \"some\", {\n enumerable: true,\n get: function () {\n return _some.default;\n }\n});\nObject.defineProperty(exports, \"sort\", {\n enumerable: true,\n get: function () {\n return _sort.default;\n }\n});\nObject.defineProperty(exports, \"subset\", {\n enumerable: true,\n get: function () {\n return _subset.default;\n }\n});\nObject.defineProperty(exports, \"sum\", {\n enumerable: true,\n get: function () {\n return _sum.default;\n }\n});\nObject.defineProperty(exports, \"superset\", {\n enumerable: true,\n get: function () {\n return _superset.default;\n }\n});\nObject.defineProperty(exports, \"thresholdFreedmanDiaconis\", {\n enumerable: true,\n get: function () {\n return _freedmanDiaconis.default;\n }\n});\nObject.defineProperty(exports, \"thresholdScott\", {\n enumerable: true,\n get: function () {\n return _scott.default;\n }\n});\nObject.defineProperty(exports, \"thresholdSturges\", {\n enumerable: true,\n get: function () {\n return _sturges.default;\n }\n});\nObject.defineProperty(exports, \"tickIncrement\", {\n enumerable: true,\n get: function () {\n return _ticks.tickIncrement;\n }\n});\nObject.defineProperty(exports, \"tickStep\", {\n enumerable: true,\n get: function () {\n return _ticks.tickStep;\n }\n});\nObject.defineProperty(exports, \"ticks\", {\n enumerable: true,\n get: function () {\n return _ticks.default;\n }\n});\nObject.defineProperty(exports, \"transpose\", {\n enumerable: true,\n get: function () {\n return _transpose.default;\n }\n});\nObject.defineProperty(exports, \"union\", {\n enumerable: true,\n get: function () {\n return _union.default;\n }\n});\nObject.defineProperty(exports, \"variance\", {\n enumerable: true,\n get: function () {\n return _variance.default;\n }\n});\nObject.defineProperty(exports, \"zip\", {\n enumerable: true,\n get: function () {\n return _zip.default;\n }\n});\n\nvar _bisect = _interopRequireWildcard(require(\"./bisect.js\"));\n\nvar _ascending = _interopRequireDefault(require(\"./ascending.js\"));\n\nvar _bisector = _interopRequireDefault(require(\"./bisector.js\"));\n\nvar _count = _interopRequireDefault(require(\"./count.js\"));\n\nvar _cross = _interopRequireDefault(require(\"./cross.js\"));\n\nvar _cumsum = _interopRequireDefault(require(\"./cumsum.js\"));\n\nvar _descending = _interopRequireDefault(require(\"./descending.js\"));\n\nvar _deviation = _interopRequireDefault(require(\"./deviation.js\"));\n\nvar _extent = _interopRequireDefault(require(\"./extent.js\"));\n\nvar _fsum = require(\"./fsum.js\");\n\nvar _group = _interopRequireWildcard(require(\"./group.js\"));\n\nvar _groupSort = _interopRequireDefault(require(\"./groupSort.js\"));\n\nvar _bin = _interopRequireDefault(require(\"./bin.js\"));\n\nvar _freedmanDiaconis = _interopRequireDefault(require(\"./threshold/freedmanDiaconis.js\"));\n\nvar _scott = _interopRequireDefault(require(\"./threshold/scott.js\"));\n\nvar _sturges = _interopRequireDefault(require(\"./threshold/sturges.js\"));\n\nvar _max = _interopRequireDefault(require(\"./max.js\"));\n\nvar _maxIndex = _interopRequireDefault(require(\"./maxIndex.js\"));\n\nvar _mean = _interopRequireDefault(require(\"./mean.js\"));\n\nvar _median = _interopRequireDefault(require(\"./median.js\"));\n\nvar _merge = _interopRequireDefault(require(\"./merge.js\"));\n\nvar _min = _interopRequireDefault(require(\"./min.js\"));\n\nvar _minIndex = _interopRequireDefault(require(\"./minIndex.js\"));\n\nvar _mode = _interopRequireDefault(require(\"./mode.js\"));\n\nvar _nice = _interopRequireDefault(require(\"./nice.js\"));\n\nvar _pairs = _interopRequireDefault(require(\"./pairs.js\"));\n\nvar _permute = _interopRequireDefault(require(\"./permute.js\"));\n\nvar _quantile = _interopRequireWildcard(require(\"./quantile.js\"));\n\nvar _quickselect = _interopRequireDefault(require(\"./quickselect.js\"));\n\nvar _range = _interopRequireDefault(require(\"./range.js\"));\n\nvar _rank = _interopRequireDefault(require(\"./rank.js\"));\n\nvar _least = _interopRequireDefault(require(\"./least.js\"));\n\nvar _leastIndex = _interopRequireDefault(require(\"./leastIndex.js\"));\n\nvar _greatest = _interopRequireDefault(require(\"./greatest.js\"));\n\nvar _greatestIndex = _interopRequireDefault(require(\"./greatestIndex.js\"));\n\nvar _scan = _interopRequireDefault(require(\"./scan.js\"));\n\nvar _shuffle = _interopRequireWildcard(require(\"./shuffle.js\"));\n\nvar _sum = _interopRequireDefault(require(\"./sum.js\"));\n\nvar _ticks = _interopRequireWildcard(require(\"./ticks.js\"));\n\nvar _transpose = _interopRequireDefault(require(\"./transpose.js\"));\n\nvar _variance = _interopRequireDefault(require(\"./variance.js\"));\n\nvar _zip = _interopRequireDefault(require(\"./zip.js\"));\n\nvar _every = _interopRequireDefault(require(\"./every.js\"));\n\nvar _some = _interopRequireDefault(require(\"./some.js\"));\n\nvar _filter = _interopRequireDefault(require(\"./filter.js\"));\n\nvar _map = _interopRequireDefault(require(\"./map.js\"));\n\nvar _reduce = _interopRequireDefault(require(\"./reduce.js\"));\n\nvar _reverse = _interopRequireDefault(require(\"./reverse.js\"));\n\nvar _sort = _interopRequireDefault(require(\"./sort.js\"));\n\nvar _difference = _interopRequireDefault(require(\"./difference.js\"));\n\nvar _disjoint = _interopRequireDefault(require(\"./disjoint.js\"));\n\nvar _intersection = _interopRequireDefault(require(\"./intersection.js\"));\n\nvar _subset = _interopRequireDefault(require(\"./subset.js\"));\n\nvar _superset = _interopRequireDefault(require(\"./superset.js\"));\n\nvar _union = _interopRequireDefault(require(\"./union.js\"));\n\nvar _index = require(\"../../../lib-vendor/internmap/src/index.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ascending;\n\nfunction ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.durationYear = exports.durationWeek = exports.durationSecond = exports.durationMonth = exports.durationMinute = exports.durationHour = exports.durationDay = void 0;\nconst durationSecond = 1000;\nexports.durationSecond = durationSecond;\nconst durationMinute = durationSecond * 60;\nexports.durationMinute = durationMinute;\nconst durationHour = durationMinute * 60;\nexports.durationHour = durationHour;\nconst durationDay = durationHour * 24;\nexports.durationDay = durationDay;\nconst durationWeek = durationDay * 7;\nexports.durationWeek = durationWeek;\nconst durationMonth = durationDay * 30;\nexports.durationMonth = durationMonth;\nconst durationYear = durationDay * 365;\nexports.durationYear = durationYear;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\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.\"); }\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); }\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; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Rectangle\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport Animate from 'react-smooth';\nimport { filterProps } from '../util/ReactUtils';\nvar getTrapezoidPath = function getTrapezoidPath(x, y, upperWidth, lowerWidth, height) {\n var widthGap = upperWidth - lowerWidth;\n var path;\n path = \"M \".concat(x, \",\").concat(y);\n path += \"L \".concat(x + upperWidth, \",\").concat(y);\n path += \"L \".concat(x + upperWidth - widthGap / 2, \",\").concat(y + height);\n path += \"L \".concat(x + upperWidth - widthGap / 2 - lowerWidth, \",\").concat(y + height);\n path += \"L \".concat(x, \",\").concat(y, \" Z\");\n return path;\n};\nvar defaultProps = {\n x: 0,\n y: 0,\n upperWidth: 0,\n lowerWidth: 0,\n height: 0,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n};\nexport var Trapezoid = function Trapezoid(props) {\n var trapezoidProps = _objectSpread(_objectSpread({}, defaultProps), props);\n var pathRef = useRef();\n var _useState = useState(-1),\n _useState2 = _slicedToArray(_useState, 2),\n totalLength = _useState2[0],\n setTotalLength = _useState2[1];\n useEffect(function () {\n if (pathRef.current && pathRef.current.getTotalLength) {\n try {\n var pathTotalLength = pathRef.current.getTotalLength();\n if (pathTotalLength) {\n setTotalLength(pathTotalLength);\n }\n } catch (err) {\n // calculate total length error\n }\n }\n }, []);\n var x = trapezoidProps.x,\n y = trapezoidProps.y,\n upperWidth = trapezoidProps.upperWidth,\n lowerWidth = trapezoidProps.lowerWidth,\n height = trapezoidProps.height,\n className = trapezoidProps.className;\n var animationEasing = trapezoidProps.animationEasing,\n animationDuration = trapezoidProps.animationDuration,\n animationBegin = trapezoidProps.animationBegin,\n isUpdateAnimationActive = trapezoidProps.isUpdateAnimationActive;\n if (x !== +x || y !== +y || upperWidth !== +upperWidth || lowerWidth !== +lowerWidth || height !== +height || upperWidth === 0 && lowerWidth === 0 || height === 0) {\n return null;\n }\n var layerClass = clsx('recharts-trapezoid', className);\n if (!isUpdateAnimationActive) {\n return /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(trapezoidProps, true), {\n className: layerClass,\n d: getTrapezoidPath(x, y, upperWidth, lowerWidth, height)\n })));\n }\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: {\n upperWidth: 0,\n lowerWidth: 0,\n height: height,\n x: x,\n y: y\n },\n to: {\n upperWidth: upperWidth,\n lowerWidth: lowerWidth,\n height: height,\n x: x,\n y: y\n },\n duration: animationDuration,\n animationEasing: animationEasing,\n isActive: isUpdateAnimationActive\n }, function (_ref) {\n var currUpperWidth = _ref.upperWidth,\n currLowerWidth = _ref.lowerWidth,\n currHeight = _ref.height,\n currX = _ref.x,\n currY = _ref.y;\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\"),\n to: \"\".concat(totalLength, \"px 0px\"),\n attributeName: \"strokeDasharray\",\n begin: animationBegin,\n duration: animationDuration,\n easing: animationEasing\n }, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(trapezoidProps, true), {\n className: layerClass,\n d: getTrapezoidPath(currX, currY, currUpperWidth, currLowerWidth, currHeight),\n ref: pathRef\n })));\n });\n};","var _excluded = [\"option\", \"shapeType\", \"propTransformer\", \"activeClassName\", \"isActive\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React, { isValidElement, cloneElement } from 'react';\nimport isFunction from 'lodash/isFunction';\nimport isPlainObject from 'lodash/isPlainObject';\nimport isBoolean from 'lodash/isBoolean';\nimport isEqual from 'lodash/isEqual';\nimport { Rectangle } from '../shape/Rectangle';\nimport { Trapezoid } from '../shape/Trapezoid';\nimport { Sector } from '../shape/Sector';\nimport { Layer } from '../container/Layer';\nimport { Symbols } from '../shape/Symbols';\n\n/**\n * This is an abstraction for rendering a user defined prop for a customized shape in several forms.\n *\n * is the root and will handle taking in:\n * - an object of svg properties\n * - a boolean\n * - a render prop(inline function that returns jsx)\n * - a react element\n *\n * is a subcomponent of and used to match a component\n * to the value of props.shapeType that is passed to the root.\n *\n */\n\nfunction defaultPropTransformer(option, props) {\n return _objectSpread(_objectSpread({}, props), option);\n}\nfunction isSymbolsProps(shapeType, _elementProps) {\n return shapeType === 'symbols';\n}\nfunction ShapeSelector(_ref) {\n var shapeType = _ref.shapeType,\n elementProps = _ref.elementProps;\n switch (shapeType) {\n case 'rectangle':\n return /*#__PURE__*/React.createElement(Rectangle, elementProps);\n case 'trapezoid':\n return /*#__PURE__*/React.createElement(Trapezoid, elementProps);\n case 'sector':\n return /*#__PURE__*/React.createElement(Sector, elementProps);\n case 'symbols':\n if (isSymbolsProps(shapeType, elementProps)) {\n return /*#__PURE__*/React.createElement(Symbols, elementProps);\n }\n break;\n default:\n return null;\n }\n}\nexport function getPropsFromShapeOption(option) {\n if ( /*#__PURE__*/isValidElement(option)) {\n return option.props;\n }\n return option;\n}\nexport function Shape(_ref2) {\n var option = _ref2.option,\n shapeType = _ref2.shapeType,\n _ref2$propTransformer = _ref2.propTransformer,\n propTransformer = _ref2$propTransformer === void 0 ? defaultPropTransformer : _ref2$propTransformer,\n _ref2$activeClassName = _ref2.activeClassName,\n activeClassName = _ref2$activeClassName === void 0 ? 'recharts-active-shape' : _ref2$activeClassName,\n isActive = _ref2.isActive,\n props = _objectWithoutProperties(_ref2, _excluded);\n var shape;\n if ( /*#__PURE__*/isValidElement(option)) {\n shape = /*#__PURE__*/cloneElement(option, _objectSpread(_objectSpread({}, props), getPropsFromShapeOption(option)));\n } else if (isFunction(option)) {\n shape = option(props);\n } else if (isPlainObject(option) && !isBoolean(option)) {\n var nextProps = propTransformer(option, props);\n shape = /*#__PURE__*/React.createElement(ShapeSelector, {\n shapeType: shapeType,\n elementProps: nextProps\n });\n } else {\n var elementProps = props;\n shape = /*#__PURE__*/React.createElement(ShapeSelector, {\n shapeType: shapeType,\n elementProps: elementProps\n });\n }\n if (isActive) {\n return /*#__PURE__*/React.createElement(Layer, {\n className: activeClassName\n }, shape);\n }\n return shape;\n}\n\n/**\n * This is an abstraction to handle identifying the active index from a tooltip mouse interaction\n */\n\nexport function isFunnel(graphicalItem, _item) {\n return _item != null && 'trapezoids' in graphicalItem.props;\n}\nexport function isPie(graphicalItem, _item) {\n return _item != null && 'sectors' in graphicalItem.props;\n}\nexport function isScatter(graphicalItem, _item) {\n return _item != null && 'points' in graphicalItem.props;\n}\nexport function compareFunnel(shapeData, activeTooltipItem) {\n var _activeTooltipItem$la, _activeTooltipItem$la2;\n var xMatches = shapeData.x === (activeTooltipItem === null || activeTooltipItem === void 0 || (_activeTooltipItem$la = activeTooltipItem.labelViewBox) === null || _activeTooltipItem$la === void 0 ? void 0 : _activeTooltipItem$la.x) || shapeData.x === activeTooltipItem.x;\n var yMatches = shapeData.y === (activeTooltipItem === null || activeTooltipItem === void 0 || (_activeTooltipItem$la2 = activeTooltipItem.labelViewBox) === null || _activeTooltipItem$la2 === void 0 ? void 0 : _activeTooltipItem$la2.y) || shapeData.y === activeTooltipItem.y;\n return xMatches && yMatches;\n}\nexport function comparePie(shapeData, activeTooltipItem) {\n var startAngleMatches = shapeData.endAngle === activeTooltipItem.endAngle;\n var endAngleMatches = shapeData.startAngle === activeTooltipItem.startAngle;\n return startAngleMatches && endAngleMatches;\n}\nexport function compareScatter(shapeData, activeTooltipItem) {\n var xMatches = shapeData.x === activeTooltipItem.x;\n var yMatches = shapeData.y === activeTooltipItem.y;\n var zMatches = shapeData.z === activeTooltipItem.z;\n return xMatches && yMatches && zMatches;\n}\nfunction getComparisonFn(graphicalItem, activeItem) {\n var comparison;\n if (isFunnel(graphicalItem, activeItem)) {\n comparison = compareFunnel;\n } else if (isPie(graphicalItem, activeItem)) {\n comparison = comparePie;\n } else if (isScatter(graphicalItem, activeItem)) {\n comparison = compareScatter;\n }\n return comparison;\n}\nfunction getShapeDataKey(graphicalItem, activeItem) {\n var shapeKey;\n if (isFunnel(graphicalItem, activeItem)) {\n shapeKey = 'trapezoids';\n } else if (isPie(graphicalItem, activeItem)) {\n shapeKey = 'sectors';\n } else if (isScatter(graphicalItem, activeItem)) {\n shapeKey = 'points';\n }\n return shapeKey;\n}\nfunction getActiveShapeTooltipPayload(graphicalItem, activeItem) {\n if (isFunnel(graphicalItem, activeItem)) {\n var _activeItem$tooltipPa;\n return (_activeItem$tooltipPa = activeItem.tooltipPayload) === null || _activeItem$tooltipPa === void 0 || (_activeItem$tooltipPa = _activeItem$tooltipPa[0]) === null || _activeItem$tooltipPa === void 0 || (_activeItem$tooltipPa = _activeItem$tooltipPa.payload) === null || _activeItem$tooltipPa === void 0 ? void 0 : _activeItem$tooltipPa.payload;\n }\n if (isPie(graphicalItem, activeItem)) {\n var _activeItem$tooltipPa2;\n return (_activeItem$tooltipPa2 = activeItem.tooltipPayload) === null || _activeItem$tooltipPa2 === void 0 || (_activeItem$tooltipPa2 = _activeItem$tooltipPa2[0]) === null || _activeItem$tooltipPa2 === void 0 || (_activeItem$tooltipPa2 = _activeItem$tooltipPa2.payload) === null || _activeItem$tooltipPa2 === void 0 ? void 0 : _activeItem$tooltipPa2.payload;\n }\n if (isScatter(graphicalItem, activeItem)) {\n return activeItem.payload;\n }\n return {};\n}\n/**\n *\n * @param {GetActiveShapeIndexForTooltip} arg an object of incoming attributes from Tooltip\n * @returns {number}\n *\n * To handle possible duplicates in the data set,\n * match both the data value of the active item to a data value on a graph item,\n * and match the mouse coordinates of the active item to the coordinates of in a particular components shape data.\n * This assumes equal lengths of shape objects to data items.\n */\nexport function getActiveShapeIndexForTooltip(_ref3) {\n var activeTooltipItem = _ref3.activeTooltipItem,\n graphicalItem = _ref3.graphicalItem,\n itemData = _ref3.itemData;\n var shapeKey = getShapeDataKey(graphicalItem, activeTooltipItem);\n var tooltipPayload = getActiveShapeTooltipPayload(graphicalItem, activeTooltipItem);\n var activeItemMatches = itemData.filter(function (datum, dataIndex) {\n var valuesMatch = isEqual(tooltipPayload, datum);\n var mouseCoordinateMatches = graphicalItem.props[shapeKey].filter(function (shapeData) {\n var comparison = getComparisonFn(graphicalItem, activeTooltipItem);\n return comparison(shapeData, activeTooltipItem);\n });\n\n // get the last index in case of multiple matches\n var indexOfMouseCoordinates = graphicalItem.props[shapeKey].indexOf(mouseCoordinateMatches[mouseCoordinateMatches.length - 1]);\n var coordinatesMatch = dataIndex === indexOfMouseCoordinates;\n return valuesMatch && coordinatesMatch;\n });\n\n // get the last index in case of multiple matches\n var activeIndex = itemData.indexOf(activeItemMatches[activeItemMatches.length - 1]);\n return activeIndex;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.copy = copy;\nexports.default = continuous;\nexports.identity = identity;\nexports.transformer = transformer;\n\nvar _index = require(\"../../../lib-vendor/d3-array/src/index.js\");\n\nvar _index2 = require(\"../../../lib-vendor/d3-interpolate/src/index.js\");\n\nvar _constant = _interopRequireDefault(require(\"./constant.js\"));\n\nvar _number = _interopRequireDefault(require(\"./number.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar unit = [0, 1];\n\nfunction identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= a = +a) ? function (x) {\n return (x - a) / b;\n } : (0, _constant.default)(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function (x) {\n return Math.max(a, Math.min(b, x));\n };\n} // normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\n\n\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0],\n d1 = domain[1],\n r0 = range[0],\n r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function (x) {\n return r0(d0(x));\n };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1; // Reverse descending domains.\n\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function (x) {\n var i = (0, _index.bisect)(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nfunction copy(source, target) {\n return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp()).unknown(source.unknown());\n}\n\nfunction transformer() {\n var domain = unit,\n range = unit,\n interpolate = _index2.interpolate,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function (y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), _index2.interpolateNumber)))(y)));\n };\n\n scale.domain = function (_) {\n return arguments.length ? (domain = Array.from(_, _number.default), rescale()) : domain.slice();\n };\n\n scale.range = function (_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function (_) {\n return range = Array.from(_), interpolate = _index2.interpolateRound, rescale();\n };\n\n scale.clamp = function (_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function (_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function (t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nfunction continuous() {\n return transformer()(identity, identity);\n}","export function shallowEqual(a, b) {\n /* eslint-disable no-restricted-syntax */\n for (var key in a) {\n if ({}.hasOwnProperty.call(a, key) && (!{}.hasOwnProperty.call(b, key) || a[key] !== b[key])) {\n return false;\n }\n }\n for (var _key in b) {\n if ({}.hasOwnProperty.call(b, _key) && !{}.hasOwnProperty.call(a, _key)) {\n return false;\n }\n }\n return true;\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\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.\"); }\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); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nimport { Global } from './Global';\nvar stringCache = {\n widthCache: {},\n cacheCount: 0\n};\nvar MAX_CACHE_NUM = 2000;\nvar SPAN_STYLE = {\n position: 'absolute',\n top: '-20000px',\n left: 0,\n padding: 0,\n margin: 0,\n border: 'none',\n whiteSpace: 'pre'\n};\nvar STYLE_LIST = ['minWidth', 'maxWidth', 'width', 'minHeight', 'maxHeight', 'height', 'top', 'left', 'fontSize', 'lineHeight', 'padding', 'margin', 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', 'marginLeft', 'marginRight', 'marginTop', 'marginBottom'];\nvar MEASUREMENT_SPAN_ID = 'recharts_measurement_span';\nfunction autoCompleteStyle(name, value) {\n if (STYLE_LIST.indexOf(name) >= 0 && value === +value) {\n return \"\".concat(value, \"px\");\n }\n return value;\n}\nfunction camelToMiddleLine(text) {\n var strs = text.split('');\n var formatStrs = strs.reduce(function (result, entry) {\n if (entry === entry.toUpperCase()) {\n return [].concat(_toConsumableArray(result), ['-', entry.toLowerCase()]);\n }\n return [].concat(_toConsumableArray(result), [entry]);\n }, []);\n return formatStrs.join('');\n}\nexport var getStyleString = function getStyleString(style) {\n return Object.keys(style).reduce(function (result, s) {\n return \"\".concat(result).concat(camelToMiddleLine(s), \":\").concat(autoCompleteStyle(s, style[s]), \";\");\n }, '');\n};\nfunction removeInvalidKeys(obj) {\n var copyObj = _objectSpread({}, obj);\n Object.keys(copyObj).forEach(function (key) {\n if (!copyObj[key]) {\n delete copyObj[key];\n }\n });\n return copyObj;\n}\nexport var getStringSize = function getStringSize(text) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (text === undefined || text === null || Global.isSsr) {\n return {\n width: 0,\n height: 0\n };\n }\n var copyStyle = removeInvalidKeys(style);\n var cacheKey = JSON.stringify({\n text: text,\n copyStyle: copyStyle\n });\n if (stringCache.widthCache[cacheKey]) {\n return stringCache.widthCache[cacheKey];\n }\n try {\n var measurementSpan = document.getElementById(MEASUREMENT_SPAN_ID);\n if (!measurementSpan) {\n measurementSpan = document.createElement('span');\n measurementSpan.setAttribute('id', MEASUREMENT_SPAN_ID);\n measurementSpan.setAttribute('aria-hidden', 'true');\n document.body.appendChild(measurementSpan);\n }\n // Need to use CSS Object Model (CSSOM) to be able to comply with Content Security Policy (CSP)\n // https://en.wikipedia.org/wiki/Content_Security_Policy\n var measurementSpanStyle = _objectSpread(_objectSpread({}, SPAN_STYLE), copyStyle);\n Object.assign(measurementSpan.style, measurementSpanStyle);\n measurementSpan.textContent = \"\".concat(text);\n var rect = measurementSpan.getBoundingClientRect();\n var result = {\n width: rect.width,\n height: rect.height\n };\n stringCache.widthCache[cacheKey] = result;\n if (++stringCache.cacheCount > MAX_CACHE_NUM) {\n stringCache.cacheCount = 0;\n stringCache.widthCache = {};\n }\n return result;\n } catch (e) {\n return {\n width: 0,\n height: 0\n };\n }\n};\nexport var getOffset = function getOffset(rect) {\n return {\n top: rect.top + window.scrollY - document.documentElement.clientTop,\n left: rect.left + window.scrollX - document.documentElement.clientLeft\n };\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Curve\n */\nimport React from 'react';\nimport { line as shapeLine, area as shapeArea, curveBasisClosed, curveBasisOpen, curveBasis, curveBumpX, curveBumpY, curveLinearClosed, curveLinear, curveMonotoneX, curveMonotoneY, curveNatural, curveStep, curveStepAfter, curveStepBefore } from 'victory-vendor/d3-shape';\nimport upperFirst from 'lodash/upperFirst';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { adaptEventHandlers } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nimport { isNumber } from '../util/DataUtils';\nvar CURVE_FACTORIES = {\n curveBasisClosed: curveBasisClosed,\n curveBasisOpen: curveBasisOpen,\n curveBasis: curveBasis,\n curveBumpX: curveBumpX,\n curveBumpY: curveBumpY,\n curveLinearClosed: curveLinearClosed,\n curveLinear: curveLinear,\n curveMonotoneX: curveMonotoneX,\n curveMonotoneY: curveMonotoneY,\n curveNatural: curveNatural,\n curveStep: curveStep,\n curveStepAfter: curveStepAfter,\n curveStepBefore: curveStepBefore\n};\nvar defined = function defined(p) {\n return p.x === +p.x && p.y === +p.y;\n};\nvar getX = function getX(p) {\n return p.x;\n};\nvar getY = function getY(p) {\n return p.y;\n};\nvar getCurveFactory = function getCurveFactory(type, layout) {\n if (isFunction(type)) {\n return type;\n }\n var name = \"curve\".concat(upperFirst(type));\n if ((name === 'curveMonotone' || name === 'curveBump') && layout) {\n return CURVE_FACTORIES[\"\".concat(name).concat(layout === 'vertical' ? 'Y' : 'X')];\n }\n return CURVE_FACTORIES[name] || curveLinear;\n};\n/**\n * Calculate the path of curve. Returns null if points is an empty array.\n * @return path or null\n */\nexport var getPath = function getPath(_ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'linear' : _ref$type,\n _ref$points = _ref.points,\n points = _ref$points === void 0 ? [] : _ref$points,\n baseLine = _ref.baseLine,\n layout = _ref.layout,\n _ref$connectNulls = _ref.connectNulls,\n connectNulls = _ref$connectNulls === void 0 ? false : _ref$connectNulls;\n var curveFactory = getCurveFactory(type, layout);\n var formatPoints = connectNulls ? points.filter(function (entry) {\n return defined(entry);\n }) : points;\n var lineFunction;\n if (Array.isArray(baseLine)) {\n var formatBaseLine = connectNulls ? baseLine.filter(function (base) {\n return defined(base);\n }) : baseLine;\n var areaPoints = formatPoints.map(function (entry, index) {\n return _objectSpread(_objectSpread({}, entry), {}, {\n base: formatBaseLine[index]\n });\n });\n if (layout === 'vertical') {\n lineFunction = shapeArea().y(getY).x1(getX).x0(function (d) {\n return d.base.x;\n });\n } else {\n lineFunction = shapeArea().x(getX).y1(getY).y0(function (d) {\n return d.base.y;\n });\n }\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(areaPoints);\n }\n if (layout === 'vertical' && isNumber(baseLine)) {\n lineFunction = shapeArea().y(getY).x1(getX).x0(baseLine);\n } else if (isNumber(baseLine)) {\n lineFunction = shapeArea().x(getX).y1(getY).y0(baseLine);\n } else {\n lineFunction = shapeLine().x(getX).y(getY);\n }\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(formatPoints);\n};\nexport var Curve = function Curve(props) {\n var className = props.className,\n points = props.points,\n path = props.path,\n pathRef = props.pathRef;\n if ((!points || !points.length) && !path) {\n return null;\n }\n var realPath = points && points.length ? getPath(props) : path;\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, false), adaptEventHandlers(props), {\n className: clsx('recharts-curve', className),\n d: realPath,\n ref: pathRef\n }));\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = linear;\nexports.linearish = linearish;\n\nvar _index = require(\"../../../lib-vendor/d3-array/src/index.js\");\n\nvar _continuous = _interopRequireWildcard(require(\"./continuous.js\"));\n\nvar _init = require(\"./init.js\");\n\nvar _tickFormat = _interopRequireDefault(require(\"./tickFormat.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function (count) {\n var d = domain();\n return (0, _index.ticks)(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function (count, specifier) {\n var d = domain();\n return (0, _tickFormat.default)(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function (count) {\n if (count == null) count = 10;\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n\n while (maxIter-- > 0) {\n step = (0, _index.tickIncrement)(start, stop, count);\n\n if (step === prestep) {\n d[i0] = start;\n d[i1] = stop;\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nfunction linear() {\n var scale = (0, _continuous.default)();\n\n scale.copy = function () {\n return (0, _continuous.copy)(scale, linear());\n };\n\n _init.initRange.apply(scale, arguments);\n\n return linearish(scale);\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\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.\"); }\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); }\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; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Rectangle\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport Animate from 'react-smooth';\nimport { filterProps } from '../util/ReactUtils';\nvar getRectanglePath = function getRectanglePath(x, y, width, height, radius) {\n var maxRadius = Math.min(Math.abs(width) / 2, Math.abs(height) / 2);\n var ySign = height >= 0 ? 1 : -1;\n var xSign = width >= 0 ? 1 : -1;\n var clockWise = height >= 0 && width >= 0 || height < 0 && width < 0 ? 1 : 0;\n var path;\n if (maxRadius > 0 && radius instanceof Array) {\n var newRadius = [0, 0, 0, 0];\n for (var i = 0, len = 4; i < len; i++) {\n newRadius[i] = radius[i] > maxRadius ? maxRadius : radius[i];\n }\n path = \"M\".concat(x, \",\").concat(y + ySign * newRadius[0]);\n if (newRadius[0] > 0) {\n path += \"A \".concat(newRadius[0], \",\").concat(newRadius[0], \",0,0,\").concat(clockWise, \",\").concat(x + xSign * newRadius[0], \",\").concat(y);\n }\n path += \"L \".concat(x + width - xSign * newRadius[1], \",\").concat(y);\n if (newRadius[1] > 0) {\n path += \"A \".concat(newRadius[1], \",\").concat(newRadius[1], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width, \",\").concat(y + ySign * newRadius[1]);\n }\n path += \"L \".concat(x + width, \",\").concat(y + height - ySign * newRadius[2]);\n if (newRadius[2] > 0) {\n path += \"A \".concat(newRadius[2], \",\").concat(newRadius[2], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width - xSign * newRadius[2], \",\").concat(y + height);\n }\n path += \"L \".concat(x + xSign * newRadius[3], \",\").concat(y + height);\n if (newRadius[3] > 0) {\n path += \"A \".concat(newRadius[3], \",\").concat(newRadius[3], \",0,0,\").concat(clockWise, \",\\n \").concat(x, \",\").concat(y + height - ySign * newRadius[3]);\n }\n path += 'Z';\n } else if (maxRadius > 0 && radius === +radius && radius > 0) {\n var _newRadius = Math.min(maxRadius, radius);\n path = \"M \".concat(x, \",\").concat(y + ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + xSign * _newRadius, \",\").concat(y, \"\\n L \").concat(x + width - xSign * _newRadius, \",\").concat(y, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width, \",\").concat(y + ySign * _newRadius, \"\\n L \").concat(x + width, \",\").concat(y + height - ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width - xSign * _newRadius, \",\").concat(y + height, \"\\n L \").concat(x + xSign * _newRadius, \",\").concat(y + height, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x, \",\").concat(y + height - ySign * _newRadius, \" Z\");\n } else {\n path = \"M \".concat(x, \",\").concat(y, \" h \").concat(width, \" v \").concat(height, \" h \").concat(-width, \" Z\");\n }\n return path;\n};\nexport var isInRectangle = function isInRectangle(point, rect) {\n if (!point || !rect) {\n return false;\n }\n var px = point.x,\n py = point.y;\n var x = rect.x,\n y = rect.y,\n width = rect.width,\n height = rect.height;\n if (Math.abs(width) > 0 && Math.abs(height) > 0) {\n var minX = Math.min(x, x + width);\n var maxX = Math.max(x, x + width);\n var minY = Math.min(y, y + height);\n var maxY = Math.max(y, y + height);\n return px >= minX && px <= maxX && py >= minY && py <= maxY;\n }\n return false;\n};\nvar defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n // The radius of border\n // The radius of four corners when radius is a number\n // The radius of left-top, right-top, right-bottom, left-bottom when radius is an array\n radius: 0,\n isAnimationActive: false,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n};\nexport var Rectangle = function Rectangle(rectangleProps) {\n var props = _objectSpread(_objectSpread({}, defaultProps), rectangleProps);\n var pathRef = useRef();\n var _useState = useState(-1),\n _useState2 = _slicedToArray(_useState, 2),\n totalLength = _useState2[0],\n setTotalLength = _useState2[1];\n useEffect(function () {\n if (pathRef.current && pathRef.current.getTotalLength) {\n try {\n var pathTotalLength = pathRef.current.getTotalLength();\n if (pathTotalLength) {\n setTotalLength(pathTotalLength);\n }\n } catch (err) {\n // calculate total length error\n }\n }\n }, []);\n var x = props.x,\n y = props.y,\n width = props.width,\n height = props.height,\n radius = props.radius,\n className = props.className;\n var animationEasing = props.animationEasing,\n animationDuration = props.animationDuration,\n animationBegin = props.animationBegin,\n isAnimationActive = props.isAnimationActive,\n isUpdateAnimationActive = props.isUpdateAnimationActive;\n if (x !== +x || y !== +y || width !== +width || height !== +height || width === 0 || height === 0) {\n return null;\n }\n var layerClass = clsx('recharts-rectangle', className);\n if (!isUpdateAnimationActive) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, true), {\n className: layerClass,\n d: getRectanglePath(x, y, width, height, radius)\n }));\n }\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n to: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n duration: animationDuration,\n animationEasing: animationEasing,\n isActive: isUpdateAnimationActive\n }, function (_ref) {\n var currWidth = _ref.width,\n currHeight = _ref.height,\n currX = _ref.x,\n currY = _ref.y;\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\"),\n to: \"\".concat(totalLength, \"px 0px\"),\n attributeName: \"strokeDasharray\",\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing\n }, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, true), {\n className: layerClass,\n d: getRectanglePath(currX, currY, currWidth, currHeight, radius),\n ref: pathRef\n })));\n });\n};","function _extends() { _extends = Object.assign ? Object.assign.bind() : 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 * @fileOverview Dot\n */\nimport React from 'react';\nimport clsx from 'clsx';\nimport { adaptEventHandlers } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nexport var Dot = function Dot(props) {\n var cx = props.cx,\n cy = props.cy,\n r = props.r,\n className = props.className;\n var layerClass = clsx('recharts-dot', className);\n if (cx === +cx && cy === +cy && r === +r) {\n return /*#__PURE__*/React.createElement(\"circle\", _extends({}, filterProps(props, false), adaptEventHandlers(props), {\n className: layerClass,\n cx: cx,\n cy: cy,\n r: r\n }));\n }\n return null;\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\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.\"); }\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); }\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; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Default Tooltip Content\n */\n\nimport React from 'react';\nimport sortBy from 'lodash/sortBy';\nimport isNil from 'lodash/isNil';\nimport clsx from 'clsx';\nimport { isNumOrStr } from '../util/DataUtils';\nfunction defaultFormatter(value) {\n return Array.isArray(value) && isNumOrStr(value[0]) && isNumOrStr(value[1]) ? value.join(' ~ ') : value;\n}\nexport var DefaultTooltipContent = function DefaultTooltipContent(props) {\n var _props$separator = props.separator,\n separator = _props$separator === void 0 ? ' : ' : _props$separator,\n _props$contentStyle = props.contentStyle,\n contentStyle = _props$contentStyle === void 0 ? {} : _props$contentStyle,\n _props$itemStyle = props.itemStyle,\n itemStyle = _props$itemStyle === void 0 ? {} : _props$itemStyle,\n _props$labelStyle = props.labelStyle,\n labelStyle = _props$labelStyle === void 0 ? {} : _props$labelStyle,\n payload = props.payload,\n formatter = props.formatter,\n itemSorter = props.itemSorter,\n wrapperClassName = props.wrapperClassName,\n labelClassName = props.labelClassName,\n label = props.label,\n labelFormatter = props.labelFormatter,\n _props$accessibilityL = props.accessibilityLayer,\n accessibilityLayer = _props$accessibilityL === void 0 ? false : _props$accessibilityL;\n var renderContent = function renderContent() {\n if (payload && payload.length) {\n var listStyle = {\n padding: 0,\n margin: 0\n };\n var items = (itemSorter ? sortBy(payload, itemSorter) : payload).map(function (entry, i) {\n if (entry.type === 'none') {\n return null;\n }\n var finalItemStyle = _objectSpread({\n display: 'block',\n paddingTop: 4,\n paddingBottom: 4,\n color: entry.color || '#000'\n }, itemStyle);\n var finalFormatter = entry.formatter || formatter || defaultFormatter;\n var value = entry.value,\n name = entry.name;\n var finalValue = value;\n var finalName = name;\n if (finalFormatter && finalValue != null && finalName != null) {\n var formatted = finalFormatter(value, name, entry, i, payload);\n if (Array.isArray(formatted)) {\n var _formatted = _slicedToArray(formatted, 2);\n finalValue = _formatted[0];\n finalName = _formatted[1];\n } else {\n finalValue = formatted;\n }\n }\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n className: \"recharts-tooltip-item\",\n key: \"tooltip-item-\".concat(i),\n style: finalItemStyle\n }, isNumOrStr(finalName) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-name\"\n }, finalName) : null, isNumOrStr(finalName) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-separator\"\n }, separator) : null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-value\"\n }, finalValue), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-unit\"\n }, entry.unit || ''))\n );\n });\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-tooltip-item-list\",\n style: listStyle\n }, items);\n }\n return null;\n };\n var finalStyle = _objectSpread({\n margin: 0,\n padding: 10,\n backgroundColor: '#fff',\n border: '1px solid #ccc',\n whiteSpace: 'nowrap'\n }, contentStyle);\n var finalLabelStyle = _objectSpread({\n margin: 0\n }, labelStyle);\n var hasLabel = !isNil(label);\n var finalLabel = hasLabel ? label : '';\n var wrapperCN = clsx('recharts-default-tooltip', wrapperClassName);\n var labelCN = clsx('recharts-tooltip-label', labelClassName);\n if (hasLabel && labelFormatter && payload !== undefined && payload !== null) {\n finalLabel = labelFormatter(label, payload);\n }\n var accessibilityAttributes = accessibilityLayer ? {\n role: 'status',\n 'aria-live': 'assertive'\n } : {};\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: wrapperCN,\n style: finalStyle\n }, accessibilityAttributes), /*#__PURE__*/React.createElement(\"p\", {\n className: labelCN,\n style: finalLabelStyle\n }, /*#__PURE__*/React.isValidElement(finalLabel) ? finalLabel : \"\".concat(finalLabel)), renderContent());\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport clsx from 'clsx';\nimport { isNumber } from '../DataUtils';\nvar CSS_CLASS_PREFIX = 'recharts-tooltip-wrapper';\nvar TOOLTIP_HIDDEN = {\n visibility: 'hidden'\n};\nexport function getTooltipCSSClassName(_ref) {\n var coordinate = _ref.coordinate,\n translateX = _ref.translateX,\n translateY = _ref.translateY;\n return clsx(CSS_CLASS_PREFIX, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(CSS_CLASS_PREFIX, \"-right\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX >= coordinate.x), \"\".concat(CSS_CLASS_PREFIX, \"-left\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX < coordinate.x), \"\".concat(CSS_CLASS_PREFIX, \"-bottom\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY >= coordinate.y), \"\".concat(CSS_CLASS_PREFIX, \"-top\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY < coordinate.y));\n}\nexport function getTooltipTranslateXY(_ref2) {\n var allowEscapeViewBox = _ref2.allowEscapeViewBox,\n coordinate = _ref2.coordinate,\n key = _ref2.key,\n offsetTopLeft = _ref2.offsetTopLeft,\n position = _ref2.position,\n reverseDirection = _ref2.reverseDirection,\n tooltipDimension = _ref2.tooltipDimension,\n viewBox = _ref2.viewBox,\n viewBoxDimension = _ref2.viewBoxDimension;\n if (position && isNumber(position[key])) {\n return position[key];\n }\n var negative = coordinate[key] - tooltipDimension - offsetTopLeft;\n var positive = coordinate[key] + offsetTopLeft;\n if (allowEscapeViewBox[key]) {\n return reverseDirection[key] ? negative : positive;\n }\n if (reverseDirection[key]) {\n var _tooltipBoundary = negative;\n var _viewBoxBoundary = viewBox[key];\n if (_tooltipBoundary < _viewBoxBoundary) {\n return Math.max(positive, viewBox[key]);\n }\n return Math.max(negative, viewBox[key]);\n }\n var tooltipBoundary = positive + tooltipDimension;\n var viewBoxBoundary = viewBox[key] + viewBoxDimension;\n if (tooltipBoundary > viewBoxBoundary) {\n return Math.max(negative, viewBox[key]);\n }\n return Math.max(positive, viewBox[key]);\n}\nexport function getTransformStyle(_ref3) {\n var translateX = _ref3.translateX,\n translateY = _ref3.translateY,\n useTranslate3d = _ref3.useTranslate3d;\n return {\n transform: useTranslate3d ? \"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0)\") : \"translate(\".concat(translateX, \"px, \").concat(translateY, \"px)\")\n };\n}\nexport function getTooltipTranslate(_ref4) {\n var allowEscapeViewBox = _ref4.allowEscapeViewBox,\n coordinate = _ref4.coordinate,\n offsetTopLeft = _ref4.offsetTopLeft,\n position = _ref4.position,\n reverseDirection = _ref4.reverseDirection,\n tooltipBox = _ref4.tooltipBox,\n useTranslate3d = _ref4.useTranslate3d,\n viewBox = _ref4.viewBox;\n var cssProperties, translateX, translateY;\n if (tooltipBox.height > 0 && tooltipBox.width > 0 && coordinate) {\n translateX = getTooltipTranslateXY({\n allowEscapeViewBox: allowEscapeViewBox,\n coordinate: coordinate,\n key: 'x',\n offsetTopLeft: offsetTopLeft,\n position: position,\n reverseDirection: reverseDirection,\n tooltipDimension: tooltipBox.width,\n viewBox: viewBox,\n viewBoxDimension: viewBox.width\n });\n translateY = getTooltipTranslateXY({\n allowEscapeViewBox: allowEscapeViewBox,\n coordinate: coordinate,\n key: 'y',\n offsetTopLeft: offsetTopLeft,\n position: position,\n reverseDirection: reverseDirection,\n tooltipDimension: tooltipBox.height,\n viewBox: viewBox,\n viewBoxDimension: viewBox.height\n });\n cssProperties = getTransformStyle({\n translateX: translateX,\n translateY: translateY,\n useTranslate3d: useTranslate3d\n });\n } else {\n cssProperties = TOOLTIP_HIDDEN;\n }\n return {\n cssProperties: cssProperties,\n cssClasses: getTooltipCSSClassName({\n translateX: translateX,\n translateY: translateY,\n coordinate: coordinate\n })\n };\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React, { PureComponent } from 'react';\nimport { getTooltipTranslate } from '../util/tooltip/translate';\nvar EPSILON = 1;\nexport var TooltipBoundingBox = /*#__PURE__*/function (_PureComponent) {\n function TooltipBoundingBox() {\n var _this;\n _classCallCheck(this, TooltipBoundingBox);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, TooltipBoundingBox, [].concat(args));\n _defineProperty(_this, \"state\", {\n dismissed: false,\n dismissedAtCoordinate: {\n x: 0,\n y: 0\n },\n lastBoundingBox: {\n width: -1,\n height: -1\n }\n });\n _defineProperty(_this, \"handleKeyDown\", function (event) {\n if (event.key === 'Escape') {\n var _this$props$coordinat, _this$props$coordinat2, _this$props$coordinat3, _this$props$coordinat4;\n _this.setState({\n dismissed: true,\n dismissedAtCoordinate: {\n x: (_this$props$coordinat = (_this$props$coordinat2 = _this.props.coordinate) === null || _this$props$coordinat2 === void 0 ? void 0 : _this$props$coordinat2.x) !== null && _this$props$coordinat !== void 0 ? _this$props$coordinat : 0,\n y: (_this$props$coordinat3 = (_this$props$coordinat4 = _this.props.coordinate) === null || _this$props$coordinat4 === void 0 ? void 0 : _this$props$coordinat4.y) !== null && _this$props$coordinat3 !== void 0 ? _this$props$coordinat3 : 0\n }\n });\n }\n });\n return _this;\n }\n _inherits(TooltipBoundingBox, _PureComponent);\n return _createClass(TooltipBoundingBox, [{\n key: \"updateBBox\",\n value: function updateBBox() {\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var box = this.wrapperNode.getBoundingClientRect();\n if (Math.abs(box.width - this.state.lastBoundingBox.width) > EPSILON || Math.abs(box.height - this.state.lastBoundingBox.height) > EPSILON) {\n this.setState({\n lastBoundingBox: {\n width: box.width,\n height: box.height\n }\n });\n }\n } else if (this.state.lastBoundingBox.width !== -1 || this.state.lastBoundingBox.height !== -1) {\n this.setState({\n lastBoundingBox: {\n width: -1,\n height: -1\n }\n });\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n document.addEventListener('keydown', this.handleKeyDown);\n this.updateBBox();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener('keydown', this.handleKeyDown);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var _this$props$coordinat5, _this$props$coordinat6;\n if (this.props.active) {\n this.updateBBox();\n }\n if (!this.state.dismissed) {\n return;\n }\n if (((_this$props$coordinat5 = this.props.coordinate) === null || _this$props$coordinat5 === void 0 ? void 0 : _this$props$coordinat5.x) !== this.state.dismissedAtCoordinate.x || ((_this$props$coordinat6 = this.props.coordinate) === null || _this$props$coordinat6 === void 0 ? void 0 : _this$props$coordinat6.y) !== this.state.dismissedAtCoordinate.y) {\n this.state.dismissed = false;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props = this.props,\n active = _this$props.active,\n allowEscapeViewBox = _this$props.allowEscapeViewBox,\n animationDuration = _this$props.animationDuration,\n animationEasing = _this$props.animationEasing,\n children = _this$props.children,\n coordinate = _this$props.coordinate,\n hasPayload = _this$props.hasPayload,\n isAnimationActive = _this$props.isAnimationActive,\n offset = _this$props.offset,\n position = _this$props.position,\n reverseDirection = _this$props.reverseDirection,\n useTranslate3d = _this$props.useTranslate3d,\n viewBox = _this$props.viewBox,\n wrapperStyle = _this$props.wrapperStyle;\n var _getTooltipTranslate = getTooltipTranslate({\n allowEscapeViewBox: allowEscapeViewBox,\n coordinate: coordinate,\n offsetTopLeft: offset,\n position: position,\n reverseDirection: reverseDirection,\n tooltipBox: this.state.lastBoundingBox,\n useTranslate3d: useTranslate3d,\n viewBox: viewBox\n }),\n cssClasses = _getTooltipTranslate.cssClasses,\n cssProperties = _getTooltipTranslate.cssProperties;\n var outerStyle = _objectSpread(_objectSpread({\n transition: isAnimationActive && active ? \"transform \".concat(animationDuration, \"ms \").concat(animationEasing) : undefined\n }, cssProperties), {}, {\n pointerEvents: 'none',\n visibility: !this.state.dismissed && active && hasPayload ? 'visible' : 'hidden',\n position: 'absolute',\n top: 0,\n left: 0\n }, wrapperStyle);\n return (\n /*#__PURE__*/\n // This element allow listening to the `Escape` key.\n // See https://github.com/recharts/recharts/pull/2925\n React.createElement(\"div\", {\n tabIndex: -1,\n className: cssClasses,\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, children)\n );\n }\n }]);\n}(PureComponent);","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Tooltip\n */\nimport React, { PureComponent } from 'react';\nimport { DefaultTooltipContent } from './DefaultTooltipContent';\nimport { TooltipBoundingBox } from './TooltipBoundingBox';\nimport { Global } from '../util/Global';\nimport { getUniqPayload } from '../util/payload/getUniqPayload';\nfunction defaultUniqBy(entry) {\n return entry.dataKey;\n}\nfunction renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n if (typeof content === 'function') {\n return /*#__PURE__*/React.createElement(content, props);\n }\n return /*#__PURE__*/React.createElement(DefaultTooltipContent, props);\n}\nexport var Tooltip = /*#__PURE__*/function (_PureComponent) {\n function Tooltip() {\n _classCallCheck(this, Tooltip);\n return _callSuper(this, Tooltip, arguments);\n }\n _inherits(Tooltip, _PureComponent);\n return _createClass(Tooltip, [{\n key: \"render\",\n value: function render() {\n var _this = this;\n var _this$props = this.props,\n active = _this$props.active,\n allowEscapeViewBox = _this$props.allowEscapeViewBox,\n animationDuration = _this$props.animationDuration,\n animationEasing = _this$props.animationEasing,\n content = _this$props.content,\n coordinate = _this$props.coordinate,\n filterNull = _this$props.filterNull,\n isAnimationActive = _this$props.isAnimationActive,\n offset = _this$props.offset,\n payload = _this$props.payload,\n payloadUniqBy = _this$props.payloadUniqBy,\n position = _this$props.position,\n reverseDirection = _this$props.reverseDirection,\n useTranslate3d = _this$props.useTranslate3d,\n viewBox = _this$props.viewBox,\n wrapperStyle = _this$props.wrapperStyle;\n var finalPayload = payload !== null && payload !== void 0 ? payload : [];\n if (filterNull && finalPayload.length) {\n finalPayload = getUniqPayload(payload.filter(function (entry) {\n return entry.value != null && (entry.hide !== true || _this.props.includeHidden);\n }), payloadUniqBy, defaultUniqBy);\n }\n var hasPayload = finalPayload.length > 0;\n return /*#__PURE__*/React.createElement(TooltipBoundingBox, {\n allowEscapeViewBox: allowEscapeViewBox,\n animationDuration: animationDuration,\n animationEasing: animationEasing,\n isAnimationActive: isAnimationActive,\n active: active,\n coordinate: coordinate,\n hasPayload: hasPayload,\n offset: offset,\n position: position,\n reverseDirection: reverseDirection,\n useTranslate3d: useTranslate3d,\n viewBox: viewBox,\n wrapperStyle: wrapperStyle\n }, renderContent(content, _objectSpread(_objectSpread({}, this.props), {}, {\n payload: finalPayload\n })));\n }\n }]);\n}(PureComponent);\n_defineProperty(Tooltip, \"displayName\", 'Tooltip');\n_defineProperty(Tooltip, \"defaultProps\", {\n accessibilityLayer: false,\n allowEscapeViewBox: {\n x: false,\n y: false\n },\n animationDuration: 400,\n animationEasing: 'ease',\n contentStyle: {},\n coordinate: {\n x: 0,\n y: 0\n },\n cursor: true,\n cursorStyle: {},\n filterNull: true,\n isAnimationActive: !Global.isSsr,\n itemStyle: {},\n labelStyle: {},\n offset: 10,\n reverseDirection: {\n x: false,\n y: false\n },\n separator: ' : ',\n trigger: 'hover',\n useTranslate3d: false,\n viewBox: {\n x: 0,\n y: 0,\n height: 0,\n width: 0\n },\n wrapperStyle: {}\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InternSet = exports.InternMap = void 0;\n\nclass InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {\n _intern: {\n value: new Map()\n },\n _key: {\n value: key\n }\n });\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n\n get(key) {\n return super.get(intern_get(this, key));\n }\n\n has(key) {\n return super.has(intern_get(this, key));\n }\n\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n\n}\n\nexports.InternMap = InternMap;\n\nclass InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {\n _intern: {\n value: new Map()\n },\n _key: {\n value: key\n }\n });\n if (values != null) for (const value of values) this.add(value);\n }\n\n has(value) {\n return super.has(intern_get(this, value));\n }\n\n add(value) {\n return super.add(intern_set(this, value));\n }\n\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n\n}\n\nexports.InternSet = InternSet;\n\nfunction intern_get({\n _intern,\n _key\n}, value) {\n const key = _key(value);\n\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({\n _intern,\n _key\n}, value) {\n const key = _key(value);\n\n if (_intern.has(key)) return _intern.get(key);\n\n _intern.set(key, value);\n\n return value;\n}\n\nfunction intern_delete({\n _intern,\n _key\n}, value) {\n const key = _key(value);\n\n if (_intern.has(key)) {\n value = _intern.get(key);\n\n _intern.delete(key);\n }\n\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(x) {\n return function constant() {\n return x;\n };\n}","var _excluded = [\"viewBox\"],\n _excluded2 = [\"viewBox\"],\n _excluded3 = [\"ticks\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Cartesian Axis\n */\nimport React, { Component } from 'react';\nimport isFunction from 'lodash/isFunction';\nimport get from 'lodash/get';\nimport clsx from 'clsx';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { Layer } from '../container/Layer';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { isNumber } from '../util/DataUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nimport { getTicks } from './getTicks';\n\n/** The orientation of the axis in correspondence to the chart */\n\n/** A unit to be appended to a value */\n\n/** The formatter function of tick */\n\nexport var CartesianAxis = /*#__PURE__*/function (_Component) {\n function CartesianAxis(props) {\n var _this;\n _classCallCheck(this, CartesianAxis);\n _this = _callSuper(this, CartesianAxis, [props]);\n _this.state = {\n fontSize: '',\n letterSpacing: ''\n };\n return _this;\n }\n _inherits(CartesianAxis, _Component);\n return _createClass(CartesianAxis, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(_ref, nextState) {\n var viewBox = _ref.viewBox,\n restProps = _objectWithoutProperties(_ref, _excluded);\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, _excluded2);\n return !shallowEqual(viewBox, viewBoxOld) || !shallowEqual(restProps, restPropsOld) || !shallowEqual(nextState, this.state);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var htmlLayer = this.layerReference;\n if (!htmlLayer) return;\n var tick = htmlLayer.getElementsByClassName('recharts-cartesian-axis-tick-value')[0];\n if (tick) {\n this.setState({\n fontSize: window.getComputedStyle(tick).fontSize,\n letterSpacing: window.getComputedStyle(tick).letterSpacing\n });\n }\n }\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 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 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 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 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 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 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 switch (orientation) {\n case 'left':\n textAnchor = mirror ? 'start' : 'end';\n break;\n case 'right':\n textAnchor = mirror ? 'end' : 'start';\n break;\n default:\n textAnchor = 'middle';\n break;\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 switch (orientation) {\n case 'left':\n case 'right':\n verticalAnchor = 'middle';\n break;\n case 'top':\n verticalAnchor = mirror ? 'start' : 'end';\n break;\n default:\n verticalAnchor = mirror ? 'end' : 'start';\n break;\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 var props = _objectSpread(_objectSpread(_objectSpread({}, filterProps(this.props, false)), filterProps(axisLine, false)), {}, {\n fill: 'none'\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 return /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n className: clsx('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 * @param {string} fontSize Fontsize to consider for tick spacing\n * @param {string} letterSpacing Letterspacing to consider for tick spacing\n * @return {ReactComponent} renderedTicks\n */\n function renderTicks(ticks, fontSize, letterSpacing) {\n var _this2 = this;\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 = getTicks(_objectSpread(_objectSpread({}, this.props), {}, {\n ticks: ticks\n }), fontSize, letterSpacing);\n var textAnchor = this.getTickTextAnchor();\n var verticalAnchor = this.getTickVerticalAnchor();\n var axisProps = filterProps(this.props, false);\n var customTickProps = filterProps(tick, false);\n var tickLineProps = _objectSpread(_objectSpread({}, axisProps), {}, {\n fill: 'none'\n }, filterProps(tickLine, false));\n var items = finalTicks.map(function (entry, i) {\n var _this2$getTickLineCoo = _this2.getTickLineCoord(entry),\n lineCoord = _this2$getTickLineCoo.line,\n tickCoord = _this2$getTickLineCoo.tick;\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 return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-cartesian-axis-tick\",\n key: \"tick-\".concat(entry.value, \"-\").concat(entry.coordinate, \"-\").concat(entry.tickCoord)\n }, adaptEventsOfChild(_this2.props, entry, i)), tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({}, tickLineProps, lineCoord, {\n className: clsx('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 _this3 = this;\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 if (hide) {\n return null;\n }\n var _this$props8 = this.props,\n ticks = _this$props8.ticks,\n noTicksProps = _objectWithoutProperties(_this$props8, _excluded3);\n var finalTicks = ticks;\n if (isFunction(ticksGenerator)) {\n finalTicks = ticks && ticks.length > 0 ? ticksGenerator(this.props) : ticksGenerator(noTicksProps);\n }\n if (width <= 0 || height <= 0 || !finalTicks || !finalTicks.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('recharts-cartesian-axis', className),\n ref: function ref(_ref2) {\n _this3.layerReference = _ref2;\n }\n }, axisLine && this.renderAxisLine(), this.renderTicks(finalTicks, this.state.fontSize, this.state.letterSpacing), Label.renderCallByParent(this.props));\n }\n }], [{\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\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 return tickItem;\n }\n }]);\n}(Component);\n_defineProperty(CartesianAxis, \"displayName\", 'CartesianAxis');\n_defineProperty(CartesianAxis, \"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});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"color\", {\n enumerable: true,\n get: function () {\n return _color.default;\n }\n});\nObject.defineProperty(exports, \"cubehelix\", {\n enumerable: true,\n get: function () {\n return _cubehelix.default;\n }\n});\nObject.defineProperty(exports, \"gray\", {\n enumerable: true,\n get: function () {\n return _lab.gray;\n }\n});\nObject.defineProperty(exports, \"hcl\", {\n enumerable: true,\n get: function () {\n return _lab.hcl;\n }\n});\nObject.defineProperty(exports, \"hsl\", {\n enumerable: true,\n get: function () {\n return _color.hsl;\n }\n});\nObject.defineProperty(exports, \"lab\", {\n enumerable: true,\n get: function () {\n return _lab.default;\n }\n});\nObject.defineProperty(exports, \"lch\", {\n enumerable: true,\n get: function () {\n return _lab.lch;\n }\n});\nObject.defineProperty(exports, \"rgb\", {\n enumerable: true,\n get: function () {\n return _color.rgb;\n }\n});\n\nvar _color = _interopRequireWildcard(require(\"./color.js\"));\n\nvar _lab = _interopRequireWildcard(require(\"./lab.js\"));\n\nvar _cubehelix = _interopRequireDefault(require(\"./cubehelix.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = nogamma;\nexports.gamma = gamma;\nexports.hue = hue;\n\nvar _constant = _interopRequireDefault(require(\"./constant.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction linear(a, d) {\n return function (t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function (t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nfunction hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : (0, _constant.default)(isNaN(a) ? b : a);\n}\n\nfunction gamma(y) {\n return (y = +y) === 1 ? nogamma : function (a, b) {\n return b - a ? exponential(a, b, y) : (0, _constant.default)(isNaN(a) ? b : a);\n };\n}\n\nfunction nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : (0, _constant.default)(isNaN(a) ? b : a);\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"valueAccessor\"],\n _excluded2 = [\"data\", \"dataKey\", \"clockWise\", \"id\", \"textBreakAll\"];\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\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.\"); }\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); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nimport React, { cloneElement } from 'react';\nimport isNil from 'lodash/isNil';\nimport isObject from 'lodash/isObject';\nimport isFunction from 'lodash/isFunction';\nimport last from 'lodash/last';\nimport { Label } from './Label';\nimport { Layer } from '../container/Layer';\nimport { findAllByType, filterProps } from '../util/ReactUtils';\nimport { getValueByDataKey } from '../util/ChartUtils';\nvar defaultAccessor = function defaultAccessor(entry) {\n return Array.isArray(entry.value) ? last(entry.value) : entry.value;\n};\nexport function LabelList(_ref) {\n var _ref$valueAccessor = _ref.valueAccessor,\n valueAccessor = _ref$valueAccessor === void 0 ? defaultAccessor : _ref$valueAccessor,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var data = restProps.data,\n dataKey = restProps.dataKey,\n clockWise = restProps.clockWise,\n id = restProps.id,\n textBreakAll = restProps.textBreakAll,\n others = _objectWithoutProperties(restProps, _excluded2);\n if (!data || !data.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-label-list\"\n }, data.map(function (entry, index) {\n var value = isNil(dataKey) ? valueAccessor(entry, index) : getValueByDataKey(entry && entry.payload, dataKey);\n var idProps = isNil(id) ? {} : {\n id: \"\".concat(id, \"-\").concat(index)\n };\n return /*#__PURE__*/React.createElement(Label, _extends({}, filterProps(entry, true), others, idProps, {\n parentViewBox: entry.parentViewBox,\n value: value,\n textBreakAll: textBreakAll,\n viewBox: Label.parseViewBox(isNil(clockWise) ? entry : _objectSpread(_objectSpread({}, entry), {}, {\n clockWise: clockWise\n })),\n key: \"label-\".concat(index) // eslint-disable-line react/no-array-index-key\n ,\n index: index\n }));\n }));\n}\nLabelList.displayName = 'LabelList';\nfunction parseLabelList(label, data) {\n if (!label) {\n return null;\n }\n if (label === true) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data\n });\n }\n if ( /*#__PURE__*/React.isValidElement(label) || isFunction(label)) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data,\n content: label\n });\n }\n if (isObject(label)) {\n return /*#__PURE__*/React.createElement(LabelList, _extends({\n data: data\n }, label, {\n key: \"labelList-implicit\"\n }));\n }\n return null;\n}\nfunction renderCallByParent(parentProps, data) {\n var checkPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (!parentProps || !parentProps.children && checkPropsLabel && !parentProps.label) {\n return null;\n }\n var children = parentProps.children;\n var explicitChildren = findAllByType(children, LabelList).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n data: data,\n // eslint-disable-next-line react/no-array-index-key\n key: \"labelList-\".concat(index)\n });\n });\n if (!checkPropsLabel) {\n return explicitChildren;\n }\n var implicitLabelList = parseLabelList(parentProps.label, data);\n return [implicitLabelList].concat(_toConsumableArray(explicitChildren));\n}\nLabelList.renderCallByParent = renderCallByParent;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar PREFIX_LIST = ['Webkit', 'Moz', 'O', 'ms'];\nexport var generatePrefixStyle = function generatePrefixStyle(name, value) {\n if (!name) {\n return null;\n }\n var camelName = name.replace(/(\\w)/, function (v) {\n return v.toUpperCase();\n });\n var result = PREFIX_LIST.reduce(function (res, entry) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, entry + camelName, value));\n }, {});\n result[name] = value;\n return result;\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Brush\n */\nimport React, { PureComponent, Children } from 'react';\nimport clsx from 'clsx';\nimport { scalePoint } from 'victory-vendor/d3-scale';\nimport isFunction from 'lodash/isFunction';\nimport range from 'lodash/range';\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/ReactUtils';\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 if (!data || !data.length) {\n return {};\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 isTravellerFocused: false,\n startX: scale(startIndex),\n endX: scale(endIndex),\n scale: scale,\n scaleValues: scaleValues\n };\n};\nvar isTouch = function isTouch(e) {\n return e.changedTouches && !!e.changedTouches.length;\n};\nexport var Brush = /*#__PURE__*/function (_PureComponent) {\n function Brush(props) {\n var _this;\n _classCallCheck(this, Brush);\n _this = _callSuper(this, Brush, [props]);\n _defineProperty(_this, \"handleDrag\", function (e) {\n if (_this.leaveTimer) {\n clearTimeout(_this.leaveTimer);\n _this.leaveTimer = null;\n }\n if (_this.state.isTravellerMoving) {\n _this.handleTravellerMove(e);\n } else if (_this.state.isSlideMoving) {\n _this.handleSlideDrag(e);\n }\n });\n _defineProperty(_this, \"handleTouchMove\", function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleDrag(e.changedTouches[0]);\n }\n });\n _defineProperty(_this, \"handleDragEnd\", function () {\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: false\n }, function () {\n var _this$props = _this.props,\n endIndex = _this$props.endIndex,\n onDragEnd = _this$props.onDragEnd,\n startIndex = _this$props.startIndex;\n onDragEnd === null || onDragEnd === void 0 || onDragEnd({\n endIndex: endIndex,\n startIndex: startIndex\n });\n });\n _this.detachDragEndListener();\n });\n _defineProperty(_this, \"handleLeaveWrapper\", function () {\n if (_this.state.isTravellerMoving || _this.state.isSlideMoving) {\n _this.leaveTimer = window.setTimeout(_this.handleDragEnd, _this.props.leaveTimeOut);\n }\n });\n _defineProperty(_this, \"handleEnterSlideOrTraveller\", function () {\n _this.setState({\n isTextActive: true\n });\n });\n _defineProperty(_this, \"handleLeaveSlideOrTraveller\", function () {\n _this.setState({\n isTextActive: false\n });\n });\n _defineProperty(_this, \"handleSlideDragStart\", function (e) {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: true,\n slideMoveStartX: event.pageX\n });\n _this.attachDragEndListener();\n });\n _this.travellerDragStartHandlers = {\n startX: _this.handleTravellerDragStart.bind(_this, 'startX'),\n endX: _this.handleTravellerDragStart.bind(_this, 'endX')\n };\n _this.state = {};\n return _this;\n }\n _inherits(Brush, _PureComponent);\n return _createClass(Brush, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.leaveTimer) {\n clearTimeout(this.leaveTimer);\n this.leaveTimer = null;\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$props2 = this.props,\n gap = _this$props2.gap,\n data = _this$props2.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$props3 = this.props,\n data = _this$props3.data,\n tickFormatter = _this$props3.tickFormatter,\n dataKey = _this$props3.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 window.addEventListener('mousemove', this.handleDrag, 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 window.removeEventListener('mousemove', this.handleDrag, 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$props4 = this.props,\n x = _this$props4.x,\n width = _this$props4.width,\n travellerWidth = _this$props4.travellerWidth,\n startIndex = _this$props4.startIndex,\n endIndex = _this$props4.endIndex,\n onChange = _this$props4.onChange;\n var delta = e.pageX - slideMoveStartX;\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 var newIndex = this.getIndex({\n startX: startX + delta,\n endX: endX + delta\n });\n if ((newIndex.startIndex !== startIndex || newIndex.endIndex !== endIndex) && onChange) {\n onChange(newIndex);\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$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$props5 = this.props,\n x = _this$props5.x,\n width = _this$props5.width,\n travellerWidth = _this$props5.travellerWidth,\n onChange = _this$props5.onChange,\n gap = _this$props5.gap,\n data = _this$props5.data;\n var params = {\n startX: this.state.startX,\n endX: this.state.endX\n };\n var delta = e.pageX - brushMoveStartX;\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 params[movingTravellerId] = prevValue + delta;\n var newIndex = this.getIndex(params);\n var startIndex = newIndex.startIndex,\n endIndex = newIndex.endIndex;\n var isFullGap = function isFullGap() {\n var lastIndex = data.length - 1;\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 return false;\n };\n this.setState(_defineProperty(_defineProperty({}, movingTravellerId, prevValue + delta), \"brushMoveStartX\", e.pageX), function () {\n if (onChange) {\n if (isFullGap()) {\n onChange(newIndex);\n }\n }\n });\n }\n }, {\n key: \"handleTravellerMoveKeyboard\",\n value: function handleTravellerMoveKeyboard(direction, id) {\n var _this2 = this;\n // scaleValues are a list of coordinates. For example: [65, 250, 435, 620, 805, 990].\n var _this$state3 = this.state,\n scaleValues = _this$state3.scaleValues,\n startX = _this$state3.startX,\n endX = _this$state3.endX;\n // currentScaleValue refers to which coordinate the current traveller should be placed at.\n var currentScaleValue = this.state[id];\n var currentIndex = scaleValues.indexOf(currentScaleValue);\n if (currentIndex === -1) {\n return;\n }\n var newIndex = currentIndex + direction;\n if (newIndex === -1 || newIndex >= scaleValues.length) {\n return;\n }\n var newScaleValue = scaleValues[newIndex];\n\n // Prevent travellers from being on top of each other or overlapping\n if (id === 'startX' && newScaleValue >= endX || id === 'endX' && newScaleValue <= startX) {\n return;\n }\n this.setState(_defineProperty({}, id, newScaleValue), function () {\n _this2.props.onChange(_this2.getIndex({\n startX: _this2.state.startX,\n endX: _this2.state.endX\n }));\n });\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\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 fill = _this$props6.fill,\n stroke = _this$props6.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$props7 = this.props,\n x = _this$props7.x,\n y = _this$props7.y,\n width = _this$props7.width,\n height = _this$props7.height,\n data = _this$props7.data,\n children = _this$props7.children,\n padding = _this$props7.padding;\n var chartElement = Children.only(children);\n if (!chartElement) {\n return null;\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 _data$startIndex,\n _data$endIndex,\n _this3 = this;\n var _this$props8 = this.props,\n y = _this$props8.y,\n travellerWidth = _this$props8.travellerWidth,\n height = _this$props8.height,\n traveller = _this$props8.traveller,\n ariaLabel = _this$props8.ariaLabel,\n data = _this$props8.data,\n startIndex = _this$props8.startIndex,\n endIndex = _this$props8.endIndex;\n var x = Math.max(travellerX, this.props.x);\n var travellerProps = _objectSpread(_objectSpread({}, filterProps(this.props, false)), {}, {\n x: x,\n y: y,\n width: travellerWidth,\n height: height\n });\n var ariaLabelBrush = ariaLabel || \"Min value: \".concat((_data$startIndex = data[startIndex]) === null || _data$startIndex === void 0 ? void 0 : _data$startIndex.name, \", Max value: \").concat((_data$endIndex = data[endIndex]) === null || _data$endIndex === void 0 ? void 0 : _data$endIndex.name);\n return /*#__PURE__*/React.createElement(Layer, {\n tabIndex: 0,\n role: \"slider\",\n \"aria-label\": ariaLabelBrush,\n \"aria-valuenow\": travellerX,\n className: \"recharts-brush-traveller\",\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.travellerDragStartHandlers[id],\n onTouchStart: this.travellerDragStartHandlers[id],\n onKeyDown: function onKeyDown(e) {\n if (!['ArrowLeft', 'ArrowRight'].includes(e.key)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n _this3.handleTravellerMoveKeyboard(e.key === 'ArrowRight' ? 1 : -1, id);\n },\n onFocus: function onFocus() {\n _this3.setState({\n isTravellerFocused: true\n });\n },\n onBlur: function onBlur() {\n _this3.setState({\n isTravellerFocused: false\n });\n },\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$props9 = this.props,\n y = _this$props9.y,\n height = _this$props9.height,\n stroke = _this$props9.stroke,\n travellerWidth = _this$props9.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$props10 = this.props,\n startIndex = _this$props10.startIndex,\n endIndex = _this$props10.endIndex,\n y = _this$props10.y,\n height = _this$props10.height,\n travellerWidth = _this$props10.travellerWidth,\n stroke = _this$props10.stroke;\n var _this$state4 = this.state,\n startX = _this$state4.startX,\n endX = _this$state4.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$props11 = this.props,\n data = _this$props11.data,\n className = _this$props11.className,\n children = _this$props11.children,\n x = _this$props11.x,\n y = _this$props11.y,\n width = _this$props11.width,\n height = _this$props11.height,\n alwaysShowText = _this$props11.alwaysShowText;\n var _this$state5 = this.state,\n startX = _this$state5.startX,\n endX = _this$state5.endX,\n isTextActive = _this$state5.isTextActive,\n isSlideMoving = _this$state5.isSlideMoving,\n isTravellerMoving = _this$state5.isTravellerMoving,\n isTravellerFocused = _this$state5.isTravellerFocused;\n if (!data || !data.length || !isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || width <= 0 || height <= 0) {\n return null;\n }\n var layerClass = clsx('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 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 || isTravellerFocused || 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 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 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 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 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 return null;\n }\n }, {\n key: \"getIndexInRange\",\n value: function getIndexInRange(valueRange, x) {\n var len = valueRange.length;\n var start = 0;\n var end = len - 1;\n while (end - start > 1) {\n var middle = Math.floor((start + end) / 2);\n if (valueRange[middle] > x) {\n end = middle;\n } else {\n start = middle;\n }\n }\n return x >= valueRange[end] ? end : start;\n }\n }]);\n}(PureComponent);\n_defineProperty(Brush, \"displayName\", 'Brush');\n_defineProperty(Brush, \"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});","export var ifOverflowMatches = function ifOverflowMatches(props, value) {\n var alwaysShow = props.alwaysShow;\n var ifOverflow = props.ifOverflow;\n if (alwaysShow) {\n ifOverflow = 'extendDomain';\n }\n return ifOverflow === value;\n};","function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Reference Dot\n */\nimport React from 'react';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\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/ReactUtils';\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 if (ifOverflowMatches(props, 'discard') && !scales.isInRange(result)) {\n return null;\n }\n return result;\n};\n\n// eslint-disable-next-line react/prefer-stateless-function -- requires static defaultProps\nexport var ReferenceDot = /*#__PURE__*/function (_React$Component) {\n function ReferenceDot() {\n _classCallCheck(this, ReferenceDot);\n return _callSuper(this, ReferenceDot, arguments);\n }\n _inherits(ReferenceDot, _React$Component);\n return _createClass(ReferenceDot, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n x = _this$props.x,\n y = _this$props.y,\n r = _this$props.r,\n alwaysShow = _this$props.alwaysShow,\n clipPathId = _this$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 if (!isX || !isY) {\n return null;\n }\n var coordinate = getCoordinate(this.props);\n if (!coordinate) {\n return null;\n }\n var cx = coordinate.x,\n cy = coordinate.y;\n var _this$props2 = this.props,\n shape = _this$props2.shape,\n className = _this$props2.className;\n var clipPath = ifOverflowMatches(this.props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n var dotProps = _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(this.props, true)), {}, {\n cx: cx,\n cy: cy\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('recharts-reference-dot', className)\n }, ReferenceDot.renderDot(shape, dotProps), Label.renderCallByParent(this.props, {\n x: cx - r,\n y: cy - r,\n width: 2 * r,\n height: 2 * r\n }));\n }\n }]);\n}(React.Component);\n_defineProperty(ReferenceDot, \"displayName\", 'ReferenceDot');\n_defineProperty(ReferenceDot, \"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_defineProperty(ReferenceDot, \"renderDot\", function (option, props) {\n var dot;\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 return dot;\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\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.\"); }\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); }\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; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 * @fileOverview Reference Line\n */\nimport React from 'react';\nimport isFunction from 'lodash/isFunction';\nimport some from 'lodash/some';\nimport clsx from 'clsx';\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/ReactUtils';\nimport { useClipPathId, useViewBox, useXAxisOrThrow, useYAxisOrThrow } from '../context/chartLayoutContext';\n\n/**\n * This excludes `viewBox` prop from svg for two reasons:\n * 1. The components wants viewBox of object type, and svg wants string\n * - so there's a conflict, and the component will throw if it gets string\n * 2. Internally the component calls `filterProps` which filters the viewBox away anyway\n */\n\nvar renderLine = function renderLine(option, props) {\n var line;\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 return line;\n};\n// TODO: ScaleHelper\nexport var getEndPoints = function getEndPoints(scales, isFixedX, isFixedY, isSegment, viewBox, position, xAxisOrientation, yAxisOrientation, props) {\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n if (isFixedY) {\n var yCoord = props.y;\n var coord = scales.y.apply(yCoord, {\n position: position\n });\n if (ifOverflowMatches(props, 'discard') && !scales.y.isInRange(coord)) {\n return null;\n }\n var points = [{\n x: x + width,\n y: coord\n }, {\n x: x,\n y: coord\n }];\n return yAxisOrientation === 'left' ? points.reverse() : points;\n }\n if (isFixedX) {\n var xCoord = props.x;\n var _coord = scales.x.apply(xCoord, {\n position: position\n });\n if (ifOverflowMatches(props, 'discard') && !scales.x.isInRange(_coord)) {\n return null;\n }\n var _points = [{\n x: _coord,\n y: y + height\n }, {\n x: _coord,\n y: y\n }];\n return xAxisOrientation === 'top' ? _points.reverse() : _points;\n }\n if (isSegment) {\n var segment = props.segment;\n var _points2 = segment.map(function (p) {\n return scales.apply(p, {\n position: position\n });\n });\n if (ifOverflowMatches(props, 'discard') && some(_points2, function (p) {\n return !scales.isInRange(p);\n })) {\n return null;\n }\n return _points2;\n }\n return null;\n};\nfunction ReferenceLineImpl(props) {\n var fixedX = props.x,\n fixedY = props.y,\n segment = props.segment,\n xAxisId = props.xAxisId,\n yAxisId = props.yAxisId,\n shape = props.shape,\n className = props.className,\n alwaysShow = props.alwaysShow;\n var clipPathId = useClipPathId();\n var xAxis = useXAxisOrThrow(xAxisId);\n var yAxis = useYAxisOrThrow(yAxisId);\n var viewBox = useViewBox();\n if (!clipPathId || !viewBox) {\n return null;\n }\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, viewBox, props.position, xAxis.orientation, yAxis.orientation, props);\n if (!endPoints) {\n return null;\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 var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\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 return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('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}\n\n// eslint-disable-next-line react/prefer-stateless-function -- requires static defaultProps\nexport var ReferenceLine = /*#__PURE__*/function (_React$Component) {\n function ReferenceLine() {\n _classCallCheck(this, ReferenceLine);\n return _callSuper(this, ReferenceLine, arguments);\n }\n _inherits(ReferenceLine, _React$Component);\n return _createClass(ReferenceLine, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ReferenceLineImpl, this.props);\n }\n }]);\n}(React.Component);\n_defineProperty(ReferenceLine, \"displayName\", 'ReferenceLine');\n_defineProperty(ReferenceLine, \"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});","function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Reference Line\n */\nimport React from 'react';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\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/ReactUtils';\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 if (ifOverflowMatches(props, 'discard') && (!scales.isInRange(p1) || !scales.isInRange(p2))) {\n return null;\n }\n return rectWithPoints(p1, p2);\n};\n\n// eslint-disable-next-line react/prefer-stateless-function -- requires static defaultProps\nexport var ReferenceArea = /*#__PURE__*/function (_React$Component) {\n function ReferenceArea() {\n _classCallCheck(this, ReferenceArea);\n return _callSuper(this, ReferenceArea, arguments);\n }\n _inherits(ReferenceArea, _React$Component);\n return _createClass(ReferenceArea, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n x1 = _this$props.x1,\n x2 = _this$props.x2,\n y1 = _this$props.y1,\n y2 = _this$props.y2,\n className = _this$props.className,\n alwaysShow = _this$props.alwaysShow,\n clipPathId = _this$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 = this.props.shape;\n if (!hasX1 && !hasX2 && !hasY1 && !hasY2 && !shape) {\n return null;\n }\n var rect = getRect(hasX1, hasX2, hasY1, hasY2, this.props);\n if (!rect && !shape) {\n return null;\n }\n var clipPath = ifOverflowMatches(this.props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('recharts-reference-area', className)\n }, ReferenceArea.renderRect(shape, _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(this.props, true)), rect)), Label.renderCallByParent(this.props, rect));\n }\n }]);\n}(React.Component);\n_defineProperty(ReferenceArea, \"displayName\", 'ReferenceArea');\n_defineProperty(ReferenceArea, \"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_defineProperty(ReferenceArea, \"renderRect\", function (option, props) {\n var rect;\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 return rect;\n});","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\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.\"); }\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); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nimport { ReferenceDot } from '../cartesian/ReferenceDot';\nimport { ReferenceLine } from '../cartesian/ReferenceLine';\nimport { ReferenceArea } from '../cartesian/ReferenceArea';\nimport { ifOverflowMatches } from './IfOverflowMatches';\nimport { findAllByType } from './ReactUtils';\nimport { isNumber } from './DataUtils';\nexport var detectReferenceElementsDomain = function detectReferenceElementsDomain(children, domain, axisId, axisType, specifiedTicks) {\n var lines = findAllByType(children, ReferenceLine);\n var dots = findAllByType(children, ReferenceDot);\n var elements = [].concat(_toConsumableArray(lines), _toConsumableArray(dots));\n var areas = findAllByType(children, ReferenceArea);\n var idKey = \"\".concat(axisType, \"Id\");\n var valueKey = axisType[0];\n var finalDomain = domain;\n if (elements.length) {\n finalDomain = elements.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[valueKey])) {\n var value = el.props[valueKey];\n return [Math.min(result[0], value), Math.max(result[1], value)];\n }\n return result;\n }, finalDomain);\n }\n if (areas.length) {\n var key1 = \"\".concat(valueKey, \"1\");\n var key2 = \"\".concat(valueKey, \"2\");\n finalDomain = areas.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[key1]) && isNumber(el.props[key2])) {\n var value1 = el.props[key1];\n var value2 = el.props[key2];\n return [Math.min(result[0], value1, value2), Math.max(result[1], value1, value2)];\n }\n return result;\n }, finalDomain);\n }\n if (specifiedTicks && specifiedTicks.length) {\n finalDomain = specifiedTicks.reduce(function (result, tick) {\n if (isNumber(tick)) {\n return [Math.min(result[0], tick), Math.max(result[1], tick)];\n }\n return result;\n }, finalDomain);\n }\n return finalDomain;\n};","import EventEmitter from 'eventemitter3';\nvar eventCenter = new EventEmitter();\nexport { eventCenter };\nexport var SYNC_EVENT = 'recharts.syncMouseEvents';","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nexport var AccessibilityManager = /*#__PURE__*/function () {\n function AccessibilityManager() {\n _classCallCheck(this, AccessibilityManager);\n _defineProperty(this, \"activeIndex\", 0);\n _defineProperty(this, \"coordinateList\", []);\n _defineProperty(this, \"layout\", 'horizontal');\n }\n return _createClass(AccessibilityManager, [{\n key: \"setDetails\",\n value: function setDetails(_ref) {\n var _ref2;\n var _ref$coordinateList = _ref.coordinateList,\n coordinateList = _ref$coordinateList === void 0 ? null : _ref$coordinateList,\n _ref$container = _ref.container,\n container = _ref$container === void 0 ? null : _ref$container,\n _ref$layout = _ref.layout,\n layout = _ref$layout === void 0 ? null : _ref$layout,\n _ref$offset = _ref.offset,\n offset = _ref$offset === void 0 ? null : _ref$offset,\n _ref$mouseHandlerCall = _ref.mouseHandlerCallback,\n mouseHandlerCallback = _ref$mouseHandlerCall === void 0 ? null : _ref$mouseHandlerCall;\n this.coordinateList = (_ref2 = coordinateList !== null && coordinateList !== void 0 ? coordinateList : this.coordinateList) !== null && _ref2 !== void 0 ? _ref2 : [];\n this.container = container !== null && container !== void 0 ? container : this.container;\n this.layout = layout !== null && layout !== void 0 ? layout : this.layout;\n this.offset = offset !== null && offset !== void 0 ? offset : this.offset;\n this.mouseHandlerCallback = mouseHandlerCallback !== null && mouseHandlerCallback !== void 0 ? mouseHandlerCallback : this.mouseHandlerCallback;\n\n // Keep activeIndex in the bounds between 0 and the last coordinate index\n this.activeIndex = Math.min(Math.max(this.activeIndex, 0), this.coordinateList.length - 1);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.spoofMouse();\n }\n }, {\n key: \"keyboardEvent\",\n value: function keyboardEvent(e) {\n // The AccessibilityManager relies on the Tooltip component. When tooltips suddenly stop existing,\n // it can cause errors. We use this function to check. We don't want arrow keys to be processed\n // if there are no tooltips, since that will cause unexpected behavior of users.\n if (this.coordinateList.length === 0) {\n return;\n }\n switch (e.key) {\n case 'ArrowRight':\n {\n if (this.layout !== 'horizontal') {\n return;\n }\n this.activeIndex = Math.min(this.activeIndex + 1, this.coordinateList.length - 1);\n this.spoofMouse();\n break;\n }\n case 'ArrowLeft':\n {\n if (this.layout !== 'horizontal') {\n return;\n }\n this.activeIndex = Math.max(this.activeIndex - 1, 0);\n this.spoofMouse();\n break;\n }\n default:\n {\n break;\n }\n }\n }\n }, {\n key: \"setIndex\",\n value: function setIndex(newIndex) {\n this.activeIndex = newIndex;\n }\n }, {\n key: \"spoofMouse\",\n value: function spoofMouse() {\n var _window, _window2;\n if (this.layout !== 'horizontal') {\n return;\n }\n\n // This can happen when the tooltips suddenly stop existing as children of the component\n // That update doesn't otherwise fire events, so we have to double check here.\n if (this.coordinateList.length === 0) {\n return;\n }\n var _this$container$getBo = this.container.getBoundingClientRect(),\n x = _this$container$getBo.x,\n y = _this$container$getBo.y,\n height = _this$container$getBo.height;\n var coordinate = this.coordinateList[this.activeIndex].coordinate;\n var scrollOffsetX = ((_window = window) === null || _window === void 0 ? void 0 : _window.scrollX) || 0;\n var scrollOffsetY = ((_window2 = window) === null || _window2 === void 0 ? void 0 : _window2.scrollY) || 0;\n var pageX = x + coordinate + scrollOffsetX;\n var pageY = y + this.offset.top + height / 2 + scrollOffsetY;\n this.mouseHandlerCallback({\n pageX: pageX,\n pageY: pageY\n });\n }\n }]);\n}();","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"x\", \"y\", \"top\", \"left\", \"width\", \"height\", \"className\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\n/**\n * @fileOverview Cross\n */\nimport React from 'react';\nimport clsx from 'clsx';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/ReactUtils';\nvar getPath = function getPath(x, y, width, height, top, left) {\n return \"M\".concat(x, \",\").concat(top, \"v\").concat(height, \"M\").concat(left, \",\").concat(y, \"h\").concat(width);\n};\nexport var Cross = function Cross(_ref) {\n var _ref$x = _ref.x,\n x = _ref$x === void 0 ? 0 : _ref$x,\n _ref$y = _ref.y,\n y = _ref$y === void 0 ? 0 : _ref$y,\n _ref$top = _ref.top,\n top = _ref$top === void 0 ? 0 : _ref$top,\n _ref$left = _ref.left,\n left = _ref$left === void 0 ? 0 : _ref$left,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? 0 : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? 0 : _ref$height,\n className = _ref.className,\n rest = _objectWithoutProperties(_ref, _excluded);\n var props = _objectSpread({\n x: x,\n y: y,\n top: top,\n left: left,\n width: width,\n height: height\n }, rest);\n if (!isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || !isNumber(top) || !isNumber(left)) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, true), {\n className: clsx('recharts-cross', className),\n d: getPath(x, y, width, height, top, left)\n }));\n};","import { polarToCartesian } from '../PolarUtils';\n/**\n * Only applicable for radial layouts\n * @param {Object} activeCoordinate ChartCoordinate\n * @returns {Object} RadialCursorPoints\n */\nexport function getRadialCursorPoints(activeCoordinate) {\n var cx = activeCoordinate.cx,\n cy = activeCoordinate.cy,\n radius = activeCoordinate.radius,\n startAngle = activeCoordinate.startAngle,\n endAngle = activeCoordinate.endAngle;\n var startPoint = polarToCartesian(cx, cy, radius, startAngle);\n var endPoint = polarToCartesian(cx, cy, radius, endAngle);\n return {\n points: [startPoint, endPoint],\n cx: cx,\n cy: cy,\n radius: radius,\n startAngle: startAngle,\n endAngle: endAngle\n };\n}","import { polarToCartesian } from '../PolarUtils';\nimport { getRadialCursorPoints } from './getRadialCursorPoints';\nexport function getCursorPoints(layout, activeCoordinate, offset) {\n var x1, y1, x2, y2;\n if (layout === 'horizontal') {\n x1 = activeCoordinate.x;\n x2 = x1;\n y1 = offset.top;\n y2 = offset.top + offset.height;\n } else if (layout === 'vertical') {\n y1 = activeCoordinate.y;\n y2 = y1;\n x1 = offset.left;\n x2 = offset.left + offset.width;\n } else if (activeCoordinate.cx != null && activeCoordinate.cy != null) {\n if (layout === 'centric') {\n var cx = activeCoordinate.cx,\n cy = activeCoordinate.cy,\n innerRadius = activeCoordinate.innerRadius,\n outerRadius = activeCoordinate.outerRadius,\n angle = activeCoordinate.angle;\n var innerPoint = polarToCartesian(cx, cy, innerRadius, angle);\n var outerPoint = polarToCartesian(cx, cy, outerRadius, angle);\n x1 = innerPoint.x;\n y1 = innerPoint.y;\n x2 = outerPoint.x;\n y2 = outerPoint.y;\n } else {\n return getRadialCursorPoints(activeCoordinate);\n }\n }\n return [{\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n }];\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { cloneElement, createElement, isValidElement } from 'react';\nimport clsx from 'clsx';\nimport { Curve } from '../shape/Curve';\nimport { Cross } from '../shape/Cross';\nimport { getCursorRectangle } from '../util/cursor/getCursorRectangle';\nimport { Rectangle } from '../shape/Rectangle';\nimport { getRadialCursorPoints } from '../util/cursor/getRadialCursorPoints';\nimport { Sector } from '../shape/Sector';\nimport { getCursorPoints } from '../util/cursor/getCursorPoints';\nimport { filterProps } from '../util/ReactUtils';\n/*\n * Cursor is the background, or a highlight,\n * that shows when user mouses over or activates\n * an area.\n *\n * It usually shows together with a tooltip\n * to emphasise which part of the chart does the tooltip refer to.\n */\nexport function Cursor(props) {\n var _element$props$cursor, _defaultProps;\n var element = props.element,\n tooltipEventType = props.tooltipEventType,\n isActive = props.isActive,\n activeCoordinate = props.activeCoordinate,\n activePayload = props.activePayload,\n offset = props.offset,\n activeTooltipIndex = props.activeTooltipIndex,\n tooltipAxisBandSize = props.tooltipAxisBandSize,\n layout = props.layout,\n chartName = props.chartName;\n var elementPropsCursor = (_element$props$cursor = element.props.cursor) !== null && _element$props$cursor !== void 0 ? _element$props$cursor : (_defaultProps = element.type.defaultProps) === null || _defaultProps === void 0 ? void 0 : _defaultProps.cursor;\n if (!element || !elementPropsCursor || !isActive || !activeCoordinate || chartName !== 'ScatterChart' && tooltipEventType !== 'axis') {\n return null;\n }\n var restProps;\n var cursorComp = Curve;\n if (chartName === 'ScatterChart') {\n restProps = activeCoordinate;\n cursorComp = Cross;\n } else if (chartName === 'BarChart') {\n restProps = getCursorRectangle(layout, activeCoordinate, offset, tooltipAxisBandSize);\n cursorComp = Rectangle;\n } else if (layout === 'radial') {\n var _getRadialCursorPoint = getRadialCursorPoints(activeCoordinate),\n cx = _getRadialCursorPoint.cx,\n cy = _getRadialCursorPoint.cy,\n radius = _getRadialCursorPoint.radius,\n startAngle = _getRadialCursorPoint.startAngle,\n endAngle = _getRadialCursorPoint.endAngle;\n restProps = {\n cx: cx,\n cy: cy,\n startAngle: startAngle,\n endAngle: endAngle,\n innerRadius: radius,\n outerRadius: radius\n };\n cursorComp = Sector;\n } else {\n restProps = {\n points: getCursorPoints(layout, activeCoordinate, offset)\n };\n cursorComp = Curve;\n }\n var cursorProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n stroke: '#ccc',\n pointerEvents: 'none'\n }, offset), restProps), filterProps(elementPropsCursor, false)), {}, {\n payload: activePayload,\n payloadIndex: activeTooltipIndex,\n className: clsx('recharts-tooltip-cursor', elementPropsCursor.className)\n });\n return /*#__PURE__*/isValidElement(elementPropsCursor) ? /*#__PURE__*/cloneElement(elementPropsCursor, cursorProps) : /*#__PURE__*/createElement(cursorComp, cursorProps);\n}","export function getCursorRectangle(layout, activeCoordinate, offset, tooltipAxisBandSize) {\n var halfSize = tooltipAxisBandSize / 2;\n return {\n stroke: 'none',\n fill: '#ccc',\n x: layout === 'horizontal' ? activeCoordinate.x - halfSize : offset.left + 0.5,\n y: layout === 'horizontal' ? offset.top + 0.5 : activeCoordinate.y - halfSize,\n width: layout === 'horizontal' ? tooltipAxisBandSize : offset.width - 1,\n height: layout === 'horizontal' ? offset.height - 1 : tooltipAxisBandSize\n };\n}","var _excluded = [\"item\"],\n _excluded2 = [\"children\", \"className\", \"width\", \"height\", \"style\", \"compact\", \"title\", \"desc\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\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.\"); }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\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.\"); }\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); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React, { Component, cloneElement, isValidElement, forwardRef } from 'react';\nimport isNil from 'lodash/isNil';\nimport isFunction from 'lodash/isFunction';\nimport range from 'lodash/range';\nimport get from 'lodash/get';\nimport sortBy from 'lodash/sortBy';\nimport throttle from 'lodash/throttle';\nimport clsx from 'clsx';\n// eslint-disable-next-line no-restricted-imports\n\nimport invariant from 'tiny-invariant';\nimport { Surface } from '../container/Surface';\nimport { Layer } from '../container/Layer';\nimport { Tooltip } from '../component/Tooltip';\nimport { Legend } from '../component/Legend';\nimport { Dot } from '../shape/Dot';\nimport { isInRectangle } from '../shape/Rectangle';\nimport { filterProps, findAllByType, findChildByType, getDisplayName, getReactEventByType, isChildrenEqual, parseChildIndex, renderByOrder, validateWidthHeight } from '../util/ReactUtils';\nimport { Brush } from '../cartesian/Brush';\nimport { getOffset } from '../util/DOMUtils';\nimport { findEntryInArray, getAnyElementOfObject, hasDuplicate, isNumber, uniqueId } from '../util/DataUtils';\nimport { appendOffsetOfLegend, calculateActiveTickIndex, combineEventHandlers, getBandSizeOfAxis, getBarPosition, getBarSizeList, getDomainOfDataByKey, getDomainOfItemsWithSameAxis, getDomainOfStackGroups, getLegendProps, getMainColorOfGraphicItem, getStackedDataOfItem, getStackGroupsByAxisId, getTicksOfAxis, getTooltipItem, isCategoricalAxis, parseDomainOfCategoryAxis, parseErrorBarsOfAxis, parseSpecifiedDomain } from '../util/ChartUtils';\nimport { detectReferenceElementsDomain } from '../util/DetectReferenceElementsDomain';\nimport { inRangeOfSector, polarToCartesian } from '../util/PolarUtils';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { eventCenter, SYNC_EVENT } from '../util/Events';\nimport { adaptEventHandlers } from '../util/types';\nimport { AccessibilityManager } from './AccessibilityManager';\nimport { isDomainSpecifiedByUser } from '../util/isDomainSpecifiedByUser';\nimport { getActiveShapeIndexForTooltip, isFunnel, isPie, isScatter } from '../util/ActiveShapeUtils';\nimport { Cursor } from '../component/Cursor';\nimport { ChartLayoutContextProvider } from '../context/chartLayoutContext';\nvar ORIENT_MAP = {\n xAxis: ['bottom', 'top'],\n yAxis: ['left', 'right']\n};\nvar FULL_WIDTH_AND_HEIGHT = {\n width: '100%',\n height: '100%'\n};\nvar originCoordinate = {\n x: 0,\n y: 0\n};\n\n/**\n * This function exists as a temporary workaround.\n *\n * Why? generateCategoricalChart does not render `{children}` directly;\n * instead it passes them through `renderByOrder` function which reads their handlers.\n *\n * So, this is a handler that does nothing.\n * Once we get rid of `renderByOrder` and switch to JSX only, we can get rid of this handler too.\n *\n * @param {JSX} element as is in JSX\n * @returns {JSX} the same element\n */\nfunction renderAsIs(element) {\n return element;\n}\nvar calculateTooltipPos = function calculateTooltipPos(rangeObj, layout) {\n if (layout === 'horizontal') {\n return rangeObj.x;\n }\n if (layout === 'vertical') {\n return rangeObj.y;\n }\n if (layout === 'centric') {\n return rangeObj.angle;\n }\n return rangeObj.radius;\n};\nvar getActiveCoordinate = function getActiveCoordinate(layout, tooltipTicks, activeIndex, rangeObj) {\n var entry = tooltipTicks.find(function (tick) {\n return tick && tick.index === activeIndex;\n });\n if (entry) {\n if (layout === 'horizontal') {\n return {\n x: entry.coordinate,\n y: rangeObj.y\n };\n }\n if (layout === 'vertical') {\n return {\n x: rangeObj.x,\n y: entry.coordinate\n };\n }\n if (layout === 'centric') {\n var _angle = entry.coordinate;\n var _radius = rangeObj.radius;\n return _objectSpread(_objectSpread(_objectSpread({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, _radius, _angle)), {}, {\n angle: _angle,\n radius: _radius\n });\n }\n var radius = entry.coordinate;\n var angle = rangeObj.angle;\n return _objectSpread(_objectSpread(_objectSpread({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, radius, angle)), {}, {\n angle: angle,\n radius: radius\n });\n }\n return originCoordinate;\n};\nvar getDisplayedData = function getDisplayedData(data, _ref) {\n var graphicalItems = _ref.graphicalItems,\n dataStartIndex = _ref.dataStartIndex,\n dataEndIndex = _ref.dataEndIndex;\n var itemsData = (graphicalItems !== null && graphicalItems !== void 0 ? graphicalItems : []).reduce(function (result, child) {\n var itemData = child.props.data;\n if (itemData && itemData.length) {\n return [].concat(_toConsumableArray(result), _toConsumableArray(itemData));\n }\n return result;\n }, []);\n if (itemsData.length > 0) {\n return itemsData;\n }\n if (data && data.length && isNumber(dataStartIndex) && isNumber(dataEndIndex)) {\n return data.slice(dataStartIndex, dataEndIndex + 1);\n }\n return [];\n};\nfunction getDefaultDomainByAxisType(axisType) {\n return axisType === 'number' ? [0, 'auto'] : undefined;\n}\n\n/**\n * Get the content to be displayed in the tooltip\n * @param {Object} state Current state\n * @param {Array} chartData The data defined in chart\n * @param {Number} activeIndex Active index of data\n * @param {String} activeLabel Active label of data\n * @return {Array} The content of tooltip\n */\nvar getTooltipContent = function getTooltipContent(state, chartData, activeIndex, activeLabel) {\n var graphicalItems = state.graphicalItems,\n tooltipAxis = state.tooltipAxis;\n var displayedData = getDisplayedData(chartData, state);\n if (activeIndex < 0 || !graphicalItems || !graphicalItems.length || activeIndex >= displayedData.length) {\n return null;\n }\n // get data by activeIndex when the axis don't allow duplicated category\n return graphicalItems.reduce(function (result, child) {\n var _child$props$data;\n /**\n * Fixes: https://github.com/recharts/recharts/issues/3669\n * Defaulting to chartData below to fix an edge case where the tooltip does not include data from all charts\n * when a separate dataset is passed to chart prop data and specified on Line/Area/etc prop data\n */\n var data = (_child$props$data = child.props.data) !== null && _child$props$data !== void 0 ? _child$props$data : chartData;\n if (data && state.dataStartIndex + state.dataEndIndex !== 0 &&\n // https://github.com/recharts/recharts/issues/4717\n // The data is sliced only when the active index is within the start/end index range.\n state.dataEndIndex - state.dataStartIndex >= activeIndex) {\n data = data.slice(state.dataStartIndex, state.dataEndIndex + 1);\n }\n var payload;\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n // graphic child has data props\n var entries = data === undefined ? displayedData : data;\n payload = findEntryInArray(entries, tooltipAxis.dataKey, activeLabel);\n } else {\n payload = data && data[activeIndex] || displayedData[activeIndex];\n }\n if (!payload) {\n return result;\n }\n return [].concat(_toConsumableArray(result), [getTooltipItem(child, payload)]);\n }, []);\n};\n\n/**\n * Returns tooltip data based on a mouse position (as a parameter or in state)\n * @param {Object} state current state\n * @param {Array} chartData the data defined in chart\n * @param {String} layout The layout type of chart\n * @param {Object} rangeObj { x, y } coordinates\n * @return {Object} Tooltip data data\n */\nvar getTooltipData = function getTooltipData(state, chartData, layout, rangeObj) {\n var rangeData = rangeObj || {\n x: state.chartX,\n y: state.chartY\n };\n var pos = calculateTooltipPos(rangeData, layout);\n var ticks = state.orderedTooltipTicks,\n axis = state.tooltipAxis,\n tooltipTicks = state.tooltipTicks;\n var activeIndex = calculateActiveTickIndex(pos, ticks, tooltipTicks, axis);\n if (activeIndex >= 0 && tooltipTicks) {\n var activeLabel = tooltipTicks[activeIndex] && tooltipTicks[activeIndex].value;\n var activePayload = getTooltipContent(state, chartData, activeIndex, activeLabel);\n var activeCoordinate = getActiveCoordinate(layout, ticks, activeIndex, rangeData);\n return {\n activeTooltipIndex: activeIndex,\n activeLabel: activeLabel,\n activePayload: activePayload,\n activeCoordinate: activeCoordinate\n };\n }\n return null;\n};\n\n/**\n * Get the configuration of axis by the options of axis instance\n * @param {Object} props Latest props\n * @param {Array} axes The instance of axes\n * @param {Array} graphicalItems The instances of item\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\nexport var getAxisMapByAxes = function getAxisMapByAxes(props, _ref2) {\n var axes = _ref2.axes,\n graphicalItems = _ref2.graphicalItems,\n axisType = _ref2.axisType,\n axisIdKey = _ref2.axisIdKey,\n stackGroups = _ref2.stackGroups,\n dataStartIndex = _ref2.dataStartIndex,\n dataEndIndex = _ref2.dataEndIndex;\n var layout = props.layout,\n children = props.children,\n stackOffset = props.stackOffset;\n var isCategorical = isCategoricalAxis(layout, axisType);\n\n // Eliminate duplicated axes\n return axes.reduce(function (result, child) {\n var _childProps$domain2;\n var childProps = child.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, child.type.defaultProps), child.props) : child.props;\n var type = childProps.type,\n dataKey = childProps.dataKey,\n allowDataOverflow = childProps.allowDataOverflow,\n allowDuplicatedCategory = childProps.allowDuplicatedCategory,\n scale = childProps.scale,\n ticks = childProps.ticks,\n includeHidden = childProps.includeHidden;\n var axisId = childProps[axisIdKey];\n if (result[axisId]) {\n return result;\n }\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: graphicalItems.filter(function (item) {\n var _defaultProps;\n var itemAxisId = axisIdKey in item.props ? item.props[axisIdKey] : (_defaultProps = item.type.defaultProps) === null || _defaultProps === void 0 ? void 0 : _defaultProps[axisIdKey];\n return itemAxisId === axisId;\n }),\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var len = displayedData.length;\n var domain, duplicateDomain, categoricalDomain;\n\n /*\n * This is a hack to short-circuit the domain creation here to enhance performance.\n * Usually, the data is used to determine the domain, but when the user specifies\n * a domain upfront (via props), there is no need to calculate the domain start and end,\n * which is very expensive for a larger amount of data.\n * The only thing that would prohibit short-circuiting is when the user doesn't allow data overflow,\n * because the axis is supposed to ignore the specified domain that way.\n */\n if (isDomainSpecifiedByUser(childProps.domain, allowDataOverflow, type)) {\n domain = parseSpecifiedDomain(childProps.domain, null, allowDataOverflow);\n /* The chart can be categorical and have the domain specified in numbers\n * we still need to calculate the categorical domain\n * TODO: refactor this more\n */\n if (isCategorical && (type === 'number' || scale !== 'auto')) {\n categoricalDomain = getDomainOfDataByKey(displayedData, dataKey, 'category');\n }\n }\n\n // if the domain is defaulted we need this for `originalDomain` as well\n var defaultDomain = getDefaultDomainByAxisType(type);\n\n // we didn't create the domain from user's props above, so we need to calculate it\n if (!domain || domain.length === 0) {\n var _childProps$domain;\n var childDomain = (_childProps$domain = childProps.domain) !== null && _childProps$domain !== void 0 ? _childProps$domain : defaultDomain;\n if (dataKey) {\n // has dataKey in \n domain = getDomainOfDataByKey(displayedData, dataKey, type);\n if (type === 'category' && isCategorical) {\n // the field type is category data and this axis is categorical axis\n var duplicate = hasDuplicate(domain);\n if (allowDuplicatedCategory && duplicate) {\n duplicateDomain = domain;\n // When category axis has duplicated text, serial numbers are used to generate scale\n domain = range(0, len);\n } else if (!allowDuplicatedCategory) {\n // remove duplicated category\n domain = parseDomainOfCategoryAxis(childDomain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n }\n } else if (type === 'category') {\n // the field type is category data and this axis is numerical axis\n if (!allowDuplicatedCategory) {\n domain = parseDomainOfCategoryAxis(childDomain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 || entry === '' || isNil(entry) ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n } else {\n // eliminate undefined or null or empty string\n domain = domain.filter(function (entry) {\n return entry !== '' && !isNil(entry);\n });\n }\n } else if (type === 'number') {\n // the field type is numerical\n var errorBarsDomain = parseErrorBarsOfAxis(displayedData, graphicalItems.filter(function (item) {\n var _defaultProps2, _defaultProps3;\n var itemAxisId = axisIdKey in item.props ? item.props[axisIdKey] : (_defaultProps2 = item.type.defaultProps) === null || _defaultProps2 === void 0 ? void 0 : _defaultProps2[axisIdKey];\n var itemHide = 'hide' in item.props ? item.props.hide : (_defaultProps3 = item.type.defaultProps) === null || _defaultProps3 === void 0 ? void 0 : _defaultProps3.hide;\n return itemAxisId === axisId && (includeHidden || !itemHide);\n }), dataKey, axisType, layout);\n if (errorBarsDomain) {\n domain = errorBarsDomain;\n }\n }\n if (isCategorical && (type === 'number' || scale !== 'auto')) {\n categoricalDomain = getDomainOfDataByKey(displayedData, dataKey, 'category');\n }\n } else if (isCategorical) {\n // the axis is a categorical axis\n domain = range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack && type === 'number') {\n // when stackOffset is 'expand', the domain may be calculated as [0, 1.000000000002]\n domain = stackOffset === 'expand' ? [0, 1] : getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n } else {\n domain = getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n var itemAxisId = axisIdKey in item.props ? item.props[axisIdKey] : item.type.defaultProps[axisIdKey];\n var itemHide = 'hide' in item.props ? item.props.hide : item.type.defaultProps.hide;\n return itemAxisId === axisId && (includeHidden || !itemHide);\n }), type, layout, true);\n }\n if (type === 'number') {\n // To detect wether there is any reference lines whose props alwaysShow is true\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType, ticks);\n if (childDomain) {\n domain = parseSpecifiedDomain(childDomain, domain, allowDataOverflow);\n }\n } else if (type === 'category' && childDomain) {\n var axisDomain = childDomain;\n var isDomainValid = domain.every(function (entry) {\n return axisDomain.indexOf(entry) >= 0;\n });\n if (isDomainValid) {\n domain = axisDomain;\n }\n }\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, _objectSpread(_objectSpread({}, childProps), {}, {\n axisType: axisType,\n domain: domain,\n categoricalDomain: categoricalDomain,\n duplicateDomain: duplicateDomain,\n originalDomain: (_childProps$domain2 = childProps.domain) !== null && _childProps$domain2 !== void 0 ? _childProps$domain2 : defaultDomain,\n isCategorical: isCategorical,\n layout: layout\n })));\n }, {});\n};\n\n/**\n * Get the configuration of axis by the options of item,\n * this kind of axis does not display in chart\n * @param {Object} props Latest props\n * @param {Array} graphicalItems The instances of item\n * @param {ReactElement} Axis Axis Component\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\nvar getAxisMapByItems = function getAxisMapByItems(props, _ref3) {\n var graphicalItems = _ref3.graphicalItems,\n Axis = _ref3.Axis,\n axisType = _ref3.axisType,\n axisIdKey = _ref3.axisIdKey,\n stackGroups = _ref3.stackGroups,\n dataStartIndex = _ref3.dataStartIndex,\n dataEndIndex = _ref3.dataEndIndex;\n var layout = props.layout,\n children = props.children;\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: graphicalItems,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var len = displayedData.length;\n var isCategorical = isCategoricalAxis(layout, axisType);\n var index = -1;\n\n // The default type of x-axis is category axis,\n // The default contents of x-axis is the serial numbers of data\n // The default type of y-axis is number axis\n // The default contents of y-axis is the domain of data\n return graphicalItems.reduce(function (result, child) {\n var childProps = child.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, child.type.defaultProps), child.props) : child.props;\n var axisId = childProps[axisIdKey];\n var originalDomain = getDefaultDomainByAxisType('number');\n if (!result[axisId]) {\n index++;\n var domain;\n if (isCategorical) {\n domain = range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack) {\n domain = getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n } else {\n domain = parseSpecifiedDomain(originalDomain, getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n var _defaultProps4, _defaultProps5;\n var itemAxisId = axisIdKey in item.props ? item.props[axisIdKey] : (_defaultProps4 = item.type.defaultProps) === null || _defaultProps4 === void 0 ? void 0 : _defaultProps4[axisIdKey];\n var itemHide = 'hide' in item.props ? item.props.hide : (_defaultProps5 = item.type.defaultProps) === null || _defaultProps5 === void 0 ? void 0 : _defaultProps5.hide;\n return itemAxisId === axisId && !itemHide;\n }), 'number', layout), Axis.defaultProps.allowDataOverflow);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n }\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, _objectSpread(_objectSpread({\n axisType: axisType\n }, Axis.defaultProps), {}, {\n hide: true,\n orientation: get(ORIENT_MAP, \"\".concat(axisType, \".\").concat(index % 2), null),\n domain: domain,\n originalDomain: originalDomain,\n isCategorical: isCategorical,\n layout: layout\n // specify scale when no Axis\n // scale: isCategorical ? 'band' : 'linear',\n })));\n }\n return result;\n }, {});\n};\n\n/**\n * Get the configuration of all x-axis or y-axis\n * @param {Object} props Latest props\n * @param {String} axisType The type of axis\n * @param {React.ComponentType} [AxisComp] Axis Component\n * @param {Array} graphicalItems The instances of item\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\nvar getAxisMap = function getAxisMap(props, _ref4) {\n var _ref4$axisType = _ref4.axisType,\n axisType = _ref4$axisType === void 0 ? 'xAxis' : _ref4$axisType,\n AxisComp = _ref4.AxisComp,\n graphicalItems = _ref4.graphicalItems,\n stackGroups = _ref4.stackGroups,\n dataStartIndex = _ref4.dataStartIndex,\n dataEndIndex = _ref4.dataEndIndex;\n var children = props.children;\n var axisIdKey = \"\".concat(axisType, \"Id\");\n // Get all the instance of Axis\n var axes = findAllByType(children, AxisComp);\n var axisMap = {};\n if (axes && axes.length) {\n axisMap = getAxisMapByAxes(props, {\n axes: axes,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n } else if (graphicalItems && graphicalItems.length) {\n axisMap = getAxisMapByItems(props, {\n Axis: AxisComp,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n }\n return axisMap;\n};\nvar tooltipTicksGenerator = function tooltipTicksGenerator(axisMap) {\n var axis = getAnyElementOfObject(axisMap);\n var tooltipTicks = getTicksOfAxis(axis, false, true);\n return {\n tooltipTicks: tooltipTicks,\n orderedTooltipTicks: sortBy(tooltipTicks, function (o) {\n return o.coordinate;\n }),\n tooltipAxis: axis,\n tooltipAxisBandSize: getBandSizeOfAxis(axis, tooltipTicks)\n };\n};\n\n/**\n * Returns default, reset state for the categorical chart.\n * @param {Object} props Props object to use when creating the default state\n * @return {Object} Whole new state\n */\nexport var createDefaultState = function createDefaultState(props) {\n var children = props.children,\n defaultShowTooltip = props.defaultShowTooltip;\n var brushItem = findChildByType(children, Brush);\n var startIndex = 0;\n var endIndex = 0;\n if (props.data && props.data.length !== 0) {\n endIndex = props.data.length - 1;\n }\n if (brushItem && brushItem.props) {\n if (brushItem.props.startIndex >= 0) {\n startIndex = brushItem.props.startIndex;\n }\n if (brushItem.props.endIndex >= 0) {\n endIndex = brushItem.props.endIndex;\n }\n }\n return {\n chartX: 0,\n chartY: 0,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n activeTooltipIndex: -1,\n isTooltipActive: Boolean(defaultShowTooltip)\n };\n};\nvar hasGraphicalBarItem = function hasGraphicalBarItem(graphicalItems) {\n if (!graphicalItems || !graphicalItems.length) {\n return false;\n }\n return graphicalItems.some(function (item) {\n var name = getDisplayName(item && item.type);\n return name && name.indexOf('Bar') >= 0;\n });\n};\nvar getAxisNameByLayout = function getAxisNameByLayout(layout) {\n if (layout === 'horizontal') {\n return {\n numericAxisName: 'yAxis',\n cateAxisName: 'xAxis'\n };\n }\n if (layout === 'vertical') {\n return {\n numericAxisName: 'xAxis',\n cateAxisName: 'yAxis'\n };\n }\n if (layout === 'centric') {\n return {\n numericAxisName: 'radiusAxis',\n cateAxisName: 'angleAxis'\n };\n }\n return {\n numericAxisName: 'angleAxis',\n cateAxisName: 'radiusAxis'\n };\n};\n\n/**\n * Calculate the offset of main part in the svg element\n * @param {Object} params.props Latest props\n * @param {Array} params.graphicalItems The instances of item\n * @param {Object} params.xAxisMap The configuration of x-axis\n * @param {Object} params.yAxisMap The configuration of y-axis\n * @param {Object} prevLegendBBox The boundary box of legend\n * @return {Object} The offset of main part in the svg element\n */\nvar calculateOffset = function calculateOffset(_ref5, prevLegendBBox) {\n var props = _ref5.props,\n graphicalItems = _ref5.graphicalItems,\n _ref5$xAxisMap = _ref5.xAxisMap,\n xAxisMap = _ref5$xAxisMap === void 0 ? {} : _ref5$xAxisMap,\n _ref5$yAxisMap = _ref5.yAxisMap,\n yAxisMap = _ref5$yAxisMap === void 0 ? {} : _ref5$yAxisMap;\n var width = props.width,\n height = props.height,\n children = props.children;\n var margin = props.margin || {};\n var brushItem = findChildByType(children, Brush);\n var legendItem = findChildByType(children, Legend);\n var offsetH = Object.keys(yAxisMap).reduce(function (result, id) {\n var entry = yAxisMap[id];\n var orientation = entry.orientation;\n if (!entry.mirror && !entry.hide) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, orientation, result[orientation] + entry.width));\n }\n return result;\n }, {\n left: margin.left || 0,\n right: margin.right || 0\n });\n var offsetV = Object.keys(xAxisMap).reduce(function (result, id) {\n var entry = xAxisMap[id];\n var orientation = entry.orientation;\n if (!entry.mirror && !entry.hide) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, orientation, get(result, \"\".concat(orientation)) + entry.height));\n }\n return result;\n }, {\n top: margin.top || 0,\n bottom: margin.bottom || 0\n });\n var offset = _objectSpread(_objectSpread({}, offsetV), offsetH);\n var brushBottom = offset.bottom;\n if (brushItem) {\n offset.bottom += brushItem.props.height || Brush.defaultProps.height;\n }\n if (legendItem && prevLegendBBox) {\n // @ts-expect-error margin is optional in props but required in appendOffsetOfLegend\n offset = appendOffsetOfLegend(offset, graphicalItems, props, prevLegendBBox);\n }\n var offsetWidth = width - offset.left - offset.right;\n var offsetHeight = height - offset.top - offset.bottom;\n return _objectSpread(_objectSpread({\n brushBottom: brushBottom\n }, offset), {}, {\n // never return negative values for height and width\n width: Math.max(offsetWidth, 0),\n height: Math.max(offsetHeight, 0)\n });\n};\n// Determine the size of the axis, used for calculation of relative bar sizes\nvar getCartesianAxisSize = function getCartesianAxisSize(axisObj, axisName) {\n if (axisName === 'xAxis') {\n return axisObj[axisName].width;\n }\n if (axisName === 'yAxis') {\n return axisObj[axisName].height;\n }\n // This is only supported for Bar charts (i.e. charts with cartesian axes), so we should never get here\n return undefined;\n};\nexport var generateCategoricalChart = function generateCategoricalChart(_ref6) {\n var chartName = _ref6.chartName,\n GraphicalChild = _ref6.GraphicalChild,\n _ref6$defaultTooltipE = _ref6.defaultTooltipEventType,\n defaultTooltipEventType = _ref6$defaultTooltipE === void 0 ? 'axis' : _ref6$defaultTooltipE,\n _ref6$validateTooltip = _ref6.validateTooltipEventTypes,\n validateTooltipEventTypes = _ref6$validateTooltip === void 0 ? ['axis'] : _ref6$validateTooltip,\n axisComponents = _ref6.axisComponents,\n legendContent = _ref6.legendContent,\n formatAxisMap = _ref6.formatAxisMap,\n defaultProps = _ref6.defaultProps;\n var getFormatItems = function getFormatItems(props, currentState) {\n var graphicalItems = currentState.graphicalItems,\n stackGroups = currentState.stackGroups,\n offset = currentState.offset,\n updateId = currentState.updateId,\n dataStartIndex = currentState.dataStartIndex,\n dataEndIndex = currentState.dataEndIndex;\n var barSize = props.barSize,\n layout = props.layout,\n barGap = props.barGap,\n barCategoryGap = props.barCategoryGap,\n globalMaxBarSize = props.maxBarSize;\n var _getAxisNameByLayout = getAxisNameByLayout(layout),\n numericAxisName = _getAxisNameByLayout.numericAxisName,\n cateAxisName = _getAxisNameByLayout.cateAxisName;\n var hasBar = hasGraphicalBarItem(graphicalItems);\n var formattedItems = [];\n graphicalItems.forEach(function (item, index) {\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: [item],\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var itemProps = item.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, item.type.defaultProps), item.props) : item.props;\n var dataKey = itemProps.dataKey,\n childMaxBarSize = itemProps.maxBarSize;\n // axisId of the numerical axis\n var numericAxisId = itemProps[\"\".concat(numericAxisName, \"Id\")];\n // axisId of the categorical axis\n var cateAxisId = itemProps[\"\".concat(cateAxisName, \"Id\")];\n var axisObjInitialValue = {};\n var axisObj = axisComponents.reduce(function (result, entry) {\n var _item$type$displayNam, _item$type;\n // map of axisId to axis for a specific axis type\n var axisMap = currentState[\"\".concat(entry.axisType, \"Map\")];\n // axisId of axis we are currently computing\n var id = itemProps[\"\".concat(entry.axisType, \"Id\")];\n\n /**\n * tell the user in dev mode that their configuration is incorrect if we cannot find a match between\n * axisId on the chart and axisId on the axis. zAxis does not get passed in the map for ComposedChart,\n * leave it out of the check for now.\n */\n !(axisMap && axisMap[id] || entry.axisType === 'zAxis') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Specifying a(n) \".concat(entry.axisType, \"Id requires a corresponding \").concat(entry.axisType\n // @ts-expect-error we should stop reading data from ReactElements\n , \"Id on the targeted graphical component \").concat((_item$type$displayNam = item === null || item === void 0 || (_item$type = item.type) === null || _item$type === void 0 ? void 0 : _item$type.displayName) !== null && _item$type$displayNam !== void 0 ? _item$type$displayNam : '')) : invariant(false) : void 0;\n\n // the axis we are currently formatting\n var axis = axisMap[id];\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty(_defineProperty({}, entry.axisType, axis), \"\".concat(entry.axisType, \"Ticks\"), getTicksOfAxis(axis)));\n }, axisObjInitialValue);\n var cateAxis = axisObj[cateAxisName];\n var cateTicks = axisObj[\"\".concat(cateAxisName, \"Ticks\")];\n var stackedData = stackGroups && stackGroups[numericAxisId] && stackGroups[numericAxisId].hasStack && getStackedDataOfItem(item, stackGroups[numericAxisId].stackGroups);\n var itemIsBar = getDisplayName(item.type).indexOf('Bar') >= 0;\n var bandSize = getBandSizeOfAxis(cateAxis, cateTicks);\n var barPosition = [];\n var sizeList = hasBar && getBarSizeList({\n barSize: barSize,\n stackGroups: stackGroups,\n totalSize: getCartesianAxisSize(axisObj, cateAxisName)\n });\n if (itemIsBar) {\n var _ref7, _getBandSizeOfAxis;\n // If it is bar, calculate the position of bar\n var maxBarSize = isNil(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n var barBandSize = (_ref7 = (_getBandSizeOfAxis = getBandSizeOfAxis(cateAxis, cateTicks, true)) !== null && _getBandSizeOfAxis !== void 0 ? _getBandSizeOfAxis : maxBarSize) !== null && _ref7 !== void 0 ? _ref7 : 0;\n barPosition = getBarPosition({\n barGap: barGap,\n barCategoryGap: barCategoryGap,\n bandSize: barBandSize !== bandSize ? barBandSize : bandSize,\n sizeList: sizeList[cateAxisId],\n maxBarSize: maxBarSize\n });\n if (barBandSize !== bandSize) {\n barPosition = barPosition.map(function (pos) {\n return _objectSpread(_objectSpread({}, pos), {}, {\n position: _objectSpread(_objectSpread({}, pos.position), {}, {\n offset: pos.position.offset - barBandSize / 2\n })\n });\n });\n }\n }\n // @ts-expect-error we should stop reading data from ReactElements\n var composedFn = item && item.type && item.type.getComposedData;\n if (composedFn) {\n formattedItems.push({\n props: _objectSpread(_objectSpread({}, composedFn(_objectSpread(_objectSpread({}, axisObj), {}, {\n displayedData: displayedData,\n props: props,\n dataKey: dataKey,\n item: item,\n bandSize: bandSize,\n barPosition: barPosition,\n offset: offset,\n stackedData: stackedData,\n layout: layout,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }))), {}, _defineProperty(_defineProperty(_defineProperty({\n key: item.key || \"item-\".concat(index)\n }, numericAxisName, axisObj[numericAxisName]), cateAxisName, axisObj[cateAxisName]), \"animationId\", updateId)),\n childIndex: parseChildIndex(item, props.children),\n item: item\n });\n }\n });\n return formattedItems;\n };\n\n /**\n * The AxisMaps are expensive to render on large data sets\n * so provide the ability to store them in state and only update them when necessary\n * they are dependent upon the start and end index of\n * the brush so it's important that this method is called _after_\n * the state is updated with any new start/end indices\n *\n * @param {Object} props The props object to be used for updating the axismaps\n * dataStartIndex: The start index of the data series when a brush is applied\n * dataEndIndex: The end index of the data series when a brush is applied\n * updateId: The update id\n * @param {Object} prevState Prev state\n * @return {Object} state New state to set\n */\n var updateStateOfAxisMapsOffsetAndStackGroups = function updateStateOfAxisMapsOffsetAndStackGroups(_ref8, prevState) {\n var props = _ref8.props,\n dataStartIndex = _ref8.dataStartIndex,\n dataEndIndex = _ref8.dataEndIndex,\n updateId = _ref8.updateId;\n if (!validateWidthHeight({\n props: props\n })) {\n return null;\n }\n var children = props.children,\n layout = props.layout,\n stackOffset = props.stackOffset,\n data = props.data,\n reverseStackOrder = props.reverseStackOrder;\n var _getAxisNameByLayout2 = getAxisNameByLayout(layout),\n numericAxisName = _getAxisNameByLayout2.numericAxisName,\n cateAxisName = _getAxisNameByLayout2.cateAxisName;\n var graphicalItems = findAllByType(children, GraphicalChild);\n var stackGroups = getStackGroupsByAxisId(data, graphicalItems, \"\".concat(numericAxisName, \"Id\"), \"\".concat(cateAxisName, \"Id\"), stackOffset, reverseStackOrder);\n var axisObj = axisComponents.reduce(function (result, entry) {\n var name = \"\".concat(entry.axisType, \"Map\");\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, name, getAxisMap(props, _objectSpread(_objectSpread({}, entry), {}, {\n graphicalItems: graphicalItems,\n stackGroups: entry.axisType === numericAxisName && stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }))));\n }, {});\n var offset = calculateOffset(_objectSpread(_objectSpread({}, axisObj), {}, {\n props: props,\n graphicalItems: graphicalItems\n }), prevState === null || prevState === void 0 ? void 0 : prevState.legendBBox);\n Object.keys(axisObj).forEach(function (key) {\n axisObj[key] = formatAxisMap(props, axisObj[key], offset, key.replace('Map', ''), chartName);\n });\n var cateAxisMap = axisObj[\"\".concat(cateAxisName, \"Map\")];\n var ticksObj = tooltipTicksGenerator(cateAxisMap);\n var formattedGraphicalItems = getFormatItems(props, _objectSpread(_objectSpread({}, axisObj), {}, {\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId,\n graphicalItems: graphicalItems,\n stackGroups: stackGroups,\n offset: offset\n }));\n return _objectSpread(_objectSpread({\n formattedGraphicalItems: formattedGraphicalItems,\n graphicalItems: graphicalItems,\n offset: offset,\n stackGroups: stackGroups\n }, ticksObj), axisObj);\n };\n var CategoricalChartWrapper = /*#__PURE__*/function (_Component) {\n function CategoricalChartWrapper(_props) {\n var _props$id, _props$throttleDelay;\n var _this;\n _classCallCheck(this, CategoricalChartWrapper);\n _this = _callSuper(this, CategoricalChartWrapper, [_props]);\n _defineProperty(_this, \"eventEmitterSymbol\", Symbol('rechartsEventEmitter'));\n _defineProperty(_this, \"accessibilityManager\", new AccessibilityManager());\n _defineProperty(_this, \"handleLegendBBoxUpdate\", function (box) {\n if (box) {\n var _this$state = _this.state,\n dataStartIndex = _this$state.dataStartIndex,\n dataEndIndex = _this$state.dataEndIndex,\n updateId = _this$state.updateId;\n _this.setState(_objectSpread({\n legendBBox: box\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n }, _objectSpread(_objectSpread({}, _this.state), {}, {\n legendBBox: box\n }))));\n }\n });\n _defineProperty(_this, \"handleReceiveSyncEvent\", function (cId, data, emitter) {\n if (_this.props.syncId === cId) {\n if (emitter === _this.eventEmitterSymbol && typeof _this.props.syncMethod !== 'function') {\n return;\n }\n _this.applySyncEvent(data);\n }\n });\n _defineProperty(_this, \"handleBrushChange\", function (_ref9) {\n var startIndex = _ref9.startIndex,\n endIndex = _ref9.endIndex;\n // Only trigger changes if the extents of the brush have actually changed\n if (startIndex !== _this.state.dataStartIndex || endIndex !== _this.state.dataEndIndex) {\n var updateId = _this.state.updateId;\n _this.setState(function () {\n return _objectSpread({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n updateId: updateId\n }, _this.state));\n });\n _this.triggerSyncEvent({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n });\n }\n });\n /**\n * The handler of mouse entering chart\n * @param {Object} e Event object\n * @return {Null} null\n */\n _defineProperty(_this, \"handleMouseEnter\", function (e) {\n var mouse = _this.getMouseInfo(e);\n if (mouse) {\n var _nextState = _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n });\n _this.setState(_nextState);\n _this.triggerSyncEvent(_nextState);\n var onMouseEnter = _this.props.onMouseEnter;\n if (isFunction(onMouseEnter)) {\n onMouseEnter(_nextState, e);\n }\n }\n });\n _defineProperty(_this, \"triggeredAfterMouseMove\", function (e) {\n var mouse = _this.getMouseInfo(e);\n var nextState = mouse ? _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n }) : {\n isTooltipActive: false\n };\n _this.setState(nextState);\n _this.triggerSyncEvent(nextState);\n var onMouseMove = _this.props.onMouseMove;\n if (isFunction(onMouseMove)) {\n onMouseMove(nextState, e);\n }\n });\n /**\n * The handler of mouse entering a scatter\n * @param {Object} el The active scatter\n * @return {Object} no return\n */\n _defineProperty(_this, \"handleItemMouseEnter\", function (el) {\n _this.setState(function () {\n return {\n isTooltipActive: true,\n activeItem: el,\n activePayload: el.tooltipPayload,\n activeCoordinate: el.tooltipPosition || {\n x: el.cx,\n y: el.cy\n }\n };\n });\n });\n /**\n * The handler of mouse leaving a scatter\n * @return {Object} no return\n */\n _defineProperty(_this, \"handleItemMouseLeave\", function () {\n _this.setState(function () {\n return {\n isTooltipActive: false\n };\n });\n });\n /**\n * The handler of mouse moving in chart\n * @param {React.MouseEvent} e Event object\n * @return {void} no return\n */\n _defineProperty(_this, \"handleMouseMove\", function (e) {\n e.persist();\n _this.throttleTriggeredAfterMouseMove(e);\n });\n /**\n * The handler if mouse leaving chart\n * @param {Object} e Event object\n * @return {Null} no return\n */\n _defineProperty(_this, \"handleMouseLeave\", function (e) {\n _this.throttleTriggeredAfterMouseMove.cancel();\n var nextState = {\n isTooltipActive: false\n };\n _this.setState(nextState);\n _this.triggerSyncEvent(nextState);\n var onMouseLeave = _this.props.onMouseLeave;\n if (isFunction(onMouseLeave)) {\n onMouseLeave(nextState, e);\n }\n });\n _defineProperty(_this, \"handleOuterEvent\", function (e) {\n var eventName = getReactEventByType(e);\n var event = get(_this.props, \"\".concat(eventName));\n if (eventName && isFunction(event)) {\n var _mouse;\n var mouse;\n if (/.*touch.*/i.test(eventName)) {\n mouse = _this.getMouseInfo(e.changedTouches[0]);\n } else {\n mouse = _this.getMouseInfo(e);\n }\n event((_mouse = mouse) !== null && _mouse !== void 0 ? _mouse : {}, e);\n }\n });\n _defineProperty(_this, \"handleClick\", function (e) {\n var mouse = _this.getMouseInfo(e);\n if (mouse) {\n var _nextState2 = _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n });\n _this.setState(_nextState2);\n _this.triggerSyncEvent(_nextState2);\n var onClick = _this.props.onClick;\n if (isFunction(onClick)) {\n onClick(_nextState2, e);\n }\n }\n });\n _defineProperty(_this, \"handleMouseDown\", function (e) {\n var onMouseDown = _this.props.onMouseDown;\n if (isFunction(onMouseDown)) {\n var _nextState3 = _this.getMouseInfo(e);\n onMouseDown(_nextState3, e);\n }\n });\n _defineProperty(_this, \"handleMouseUp\", function (e) {\n var onMouseUp = _this.props.onMouseUp;\n if (isFunction(onMouseUp)) {\n var _nextState4 = _this.getMouseInfo(e);\n onMouseUp(_nextState4, e);\n }\n });\n _defineProperty(_this, \"handleTouchMove\", function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.throttleTriggeredAfterMouseMove(e.changedTouches[0]);\n }\n });\n _defineProperty(_this, \"handleTouchStart\", function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseDown(e.changedTouches[0]);\n }\n });\n _defineProperty(_this, \"handleTouchEnd\", function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseUp(e.changedTouches[0]);\n }\n });\n _defineProperty(_this, \"handleDoubleClick\", function (e) {\n var onDoubleClick = _this.props.onDoubleClick;\n if (isFunction(onDoubleClick)) {\n var _nextState5 = _this.getMouseInfo(e);\n onDoubleClick(_nextState5, e);\n }\n });\n _defineProperty(_this, \"handleContextMenu\", function (e) {\n var onContextMenu = _this.props.onContextMenu;\n if (isFunction(onContextMenu)) {\n var _nextState6 = _this.getMouseInfo(e);\n onContextMenu(_nextState6, e);\n }\n });\n _defineProperty(_this, \"triggerSyncEvent\", function (data) {\n if (_this.props.syncId !== undefined) {\n eventCenter.emit(SYNC_EVENT, _this.props.syncId, data, _this.eventEmitterSymbol);\n }\n });\n _defineProperty(_this, \"applySyncEvent\", function (data) {\n var _this$props = _this.props,\n layout = _this$props.layout,\n syncMethod = _this$props.syncMethod;\n var updateId = _this.state.updateId;\n var dataStartIndex = data.dataStartIndex,\n dataEndIndex = data.dataEndIndex;\n if (data.dataStartIndex !== undefined || data.dataEndIndex !== undefined) {\n _this.setState(_objectSpread({\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n }, _this.state)));\n } else if (data.activeTooltipIndex !== undefined) {\n var chartX = data.chartX,\n chartY = data.chartY;\n var activeTooltipIndex = data.activeTooltipIndex;\n var _this$state2 = _this.state,\n offset = _this$state2.offset,\n tooltipTicks = _this$state2.tooltipTicks;\n if (!offset) {\n return;\n }\n if (typeof syncMethod === 'function') {\n // Call a callback function. If there is an application specific algorithm\n activeTooltipIndex = syncMethod(tooltipTicks, data);\n } else if (syncMethod === 'value') {\n // Set activeTooltipIndex to the index with the same value as data.activeLabel\n // For loop instead of findIndex because the latter is very slow in some browsers\n activeTooltipIndex = -1; // in case we cannot find the element\n for (var i = 0; i < tooltipTicks.length; i++) {\n if (tooltipTicks[i].value === data.activeLabel) {\n activeTooltipIndex = i;\n break;\n }\n }\n }\n var viewBox = _objectSpread(_objectSpread({}, offset), {}, {\n x: offset.left,\n y: offset.top\n });\n // When a categorical chart is combined with another chart, the value of chartX\n // and chartY may beyond the boundaries.\n var validateChartX = Math.min(chartX, viewBox.x + viewBox.width);\n var validateChartY = Math.min(chartY, viewBox.y + viewBox.height);\n var activeLabel = tooltipTicks[activeTooltipIndex] && tooltipTicks[activeTooltipIndex].value;\n var activePayload = getTooltipContent(_this.state, _this.props.data, activeTooltipIndex);\n var activeCoordinate = tooltipTicks[activeTooltipIndex] ? {\n x: layout === 'horizontal' ? tooltipTicks[activeTooltipIndex].coordinate : validateChartX,\n y: layout === 'horizontal' ? validateChartY : tooltipTicks[activeTooltipIndex].coordinate\n } : originCoordinate;\n _this.setState(_objectSpread(_objectSpread({}, data), {}, {\n activeLabel: activeLabel,\n activeCoordinate: activeCoordinate,\n activePayload: activePayload,\n activeTooltipIndex: activeTooltipIndex\n }));\n } else {\n _this.setState(data);\n }\n });\n _defineProperty(_this, \"renderCursor\", function (element) {\n var _element$props$active;\n var _this$state3 = _this.state,\n isTooltipActive = _this$state3.isTooltipActive,\n activeCoordinate = _this$state3.activeCoordinate,\n activePayload = _this$state3.activePayload,\n offset = _this$state3.offset,\n activeTooltipIndex = _this$state3.activeTooltipIndex,\n tooltipAxisBandSize = _this$state3.tooltipAxisBandSize;\n var tooltipEventType = _this.getTooltipEventType();\n // The cursor is a part of the Tooltip, and it should be shown (by default) when the Tooltip is active.\n var isActive = (_element$props$active = element.props.active) !== null && _element$props$active !== void 0 ? _element$props$active : isTooltipActive;\n var layout = _this.props.layout;\n var key = element.key || '_recharts-cursor';\n return /*#__PURE__*/React.createElement(Cursor, {\n key: key,\n activeCoordinate: activeCoordinate,\n activePayload: activePayload,\n activeTooltipIndex: activeTooltipIndex,\n chartName: chartName,\n element: element,\n isActive: isActive,\n layout: layout,\n offset: offset,\n tooltipAxisBandSize: tooltipAxisBandSize,\n tooltipEventType: tooltipEventType\n });\n });\n _defineProperty(_this, \"renderPolarAxis\", function (element, displayName, index) {\n var axisType = get(element, 'type.axisType');\n var axisMap = get(_this.state, \"\".concat(axisType, \"Map\"));\n var elementDefaultProps = element.type.defaultProps;\n var elementProps = elementDefaultProps !== undefined ? _objectSpread(_objectSpread({}, elementDefaultProps), element.props) : element.props;\n var axisOption = axisMap && axisMap[elementProps[\"\".concat(axisType, \"Id\")]];\n return /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({}, axisOption), {}, {\n className: clsx(axisType, axisOption.className),\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n ticks: getTicksOfAxis(axisOption, true)\n }));\n });\n _defineProperty(_this, \"renderPolarGrid\", function (element) {\n var _element$props = element.props,\n radialLines = _element$props.radialLines,\n polarAngles = _element$props.polarAngles,\n polarRadius = _element$props.polarRadius;\n var _this$state4 = _this.state,\n radiusAxisMap = _this$state4.radiusAxisMap,\n angleAxisMap = _this$state4.angleAxisMap;\n var radiusAxis = getAnyElementOfObject(radiusAxisMap);\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n var cx = angleAxis.cx,\n cy = angleAxis.cy,\n innerRadius = angleAxis.innerRadius,\n outerRadius = angleAxis.outerRadius;\n return /*#__PURE__*/cloneElement(element, {\n polarAngles: Array.isArray(polarAngles) ? polarAngles : getTicksOfAxis(angleAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n polarRadius: Array.isArray(polarRadius) ? polarRadius : getTicksOfAxis(radiusAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n key: element.key || 'polar-grid',\n radialLines: radialLines\n });\n });\n /**\n * Draw legend\n * @return {ReactElement} The instance of Legend\n */\n _defineProperty(_this, \"renderLegend\", function () {\n var formattedGraphicalItems = _this.state.formattedGraphicalItems;\n var _this$props2 = _this.props,\n children = _this$props2.children,\n width = _this$props2.width,\n height = _this$props2.height;\n var margin = _this.props.margin || {};\n var legendWidth = width - (margin.left || 0) - (margin.right || 0);\n var props = getLegendProps({\n children: children,\n formattedGraphicalItems: formattedGraphicalItems,\n legendWidth: legendWidth,\n legendContent: legendContent\n });\n if (!props) {\n return null;\n }\n var item = props.item,\n otherProps = _objectWithoutProperties(props, _excluded);\n return /*#__PURE__*/cloneElement(item, _objectSpread(_objectSpread({}, otherProps), {}, {\n chartWidth: width,\n chartHeight: height,\n margin: margin,\n onBBoxUpdate: _this.handleLegendBBoxUpdate\n }));\n });\n /**\n * Draw Tooltip\n * @return {ReactElement} The instance of Tooltip\n */\n _defineProperty(_this, \"renderTooltip\", function () {\n var _tooltipItem$props$ac;\n var _this$props3 = _this.props,\n children = _this$props3.children,\n accessibilityLayer = _this$props3.accessibilityLayer;\n var tooltipItem = findChildByType(children, Tooltip);\n if (!tooltipItem) {\n return null;\n }\n var _this$state5 = _this.state,\n isTooltipActive = _this$state5.isTooltipActive,\n activeCoordinate = _this$state5.activeCoordinate,\n activePayload = _this$state5.activePayload,\n activeLabel = _this$state5.activeLabel,\n offset = _this$state5.offset;\n\n // The user can set isActive on the Tooltip,\n // and we respect the user to enable customisation.\n // The Tooltip is active if the user has set isActive, or if the tooltip is active due to a mouse event.\n var isActive = (_tooltipItem$props$ac = tooltipItem.props.active) !== null && _tooltipItem$props$ac !== void 0 ? _tooltipItem$props$ac : isTooltipActive;\n return /*#__PURE__*/cloneElement(tooltipItem, {\n viewBox: _objectSpread(_objectSpread({}, offset), {}, {\n x: offset.left,\n y: offset.top\n }),\n active: isActive,\n label: activeLabel,\n payload: isActive ? activePayload : [],\n coordinate: activeCoordinate,\n accessibilityLayer: accessibilityLayer\n });\n });\n _defineProperty(_this, \"renderBrush\", function (element) {\n var _this$props4 = _this.props,\n margin = _this$props4.margin,\n data = _this$props4.data;\n var _this$state6 = _this.state,\n offset = _this$state6.offset,\n dataStartIndex = _this$state6.dataStartIndex,\n dataEndIndex = _this$state6.dataEndIndex,\n updateId = _this$state6.updateId;\n\n // TODO: update brush when children update\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || '_recharts-brush',\n onChange: combineEventHandlers(_this.handleBrushChange, element.props.onChange),\n data: data,\n x: isNumber(element.props.x) ? element.props.x : offset.left,\n y: isNumber(element.props.y) ? element.props.y : offset.top + offset.height + offset.brushBottom - (margin.bottom || 0),\n width: isNumber(element.props.width) ? element.props.width : offset.width,\n startIndex: dataStartIndex,\n endIndex: dataEndIndex,\n updateId: \"brush-\".concat(updateId)\n });\n });\n _defineProperty(_this, \"renderReferenceElement\", function (element, displayName, index) {\n if (!element) {\n return null;\n }\n var _this2 = _this,\n clipPathId = _this2.clipPathId;\n var _this$state7 = _this.state,\n xAxisMap = _this$state7.xAxisMap,\n yAxisMap = _this$state7.yAxisMap,\n offset = _this$state7.offset;\n var elementDefaultProps = element.type.defaultProps || {};\n var _element$props2 = element.props,\n _element$props2$xAxis = _element$props2.xAxisId,\n xAxisId = _element$props2$xAxis === void 0 ? elementDefaultProps.xAxisId : _element$props2$xAxis,\n _element$props2$yAxis = _element$props2.yAxisId,\n yAxisId = _element$props2$yAxis === void 0 ? elementDefaultProps.yAxisId : _element$props2$yAxis;\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n xAxis: xAxisMap[xAxisId],\n yAxis: yAxisMap[yAxisId],\n viewBox: {\n x: offset.left,\n y: offset.top,\n width: offset.width,\n height: offset.height\n },\n clipPathId: clipPathId\n });\n });\n _defineProperty(_this, \"renderActivePoints\", function (_ref10) {\n var item = _ref10.item,\n activePoint = _ref10.activePoint,\n basePoint = _ref10.basePoint,\n childIndex = _ref10.childIndex,\n isRange = _ref10.isRange;\n var result = [];\n // item is not a React Element so we don't need to resolve defaultProps.\n var key = item.props.key;\n var itemItemProps = item.item.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, item.item.type.defaultProps), item.item.props) : item.item.props;\n var activeDot = itemItemProps.activeDot,\n dataKey = itemItemProps.dataKey;\n var dotProps = _objectSpread(_objectSpread({\n index: childIndex,\n dataKey: dataKey,\n cx: activePoint.x,\n cy: activePoint.y,\n r: 4,\n fill: getMainColorOfGraphicItem(item.item),\n strokeWidth: 2,\n stroke: '#fff',\n payload: activePoint.payload,\n value: activePoint.value\n }, filterProps(activeDot, false)), adaptEventHandlers(activeDot));\n result.push(CategoricalChartWrapper.renderActiveDot(activeDot, dotProps, \"\".concat(key, \"-activePoint-\").concat(childIndex)));\n if (basePoint) {\n result.push(CategoricalChartWrapper.renderActiveDot(activeDot, _objectSpread(_objectSpread({}, dotProps), {}, {\n cx: basePoint.x,\n cy: basePoint.y\n }), \"\".concat(key, \"-basePoint-\").concat(childIndex)));\n } else if (isRange) {\n result.push(null);\n }\n return result;\n });\n _defineProperty(_this, \"renderGraphicChild\", function (element, displayName, index) {\n var item = _this.filterFormatItem(element, displayName, index);\n if (!item) {\n return null;\n }\n var tooltipEventType = _this.getTooltipEventType();\n var _this$state8 = _this.state,\n isTooltipActive = _this$state8.isTooltipActive,\n tooltipAxis = _this$state8.tooltipAxis,\n activeTooltipIndex = _this$state8.activeTooltipIndex,\n activeLabel = _this$state8.activeLabel;\n var children = _this.props.children;\n var tooltipItem = findChildByType(children, Tooltip);\n // item is not a React Element so we don't need to resolve defaultProps\n var _item$props = item.props,\n points = _item$props.points,\n isRange = _item$props.isRange,\n baseLine = _item$props.baseLine;\n var itemItemProps = item.item.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, item.item.type.defaultProps), item.item.props) : item.item.props;\n var activeDot = itemItemProps.activeDot,\n hide = itemItemProps.hide,\n activeBar = itemItemProps.activeBar,\n activeShape = itemItemProps.activeShape;\n var hasActive = Boolean(!hide && isTooltipActive && tooltipItem && (activeDot || activeBar || activeShape));\n var itemEvents = {};\n if (tooltipEventType !== 'axis' && tooltipItem && tooltipItem.props.trigger === 'click') {\n itemEvents = {\n onClick: combineEventHandlers(_this.handleItemMouseEnter, element.props.onClick)\n };\n } else if (tooltipEventType !== 'axis') {\n itemEvents = {\n onMouseLeave: combineEventHandlers(_this.handleItemMouseLeave, element.props.onMouseLeave),\n onMouseEnter: combineEventHandlers(_this.handleItemMouseEnter, element.props.onMouseEnter)\n };\n }\n var graphicalItem = /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({}, item.props), itemEvents));\n function findWithPayload(entry) {\n // TODO needs to verify dataKey is Function\n return typeof tooltipAxis.dataKey === 'function' ? tooltipAxis.dataKey(entry.payload) : null;\n }\n if (hasActive) {\n if (activeTooltipIndex >= 0) {\n var activePoint, basePoint;\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n // number transform to string\n var specifiedKey = typeof tooltipAxis.dataKey === 'function' ? findWithPayload : 'payload.'.concat(tooltipAxis.dataKey.toString());\n activePoint = findEntryInArray(points, specifiedKey, activeLabel);\n basePoint = isRange && baseLine && findEntryInArray(baseLine, specifiedKey, activeLabel);\n } else {\n activePoint = points === null || points === void 0 ? void 0 : points[activeTooltipIndex];\n basePoint = isRange && baseLine && baseLine[activeTooltipIndex];\n }\n if (activeShape || activeBar) {\n var activeIndex = element.props.activeIndex !== undefined ? element.props.activeIndex : activeTooltipIndex;\n return [/*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread(_objectSpread({}, item.props), itemEvents), {}, {\n activeIndex: activeIndex\n })), null, null];\n }\n if (!isNil(activePoint)) {\n return [graphicalItem].concat(_toConsumableArray(_this.renderActivePoints({\n item: item,\n activePoint: activePoint,\n basePoint: basePoint,\n childIndex: activeTooltipIndex,\n isRange: isRange\n })));\n }\n } else {\n var _this$getItemByXY;\n /**\n * We hit this block if consumer uses a Tooltip without XAxis and/or YAxis.\n * In which case, this.state.activeTooltipIndex never gets set\n * because the mouse events that trigger that value getting set never get trigged without the axis components.\n *\n * An example usage case is a FunnelChart\n */\n var _ref11 = (_this$getItemByXY = _this.getItemByXY(_this.state.activeCoordinate)) !== null && _this$getItemByXY !== void 0 ? _this$getItemByXY : {\n graphicalItem: graphicalItem\n },\n _ref11$graphicalItem = _ref11.graphicalItem,\n _ref11$graphicalItem$ = _ref11$graphicalItem.item,\n xyItem = _ref11$graphicalItem$ === void 0 ? element : _ref11$graphicalItem$,\n childIndex = _ref11$graphicalItem.childIndex;\n var elementProps = _objectSpread(_objectSpread(_objectSpread({}, item.props), itemEvents), {}, {\n activeIndex: childIndex\n });\n return [/*#__PURE__*/cloneElement(xyItem, elementProps), null, null];\n }\n }\n if (isRange) {\n return [graphicalItem, null, null];\n }\n return [graphicalItem, null];\n });\n _defineProperty(_this, \"renderCustomized\", function (element, displayName, index) {\n return /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({\n key: \"recharts-customized-\".concat(index)\n }, _this.props), _this.state));\n });\n _defineProperty(_this, \"renderMap\", {\n CartesianGrid: {\n handler: renderAsIs,\n once: true\n },\n ReferenceArea: {\n handler: _this.renderReferenceElement\n },\n ReferenceLine: {\n handler: renderAsIs\n },\n ReferenceDot: {\n handler: _this.renderReferenceElement\n },\n XAxis: {\n handler: renderAsIs\n },\n YAxis: {\n handler: renderAsIs\n },\n Brush: {\n handler: _this.renderBrush,\n once: true\n },\n Bar: {\n handler: _this.renderGraphicChild\n },\n Line: {\n handler: _this.renderGraphicChild\n },\n Area: {\n handler: _this.renderGraphicChild\n },\n Radar: {\n handler: _this.renderGraphicChild\n },\n RadialBar: {\n handler: _this.renderGraphicChild\n },\n Scatter: {\n handler: _this.renderGraphicChild\n },\n Pie: {\n handler: _this.renderGraphicChild\n },\n Funnel: {\n handler: _this.renderGraphicChild\n },\n Tooltip: {\n handler: _this.renderCursor,\n once: true\n },\n PolarGrid: {\n handler: _this.renderPolarGrid,\n once: true\n },\n PolarAngleAxis: {\n handler: _this.renderPolarAxis\n },\n PolarRadiusAxis: {\n handler: _this.renderPolarAxis\n },\n Customized: {\n handler: _this.renderCustomized\n }\n });\n _this.clipPathId = \"\".concat((_props$id = _props.id) !== null && _props$id !== void 0 ? _props$id : uniqueId('recharts'), \"-clip\");\n\n // trigger 60fps\n _this.throttleTriggeredAfterMouseMove = throttle(_this.triggeredAfterMouseMove, (_props$throttleDelay = _props.throttleDelay) !== null && _props$throttleDelay !== void 0 ? _props$throttleDelay : 1000 / 60);\n _this.state = {};\n return _this;\n }\n _inherits(CategoricalChartWrapper, _Component);\n return _createClass(CategoricalChartWrapper, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props$margin$le, _this$props$margin$to;\n this.addListener();\n this.accessibilityManager.setDetails({\n container: this.container,\n offset: {\n left: (_this$props$margin$le = this.props.margin.left) !== null && _this$props$margin$le !== void 0 ? _this$props$margin$le : 0,\n top: (_this$props$margin$to = this.props.margin.top) !== null && _this$props$margin$to !== void 0 ? _this$props$margin$to : 0\n },\n coordinateList: this.state.tooltipTicks,\n mouseHandlerCallback: this.triggeredAfterMouseMove,\n layout: this.props.layout\n });\n this.displayDefaultTooltip();\n }\n }, {\n key: \"displayDefaultTooltip\",\n value: function displayDefaultTooltip() {\n var _this$props5 = this.props,\n children = _this$props5.children,\n data = _this$props5.data,\n height = _this$props5.height,\n layout = _this$props5.layout;\n var tooltipElem = findChildByType(children, Tooltip);\n // If the chart doesn't include a element, there's no tooltip to display\n if (!tooltipElem) {\n return;\n }\n var defaultIndex = tooltipElem.props.defaultIndex;\n\n // Protect against runtime errors\n if (typeof defaultIndex !== 'number' || defaultIndex < 0 || defaultIndex > this.state.tooltipTicks.length - 1) {\n return;\n }\n var activeLabel = this.state.tooltipTicks[defaultIndex] && this.state.tooltipTicks[defaultIndex].value;\n var activePayload = getTooltipContent(this.state, data, defaultIndex, activeLabel);\n var independentAxisCoord = this.state.tooltipTicks[defaultIndex].coordinate;\n var dependentAxisCoord = (this.state.offset.top + height) / 2;\n var isHorizontal = layout === 'horizontal';\n var activeCoordinate = isHorizontal ? {\n x: independentAxisCoord,\n y: dependentAxisCoord\n } : {\n y: independentAxisCoord,\n x: dependentAxisCoord\n };\n\n // Unlike other chart types, scatter plot's tooltip positions rely on both X and Y coordinates. Only the scatter plot\n // element knows its own Y coordinates.\n // If there's a scatter plot, we'll want to grab that element for an interrogation.\n var scatterPlotElement = this.state.formattedGraphicalItems.find(function (_ref12) {\n var item = _ref12.item;\n return item.type.name === 'Scatter';\n });\n if (scatterPlotElement) {\n activeCoordinate = _objectSpread(_objectSpread({}, activeCoordinate), scatterPlotElement.props.points[defaultIndex].tooltipPosition);\n activePayload = scatterPlotElement.props.points[defaultIndex].tooltipPayload;\n }\n var nextState = {\n activeTooltipIndex: defaultIndex,\n isTooltipActive: true,\n activeLabel: activeLabel,\n activePayload: activePayload,\n activeCoordinate: activeCoordinate\n };\n this.setState(nextState);\n this.renderCursor(tooltipElem);\n\n // Make sure that anyone who keyboard-only users who tab to the chart will start their\n // cursors at defaultIndex\n this.accessibilityManager.setIndex(defaultIndex);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps, prevState) {\n if (!this.props.accessibilityLayer) {\n return null;\n }\n if (this.state.tooltipTicks !== prevState.tooltipTicks) {\n this.accessibilityManager.setDetails({\n coordinateList: this.state.tooltipTicks\n });\n }\n if (this.props.layout !== prevProps.layout) {\n this.accessibilityManager.setDetails({\n layout: this.props.layout\n });\n }\n if (this.props.margin !== prevProps.margin) {\n var _this$props$margin$le2, _this$props$margin$to2;\n this.accessibilityManager.setDetails({\n offset: {\n left: (_this$props$margin$le2 = this.props.margin.left) !== null && _this$props$margin$le2 !== void 0 ? _this$props$margin$le2 : 0,\n top: (_this$props$margin$to2 = this.props.margin.top) !== null && _this$props$margin$to2 !== void 0 ? _this$props$margin$to2 : 0\n }\n });\n }\n\n // Something has to be returned for getSnapshotBeforeUpdate\n return null;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n // Check to see if the Tooltip updated. If so, re-check default tooltip position\n if (!isChildrenEqual([findChildByType(prevProps.children, Tooltip)], [findChildByType(this.props.children, Tooltip)])) {\n this.displayDefaultTooltip();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.removeListener();\n this.throttleTriggeredAfterMouseMove.cancel();\n }\n }, {\n key: \"getTooltipEventType\",\n value: function getTooltipEventType() {\n var tooltipItem = findChildByType(this.props.children, Tooltip);\n if (tooltipItem && typeof tooltipItem.props.shared === 'boolean') {\n var eventType = tooltipItem.props.shared ? 'axis' : 'item';\n return validateTooltipEventTypes.indexOf(eventType) >= 0 ? eventType : defaultTooltipEventType;\n }\n return defaultTooltipEventType;\n }\n\n /**\n * Get the information of mouse in chart, return null when the mouse is not in the chart\n * @param {MousePointer} event The event object\n * @return {Object} Mouse data\n */\n }, {\n key: \"getMouseInfo\",\n value: function getMouseInfo(event) {\n if (!this.container) {\n return null;\n }\n var element = this.container;\n var boundingRect = element.getBoundingClientRect();\n var containerOffset = getOffset(boundingRect);\n var e = {\n chartX: Math.round(event.pageX - containerOffset.left),\n chartY: Math.round(event.pageY - containerOffset.top)\n };\n var scale = boundingRect.width / element.offsetWidth || 1;\n var rangeObj = this.inRange(e.chartX, e.chartY, scale);\n if (!rangeObj) {\n return null;\n }\n var _this$state9 = this.state,\n xAxisMap = _this$state9.xAxisMap,\n yAxisMap = _this$state9.yAxisMap;\n var tooltipEventType = this.getTooltipEventType();\n var toolTipData = getTooltipData(this.state, this.props.data, this.props.layout, rangeObj);\n if (tooltipEventType !== 'axis' && xAxisMap && yAxisMap) {\n var xScale = getAnyElementOfObject(xAxisMap).scale;\n var yScale = getAnyElementOfObject(yAxisMap).scale;\n var xValue = xScale && xScale.invert ? xScale.invert(e.chartX) : null;\n var yValue = yScale && yScale.invert ? yScale.invert(e.chartY) : null;\n return _objectSpread(_objectSpread({}, e), {}, {\n xValue: xValue,\n yValue: yValue\n }, toolTipData);\n }\n if (toolTipData) {\n return _objectSpread(_objectSpread({}, e), toolTipData);\n }\n return null;\n }\n }, {\n key: \"inRange\",\n value: function inRange(x, y) {\n var scale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var layout = this.props.layout;\n var scaledX = x / scale,\n scaledY = y / scale;\n if (layout === 'horizontal' || layout === 'vertical') {\n var offset = this.state.offset;\n var isInRange = scaledX >= offset.left && scaledX <= offset.left + offset.width && scaledY >= offset.top && scaledY <= offset.top + offset.height;\n return isInRange ? {\n x: scaledX,\n y: scaledY\n } : null;\n }\n var _this$state10 = this.state,\n angleAxisMap = _this$state10.angleAxisMap,\n radiusAxisMap = _this$state10.radiusAxisMap;\n if (angleAxisMap && radiusAxisMap) {\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n return inRangeOfSector({\n x: scaledX,\n y: scaledY\n }, angleAxis);\n }\n return null;\n }\n }, {\n key: \"parseEventsOfWrapper\",\n value: function parseEventsOfWrapper() {\n var children = this.props.children;\n var tooltipEventType = this.getTooltipEventType();\n var tooltipItem = findChildByType(children, Tooltip);\n var tooltipEvents = {};\n if (tooltipItem && tooltipEventType === 'axis') {\n if (tooltipItem.props.trigger === 'click') {\n tooltipEvents = {\n onClick: this.handleClick\n };\n } else {\n tooltipEvents = {\n onMouseEnter: this.handleMouseEnter,\n onDoubleClick: this.handleDoubleClick,\n onMouseMove: this.handleMouseMove,\n onMouseLeave: this.handleMouseLeave,\n onTouchMove: this.handleTouchMove,\n onTouchStart: this.handleTouchStart,\n onTouchEnd: this.handleTouchEnd,\n onContextMenu: this.handleContextMenu\n };\n }\n }\n\n // @ts-expect-error adaptEventHandlers expects DOM Event but generateCategoricalChart works with React UIEvents\n var outerEvents = adaptEventHandlers(this.props, this.handleOuterEvent);\n return _objectSpread(_objectSpread({}, outerEvents), tooltipEvents);\n }\n }, {\n key: \"addListener\",\n value: function addListener() {\n eventCenter.on(SYNC_EVENT, this.handleReceiveSyncEvent);\n }\n }, {\n key: \"removeListener\",\n value: function removeListener() {\n eventCenter.removeListener(SYNC_EVENT, this.handleReceiveSyncEvent);\n }\n }, {\n key: \"filterFormatItem\",\n value: function filterFormatItem(item, displayName, childIndex) {\n var formattedGraphicalItems = this.state.formattedGraphicalItems;\n for (var i = 0, len = formattedGraphicalItems.length; i < len; i++) {\n var entry = formattedGraphicalItems[i];\n if (entry.item === item || entry.props.key === item.key || displayName === getDisplayName(entry.item.type) && childIndex === entry.childIndex) {\n return entry;\n }\n }\n return null;\n }\n }, {\n key: \"renderClipPath\",\n value: function renderClipPath() {\n var clipPathId = this.clipPathId;\n var _this$state$offset = this.state.offset,\n left = _this$state$offset.left,\n top = _this$state$offset.top,\n height = _this$state$offset.height,\n width = _this$state$offset.width;\n return /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: clipPathId\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left,\n y: top,\n height: height,\n width: width\n })));\n }\n }, {\n key: \"getXScales\",\n value: function getXScales() {\n var xAxisMap = this.state.xAxisMap;\n return xAxisMap ? Object.entries(xAxisMap).reduce(function (res, _ref13) {\n var _ref14 = _slicedToArray(_ref13, 2),\n axisId = _ref14[0],\n axisProps = _ref14[1];\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, axisId, axisProps.scale));\n }, {}) : null;\n }\n }, {\n key: \"getYScales\",\n value: function getYScales() {\n var yAxisMap = this.state.yAxisMap;\n return yAxisMap ? Object.entries(yAxisMap).reduce(function (res, _ref15) {\n var _ref16 = _slicedToArray(_ref15, 2),\n axisId = _ref16[0],\n axisProps = _ref16[1];\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, axisId, axisProps.scale));\n }, {}) : null;\n }\n }, {\n key: \"getXScaleByAxisId\",\n value: function getXScaleByAxisId(axisId) {\n var _this$state$xAxisMap;\n return (_this$state$xAxisMap = this.state.xAxisMap) === null || _this$state$xAxisMap === void 0 || (_this$state$xAxisMap = _this$state$xAxisMap[axisId]) === null || _this$state$xAxisMap === void 0 ? void 0 : _this$state$xAxisMap.scale;\n }\n }, {\n key: \"getYScaleByAxisId\",\n value: function getYScaleByAxisId(axisId) {\n var _this$state$yAxisMap;\n return (_this$state$yAxisMap = this.state.yAxisMap) === null || _this$state$yAxisMap === void 0 || (_this$state$yAxisMap = _this$state$yAxisMap[axisId]) === null || _this$state$yAxisMap === void 0 ? void 0 : _this$state$yAxisMap.scale;\n }\n }, {\n key: \"getItemByXY\",\n value: function getItemByXY(chartXY) {\n var _this$state11 = this.state,\n formattedGraphicalItems = _this$state11.formattedGraphicalItems,\n activeItem = _this$state11.activeItem;\n if (formattedGraphicalItems && formattedGraphicalItems.length) {\n for (var i = 0, len = formattedGraphicalItems.length; i < len; i++) {\n var graphicalItem = formattedGraphicalItems[i];\n // graphicalItem is not a React Element so we don't need to resolve defaultProps\n var props = graphicalItem.props,\n item = graphicalItem.item;\n var itemProps = item.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, item.type.defaultProps), item.props) : item.props;\n var itemDisplayName = getDisplayName(item.type);\n if (itemDisplayName === 'Bar') {\n var activeBarItem = (props.data || []).find(function (entry) {\n return isInRectangle(chartXY, entry);\n });\n if (activeBarItem) {\n return {\n graphicalItem: graphicalItem,\n payload: activeBarItem\n };\n }\n } else if (itemDisplayName === 'RadialBar') {\n var _activeBarItem = (props.data || []).find(function (entry) {\n return inRangeOfSector(chartXY, entry);\n });\n if (_activeBarItem) {\n return {\n graphicalItem: graphicalItem,\n payload: _activeBarItem\n };\n }\n } else if (isFunnel(graphicalItem, activeItem) || isPie(graphicalItem, activeItem) || isScatter(graphicalItem, activeItem)) {\n var activeIndex = getActiveShapeIndexForTooltip({\n graphicalItem: graphicalItem,\n activeTooltipItem: activeItem,\n itemData: itemProps.data\n });\n var childIndex = itemProps.activeIndex === undefined ? activeIndex : itemProps.activeIndex;\n return {\n graphicalItem: _objectSpread(_objectSpread({}, graphicalItem), {}, {\n childIndex: childIndex\n }),\n payload: isScatter(graphicalItem, activeItem) ? itemProps.data[activeIndex] : graphicalItem.props.data[activeIndex]\n };\n }\n }\n }\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n if (!validateWidthHeight(this)) {\n return null;\n }\n var _this$props6 = this.props,\n children = _this$props6.children,\n className = _this$props6.className,\n width = _this$props6.width,\n height = _this$props6.height,\n style = _this$props6.style,\n compact = _this$props6.compact,\n title = _this$props6.title,\n desc = _this$props6.desc,\n others = _objectWithoutProperties(_this$props6, _excluded2);\n var attrs = filterProps(others, false);\n\n // The \"compact\" mode is mainly used as the panorama within Brush\n if (compact) {\n return /*#__PURE__*/React.createElement(ChartLayoutContextProvider, {\n state: this.state,\n width: this.props.width,\n height: this.props.height,\n clipPathId: this.clipPathId\n }, /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height,\n title: title,\n desc: desc\n }), this.renderClipPath(), renderByOrder(children, this.renderMap)));\n }\n if (this.props.accessibilityLayer) {\n var _this$props$tabIndex, _this$props$role;\n // Set tabIndex to 0 by default (can be overwritten)\n attrs.tabIndex = (_this$props$tabIndex = this.props.tabIndex) !== null && _this$props$tabIndex !== void 0 ? _this$props$tabIndex : 0;\n // Set role to img by default (can be overwritten)\n attrs.role = (_this$props$role = this.props.role) !== null && _this$props$role !== void 0 ? _this$props$role : 'application';\n attrs.onKeyDown = function (e) {\n _this3.accessibilityManager.keyboardEvent(e);\n // 'onKeyDown' is not currently a supported prop that can be passed through\n // if it's added, this should be added: this.props.onKeyDown(e);\n };\n attrs.onFocus = function () {\n _this3.accessibilityManager.focus();\n // 'onFocus' is not currently a supported prop that can be passed through\n // if it's added, the focus event should be forwarded to the prop\n };\n }\n var events = this.parseEventsOfWrapper();\n return /*#__PURE__*/React.createElement(ChartLayoutContextProvider, {\n state: this.state,\n width: this.props.width,\n height: this.props.height,\n clipPathId: this.clipPathId\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx('recharts-wrapper', className),\n style: _objectSpread({\n position: 'relative',\n cursor: 'default',\n width: width,\n height: height\n }, style)\n }, events, {\n ref: function ref(node) {\n _this3.container = node;\n }\n }), /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height,\n title: title,\n desc: desc,\n style: FULL_WIDTH_AND_HEIGHT\n }), this.renderClipPath(), renderByOrder(children, this.renderMap)), this.renderLegend(), this.renderTooltip()));\n }\n }]);\n }(Component);\n _defineProperty(CategoricalChartWrapper, \"displayName\", chartName);\n // todo join specific chart propTypes\n _defineProperty(CategoricalChartWrapper, \"defaultProps\", _objectSpread({\n layout: 'horizontal',\n stackOffset: 'none',\n barCategoryGap: '10%',\n barGap: 4,\n margin: {\n top: 5,\n right: 5,\n bottom: 5,\n left: 5\n },\n reverseStackOrder: false,\n syncMethod: 'index'\n }, defaultProps));\n _defineProperty(CategoricalChartWrapper, \"getDerivedStateFromProps\", function (nextProps, prevState) {\n var dataKey = nextProps.dataKey,\n data = nextProps.data,\n children = nextProps.children,\n width = nextProps.width,\n height = nextProps.height,\n layout = nextProps.layout,\n stackOffset = nextProps.stackOffset,\n margin = nextProps.margin;\n var dataStartIndex = prevState.dataStartIndex,\n dataEndIndex = prevState.dataEndIndex;\n if (prevState.updateId === undefined) {\n var defaultState = createDefaultState(nextProps);\n return _objectSpread(_objectSpread(_objectSpread({}, defaultState), {}, {\n updateId: 0\n }, updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread(_objectSpread({\n props: nextProps\n }, defaultState), {}, {\n updateId: 0\n }), prevState)), {}, {\n prevDataKey: dataKey,\n prevData: data,\n prevWidth: width,\n prevHeight: height,\n prevLayout: layout,\n prevStackOffset: stackOffset,\n prevMargin: margin,\n prevChildren: children\n });\n }\n if (dataKey !== prevState.prevDataKey || data !== prevState.prevData || width !== prevState.prevWidth || height !== prevState.prevHeight || layout !== prevState.prevLayout || stackOffset !== prevState.prevStackOffset || !shallowEqual(margin, prevState.prevMargin)) {\n var _defaultState = createDefaultState(nextProps);\n\n // Fixes https://github.com/recharts/recharts/issues/2143\n var keepFromPrevState = {\n // (chartX, chartY) are (0,0) in default state, but we want to keep the last mouse position to avoid\n // any flickering\n chartX: prevState.chartX,\n chartY: prevState.chartY,\n // The tooltip should stay active when it was active in the previous render. If this is not\n // the case, the tooltip disappears and immediately re-appears, causing a flickering effect\n isTooltipActive: prevState.isTooltipActive\n };\n var updatesToState = _objectSpread(_objectSpread({}, getTooltipData(prevState, data, layout)), {}, {\n updateId: prevState.updateId + 1\n });\n var newState = _objectSpread(_objectSpread(_objectSpread({}, _defaultState), keepFromPrevState), updatesToState);\n return _objectSpread(_objectSpread(_objectSpread({}, newState), updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread({\n props: nextProps\n }, newState), prevState)), {}, {\n prevDataKey: dataKey,\n prevData: data,\n prevWidth: width,\n prevHeight: height,\n prevLayout: layout,\n prevStackOffset: stackOffset,\n prevMargin: margin,\n prevChildren: children\n });\n }\n if (!isChildrenEqual(children, prevState.prevChildren)) {\n var _brush$props$startInd, _brush$props, _brush$props$endIndex, _brush$props2;\n // specifically check for Brush - if it exists and the start and end indexes are different, re-render with the new ones\n var brush = findChildByType(children, Brush);\n var startIndex = brush ? (_brush$props$startInd = (_brush$props = brush.props) === null || _brush$props === void 0 ? void 0 : _brush$props.startIndex) !== null && _brush$props$startInd !== void 0 ? _brush$props$startInd : dataStartIndex : dataStartIndex;\n var endIndex = brush ? (_brush$props$endIndex = (_brush$props2 = brush.props) === null || _brush$props2 === void 0 ? void 0 : _brush$props2.endIndex) !== null && _brush$props$endIndex !== void 0 ? _brush$props$endIndex : dataEndIndex : dataEndIndex;\n var hasDifferentStartOrEndIndex = startIndex !== dataStartIndex || endIndex !== dataEndIndex;\n\n // update configuration in children\n var hasGlobalData = !isNil(data);\n var newUpdateId = hasGlobalData && !hasDifferentStartOrEndIndex ? prevState.updateId : prevState.updateId + 1;\n return _objectSpread(_objectSpread({\n updateId: newUpdateId\n }, updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread(_objectSpread({\n props: nextProps\n }, prevState), {}, {\n updateId: newUpdateId,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n }), prevState)), {}, {\n prevChildren: children,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n });\n }\n return null;\n });\n _defineProperty(CategoricalChartWrapper, \"renderActiveDot\", function (option, props, key) {\n var dot;\n if ( /*#__PURE__*/isValidElement(option)) {\n dot = /*#__PURE__*/cloneElement(option, props);\n } else if (isFunction(option)) {\n dot = option(props);\n } else {\n dot = /*#__PURE__*/React.createElement(Dot, props);\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-active-dot\",\n key: key\n }, dot);\n });\n var CategoricalChart = /*#__PURE__*/forwardRef(function CategoricalChart(props, ref) {\n return /*#__PURE__*/React.createElement(CategoricalChartWrapper, _extends({}, props, {\n ref: ref\n }));\n });\n CategoricalChart.displayName = CategoricalChartWrapper.displayName;\n return CategoricalChart;\n};","import { isNumber } from './DataUtils';\n/**\n * Takes a domain and user props to determine whether he provided the domain via props or if we need to calculate it.\n * @param {AxisDomain} domain The potential domain from props\n * @param {Boolean} allowDataOverflow from props\n * @param {String} axisType from props\n * @returns {Boolean} `true` if domain is specified by user\n */\nexport function isDomainSpecifiedByUser(domain, allowDataOverflow, axisType) {\n if (axisType === 'number' && allowDataOverflow === true && Array.isArray(domain)) {\n var domainStart = domain === null || domain === void 0 ? void 0 : domain[0];\n var domainEnd = domain === null || domain === void 0 ? void 0 : domain[1];\n\n /*\n * The `isNumber` check is needed because the user could also provide strings like \"dataMin\" via the domain props.\n * In such case, we have to compute the domain from the data.\n */\n if (!!domainStart && !!domainEnd && isNumber(domainStart) && isNumber(domainEnd)) {\n return true;\n }\n }\n return false;\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Default Legend Content\n */\nimport React, { PureComponent } from 'react';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { warn } from '../util/LogUtils';\nimport { Surface } from '../container/Surface';\nimport { Symbols } from '../shape/Symbols';\nimport { adaptEventsOfChild } from '../util/types';\nvar SIZE = 32;\nexport var DefaultLegendContent = /*#__PURE__*/function (_PureComponent) {\n function DefaultLegendContent() {\n _classCallCheck(this, DefaultLegendContent);\n return _callSuper(this, DefaultLegendContent, arguments);\n }\n _inherits(DefaultLegendContent, _PureComponent);\n return _createClass(DefaultLegendContent, [{\n key: \"renderIcon\",\n value:\n /**\n * Render the path of icon\n * @param {Object} data Data of each legend item\n * @return {String} Path element\n */\n function renderIcon(data) {\n var inactiveColor = this.props.inactiveColor;\n var halfSize = SIZE / 2;\n var sixthSize = SIZE / 6;\n var thirdSize = SIZE / 3;\n var color = data.inactive ? inactiveColor : data.color;\n if (data.type === 'plainline') {\n return /*#__PURE__*/React.createElement(\"line\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n strokeDasharray: data.payload.strokeDasharray,\n x1: 0,\n y1: halfSize,\n x2: SIZE,\n y2: halfSize,\n className: \"recharts-legend-icon\"\n });\n }\n if (data.type === 'line') {\n return /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n d: \"M0,\".concat(halfSize, \"h\").concat(thirdSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n H\").concat(SIZE, \"M\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(thirdSize, \",\").concat(halfSize),\n className: \"recharts-legend-icon\"\n });\n }\n if (data.type === 'rect') {\n return /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"none\",\n fill: color,\n d: \"M0,\".concat(SIZE / 8, \"h\").concat(SIZE, \"v\").concat(SIZE * 3 / 4, \"h\").concat(-SIZE, \"z\"),\n className: \"recharts-legend-icon\"\n });\n }\n if ( /*#__PURE__*/React.isValidElement(data.legendIcon)) {\n var iconProps = _objectSpread({}, data);\n delete iconProps.legendIcon;\n return /*#__PURE__*/React.cloneElement(data.legendIcon, iconProps);\n }\n return /*#__PURE__*/React.createElement(Symbols, {\n fill: color,\n cx: halfSize,\n cy: halfSize,\n size: SIZE,\n sizeType: \"diameter\",\n type: data.type\n });\n }\n\n /**\n * Draw items of legend\n * @return {ReactElement} Items\n */\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var _this = this;\n var _this$props = this.props,\n payload = _this$props.payload,\n iconSize = _this$props.iconSize,\n layout = _this$props.layout,\n formatter = _this$props.formatter,\n inactiveColor = _this$props.inactiveColor;\n var viewBox = {\n x: 0,\n y: 0,\n width: SIZE,\n height: SIZE\n };\n var itemStyle = {\n display: layout === 'horizontal' ? 'inline-block' : 'block',\n marginRight: 10\n };\n var svgStyle = {\n display: 'inline-block',\n verticalAlign: 'middle',\n marginRight: 4\n };\n return payload.map(function (entry, i) {\n var finalFormatter = entry.formatter || formatter;\n var className = clsx(_defineProperty(_defineProperty({\n 'recharts-legend-item': true\n }, \"legend-item-\".concat(i), true), \"inactive\", entry.inactive));\n if (entry.type === 'none') {\n return null;\n }\n\n // Do not render entry.value as functions. Always require static string properties.\n var entryValue = !isFunction(entry.value) ? entry.value : null;\n warn(!isFunction(entry.value), \"The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: \" // eslint-disable-line max-len\n );\n var color = entry.inactive ? inactiveColor : entry.color;\n return /*#__PURE__*/React.createElement(\"li\", _extends({\n className: className,\n style: itemStyle\n // eslint-disable-next-line react/no-array-index-key\n ,\n key: \"legend-item-\".concat(i)\n }, adaptEventsOfChild(_this.props, entry, i)), /*#__PURE__*/React.createElement(Surface, {\n width: iconSize,\n height: iconSize,\n viewBox: viewBox,\n style: svgStyle\n }, _this.renderIcon(entry)), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-legend-item-text\",\n style: {\n color: color\n }\n }, finalFormatter ? finalFormatter(entryValue, entry, i) : entryValue));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n payload = _this$props2.payload,\n layout = _this$props2.layout,\n align = _this$props2.align;\n if (!payload || !payload.length) {\n return null;\n }\n var finalStyle = {\n padding: 0,\n margin: 0,\n textAlign: layout === 'horizontal' ? align : 'left'\n };\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-default-legend\",\n style: finalStyle\n }, this.renderItems());\n }\n }]);\n}(PureComponent);\n_defineProperty(DefaultLegendContent, \"displayName\", 'Legend');\n_defineProperty(DefaultLegendContent, \"defaultProps\", {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'middle',\n inactiveColor: '#ccc'\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"ref\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\n/**\n * @fileOverview Legend\n */\nimport React, { PureComponent } from 'react';\nimport { DefaultLegendContent } from './DefaultLegendContent';\nimport { isNumber } from '../util/DataUtils';\nimport { getUniqPayload } from '../util/payload/getUniqPayload';\nfunction defaultUniqBy(entry) {\n return entry.value;\n}\nfunction renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n if (typeof content === 'function') {\n return /*#__PURE__*/React.createElement(content, props);\n }\n var ref = props.ref,\n otherProps = _objectWithoutProperties(props, _excluded);\n return /*#__PURE__*/React.createElement(DefaultLegendContent, otherProps);\n}\nvar EPS = 1;\nexport var Legend = /*#__PURE__*/function (_PureComponent) {\n function Legend() {\n var _this;\n _classCallCheck(this, Legend);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Legend, [].concat(args));\n _defineProperty(_this, \"lastBoundingBox\", {\n width: -1,\n height: -1\n });\n return _this;\n }\n _inherits(Legend, _PureComponent);\n return _createClass(Legend, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateBBox();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateBBox();\n }\n }, {\n key: \"getBBox\",\n value: function getBBox() {\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var box = this.wrapperNode.getBoundingClientRect();\n box.height = this.wrapperNode.offsetHeight;\n box.width = this.wrapperNode.offsetWidth;\n return box;\n }\n return null;\n }\n }, {\n key: \"updateBBox\",\n value: function updateBBox() {\n var onBBoxUpdate = this.props.onBBoxUpdate;\n var box = this.getBBox();\n if (box) {\n if (Math.abs(box.width - this.lastBoundingBox.width) > EPS || Math.abs(box.height - this.lastBoundingBox.height) > EPS) {\n this.lastBoundingBox.width = box.width;\n this.lastBoundingBox.height = box.height;\n if (onBBoxUpdate) {\n onBBoxUpdate(box);\n }\n }\n } else if (this.lastBoundingBox.width !== -1 || this.lastBoundingBox.height !== -1) {\n this.lastBoundingBox.width = -1;\n this.lastBoundingBox.height = -1;\n if (onBBoxUpdate) {\n onBBoxUpdate(null);\n }\n }\n }\n }, {\n key: \"getBBoxSnapshot\",\n value: function getBBoxSnapshot() {\n if (this.lastBoundingBox.width >= 0 && this.lastBoundingBox.height >= 0) {\n return _objectSpread({}, this.lastBoundingBox);\n }\n return {\n width: 0,\n height: 0\n };\n }\n }, {\n key: \"getDefaultPosition\",\n value: function getDefaultPosition(style) {\n var _this$props = this.props,\n layout = _this$props.layout,\n align = _this$props.align,\n verticalAlign = _this$props.verticalAlign,\n margin = _this$props.margin,\n chartWidth = _this$props.chartWidth,\n chartHeight = _this$props.chartHeight;\n var hPos, vPos;\n if (!style || (style.left === undefined || style.left === null) && (style.right === undefined || style.right === null)) {\n if (align === 'center' && layout === 'vertical') {\n var box = this.getBBoxSnapshot();\n hPos = {\n left: ((chartWidth || 0) - box.width) / 2\n };\n } else {\n hPos = align === 'right' ? {\n right: margin && margin.right || 0\n } : {\n left: margin && margin.left || 0\n };\n }\n }\n if (!style || (style.top === undefined || style.top === null) && (style.bottom === undefined || style.bottom === null)) {\n if (verticalAlign === 'middle') {\n var _box = this.getBBoxSnapshot();\n vPos = {\n top: ((chartHeight || 0) - _box.height) / 2\n };\n } else {\n vPos = verticalAlign === 'bottom' ? {\n bottom: margin && margin.bottom || 0\n } : {\n top: margin && margin.top || 0\n };\n }\n }\n return _objectSpread(_objectSpread({}, hPos), vPos);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props2 = this.props,\n content = _this$props2.content,\n width = _this$props2.width,\n height = _this$props2.height,\n wrapperStyle = _this$props2.wrapperStyle,\n payloadUniqBy = _this$props2.payloadUniqBy,\n payload = _this$props2.payload;\n var outerStyle = _objectSpread(_objectSpread({\n position: 'absolute',\n width: width || 'auto',\n height: height || 'auto'\n }, this.getDefaultPosition(wrapperStyle)), wrapperStyle);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"recharts-legend-wrapper\",\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, renderContent(content, _objectSpread(_objectSpread({}, this.props), {}, {\n payload: getUniqPayload(payload, payloadUniqBy, defaultUniqBy)\n })));\n }\n }], [{\n key: \"getWithHeight\",\n value: function getWithHeight(item, chartWidth) {\n var _this$defaultProps$it = _objectSpread(_objectSpread({}, this.defaultProps), item.props),\n layout = _this$defaultProps$it.layout;\n if (layout === 'vertical' && isNumber(item.props.height)) {\n return {\n height: item.props.height\n };\n }\n if (layout === 'horizontal') {\n return {\n width: item.props.width || chartWidth\n };\n }\n return null;\n }\n }]);\n}(PureComponent);\n_defineProperty(Legend, \"displayName\", 'Legend');\n_defineProperty(Legend, \"defaultProps\", {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'bottom'\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"path\", {\n enumerable: true,\n get: function () {\n return _path.default;\n }\n});\n\nvar _path = _interopRequireDefault(require(\"./path.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.slice = void 0;\nvar slice = Array.prototype.slice;\nexports.slice = slice;\n\nfunction _default(x) {\n return typeof x === \"object\" && \"length\" in x ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(series, order) {\n if (!((n = series.length) > 1)) return;\n\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(series) {\n var n = series.length,\n o = new Array(n);\n\n while (--n >= 0) o[n] = n;\n\n return o;\n}","var _excluded = [\"children\", \"width\", \"height\", \"viewBox\", \"className\", \"style\", \"title\", \"desc\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\n/**\n * @fileOverview Surface\n */\nimport React from 'react';\nimport clsx from 'clsx';\nimport { filterProps } from '../util/ReactUtils';\nexport function Surface(props) {\n var children = props.children,\n width = props.width,\n height = props.height,\n viewBox = props.viewBox,\n className = props.className,\n style = props.style,\n title = props.title,\n desc = props.desc,\n others = _objectWithoutProperties(props, _excluded);\n var svgView = viewBox || {\n width: width,\n height: height,\n x: 0,\n y: 0\n };\n var layerClass = clsx('recharts-surface', className);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({}, filterProps(others, true, 'svg'), {\n className: layerClass,\n width: width,\n height: height,\n style: style,\n viewBox: \"\".concat(svgView.x, \" \").concat(svgView.y, \" \").concat(svgView.width, \" \").concat(svgView.height)\n }), /*#__PURE__*/React.createElement(\"title\", null, title), /*#__PURE__*/React.createElement(\"desc\", null, desc), children);\n}","/**\n * Given an array and a number N, return a new array which contains every nTh\n * element of the input array. For n below 1, an empty array is returned.\n * If isValid is provided, all candidates must suffice the condition, else undefined is returned.\n * @param {T[]} array An input array.\n * @param {integer} n A number\n * @param {Function} isValid A function to evaluate a candidate form the array\n * @returns {T[]} The result array of the same type as the input array.\n */\nexport function getEveryNthWithCondition(array, n, isValid) {\n if (n < 1) {\n return [];\n }\n if (n === 1 && isValid === undefined) {\n return array;\n }\n var result = [];\n for (var i = 0; i < array.length; i += n) {\n if (isValid === undefined || isValid(array[i]) === true) {\n result.push(array[i]);\n } else {\n return undefined;\n }\n }\n return result;\n}","import { getAngledRectangleWidth } from './CartesianUtils';\nimport { getEveryNthWithCondition } from './getEveryNthWithCondition';\nexport function getAngledTickWidth(contentSize, unitSize, angle) {\n var size = {\n width: contentSize.width + unitSize.width,\n height: contentSize.height + unitSize.height\n };\n return getAngledRectangleWidth(size, angle);\n}\nexport function getTickBoundaries(viewBox, sign, sizeKey) {\n var isWidth = sizeKey === 'width';\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n if (sign === 1) {\n return {\n start: isWidth ? x : y,\n end: isWidth ? x + width : y + height\n };\n }\n return {\n start: isWidth ? x + width : y + height,\n end: isWidth ? x : y\n };\n}\nexport function isVisible(sign, tickPosition, getSize, start, end) {\n /* Since getSize() is expensive (it reads the ticks' size from the DOM), we do this check first to avoid calculating\n * the tick's size. */\n if (sign * tickPosition < sign * start || sign * tickPosition > sign * end) {\n return false;\n }\n var size = getSize();\n return sign * (tickPosition - sign * size / 2 - start) >= 0 && sign * (tickPosition + sign * size / 2 - end) <= 0;\n}\nexport function getNumberIntervalTicks(ticks, interval) {\n return getEveryNthWithCondition(ticks, interval + 1);\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport isFunction from 'lodash/isFunction';\nimport { mathSign, isNumber } from '../util/DataUtils';\nimport { getStringSize } from '../util/DOMUtils';\nimport { Global } from '../util/Global';\nimport { isVisible, getTickBoundaries, getNumberIntervalTicks, getAngledTickWidth } from '../util/TickUtils';\nimport { getEquidistantTicks } from './getEquidistantTicks';\nfunction getTicksEnd(sign, boundaries, getTickSize, ticks, minTickGap) {\n var result = (ticks || []).slice();\n var len = result.length;\n var start = boundaries.start;\n var end = boundaries.end;\n var _loop = function _loop(i) {\n var entry = result[i];\n var size;\n var getSize = function getSize() {\n if (size === undefined) {\n size = getTickSize(entry, i);\n }\n return size;\n };\n if (i === len - 1) {\n var gap = sign * (entry.coordinate + sign * getSize() / 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 var isShow = isVisible(sign, entry.tickCoord, getSize, start, end);\n if (isShow) {\n end = entry.tickCoord - sign * (getSize() / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n };\n for (var i = len - 1; i >= 0; i--) {\n _loop(i);\n }\n return result;\n}\nfunction getTicksStart(sign, boundaries, getTickSize, ticks, minTickGap, preserveEnd) {\n var result = (ticks || []).slice();\n var len = result.length;\n var start = boundaries.start,\n end = boundaries.end;\n if (preserveEnd) {\n // Try to guarantee the tail to be displayed\n var tail = ticks[len - 1];\n var tailSize = getTickSize(tail, len - 1);\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 = isVisible(sign, tail.tickCoord, function () {\n return tailSize;\n }, start, end);\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 var count = preserveEnd ? len - 1 : len;\n var _loop2 = function _loop2(i) {\n var entry = result[i];\n var size;\n var getSize = function getSize() {\n if (size === undefined) {\n size = getTickSize(entry, i);\n }\n return size;\n };\n if (i === 0) {\n var gap = sign * (entry.coordinate - sign * getSize() / 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 var isShow = isVisible(sign, entry.tickCoord, getSize, start, end);\n if (isShow) {\n start = entry.tickCoord + sign * (getSize() / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n };\n for (var i = 0; i < count; i++) {\n _loop2(i);\n }\n return result;\n}\nexport function getTicks(props, fontSize, letterSpacing) {\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 angle = props.angle;\n if (!ticks || !ticks.length || !tick) {\n return [];\n }\n if (isNumber(interval) || Global.isSsr) {\n return getNumberIntervalTicks(ticks, typeof interval === 'number' && isNumber(interval) ? interval : 0);\n }\n var candidates = [];\n var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height';\n var unitSize = unit && sizeKey === 'width' ? getStringSize(unit, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n }) : {\n width: 0,\n height: 0\n };\n var getTickSize = function getTickSize(content, index) {\n var value = isFunction(tickFormatter) ? tickFormatter(content.value, index) : content.value;\n // Recharts only supports angles when sizeKey === 'width'\n return sizeKey === 'width' ? getAngledTickWidth(getStringSize(value, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n }), unitSize, angle) : getStringSize(value, {\n fontSize: fontSize,\n letterSpacing: letterSpacing\n })[sizeKey];\n };\n var sign = ticks.length >= 2 ? mathSign(ticks[1].coordinate - ticks[0].coordinate) : 1;\n var boundaries = getTickBoundaries(viewBox, sign, sizeKey);\n if (interval === 'equidistantPreserveStart') {\n return getEquidistantTicks(sign, boundaries, getTickSize, ticks, minTickGap);\n }\n if (interval === 'preserveStart' || interval === 'preserveStartEnd') {\n candidates = getTicksStart(sign, boundaries, getTickSize, ticks, minTickGap, interval === 'preserveStartEnd');\n } else {\n candidates = getTicksEnd(sign, boundaries, getTickSize, ticks, minTickGap);\n }\n return candidates.filter(function (entry) {\n return entry.isShow;\n });\n}","import { isVisible } from '../util/TickUtils';\nimport { getEveryNthWithCondition } from '../util/getEveryNthWithCondition';\nexport function getEquidistantTicks(sign, boundaries, getTickSize, ticks, minTickGap) {\n var result = (ticks || []).slice();\n var initialStart = boundaries.start,\n end = boundaries.end;\n var index = 0;\n // Premature optimisation idea 1: Estimate a lower bound, and start from there.\n // For now, start from every tick\n var stepsize = 1;\n var start = initialStart;\n var _loop = function _loop() {\n // Given stepsize, evaluate whether every stepsize-th tick can be shown.\n // If it can not, then increase the stepsize by 1, and try again.\n\n var entry = ticks === null || ticks === void 0 ? void 0 : ticks[index];\n\n // Break condition - If we have evaluate all the ticks, then we are done.\n if (entry === undefined) {\n return {\n v: getEveryNthWithCondition(ticks, stepsize)\n };\n }\n\n // Check if the element collides with the next element\n var i = index;\n var size;\n var getSize = function getSize() {\n if (size === undefined) {\n size = getTickSize(entry, i);\n }\n return size;\n };\n var tickCoord = entry.coordinate;\n // We will always show the first tick.\n var isShow = index === 0 || isVisible(sign, tickCoord, getSize, start, end);\n if (!isShow) {\n // Start all over with a larger stepsize\n index = 0;\n start = initialStart;\n stepsize += 1;\n }\n if (isShow) {\n // If it can be shown, update the start\n start = tickCoord + sign * (getSize() / 2 + minTickGap);\n index += stepsize;\n }\n },\n _ret;\n while (stepsize <= result.length) {\n _ret = _loop();\n if (_ret) return _ret.v;\n }\n return [];\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = count;\n\nfunction count(values, valueof) {\n let count = 0;\n\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n ++count;\n }\n }\n } else {\n let index = -1;\n\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n ++count;\n }\n }\n }\n\n return count;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ascendingDefined = ascendingDefined;\nexports.compareDefined = compareDefined;\nexports.default = sort;\n\nvar _ascending = _interopRequireDefault(require(\"./ascending.js\"));\n\nvar _permute = _interopRequireDefault(require(\"./permute.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction sort(values, ...F) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n values = Array.from(values);\n let [f] = F;\n\n if (f && f.length !== 2 || F.length > 1) {\n const index = Uint32Array.from(values, (d, i) => i);\n\n if (F.length > 1) {\n F = F.map(f => values.map(f));\n index.sort((i, j) => {\n for (const f of F) {\n const c = ascendingDefined(f[i], f[j]);\n if (c) return c;\n }\n });\n } else {\n f = values.map(f);\n index.sort((i, j) => ascendingDefined(f[i], f[j]));\n }\n\n return (0, _permute.default)(values, index);\n }\n\n return values.sort(compareDefined(f));\n}\n\nfunction compareDefined(compare = _ascending.default) {\n if (compare === _ascending.default) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a, b) => {\n const x = compare(a, b);\n if (x || x === 0) return x;\n return (compare(b, b) === 0) - (compare(a, a) === 0);\n };\n}\n\nfunction ascendingDefined(a, b) {\n return (a == null || !(a >= a)) - (b == null || !(b >= b)) || (a < b ? -1 : a > b ? 1 : 0);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _index = require(\"../../../lib-vendor/d3-color/src/index.js\");\n\nvar _rgb = _interopRequireDefault(require(\"./rgb.js\"));\n\nvar _array = require(\"./array.js\");\n\nvar _date = _interopRequireDefault(require(\"./date.js\"));\n\nvar _number = _interopRequireDefault(require(\"./number.js\"));\n\nvar _object = _interopRequireDefault(require(\"./object.js\"));\n\nvar _string = _interopRequireDefault(require(\"./string.js\"));\n\nvar _constant = _interopRequireDefault(require(\"./constant.js\"));\n\nvar _numberArray = _interopRequireWildcard(require(\"./numberArray.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(a, b) {\n var t = typeof b,\n c;\n return b == null || t === \"boolean\" ? (0, _constant.default)(b) : (t === \"number\" ? _number.default : t === \"string\" ? (c = (0, _index.color)(b)) ? (b = c, _rgb.default) : _string.default : b instanceof _index.color ? _rgb.default : b instanceof Date ? _date.default : (0, _numberArray.isNumberArray)(b) ? _numberArray.default : Array.isArray(b) ? _array.genericArray : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? _object.default : _number.default)(a, b);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(a, b) {\n return a = +a, b = +b, function (t) {\n return a * (1 - t) + b * t;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _formatDecimal = require(\"./formatDecimal.js\");\n\nfunction _default(x) {\n return x = (0, _formatDecimal.formatDecimalParts)(Math.abs(x)), x ? x[1] : NaN;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.formatDecimalParts = formatDecimalParts;\n\nfunction _default(x) {\n return Math.abs(x = Math.round(x)) >= 1e21 ? x.toLocaleString(\"en\").replace(/,/g, \"\") : x.toString(10);\n} // Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\n\n\nfunction formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n\n var i,\n coefficient = x.slice(0, i); // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n\n return [coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient, +x.slice(i + 1)];\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function () {\n this._line = 0;\n },\n areaEnd: function () {\n this._line = NaN;\n },\n lineStart: function () {\n this._point = 0;\n },\n lineEnd: function () {\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function (x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n\n case 1:\n this._point = 2;\n // falls through\n\n default:\n this._context.lineTo(x, y);\n\n break;\n }\n }\n};\n\nfunction _default(context) {\n return new Linear(context);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default() {}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Basis = Basis;\nexports.default = _default;\nexports.point = point;\n\nfunction point(that, x, y) {\n that._context.bezierCurveTo((2 * that._x0 + that._x1) / 3, (2 * that._y0 + that._y1) / 3, (that._x0 + 2 * that._x1) / 3, (that._y0 + 2 * that._y1) / 3, (that._x0 + 4 * that._x1 + x) / 6, (that._y0 + 4 * that._y1 + y) / 6);\n}\n\nfunction Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function () {\n this._line = 0;\n },\n areaEnd: function () {\n this._line = NaN;\n },\n lineStart: function () {\n this._x0 = this._x1 = this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function () {\n switch (this._point) {\n case 3:\n point(this, this._x1, this._y1);\n // falls through\n\n case 2:\n this._context.lineTo(this._x1, this._y1);\n\n break;\n }\n\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function (x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n\n case 1:\n this._point = 2;\n break;\n\n case 2:\n this._point = 3;\n\n this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6);\n\n // falls through\n\n default:\n point(this, x, y);\n break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nfunction _default(context) {\n return new Basis(context);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Cardinal = Cardinal;\nexports.default = void 0;\nexports.point = point;\n\nfunction point(that, x, y) {\n that._context.bezierCurveTo(that._x1 + that._k * (that._x2 - that._x0), that._y1 + that._k * (that._y2 - that._y0), that._x2 + that._k * (that._x1 - x), that._y2 + that._k * (that._y1 - y), that._x2, that._y2);\n}\n\nfunction Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function () {\n this._line = 0;\n },\n areaEnd: function () {\n this._line = NaN;\n },\n lineStart: function () {\n this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function () {\n switch (this._point) {\n case 2:\n this._context.lineTo(this._x2, this._y2);\n\n break;\n\n case 3:\n point(this, this._x1, this._y1);\n break;\n }\n\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function (x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n\n case 1:\n this._point = 2;\n this._x1 = x, this._y1 = y;\n break;\n\n case 2:\n this._point = 3;\n // falls through\n\n default:\n point(this, x, y);\n break;\n }\n\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nvar _default = function custom(tension) {\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function (tension) {\n return custom(+tension);\n };\n\n return cardinal;\n}(0);\n\nexports.default = _default;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _excluded = [\"type\", \"size\", \"sizeType\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\n/**\n * @fileOverview Curve\n */\nimport React from 'react';\nimport upperFirst from 'lodash/upperFirst';\nimport { symbol as shapeSymbol, symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye } from 'victory-vendor/d3-shape';\nimport clsx from 'clsx';\nimport { filterProps } from '../util/ReactUtils';\nvar symbolFactories = {\n symbolCircle: symbolCircle,\n symbolCross: symbolCross,\n symbolDiamond: symbolDiamond,\n symbolSquare: symbolSquare,\n symbolStar: symbolStar,\n symbolTriangle: symbolTriangle,\n symbolWye: symbolWye\n};\nvar RADIAN = Math.PI / 180;\nvar getSymbolFactory = function getSymbolFactory(type) {\n var name = \"symbol\".concat(upperFirst(type));\n return symbolFactories[name] || symbolCircle;\n};\nvar calculateAreaSize = function calculateAreaSize(size, sizeType, type) {\n if (sizeType === 'area') {\n return size;\n }\n switch (type) {\n case 'cross':\n return 5 * size * size / 9;\n case 'diamond':\n return 0.5 * size * size / Math.sqrt(3);\n case 'square':\n return size * size;\n case 'star':\n {\n var angle = 18 * RADIAN;\n return 1.25 * size * size * (Math.tan(angle) - Math.tan(angle * 2) * Math.pow(Math.tan(angle), 2));\n }\n case 'triangle':\n return Math.sqrt(3) * size * size / 4;\n case 'wye':\n return (21 - 10 * Math.sqrt(3)) * size * size / 8;\n default:\n return Math.PI * size * size / 4;\n }\n};\nvar registerSymbol = function registerSymbol(key, factory) {\n symbolFactories[\"symbol\".concat(upperFirst(key))] = factory;\n};\nexport var Symbols = function Symbols(_ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? 'circle' : _ref$type,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? 64 : _ref$size,\n _ref$sizeType = _ref.sizeType,\n sizeType = _ref$sizeType === void 0 ? 'area' : _ref$sizeType,\n rest = _objectWithoutProperties(_ref, _excluded);\n var props = _objectSpread(_objectSpread({}, rest), {}, {\n type: type,\n size: size,\n sizeType: sizeType\n });\n\n /**\n * Calculate the path of curve\n * @return {String} path\n */\n var getPath = function getPath() {\n var symbolFactory = getSymbolFactory(type);\n var symbol = shapeSymbol().type(symbolFactory).size(calculateAreaSize(size, sizeType, type));\n return symbol();\n };\n var className = props.className,\n cx = props.cx,\n cy = props.cy;\n var filteredProps = filterProps(props, true);\n if (cx === +cx && cy === +cy && size === +size) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filteredProps, {\n className: clsx('recharts-symbols', className),\n transform: \"translate(\".concat(cx, \", \").concat(cy, \")\"),\n d: getPath()\n }));\n }\n return null;\n};\nSymbols.registerSymbol = registerSymbol;","import uniqBy from 'lodash/uniqBy';\nimport isFunction from 'lodash/isFunction';\n\n/**\n * This is configuration option that decides how to filter for unique values only:\n *\n * - `false` means \"no filter\"\n * - `true` means \"use recharts default filter\"\n * - function means \"use return of this function as the default key\"\n */\n\nexport function getUniqPayload(payload, option, defaultUniqBy) {\n if (option === true) {\n return uniqBy(payload, defaultUniqBy);\n }\n if (isFunction(option)) {\n return uniqBy(payload, option);\n }\n return payload;\n}","var _excluded = [\"offset\", \"layout\", \"width\", \"dataKey\", \"data\", \"dataPointFormatter\", \"xAxis\", \"yAxis\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\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.\"); }\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); }\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; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Render a group of error bar\n */\nimport React from 'react';\nimport invariant from 'tiny-invariant';\nimport { Layer } from '../container/Layer';\nimport { filterProps } from '../util/ReactUtils';\n// eslint-disable-next-line react/prefer-stateless-function -- requires static defaultProps\nexport var ErrorBar = /*#__PURE__*/function (_React$Component) {\n function ErrorBar() {\n _classCallCheck(this, ErrorBar);\n return _callSuper(this, ErrorBar, arguments);\n }\n _inherits(ErrorBar, _React$Component);\n return _createClass(ErrorBar, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n offset = _this$props.offset,\n layout = _this$props.layout,\n width = _this$props.width,\n dataKey = _this$props.dataKey,\n data = _this$props.data,\n dataPointFormatter = _this$props.dataPointFormatter,\n xAxis = _this$props.xAxis,\n yAxis = _this$props.yAxis,\n others = _objectWithoutProperties(_this$props, _excluded);\n var svgProps = filterProps(others, false);\n !!(this.props.direction === 'x' && xAxis.type !== 'number') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'ErrorBar requires Axis type property to be \"number\".') : invariant(false) : void 0;\n var errorBars = data.map(function (entry) {\n var _dataPointFormatter = dataPointFormatter(entry, dataKey),\n x = _dataPointFormatter.x,\n y = _dataPointFormatter.y,\n value = _dataPointFormatter.value,\n errorVal = _dataPointFormatter.errorVal;\n if (!errorVal) {\n return null;\n }\n var lineCoordinates = [];\n var lowBound, highBound;\n if (Array.isArray(errorVal)) {\n var _errorVal = _slicedToArray(errorVal, 2);\n lowBound = _errorVal[0];\n highBound = _errorVal[1];\n } else {\n lowBound = highBound = errorVal;\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);\n\n // the right line of |--|\n lineCoordinates.push({\n x1: xMax,\n y1: yMin,\n x2: xMax,\n y2: yMax\n });\n // the middle line of |--|\n lineCoordinates.push({\n x1: xMin,\n y1: yMid,\n x2: xMax,\n y2: yMid\n });\n // the left line of |--|\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 var _xMin = xMid - width;\n var _xMax = xMid + width;\n var _yMin = _scale(value - lowBound);\n var _yMax = _scale(value + highBound);\n\n // the top line\n lineCoordinates.push({\n x1: _xMin,\n y1: _yMax,\n x2: _xMax,\n y2: _yMax\n });\n // the middle line\n lineCoordinates.push({\n x1: xMid,\n y1: _yMin,\n x2: xMid,\n y2: _yMax\n });\n // the bottom line\n lineCoordinates.push({\n x1: _xMin,\n y1: _yMin,\n x2: _xMax,\n y2: _yMin\n });\n }\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-errorBar\",\n key: \"bar-\".concat(lineCoordinates.map(function (c) {\n return \"\".concat(c.x1, \"-\").concat(c.x2, \"-\").concat(c.y1, \"-\").concat(c.y2);\n }))\n }, svgProps), lineCoordinates.map(function (coordinates) {\n return /*#__PURE__*/React.createElement(\"line\", _extends({}, coordinates, {\n key: \"line-\".concat(coordinates.x1, \"-\").concat(coordinates.x2, \"-\").concat(coordinates.y1, \"-\").concat(coordinates.y2)\n }));\n }));\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-errorBars\"\n }, errorBars);\n }\n }]);\n}(React.Component);\n_defineProperty(ErrorBar, \"defaultProps\", {\n stroke: 'black',\n strokeWidth: 1.5,\n width: 5,\n offset: 0,\n layout: 'horizontal'\n});\n_defineProperty(ErrorBar, \"displayName\", 'ErrorBar');","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Sector\n */\nimport React from 'react';\nimport clsx from 'clsx';\nimport { filterProps } from '../util/ReactUtils';\nimport { polarToCartesian, RADIAN } from '../util/PolarUtils';\nimport { getPercentValue, mathSign } from '../util/DataUtils';\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 359.999);\n return sign * deltaAngle;\n};\nvar getTangentCircle = function getTangentCircle(_ref) {\n var cx = _ref.cx,\n cy = _ref.cy,\n radius = _ref.radius,\n angle = _ref.angle,\n sign = _ref.sign,\n isExternal = _ref.isExternal,\n cornerRadius = _ref.cornerRadius,\n cornerIsExternal = _ref.cornerIsExternal;\n var centerRadius = cornerRadius * (isExternal ? 1 : -1) + radius;\n var theta = Math.asin(cornerRadius / centerRadius) / RADIAN;\n var centerAngle = cornerIsExternal ? angle : angle + sign * theta;\n var center = polarToCartesian(cx, cy, centerRadius, centerAngle);\n // The coordinate of point which is tangent to the circle\n var circleTangency = polarToCartesian(cx, cy, radius, centerAngle);\n // The coordinate of point which is tangent to the radius line\n var lineTangencyAngle = cornerIsExternal ? angle - sign * theta : angle;\n var lineTangency = polarToCartesian(cx, cy, centerRadius * Math.cos(theta * RADIAN), lineTangencyAngle);\n return {\n center: center,\n circleTangency: circleTangency,\n lineTangency: lineTangency,\n theta: theta\n };\n};\nvar getSectorPath = function getSectorPath(_ref2) {\n var cx = _ref2.cx,\n cy = _ref2.cy,\n innerRadius = _ref2.innerRadius,\n outerRadius = _ref2.outerRadius,\n startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var angle = getDeltaAngle(startAngle, endAngle);\n\n // When the angle of sector equals to 360, star point and end point coincide\n var tempEndAngle = startAngle + angle;\n var outerStartPoint = polarToCartesian(cx, cy, outerRadius, startAngle);\n var outerEndPoint = polarToCartesian(cx, cy, outerRadius, tempEndAngle);\n var path = \"M \".concat(outerStartPoint.x, \",\").concat(outerStartPoint.y, \"\\n A \").concat(outerRadius, \",\").concat(outerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle > tempEndAngle), \",\\n \").concat(outerEndPoint.x, \",\").concat(outerEndPoint.y, \"\\n \");\n if (innerRadius > 0) {\n var innerStartPoint = polarToCartesian(cx, cy, innerRadius, startAngle);\n var innerEndPoint = polarToCartesian(cx, cy, innerRadius, tempEndAngle);\n path += \"L \".concat(innerEndPoint.x, \",\").concat(innerEndPoint.y, \"\\n A \").concat(innerRadius, \",\").concat(innerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle <= tempEndAngle), \",\\n \").concat(innerStartPoint.x, \",\").concat(innerStartPoint.y, \" Z\");\n } else {\n path += \"L \".concat(cx, \",\").concat(cy, \" Z\");\n }\n return path;\n};\nvar getSectorWithCorner = function getSectorWithCorner(_ref3) {\n var cx = _ref3.cx,\n cy = _ref3.cy,\n innerRadius = _ref3.innerRadius,\n outerRadius = _ref3.outerRadius,\n cornerRadius = _ref3.cornerRadius,\n forceCornerRadius = _ref3.forceCornerRadius,\n cornerIsExternal = _ref3.cornerIsExternal,\n startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var sign = mathSign(endAngle - startAngle);\n var _getTangentCircle = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: startAngle,\n sign: sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n soct = _getTangentCircle.circleTangency,\n solt = _getTangentCircle.lineTangency,\n sot = _getTangentCircle.theta;\n var _getTangentCircle2 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: endAngle,\n sign: -sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eoct = _getTangentCircle2.circleTangency,\n eolt = _getTangentCircle2.lineTangency,\n eot = _getTangentCircle2.theta;\n var outerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sot - eot;\n if (outerArcAngle < 0) {\n if (forceCornerRadius) {\n return \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(cornerRadius * 2, \",0\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(-cornerRadius * 2, \",0\\n \");\n }\n return getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n var path = \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(soct.x, \",\").concat(soct.y, \"\\n A\").concat(outerRadius, \",\").concat(outerRadius, \",0,\").concat(+(outerArcAngle > 180), \",\").concat(+(sign < 0), \",\").concat(eoct.x, \",\").concat(eoct.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eolt.x, \",\").concat(eolt.y, \"\\n \");\n if (innerRadius > 0) {\n var _getTangentCircle3 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: startAngle,\n sign: sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n sict = _getTangentCircle3.circleTangency,\n silt = _getTangentCircle3.lineTangency,\n sit = _getTangentCircle3.theta;\n var _getTangentCircle4 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: endAngle,\n sign: -sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eict = _getTangentCircle4.circleTangency,\n eilt = _getTangentCircle4.lineTangency,\n eit = _getTangentCircle4.theta;\n var innerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sit - eit;\n if (innerArcAngle < 0 && cornerRadius === 0) {\n return \"\".concat(path, \"L\").concat(cx, \",\").concat(cy, \"Z\");\n }\n path += \"L\".concat(eilt.x, \",\").concat(eilt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eict.x, \",\").concat(eict.y, \"\\n A\").concat(innerRadius, \",\").concat(innerRadius, \",0,\").concat(+(innerArcAngle > 180), \",\").concat(+(sign > 0), \",\").concat(sict.x, \",\").concat(sict.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(silt.x, \",\").concat(silt.y, \"Z\");\n } else {\n path += \"L\".concat(cx, \",\").concat(cy, \"Z\");\n }\n return path;\n};\nvar defaultProps = {\n cx: 0,\n cy: 0,\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n cornerRadius: 0,\n forceCornerRadius: false,\n cornerIsExternal: false\n};\nexport var Sector = function Sector(sectorProps) {\n var props = _objectSpread(_objectSpread({}, defaultProps), sectorProps);\n var cx = props.cx,\n cy = props.cy,\n innerRadius = props.innerRadius,\n outerRadius = props.outerRadius,\n cornerRadius = props.cornerRadius,\n forceCornerRadius = props.forceCornerRadius,\n cornerIsExternal = props.cornerIsExternal,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n className = props.className;\n if (outerRadius < innerRadius || startAngle === endAngle) {\n return null;\n }\n var layerClass = clsx('recharts-sector', className);\n var deltaRadius = outerRadius - innerRadius;\n var cr = getPercentValue(cornerRadius, deltaRadius, 0, true);\n var path;\n if (cr > 0 && Math.abs(startAngle - endAngle) < 360) {\n path = getSectorWithCorner({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n cornerRadius: Math.min(cr, deltaRadius / 2),\n forceCornerRadius: forceCornerRadius,\n cornerIsExternal: cornerIsExternal,\n startAngle: startAngle,\n endAngle: endAngle\n });\n } else {\n path = getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(props, true), {\n className: layerClass,\n d: path,\n role: \"img\"\n }));\n};","/**\n * @fileOverview Cross\n */\n\nexport var Cell = function Cell(_props) {\n return null;\n};\nCell.displayName = 'Cell';","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 * @fileOverview X Axis\n */\nimport React from 'react';\nimport clsx from 'clsx';\nimport { useChartHeight, useChartWidth, useXAxisOrThrow } from '../context/chartLayoutContext';\nimport { CartesianAxis } from './CartesianAxis';\nimport { getTicksOfAxis } from '../util/ChartUtils';\n\n/** Define of XAxis props */\n\nfunction XAxisImpl(_ref) {\n var xAxisId = _ref.xAxisId;\n var width = useChartWidth();\n var height = useChartHeight();\n var axisOptions = useXAxisOrThrow(xAxisId);\n if (axisOptions == null) {\n return null;\n }\n return (\n /*#__PURE__*/\n // @ts-expect-error the axisOptions type is not exactly what CartesianAxis is expecting.\n React.createElement(CartesianAxis, _extends({}, axisOptions, {\n className: clsx(\"recharts-\".concat(axisOptions.axisType, \" \").concat(axisOptions.axisType), axisOptions.className),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n },\n ticksGenerator: function ticksGenerator(axis) {\n return getTicksOfAxis(axis, true);\n }\n }))\n );\n}\n\n// eslint-disable-next-line react/prefer-stateless-function -- requires static defaultProps\nexport var XAxis = /*#__PURE__*/function (_React$Component) {\n function XAxis() {\n _classCallCheck(this, XAxis);\n return _callSuper(this, XAxis, arguments);\n }\n _inherits(XAxis, _React$Component);\n return _createClass(XAxis, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(XAxisImpl, this.props);\n }\n }]);\n}(React.Component);\n_defineProperty(XAxis, \"displayName\", 'XAxis');\n_defineProperty(XAxis, \"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 padding: {\n left: 0,\n right: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false,\n allowDuplicatedCategory: true\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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 * @fileOverview Y Axis\n */\nimport React from 'react';\nimport clsx from 'clsx';\nimport { useChartHeight, useChartWidth, useYAxisOrThrow } from '../context/chartLayoutContext';\nimport { CartesianAxis } from './CartesianAxis';\nimport { getTicksOfAxis } from '../util/ChartUtils';\nvar YAxisImpl = function YAxisImpl(_ref) {\n var yAxisId = _ref.yAxisId;\n var width = useChartWidth();\n var height = useChartHeight();\n var axisOptions = useYAxisOrThrow(yAxisId);\n if (axisOptions == null) {\n return null;\n }\n return (\n /*#__PURE__*/\n // @ts-expect-error the axisOptions type is not exactly what CartesianAxis is expecting.\n React.createElement(CartesianAxis, _extends({}, axisOptions, {\n className: clsx(\"recharts-\".concat(axisOptions.axisType, \" \").concat(axisOptions.axisType), axisOptions.className),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n },\n ticksGenerator: function ticksGenerator(axis) {\n return getTicksOfAxis(axis, true);\n }\n }))\n );\n};\n\n// eslint-disable-next-line react/prefer-stateless-function -- requires static defaultProps\nexport var YAxis = /*#__PURE__*/function (_React$Component) {\n function YAxis() {\n _classCallCheck(this, YAxis);\n return _callSuper(this, YAxis, arguments);\n }\n _inherits(YAxis, _React$Component);\n return _createClass(YAxis, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(YAxisImpl, this.props);\n }\n }]);\n}(React.Component);\n_defineProperty(YAxis, \"displayName\", 'YAxis');\n_defineProperty(YAxis, \"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 padding: {\n top: 0,\n bottom: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false\n});","var _excluded = [\"x\", \"y\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nimport React from 'react';\nimport invariant from 'tiny-invariant';\nimport { Shape } from './ActiveShapeUtils';\n\n// Rectangle props is expecting x, y, height, width as numbers, name as a string, and radius as a custom type\n// When props are being spread in from a user defined component in Bar,\n// the prop types of an SVGElement have these typed as something else.\n// This function will return the passed in props\n// along with x, y, height as numbers, name as a string, and radius as number | [number, number, number, number]\nfunction typeguardBarRectangleProps(_ref, props) {\n var xProp = _ref.x,\n yProp = _ref.y,\n option = _objectWithoutProperties(_ref, _excluded);\n var xValue = \"\".concat(xProp);\n var x = parseInt(xValue, 10);\n var yValue = \"\".concat(yProp);\n var y = parseInt(yValue, 10);\n var heightValue = \"\".concat(props.height || option.height);\n var height = parseInt(heightValue, 10);\n var widthValue = \"\".concat(props.width || option.width);\n var width = parseInt(widthValue, 10);\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, props), option), x ? {\n x: x\n } : {}), y ? {\n y: y\n } : {}), {}, {\n height: height,\n width: width,\n name: props.name,\n radius: props.radius\n });\n}\nexport function BarRectangle(props) {\n return /*#__PURE__*/React.createElement(Shape, _extends({\n shapeType: \"rectangle\",\n propTransformer: typeguardBarRectangleProps,\n activeClassName: \"recharts-active-bar\"\n }, props));\n}\n/**\n * Safely gets minPointSize from from the minPointSize prop if it is a function\n * @param minPointSize minPointSize as passed to the Bar component\n * @param defaultValue default minPointSize\n * @returns minPointSize\n */\nexport var minPointSizeCallback = function minPointSizeCallback(minPointSize) {\n var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return function (value, index) {\n if (typeof minPointSize === 'number') return minPointSize;\n var isValueNumber = typeof value === 'number';\n if (isValueNumber) {\n return minPointSize(value, index);\n }\n !isValueNumber ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"minPointSize callback function received a value with type of \".concat(_typeof(value), \". Currently only numbers are supported.\")) : invariant(false) : void 0;\n return defaultValue;\n };\n};","var _excluded = [\"value\", \"background\"];\nvar _Bar;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Render a group of bar\n */\nimport React, { PureComponent } from 'react';\nimport clsx from 'clsx';\nimport Animate from 'react-smooth';\nimport isEqual from 'lodash/isEqual';\nimport isNil from 'lodash/isNil';\nimport { Layer } from '../container/Layer';\nimport { ErrorBar } from './ErrorBar';\nimport { Cell } from '../component/Cell';\nimport { LabelList } from '../component/LabelList';\nimport { uniqueId, mathSign, interpolateNumber } from '../util/DataUtils';\nimport { filterProps, findAllByType } from '../util/ReactUtils';\nimport { Global } from '../util/Global';\nimport { getCateCoordinateOfBar, getValueByDataKey, truncateByDomain, getBaseValueOfBar, findPositionOfBar, getTooltipItem } from '../util/ChartUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { BarRectangle, minPointSizeCallback } from '../util/BarUtils';\nexport var Bar = /*#__PURE__*/function (_PureComponent) {\n function Bar() {\n var _this;\n _classCallCheck(this, Bar);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Bar, [].concat(args));\n _defineProperty(_this, \"state\", {\n isAnimationFinished: false\n });\n _defineProperty(_this, \"id\", uniqueId('recharts-bar-'));\n _defineProperty(_this, \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (onAnimationEnd) {\n onAnimationEnd();\n }\n });\n _defineProperty(_this, \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (onAnimationStart) {\n onAnimationStart();\n }\n });\n return _this;\n }\n _inherits(Bar, _PureComponent);\n return _createClass(Bar, [{\n key: \"renderRectanglesStatically\",\n value: function renderRectanglesStatically(data) {\n var _this2 = this;\n var _this$props = this.props,\n shape = _this$props.shape,\n dataKey = _this$props.dataKey,\n activeIndex = _this$props.activeIndex,\n activeBar = _this$props.activeBar;\n var baseProps = filterProps(this.props, false);\n return data && data.map(function (entry, i) {\n var isActive = i === activeIndex;\n var option = isActive ? activeBar : shape;\n var props = _objectSpread(_objectSpread(_objectSpread({}, baseProps), entry), {}, {\n isActive: isActive,\n option: option,\n index: i,\n dataKey: dataKey,\n onAnimationStart: _this2.handleAnimationStart,\n onAnimationEnd: _this2.handleAnimationEnd\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-bar-rectangle\"\n }, adaptEventsOfChild(_this2.props, entry, i), {\n // https://github.com/recharts/recharts/issues/5415\n // eslint-disable-next-line react/no-array-index-key\n key: \"rectangle-\".concat(entry === null || entry === void 0 ? void 0 : entry.x, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.y, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.value, \"-\").concat(i)\n }), /*#__PURE__*/React.createElement(BarRectangle, props));\n });\n }\n }, {\n key: \"renderRectanglesWithAnimation\",\n value: function renderRectanglesWithAnimation() {\n var _this3 = this;\n var _this$props2 = this.props,\n data = _this$props2.data,\n layout = _this$props2.layout,\n isAnimationActive = _this$props2.isAnimationActive,\n animationBegin = _this$props2.animationBegin,\n animationDuration = _this$props2.animationDuration,\n animationEasing = _this$props2.animationEasing,\n animationId = _this$props2.animationId;\n var prevData = this.state.prevData;\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: \"bar-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n var stepData = data.map(function (entry, index) {\n var prev = prevData && prevData[index];\n if (prev) {\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n var interpolatorWidth = interpolateNumber(prev.width, entry.width);\n var interpolatorHeight = interpolateNumber(prev.height, entry.height);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t),\n width: interpolatorWidth(t),\n height: interpolatorHeight(t)\n });\n }\n if (layout === 'horizontal') {\n var _interpolatorHeight = interpolateNumber(0, entry.height);\n var h = _interpolatorHeight(t);\n return _objectSpread(_objectSpread({}, entry), {}, {\n y: entry.y + entry.height - h,\n height: h\n });\n }\n var interpolator = interpolateNumber(0, entry.width);\n var w = interpolator(t);\n return _objectSpread(_objectSpread({}, entry), {}, {\n width: w\n });\n });\n return /*#__PURE__*/React.createElement(Layer, null, _this3.renderRectanglesStatically(stepData));\n });\n }\n }, {\n key: \"renderRectangles\",\n value: function renderRectangles() {\n var _this$props3 = this.props,\n data = _this$props3.data,\n isAnimationActive = _this$props3.isAnimationActive;\n var prevData = this.state.prevData;\n if (isAnimationActive && data && data.length && (!prevData || !isEqual(prevData, data))) {\n return this.renderRectanglesWithAnimation();\n }\n return this.renderRectanglesStatically(data);\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var _this4 = this;\n var _this$props4 = this.props,\n data = _this$props4.data,\n dataKey = _this$props4.dataKey,\n activeIndex = _this$props4.activeIndex;\n var backgroundProps = filterProps(this.props.background, false);\n return data.map(function (entry, i) {\n var value = entry.value,\n background = entry.background,\n rest = _objectWithoutProperties(entry, _excluded);\n if (!background) {\n return null;\n }\n var props = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, rest), {}, {\n fill: '#eee'\n }, background), backgroundProps), adaptEventsOfChild(_this4.props, entry, i)), {}, {\n onAnimationStart: _this4.handleAnimationStart,\n onAnimationEnd: _this4.handleAnimationEnd,\n dataKey: dataKey,\n index: i,\n className: 'recharts-bar-background-rectangle'\n });\n return /*#__PURE__*/React.createElement(BarRectangle, _extends({\n key: \"background-bar-\".concat(i),\n option: _this4.props.background,\n isActive: i === activeIndex\n }, props));\n });\n }\n }, {\n key: \"renderErrorBar\",\n value: function renderErrorBar(needClip, clipPathId) {\n if (this.props.isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n var _this$props5 = this.props,\n data = _this$props5.data,\n xAxis = _this$props5.xAxis,\n yAxis = _this$props5.yAxis,\n layout = _this$props5.layout,\n children = _this$props5.children;\n var errorBarItems = findAllByType(children, ErrorBar);\n if (!errorBarItems) {\n return null;\n }\n var offset = layout === 'vertical' ? data[0].height / 2 : data[0].width / 2;\n var dataPointFormatter = function dataPointFormatter(dataPoint, dataKey) {\n /**\n * if the value coming from `getComposedData` is an array then this is a stacked bar chart.\n * arr[1] represents end value of the bar since the data is in the form of [startValue, endValue].\n * */\n var value = Array.isArray(dataPoint.value) ? dataPoint.value[1] : dataPoint.value;\n return {\n x: dataPoint.x,\n y: dataPoint.y,\n value: value,\n errorVal: getValueByDataKey(dataPoint, dataKey)\n };\n };\n var errorBarProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, errorBarProps, errorBarItems.map(function (item) {\n return /*#__PURE__*/React.cloneElement(item, {\n key: \"error-bar-\".concat(clipPathId, \"-\").concat(item.props.dataKey),\n data: data,\n xAxis: xAxis,\n yAxis: yAxis,\n layout: layout,\n offset: offset,\n dataPointFormatter: dataPointFormatter\n });\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n hide = _this$props6.hide,\n data = _this$props6.data,\n className = _this$props6.className,\n xAxis = _this$props6.xAxis,\n yAxis = _this$props6.yAxis,\n left = _this$props6.left,\n top = _this$props6.top,\n width = _this$props6.width,\n height = _this$props6.height,\n isAnimationActive = _this$props6.isAnimationActive,\n background = _this$props6.background,\n id = _this$props6.id;\n if (hide || !data || !data.length) {\n return null;\n }\n var isAnimationFinished = this.state.isAnimationFinished;\n var layerClass = clsx('recharts-bar', className);\n var needClipX = xAxis && xAxis.allowDataOverflow;\n var needClipY = yAxis && yAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n var clipPathId = isNil(id) ? this.id : id;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClipX || needClipY ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: needClipX ? left : left - width / 2,\n y: needClipY ? top : top - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n }))) : null, /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-bar-rectangles\",\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, background ? this.renderBackground() : null, this.renderRectangles()), this.renderErrorBar(needClip, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, data));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curData: nextProps.data,\n prevData: prevState.curData\n };\n }\n if (nextProps.data !== prevState.curData) {\n return {\n curData: nextProps.data\n };\n }\n return null;\n }\n }]);\n}(PureComponent);\n_Bar = Bar;\n_defineProperty(Bar, \"displayName\", 'Bar');\n_defineProperty(Bar, \"defaultProps\", {\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'rect',\n minPointSize: 0,\n hide: false,\n data: [],\n layout: 'vertical',\n activeBar: false,\n isAnimationActive: !Global.isSsr,\n animationBegin: 0,\n animationDuration: 400,\n animationEasing: 'ease'\n});\n/**\n * Compose the data of each group\n * @param {Object} props Props for the component\n * @param {Object} item An instance of Bar\n * @param {Array} barPosition The offset and size of each bar\n * @param {Object} xAxis The configuration of x-axis\n * @param {Object} yAxis The configuration of y-axis\n * @param {Array} stackedData The stacked data of a bar item\n * @return{Array} Composed data\n */\n_defineProperty(Bar, \"getComposedData\", function (_ref2) {\n var props = _ref2.props,\n item = _ref2.item,\n barPosition = _ref2.barPosition,\n bandSize = _ref2.bandSize,\n xAxis = _ref2.xAxis,\n yAxis = _ref2.yAxis,\n xAxisTicks = _ref2.xAxisTicks,\n yAxisTicks = _ref2.yAxisTicks,\n stackedData = _ref2.stackedData,\n dataStartIndex = _ref2.dataStartIndex,\n displayedData = _ref2.displayedData,\n offset = _ref2.offset;\n var pos = findPositionOfBar(barPosition, item);\n if (!pos) {\n return null;\n }\n var layout = props.layout;\n var itemDefaultProps = item.type.defaultProps;\n var itemProps = itemDefaultProps !== undefined ? _objectSpread(_objectSpread({}, itemDefaultProps), item.props) : item.props;\n var dataKey = itemProps.dataKey,\n children = itemProps.children,\n minPointSizeProp = itemProps.minPointSize;\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var stackedDomain = stackedData ? numericAxis.scale.domain() : null;\n var baseValue = getBaseValueOfBar({\n numericAxis: numericAxis\n });\n var cells = findAllByType(children, Cell);\n var rects = displayedData.map(function (entry, index) {\n var value, x, y, width, height, background;\n if (stackedData) {\n value = truncateByDomain(stackedData[dataStartIndex + index], stackedDomain);\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(value)) {\n value = [baseValue, value];\n }\n }\n var minPointSize = minPointSizeCallback(minPointSizeProp, _Bar.defaultProps.minPointSize)(value[1], index);\n if (layout === 'horizontal') {\n var _ref4;\n var _ref3 = [yAxis.scale(value[0]), yAxis.scale(value[1])],\n baseValueScale = _ref3[0],\n currentValueScale = _ref3[1];\n x = getCateCoordinateOfBar({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n offset: pos.offset,\n entry: entry,\n index: index\n });\n y = (_ref4 = currentValueScale !== null && currentValueScale !== void 0 ? currentValueScale : baseValueScale) !== null && _ref4 !== void 0 ? _ref4 : undefined;\n width = pos.size;\n var computedHeight = baseValueScale - currentValueScale;\n height = Number.isNaN(computedHeight) ? 0 : computedHeight;\n background = {\n x: x,\n y: yAxis.y,\n width: width,\n height: yAxis.height\n };\n if (Math.abs(minPointSize) > 0 && Math.abs(height) < Math.abs(minPointSize)) {\n var delta = mathSign(height || minPointSize) * (Math.abs(minPointSize) - Math.abs(height));\n y -= delta;\n height += delta;\n }\n } else {\n var _ref5 = [xAxis.scale(value[0]), xAxis.scale(value[1])],\n _baseValueScale = _ref5[0],\n _currentValueScale = _ref5[1];\n x = _baseValueScale;\n y = getCateCoordinateOfBar({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n offset: pos.offset,\n entry: entry,\n index: index\n });\n width = _currentValueScale - _baseValueScale;\n height = pos.size;\n background = {\n x: xAxis.x,\n y: y,\n width: xAxis.width,\n height: height\n };\n if (Math.abs(minPointSize) > 0 && Math.abs(width) < Math.abs(minPointSize)) {\n var _delta = mathSign(width || minPointSize) * (Math.abs(minPointSize) - Math.abs(width));\n width += _delta;\n }\n }\n return _objectSpread(_objectSpread(_objectSpread({}, entry), {}, {\n x: x,\n y: y,\n width: width,\n height: height,\n value: stackedData ? value : value[1],\n payload: entry,\n background: background\n }, cells && cells[index] && cells[index].props), {}, {\n tooltipPayload: [getTooltipItem(item, entry)],\n tooltipPosition: {\n x: x + width / 2,\n y: y + height / 2\n }\n });\n });\n return _objectSpread({\n data: rects,\n layout: layout\n }, offset);\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ticks;\nexports.tickIncrement = tickIncrement;\nexports.tickStep = tickStep;\nvar e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction ticks(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step),\n r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step),\n r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n return ticks;\n}\n\nfunction tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0 ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power) : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nfunction tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;else if (error >= e5) step1 *= 5;else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = quantile;\nexports.quantileSorted = quantileSorted;\n\nvar _max = _interopRequireDefault(require(\"./max.js\"));\n\nvar _min = _interopRequireDefault(require(\"./min.js\"));\n\nvar _quickselect = _interopRequireDefault(require(\"./quickselect.js\"));\n\nvar _number = _interopRequireWildcard(require(\"./number.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction quantile(values, p, valueof) {\n values = Float64Array.from((0, _number.numbers)(values, valueof));\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return (0, _min.default)(values);\n if (p >= 1) return (0, _max.default)(values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = (0, _max.default)((0, _quickselect.default)(values, i0).subarray(0, i0 + 1)),\n value1 = (0, _min.default)(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n}\n\nfunction quantileSorted(values, p, valueof = _number.default) {\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = min;\n\nfunction min(values, valueof) {\n let min;\n\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null && (min > value || min === undefined && value >= value)) {\n min = value;\n }\n }\n } else {\n let index = -1;\n\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (min > value || min === undefined && value >= value)) {\n min = value;\n }\n }\n }\n\n return min;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"interpolate\", {\n enumerable: true,\n get: function () {\n return _value.default;\n }\n});\nObject.defineProperty(exports, \"interpolateArray\", {\n enumerable: true,\n get: function () {\n return _array.default;\n }\n});\nObject.defineProperty(exports, \"interpolateBasis\", {\n enumerable: true,\n get: function () {\n return _basis.default;\n }\n});\nObject.defineProperty(exports, \"interpolateBasisClosed\", {\n enumerable: true,\n get: function () {\n return _basisClosed.default;\n }\n});\nObject.defineProperty(exports, \"interpolateCubehelix\", {\n enumerable: true,\n get: function () {\n return _cubehelix.default;\n }\n});\nObject.defineProperty(exports, \"interpolateCubehelixLong\", {\n enumerable: true,\n get: function () {\n return _cubehelix.cubehelixLong;\n }\n});\nObject.defineProperty(exports, \"interpolateDate\", {\n enumerable: true,\n get: function () {\n return _date.default;\n }\n});\nObject.defineProperty(exports, \"interpolateDiscrete\", {\n enumerable: true,\n get: function () {\n return _discrete.default;\n }\n});\nObject.defineProperty(exports, \"interpolateHcl\", {\n enumerable: true,\n get: function () {\n return _hcl.default;\n }\n});\nObject.defineProperty(exports, \"interpolateHclLong\", {\n enumerable: true,\n get: function () {\n return _hcl.hclLong;\n }\n});\nObject.defineProperty(exports, \"interpolateHsl\", {\n enumerable: true,\n get: function () {\n return _hsl.default;\n }\n});\nObject.defineProperty(exports, \"interpolateHslLong\", {\n enumerable: true,\n get: function () {\n return _hsl.hslLong;\n }\n});\nObject.defineProperty(exports, \"interpolateHue\", {\n enumerable: true,\n get: function () {\n return _hue.default;\n }\n});\nObject.defineProperty(exports, \"interpolateLab\", {\n enumerable: true,\n get: function () {\n return _lab.default;\n }\n});\nObject.defineProperty(exports, \"interpolateNumber\", {\n enumerable: true,\n get: function () {\n return _number.default;\n }\n});\nObject.defineProperty(exports, \"interpolateNumberArray\", {\n enumerable: true,\n get: function () {\n return _numberArray.default;\n }\n});\nObject.defineProperty(exports, \"interpolateObject\", {\n enumerable: true,\n get: function () {\n return _object.default;\n }\n});\nObject.defineProperty(exports, \"interpolateRgb\", {\n enumerable: true,\n get: function () {\n return _rgb.default;\n }\n});\nObject.defineProperty(exports, \"interpolateRgbBasis\", {\n enumerable: true,\n get: function () {\n return _rgb.rgbBasis;\n }\n});\nObject.defineProperty(exports, \"interpolateRgbBasisClosed\", {\n enumerable: true,\n get: function () {\n return _rgb.rgbBasisClosed;\n }\n});\nObject.defineProperty(exports, \"interpolateRound\", {\n enumerable: true,\n get: function () {\n return _round.default;\n }\n});\nObject.defineProperty(exports, \"interpolateString\", {\n enumerable: true,\n get: function () {\n return _string.default;\n }\n});\nObject.defineProperty(exports, \"interpolateTransformCss\", {\n enumerable: true,\n get: function () {\n return _index.interpolateTransformCss;\n }\n});\nObject.defineProperty(exports, \"interpolateTransformSvg\", {\n enumerable: true,\n get: function () {\n return _index.interpolateTransformSvg;\n }\n});\nObject.defineProperty(exports, \"interpolateZoom\", {\n enumerable: true,\n get: function () {\n return _zoom.default;\n }\n});\nObject.defineProperty(exports, \"piecewise\", {\n enumerable: true,\n get: function () {\n return _piecewise.default;\n }\n});\nObject.defineProperty(exports, \"quantize\", {\n enumerable: true,\n get: function () {\n return _quantize.default;\n }\n});\n\nvar _value = _interopRequireDefault(require(\"./value.js\"));\n\nvar _array = _interopRequireDefault(require(\"./array.js\"));\n\nvar _basis = _interopRequireDefault(require(\"./basis.js\"));\n\nvar _basisClosed = _interopRequireDefault(require(\"./basisClosed.js\"));\n\nvar _date = _interopRequireDefault(require(\"./date.js\"));\n\nvar _discrete = _interopRequireDefault(require(\"./discrete.js\"));\n\nvar _hue = _interopRequireDefault(require(\"./hue.js\"));\n\nvar _number = _interopRequireDefault(require(\"./number.js\"));\n\nvar _numberArray = _interopRequireDefault(require(\"./numberArray.js\"));\n\nvar _object = _interopRequireDefault(require(\"./object.js\"));\n\nvar _round = _interopRequireDefault(require(\"./round.js\"));\n\nvar _string = _interopRequireDefault(require(\"./string.js\"));\n\nvar _index = require(\"./transform/index.js\");\n\nvar _zoom = _interopRequireDefault(require(\"./zoom.js\"));\n\nvar _rgb = _interopRequireWildcard(require(\"./rgb.js\"));\n\nvar _hsl = _interopRequireWildcard(require(\"./hsl.js\"));\n\nvar _lab = _interopRequireDefault(require(\"./lab.js\"));\n\nvar _hcl = _interopRequireWildcard(require(\"./hcl.js\"));\n\nvar _cubehelix = _interopRequireWildcard(require(\"./cubehelix.js\"));\n\nvar _piecewise = _interopRequireDefault(require(\"./piecewise.js\"));\n\nvar _quantize = _interopRequireDefault(require(\"./quantize.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Color = Color;\nexports.Rgb = Rgb;\nexports.darker = exports.brighter = void 0;\nexports.default = color;\nexports.hsl = hsl;\nexports.hslConvert = hslConvert;\nexports.rgb = rgb;\nexports.rgbConvert = rgbConvert;\n\nvar _define = _interopRequireWildcard(require(\"./define.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction Color() {}\n\nvar darker = 0.7;\nexports.darker = darker;\nvar brighter = 1 / darker;\nexports.brighter = brighter;\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n(0, _define.default)(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor(), this, channels);\n },\n\n displayable() {\n return this.rgb().displayable();\n },\n\n hex: color_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nfunction color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb(m >> 8 & 0xf | m >> 4 & 0xf0, m >> 4 & 0xf | m & 0xf0, (m & 0xf) << 4 | m & 0xf, 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba(m >> 12 & 0xf | m >> 8 & 0xf0, m >> 8 & 0xf | m >> 4 & 0xf0, m >> 4 & 0xf | m & 0xf0, ((m & 0xf) << 4 | m & 0xf) / 0xff) // #f000\n : null // invalid hex\n ) : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0) : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nfunction rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb();\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nfunction rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nfunction Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\n(0, _define.default)(Rgb, rgb, (0, _define.extend)(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n\n rgb() {\n return this;\n },\n\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n\n displayable() {\n return -0.5 <= this.r && this.r < 255.5 && -0.5 <= this.g && this.g < 255.5 && -0.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1;\n },\n\n hex: rgb_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;else if (l <= 0 || l >= 1) h = s = NaN;else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nfunction hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl();\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;else if (g === max) h = (b - r) / s + 2;else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n\n return new Hsl(h, s, l, o.opacity);\n}\n\nfunction hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\n(0, _define.default)(Hsl, hsl, (0, _define.extend)(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), hsl2rgb(h, m1, m2), hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), this.opacity);\n },\n\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1;\n },\n\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n/* From FvD 13.37, CSS Color Module Level 3 */\n\n\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.extend = extend;\n\nfunction _default(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nfunction extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n\n for (var key in definition) prototype[key] = definition[key];\n\n return prototype;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.basis = basis;\nexports.default = _default;\n\nfunction basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1,\n t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0 + (4 - 6 * t2 + 3 * t3) * v1 + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2 + t3 * v3) / 6;\n}\n\nfunction _default(values) {\n var n = values.length - 1;\n return function (t) {\n var i = t <= 0 ? t = 0 : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.isNumberArray = isNumberArray;\n\nfunction _default(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function (t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n\n return c;\n };\n}\n\nfunction isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = number;\n\nfunction number(x) {\n return +x;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = log;\nexports.loggish = loggish;\n\nvar _index = require(\"../../../lib-vendor/d3-array/src/index.js\");\n\nvar _index2 = require(\"../../../lib-vendor/d3-format/src/index.js\");\n\nvar _nice = _interopRequireDefault(require(\"./nice.js\"));\n\nvar _continuous = require(\"./continuous.js\");\n\nvar _init = require(\"./init.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10 : base === Math.E ? Math.exp : x => Math.pow(base, x);\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log : base === 10 && Math.log10 || base === 2 && Math.log2 || (base = Math.log(base), x => Math.log(x) / base);\n}\n\nfunction reflect(f) {\n return (x, k) => -f(-x, k);\n}\n\nfunction loggish(transform) {\n const scale = transform(transformLog, transformExp);\n const domain = scale.domain;\n let base = 10;\n let logs;\n let pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n\n return scale;\n }\n\n scale.base = function (_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function (_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = count => {\n const d = domain();\n let u = d[0];\n let v = d[d.length - 1];\n const r = v < u;\n if (r) [u, v] = [v, u];\n let i = logs(u);\n let j = logs(v);\n let k;\n let t;\n const n = count == null ? 10 : +count;\n let z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1; k < base; ++k) {\n t = i < 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1; k >= 1; --k) {\n t = i > 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = (0, _index.ticks)(u, v, n);\n } else {\n z = (0, _index.ticks)(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = (count, specifier) => {\n if (count == null) count = 10;\n if (specifier == null) specifier = base === 10 ? \"s\" : \",\";\n\n if (typeof specifier !== \"function\") {\n if (!(base % 1) && (specifier = (0, _index2.formatSpecifier)(specifier)).precision == null) specifier.trim = true;\n specifier = (0, _index2.format)(specifier);\n }\n\n if (count === Infinity) return specifier;\n const k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n\n return d => {\n let i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = () => {\n return domain((0, _nice.default)(domain(), {\n floor: x => pows(Math.floor(logs(x))),\n ceil: x => pows(Math.ceil(logs(x)))\n }));\n };\n\n return scale;\n}\n\nfunction log() {\n const scale = loggish((0, _continuous.transformer)()).domain([1, 10]);\n\n scale.copy = () => (0, _continuous.copy)(scale, log()).base(scale.base());\n\n _init.initRange.apply(scale, arguments);\n\n return scale;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = symlog;\nexports.symlogish = symlogish;\n\nvar _linear = require(\"./linear.js\");\n\nvar _continuous = require(\"./continuous.js\");\n\nvar _init = require(\"./init.js\");\n\nfunction transformSymlog(c) {\n return function (x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / c));\n };\n}\n\nfunction transformSymexp(c) {\n return function (x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * c;\n };\n}\n\nfunction symlogish(transform) {\n var c = 1,\n scale = transform(transformSymlog(c), transformSymexp(c));\n\n scale.constant = function (_) {\n return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;\n };\n\n return (0, _linear.linearish)(scale);\n}\n\nfunction symlog() {\n var scale = symlogish((0, _continuous.transformer)());\n\n scale.copy = function () {\n return (0, _continuous.copy)(scale, symlog()).constant(scale.constant());\n };\n\n return _init.initRange.apply(scale, arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = pow;\nexports.powish = powish;\nexports.sqrt = sqrt;\n\nvar _linear = require(\"./linear.js\");\n\nvar _continuous = require(\"./continuous.js\");\n\nvar _init = require(\"./init.js\");\n\nfunction transformPow(exponent) {\n return function (x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nfunction powish(transform) {\n var scale = transform(_continuous.identity, _continuous.identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(_continuous.identity, _continuous.identity) : exponent === 0.5 ? transform(transformSqrt, transformSquare) : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function (_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return (0, _linear.linearish)(scale);\n}\n\nfunction pow() {\n var scale = powish((0, _continuous.transformer)());\n\n scale.copy = function () {\n return (0, _continuous.copy)(scale, pow()).exponent(scale.exponent());\n };\n\n _init.initRange.apply(scale, arguments);\n\n return scale;\n}\n\nfunction sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"timeDay\", {\n enumerable: true,\n get: function () {\n return _day.default;\n }\n});\nObject.defineProperty(exports, \"timeDays\", {\n enumerable: true,\n get: function () {\n return _day.days;\n }\n});\nObject.defineProperty(exports, \"timeFriday\", {\n enumerable: true,\n get: function () {\n return _week.friday;\n }\n});\nObject.defineProperty(exports, \"timeFridays\", {\n enumerable: true,\n get: function () {\n return _week.fridays;\n }\n});\nObject.defineProperty(exports, \"timeHour\", {\n enumerable: true,\n get: function () {\n return _hour.default;\n }\n});\nObject.defineProperty(exports, \"timeHours\", {\n enumerable: true,\n get: function () {\n return _hour.hours;\n }\n});\nObject.defineProperty(exports, \"timeInterval\", {\n enumerable: true,\n get: function () {\n return _interval.default;\n }\n});\nObject.defineProperty(exports, \"timeMillisecond\", {\n enumerable: true,\n get: function () {\n return _millisecond.default;\n }\n});\nObject.defineProperty(exports, \"timeMilliseconds\", {\n enumerable: true,\n get: function () {\n return _millisecond.milliseconds;\n }\n});\nObject.defineProperty(exports, \"timeMinute\", {\n enumerable: true,\n get: function () {\n return _minute.default;\n }\n});\nObject.defineProperty(exports, \"timeMinutes\", {\n enumerable: true,\n get: function () {\n return _minute.minutes;\n }\n});\nObject.defineProperty(exports, \"timeMonday\", {\n enumerable: true,\n get: function () {\n return _week.monday;\n }\n});\nObject.defineProperty(exports, \"timeMondays\", {\n enumerable: true,\n get: function () {\n return _week.mondays;\n }\n});\nObject.defineProperty(exports, \"timeMonth\", {\n enumerable: true,\n get: function () {\n return _month.default;\n }\n});\nObject.defineProperty(exports, \"timeMonths\", {\n enumerable: true,\n get: function () {\n return _month.months;\n }\n});\nObject.defineProperty(exports, \"timeSaturday\", {\n enumerable: true,\n get: function () {\n return _week.saturday;\n }\n});\nObject.defineProperty(exports, \"timeSaturdays\", {\n enumerable: true,\n get: function () {\n return _week.saturdays;\n }\n});\nObject.defineProperty(exports, \"timeSecond\", {\n enumerable: true,\n get: function () {\n return _second.default;\n }\n});\nObject.defineProperty(exports, \"timeSeconds\", {\n enumerable: true,\n get: function () {\n return _second.seconds;\n }\n});\nObject.defineProperty(exports, \"timeSunday\", {\n enumerable: true,\n get: function () {\n return _week.sunday;\n }\n});\nObject.defineProperty(exports, \"timeSundays\", {\n enumerable: true,\n get: function () {\n return _week.sundays;\n }\n});\nObject.defineProperty(exports, \"timeThursday\", {\n enumerable: true,\n get: function () {\n return _week.thursday;\n }\n});\nObject.defineProperty(exports, \"timeThursdays\", {\n enumerable: true,\n get: function () {\n return _week.thursdays;\n }\n});\nObject.defineProperty(exports, \"timeTickInterval\", {\n enumerable: true,\n get: function () {\n return _ticks.timeTickInterval;\n }\n});\nObject.defineProperty(exports, \"timeTicks\", {\n enumerable: true,\n get: function () {\n return _ticks.timeTicks;\n }\n});\nObject.defineProperty(exports, \"timeTuesday\", {\n enumerable: true,\n get: function () {\n return _week.tuesday;\n }\n});\nObject.defineProperty(exports, \"timeTuesdays\", {\n enumerable: true,\n get: function () {\n return _week.tuesdays;\n }\n});\nObject.defineProperty(exports, \"timeWednesday\", {\n enumerable: true,\n get: function () {\n return _week.wednesday;\n }\n});\nObject.defineProperty(exports, \"timeWednesdays\", {\n enumerable: true,\n get: function () {\n return _week.wednesdays;\n }\n});\nObject.defineProperty(exports, \"timeWeek\", {\n enumerable: true,\n get: function () {\n return _week.sunday;\n }\n});\nObject.defineProperty(exports, \"timeWeeks\", {\n enumerable: true,\n get: function () {\n return _week.sundays;\n }\n});\nObject.defineProperty(exports, \"timeYear\", {\n enumerable: true,\n get: function () {\n return _year.default;\n }\n});\nObject.defineProperty(exports, \"timeYears\", {\n enumerable: true,\n get: function () {\n return _year.years;\n }\n});\nObject.defineProperty(exports, \"utcDay\", {\n enumerable: true,\n get: function () {\n return _utcDay.default;\n }\n});\nObject.defineProperty(exports, \"utcDays\", {\n enumerable: true,\n get: function () {\n return _utcDay.utcDays;\n }\n});\nObject.defineProperty(exports, \"utcFriday\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcFriday;\n }\n});\nObject.defineProperty(exports, \"utcFridays\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcFridays;\n }\n});\nObject.defineProperty(exports, \"utcHour\", {\n enumerable: true,\n get: function () {\n return _utcHour.default;\n }\n});\nObject.defineProperty(exports, \"utcHours\", {\n enumerable: true,\n get: function () {\n return _utcHour.utcHours;\n }\n});\nObject.defineProperty(exports, \"utcMillisecond\", {\n enumerable: true,\n get: function () {\n return _millisecond.default;\n }\n});\nObject.defineProperty(exports, \"utcMilliseconds\", {\n enumerable: true,\n get: function () {\n return _millisecond.milliseconds;\n }\n});\nObject.defineProperty(exports, \"utcMinute\", {\n enumerable: true,\n get: function () {\n return _utcMinute.default;\n }\n});\nObject.defineProperty(exports, \"utcMinutes\", {\n enumerable: true,\n get: function () {\n return _utcMinute.utcMinutes;\n }\n});\nObject.defineProperty(exports, \"utcMonday\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcMonday;\n }\n});\nObject.defineProperty(exports, \"utcMondays\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcMondays;\n }\n});\nObject.defineProperty(exports, \"utcMonth\", {\n enumerable: true,\n get: function () {\n return _utcMonth.default;\n }\n});\nObject.defineProperty(exports, \"utcMonths\", {\n enumerable: true,\n get: function () {\n return _utcMonth.utcMonths;\n }\n});\nObject.defineProperty(exports, \"utcSaturday\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcSaturday;\n }\n});\nObject.defineProperty(exports, \"utcSaturdays\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcSaturdays;\n }\n});\nObject.defineProperty(exports, \"utcSecond\", {\n enumerable: true,\n get: function () {\n return _second.default;\n }\n});\nObject.defineProperty(exports, \"utcSeconds\", {\n enumerable: true,\n get: function () {\n return _second.seconds;\n }\n});\nObject.defineProperty(exports, \"utcSunday\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcSunday;\n }\n});\nObject.defineProperty(exports, \"utcSundays\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcSundays;\n }\n});\nObject.defineProperty(exports, \"utcThursday\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcThursday;\n }\n});\nObject.defineProperty(exports, \"utcThursdays\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcThursdays;\n }\n});\nObject.defineProperty(exports, \"utcTickInterval\", {\n enumerable: true,\n get: function () {\n return _ticks.utcTickInterval;\n }\n});\nObject.defineProperty(exports, \"utcTicks\", {\n enumerable: true,\n get: function () {\n return _ticks.utcTicks;\n }\n});\nObject.defineProperty(exports, \"utcTuesday\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcTuesday;\n }\n});\nObject.defineProperty(exports, \"utcTuesdays\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcTuesdays;\n }\n});\nObject.defineProperty(exports, \"utcWednesday\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcWednesday;\n }\n});\nObject.defineProperty(exports, \"utcWednesdays\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcWednesdays;\n }\n});\nObject.defineProperty(exports, \"utcWeek\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcSunday;\n }\n});\nObject.defineProperty(exports, \"utcWeeks\", {\n enumerable: true,\n get: function () {\n return _utcWeek.utcSundays;\n }\n});\nObject.defineProperty(exports, \"utcYear\", {\n enumerable: true,\n get: function () {\n return _utcYear.default;\n }\n});\nObject.defineProperty(exports, \"utcYears\", {\n enumerable: true,\n get: function () {\n return _utcYear.utcYears;\n }\n});\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nvar _millisecond = _interopRequireWildcard(require(\"./millisecond.js\"));\n\nvar _second = _interopRequireWildcard(require(\"./second.js\"));\n\nvar _minute = _interopRequireWildcard(require(\"./minute.js\"));\n\nvar _hour = _interopRequireWildcard(require(\"./hour.js\"));\n\nvar _day = _interopRequireWildcard(require(\"./day.js\"));\n\nvar _week = require(\"./week.js\");\n\nvar _month = _interopRequireWildcard(require(\"./month.js\"));\n\nvar _year = _interopRequireWildcard(require(\"./year.js\"));\n\nvar _utcMinute = _interopRequireWildcard(require(\"./utcMinute.js\"));\n\nvar _utcHour = _interopRequireWildcard(require(\"./utcHour.js\"));\n\nvar _utcDay = _interopRequireWildcard(require(\"./utcDay.js\"));\n\nvar _utcWeek = require(\"./utcWeek.js\");\n\nvar _utcMonth = _interopRequireWildcard(require(\"./utcMonth.js\"));\n\nvar _utcYear = _interopRequireWildcard(require(\"./utcYear.js\"));\n\nvar _ticks = require(\"./ticks.js\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = defaultLocale;\nexports.utcParse = exports.utcFormat = exports.timeParse = exports.timeFormat = void 0;\n\nvar _locale = _interopRequireDefault(require(\"./locale.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar locale;\nvar timeFormat;\nexports.timeFormat = timeFormat;\nvar timeParse;\nexports.timeParse = timeParse;\nvar utcFormat;\nexports.utcFormat = utcFormat;\nvar utcParse;\nexports.utcParse = utcParse;\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nfunction defaultLocale(definition) {\n locale = (0, _locale.default)(definition);\n exports.timeFormat = timeFormat = locale.format;\n exports.timeParse = timeParse = locale.parse;\n exports.utcFormat = utcFormat = locale.utcFormat;\n exports.utcParse = utcParse = locale.utcParse;\n return locale;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _index = require(\"../../../lib-vendor/d3-path/src/index.js\");\n\nvar _array = _interopRequireDefault(require(\"./array.js\"));\n\nvar _constant = _interopRequireDefault(require(\"./constant.js\"));\n\nvar _linear = _interopRequireDefault(require(\"./curve/linear.js\"));\n\nvar _point = require(\"./point.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(x, y) {\n var defined = (0, _constant.default)(true),\n context = null,\n curve = _linear.default,\n output = null;\n x = typeof x === \"function\" ? x : x === undefined ? _point.x : (0, _constant.default)(x);\n y = typeof y === \"function\" ? y : y === undefined ? _point.y : (0, _constant.default)(y);\n\n function line(data) {\n var i,\n n = (data = (0, _array.default)(data)).length,\n d,\n defined0 = false,\n buffer;\n if (context == null) output = curve(buffer = (0, _index.path)());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();else output.lineEnd();\n }\n\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function (_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), line) : x;\n };\n\n line.y = function (_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), line) : y;\n };\n\n line.defined = function (_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : (0, _constant.default)(!!_), line) : defined;\n };\n\n line.curve = function (_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function (_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.x = x;\nexports.y = y;\n\nfunction x(p) {\n return p[0];\n}\n\nfunction y(p) {\n return p[1];\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nexports.point = point;\n\nvar _math = require(\"../math.js\");\n\nvar _cardinal = require(\"./cardinal.js\");\n\nfunction point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > _math.epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > _math.epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function () {\n this._line = 0;\n },\n areaEnd: function () {\n this._line = NaN;\n },\n lineStart: function () {\n this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;\n },\n lineEnd: function () {\n switch (this._point) {\n case 2:\n this._context.lineTo(this._x2, this._y2);\n\n break;\n\n case 3:\n this.point(this._x2, this._y2);\n break;\n }\n\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function (x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n\n case 1:\n this._point = 2;\n break;\n\n case 2:\n this._point = 3;\n // falls through\n\n default:\n point(this, x, y);\n break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nvar _default = function custom(alpha) {\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new _cardinal.Cardinal(context, 0);\n }\n\n catmullRom.alpha = function (alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n}(0.5);\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.sum = sum;\n\nvar _none = _interopRequireDefault(require(\"./none.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(series) {\n var sums = series.map(sum);\n return (0, _none.default)(series).sort(function (a, b) {\n return sums[a] - sums[b];\n });\n}\n\nfunction sum(series) {\n var s = 0,\n i = -1,\n n = series.length,\n v;\n\n while (++i < n) if (v = +series[i][1]) s += v;\n\n return s;\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { Legend } from '../component/Legend';\nimport { getMainColorOfGraphicItem } from './ChartUtils';\nimport { findChildByType } from './ReactUtils';\nexport var getLegendProps = function getLegendProps(_ref) {\n var children = _ref.children,\n formattedGraphicalItems = _ref.formattedGraphicalItems,\n legendWidth = _ref.legendWidth,\n legendContent = _ref.legendContent;\n var legendItem = findChildByType(children, Legend);\n if (!legendItem) {\n return null;\n }\n var legendDefaultProps = Legend.defaultProps;\n var legendProps = legendDefaultProps !== undefined ? _objectSpread(_objectSpread({}, legendDefaultProps), legendItem.props) : {};\n var legendData;\n if (legendItem.props && legendItem.props.payload) {\n legendData = legendItem.props && legendItem.props.payload;\n } else if (legendContent === 'children') {\n legendData = (formattedGraphicalItems || []).reduce(function (result, _ref2) {\n var item = _ref2.item,\n props = _ref2.props;\n var data = props.sectors || props.data || [];\n return result.concat(data.map(function (entry) {\n return {\n type: legendItem.props.iconType || item.props.legendType,\n value: entry.name,\n color: entry.fill,\n payload: entry\n };\n }));\n }, []);\n } else {\n legendData = (formattedGraphicalItems || []).map(function (_ref3) {\n var item = _ref3.item;\n var itemDefaultProps = item.type.defaultProps;\n var itemProps = itemDefaultProps !== undefined ? _objectSpread(_objectSpread({}, itemDefaultProps), item.props) : {};\n var dataKey = itemProps.dataKey,\n name = itemProps.name,\n legendType = itemProps.legendType,\n hide = itemProps.hide;\n return {\n inactive: hide,\n dataKey: dataKey,\n type: legendProps.iconType || legendType || 'square',\n color: getMainColorOfGraphicItem(item),\n value: name || dataKey,\n // @ts-expect-error property strokeDasharray is required in Payload but optional in props\n payload: itemProps\n };\n });\n }\n return _objectSpread(_objectSpread(_objectSpread({}, legendProps), Legend.getWithHeight(legendItem, legendWidth)), {}, {\n payload: legendData,\n item: legendItem\n });\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.bisectRight = exports.bisectLeft = exports.bisectCenter = void 0;\n\nvar _ascending = _interopRequireDefault(require(\"./ascending.js\"));\n\nvar _bisector = _interopRequireDefault(require(\"./bisector.js\"));\n\nvar _number = _interopRequireDefault(require(\"./number.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst ascendingBisect = (0, _bisector.default)(_ascending.default);\nconst bisectRight = ascendingBisect.right;\nexports.bisectRight = bisectRight;\nconst bisectLeft = ascendingBisect.left;\nexports.bisectLeft = bisectLeft;\nconst bisectCenter = (0, _bisector.default)(_number.default).center;\nexports.bisectCenter = bisectCenter;\nvar _default = bisectRight;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = bisector;\n\nvar _ascending = _interopRequireDefault(require(\"./ascending.js\"));\n\nvar _descending = _interopRequireDefault(require(\"./descending.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction bisector(f) {\n let compare1, compare2, delta; // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n\n if (f.length !== 2) {\n compare1 = _ascending.default;\n\n compare2 = (d, x) => (0, _ascending.default)(f(d), x);\n\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === _ascending.default || f === _descending.default ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n\n do {\n const mid = lo + hi >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;else hi = mid;\n } while (lo < hi);\n }\n\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n\n do {\n const mid = lo + hi >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;else hi = mid;\n } while (lo < hi);\n }\n\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {\n left,\n center,\n right\n };\n}\n\nfunction zero() {\n return 0;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = descending;\n\nfunction descending(a, b) {\n return a == null || b == null ? NaN : b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = number;\nexports.numbers = numbers;\n\nfunction number(x) {\n return x === null ? NaN : +x;\n}\n\nfunction* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = deviation;\n\nvar _variance = _interopRequireDefault(require(\"./variance.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction deviation(values, valueof) {\n const v = (0, _variance.default)(values, valueof);\n return v ? Math.sqrt(v) : v;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = variance;\n\nfunction variance(values, valueof) {\n let count = 0;\n let delta;\n let mean = 0;\n let sum = 0;\n\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n delta = value - mean;\n mean += delta / ++count;\n sum += delta * (value - mean);\n }\n }\n } else {\n let index = -1;\n\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n delta = value - mean;\n mean += delta / ++count;\n sum += delta * (value - mean);\n }\n }\n }\n\n if (count > 1) return sum / (count - 1);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = extent;\n\nfunction extent(values, valueof) {\n let min;\n let max;\n\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n } else {\n let index = -1;\n\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n\n return [min, max];\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = group;\nexports.flatGroup = flatGroup;\nexports.flatRollup = flatRollup;\nexports.groups = groups;\nexports.index = index;\nexports.indexes = indexes;\nexports.rollup = rollup;\nexports.rollups = rollups;\n\nvar _index = require(\"../../../lib-vendor/internmap/src/index.js\");\n\nvar _identity = _interopRequireDefault(require(\"./identity.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction group(values, ...keys) {\n return nest(values, _identity.default, _identity.default, keys);\n}\n\nfunction groups(values, ...keys) {\n return nest(values, Array.from, _identity.default, keys);\n}\n\nfunction flatten(groups, keys) {\n for (let i = 1, n = keys.length; i < n; ++i) {\n groups = groups.flatMap(g => g.pop().map(([key, value]) => [...g, key, value]));\n }\n\n return groups;\n}\n\nfunction flatGroup(values, ...keys) {\n return flatten(groups(values, ...keys), keys);\n}\n\nfunction flatRollup(values, reduce, ...keys) {\n return flatten(rollups(values, reduce, ...keys), keys);\n}\n\nfunction rollup(values, reduce, ...keys) {\n return nest(values, _identity.default, reduce, keys);\n}\n\nfunction rollups(values, reduce, ...keys) {\n return nest(values, Array.from, reduce, keys);\n}\n\nfunction index(values, ...keys) {\n return nest(values, _identity.default, unique, keys);\n}\n\nfunction indexes(values, ...keys) {\n return nest(values, Array.from, unique, keys);\n}\n\nfunction unique(values) {\n if (values.length !== 1) throw new Error(\"duplicate key\");\n return values[0];\n}\n\nfunction nest(values, map, reduce, keys) {\n return function regroup(values, i) {\n if (i >= keys.length) return reduce(values);\n const groups = new _index.InternMap();\n const keyof = keys[i++];\n let index = -1;\n\n for (const value of values) {\n const key = keyof(value, ++index, values);\n const group = groups.get(key);\n if (group) group.push(value);else groups.set(key, [value]);\n }\n\n for (const [key, values] of groups) {\n groups.set(key, regroup(values, i));\n }\n\n return map(groups);\n }(values, 0);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = identity;\n\nfunction identity(x) {\n return x;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = permute;\n\nfunction permute(source, keys) {\n return Array.from(keys, key => source[key]);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = nice;\n\nvar _ticks = require(\"./ticks.js\");\n\nfunction nice(start, stop, count) {\n let prestep;\n\n while (true) {\n const step = (0, _ticks.tickIncrement)(start, stop, count);\n\n if (step === prestep || step === 0 || !isFinite(step)) {\n return [start, stop];\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n }\n\n prestep = step;\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = thresholdSturges;\n\nvar _count = _interopRequireDefault(require(\"../count.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction thresholdSturges(values) {\n return Math.ceil(Math.log((0, _count.default)(values)) / Math.LN2) + 1;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = max;\n\nfunction max(values, valueof) {\n let max;\n\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null && (max < value || max === undefined && value >= value)) {\n max = value;\n }\n }\n } else {\n let index = -1;\n\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (max < value || max === undefined && value >= value)) {\n max = value;\n }\n }\n }\n\n return max;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = quickselect;\n\nvar _sort = require(\"./sort.js\");\n\n// Based on https://github.com/mourner/quickselect\n// ISC license, Copyright 2018 Vladimir Agafonkin.\nfunction quickselect(array, k, left = 0, right = array.length - 1, compare) {\n compare = compare === undefined ? _sort.ascendingDefined : (0, _sort.compareDefined)(compare);\n\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n quickselect(array, k, newLeft, newRight, compare);\n }\n\n const t = array[k];\n let i = left;\n let j = right;\n swap(array, left, k);\n if (compare(array[right], t) > 0) swap(array, left, right);\n\n while (i < j) {\n swap(array, i, j), ++i, --j;\n\n while (compare(array[i], t) < 0) ++i;\n\n while (compare(array[j], t) > 0) --j;\n }\n\n if (compare(array[left], t) === 0) swap(array, left, j);else ++j, swap(array, j, right);\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n\n return array;\n}\n\nfunction swap(array, i, j) {\n const t = array[i];\n array[i] = array[j];\n array[j] = t;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = maxIndex;\n\nfunction maxIndex(values, valueof) {\n let max;\n let maxIndex = -1;\n let index = -1;\n\n if (valueof === undefined) {\n for (const value of values) {\n ++index;\n\n if (value != null && (max < value || max === undefined && value >= value)) {\n max = value, maxIndex = index;\n }\n }\n } else {\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (max < value || max === undefined && value >= value)) {\n max = value, maxIndex = index;\n }\n }\n }\n\n return maxIndex;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = minIndex;\n\nfunction minIndex(values, valueof) {\n let min;\n let minIndex = -1;\n let index = -1;\n\n if (valueof === undefined) {\n for (const value of values) {\n ++index;\n\n if (value != null && (min > value || min === undefined && value >= value)) {\n min = value, minIndex = index;\n }\n }\n } else {\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (min > value || min === undefined && value >= value)) {\n min = value, minIndex = index;\n }\n }\n }\n\n return minIndex;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = leastIndex;\n\nvar _ascending = _interopRequireDefault(require(\"./ascending.js\"));\n\nvar _minIndex = _interopRequireDefault(require(\"./minIndex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction leastIndex(values, compare = _ascending.default) {\n if (compare.length === 1) return (0, _minIndex.default)(values, compare);\n let minValue;\n let min = -1;\n let index = -1;\n\n for (const value of values) {\n ++index;\n\n if (min < 0 ? compare(value, value) === 0 : compare(value, minValue) < 0) {\n minValue = value;\n min = index;\n }\n }\n\n return min;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transpose;\n\nvar _min = _interopRequireDefault(require(\"./min.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction transpose(matrix) {\n if (!(n = matrix.length)) return [];\n\n for (var i = -1, m = (0, _min.default)(matrix, length), transpose = new Array(m); ++i < m;) {\n for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) {\n row[j] = matrix[j][i];\n }\n }\n\n return transpose;\n}\n\nfunction length(d) {\n return d.length;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = superset;\n\nfunction superset(values, other) {\n const iterator = values[Symbol.iterator](),\n set = new Set();\n\n for (const o of other) {\n const io = intern(o);\n if (set.has(io)) continue;\n let value, done;\n\n while (({\n value,\n done\n } = iterator.next())) {\n if (done) return false;\n const ivalue = intern(value);\n set.add(ivalue);\n if (Object.is(io, ivalue)) break;\n }\n }\n\n return true;\n}\n\nfunction intern(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ordinal;\nexports.implicit = void 0;\n\nvar _index = require(\"../../../lib-vendor/d3-array/src/index.js\");\n\nvar _init = require(\"./init.js\");\n\nconst implicit = Symbol(\"implicit\");\nexports.implicit = implicit;\n\nfunction ordinal() {\n var index = new _index.InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n\n return range[i % range.length];\n }\n\n scale.domain = function (_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new _index.InternMap();\n\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n\n return scale;\n };\n\n scale.range = function (_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function () {\n return ordinal(domain, range).unknown(unknown);\n };\n\n _init.initRange.apply(scale, arguments);\n\n return scale;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.radians = exports.degrees = void 0;\nconst radians = Math.PI / 180;\nexports.radians = radians;\nconst degrees = 180 / Math.PI;\nexports.degrees = degrees;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.rgbBasisClosed = exports.rgbBasis = exports.default = void 0;\n\nvar _index = require(\"../../../lib-vendor/d3-color/src/index.js\");\n\nvar _basis = _interopRequireDefault(require(\"./basis.js\"));\n\nvar _basisClosed = _interopRequireDefault(require(\"./basisClosed.js\"));\n\nvar _color = _interopRequireWildcard(require(\"./color.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = function rgbGamma(y) {\n var color = (0, _color.gamma)(y);\n\n function rgb(start, end) {\n var r = color((start = (0, _index.rgb)(start)).r, (end = (0, _index.rgb)(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = (0, _color.default)(start.opacity, end.opacity);\n return function (t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n return rgb;\n}(1);\n\nexports.default = _default;\n\nfunction rgbSpline(spline) {\n return function (colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i,\n color;\n\n for (i = 0; i < n; ++i) {\n color = (0, _index.rgb)(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function (t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nvar rgbBasis = rgbSpline(_basis.default);\nexports.rgbBasis = rgbBasis;\nvar rgbBasisClosed = rgbSpline(_basisClosed.default);\nexports.rgbBasisClosed = rgbBasisClosed;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _basis = require(\"./basis.js\");\n\nfunction _default(values) {\n var n = values.length;\n return function (t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return (0, _basis.basis)((t - i / n) * n, v0, v1, v2, v3);\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _default = x => () => x;\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.genericArray = genericArray;\n\nvar _value = _interopRequireDefault(require(\"./value.js\"));\n\nvar _numberArray = _interopRequireWildcard(require(\"./numberArray.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(a, b) {\n return ((0, _numberArray.isNumberArray)(b) ? _numberArray.default : genericArray)(a, b);\n}\n\nfunction genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = (0, _value.default)(a[i], b[i]);\n\n for (; i < nb; ++i) c[i] = b[i];\n\n return function (t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n\n return c;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(a, b) {\n var d = new Date();\n return a = +a, b = +b, function (t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _value = _interopRequireDefault(require(\"./value.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(a, b) {\n var i = {},\n c = {},\n k;\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = (0, _value.default)(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function (t) {\n for (k in i) c[k] = i[k](t);\n\n return c;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _number = _interopRequireDefault(require(\"./number.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function () {\n return b;\n };\n}\n\nfunction one(b) {\n return function (t) {\n return b(t) + \"\";\n };\n}\n\nfunction _default(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0,\n // scan index for next number in b\n am,\n // current match in a\n bm,\n // current match in b\n bs,\n // string preceding current number in b, if any\n i = -1,\n // index in s\n s = [],\n // string constants and placeholders\n q = []; // number interpolators\n // Coerce inputs to strings.\n\n a = a + \"\", b = b + \"\"; // Interpolate pairs of numbers in a & b.\n\n while ((am = reA.exec(a)) && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) {\n // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n if ((am = am[0]) === (bm = bm[0])) {\n // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else {\n // interpolate non-matching numbers\n s[++i] = null;\n q.push({\n i: i,\n x: (0, _number.default)(am, bm)\n });\n }\n\n bi = reB.lastIndex;\n } // Add remains of b.\n\n\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n } // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n\n\n return s.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function (t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n\n return s.join(\"\");\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = tickFormat;\n\nvar _index = require(\"../../../lib-vendor/d3-array/src/index.js\");\n\nvar _index2 = require(\"../../../lib-vendor/d3-format/src/index.js\");\n\nfunction tickFormat(start, stop, count, specifier) {\n var step = (0, _index.tickStep)(start, stop, count),\n precision;\n specifier = (0, _index2.formatSpecifier)(specifier == null ? \",f\" : specifier);\n\n switch (specifier.type) {\n case \"s\":\n {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = (0, _index2.precisionPrefix)(step, value))) specifier.precision = precision;\n return (0, _index2.formatPrefix)(specifier, value);\n }\n\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\":\n {\n if (specifier.precision == null && !isNaN(precision = (0, _index2.precisionRound)(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n\n case \"f\":\n case \"%\":\n {\n if (specifier.precision == null && !isNaN(precision = (0, _index2.precisionFixed)(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n\n return (0, _index2.format)(specifier);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"FormatSpecifier\", {\n enumerable: true,\n get: function () {\n return _formatSpecifier.FormatSpecifier;\n }\n});\nObject.defineProperty(exports, \"format\", {\n enumerable: true,\n get: function () {\n return _defaultLocale.format;\n }\n});\nObject.defineProperty(exports, \"formatDefaultLocale\", {\n enumerable: true,\n get: function () {\n return _defaultLocale.default;\n }\n});\nObject.defineProperty(exports, \"formatLocale\", {\n enumerable: true,\n get: function () {\n return _locale.default;\n }\n});\nObject.defineProperty(exports, \"formatPrefix\", {\n enumerable: true,\n get: function () {\n return _defaultLocale.formatPrefix;\n }\n});\nObject.defineProperty(exports, \"formatSpecifier\", {\n enumerable: true,\n get: function () {\n return _formatSpecifier.default;\n }\n});\nObject.defineProperty(exports, \"precisionFixed\", {\n enumerable: true,\n get: function () {\n return _precisionFixed.default;\n }\n});\nObject.defineProperty(exports, \"precisionPrefix\", {\n enumerable: true,\n get: function () {\n return _precisionPrefix.default;\n }\n});\nObject.defineProperty(exports, \"precisionRound\", {\n enumerable: true,\n get: function () {\n return _precisionRound.default;\n }\n});\n\nvar _defaultLocale = _interopRequireWildcard(require(\"./defaultLocale.js\"));\n\nvar _locale = _interopRequireDefault(require(\"./locale.js\"));\n\nvar _formatSpecifier = _interopRequireWildcard(require(\"./formatSpecifier.js\"));\n\nvar _precisionFixed = _interopRequireDefault(require(\"./precisionFixed.js\"));\n\nvar _precisionPrefix = _interopRequireDefault(require(\"./precisionPrefix.js\"));\n\nvar _precisionRound = _interopRequireDefault(require(\"./precisionRound.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _exponent = _interopRequireDefault(require(\"./exponent.js\"));\n\nvar _formatGroup = _interopRequireDefault(require(\"./formatGroup.js\"));\n\nvar _formatNumerals = _interopRequireDefault(require(\"./formatNumerals.js\"));\n\nvar _formatSpecifier = _interopRequireDefault(require(\"./formatSpecifier.js\"));\n\nvar _formatTrim = _interopRequireDefault(require(\"./formatTrim.js\"));\n\nvar _formatTypes = _interopRequireDefault(require(\"./formatTypes.js\"));\n\nvar _formatPrefixAuto = require(\"./formatPrefixAuto.js\");\n\nvar _identity = _interopRequireDefault(require(\"./identity.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar map = Array.prototype.map,\n prefixes = [\"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"µ\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\"];\n\nfunction _default(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? _identity.default : (0, _formatGroup.default)(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? _identity.default : (0, _formatNumerals.default)(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = (0, _formatSpecifier.default)(specifier);\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type; // The \"n\" type is an alias for \",g\".\n\n if (type === \"n\") comma = true, type = \"g\"; // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!_formatTypes.default[type]) precision === undefined && (precision = 12), trim = true, type = \"g\"; // If zero fill is specified, padding goes after sign and before digits.\n\n if (zero || fill === \"0\" && align === \"=\") zero = true, fill = \"0\", align = \"=\"; // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\"; // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n\n var formatType = _formatTypes.default[type],\n maybeSuffix = /[defgprs%]/.test(type); // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n\n precision = precision === undefined ? 6 : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i,\n n,\n c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value; // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n\n var valueNegative = value < 0 || 1 / value < 0; // Perform the initial formatting.\n\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision); // Trim insignificant zeros.\n\n if (trim) value = (0, _formatTrim.default)(value); // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false; // Compute the prefix and suffix.\n\n valuePrefix = (valueNegative ? sign === \"(\" ? sign : minus : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + _formatPrefixAuto.prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\"); // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n\n if (maybeSuffix) {\n i = -1, n = value.length;\n\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n } // If the fill character is not \"0\", grouping is applied before padding.\n\n\n if (comma && !zero) value = group(value, Infinity); // Compute the padding.\n\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\"; // If the fill character is \"0\", grouping is applied after padding.\n\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\"; // Reconstruct the final output based on the desired alignment.\n\n switch (align) {\n case \"<\":\n value = valuePrefix + value + valueSuffix + padding;\n break;\n\n case \"=\":\n value = valuePrefix + padding + value + valueSuffix;\n break;\n\n case \"^\":\n value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length);\n break;\n\n default:\n value = padding + valuePrefix + value + valueSuffix;\n break;\n }\n\n return numerals(value);\n }\n\n format.toString = function () {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = (0, _formatSpecifier.default)(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor((0, _exponent.default)(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function (value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FormatSpecifier = FormatSpecifier;\nexports.default = formatSpecifier;\n// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nfunction formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nfunction FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function () {\n return this.fill + this.align + this.sign + this.symbol + (this.zero ? \"0\" : \"\") + (this.width === undefined ? \"\" : Math.max(1, this.width | 0)) + (this.comma ? \",\" : \"\") + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0)) + (this.trim ? \"~\" : \"\") + this.type;\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.prefixExponent = void 0;\n\nvar _formatDecimal = require(\"./formatDecimal.js\");\n\nvar prefixExponent;\nexports.prefixExponent = prefixExponent;\n\nfunction _default(x, p) {\n var d = (0, _formatDecimal.formatDecimalParts)(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (exports.prefixExponent = prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient : i > n ? coefficient + new Array(i - n + 1).join(\"0\") : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i) : \"0.\" + new Array(1 - i).join(\"0\") + (0, _formatDecimal.formatDecimalParts)(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = nice;\n\nfunction nice(domain, interval) {\n domain = domain.slice();\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calendar = calendar;\nexports.default = time;\n\nvar _index = require(\"../../../lib-vendor/d3-time/src/index.js\");\n\nvar _index2 = require(\"../../../lib-vendor/d3-time-format/src/index.js\");\n\nvar _continuous = _interopRequireWildcard(require(\"./continuous.js\"));\n\nvar _init = require(\"./init.js\");\n\nvar _nice = _interopRequireDefault(require(\"./nice.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nfunction calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = (0, _continuous.default)(),\n invert = scale.invert,\n domain = scale.domain;\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond : minute(date) < date ? formatSecond : hour(date) < date ? formatMinute : day(date) < date ? formatHour : month(date) < date ? week(date) < date ? formatDay : formatWeek : year(date) < date ? formatMonth : formatYear)(date);\n }\n\n scale.invert = function (y) {\n return new Date(invert(y));\n };\n\n scale.domain = function (_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function (interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function (count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function (interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain((0, _nice.default)(d, interval)) : scale;\n };\n\n scale.copy = function () {\n return (0, _continuous.copy)(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nfunction time() {\n return _init.initRange.apply(calendar(_index.timeTicks, _index.timeTickInterval, _index.timeYear, _index.timeMonth, _index.timeWeek, _index.timeDay, _index.timeHour, _index.timeMinute, _index.timeSecond, _index2.timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.milliseconds = exports.default = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar millisecond = (0, _interval.default)(function () {// noop\n}, function (date, step) {\n date.setTime(+date + step);\n}, function (start, end) {\n return end - start;\n}); // An optimized implementation for this simple case.\n\nmillisecond.every = function (k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return (0, _interval.default)(function (date) {\n date.setTime(Math.floor(date / k) * k);\n }, function (date, step) {\n date.setTime(+date + step * k);\n }, function (start, end) {\n return (end - start) / k;\n });\n};\n\nvar _default = millisecond;\nexports.default = _default;\nvar milliseconds = millisecond.range;\nexports.milliseconds = milliseconds;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.seconds = exports.default = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nvar _duration = require(\"./duration.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar second = (0, _interval.default)(function (date) {\n date.setTime(date - date.getMilliseconds());\n}, function (date, step) {\n date.setTime(+date + step * _duration.durationSecond);\n}, function (start, end) {\n return (end - start) / _duration.durationSecond;\n}, function (date) {\n return date.getUTCSeconds();\n});\nvar _default = second;\nexports.default = _default;\nvar seconds = second.range;\nexports.seconds = seconds;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.minutes = exports.default = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nvar _duration = require(\"./duration.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar minute = (0, _interval.default)(function (date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * _duration.durationSecond);\n}, function (date, step) {\n date.setTime(+date + step * _duration.durationMinute);\n}, function (start, end) {\n return (end - start) / _duration.durationMinute;\n}, function (date) {\n return date.getMinutes();\n});\nvar _default = minute;\nexports.default = _default;\nvar minutes = minute.range;\nexports.minutes = minutes;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hours = exports.default = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nvar _duration = require(\"./duration.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hour = (0, _interval.default)(function (date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * _duration.durationSecond - date.getMinutes() * _duration.durationMinute);\n}, function (date, step) {\n date.setTime(+date + step * _duration.durationHour);\n}, function (start, end) {\n return (end - start) / _duration.durationHour;\n}, function (date) {\n return date.getHours();\n});\nvar _default = hour;\nexports.default = _default;\nvar hours = hour.range;\nexports.hours = hours;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.days = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nvar _duration = require(\"./duration.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar day = (0, _interval.default)(date => date.setHours(0, 0, 0, 0), (date, step) => date.setDate(date.getDate() + step), (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * _duration.durationMinute) / _duration.durationDay, date => date.getDate() - 1);\nvar _default = day;\nexports.default = _default;\nvar days = day.range;\nexports.days = days;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.wednesdays = exports.wednesday = exports.tuesdays = exports.tuesday = exports.thursdays = exports.thursday = exports.sundays = exports.sunday = exports.saturdays = exports.saturday = exports.mondays = exports.monday = exports.fridays = exports.friday = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nvar _duration = require(\"./duration.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction weekday(i) {\n return (0, _interval.default)(function (date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function (date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function (start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * _duration.durationMinute) / _duration.durationWeek;\n });\n}\n\nvar sunday = weekday(0);\nexports.sunday = sunday;\nvar monday = weekday(1);\nexports.monday = monday;\nvar tuesday = weekday(2);\nexports.tuesday = tuesday;\nvar wednesday = weekday(3);\nexports.wednesday = wednesday;\nvar thursday = weekday(4);\nexports.thursday = thursday;\nvar friday = weekday(5);\nexports.friday = friday;\nvar saturday = weekday(6);\nexports.saturday = saturday;\nvar sundays = sunday.range;\nexports.sundays = sundays;\nvar mondays = monday.range;\nexports.mondays = mondays;\nvar tuesdays = tuesday.range;\nexports.tuesdays = tuesdays;\nvar wednesdays = wednesday.range;\nexports.wednesdays = wednesdays;\nvar thursdays = thursday.range;\nexports.thursdays = thursdays;\nvar fridays = friday.range;\nexports.fridays = fridays;\nvar saturdays = saturday.range;\nexports.saturdays = saturdays;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.months = exports.default = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar month = (0, _interval.default)(function (date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setMonth(date.getMonth() + step);\n}, function (start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function (date) {\n return date.getMonth();\n});\nvar _default = month;\nexports.default = _default;\nvar months = month.range;\nexports.months = months;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.years = exports.default = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar year = (0, _interval.default)(function (date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function (start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function (date) {\n return date.getFullYear();\n}); // An optimized implementation for this simple case.\n\nyear.every = function (k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : (0, _interval.default)(function (date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function (date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nvar _default = year;\nexports.default = _default;\nvar years = year.range;\nexports.years = years;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.utcMinutes = exports.default = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nvar _duration = require(\"./duration.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar utcMinute = (0, _interval.default)(function (date) {\n date.setUTCSeconds(0, 0);\n}, function (date, step) {\n date.setTime(+date + step * _duration.durationMinute);\n}, function (start, end) {\n return (end - start) / _duration.durationMinute;\n}, function (date) {\n return date.getUTCMinutes();\n});\nvar _default = utcMinute;\nexports.default = _default;\nvar utcMinutes = utcMinute.range;\nexports.utcMinutes = utcMinutes;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.utcHours = exports.default = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nvar _duration = require(\"./duration.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar utcHour = (0, _interval.default)(function (date) {\n date.setUTCMinutes(0, 0, 0);\n}, function (date, step) {\n date.setTime(+date + step * _duration.durationHour);\n}, function (start, end) {\n return (end - start) / _duration.durationHour;\n}, function (date) {\n return date.getUTCHours();\n});\nvar _default = utcHour;\nexports.default = _default;\nvar utcHours = utcHour.range;\nexports.utcHours = utcHours;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.utcDays = exports.default = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nvar _duration = require(\"./duration.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar utcDay = (0, _interval.default)(function (date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function (start, end) {\n return (end - start) / _duration.durationDay;\n}, function (date) {\n return date.getUTCDate() - 1;\n});\nvar _default = utcDay;\nexports.default = _default;\nvar utcDays = utcDay.range;\nexports.utcDays = utcDays;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.utcWednesdays = exports.utcWednesday = exports.utcTuesdays = exports.utcTuesday = exports.utcThursdays = exports.utcThursday = exports.utcSundays = exports.utcSunday = exports.utcSaturdays = exports.utcSaturday = exports.utcMondays = exports.utcMonday = exports.utcFridays = exports.utcFriday = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nvar _duration = require(\"./duration.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction utcWeekday(i) {\n return (0, _interval.default)(function (date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function (date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function (start, end) {\n return (end - start) / _duration.durationWeek;\n });\n}\n\nvar utcSunday = utcWeekday(0);\nexports.utcSunday = utcSunday;\nvar utcMonday = utcWeekday(1);\nexports.utcMonday = utcMonday;\nvar utcTuesday = utcWeekday(2);\nexports.utcTuesday = utcTuesday;\nvar utcWednesday = utcWeekday(3);\nexports.utcWednesday = utcWednesday;\nvar utcThursday = utcWeekday(4);\nexports.utcThursday = utcThursday;\nvar utcFriday = utcWeekday(5);\nexports.utcFriday = utcFriday;\nvar utcSaturday = utcWeekday(6);\nexports.utcSaturday = utcSaturday;\nvar utcSundays = utcSunday.range;\nexports.utcSundays = utcSundays;\nvar utcMondays = utcMonday.range;\nexports.utcMondays = utcMondays;\nvar utcTuesdays = utcTuesday.range;\nexports.utcTuesdays = utcTuesdays;\nvar utcWednesdays = utcWednesday.range;\nexports.utcWednesdays = utcWednesdays;\nvar utcThursdays = utcThursday.range;\nexports.utcThursdays = utcThursdays;\nvar utcFridays = utcFriday.range;\nexports.utcFridays = utcFridays;\nvar utcSaturdays = utcSaturday.range;\nexports.utcSaturdays = utcSaturdays;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.utcMonths = exports.default = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar utcMonth = (0, _interval.default)(function (date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function (start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function (date) {\n return date.getUTCMonth();\n});\nvar _default = utcMonth;\nexports.default = _default;\nvar utcMonths = utcMonth.range;\nexports.utcMonths = utcMonths;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.utcYears = exports.default = void 0;\n\nvar _interval = _interopRequireDefault(require(\"./interval.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar utcYear = (0, _interval.default)(function (date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function (start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function (date) {\n return date.getUTCFullYear();\n}); // An optimized implementation for this simple case.\n\nutcYear.every = function (k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : (0, _interval.default)(function (date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function (date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nvar _default = utcYear;\nexports.default = _default;\nvar utcYears = utcYear.range;\nexports.utcYears = utcYears;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"isoFormat\", {\n enumerable: true,\n get: function () {\n return _isoFormat.default;\n }\n});\nObject.defineProperty(exports, \"isoParse\", {\n enumerable: true,\n get: function () {\n return _isoParse.default;\n }\n});\nObject.defineProperty(exports, \"timeFormat\", {\n enumerable: true,\n get: function () {\n return _defaultLocale.timeFormat;\n }\n});\nObject.defineProperty(exports, \"timeFormatDefaultLocale\", {\n enumerable: true,\n get: function () {\n return _defaultLocale.default;\n }\n});\nObject.defineProperty(exports, \"timeFormatLocale\", {\n enumerable: true,\n get: function () {\n return _locale.default;\n }\n});\nObject.defineProperty(exports, \"timeParse\", {\n enumerable: true,\n get: function () {\n return _defaultLocale.timeParse;\n }\n});\nObject.defineProperty(exports, \"utcFormat\", {\n enumerable: true,\n get: function () {\n return _defaultLocale.utcFormat;\n }\n});\nObject.defineProperty(exports, \"utcParse\", {\n enumerable: true,\n get: function () {\n return _defaultLocale.utcParse;\n }\n});\n\nvar _defaultLocale = _interopRequireWildcard(require(\"./defaultLocale.js\"));\n\nvar _locale = _interopRequireDefault(require(\"./locale.js\"));\n\nvar _isoFormat = _interopRequireDefault(require(\"./isoFormat.js\"));\n\nvar _isoParse = _interopRequireDefault(require(\"./isoParse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = formatLocale;\n\nvar _index = require(\"../../../lib-vendor/d3-time/src/index.js\");\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {\n y: y,\n m: m,\n d: d,\n H: 0,\n M: 0,\n S: 0,\n L: 0\n };\n}\n\nfunction formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n }; // These recursive directive definitions must be deferred.\n\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function (date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function (string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week,\n day;\n if (i != string.length) return null; // If a UNIX timestamp is specified, return it.\n\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0)); // If this is utcParse, never use the local timezone.\n\n if (Z && !(\"Z\" in d)) d.Z = 0; // The am-pm flag is 0 for AM, and 1 for PM.\n\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12; // If the month was not specified, inherit from the quarter.\n\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0; // Convert day-of-week and week-of-year to day-of-year.\n\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? _index.utcMonday.ceil(week) : (0, _index.utcMonday)(week);\n week = _index.utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? _index.timeMonday.ceil(week) : (0, _index.timeMonday)(week);\n week = _index.timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n } // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n\n\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n } // Otherwise, all fields are in local time.\n\n\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || (j = parse(d, string, j)) < 0) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function (specifier) {\n var f = newFormat(specifier += \"\", formats);\n\n f.toString = function () {\n return specifier;\n };\n\n return f;\n },\n parse: function (specifier) {\n var p = newParse(specifier += \"\", false);\n\n p.toString = function () {\n return specifier;\n };\n\n return p;\n },\n utcFormat: function (specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n\n f.toString = function () {\n return specifier;\n };\n\n return f;\n },\n utcParse: function (specifier) {\n var p = newParse(specifier += \"\", true);\n\n p.toString = function () {\n return specifier;\n };\n\n return p;\n }\n };\n}\n\nvar pads = {\n \"-\": \"\",\n \"_\": \" \",\n \"0\": \"0\"\n},\n numberRe = /^\\s*\\d+/,\n // note: ignores next directive\npercentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + _index.timeDay.count((0, _index.timeYear)(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(_index.timeSunday.count((0, _index.timeYear)(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return day >= 4 || day === 0 ? (0, _index.timeThursday)(d) : _index.timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(_index.timeThursday.count((0, _index.timeYear)(d), d) + ((0, _index.timeYear)(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(_index.timeMonday.count((0, _index.timeYear)(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = day >= 4 || day === 0 ? (0, _index.timeThursday)(d) : _index.timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\")) + pad(z / 60 | 0, \"0\", 2) + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + _index.utcDay.count((0, _index.utcYear)(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(_index.utcSunday.count((0, _index.utcYear)(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return day >= 4 || day === 0 ? (0, _index.utcThursday)(d) : _index.utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(_index.utcThursday.count((0, _index.utcYear)(d), d) + ((0, _index.utcYear)(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(_index.utcMonday.count((0, _index.utcYear)(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = day >= 4 || day === 0 ? (0, _index.utcThursday)(d) : _index.utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isoSpecifier = exports.default = void 0;\n\nvar _defaultLocale = require(\"./defaultLocale.js\");\n\nvar isoSpecifier = \"%Y-%m-%dT%H:%M:%S.%LZ\";\nexports.isoSpecifier = isoSpecifier;\n\nfunction formatIsoNative(date) {\n return date.toISOString();\n}\n\nvar formatIso = Date.prototype.toISOString ? formatIsoNative : (0, _defaultLocale.utcFormat)(isoSpecifier);\nvar _default = formatIso;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.copy = copy;\nexports.default = sequential;\nexports.sequentialLog = sequentialLog;\nexports.sequentialPow = sequentialPow;\nexports.sequentialSqrt = sequentialSqrt;\nexports.sequentialSymlog = sequentialSymlog;\n\nvar _index = require(\"../../../lib-vendor/d3-interpolate/src/index.js\");\n\nvar _continuous = require(\"./continuous.js\");\n\nvar _init = require(\"./init.js\");\n\nvar _linear = require(\"./linear.js\");\n\nvar _log = require(\"./log.js\");\n\nvar _symlog = require(\"./symlog.js\");\n\nvar _pow = require(\"./pow.js\");\n\nfunction transformer() {\n var x0 = 0,\n x1 = 1,\n t0,\n t1,\n k10,\n transform,\n interpolator = _continuous.identity,\n clamp = false,\n unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function (_) {\n return arguments.length ? ([x0, x1] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1];\n };\n\n scale.clamp = function (_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function (_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function (_) {\n var r0, r1;\n return arguments.length ? ([r0, r1] = _, interpolator = interpolate(r0, r1), scale) : [interpolator(0), interpolator(1)];\n };\n }\n\n scale.range = range(_index.interpolate);\n scale.rangeRound = range(_index.interpolateRound);\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function (t) {\n transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);\n return scale;\n };\n}\n\nfunction copy(source, target) {\n return target.domain(source.domain()).interpolator(source.interpolator()).clamp(source.clamp()).unknown(source.unknown());\n}\n\nfunction sequential() {\n var scale = (0, _linear.linearish)(transformer()(_continuous.identity));\n\n scale.copy = function () {\n return copy(scale, sequential());\n };\n\n return _init.initInterpolator.apply(scale, arguments);\n}\n\nfunction sequentialLog() {\n var scale = (0, _log.loggish)(transformer()).domain([1, 10]);\n\n scale.copy = function () {\n return copy(scale, sequentialLog()).base(scale.base());\n };\n\n return _init.initInterpolator.apply(scale, arguments);\n}\n\nfunction sequentialSymlog() {\n var scale = (0, _symlog.symlogish)(transformer());\n\n scale.copy = function () {\n return copy(scale, sequentialSymlog()).constant(scale.constant());\n };\n\n return _init.initInterpolator.apply(scale, arguments);\n}\n\nfunction sequentialPow() {\n var scale = (0, _pow.powish)(transformer());\n\n scale.copy = function () {\n return copy(scale, sequentialPow()).exponent(scale.exponent());\n };\n\n return _init.initInterpolator.apply(scale, arguments);\n}\n\nfunction sequentialSqrt() {\n return sequentialPow.apply(null, arguments).exponent(0.5);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _index = require(\"../../../lib-vendor/d3-path/src/index.js\");\n\nvar _array = _interopRequireDefault(require(\"./array.js\"));\n\nvar _constant = _interopRequireDefault(require(\"./constant.js\"));\n\nvar _linear = _interopRequireDefault(require(\"./curve/linear.js\"));\n\nvar _line = _interopRequireDefault(require(\"./line.js\"));\n\nvar _point = require(\"./point.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(x0, y0, y1) {\n var x1 = null,\n defined = (0, _constant.default)(true),\n context = null,\n curve = _linear.default,\n output = null;\n x0 = typeof x0 === \"function\" ? x0 : x0 === undefined ? _point.x : (0, _constant.default)(+x0);\n y0 = typeof y0 === \"function\" ? y0 : y0 === undefined ? (0, _constant.default)(0) : (0, _constant.default)(+y0);\n y1 = typeof y1 === \"function\" ? y1 : y1 === undefined ? _point.y : (0, _constant.default)(+y1);\n\n function area(data) {\n var i,\n j,\n k,\n n = (data = (0, _array.default)(data)).length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n if (context == null) output = curve(buffer = (0, _index.path)());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n\n output.lineEnd();\n output.areaEnd();\n }\n }\n\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return (0, _line.default)().defined(defined).curve(curve).context(context);\n }\n\n area.x = function (_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function (_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), area) : x0;\n };\n\n area.x1 = function (_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : (0, _constant.default)(+_), area) : x1;\n };\n\n area.y = function (_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function (_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), area) : y0;\n };\n\n area.y1 = function (_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : (0, _constant.default)(+_), area) : y1;\n };\n\n area.lineX0 = area.lineY0 = function () {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function () {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function () {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function (_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : (0, _constant.default)(!!_), area) : defined;\n };\n\n area.curve = function (_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function (_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.curveRadialLinear = void 0;\nexports.default = curveRadial;\n\nvar _linear = _interopRequireDefault(require(\"./linear.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar curveRadialLinear = curveRadial(_linear.default);\nexports.curveRadialLinear = curveRadialLinear;\n\nfunction Radial(curve) {\n this._curve = curve;\n}\n\nRadial.prototype = {\n areaStart: function () {\n this._curve.areaStart();\n },\n areaEnd: function () {\n this._curve.areaEnd();\n },\n lineStart: function () {\n this._curve.lineStart();\n },\n lineEnd: function () {\n this._curve.lineEnd();\n },\n point: function (a, r) {\n this._curve.point(r * Math.sin(a), r * -Math.cos(a));\n }\n};\n\nfunction curveRadial(curve) {\n function radial(context) {\n return new Radial(curve(context));\n }\n\n radial._curve = curve;\n return radial;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.lineRadial = lineRadial;\n\nvar _radial = _interopRequireWildcard(require(\"./curve/radial.js\"));\n\nvar _line = _interopRequireDefault(require(\"./line.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction lineRadial(l) {\n var c = l.curve;\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n\n l.curve = function (_) {\n return arguments.length ? c((0, _radial.default)(_)) : c()._curve;\n };\n\n return l;\n}\n\nfunction _default() {\n return lineRadial((0, _line.default)().curve(_radial.curveRadialLinear));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bumpRadial = bumpRadial;\nexports.bumpX = bumpX;\nexports.bumpY = bumpY;\n\nvar _pointRadial = _interopRequireDefault(require(\"../pointRadial.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nclass Bump {\n constructor(context, x) {\n this._context = context;\n this._x = x;\n }\n\n areaStart() {\n this._line = 0;\n }\n\n areaEnd() {\n this._line = NaN;\n }\n\n lineStart() {\n this._point = 0;\n }\n\n lineEnd() {\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n }\n\n point(x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n {\n this._point = 1;\n if (this._line) this._context.lineTo(x, y);else this._context.moveTo(x, y);\n break;\n }\n\n case 1:\n this._point = 2;\n // falls through\n\n default:\n {\n if (this._x) this._context.bezierCurveTo(this._x0 = (this._x0 + x) / 2, this._y0, this._x0, y, x, y);else this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y) / 2, x, this._y0, x, y);\n break;\n }\n }\n\n this._x0 = x, this._y0 = y;\n }\n\n}\n\nclass BumpRadial {\n constructor(context) {\n this._context = context;\n }\n\n lineStart() {\n this._point = 0;\n }\n\n lineEnd() {}\n\n point(x, y) {\n x = +x, y = +y;\n\n if (this._point++ === 0) {\n this._x0 = x, this._y0 = y;\n } else {\n const p0 = (0, _pointRadial.default)(this._x0, this._y0);\n const p1 = (0, _pointRadial.default)(this._x0, this._y0 = (this._y0 + y) / 2);\n const p2 = (0, _pointRadial.default)(x, this._y0);\n const p3 = (0, _pointRadial.default)(x, y);\n\n this._context.moveTo(...p0);\n\n this._context.bezierCurveTo(...p1, ...p2, ...p3);\n }\n }\n\n}\n\nfunction bumpX(context) {\n return new Bump(context, true);\n}\n\nfunction bumpY(context) {\n return new Bump(context, false);\n}\n\nfunction bumpRadial(context) {\n return new BumpRadial(context);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _math = require(\"../math.js\");\n\nconst sqrt3 = (0, _math.sqrt)(3);\nvar _default = {\n draw(context, size) {\n const r = (0, _math.sqrt)(size + (0, _math.min)(size / 28, 0.75)) * 0.59436;\n const t = r / 2;\n const u = t * sqrt3;\n context.moveTo(0, r);\n context.lineTo(0, -r);\n context.moveTo(-u, -t);\n context.lineTo(u, t);\n context.moveTo(-u, t);\n context.lineTo(u, -t);\n }\n\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _math = require(\"../math.js\");\n\nvar _default = {\n draw(context, size) {\n const r = (0, _math.sqrt)(size / _math.pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, _math.tau);\n }\n\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _math = require(\"../math.js\");\n\nvar _default = {\n draw(context, size) {\n const r = (0, _math.sqrt)(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _math = require(\"../math.js\");\n\nconst tan30 = (0, _math.sqrt)(1 / 3);\nconst tan30_2 = tan30 * 2;\nvar _default = {\n draw(context, size) {\n const y = (0, _math.sqrt)(size / tan30_2);\n const x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _math = require(\"../math.js\");\n\nvar _default = {\n draw(context, size) {\n const r = (0, _math.sqrt)(size) * 0.62625;\n context.moveTo(0, -r);\n context.lineTo(r, 0);\n context.lineTo(0, r);\n context.lineTo(-r, 0);\n context.closePath();\n }\n\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _math = require(\"../math.js\");\n\nvar _default = {\n draw(context, size) {\n const r = (0, _math.sqrt)(size - (0, _math.min)(size / 7, 2)) * 0.87559;\n context.moveTo(-r, 0);\n context.lineTo(r, 0);\n context.moveTo(0, r);\n context.lineTo(0, -r);\n }\n\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _math = require(\"../math.js\");\n\nvar _default = {\n draw(context, size) {\n const w = (0, _math.sqrt)(size);\n const x = -w / 2;\n context.rect(x, x, w, w);\n }\n\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _math = require(\"../math.js\");\n\nvar _default = {\n draw(context, size) {\n const r = (0, _math.sqrt)(size) * 0.4431;\n context.moveTo(r, r);\n context.lineTo(r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, r);\n context.closePath();\n }\n\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _math = require(\"../math.js\");\n\nconst ka = 0.89081309152928522810;\nconst kr = (0, _math.sin)(_math.pi / 10) / (0, _math.sin)(7 * _math.pi / 10);\nconst kx = (0, _math.sin)(_math.tau / 10) * kr;\nconst ky = -(0, _math.cos)(_math.tau / 10) * kr;\nvar _default = {\n draw(context, size) {\n const r = (0, _math.sqrt)(size * ka);\n const x = kx * r;\n const y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n\n for (let i = 1; i < 5; ++i) {\n const a = _math.tau * i / 5;\n const c = (0, _math.cos)(a);\n const s = (0, _math.sin)(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n\n context.closePath();\n }\n\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _math = require(\"../math.js\");\n\nconst sqrt3 = (0, _math.sqrt)(3);\nvar _default = {\n draw(context, size) {\n const y = -(0, _math.sqrt)(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _math = require(\"../math.js\");\n\nconst sqrt3 = (0, _math.sqrt)(3);\nvar _default = {\n draw(context, size) {\n const s = (0, _math.sqrt)(size) * 0.6824;\n const t = s / 2;\n const u = s * sqrt3 / 2; // cos(Math.PI / 6)\n\n context.moveTo(0, -s);\n context.lineTo(u, t);\n context.lineTo(-u, t);\n context.closePath();\n }\n\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _math = require(\"../math.js\");\n\nconst c = -0.5;\nconst s = (0, _math.sqrt)(3) / 2;\nconst k = 1 / (0, _math.sqrt)(12);\nconst a = (k / 2 + 1) * 3;\nvar _default = {\n draw(context, size) {\n const r = (0, _math.sqrt)(size / a);\n const x0 = r / 2,\n y0 = r * k;\n const x1 = x0,\n y1 = r * k + r;\n const x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _math = require(\"../math.js\");\n\nvar _default = {\n draw(context, size) {\n const r = (0, _math.sqrt)(size - (0, _math.min)(size / 6, 1.7)) * 0.6189;\n context.moveTo(-r, -r);\n context.lineTo(r, r);\n context.moveTo(-r, r);\n context.lineTo(r, -r);\n }\n\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CardinalClosed = CardinalClosed;\nexports.default = void 0;\n\nvar _noop = _interopRequireDefault(require(\"../noop.js\"));\n\nvar _cardinal = require(\"./cardinal.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: _noop.default,\n areaEnd: _noop.default,\n lineStart: function () {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function () {\n switch (this._point) {\n case 1:\n {\n this._context.moveTo(this._x3, this._y3);\n\n this._context.closePath();\n\n break;\n }\n\n case 2:\n {\n this._context.lineTo(this._x3, this._y3);\n\n this._context.closePath();\n\n break;\n }\n\n case 3:\n {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function (x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._x3 = x, this._y3 = y;\n break;\n\n case 1:\n this._point = 2;\n\n this._context.moveTo(this._x4 = x, this._y4 = y);\n\n break;\n\n case 2:\n this._point = 3;\n this._x5 = x, this._y5 = y;\n break;\n\n default:\n (0, _cardinal.point)(this, x, y);\n break;\n }\n\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nvar _default = function custom(tension) {\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function (tension) {\n return custom(+tension);\n };\n\n return cardinal;\n}(0);\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CardinalOpen = CardinalOpen;\nexports.default = void 0;\n\nvar _cardinal = require(\"./cardinal.js\");\n\nfunction CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function () {\n this._line = 0;\n },\n areaEnd: function () {\n this._line = NaN;\n },\n lineStart: function () {\n this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function () {\n if (this._line || this._line !== 0 && this._point === 3) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function (x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n break;\n\n case 1:\n this._point = 2;\n break;\n\n case 2:\n this._point = 3;\n this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);\n break;\n\n case 3:\n this._point = 4;\n // falls through\n\n default:\n (0, _cardinal.point)(this, x, y);\n break;\n }\n\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nvar _default = function custom(tension) {\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function (tension) {\n return custom(+tension);\n };\n\n return cardinal;\n}(0);\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _none = _interopRequireDefault(require(\"./none.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(series) {\n var peaks = series.map(peak);\n return (0, _none.default)(series).sort(function (a, b) {\n return peaks[a] - peaks[b];\n });\n}\n\nfunction peak(series) {\n var i = -1,\n j = 0,\n n = series.length,\n vi,\n vj = -Infinity;\n\n while (++i < n) if ((vi = +series[i][1]) > vj) vj = vi, j = i;\n\n return j;\n}","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","var _excluded = [\"layout\", \"type\", \"stroke\", \"connectNulls\", \"isRange\", \"ref\"],\n _excluded2 = [\"key\"];\nvar _Area;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Area\n */\nimport React, { PureComponent } from 'react';\nimport clsx from 'clsx';\nimport Animate from 'react-smooth';\nimport isFunction from 'lodash/isFunction';\nimport max from 'lodash/max';\nimport isNil from 'lodash/isNil';\nimport isNan from 'lodash/isNaN';\nimport isEqual from 'lodash/isEqual';\nimport { Curve } from '../shape/Curve';\nimport { Dot } from '../shape/Dot';\nimport { Layer } from '../container/Layer';\nimport { LabelList } from '../component/LabelList';\nimport { Global } from '../util/Global';\nimport { isNumber, uniqueId, interpolateNumber } from '../util/DataUtils';\nimport { getCateCoordinateOfLine, getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps, hasClipDot } from '../util/ReactUtils';\nexport var Area = /*#__PURE__*/function (_PureComponent) {\n function Area() {\n var _this;\n _classCallCheck(this, Area);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Area, [].concat(args));\n _defineProperty(_this, \"state\", {\n isAnimationFinished: true\n });\n _defineProperty(_this, \"id\", uniqueId('recharts-area-'));\n _defineProperty(_this, \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n });\n _defineProperty(_this, \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n });\n return _this;\n }\n _inherits(Area, _PureComponent);\n return _createClass(Area, [{\n key: \"renderDots\",\n value: function renderDots(needClip, clipDot, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n if (isAnimationActive && !isAnimationFinished) {\n return null;\n }\n var _this$props = this.props,\n dot = _this$props.dot,\n points = _this$props.points,\n dataKey = _this$props.dataKey;\n var areaProps = filterProps(this.props, false);\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 }, areaProps), customDotProps), {}, {\n index: i,\n cx: entry.x,\n cy: entry.y,\n dataKey: dataKey,\n value: entry.value,\n payload: entry.payload,\n points: points\n });\n return Area.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipDot ? '' : 'dots-').concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-area-dots\"\n }, dotsProps), dots);\n }\n }, {\n key: \"renderHorizontalRect\",\n value: function renderHorizontalRect(alpha) {\n var _this$props2 = this.props,\n baseLine = _this$props2.baseLine,\n points = _this$props2.points,\n strokeWidth = _this$props2.strokeWidth;\n var startX = points[0].x;\n var endX = points[points.length - 1].x;\n var width = alpha * Math.abs(startX - endX);\n var maxY = max(points.map(function (entry) {\n return entry.y || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxY = Math.max(baseLine, maxY);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxY = Math.max(max(baseLine.map(function (entry) {\n return entry.y || 0;\n })), maxY);\n }\n if (isNumber(maxY)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: startX < endX ? startX : startX - width,\n y: 0,\n width: width,\n height: Math.floor(maxY + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1))\n });\n }\n return null;\n }\n }, {\n key: \"renderVerticalRect\",\n value: function renderVerticalRect(alpha) {\n var _this$props3 = this.props,\n baseLine = _this$props3.baseLine,\n points = _this$props3.points,\n strokeWidth = _this$props3.strokeWidth;\n var startY = points[0].y;\n var endY = points[points.length - 1].y;\n var height = alpha * Math.abs(startY - endY);\n var maxX = max(points.map(function (entry) {\n return entry.x || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxX = Math.max(baseLine, maxX);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxX = Math.max(max(baseLine.map(function (entry) {\n return entry.x || 0;\n })), maxX);\n }\n if (isNumber(maxX)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: 0,\n y: startY < endY ? startY : startY - height,\n width: maxX + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1),\n height: Math.floor(height)\n });\n }\n return null;\n }\n }, {\n key: \"renderClipRect\",\n value: function renderClipRect(alpha) {\n var layout = this.props.layout;\n if (layout === 'vertical') {\n return this.renderVerticalRect(alpha);\n }\n return this.renderHorizontalRect(alpha);\n }\n }, {\n key: \"renderAreaStatically\",\n value: function renderAreaStatically(points, baseLine, needClip, clipPathId) {\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n type = _this$props4.type,\n stroke = _this$props4.stroke,\n connectNulls = _this$props4.connectNulls,\n isRange = _this$props4.isRange,\n ref = _this$props4.ref,\n others = _objectWithoutProperties(_this$props4, _excluded);\n return /*#__PURE__*/React.createElement(Layer, {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(others, true), {\n points: points,\n connectNulls: connectNulls,\n type: type,\n baseLine: baseLine,\n layout: layout,\n stroke: \"none\",\n className: \"recharts-area-area\"\n })), stroke !== 'none' && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: points\n })), stroke !== 'none' && isRange && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: baseLine\n })));\n }\n }, {\n key: \"renderAreaWithAnimation\",\n value: function renderAreaWithAnimation(needClip, clipPathId) {\n var _this2 = this;\n var _this$props5 = this.props,\n points = _this$props5.points,\n baseLine = _this$props5.baseLine,\n isAnimationActive = _this$props5.isAnimationActive,\n animationBegin = _this$props5.animationBegin,\n animationDuration = _this$props5.animationDuration,\n animationEasing = _this$props5.animationEasing,\n animationId = _this$props5.animationId;\n var _this$state = this.state,\n prevPoints = _this$state.prevPoints,\n prevBaseLine = _this$state.prevBaseLine;\n // const clipPathId = isNil(id) ? this.id : id;\n\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: \"area-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n // update animtaion\n var stepPoints = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\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 }\n return entry;\n });\n var stepBaseLine;\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n var interpolator = interpolateNumber(prevBaseLine, baseLine);\n stepBaseLine = interpolator(t);\n } else if (isNil(baseLine) || isNan(baseLine)) {\n var _interpolator = interpolateNumber(prevBaseLine, 0);\n stepBaseLine = _interpolator(t);\n } else {\n stepBaseLine = baseLine.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevBaseLine[prevPointIndex]) {\n var prev = prevBaseLine[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 }\n return entry;\n });\n }\n return _this2.renderAreaStatically(stepPoints, stepBaseLine, needClip, clipPathId);\n }\n return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"animationClipPath-\".concat(clipPathId)\n }, _this2.renderClipRect(t))), /*#__PURE__*/React.createElement(Layer, {\n clipPath: \"url(#animationClipPath-\".concat(clipPathId, \")\")\n }, _this2.renderAreaStatically(points, baseLine, needClip, clipPathId)));\n });\n }\n }, {\n key: \"renderArea\",\n value: function renderArea(needClip, clipPathId) {\n var _this$props6 = this.props,\n points = _this$props6.points,\n baseLine = _this$props6.baseLine,\n isAnimationActive = _this$props6.isAnimationActive;\n var _this$state2 = this.state,\n prevPoints = _this$state2.prevPoints,\n prevBaseLine = _this$state2.prevBaseLine,\n totalLength = _this$state2.totalLength;\n if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !isEqual(prevPoints, points) || !isEqual(prevBaseLine, baseLine))) {\n return this.renderAreaWithAnimation(needClip, clipPathId);\n }\n return this.renderAreaStatically(points, baseLine, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _filterProps;\n var _this$props7 = this.props,\n hide = _this$props7.hide,\n dot = _this$props7.dot,\n points = _this$props7.points,\n className = _this$props7.className,\n top = _this$props7.top,\n left = _this$props7.left,\n xAxis = _this$props7.xAxis,\n yAxis = _this$props7.yAxis,\n width = _this$props7.width,\n height = _this$props7.height,\n isAnimationActive = _this$props7.isAnimationActive,\n id = _this$props7.id;\n if (hide || !points || !points.length) {\n return null;\n }\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = clsx('recharts-area', className);\n var needClipX = xAxis && xAxis.allowDataOverflow;\n var needClipY = yAxis && yAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n var clipPathId = isNil(id) ? this.id : id;\n var _ref2 = (_filterProps = filterProps(dot, false)) !== null && _filterProps !== void 0 ? _filterProps : {\n r: 3,\n strokeWidth: 2\n },\n _ref2$r = _ref2.r,\n r = _ref2$r === void 0 ? 3 : _ref2$r,\n _ref2$strokeWidth = _ref2.strokeWidth,\n strokeWidth = _ref2$strokeWidth === void 0 ? 2 : _ref2$strokeWidth;\n var _ref3 = hasClipDot(dot) ? dot : {},\n _ref3$clipDot = _ref3.clipDot,\n clipDot = _ref3$clipDot === void 0 ? true : _ref3$clipDot;\n var dotSize = r * 2 + strokeWidth;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClipX || needClipY ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: needClipX ? left : left - width / 2,\n y: needClipY ? top : top - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n })), !clipDot && /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))) : null, !hasSinglePoint ? this.renderArea(needClip, clipPathId) : null, (dot || hasSinglePoint) && this.renderDots(needClip, clipDot, 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 curBaseLine: nextProps.baseLine,\n prevPoints: prevState.curPoints,\n prevBaseLine: prevState.curBaseLine\n };\n }\n if (nextProps.points !== prevState.curPoints || nextProps.baseLine !== prevState.curBaseLine) {\n return {\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine\n };\n }\n return null;\n }\n }]);\n}(PureComponent);\n_Area = Area;\n_defineProperty(Area, \"displayName\", 'Area');\n_defineProperty(Area, \"defaultProps\", {\n stroke: '#3182bd',\n fill: '#3182bd',\n fillOpacity: 0.6,\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'line',\n connectNulls: false,\n // points of area\n points: [],\n dot: false,\n activeDot: true,\n hide: false,\n isAnimationActive: !Global.isSsr,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n});\n_defineProperty(Area, \"getBaseValue\", function (props, item, xAxis, yAxis) {\n var layout = props.layout,\n chartBaseValue = props.baseValue;\n var itemBaseValue = item.props.baseValue;\n\n // The baseValue can be defined both on the AreaChart as well as on the Area.\n // The value for the item takes precedence.\n var baseValue = itemBaseValue !== null && itemBaseValue !== void 0 ? itemBaseValue : chartBaseValue;\n if (isNumber(baseValue) && typeof baseValue === 'number') {\n return baseValue;\n }\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === 'number') {\n var domainMax = Math.max(domain[0], domain[1]);\n var domainMin = Math.min(domain[0], domain[1]);\n if (baseValue === 'dataMin') {\n return domainMin;\n }\n if (baseValue === 'dataMax') {\n return domainMax;\n }\n return domainMax < 0 ? domainMax : Math.max(Math.min(domain[0], domain[1]), 0);\n }\n if (baseValue === 'dataMin') {\n return domain[0];\n }\n if (baseValue === 'dataMax') {\n return domain[1];\n }\n return domain[0];\n});\n_defineProperty(Area, \"getComposedData\", function (_ref4) {\n var props = _ref4.props,\n item = _ref4.item,\n xAxis = _ref4.xAxis,\n yAxis = _ref4.yAxis,\n xAxisTicks = _ref4.xAxisTicks,\n yAxisTicks = _ref4.yAxisTicks,\n bandSize = _ref4.bandSize,\n dataKey = _ref4.dataKey,\n stackedData = _ref4.stackedData,\n dataStartIndex = _ref4.dataStartIndex,\n displayedData = _ref4.displayedData,\n offset = _ref4.offset;\n var layout = props.layout;\n var hasStack = stackedData && stackedData.length;\n var baseValue = _Area.getBaseValue(props, item, xAxis, yAxis);\n var isHorizontalLayout = layout === 'horizontal';\n var isRange = false;\n var points = displayedData.map(function (entry, index) {\n var value;\n if (hasStack) {\n value = stackedData[dataStartIndex + index];\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(value)) {\n value = [baseValue, value];\n } else {\n isRange = true;\n }\n }\n var isBreakPoint = value[1] == null || hasStack && getValueByDataKey(entry, dataKey) == null;\n if (isHorizontalLayout) {\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n y: isBreakPoint ? null : yAxis.scale(value[1]),\n value: value,\n payload: entry\n };\n }\n return {\n x: isBreakPoint ? null : xAxis.scale(value[1]),\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 var baseLine;\n if (hasStack || isRange) {\n baseLine = points.map(function (entry) {\n var x = Array.isArray(entry.value) ? entry.value[0] : null;\n if (isHorizontalLayout) {\n return {\n x: entry.x,\n y: x != null && entry.y != null ? yAxis.scale(x) : null\n };\n }\n return {\n x: x != null ? xAxis.scale(x) : null,\n y: entry.y\n };\n });\n } else {\n baseLine = isHorizontalLayout ? yAxis.scale(baseValue) : xAxis.scale(baseValue);\n }\n return _objectSpread({\n points: points,\n baseLine: baseLine,\n layout: layout,\n isRange: isRange\n }, offset);\n});\n_defineProperty(Area, \"renderDotItem\", function (option, props) {\n var dotItem;\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 = clsx('recharts-area-dot', typeof option !== 'boolean' ? option.className : '');\n var key = props.key,\n rest = _objectWithoutProperties(props, _excluded2);\n dotItem = /*#__PURE__*/React.createElement(Dot, _extends({}, rest, {\n key: key,\n className: className\n }));\n }\n return dotItem;\n});","var _Pie;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Render sectors of a pie\n */\nimport React, { PureComponent } from 'react';\nimport Animate from 'react-smooth';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport isNil from 'lodash/isNil';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { Layer } from '../container/Layer';\nimport { Curve } from '../shape/Curve';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { LabelList } from '../component/LabelList';\nimport { Cell } from '../component/Cell';\nimport { findAllByType, filterProps } from '../util/ReactUtils';\nimport { Global } from '../util/Global';\nimport { polarToCartesian, getMaxRadius } from '../util/PolarUtils';\nimport { isNumber, getPercentValue, mathSign, interpolateNumber, uniqueId } from '../util/DataUtils';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport { warn } from '../util/LogUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { Shape } from '../util/ActiveShapeUtils';\nexport var Pie = /*#__PURE__*/function (_PureComponent) {\n function Pie(props) {\n var _this;\n _classCallCheck(this, Pie);\n _this = _callSuper(this, Pie, [props]);\n _defineProperty(_this, \"pieRef\", null);\n _defineProperty(_this, \"sectorRefs\", []);\n _defineProperty(_this, \"id\", uniqueId('recharts-pie-'));\n _defineProperty(_this, \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n });\n _defineProperty(_this, \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n });\n _this.state = {\n isAnimationFinished: !props.isAnimationActive,\n prevIsAnimationActive: props.isAnimationActive,\n prevAnimationId: props.animationId,\n sectorToFocus: 0\n };\n return _this;\n }\n _inherits(Pie, _PureComponent);\n return _createClass(Pie, [{\n key: \"isActiveIndex\",\n value: function isActiveIndex(i) {\n var activeIndex = this.props.activeIndex;\n if (Array.isArray(activeIndex)) {\n return activeIndex.indexOf(i) !== -1;\n }\n return i === activeIndex;\n }\n }, {\n key: \"hasActiveIndex\",\n value: function hasActiveIndex() {\n var activeIndex = this.props.activeIndex;\n return Array.isArray(activeIndex) ? activeIndex.length !== 0 : activeIndex || activeIndex === 0;\n }\n }, {\n key: \"renderLabels\",\n value: function renderLabels(sectors) {\n var isAnimationActive = this.props.isAnimationActive;\n if (isAnimationActive && !this.state.isAnimationFinished) {\n return null;\n }\n var _this$props = this.props,\n label = _this$props.label,\n labelLine = _this$props.labelLine,\n dataKey = _this$props.dataKey,\n valueKey = _this$props.valueKey;\n var pieProps = filterProps(this.props, false);\n var customLabelProps = filterProps(label, false);\n var customLabelLineProps = filterProps(labelLine, false);\n var offsetRadius = label && label.offsetRadius || 20;\n var labels = sectors.map(function (entry, i) {\n var midAngle = (entry.startAngle + entry.endAngle) / 2;\n var endPoint = polarToCartesian(entry.cx, entry.cy, entry.outerRadius + offsetRadius, midAngle);\n var labelProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, pieProps), entry), {}, {\n stroke: 'none'\n }, customLabelProps), {}, {\n index: i,\n textAnchor: Pie.getTextAnchor(endPoint.x, entry.cx)\n }, endPoint);\n var lineProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, pieProps), entry), {}, {\n fill: 'none',\n stroke: entry.fill\n }, customLabelLineProps), {}, {\n index: i,\n points: [polarToCartesian(entry.cx, entry.cy, entry.outerRadius, midAngle), endPoint]\n });\n var realDataKey = dataKey;\n // TODO: compatible to lower versions\n if (isNil(dataKey) && isNil(valueKey)) {\n realDataKey = 'value';\n } else if (isNil(dataKey)) {\n realDataKey = valueKey;\n }\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(Layer, {\n key: \"label-\".concat(entry.startAngle, \"-\").concat(entry.endAngle, \"-\").concat(entry.midAngle, \"-\").concat(i)\n }, labelLine && Pie.renderLabelLineItem(labelLine, lineProps, 'line'), Pie.renderLabelItem(label, labelProps, getValueByDataKey(entry, realDataKey)))\n );\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-pie-labels\"\n }, labels);\n }\n }, {\n key: \"renderSectorsStatically\",\n value: function renderSectorsStatically(sectors) {\n var _this2 = this;\n var _this$props2 = this.props,\n activeShape = _this$props2.activeShape,\n blendStroke = _this$props2.blendStroke,\n inactiveShapeProp = _this$props2.inactiveShape;\n return sectors.map(function (entry, i) {\n if ((entry === null || entry === void 0 ? void 0 : entry.startAngle) === 0 && (entry === null || entry === void 0 ? void 0 : entry.endAngle) === 0 && sectors.length !== 1) return null;\n var isActive = _this2.isActiveIndex(i);\n var inactiveShape = inactiveShapeProp && _this2.hasActiveIndex() ? inactiveShapeProp : null;\n var sectorOptions = isActive ? activeShape : inactiveShape;\n var sectorProps = _objectSpread(_objectSpread({}, entry), {}, {\n stroke: blendStroke ? entry.fill : entry.stroke,\n tabIndex: -1\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n ref: function ref(_ref) {\n if (_ref && !_this2.sectorRefs.includes(_ref)) {\n _this2.sectorRefs.push(_ref);\n }\n },\n tabIndex: -1,\n className: \"recharts-pie-sector\"\n }, adaptEventsOfChild(_this2.props, entry, i), {\n // eslint-disable-next-line react/no-array-index-key\n key: \"sector-\".concat(entry === null || entry === void 0 ? void 0 : entry.startAngle, \"-\").concat(entry === null || entry === void 0 ? void 0 : entry.endAngle, \"-\").concat(entry.midAngle, \"-\").concat(i)\n }), /*#__PURE__*/React.createElement(Shape, _extends({\n option: sectorOptions,\n isActive: isActive,\n shapeType: \"sector\"\n }, sectorProps)));\n });\n }\n }, {\n key: \"renderSectorsWithAnimation\",\n value: function renderSectorsWithAnimation() {\n var _this3 = this;\n var _this$props3 = this.props,\n sectors = _this$props3.sectors,\n isAnimationActive = _this$props3.isAnimationActive,\n animationBegin = _this$props3.animationBegin,\n animationDuration = _this$props3.animationDuration,\n animationEasing = _this$props3.animationEasing,\n animationId = _this$props3.animationId;\n var _this$state = this.state,\n prevSectors = _this$state.prevSectors,\n prevIsAnimationActive = _this$state.prevIsAnimationActive;\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: \"pie-\".concat(animationId, \"-\").concat(prevIsAnimationActive),\n onAnimationStart: this.handleAnimationStart,\n onAnimationEnd: this.handleAnimationEnd\n }, function (_ref2) {\n var t = _ref2.t;\n var stepData = [];\n var first = sectors && sectors[0];\n var curAngle = first.startAngle;\n sectors.forEach(function (entry, index) {\n var prev = prevSectors && prevSectors[index];\n var paddingAngle = index > 0 ? get(entry, 'paddingAngle', 0) : 0;\n if (prev) {\n var angleIp = interpolateNumber(prev.endAngle - prev.startAngle, entry.endAngle - entry.startAngle);\n var latest = _objectSpread(_objectSpread({}, entry), {}, {\n startAngle: curAngle + paddingAngle,\n endAngle: curAngle + angleIp(t) + paddingAngle\n });\n stepData.push(latest);\n curAngle = latest.endAngle;\n } else {\n var endAngle = entry.endAngle,\n startAngle = entry.startAngle;\n var interpolatorAngle = interpolateNumber(0, endAngle - startAngle);\n var deltaAngle = interpolatorAngle(t);\n var _latest = _objectSpread(_objectSpread({}, entry), {}, {\n startAngle: curAngle + paddingAngle,\n endAngle: curAngle + deltaAngle + paddingAngle\n });\n stepData.push(_latest);\n curAngle = _latest.endAngle;\n }\n });\n return /*#__PURE__*/React.createElement(Layer, null, _this3.renderSectorsStatically(stepData));\n });\n }\n }, {\n key: \"attachKeyboardHandlers\",\n value: function attachKeyboardHandlers(pieRef) {\n var _this4 = this;\n // eslint-disable-next-line no-param-reassign\n pieRef.onkeydown = function (e) {\n if (!e.altKey) {\n switch (e.key) {\n case 'ArrowLeft':\n {\n var next = ++_this4.state.sectorToFocus % _this4.sectorRefs.length;\n _this4.sectorRefs[next].focus();\n _this4.setState({\n sectorToFocus: next\n });\n break;\n }\n case 'ArrowRight':\n {\n var _next = --_this4.state.sectorToFocus < 0 ? _this4.sectorRefs.length - 1 : _this4.state.sectorToFocus % _this4.sectorRefs.length;\n _this4.sectorRefs[_next].focus();\n _this4.setState({\n sectorToFocus: _next\n });\n break;\n }\n case 'Escape':\n {\n _this4.sectorRefs[_this4.state.sectorToFocus].blur();\n _this4.setState({\n sectorToFocus: 0\n });\n break;\n }\n default:\n {\n // There is nothing to do here\n }\n }\n }\n };\n }\n }, {\n key: \"renderSectors\",\n value: function renderSectors() {\n var _this$props4 = this.props,\n sectors = _this$props4.sectors,\n isAnimationActive = _this$props4.isAnimationActive;\n var prevSectors = this.state.prevSectors;\n if (isAnimationActive && sectors && sectors.length && (!prevSectors || !isEqual(prevSectors, sectors))) {\n return this.renderSectorsWithAnimation();\n }\n return this.renderSectorsStatically(sectors);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.pieRef) {\n this.attachKeyboardHandlers(this.pieRef);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this5 = this;\n var _this$props5 = this.props,\n hide = _this$props5.hide,\n sectors = _this$props5.sectors,\n className = _this$props5.className,\n label = _this$props5.label,\n cx = _this$props5.cx,\n cy = _this$props5.cy,\n innerRadius = _this$props5.innerRadius,\n outerRadius = _this$props5.outerRadius,\n isAnimationActive = _this$props5.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n if (hide || !sectors || !sectors.length || !isNumber(cx) || !isNumber(cy) || !isNumber(innerRadius) || !isNumber(outerRadius)) {\n return null;\n }\n var layerClass = clsx('recharts-pie', className);\n return /*#__PURE__*/React.createElement(Layer, {\n tabIndex: this.props.rootTabIndex,\n className: layerClass,\n ref: function ref(_ref3) {\n _this5.pieRef = _ref3;\n }\n }, this.renderSectors(), label && this.renderLabels(sectors), Label.renderCallByParent(this.props, null, false), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, sectors, false));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (prevState.prevIsAnimationActive !== nextProps.isAnimationActive) {\n return {\n prevIsAnimationActive: nextProps.isAnimationActive,\n prevAnimationId: nextProps.animationId,\n curSectors: nextProps.sectors,\n prevSectors: [],\n isAnimationFinished: true\n };\n }\n if (nextProps.isAnimationActive && nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curSectors: nextProps.sectors,\n prevSectors: prevState.curSectors,\n isAnimationFinished: true\n };\n }\n if (nextProps.sectors !== prevState.curSectors) {\n return {\n curSectors: nextProps.sectors,\n isAnimationFinished: true\n };\n }\n return null;\n }\n }, {\n key: \"getTextAnchor\",\n value: function getTextAnchor(x, cx) {\n if (x > cx) {\n return 'start';\n }\n if (x < cx) {\n return 'end';\n }\n return 'middle';\n }\n }, {\n key: \"renderLabelLineItem\",\n value: function renderLabelLineItem(option, props, key) {\n if ( /*#__PURE__*/React.isValidElement(option)) {\n return /*#__PURE__*/React.cloneElement(option, props);\n }\n if (isFunction(option)) {\n return option(props);\n }\n var className = clsx('recharts-pie-label-line', typeof option !== 'boolean' ? option.className : '');\n return /*#__PURE__*/React.createElement(Curve, _extends({}, props, {\n key: key,\n type: \"linear\",\n className: className\n }));\n }\n }, {\n key: \"renderLabelItem\",\n value: function renderLabelItem(option, props, value) {\n if ( /*#__PURE__*/React.isValidElement(option)) {\n return /*#__PURE__*/React.cloneElement(option, props);\n }\n var label = value;\n if (isFunction(option)) {\n label = option(props);\n if ( /*#__PURE__*/React.isValidElement(label)) {\n return label;\n }\n }\n var className = clsx('recharts-pie-label-text', typeof option !== 'boolean' && !isFunction(option) ? option.className : '');\n return /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n alignmentBaseline: \"middle\",\n className: className\n }), label);\n }\n }]);\n}(PureComponent);\n_Pie = Pie;\n_defineProperty(Pie, \"displayName\", 'Pie');\n_defineProperty(Pie, \"defaultProps\", {\n stroke: '#fff',\n fill: '#808080',\n legendType: 'rect',\n cx: '50%',\n cy: '50%',\n startAngle: 0,\n endAngle: 360,\n innerRadius: 0,\n outerRadius: '80%',\n paddingAngle: 0,\n labelLine: true,\n hide: false,\n minAngle: 0,\n isAnimationActive: !Global.isSsr,\n animationBegin: 400,\n animationDuration: 1500,\n animationEasing: 'ease',\n nameKey: 'name',\n blendStroke: false,\n rootTabIndex: 0\n});\n_defineProperty(Pie, \"parseDeltaAngle\", function (startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign * deltaAngle;\n});\n_defineProperty(Pie, \"getRealPieData\", function (itemProps) {\n var data = itemProps.data,\n children = itemProps.children;\n var presentationProps = filterProps(itemProps, false);\n var cells = findAllByType(children, Cell);\n if (data && data.length) {\n return data.map(function (entry, index) {\n return _objectSpread(_objectSpread(_objectSpread({\n payload: entry\n }, presentationProps), entry), cells && cells[index] && cells[index].props);\n });\n }\n if (cells && cells.length) {\n return cells.map(function (cell) {\n return _objectSpread(_objectSpread({}, presentationProps), cell.props);\n });\n }\n return [];\n});\n_defineProperty(Pie, \"parseCoordinateOfPie\", function (itemProps, offset) {\n var top = offset.top,\n left = offset.left,\n width = offset.width,\n height = offset.height;\n var maxPieRadius = getMaxRadius(width, height);\n var cx = left + getPercentValue(itemProps.cx, width, width / 2);\n var cy = top + getPercentValue(itemProps.cy, height, height / 2);\n var innerRadius = getPercentValue(itemProps.innerRadius, maxPieRadius, 0);\n var outerRadius = getPercentValue(itemProps.outerRadius, maxPieRadius, maxPieRadius * 0.8);\n var maxRadius = itemProps.maxRadius || Math.sqrt(width * width + height * height) / 2;\n return {\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n maxRadius: maxRadius\n };\n});\n_defineProperty(Pie, \"getComposedData\", function (_ref4) {\n var item = _ref4.item,\n offset = _ref4.offset;\n var itemProps = item.type.defaultProps !== undefined ? _objectSpread(_objectSpread({}, item.type.defaultProps), item.props) : item.props;\n var pieData = _Pie.getRealPieData(itemProps);\n if (!pieData || !pieData.length) {\n return null;\n }\n var cornerRadius = itemProps.cornerRadius,\n startAngle = itemProps.startAngle,\n endAngle = itemProps.endAngle,\n paddingAngle = itemProps.paddingAngle,\n dataKey = itemProps.dataKey,\n nameKey = itemProps.nameKey,\n valueKey = itemProps.valueKey,\n tooltipType = itemProps.tooltipType;\n var minAngle = Math.abs(itemProps.minAngle);\n var coordinate = _Pie.parseCoordinateOfPie(itemProps, offset);\n var deltaAngle = _Pie.parseDeltaAngle(startAngle, endAngle);\n var absDeltaAngle = Math.abs(deltaAngle);\n var realDataKey = dataKey;\n if (isNil(dataKey) && isNil(valueKey)) {\n warn(false, \"Use \\\"dataKey\\\" to specify the value of pie,\\n the props \\\"valueKey\\\" will be deprecated in 1.1.0\");\n realDataKey = 'value';\n } else if (isNil(dataKey)) {\n warn(false, \"Use \\\"dataKey\\\" to specify the value of pie,\\n the props \\\"valueKey\\\" will be deprecated in 1.1.0\");\n realDataKey = valueKey;\n }\n var notZeroItemCount = pieData.filter(function (entry) {\n return getValueByDataKey(entry, realDataKey, 0) !== 0;\n }).length;\n var totalPadingAngle = (absDeltaAngle >= 360 ? notZeroItemCount : notZeroItemCount - 1) * paddingAngle;\n var realTotalAngle = absDeltaAngle - notZeroItemCount * minAngle - totalPadingAngle;\n var sum = pieData.reduce(function (result, entry) {\n var val = getValueByDataKey(entry, realDataKey, 0);\n return result + (isNumber(val) ? val : 0);\n }, 0);\n var sectors;\n if (sum > 0) {\n var prev;\n sectors = pieData.map(function (entry, i) {\n var val = getValueByDataKey(entry, realDataKey, 0);\n var name = getValueByDataKey(entry, nameKey, i);\n var percent = (isNumber(val) ? val : 0) / sum;\n var tempStartAngle;\n if (i) {\n tempStartAngle = prev.endAngle + mathSign(deltaAngle) * paddingAngle * (val !== 0 ? 1 : 0);\n } else {\n tempStartAngle = startAngle;\n }\n var tempEndAngle = tempStartAngle + mathSign(deltaAngle) * ((val !== 0 ? minAngle : 0) + percent * realTotalAngle);\n var midAngle = (tempStartAngle + tempEndAngle) / 2;\n var middleRadius = (coordinate.innerRadius + coordinate.outerRadius) / 2;\n var tooltipPayload = [{\n name: name,\n value: val,\n payload: entry,\n dataKey: realDataKey,\n type: tooltipType\n }];\n var tooltipPosition = polarToCartesian(coordinate.cx, coordinate.cy, middleRadius, midAngle);\n prev = _objectSpread(_objectSpread(_objectSpread({\n percent: percent,\n cornerRadius: cornerRadius,\n name: name,\n tooltipPayload: tooltipPayload,\n midAngle: midAngle,\n middleRadius: middleRadius,\n tooltipPosition: tooltipPosition\n }, entry), coordinate), {}, {\n value: getValueByDataKey(entry, realDataKey),\n startAngle: tempStartAngle,\n endAngle: tempEndAngle,\n payload: entry,\n paddingAngle: mathSign(deltaAngle) * paddingAngle\n });\n return prev;\n });\n }\n return _objectSpread(_objectSpread({}, coordinate), {}, {\n sectors: sectors,\n data: pieData\n });\n});","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","\n// `victory-vendor/d3-scale` (CommonJS)\n// See upstream license: https://github.com/d3/d3-scale/blob/main/LICENSE\n//\n// Our CommonJS package relies on transpiled vendor files in `lib-vendor/d3-scale`\nmodule.exports = require(\"../lib-vendor/d3-scale/src/index.js\");\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"scaleBand\", {\n enumerable: true,\n get: function () {\n return _band.default;\n }\n});\nObject.defineProperty(exports, \"scaleDiverging\", {\n enumerable: true,\n get: function () {\n return _diverging.default;\n }\n});\nObject.defineProperty(exports, \"scaleDivergingLog\", {\n enumerable: true,\n get: function () {\n return _diverging.divergingLog;\n }\n});\nObject.defineProperty(exports, \"scaleDivergingPow\", {\n enumerable: true,\n get: function () {\n return _diverging.divergingPow;\n }\n});\nObject.defineProperty(exports, \"scaleDivergingSqrt\", {\n enumerable: true,\n get: function () {\n return _diverging.divergingSqrt;\n }\n});\nObject.defineProperty(exports, \"scaleDivergingSymlog\", {\n enumerable: true,\n get: function () {\n return _diverging.divergingSymlog;\n }\n});\nObject.defineProperty(exports, \"scaleIdentity\", {\n enumerable: true,\n get: function () {\n return _identity.default;\n }\n});\nObject.defineProperty(exports, \"scaleImplicit\", {\n enumerable: true,\n get: function () {\n return _ordinal.implicit;\n }\n});\nObject.defineProperty(exports, \"scaleLinear\", {\n enumerable: true,\n get: function () {\n return _linear.default;\n }\n});\nObject.defineProperty(exports, \"scaleLog\", {\n enumerable: true,\n get: function () {\n return _log.default;\n }\n});\nObject.defineProperty(exports, \"scaleOrdinal\", {\n enumerable: true,\n get: function () {\n return _ordinal.default;\n }\n});\nObject.defineProperty(exports, \"scalePoint\", {\n enumerable: true,\n get: function () {\n return _band.point;\n }\n});\nObject.defineProperty(exports, \"scalePow\", {\n enumerable: true,\n get: function () {\n return _pow.default;\n }\n});\nObject.defineProperty(exports, \"scaleQuantile\", {\n enumerable: true,\n get: function () {\n return _quantile.default;\n }\n});\nObject.defineProperty(exports, \"scaleQuantize\", {\n enumerable: true,\n get: function () {\n return _quantize.default;\n }\n});\nObject.defineProperty(exports, \"scaleRadial\", {\n enumerable: true,\n get: function () {\n return _radial.default;\n }\n});\nObject.defineProperty(exports, \"scaleSequential\", {\n enumerable: true,\n get: function () {\n return _sequential.default;\n }\n});\nObject.defineProperty(exports, \"scaleSequentialLog\", {\n enumerable: true,\n get: function () {\n return _sequential.sequentialLog;\n }\n});\nObject.defineProperty(exports, \"scaleSequentialPow\", {\n enumerable: true,\n get: function () {\n return _sequential.sequentialPow;\n }\n});\nObject.defineProperty(exports, \"scaleSequentialQuantile\", {\n enumerable: true,\n get: function () {\n return _sequentialQuantile.default;\n }\n});\nObject.defineProperty(exports, \"scaleSequentialSqrt\", {\n enumerable: true,\n get: function () {\n return _sequential.sequentialSqrt;\n }\n});\nObject.defineProperty(exports, \"scaleSequentialSymlog\", {\n enumerable: true,\n get: function () {\n return _sequential.sequentialSymlog;\n }\n});\nObject.defineProperty(exports, \"scaleSqrt\", {\n enumerable: true,\n get: function () {\n return _pow.sqrt;\n }\n});\nObject.defineProperty(exports, \"scaleSymlog\", {\n enumerable: true,\n get: function () {\n return _symlog.default;\n }\n});\nObject.defineProperty(exports, \"scaleThreshold\", {\n enumerable: true,\n get: function () {\n return _threshold.default;\n }\n});\nObject.defineProperty(exports, \"scaleTime\", {\n enumerable: true,\n get: function () {\n return _time.default;\n }\n});\nObject.defineProperty(exports, \"scaleUtc\", {\n enumerable: true,\n get: function () {\n return _utcTime.default;\n }\n});\nObject.defineProperty(exports, \"tickFormat\", {\n enumerable: true,\n get: function () {\n return _tickFormat.default;\n }\n});\n\nvar _band = _interopRequireWildcard(require(\"./band.js\"));\n\nvar _identity = _interopRequireDefault(require(\"./identity.js\"));\n\nvar _linear = _interopRequireDefault(require(\"./linear.js\"));\n\nvar _log = _interopRequireDefault(require(\"./log.js\"));\n\nvar _symlog = _interopRequireDefault(require(\"./symlog.js\"));\n\nvar _ordinal = _interopRequireWildcard(require(\"./ordinal.js\"));\n\nvar _pow = _interopRequireWildcard(require(\"./pow.js\"));\n\nvar _radial = _interopRequireDefault(require(\"./radial.js\"));\n\nvar _quantile = _interopRequireDefault(require(\"./quantile.js\"));\n\nvar _quantize = _interopRequireDefault(require(\"./quantize.js\"));\n\nvar _threshold = _interopRequireDefault(require(\"./threshold.js\"));\n\nvar _time = _interopRequireDefault(require(\"./time.js\"));\n\nvar _utcTime = _interopRequireDefault(require(\"./utcTime.js\"));\n\nvar _sequential = _interopRequireWildcard(require(\"./sequential.js\"));\n\nvar _sequentialQuantile = _interopRequireDefault(require(\"./sequentialQuantile.js\"));\n\nvar _diverging = _interopRequireWildcard(require(\"./diverging.js\"));\n\nvar _tickFormat = _interopRequireDefault(require(\"./tickFormat.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = band;\nexports.point = point;\n\nvar _index = require(\"../../../lib-vendor/d3-array/src/index.js\");\n\nvar _init = require(\"./init.js\");\n\nvar _ordinal = _interopRequireDefault(require(\"./ordinal.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction band() {\n var scale = (0, _ordinal.default)().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = (0, _index.range)(n).map(function (i) {\n return start + step * i;\n });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function (_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function (_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function (_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function () {\n return bandwidth;\n };\n\n scale.step = function () {\n return step;\n };\n\n scale.round = function (_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function (_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function (_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function (_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function (_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function () {\n return band(domain(), [r0, r1]).round(round).paddingInner(paddingInner).paddingOuter(paddingOuter).align(align);\n };\n\n return _init.initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function () {\n return pointish(copy());\n };\n\n return scale;\n}\n\nfunction point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cross;\n\nfunction length(array) {\n return array.length | 0;\n}\n\nfunction empty(length) {\n return !(length > 0);\n}\n\nfunction arrayify(values) {\n return typeof values !== \"object\" || \"length\" in values ? values : Array.from(values);\n}\n\nfunction reducer(reduce) {\n return values => reduce(...values);\n}\n\nfunction cross(...values) {\n const reduce = typeof values[values.length - 1] === \"function\" && reducer(values.pop());\n values = values.map(arrayify);\n const lengths = values.map(length);\n const j = values.length - 1;\n const index = new Array(j + 1).fill(0);\n const product = [];\n if (j < 0 || lengths.some(empty)) return product;\n\n while (true) {\n product.push(index.map((j, i) => values[i][j]));\n let i = j;\n\n while (++index[i] === lengths[i]) {\n if (i === 0) return reduce ? product.map(reduce) : product;\n index[i--] = 0;\n }\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cumsum;\n\nfunction cumsum(values, valueof) {\n var sum = 0,\n index = 0;\n return Float64Array.from(values, valueof === undefined ? v => sum += +v || 0 : v => sum += +valueof(v, index++, values) || 0);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Adder = void 0;\nexports.fcumsum = fcumsum;\nexports.fsum = fsum;\n\n// https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423\nclass Adder {\n constructor() {\n this._partials = new Float64Array(32);\n this._n = 0;\n }\n\n add(x) {\n const p = this._partials;\n let i = 0;\n\n for (let j = 0; j < this._n && j < 32; j++) {\n const y = p[j],\n hi = x + y,\n lo = Math.abs(x) < Math.abs(y) ? x - (hi - y) : y - (hi - x);\n if (lo) p[i++] = lo;\n x = hi;\n }\n\n p[i] = x;\n this._n = i + 1;\n return this;\n }\n\n valueOf() {\n const p = this._partials;\n let n = this._n,\n x,\n y,\n lo,\n hi = 0;\n\n if (n > 0) {\n hi = p[--n];\n\n while (n > 0) {\n x = hi;\n y = p[--n];\n hi = x + y;\n lo = y - (hi - x);\n if (lo) break;\n }\n\n if (n > 0 && (lo < 0 && p[n - 1] < 0 || lo > 0 && p[n - 1] > 0)) {\n y = lo * 2;\n x = hi + y;\n if (y == x - hi) hi = x;\n }\n }\n\n return hi;\n }\n\n}\n\nexports.Adder = Adder;\n\nfunction fsum(values, valueof) {\n const adder = new Adder();\n\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n adder.add(value);\n }\n }\n } else {\n let index = -1;\n\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n adder.add(value);\n }\n }\n }\n\n return +adder;\n}\n\nfunction fcumsum(values, valueof) {\n const adder = new Adder();\n let index = -1;\n return Float64Array.from(values, valueof === undefined ? v => adder.add(+v || 0) : v => adder.add(+valueof(v, ++index, values) || 0));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = groupSort;\n\nvar _ascending = _interopRequireDefault(require(\"./ascending.js\"));\n\nvar _group = _interopRequireWildcard(require(\"./group.js\"));\n\nvar _sort = _interopRequireDefault(require(\"./sort.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction groupSort(values, reduce, key) {\n return (reduce.length !== 2 ? (0, _sort.default)((0, _group.rollup)(values, reduce, key), ([ak, av], [bk, bv]) => (0, _ascending.default)(av, bv) || (0, _ascending.default)(ak, bk)) : (0, _sort.default)((0, _group.default)(values, key), ([ak, av], [bk, bv]) => reduce(av, bv) || (0, _ascending.default)(ak, bk))).map(([key]) => key);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = bin;\n\nvar _array = require(\"./array.js\");\n\nvar _bisect = _interopRequireDefault(require(\"./bisect.js\"));\n\nvar _constant = _interopRequireDefault(require(\"./constant.js\"));\n\nvar _extent = _interopRequireDefault(require(\"./extent.js\"));\n\nvar _identity = _interopRequireDefault(require(\"./identity.js\"));\n\nvar _nice = _interopRequireDefault(require(\"./nice.js\"));\n\nvar _ticks = _interopRequireWildcard(require(\"./ticks.js\"));\n\nvar _sturges = _interopRequireDefault(require(\"./threshold/sturges.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction bin() {\n var value = _identity.default,\n domain = _extent.default,\n threshold = _sturges.default;\n\n function histogram(data) {\n if (!Array.isArray(data)) data = Array.from(data);\n var i,\n n = data.length,\n x,\n step,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1); // Convert number of thresholds into uniform thresholds, and nice the\n // default domain accordingly.\n\n if (!Array.isArray(tz)) {\n const max = x1,\n tn = +tz;\n if (domain === _extent.default) [x0, x1] = (0, _nice.default)(x0, x1, tn);\n tz = (0, _ticks.default)(x0, x1, tn); // If the domain is aligned with the first tick (which it will by\n // default), then we can use quantization rather than bisection to bin\n // values, which is substantially faster.\n\n if (tz[0] <= x0) step = (0, _ticks.tickIncrement)(x0, x1, tn); // If the last threshold is coincident with the domain’s upper bound, the\n // last bin will be zero-width. If the default domain is used, and this\n // last threshold is coincident with the maximum input value, we can\n // extend the niced upper bound by one tick to ensure uniform bin widths;\n // otherwise, we simply remove the last threshold. Note that we don’t\n // coerce values or the domain to numbers, and thus must be careful to\n // compare order (>=) rather than strict equality (===)!\n\n if (tz[tz.length - 1] >= x1) {\n if (max >= x1 && domain === _extent.default) {\n const step = (0, _ticks.tickIncrement)(x0, x1, tn);\n\n if (isFinite(step)) {\n if (step > 0) {\n x1 = (Math.floor(x1 / step) + 1) * step;\n } else if (step < 0) {\n x1 = (Math.ceil(x1 * -step) + 1) / -step;\n }\n }\n } else {\n tz.pop();\n }\n }\n } // Remove any thresholds outside the domain.\n\n\n var m = tz.length;\n\n while (tz[0] <= x0) tz.shift(), --m;\n\n while (tz[m - 1] > x1) tz.pop(), --m;\n\n var bins = new Array(m + 1),\n bin; // Initialize bins.\n\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n } // Assign data to bins by value, ignoring any outside the domain.\n\n\n if (isFinite(step)) {\n if (step > 0) {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n bins[Math.min(m, Math.floor((x - x0) / step))].push(data[i]);\n }\n }\n } else if (step < 0) {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n const j = Math.floor((x0 - x) * step);\n bins[Math.min(m, j + (tz[j] <= x))].push(data[i]); // handle off-by-one due to rounding\n }\n }\n }\n } else {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n bins[(0, _bisect.default)(tz, x, 0, m)].push(data[i]);\n }\n }\n }\n\n return bins;\n }\n\n histogram.value = function (_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : (0, _constant.default)(_), histogram) : value;\n };\n\n histogram.domain = function (_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : (0, _constant.default)([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function (_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? (0, _constant.default)(_array.slice.call(_)) : (0, _constant.default)(_), histogram) : threshold;\n };\n\n return histogram;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.slice = exports.map = void 0;\nvar array = Array.prototype;\nvar slice = array.slice;\nexports.slice = slice;\nvar map = array.map;\nexports.map = map;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = constant;\n\nfunction constant(x) {\n return () => x;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = thresholdFreedmanDiaconis;\n\nvar _count = _interopRequireDefault(require(\"../count.js\"));\n\nvar _quantile = _interopRequireDefault(require(\"../quantile.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction thresholdFreedmanDiaconis(values, min, max) {\n return Math.ceil((max - min) / (2 * ((0, _quantile.default)(values, 0.75) - (0, _quantile.default)(values, 0.25)) * Math.pow((0, _count.default)(values), -1 / 3)));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = thresholdScott;\n\nvar _count = _interopRequireDefault(require(\"../count.js\"));\n\nvar _deviation = _interopRequireDefault(require(\"../deviation.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction thresholdScott(values, min, max) {\n return Math.ceil((max - min) * Math.cbrt((0, _count.default)(values)) / (3.49 * (0, _deviation.default)(values)));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = mean;\n\nfunction mean(values, valueof) {\n let count = 0;\n let sum = 0;\n\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n ++count, sum += value;\n }\n }\n } else {\n let index = -1;\n\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n ++count, sum += value;\n }\n }\n }\n\n if (count) return sum / count;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = median;\n\nvar _quantile = _interopRequireDefault(require(\"./quantile.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction median(values, valueof) {\n return (0, _quantile.default)(values, 0.5, valueof);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = merge;\n\nfunction* flatten(arrays) {\n for (const array of arrays) {\n yield* array;\n }\n}\n\nfunction merge(arrays) {\n return Array.from(flatten(arrays));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = mode;\n\nvar _index = require(\"../../../lib-vendor/internmap/src/index.js\");\n\nfunction mode(values, valueof) {\n const counts = new _index.InternMap();\n\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && value >= value) {\n counts.set(value, (counts.get(value) || 0) + 1);\n }\n }\n } else {\n let index = -1;\n\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && value >= value) {\n counts.set(value, (counts.get(value) || 0) + 1);\n }\n }\n }\n\n let modeValue;\n let modeCount = 0;\n\n for (const [value, count] of counts) {\n if (count > modeCount) {\n modeCount = count;\n modeValue = value;\n }\n }\n\n return modeValue;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = pairs;\nexports.pair = pair;\n\nfunction pairs(values, pairof = pair) {\n const pairs = [];\n let previous;\n let first = false;\n\n for (const value of values) {\n if (first) pairs.push(pairof(previous, value));\n previous = value;\n first = true;\n }\n\n return pairs;\n}\n\nfunction pair(a, b) {\n return [a, b];\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = range;\n\nfunction range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rank;\n\nvar _ascending = _interopRequireDefault(require(\"./ascending.js\"));\n\nvar _sort = require(\"./sort.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction rank(values, valueof = _ascending.default) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n let V = Array.from(values);\n const R = new Float64Array(V.length);\n if (valueof.length !== 2) V = V.map(valueof), valueof = _ascending.default;\n\n const compareIndex = (i, j) => valueof(V[i], V[j]);\n\n let k, r;\n Uint32Array.from(V, (_, i) => i).sort(valueof === _ascending.default ? (i, j) => (0, _sort.ascendingDefined)(V[i], V[j]) : (0, _sort.compareDefined)(compareIndex)).forEach((j, i) => {\n const c = compareIndex(j, k === undefined ? j : k);\n\n if (c >= 0) {\n if (k === undefined || c > 0) k = j, r = i;\n R[j] = r;\n } else {\n R[j] = NaN;\n }\n });\n return R;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = least;\n\nvar _ascending = _interopRequireDefault(require(\"./ascending.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction least(values, compare = _ascending.default) {\n let min;\n let defined = false;\n\n if (compare.length === 1) {\n let minValue;\n\n for (const element of values) {\n const value = compare(element);\n\n if (defined ? (0, _ascending.default)(value, minValue) < 0 : (0, _ascending.default)(value, value) === 0) {\n min = element;\n minValue = value;\n defined = true;\n }\n }\n } else {\n for (const value of values) {\n if (defined ? compare(value, min) < 0 : compare(value, value) === 0) {\n min = value;\n defined = true;\n }\n }\n }\n\n return min;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = greatest;\n\nvar _ascending = _interopRequireDefault(require(\"./ascending.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction greatest(values, compare = _ascending.default) {\n let max;\n let defined = false;\n\n if (compare.length === 1) {\n let maxValue;\n\n for (const element of values) {\n const value = compare(element);\n\n if (defined ? (0, _ascending.default)(value, maxValue) > 0 : (0, _ascending.default)(value, value) === 0) {\n max = element;\n maxValue = value;\n defined = true;\n }\n }\n } else {\n for (const value of values) {\n if (defined ? compare(value, max) > 0 : compare(value, value) === 0) {\n max = value;\n defined = true;\n }\n }\n }\n\n return max;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = greatestIndex;\n\nvar _ascending = _interopRequireDefault(require(\"./ascending.js\"));\n\nvar _maxIndex = _interopRequireDefault(require(\"./maxIndex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction greatestIndex(values, compare = _ascending.default) {\n if (compare.length === 1) return (0, _maxIndex.default)(values, compare);\n let maxValue;\n let max = -1;\n let index = -1;\n\n for (const value of values) {\n ++index;\n\n if (max < 0 ? compare(value, value) === 0 : compare(value, maxValue) > 0) {\n maxValue = value;\n max = index;\n }\n }\n\n return max;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scan;\n\nvar _leastIndex = _interopRequireDefault(require(\"./leastIndex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction scan(values, compare) {\n const index = (0, _leastIndex.default)(values, compare);\n return index < 0 ? undefined : index;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nexports.shuffler = shuffler;\n\nvar _default = shuffler(Math.random);\n\nexports.default = _default;\n\nfunction shuffler(random) {\n return function shuffle(array, i0 = 0, i1 = array.length) {\n let m = i1 - (i0 = +i0);\n\n while (m) {\n const i = random() * m-- | 0,\n t = array[m + i0];\n array[m + i0] = array[i + i0];\n array[i + i0] = t;\n }\n\n return array;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sum;\n\nfunction sum(values, valueof) {\n let sum = 0;\n\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n sum += value;\n }\n }\n } else {\n let index = -1;\n\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n sum += value;\n }\n }\n }\n\n return sum;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = zip;\n\nvar _transpose = _interopRequireDefault(require(\"./transpose.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction zip() {\n return (0, _transpose.default)(arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = every;\n\nfunction every(values, test) {\n if (typeof test !== \"function\") throw new TypeError(\"test is not a function\");\n let index = -1;\n\n for (const value of values) {\n if (!test(value, ++index, values)) {\n return false;\n }\n }\n\n return true;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = some;\n\nfunction some(values, test) {\n if (typeof test !== \"function\") throw new TypeError(\"test is not a function\");\n let index = -1;\n\n for (const value of values) {\n if (test(value, ++index, values)) {\n return true;\n }\n }\n\n return false;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nfunction filter(values, test) {\n if (typeof test !== \"function\") throw new TypeError(\"test is not a function\");\n const array = [];\n let index = -1;\n\n for (const value of values) {\n if (test(value, ++index, values)) {\n array.push(value);\n }\n }\n\n return array;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = map;\n\nfunction map(values, mapper) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n if (typeof mapper !== \"function\") throw new TypeError(\"mapper is not a function\");\n return Array.from(values, (value, index) => mapper(value, index, values));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = reduce;\n\nfunction reduce(values, reducer, value) {\n if (typeof reducer !== \"function\") throw new TypeError(\"reducer is not a function\");\n const iterator = values[Symbol.iterator]();\n let done,\n next,\n index = -1;\n\n if (arguments.length < 3) {\n ({\n done,\n value\n } = iterator.next());\n if (done) return;\n ++index;\n }\n\n while (({\n done,\n value: next\n } = iterator.next()), !done) {\n value = reducer(value, next, ++index, values);\n }\n\n return value;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = reverse;\n\nfunction reverse(values) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n return Array.from(values).reverse();\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = difference;\n\nvar _index = require(\"../../../lib-vendor/internmap/src/index.js\");\n\nfunction difference(values, ...others) {\n values = new _index.InternSet(values);\n\n for (const other of others) {\n for (const value of other) {\n values.delete(value);\n }\n }\n\n return values;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = disjoint;\n\nvar _index = require(\"../../../lib-vendor/internmap/src/index.js\");\n\nfunction disjoint(values, other) {\n const iterator = other[Symbol.iterator](),\n set = new _index.InternSet();\n\n for (const v of values) {\n if (set.has(v)) return false;\n let value, done;\n\n while (({\n value,\n done\n } = iterator.next())) {\n if (done) break;\n if (Object.is(v, value)) return false;\n set.add(value);\n }\n }\n\n return true;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = intersection;\n\nvar _index = require(\"../../../lib-vendor/internmap/src/index.js\");\n\nfunction intersection(values, ...others) {\n values = new _index.InternSet(values);\n others = others.map(set);\n\n out: for (const value of values) {\n for (const other of others) {\n if (!other.has(value)) {\n values.delete(value);\n continue out;\n }\n }\n }\n\n return values;\n}\n\nfunction set(values) {\n return values instanceof _index.InternSet ? values : new _index.InternSet(values);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = subset;\n\nvar _superset = _interopRequireDefault(require(\"./superset.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction subset(values, other) {\n return (0, _superset.default)(other, values);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = union;\n\nvar _index = require(\"../../../lib-vendor/internmap/src/index.js\");\n\nfunction union(...others) {\n const set = new _index.InternSet();\n\n for (const other of others) {\n for (const o of other) {\n set.add(o);\n }\n }\n\n return set;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = identity;\n\nvar _linear = require(\"./linear.js\");\n\nvar _number = _interopRequireDefault(require(\"./number.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction identity(domain) {\n var unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function (_) {\n return arguments.length ? (domain = Array.from(_, _number.default), scale) : domain.slice();\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function () {\n return identity(domain).unknown(unknown);\n };\n\n domain = arguments.length ? Array.from(domain, _number.default) : [0, 1];\n return (0, _linear.linearish)(scale);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Hcl = Hcl;\nexports.Lab = Lab;\nexports.default = lab;\nexports.gray = gray;\nexports.hcl = hcl;\nexports.lch = lch;\n\nvar _define = _interopRequireWildcard(require(\"./define.js\"));\n\nvar _color = require(\"./color.js\");\n\nvar _math = require(\"./math.js\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n// https://observablehq.com/@mbostock/lab-and-rgb\nconst K = 18,\n Xn = 0.96422,\n Yn = 1,\n Zn = 0.82521,\n t0 = 4 / 29,\n t1 = 6 / 29,\n t2 = 3 * t1 * t1,\n t3 = t1 * t1 * t1;\n\nfunction labConvert(o) {\n if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);\n if (o instanceof Hcl) return hcl2lab(o);\n if (!(o instanceof _color.Rgb)) o = (0, _color.rgbConvert)(o);\n var r = rgb2lrgb(o.r),\n g = rgb2lrgb(o.g),\n b = rgb2lrgb(o.b),\n y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn),\n x,\n z;\n if (r === g && g === b) x = z = y;else {\n x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);\n z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);\n }\n return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);\n}\n\nfunction gray(l, opacity) {\n return new Lab(l, 0, 0, opacity == null ? 1 : opacity);\n}\n\nfunction lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nfunction Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\n(0, _define.default)(Lab, lab, (0, _define.extend)(_color.Color, {\n brighter(k) {\n return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n\n darker(k) {\n return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n\n rgb() {\n var y = (this.l + 16) / 116,\n x = isNaN(this.a) ? y : y + this.a / 500,\n z = isNaN(this.b) ? y : y - this.b / 200;\n x = Xn * lab2xyz(x);\n y = Yn * lab2xyz(y);\n z = Zn * lab2xyz(z);\n return new _color.Rgb(lrgb2rgb(3.1338561 * x - 1.6168667 * y - 0.4906146 * z), lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z), lrgb2rgb(0.0719453 * x - 0.2289914 * y + 1.4052427 * z), this.opacity);\n }\n\n}));\n\nfunction xyz2lab(t) {\n return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;\n}\n\nfunction lab2xyz(t) {\n return t > t1 ? t * t * t : t2 * (t - t0);\n}\n\nfunction lrgb2rgb(x) {\n return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);\n}\n\nfunction rgb2lrgb(x) {\n return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);\n}\n\nfunction hclConvert(o) {\n if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);\n if (!(o instanceof Lab)) o = labConvert(o);\n if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);\n\n var h = Math.atan2(o.b, o.a) * _math.degrees;\n\n return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);\n}\n\nfunction lch(l, c, h, opacity) {\n return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nfunction hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\nfunction hcl2lab(o) {\n if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);\n var h = o.h * _math.radians;\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n}\n\n(0, _define.default)(Hcl, hcl, (0, _define.extend)(_color.Color, {\n brighter(k) {\n return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);\n },\n\n darker(k) {\n return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);\n },\n\n rgb() {\n return hcl2lab(this).rgb();\n }\n\n}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Cubehelix = Cubehelix;\nexports.default = cubehelix;\n\nvar _define = _interopRequireWildcard(require(\"./define.js\"));\n\nvar _color = require(\"./color.js\");\n\nvar _math = require(\"./math.js\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof _color.Rgb)) o = (0, _color.rgbConvert)(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)),\n // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * _math.degrees - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nfunction cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\n(0, _define.default)(Cubehelix, cubehelix, (0, _define.extend)(_color.Color, {\n brighter(k) {\n k = k == null ? _color.brighter : Math.pow(_color.brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n\n darker(k) {\n k = k == null ? _color.darker : Math.pow(_color.darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n\n rgb() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * _math.radians,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new _color.Rgb(255 * (l + a * (A * cosh + B * sinh)), 255 * (l + a * (C * cosh + D * sinh)), 255 * (l + a * (E * cosh)), this.opacity);\n }\n\n}));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(range) {\n var n = range.length;\n return function (t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _color = require(\"./color.js\");\n\nfunction _default(a, b) {\n var i = (0, _color.hue)(+a, +b);\n return function (t) {\n var x = i(t);\n return x - 360 * Math.floor(x / 360);\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(a, b) {\n return a = +a, b = +b, function (t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.interpolateTransformSvg = exports.interpolateTransformCss = void 0;\n\nvar _number = _interopRequireDefault(require(\"../number.js\"));\n\nvar _parse = require(\"./parse.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({\n i: i - 4,\n x: (0, _number.default)(xa, xb)\n }, {\n i: i - 2,\n x: (0, _number.default)(ya, yb)\n });\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360;else if (b - a > 180) a += 360; // shortest path\n\n q.push({\n i: s.push(pop(s) + \"rotate(\", null, degParen) - 2,\n x: (0, _number.default)(a, b)\n });\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({\n i: s.push(pop(s) + \"skewX(\", null, degParen) - 2,\n x: (0, _number.default)(a, b)\n });\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: (0, _number.default)(xa, xb)\n }, {\n i: i - 2,\n x: (0, _number.default)(ya, yb)\n });\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function (a, b) {\n var s = [],\n // string constants and placeholders\n q = []; // number interpolators\n\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n\n return function (t) {\n var i = -1,\n n = q.length,\n o;\n\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n\n return s.join(\"\");\n };\n };\n}\n\nvar interpolateTransformCss = interpolateTransform(_parse.parseCss, \"px, \", \"px)\", \"deg)\");\nexports.interpolateTransformCss = interpolateTransformCss;\nvar interpolateTransformSvg = interpolateTransform(_parse.parseSvg, \", \", \")\", \")\");\nexports.interpolateTransformSvg = interpolateTransformSvg;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.parseCss = parseCss;\nexports.parseSvg = parseSvg;\n\nvar _decompose = _interopRequireWildcard(require(\"./decompose.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar svgNode;\n/* eslint-disable no-undef */\n\nfunction parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? _decompose.identity : (0, _decompose.default)(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nfunction parseSvg(value) {\n if (value == null) return _decompose.identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return _decompose.identity;\n value = value.matrix;\n return (0, _decompose.default)(value.a, value.b, value.c, value.d, value.e, value.f);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.identity = void 0;\nvar degrees = 180 / Math.PI;\nvar identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\nexports.identity = identity;\n\nfunction _default(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\nvar _default = function zoomRho(rho, rho2, rho4) {\n // p0 = [ux0, uy0, w0]\n // p1 = [ux1, uy1, w1]\n function zoom(p0, p1) {\n var ux0 = p0[0],\n uy0 = p0[1],\n w0 = p0[2],\n ux1 = p1[0],\n uy1 = p1[1],\n w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S; // Special case for u0 ≅ u1.\n\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n\n i = function (t) {\n return [ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(rho * t * S)];\n };\n } // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n\n i = function (t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / cosh(rho * s + r0)];\n };\n }\n\n i.duration = S * 1000 * rho / Math.SQRT2;\n return i;\n }\n\n zoom.rho = function (_) {\n var _1 = Math.max(1e-3, +_),\n _2 = _1 * _1,\n _4 = _2 * _2;\n\n return zoomRho(_1, _2, _4);\n };\n\n return zoom;\n}(Math.SQRT2, 2, 4);\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hslLong = exports.default = void 0;\n\nvar _index = require(\"../../../lib-vendor/d3-color/src/index.js\");\n\nvar _color = _interopRequireWildcard(require(\"./color.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction hsl(hue) {\n return function (start, end) {\n var h = hue((start = (0, _index.hsl)(start)).h, (end = (0, _index.hsl)(end)).h),\n s = (0, _color.default)(start.s, end.s),\n l = (0, _color.default)(start.l, end.l),\n opacity = (0, _color.default)(start.opacity, end.opacity);\n return function (t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n };\n}\n\nvar _default = hsl(_color.hue);\n\nexports.default = _default;\nvar hslLong = hsl(_color.default);\nexports.hslLong = hslLong;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = lab;\n\nvar _index = require(\"../../../lib-vendor/d3-color/src/index.js\");\n\nvar _color = _interopRequireDefault(require(\"./color.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction lab(start, end) {\n var l = (0, _color.default)((start = (0, _index.lab)(start)).l, (end = (0, _index.lab)(end)).l),\n a = (0, _color.default)(start.a, end.a),\n b = (0, _color.default)(start.b, end.b),\n opacity = (0, _color.default)(start.opacity, end.opacity);\n return function (t) {\n start.l = l(t);\n start.a = a(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hclLong = exports.default = void 0;\n\nvar _index = require(\"../../../lib-vendor/d3-color/src/index.js\");\n\nvar _color = _interopRequireWildcard(require(\"./color.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction hcl(hue) {\n return function (start, end) {\n var h = hue((start = (0, _index.hcl)(start)).h, (end = (0, _index.hcl)(end)).h),\n c = (0, _color.default)(start.c, end.c),\n l = (0, _color.default)(start.l, end.l),\n opacity = (0, _color.default)(start.opacity, end.opacity);\n return function (t) {\n start.h = h(t);\n start.c = c(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n };\n}\n\nvar _default = hcl(_color.hue);\n\nexports.default = _default;\nvar hclLong = hcl(_color.default);\nexports.hclLong = hclLong;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.cubehelixLong = void 0;\n\nvar _index = require(\"../../../lib-vendor/d3-color/src/index.js\");\n\nvar _color = _interopRequireWildcard(require(\"./color.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction cubehelix(hue) {\n return function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = (0, _index.cubehelix)(start)).h, (end = (0, _index.cubehelix)(end)).h),\n s = (0, _color.default)(start.s, end.s),\n l = (0, _color.default)(start.l, end.l),\n opacity = (0, _color.default)(start.opacity, end.opacity);\n return function (t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n return cubehelix;\n }(1);\n}\n\nvar _default = cubehelix(_color.hue);\n\nexports.default = _default;\nvar cubehelixLong = cubehelix(_color.default);\nexports.cubehelixLong = cubehelixLong;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = piecewise;\n\nvar _value = _interopRequireDefault(require(\"./value.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction piecewise(interpolate, values) {\n if (values === undefined) values = interpolate, interpolate = _value.default;\n var i = 0,\n n = values.length - 1,\n v = values[0],\n I = new Array(n < 0 ? 0 : n);\n\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n\n return function (t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(interpolator, n) {\n var samples = new Array(n);\n\n for (var i = 0; i < n; ++i) samples[i] = interpolator(i / (n - 1));\n\n return samples;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = constants;\n\nfunction constants(x) {\n return function () {\n return x;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = defaultLocale;\nexports.formatPrefix = exports.format = void 0;\n\nvar _locale = _interopRequireDefault(require(\"./locale.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar locale;\nvar format;\nexports.format = format;\nvar formatPrefix;\nexports.formatPrefix = formatPrefix;\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nfunction defaultLocale(definition) {\n locale = (0, _locale.default)(definition);\n exports.format = format = locale.format;\n exports.formatPrefix = formatPrefix = locale.formatPrefix;\n return locale;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(grouping, thousands) {\n return function (value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(numerals) {\n return function (value) {\n return value.replace(/[0-9]/g, function (i) {\n return numerals[+i];\n });\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\n// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nfunction _default(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\":\n i0 = i1 = i;\n break;\n\n case \"0\":\n if (i0 === 0) i0 = i;\n i1 = i;\n break;\n\n default:\n if (!+s[i]) break out;\n if (i0 > 0) i0 = 0;\n break;\n }\n }\n\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _formatDecimal = _interopRequireDefault(require(\"./formatDecimal.js\"));\n\nvar _formatPrefixAuto = _interopRequireDefault(require(\"./formatPrefixAuto.js\"));\n\nvar _formatRounded = _interopRequireDefault(require(\"./formatRounded.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": x => Math.round(x).toString(2),\n \"c\": x => x + \"\",\n \"d\": _formatDecimal.default,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": x => Math.round(x).toString(8),\n \"p\": (x, p) => (0, _formatRounded.default)(x * 100, p),\n \"r\": _formatRounded.default,\n \"s\": _formatPrefixAuto.default,\n \"X\": x => Math.round(x).toString(16).toUpperCase(),\n \"x\": x => Math.round(x).toString(16)\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _formatDecimal = require(\"./formatDecimal.js\");\n\nfunction _default(x, p) {\n var d = (0, _formatDecimal.formatDecimalParts)(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1) : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(x) {\n return x;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _exponent = _interopRequireDefault(require(\"./exponent.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(step) {\n return Math.max(0, -(0, _exponent.default)(Math.abs(step)));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _exponent = _interopRequireDefault(require(\"./exponent.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor((0, _exponent.default)(value) / 3))) * 3 - (0, _exponent.default)(Math.abs(step)));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _exponent = _interopRequireDefault(require(\"./exponent.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, (0, _exponent.default)(max) - (0, _exponent.default)(step)) + 1;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = radial;\n\nvar _continuous = _interopRequireDefault(require(\"./continuous.js\"));\n\nvar _init = require(\"./init.js\");\n\nvar _linear = require(\"./linear.js\");\n\nvar _number = _interopRequireDefault(require(\"./number.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction square(x) {\n return Math.sign(x) * x * x;\n}\n\nfunction unsquare(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n}\n\nfunction radial() {\n var squared = (0, _continuous.default)(),\n range = [0, 1],\n round = false,\n unknown;\n\n function scale(x) {\n var y = unsquare(squared(x));\n return isNaN(y) ? unknown : round ? Math.round(y) : y;\n }\n\n scale.invert = function (y) {\n return squared.invert(square(y));\n };\n\n scale.domain = function (_) {\n return arguments.length ? (squared.domain(_), scale) : squared.domain();\n };\n\n scale.range = function (_) {\n return arguments.length ? (squared.range((range = Array.from(_, _number.default)).map(square)), scale) : range.slice();\n };\n\n scale.rangeRound = function (_) {\n return scale.range(_).round(true);\n };\n\n scale.round = function (_) {\n return arguments.length ? (round = !!_, scale) : round;\n };\n\n scale.clamp = function (_) {\n return arguments.length ? (squared.clamp(_), scale) : squared.clamp();\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function () {\n return radial(squared.domain(), range).round(round).clamp(squared.clamp()).unknown(unknown);\n };\n\n _init.initRange.apply(scale, arguments);\n\n return (0, _linear.linearish)(scale);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = quantile;\n\nvar _index = require(\"../../../lib-vendor/d3-array/src/index.js\");\n\nvar _init = require(\"./init.js\");\n\nfunction quantile() {\n var domain = [],\n range = [],\n thresholds = [],\n unknown;\n\n function rescale() {\n var i = 0,\n n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n\n while (++i < n) thresholds[i - 1] = (0, _index.quantileSorted)(domain, i / n);\n\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : range[(0, _index.bisect)(thresholds, x)];\n }\n\n scale.invertExtent = function (y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [i > 0 ? thresholds[i - 1] : domain[0], i < thresholds.length ? thresholds[i] : domain[domain.length - 1]];\n };\n\n scale.domain = function (_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n\n domain.sort(_index.ascending);\n return rescale();\n };\n\n scale.range = function (_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.quantiles = function () {\n return thresholds.slice();\n };\n\n scale.copy = function () {\n return quantile().domain(domain).range(range).unknown(unknown);\n };\n\n return _init.initRange.apply(scale, arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = quantize;\n\nvar _index = require(\"../../../lib-vendor/d3-array/src/index.js\");\n\nvar _linear = require(\"./linear.js\");\n\nvar _init = require(\"./init.js\");\n\nfunction quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1],\n unknown;\n\n function scale(x) {\n return x != null && x <= x ? range[(0, _index.bisect)(domain, x, 0, n)] : unknown;\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n\n return scale;\n }\n\n scale.domain = function (_) {\n return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1];\n };\n\n scale.range = function (_) {\n return arguments.length ? (n = (range = Array.from(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function (y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : i < 1 ? [x0, domain[0]] : i >= n ? [domain[n - 1], x1] : [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : scale;\n };\n\n scale.thresholds = function () {\n return domain.slice();\n };\n\n scale.copy = function () {\n return quantize().domain([x0, x1]).range(range).unknown(unknown);\n };\n\n return _init.initRange.apply((0, _linear.linearish)(scale), arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = threshold;\n\nvar _index = require(\"../../../lib-vendor/d3-array/src/index.js\");\n\nvar _init = require(\"./init.js\");\n\nfunction threshold() {\n var domain = [0.5],\n range = [0, 1],\n unknown,\n n = 1;\n\n function scale(x) {\n return x != null && x <= x ? range[(0, _index.bisect)(domain, x, 0, n)] : unknown;\n }\n\n scale.domain = function (_) {\n return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function (_) {\n return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function (y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function () {\n return threshold().domain(domain).range(range).unknown(unknown);\n };\n\n return _init.initRange.apply(scale, arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.utcTicks = exports.utcTickInterval = exports.timeTicks = exports.timeTickInterval = void 0;\n\nvar _index = require(\"../../../lib-vendor/d3-array/src/index.js\");\n\nvar _duration = require(\"./duration.js\");\n\nvar _millisecond = _interopRequireDefault(require(\"./millisecond.js\"));\n\nvar _second = _interopRequireDefault(require(\"./second.js\"));\n\nvar _minute = _interopRequireDefault(require(\"./minute.js\"));\n\nvar _hour = _interopRequireDefault(require(\"./hour.js\"));\n\nvar _day = _interopRequireDefault(require(\"./day.js\"));\n\nvar _week = require(\"./week.js\");\n\nvar _month = _interopRequireDefault(require(\"./month.js\"));\n\nvar _year = _interopRequireDefault(require(\"./year.js\"));\n\nvar _utcMinute = _interopRequireDefault(require(\"./utcMinute.js\"));\n\nvar _utcHour = _interopRequireDefault(require(\"./utcHour.js\"));\n\nvar _utcDay = _interopRequireDefault(require(\"./utcDay.js\"));\n\nvar _utcWeek = require(\"./utcWeek.js\");\n\nvar _utcMonth = _interopRequireDefault(require(\"./utcMonth.js\"));\n\nvar _utcYear = _interopRequireDefault(require(\"./utcYear.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ticker(year, month, week, day, hour, minute) {\n const tickIntervals = [[_second.default, 1, _duration.durationSecond], [_second.default, 5, 5 * _duration.durationSecond], [_second.default, 15, 15 * _duration.durationSecond], [_second.default, 30, 30 * _duration.durationSecond], [minute, 1, _duration.durationMinute], [minute, 5, 5 * _duration.durationMinute], [minute, 15, 15 * _duration.durationMinute], [minute, 30, 30 * _duration.durationMinute], [hour, 1, _duration.durationHour], [hour, 3, 3 * _duration.durationHour], [hour, 6, 6 * _duration.durationHour], [hour, 12, 12 * _duration.durationHour], [day, 1, _duration.durationDay], [day, 2, 2 * _duration.durationDay], [week, 1, _duration.durationWeek], [month, 1, _duration.durationMonth], [month, 3, 3 * _duration.durationMonth], [year, 1, _duration.durationYear]];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = (0, _index.bisector)(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every((0, _index.tickStep)(start / _duration.durationYear, stop / _duration.durationYear, count));\n if (i === 0) return _millisecond.default.every(Math.max((0, _index.tickStep)(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(_utcYear.default, _utcMonth.default, _utcWeek.utcSunday, _utcDay.default, _utcHour.default, _utcMinute.default);\nexports.utcTickInterval = utcTickInterval;\nexports.utcTicks = utcTicks;\nconst [timeTicks, timeTickInterval] = ticker(_year.default, _month.default, _week.sunday, _day.default, _hour.default, _minute.default);\nexports.timeTickInterval = timeTickInterval;\nexports.timeTicks = timeTicks;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _isoFormat = require(\"./isoFormat.js\");\n\nvar _defaultLocale = require(\"./defaultLocale.js\");\n\nfunction parseIsoNative(string) {\n var date = new Date(string);\n return isNaN(date) ? null : date;\n}\n\nvar parseIso = +new Date(\"2000-01-01T00:00:00.000Z\") ? parseIsoNative : (0, _defaultLocale.utcParse)(_isoFormat.isoSpecifier);\nvar _default = parseIso;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = utcTime;\n\nvar _index = require(\"../../../lib-vendor/d3-time/src/index.js\");\n\nvar _index2 = require(\"../../../lib-vendor/d3-time-format/src/index.js\");\n\nvar _time = require(\"./time.js\");\n\nvar _init = require(\"./init.js\");\n\nfunction utcTime() {\n return _init.initRange.apply((0, _time.calendar)(_index.utcTicks, _index.utcTickInterval, _index.utcYear, _index.utcMonth, _index.utcWeek, _index.utcDay, _index.utcHour, _index.utcMinute, _index.utcSecond, _index2.utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sequentialQuantile;\n\nvar _index = require(\"../../../lib-vendor/d3-array/src/index.js\");\n\nvar _continuous = require(\"./continuous.js\");\n\nvar _init = require(\"./init.js\");\n\nfunction sequentialQuantile() {\n var domain = [],\n interpolator = _continuous.identity;\n\n function scale(x) {\n if (x != null && !isNaN(x = +x)) return interpolator(((0, _index.bisect)(domain, x, 1) - 1) / (domain.length - 1));\n }\n\n scale.domain = function (_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n\n domain.sort(_index.ascending);\n return scale;\n };\n\n scale.interpolator = function (_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.range = function () {\n return domain.map((d, i) => interpolator(i / (domain.length - 1)));\n };\n\n scale.quantiles = function (n) {\n return Array.from({\n length: n + 1\n }, (_, i) => (0, _index.quantile)(domain, i / n));\n };\n\n scale.copy = function () {\n return sequentialQuantile(interpolator).domain(domain);\n };\n\n return _init.initInterpolator.apply(scale, arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = diverging;\nexports.divergingLog = divergingLog;\nexports.divergingPow = divergingPow;\nexports.divergingSqrt = divergingSqrt;\nexports.divergingSymlog = divergingSymlog;\n\nvar _index = require(\"../../../lib-vendor/d3-interpolate/src/index.js\");\n\nvar _continuous = require(\"./continuous.js\");\n\nvar _init = require(\"./init.js\");\n\nvar _linear = require(\"./linear.js\");\n\nvar _log = require(\"./log.js\");\n\nvar _sequential = require(\"./sequential.js\");\n\nvar _symlog = require(\"./symlog.js\");\n\nvar _pow = require(\"./pow.js\");\n\nfunction transformer() {\n var x0 = 0,\n x1 = 0.5,\n x2 = 1,\n s = 1,\n t0,\n t1,\n t2,\n k10,\n k21,\n interpolator = _continuous.identity,\n transform,\n clamp = false,\n unknown;\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (s * x < s * t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function (_) {\n return arguments.length ? ([x0, x1, x2] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), t2 = transform(x2 = +x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1, scale) : [x0, x1, x2];\n };\n\n scale.clamp = function (_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function (_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function (_) {\n var r0, r1, r2;\n return arguments.length ? ([r0, r1, r2] = _, interpolator = (0, _index.piecewise)(interpolate, [r0, r1, r2]), scale) : [interpolator(0), interpolator(0.5), interpolator(1)];\n };\n }\n\n scale.range = range(_index.interpolate);\n scale.rangeRound = range(_index.interpolateRound);\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function (t) {\n transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1;\n return scale;\n };\n}\n\nfunction diverging() {\n var scale = (0, _linear.linearish)(transformer()(_continuous.identity));\n\n scale.copy = function () {\n return (0, _sequential.copy)(scale, diverging());\n };\n\n return _init.initInterpolator.apply(scale, arguments);\n}\n\nfunction divergingLog() {\n var scale = (0, _log.loggish)(transformer()).domain([0.1, 1, 10]);\n\n scale.copy = function () {\n return (0, _sequential.copy)(scale, divergingLog()).base(scale.base());\n };\n\n return _init.initInterpolator.apply(scale, arguments);\n}\n\nfunction divergingSymlog() {\n var scale = (0, _symlog.symlogish)(transformer());\n\n scale.copy = function () {\n return (0, _sequential.copy)(scale, divergingSymlog()).constant(scale.constant());\n };\n\n return _init.initInterpolator.apply(scale, arguments);\n}\n\nfunction divergingPow() {\n var scale = (0, _pow.powish)(transformer());\n\n scale.copy = function () {\n return (0, _sequential.copy)(scale, divergingPow()).exponent(scale.exponent());\n };\n\n return _init.initInterpolator.apply(scale, arguments);\n}\n\nfunction divergingSqrt() {\n return divergingPow.apply(null, arguments).exponent(0.5);\n}","\n// `victory-vendor/d3-shape` (CommonJS)\n// See upstream license: https://github.com/d3/d3-shape/blob/main/LICENSE\n//\n// Our CommonJS package relies on transpiled vendor files in `lib-vendor/d3-shape`\nmodule.exports = require(\"../lib-vendor/d3-shape/src/index.js\");\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"arc\", {\n enumerable: true,\n get: function () {\n return _arc.default;\n }\n});\nObject.defineProperty(exports, \"area\", {\n enumerable: true,\n get: function () {\n return _area.default;\n }\n});\nObject.defineProperty(exports, \"areaRadial\", {\n enumerable: true,\n get: function () {\n return _areaRadial.default;\n }\n});\nObject.defineProperty(exports, \"curveBasis\", {\n enumerable: true,\n get: function () {\n return _basis.default;\n }\n});\nObject.defineProperty(exports, \"curveBasisClosed\", {\n enumerable: true,\n get: function () {\n return _basisClosed.default;\n }\n});\nObject.defineProperty(exports, \"curveBasisOpen\", {\n enumerable: true,\n get: function () {\n return _basisOpen.default;\n }\n});\nObject.defineProperty(exports, \"curveBumpX\", {\n enumerable: true,\n get: function () {\n return _bump.bumpX;\n }\n});\nObject.defineProperty(exports, \"curveBumpY\", {\n enumerable: true,\n get: function () {\n return _bump.bumpY;\n }\n});\nObject.defineProperty(exports, \"curveBundle\", {\n enumerable: true,\n get: function () {\n return _bundle.default;\n }\n});\nObject.defineProperty(exports, \"curveCardinal\", {\n enumerable: true,\n get: function () {\n return _cardinal.default;\n }\n});\nObject.defineProperty(exports, \"curveCardinalClosed\", {\n enumerable: true,\n get: function () {\n return _cardinalClosed.default;\n }\n});\nObject.defineProperty(exports, \"curveCardinalOpen\", {\n enumerable: true,\n get: function () {\n return _cardinalOpen.default;\n }\n});\nObject.defineProperty(exports, \"curveCatmullRom\", {\n enumerable: true,\n get: function () {\n return _catmullRom.default;\n }\n});\nObject.defineProperty(exports, \"curveCatmullRomClosed\", {\n enumerable: true,\n get: function () {\n return _catmullRomClosed.default;\n }\n});\nObject.defineProperty(exports, \"curveCatmullRomOpen\", {\n enumerable: true,\n get: function () {\n return _catmullRomOpen.default;\n }\n});\nObject.defineProperty(exports, \"curveLinear\", {\n enumerable: true,\n get: function () {\n return _linear.default;\n }\n});\nObject.defineProperty(exports, \"curveLinearClosed\", {\n enumerable: true,\n get: function () {\n return _linearClosed.default;\n }\n});\nObject.defineProperty(exports, \"curveMonotoneX\", {\n enumerable: true,\n get: function () {\n return _monotone.monotoneX;\n }\n});\nObject.defineProperty(exports, \"curveMonotoneY\", {\n enumerable: true,\n get: function () {\n return _monotone.monotoneY;\n }\n});\nObject.defineProperty(exports, \"curveNatural\", {\n enumerable: true,\n get: function () {\n return _natural.default;\n }\n});\nObject.defineProperty(exports, \"curveStep\", {\n enumerable: true,\n get: function () {\n return _step.default;\n }\n});\nObject.defineProperty(exports, \"curveStepAfter\", {\n enumerable: true,\n get: function () {\n return _step.stepAfter;\n }\n});\nObject.defineProperty(exports, \"curveStepBefore\", {\n enumerable: true,\n get: function () {\n return _step.stepBefore;\n }\n});\nObject.defineProperty(exports, \"line\", {\n enumerable: true,\n get: function () {\n return _line.default;\n }\n});\nObject.defineProperty(exports, \"lineRadial\", {\n enumerable: true,\n get: function () {\n return _lineRadial.default;\n }\n});\nObject.defineProperty(exports, \"link\", {\n enumerable: true,\n get: function () {\n return _link.link;\n }\n});\nObject.defineProperty(exports, \"linkHorizontal\", {\n enumerable: true,\n get: function () {\n return _link.linkHorizontal;\n }\n});\nObject.defineProperty(exports, \"linkRadial\", {\n enumerable: true,\n get: function () {\n return _link.linkRadial;\n }\n});\nObject.defineProperty(exports, \"linkVertical\", {\n enumerable: true,\n get: function () {\n return _link.linkVertical;\n }\n});\nObject.defineProperty(exports, \"pie\", {\n enumerable: true,\n get: function () {\n return _pie.default;\n }\n});\nObject.defineProperty(exports, \"pointRadial\", {\n enumerable: true,\n get: function () {\n return _pointRadial.default;\n }\n});\nObject.defineProperty(exports, \"radialArea\", {\n enumerable: true,\n get: function () {\n return _areaRadial.default;\n }\n});\nObject.defineProperty(exports, \"radialLine\", {\n enumerable: true,\n get: function () {\n return _lineRadial.default;\n }\n});\nObject.defineProperty(exports, \"stack\", {\n enumerable: true,\n get: function () {\n return _stack.default;\n }\n});\nObject.defineProperty(exports, \"stackOffsetDiverging\", {\n enumerable: true,\n get: function () {\n return _diverging.default;\n }\n});\nObject.defineProperty(exports, \"stackOffsetExpand\", {\n enumerable: true,\n get: function () {\n return _expand.default;\n }\n});\nObject.defineProperty(exports, \"stackOffsetNone\", {\n enumerable: true,\n get: function () {\n return _none.default;\n }\n});\nObject.defineProperty(exports, \"stackOffsetSilhouette\", {\n enumerable: true,\n get: function () {\n return _silhouette.default;\n }\n});\nObject.defineProperty(exports, \"stackOffsetWiggle\", {\n enumerable: true,\n get: function () {\n return _wiggle.default;\n }\n});\nObject.defineProperty(exports, \"stackOrderAppearance\", {\n enumerable: true,\n get: function () {\n return _appearance.default;\n }\n});\nObject.defineProperty(exports, \"stackOrderAscending\", {\n enumerable: true,\n get: function () {\n return _ascending.default;\n }\n});\nObject.defineProperty(exports, \"stackOrderDescending\", {\n enumerable: true,\n get: function () {\n return _descending.default;\n }\n});\nObject.defineProperty(exports, \"stackOrderInsideOut\", {\n enumerable: true,\n get: function () {\n return _insideOut.default;\n }\n});\nObject.defineProperty(exports, \"stackOrderNone\", {\n enumerable: true,\n get: function () {\n return _none2.default;\n }\n});\nObject.defineProperty(exports, \"stackOrderReverse\", {\n enumerable: true,\n get: function () {\n return _reverse.default;\n }\n});\nObject.defineProperty(exports, \"symbol\", {\n enumerable: true,\n get: function () {\n return _symbol.default;\n }\n});\nObject.defineProperty(exports, \"symbolAsterisk\", {\n enumerable: true,\n get: function () {\n return _asterisk.default;\n }\n});\nObject.defineProperty(exports, \"symbolCircle\", {\n enumerable: true,\n get: function () {\n return _circle.default;\n }\n});\nObject.defineProperty(exports, \"symbolCross\", {\n enumerable: true,\n get: function () {\n return _cross.default;\n }\n});\nObject.defineProperty(exports, \"symbolDiamond\", {\n enumerable: true,\n get: function () {\n return _diamond.default;\n }\n});\nObject.defineProperty(exports, \"symbolDiamond2\", {\n enumerable: true,\n get: function () {\n return _diamond2.default;\n }\n});\nObject.defineProperty(exports, \"symbolPlus\", {\n enumerable: true,\n get: function () {\n return _plus.default;\n }\n});\nObject.defineProperty(exports, \"symbolSquare\", {\n enumerable: true,\n get: function () {\n return _square.default;\n }\n});\nObject.defineProperty(exports, \"symbolSquare2\", {\n enumerable: true,\n get: function () {\n return _square2.default;\n }\n});\nObject.defineProperty(exports, \"symbolStar\", {\n enumerable: true,\n get: function () {\n return _star.default;\n }\n});\nObject.defineProperty(exports, \"symbolTriangle\", {\n enumerable: true,\n get: function () {\n return _triangle.default;\n }\n});\nObject.defineProperty(exports, \"symbolTriangle2\", {\n enumerable: true,\n get: function () {\n return _triangle2.default;\n }\n});\nObject.defineProperty(exports, \"symbolWye\", {\n enumerable: true,\n get: function () {\n return _wye.default;\n }\n});\nObject.defineProperty(exports, \"symbolX\", {\n enumerable: true,\n get: function () {\n return _x.default;\n }\n});\nObject.defineProperty(exports, \"symbols\", {\n enumerable: true,\n get: function () {\n return _symbol.symbolsFill;\n }\n});\nObject.defineProperty(exports, \"symbolsFill\", {\n enumerable: true,\n get: function () {\n return _symbol.symbolsFill;\n }\n});\nObject.defineProperty(exports, \"symbolsStroke\", {\n enumerable: true,\n get: function () {\n return _symbol.symbolsStroke;\n }\n});\n\nvar _arc = _interopRequireDefault(require(\"./arc.js\"));\n\nvar _area = _interopRequireDefault(require(\"./area.js\"));\n\nvar _line = _interopRequireDefault(require(\"./line.js\"));\n\nvar _pie = _interopRequireDefault(require(\"./pie.js\"));\n\nvar _areaRadial = _interopRequireDefault(require(\"./areaRadial.js\"));\n\nvar _lineRadial = _interopRequireDefault(require(\"./lineRadial.js\"));\n\nvar _pointRadial = _interopRequireDefault(require(\"./pointRadial.js\"));\n\nvar _link = require(\"./link.js\");\n\nvar _symbol = _interopRequireWildcard(require(\"./symbol.js\"));\n\nvar _asterisk = _interopRequireDefault(require(\"./symbol/asterisk.js\"));\n\nvar _circle = _interopRequireDefault(require(\"./symbol/circle.js\"));\n\nvar _cross = _interopRequireDefault(require(\"./symbol/cross.js\"));\n\nvar _diamond = _interopRequireDefault(require(\"./symbol/diamond.js\"));\n\nvar _diamond2 = _interopRequireDefault(require(\"./symbol/diamond2.js\"));\n\nvar _plus = _interopRequireDefault(require(\"./symbol/plus.js\"));\n\nvar _square = _interopRequireDefault(require(\"./symbol/square.js\"));\n\nvar _square2 = _interopRequireDefault(require(\"./symbol/square2.js\"));\n\nvar _star = _interopRequireDefault(require(\"./symbol/star.js\"));\n\nvar _triangle = _interopRequireDefault(require(\"./symbol/triangle.js\"));\n\nvar _triangle2 = _interopRequireDefault(require(\"./symbol/triangle2.js\"));\n\nvar _wye = _interopRequireDefault(require(\"./symbol/wye.js\"));\n\nvar _x = _interopRequireDefault(require(\"./symbol/x.js\"));\n\nvar _basisClosed = _interopRequireDefault(require(\"./curve/basisClosed.js\"));\n\nvar _basisOpen = _interopRequireDefault(require(\"./curve/basisOpen.js\"));\n\nvar _basis = _interopRequireDefault(require(\"./curve/basis.js\"));\n\nvar _bump = require(\"./curve/bump.js\");\n\nvar _bundle = _interopRequireDefault(require(\"./curve/bundle.js\"));\n\nvar _cardinalClosed = _interopRequireDefault(require(\"./curve/cardinalClosed.js\"));\n\nvar _cardinalOpen = _interopRequireDefault(require(\"./curve/cardinalOpen.js\"));\n\nvar _cardinal = _interopRequireDefault(require(\"./curve/cardinal.js\"));\n\nvar _catmullRomClosed = _interopRequireDefault(require(\"./curve/catmullRomClosed.js\"));\n\nvar _catmullRomOpen = _interopRequireDefault(require(\"./curve/catmullRomOpen.js\"));\n\nvar _catmullRom = _interopRequireDefault(require(\"./curve/catmullRom.js\"));\n\nvar _linearClosed = _interopRequireDefault(require(\"./curve/linearClosed.js\"));\n\nvar _linear = _interopRequireDefault(require(\"./curve/linear.js\"));\n\nvar _monotone = require(\"./curve/monotone.js\");\n\nvar _natural = _interopRequireDefault(require(\"./curve/natural.js\"));\n\nvar _step = _interopRequireWildcard(require(\"./curve/step.js\"));\n\nvar _stack = _interopRequireDefault(require(\"./stack.js\"));\n\nvar _expand = _interopRequireDefault(require(\"./offset/expand.js\"));\n\nvar _diverging = _interopRequireDefault(require(\"./offset/diverging.js\"));\n\nvar _none = _interopRequireDefault(require(\"./offset/none.js\"));\n\nvar _silhouette = _interopRequireDefault(require(\"./offset/silhouette.js\"));\n\nvar _wiggle = _interopRequireDefault(require(\"./offset/wiggle.js\"));\n\nvar _appearance = _interopRequireDefault(require(\"./order/appearance.js\"));\n\nvar _ascending = _interopRequireDefault(require(\"./order/ascending.js\"));\n\nvar _descending = _interopRequireDefault(require(\"./order/descending.js\"));\n\nvar _insideOut = _interopRequireDefault(require(\"./order/insideOut.js\"));\n\nvar _none2 = _interopRequireDefault(require(\"./order/none.js\"));\n\nvar _reverse = _interopRequireDefault(require(\"./order/reverse.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _index = require(\"../../../lib-vendor/d3-path/src/index.js\");\n\nvar _constant = _interopRequireDefault(require(\"./constant.js\"));\n\nvar _math = require(\"./math.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0,\n y10 = y1 - y0,\n x32 = x3 - x2,\n y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < _math.epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n} // Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\n\n\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / (0, _math.sqrt)(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * (0, _math.sqrt)((0, _math.max)(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00; // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nfunction _default() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = (0, _constant.default)(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null;\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - _math.halfPi,\n a1 = endAngle.apply(this, arguments) - _math.halfPi,\n da = (0, _math.abs)(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = (0, _index.path)(); // Ensure that the outer radius is always larger than the inner radius.\n\n if (r1 < r0) r = r1, r1 = r0, r0 = r; // Is it a point?\n\n if (!(r1 > _math.epsilon)) context.moveTo(0, 0); // Or is it a circle or annulus?\n else if (da > _math.tau - _math.epsilon) {\n context.moveTo(r1 * (0, _math.cos)(a0), r1 * (0, _math.sin)(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n\n if (r0 > _math.epsilon) {\n context.moveTo(r0 * (0, _math.cos)(a1), r0 * (0, _math.sin)(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n } // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = ap > _math.epsilon && (padRadius ? +padRadius.apply(this, arguments) : (0, _math.sqrt)(r0 * r0 + r1 * r1)),\n rc = (0, _math.min)((0, _math.abs)(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1; // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n\n if (rp > _math.epsilon) {\n var p0 = (0, _math.asin)(rp / r0 * (0, _math.sin)(ap)),\n p1 = (0, _math.asin)(rp / r1 * (0, _math.sin)(ap));\n if ((da0 -= p0 * 2) > _math.epsilon) p0 *= cw ? 1 : -1, a00 += p0, a10 -= p0;else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > _math.epsilon) p1 *= cw ? 1 : -1, a01 += p1, a11 -= p1;else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * (0, _math.cos)(a01),\n y01 = r1 * (0, _math.sin)(a01),\n x10 = r0 * (0, _math.cos)(a10),\n y10 = r0 * (0, _math.sin)(a10); // Apply rounded corners?\n\n if (rc > _math.epsilon) {\n var x11 = r1 * (0, _math.cos)(a11),\n y11 = r1 * (0, _math.sin)(a11),\n x00 = r0 * (0, _math.cos)(a00),\n y00 = r0 * (0, _math.sin)(a00),\n oc; // Restrict the corner radius according to the sector angle.\n\n if (da < _math.pi && (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10))) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / (0, _math.sin)((0, _math.acos)((ax * bx + ay * by) / ((0, _math.sqrt)(ax * ax + ay * ay) * (0, _math.sqrt)(bx * bx + by * by))) / 2),\n lc = (0, _math.sqrt)(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = (0, _math.min)(rc, (r0 - lc) / (kc - 1));\n rc1 = (0, _math.min)(rc, (r1 - lc) / (kc + 1));\n }\n } // Is the sector collapsed to a line?\n\n\n if (!(da1 > _math.epsilon)) context.moveTo(x01, y01); // Does the sector’s outer ring have rounded corners?\n else if (rc1 > _math.epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01); // Have the corners merged?\n\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, (0, _math.atan2)(t0.y01, t0.x01), (0, _math.atan2)(t1.y01, t1.x01), !cw); // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, (0, _math.atan2)(t0.y01, t0.x01), (0, _math.atan2)(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, (0, _math.atan2)(t0.cy + t0.y11, t0.cx + t0.x11), (0, _math.atan2)(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, (0, _math.atan2)(t1.y11, t1.x11), (0, _math.atan2)(t1.y01, t1.x01), !cw);\n }\n } // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw); // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n\n if (!(r0 > _math.epsilon) || !(da0 > _math.epsilon)) context.lineTo(x10, y10); // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > _math.epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01); // Have the corners merged?\n\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, (0, _math.atan2)(t0.y01, t0.x01), (0, _math.atan2)(t1.y01, t1.x01), !cw); // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, (0, _math.atan2)(t0.y01, t0.x01), (0, _math.atan2)(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, (0, _math.atan2)(t0.cy + t0.y11, t0.cx + t0.x11), (0, _math.atan2)(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, (0, _math.atan2)(t1.y11, t1.x11), (0, _math.atan2)(t1.y01, t1.x01), !cw);\n }\n } // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n context.closePath();\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function () {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - _math.pi / 2;\n return [(0, _math.cos)(a) * r, (0, _math.sin)(a) * r];\n };\n\n arc.innerRadius = function (_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function (_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function (_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function (_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : (0, _constant.default)(+_), arc) : padRadius;\n };\n\n arc.startAngle = function (_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), arc) : startAngle;\n };\n\n arc.endAngle = function (_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), arc) : endAngle;\n };\n\n arc.padAngle = function (_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), arc) : padAngle;\n };\n\n arc.context = function (_) {\n return arguments.length ? (context = _ == null ? null : _, arc) : context;\n };\n\n return arc;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nconst pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n\n this._ = \"\";\n}\n\nfunction path() {\n return new Path();\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function (x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function () {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function (x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function (x1, y1, x, y) {\n this._ += \"Q\" + +x1 + \",\" + +y1 + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function (x1, y1, x2, y2, x, y) {\n this._ += \"C\" + +x1 + \",\" + +y1 + \",\" + +x2 + \",\" + +y2 + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function (x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01; // Is the radius negative? Error.\n\n if (r < 0) throw new Error(\"negative radius: \" + r); // Is this path empty? Move to (x1,y1).\n\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n } // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon)) ; // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n } // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21; // If the start tangent is not coincident with (x0,y0), line to.\n\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + +(y01 * x20 > x01 * y20) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function (x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0; // Is the radius negative? Error.\n\n if (r < 0) throw new Error(\"negative radius: \" + r); // Is this path empty? Move to (x0,y0).\n\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n } // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n } // Is this arc empty? We’re done.\n\n\n if (!r) return; // Does the angle go the wrong way? Flip the direction.\n\n if (da < 0) da = da % tau + tau; // Is this a complete circle? Draw two arcs to complete the circle.\n\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n } // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + +(da >= pi) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function (x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + +w + \"v\" + +h + \"h\" + -w + \"Z\";\n },\n toString: function () {\n return this._;\n }\n};\nvar _default = path;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _array = _interopRequireDefault(require(\"./array.js\"));\n\nvar _constant = _interopRequireDefault(require(\"./constant.js\"));\n\nvar _descending = _interopRequireDefault(require(\"./descending.js\"));\n\nvar _identity = _interopRequireDefault(require(\"./identity.js\"));\n\nvar _math = require(\"./math.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default() {\n var value = _identity.default,\n sortValues = _descending.default,\n sort = null,\n startAngle = (0, _constant.default)(0),\n endAngle = (0, _constant.default)(_math.tau),\n padAngle = (0, _constant.default)(0);\n\n function pie(data) {\n var i,\n n = (data = (0, _array.default)(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(_math.tau, Math.max(-_math.tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n } // Optionally sort the arcs by previously-computed values or by data.\n\n\n if (sortValues != null) index.sort(function (i, j) {\n return sortValues(arcs[i], arcs[j]);\n });else if (sort != null) index.sort(function (i, j) {\n return sort(data[i], data[j]);\n }); // Compute the arcs! They are stored in the original data's order.\n\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function (_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), pie) : value;\n };\n\n pie.sortValues = function (_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function (_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function (_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), pie) : startAngle;\n };\n\n pie.endAngle = function (_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), pie) : endAngle;\n };\n\n pie.padAngle = function (_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), pie) : padAngle;\n };\n\n return pie;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(d) {\n return d;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _radial = _interopRequireWildcard(require(\"./curve/radial.js\"));\n\nvar _area = _interopRequireDefault(require(\"./area.js\"));\n\nvar _lineRadial = require(\"./lineRadial.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _default() {\n var a = (0, _area.default)().curve(_radial.curveRadialLinear),\n c = a.curve,\n x0 = a.lineX0,\n x1 = a.lineX1,\n y0 = a.lineY0,\n y1 = a.lineY1;\n a.angle = a.x, delete a.x;\n a.startAngle = a.x0, delete a.x0;\n a.endAngle = a.x1, delete a.x1;\n a.radius = a.y, delete a.y;\n a.innerRadius = a.y0, delete a.y0;\n a.outerRadius = a.y1, delete a.y1;\n a.lineStartAngle = function () {\n return (0, _lineRadial.lineRadial)(x0());\n }, delete a.lineX0;\n a.lineEndAngle = function () {\n return (0, _lineRadial.lineRadial)(x1());\n }, delete a.lineX1;\n a.lineInnerRadius = function () {\n return (0, _lineRadial.lineRadial)(y0());\n }, delete a.lineY0;\n a.lineOuterRadius = function () {\n return (0, _lineRadial.lineRadial)(y1());\n }, delete a.lineY1;\n\n a.curve = function (_) {\n return arguments.length ? c((0, _radial.default)(_)) : c()._curve;\n };\n\n return a;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.link = link;\nexports.linkHorizontal = linkHorizontal;\nexports.linkRadial = linkRadial;\nexports.linkVertical = linkVertical;\n\nvar _index = require(\"../../../lib-vendor/d3-path/src/index.js\");\n\nvar _array = require(\"./array.js\");\n\nvar _constant = _interopRequireDefault(require(\"./constant.js\"));\n\nvar _bump = require(\"./curve/bump.js\");\n\nvar _point = require(\"./point.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n let source = linkSource;\n let target = linkTarget;\n let x = _point.x;\n let y = _point.y;\n let context = null;\n let output = null;\n\n function link() {\n let buffer;\n\n const argv = _array.slice.call(arguments);\n\n const s = source.apply(this, argv);\n const t = target.apply(this, argv);\n if (context == null) output = curve(buffer = (0, _index.path)());\n output.lineStart();\n argv[0] = s, output.point(+x.apply(this, argv), +y.apply(this, argv));\n argv[0] = t, output.point(+x.apply(this, argv), +y.apply(this, argv));\n output.lineEnd();\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n link.source = function (_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function (_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function (_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), link) : x;\n };\n\n link.y = function (_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), link) : y;\n };\n\n link.context = function (_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), link) : context;\n };\n\n return link;\n}\n\nfunction linkHorizontal() {\n return link(_bump.bumpX);\n}\n\nfunction linkVertical() {\n return link(_bump.bumpY);\n}\n\nfunction linkRadial() {\n const l = link(_bump.bumpRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Symbol;\nexports.symbolsStroke = exports.symbolsFill = void 0;\n\nvar _index = require(\"../../../lib-vendor/d3-path/src/index.js\");\n\nvar _constant = _interopRequireDefault(require(\"./constant.js\"));\n\nvar _asterisk = _interopRequireDefault(require(\"./symbol/asterisk.js\"));\n\nvar _circle = _interopRequireDefault(require(\"./symbol/circle.js\"));\n\nvar _cross = _interopRequireDefault(require(\"./symbol/cross.js\"));\n\nvar _diamond = _interopRequireDefault(require(\"./symbol/diamond.js\"));\n\nvar _diamond2 = _interopRequireDefault(require(\"./symbol/diamond2.js\"));\n\nvar _plus = _interopRequireDefault(require(\"./symbol/plus.js\"));\n\nvar _square = _interopRequireDefault(require(\"./symbol/square.js\"));\n\nvar _square2 = _interopRequireDefault(require(\"./symbol/square2.js\"));\n\nvar _star = _interopRequireDefault(require(\"./symbol/star.js\"));\n\nvar _triangle = _interopRequireDefault(require(\"./symbol/triangle.js\"));\n\nvar _triangle2 = _interopRequireDefault(require(\"./symbol/triangle2.js\"));\n\nvar _wye = _interopRequireDefault(require(\"./symbol/wye.js\"));\n\nvar _x = _interopRequireDefault(require(\"./symbol/x.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// These symbols are designed to be filled.\nconst symbolsFill = [_circle.default, _cross.default, _diamond.default, _square.default, _star.default, _triangle.default, _wye.default]; // These symbols are designed to be stroked (with a width of 1.5px and round caps).\n\nexports.symbolsFill = symbolsFill;\nconst symbolsStroke = [_circle.default, _plus.default, _x.default, _triangle2.default, _asterisk.default, _square2.default, _diamond2.default];\nexports.symbolsStroke = symbolsStroke;\n\nfunction Symbol(type, size) {\n let context = null;\n type = typeof type === \"function\" ? type : (0, _constant.default)(type || _circle.default);\n size = typeof size === \"function\" ? size : (0, _constant.default)(size === undefined ? 64 : +size);\n\n function symbol() {\n let buffer;\n if (!context) context = buffer = (0, _index.path)();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function (_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : (0, _constant.default)(_), symbol) : type;\n };\n\n symbol.size = function (_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), symbol) : size;\n };\n\n symbol.context = function (_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _noop = _interopRequireDefault(require(\"../noop.js\"));\n\nvar _basis = require(\"./basis.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: _noop.default,\n areaEnd: _noop.default,\n lineStart: function () {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function () {\n switch (this._point) {\n case 1:\n {\n this._context.moveTo(this._x2, this._y2);\n\n this._context.closePath();\n\n break;\n }\n\n case 2:\n {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n\n this._context.closePath();\n\n break;\n }\n\n case 3:\n {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function (x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._x2 = x, this._y2 = y;\n break;\n\n case 1:\n this._point = 2;\n this._x3 = x, this._y3 = y;\n break;\n\n case 2:\n this._point = 3;\n this._x4 = x, this._y4 = y;\n\n this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6);\n\n break;\n\n default:\n (0, _basis.point)(this, x, y);\n break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nfunction _default(context) {\n return new BasisClosed(context);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _basis = require(\"./basis.js\");\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function () {\n this._line = 0;\n },\n areaEnd: function () {\n this._line = NaN;\n },\n lineStart: function () {\n this._x0 = this._x1 = this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function () {\n if (this._line || this._line !== 0 && this._point === 3) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function (x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n break;\n\n case 1:\n this._point = 2;\n break;\n\n case 2:\n this._point = 3;\n var x0 = (this._x0 + 4 * this._x1 + x) / 6,\n y0 = (this._y0 + 4 * this._y1 + y) / 6;\n this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0);\n break;\n\n case 3:\n this._point = 4;\n // falls through\n\n default:\n (0, _basis.point)(this, x, y);\n break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nfunction _default(context) {\n return new BasisOpen(context);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _basis = require(\"./basis.js\");\n\nfunction Bundle(context, beta) {\n this._basis = new _basis.Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function () {\n this._x = [];\n this._y = [];\n\n this._basis.lineStart();\n },\n lineEnd: function () {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n\n this._basis.point(this._beta * x[i] + (1 - this._beta) * (x0 + t * dx), this._beta * y[i] + (1 - this._beta) * (y0 + t * dy));\n }\n }\n\n this._x = this._y = null;\n\n this._basis.lineEnd();\n },\n point: function (x, y) {\n this._x.push(+x);\n\n this._y.push(+y);\n }\n};\n\nvar _default = function custom(beta) {\n function bundle(context) {\n return beta === 1 ? new _basis.Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function (beta) {\n return custom(+beta);\n };\n\n return bundle;\n}(0.85);\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _cardinalClosed = require(\"./cardinalClosed.js\");\n\nvar _noop = _interopRequireDefault(require(\"../noop.js\"));\n\nvar _catmullRom = require(\"./catmullRom.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: _noop.default,\n areaEnd: _noop.default,\n lineStart: function () {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;\n },\n lineEnd: function () {\n switch (this._point) {\n case 1:\n {\n this._context.moveTo(this._x3, this._y3);\n\n this._context.closePath();\n\n break;\n }\n\n case 2:\n {\n this._context.lineTo(this._x3, this._y3);\n\n this._context.closePath();\n\n break;\n }\n\n case 3:\n {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function (x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._x3 = x, this._y3 = y;\n break;\n\n case 1:\n this._point = 2;\n\n this._context.moveTo(this._x4 = x, this._y4 = y);\n\n break;\n\n case 2:\n this._point = 3;\n this._x5 = x, this._y5 = y;\n break;\n\n default:\n (0, _catmullRom.point)(this, x, y);\n break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nvar _default = function custom(alpha) {\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new _cardinalClosed.CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function (alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n}(0.5);\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _cardinalOpen = require(\"./cardinalOpen.js\");\n\nvar _catmullRom = require(\"./catmullRom.js\");\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function () {\n this._line = 0;\n },\n areaEnd: function () {\n this._line = NaN;\n },\n lineStart: function () {\n this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;\n },\n lineEnd: function () {\n if (this._line || this._line !== 0 && this._point === 3) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function (x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0:\n this._point = 1;\n break;\n\n case 1:\n this._point = 2;\n break;\n\n case 2:\n this._point = 3;\n this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);\n break;\n\n case 3:\n this._point = 4;\n // falls through\n\n default:\n (0, _catmullRom.point)(this, x, y);\n break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nvar _default = function custom(alpha) {\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new _cardinalOpen.CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function (alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n}(0.5);\n\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _noop = _interopRequireDefault(require(\"../noop.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: _noop.default,\n areaEnd: _noop.default,\n lineStart: function () {\n this._point = 0;\n },\n lineEnd: function () {\n if (this._point) this._context.closePath();\n },\n point: function (x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nfunction _default(context) {\n return new LinearClosed(context);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.monotoneX = monotoneX;\nexports.monotoneY = monotoneY;\n\nfunction sign(x) {\n return x < 0 ? -1 : 1;\n} // Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\n\n\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n} // Calculate a one-sided slope.\n\n\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n} // According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\n\n\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function () {\n this._line = 0;\n },\n areaEnd: function () {\n this._line = NaN;\n },\n lineStart: function () {\n this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function () {\n switch (this._point) {\n case 2:\n this._context.lineTo(this._x1, this._y1);\n\n break;\n\n case 3:\n point(this, this._t0, slope2(this, this._t0));\n break;\n }\n\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function (x, y) {\n var t1 = NaN;\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n\n case 1:\n this._point = 2;\n break;\n\n case 2:\n this._point = 3;\n point(this, slope2(this, t1 = slope3(this, x, y)), t1);\n break;\n\n default:\n point(this, this._t0, t1 = slope3(this, x, y));\n break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n};\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function (x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function (x, y) {\n this._context.moveTo(y, x);\n },\n closePath: function () {\n this._context.closePath();\n },\n lineTo: function (x, y) {\n this._context.lineTo(y, x);\n },\n bezierCurveTo: function (x1, y1, x2, y2, x, y) {\n this._context.bezierCurveTo(y1, x1, y2, x2, y, x);\n }\n};\n\nfunction monotoneX(context) {\n return new MonotoneX(context);\n}\n\nfunction monotoneY(context) {\n return new MonotoneY(context);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function () {\n this._line = 0;\n },\n areaEnd: function () {\n this._line = NaN;\n },\n lineStart: function () {\n this._x = [];\n this._y = [];\n },\n lineEnd: function () {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || this._line !== 0 && n === 1) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function (x, y) {\n this._x.push(+x);\n\n this._y.push(+y);\n }\n}; // See https://www.particleincell.com/2012/bezier-splines/ for derivation.\n\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n\n a[n - 1] = r[n - 1] / b[n - 1];\n\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n\n return [a, b];\n}\n\nfunction _default(context) {\n return new Natural(context);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.stepAfter = stepAfter;\nexports.stepBefore = stepBefore;\n\nfunction Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function () {\n this._line = 0;\n },\n areaEnd: function () {\n this._line = NaN;\n },\n lineStart: function () {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function () {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function (x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n\n case 1:\n this._point = 2;\n // falls through\n\n default:\n {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n\n this._context.lineTo(x1, this._y);\n\n this._context.lineTo(x1, y);\n }\n\n break;\n }\n }\n\n this._x = x, this._y = y;\n }\n};\n\nfunction _default(context) {\n return new Step(context, 0.5);\n}\n\nfunction stepBefore(context) {\n return new Step(context, 0);\n}\n\nfunction stepAfter(context) {\n return new Step(context, 1);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _array = _interopRequireDefault(require(\"./array.js\"));\n\nvar _constant = _interopRequireDefault(require(\"./constant.js\"));\n\nvar _none = _interopRequireDefault(require(\"./offset/none.js\"));\n\nvar _none2 = _interopRequireDefault(require(\"./order/none.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nfunction stackSeries(key) {\n const series = [];\n series.key = key;\n return series;\n}\n\nfunction _default() {\n var keys = (0, _constant.default)([]),\n order = _none2.default,\n offset = _none.default,\n value = stackValue;\n\n function stack(data) {\n var sz = Array.from(keys.apply(this, arguments), stackSeries),\n i,\n n = sz.length,\n j = -1,\n oz;\n\n for (const d of data) {\n for (i = 0, ++j; i < n; ++i) {\n (sz[i][j] = [0, +value(d, sz[i].key, j, data)]).data = d;\n }\n }\n\n for (i = 0, oz = (0, _array.default)(order(sz)); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function (_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : (0, _constant.default)(Array.from(_)), stack) : keys;\n };\n\n stack.value = function (_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : (0, _constant.default)(+_), stack) : value;\n };\n\n stack.order = function (_) {\n return arguments.length ? (order = _ == null ? _none2.default : typeof _ === \"function\" ? _ : (0, _constant.default)(Array.from(_)), stack) : order;\n };\n\n stack.offset = function (_) {\n return arguments.length ? (offset = _ == null ? _none.default : _, stack) : offset;\n };\n\n return stack;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _none = _interopRequireDefault(require(\"./none.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(series, order) {\n if (!((n = series.length) > 0)) return;\n\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n\n (0, _none.default)(series, order);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nfunction _default(series, order) {\n if (!((n = series.length) > 0)) return;\n\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = 0, d[1] = dy;\n }\n }\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _none = _interopRequireDefault(require(\"./none.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(series, order) {\n if (!((n = series.length) > 0)) return;\n\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n\n s0[j][1] += s0[j][0] = -y / 2;\n }\n\n (0, _none.default)(series, order);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _none = _interopRequireDefault(require(\"./none.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n\n s1 += sij0, s2 += s3 * sij0;\n }\n\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n\n s0[j - 1][1] += s0[j - 1][0] = y;\n (0, _none.default)(series, order);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _ascending = _interopRequireDefault(require(\"./ascending.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(series) {\n return (0, _ascending.default)(series).reverse();\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _appearance = _interopRequireDefault(require(\"./appearance.js\"));\n\nvar _ascending = require(\"./ascending.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(_ascending.sum),\n order = (0, _appearance.default)(series),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _none = _interopRequireDefault(require(\"./none.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _default(series) {\n return (0, _none.default)(series).reverse();\n}","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\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.\"); }\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); }\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; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n/**\n * @fileOverview Wrapper component to make charts adapt to the size of parent * DOM\n */\nimport clsx from 'clsx';\nimport React, { forwardRef, cloneElement, useState, useImperativeHandle, useRef, useEffect, useMemo, useCallback } from 'react';\nimport throttle from 'lodash/throttle';\nimport { isPercent } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nimport { getDisplayName } from '../util/ReactUtils';\nexport var ResponsiveContainer = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var aspect = _ref.aspect,\n _ref$initialDimension = _ref.initialDimension,\n initialDimension = _ref$initialDimension === void 0 ? {\n width: -1,\n height: -1\n } : _ref$initialDimension,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '100%' : _ref$height,\n _ref$minWidth = _ref.minWidth,\n minWidth = _ref$minWidth === void 0 ? 0 : _ref$minWidth,\n minHeight = _ref.minHeight,\n maxHeight = _ref.maxHeight,\n children = _ref.children,\n _ref$debounce = _ref.debounce,\n debounce = _ref$debounce === void 0 ? 0 : _ref$debounce,\n id = _ref.id,\n className = _ref.className,\n onResize = _ref.onResize,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style;\n var containerRef = useRef(null);\n var onResizeRef = useRef();\n onResizeRef.current = onResize;\n useImperativeHandle(ref, function () {\n return Object.defineProperty(containerRef.current, 'current', {\n get: function get() {\n // eslint-disable-next-line no-console\n console.warn('The usage of ref.current.current is deprecated and will no longer be supported.');\n return containerRef.current;\n },\n configurable: true\n });\n });\n var _useState = useState({\n containerWidth: initialDimension.width,\n containerHeight: initialDimension.height\n }),\n _useState2 = _slicedToArray(_useState, 2),\n sizes = _useState2[0],\n setSizes = _useState2[1];\n var setContainerSize = useCallback(function (newWidth, newHeight) {\n setSizes(function (prevState) {\n var roundedWidth = Math.round(newWidth);\n var roundedHeight = Math.round(newHeight);\n if (prevState.containerWidth === roundedWidth && prevState.containerHeight === roundedHeight) {\n return prevState;\n }\n return {\n containerWidth: roundedWidth,\n containerHeight: roundedHeight\n };\n });\n }, []);\n useEffect(function () {\n var callback = function callback(entries) {\n var _onResizeRef$current;\n var _entries$0$contentRec = entries[0].contentRect,\n containerWidth = _entries$0$contentRec.width,\n containerHeight = _entries$0$contentRec.height;\n setContainerSize(containerWidth, containerHeight);\n (_onResizeRef$current = onResizeRef.current) === null || _onResizeRef$current === void 0 || _onResizeRef$current.call(onResizeRef, containerWidth, containerHeight);\n };\n if (debounce > 0) {\n callback = throttle(callback, debounce, {\n trailing: true,\n leading: false\n });\n }\n var observer = new ResizeObserver(callback);\n var _containerRef$current = containerRef.current.getBoundingClientRect(),\n containerWidth = _containerRef$current.width,\n containerHeight = _containerRef$current.height;\n setContainerSize(containerWidth, containerHeight);\n observer.observe(containerRef.current);\n return function () {\n observer.disconnect();\n };\n }, [setContainerSize, debounce]);\n var chartContent = useMemo(function () {\n var containerWidth = sizes.containerWidth,\n containerHeight = sizes.containerHeight;\n if (containerWidth < 0 || containerHeight < 0) {\n return null;\n }\n warn(isPercent(width) || isPercent(height), \"The width(%s) and height(%s) are both fixed numbers,\\n maybe you don't need to use a ResponsiveContainer.\", width, height);\n warn(!aspect || aspect > 0, 'The aspect(%s) must be greater than zero.', aspect);\n var calculatedWidth = isPercent(width) ? containerWidth : width;\n var calculatedHeight = isPercent(height) ? containerHeight : height;\n if (aspect && aspect > 0) {\n // Preserve the desired aspect ratio\n if (calculatedWidth) {\n // Will default to using width for aspect ratio\n calculatedHeight = calculatedWidth / aspect;\n } else if (calculatedHeight) {\n // But we should also take height into consideration\n calculatedWidth = calculatedHeight * aspect;\n }\n\n // if maxHeight is set, overwrite if calculatedHeight is greater than maxHeight\n if (maxHeight && calculatedHeight > maxHeight) {\n calculatedHeight = maxHeight;\n }\n }\n warn(calculatedWidth > 0 || calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n please check the style of container, or the props width(%s) and height(%s),\\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n var isCharts = !Array.isArray(children) && getDisplayName(children.type).endsWith('Chart');\n return React.Children.map(children, function (child) {\n if ( /*#__PURE__*/React.isValidElement(child)) {\n return /*#__PURE__*/cloneElement(child, _objectSpread({\n width: calculatedWidth,\n height: calculatedHeight\n }, isCharts ? {\n style: _objectSpread({\n height: '100%',\n width: '100%',\n maxHeight: calculatedHeight,\n maxWidth: calculatedWidth\n }, child.props.style)\n } : {}));\n }\n return child;\n });\n }, [aspect, children, height, maxHeight, minHeight, minWidth, sizes, width]);\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id ? \"\".concat(id) : undefined,\n className: clsx('recharts-responsive-container', className),\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: width,\n height: height,\n minWidth: minWidth,\n minHeight: minHeight,\n maxHeight: maxHeight\n }),\n ref: containerRef\n }, chartContent);\n});","/**\n * @fileOverview Bar Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Bar } from '../cartesian/Bar';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var BarChart = generateCategoricalChart({\n chartName: 'BarChart',\n GraphicalChild: Bar,\n defaultTooltipEventType: 'axis',\n validateTooltipEventTypes: ['axis', 'item'],\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","var _excluded = [\"x1\", \"y1\", \"x2\", \"y2\", \"key\"],\n _excluded2 = [\"offset\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\n/**\n * @fileOverview Cartesian Grid\n */\nimport React from 'react';\nimport isFunction from 'lodash/isFunction';\nimport { warn } from '../util/LogUtils';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/ReactUtils';\nimport { getCoordinatesOfGrid, getTicksOfAxis } from '../util/ChartUtils';\nimport { getTicks } from './getTicks';\nimport { CartesianAxis } from './CartesianAxis';\nimport { useArbitraryXAxis, useChartHeight, useChartWidth, useOffset, useYAxisWithFiniteDomainOrRandom } from '../context/chartLayoutContext';\n\n/**\n * The = 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\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.\"); }\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); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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/**\n * @fileOverview Polygon\n */\nimport React from 'react';\nimport clsx from 'clsx';\nimport { filterProps } from '../util/ReactUtils';\nvar isValidatePoint = function isValidatePoint(point) {\n return point && point.x === +point.x && point.y === +point.y;\n};\nvar getParsedPoints = function getParsedPoints() {\n var points = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var segmentPoints = [[]];\n points.forEach(function (entry) {\n if (isValidatePoint(entry)) {\n segmentPoints[segmentPoints.length - 1].push(entry);\n } else if (segmentPoints[segmentPoints.length - 1].length > 0) {\n // add another path\n segmentPoints.push([]);\n }\n });\n if (isValidatePoint(points[0])) {\n segmentPoints[segmentPoints.length - 1].push(points[0]);\n }\n if (segmentPoints[segmentPoints.length - 1].length <= 0) {\n segmentPoints = segmentPoints.slice(0, -1);\n }\n return segmentPoints;\n};\nvar getSinglePolygonPath = function getSinglePolygonPath(points, connectNulls) {\n var segmentPoints = getParsedPoints(points);\n if (connectNulls) {\n segmentPoints = [segmentPoints.reduce(function (res, segPoints) {\n return [].concat(_toConsumableArray(res), _toConsumableArray(segPoints));\n }, [])];\n }\n var polygonPath = segmentPoints.map(function (segPoints) {\n return segPoints.reduce(function (path, point, index) {\n return \"\".concat(path).concat(index === 0 ? 'M' : 'L').concat(point.x, \",\").concat(point.y);\n }, '');\n }).join('');\n return segmentPoints.length === 1 ? \"\".concat(polygonPath, \"Z\") : polygonPath;\n};\nvar getRanglePath = function getRanglePath(points, baseLinePoints, connectNulls) {\n var outerPath = getSinglePolygonPath(points, connectNulls);\n return \"\".concat(outerPath.slice(-1) === 'Z' ? outerPath.slice(0, -1) : outerPath, \"L\").concat(getSinglePolygonPath(baseLinePoints.reverse(), connectNulls).slice(1));\n};\nexport var Polygon = function Polygon(props) {\n var points = props.points,\n className = props.className,\n baseLinePoints = props.baseLinePoints,\n connectNulls = props.connectNulls,\n others = _objectWithoutProperties(props, _excluded);\n if (!points || !points.length) {\n return null;\n }\n var layerClass = clsx('recharts-polygon', className);\n if (baseLinePoints && baseLinePoints.length) {\n var hasStroke = others.stroke && others.stroke !== 'none';\n var rangePath = getRanglePath(points, baseLinePoints, connectNulls);\n return /*#__PURE__*/React.createElement(\"g\", {\n className: layerClass\n }, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(others, true), {\n fill: rangePath.slice(-1) === 'Z' ? others.fill : 'none',\n stroke: \"none\",\n d: rangePath\n })), hasStroke ? /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(others, true), {\n fill: \"none\",\n d: getSinglePolygonPath(points, connectNulls)\n })) : null, hasStroke ? /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(others, true), {\n fill: \"none\",\n d: getSinglePolygonPath(baseLinePoints, connectNulls)\n })) : null);\n }\n var singlePath = getSinglePolygonPath(points, connectNulls);\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(others, true), {\n fill: singlePath.slice(-1) === 'Z' ? others.fill : 'none',\n className: layerClass,\n d: singlePath\n }));\n};","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Axis of radial direction\n */\nimport React, { PureComponent } from 'react';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { Layer } from '../container/Layer';\nimport { Dot } from '../shape/Dot';\nimport { Polygon } from '../shape/Polygon';\nimport { Text } from '../component/Text';\nimport { adaptEventsOfChild } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nimport { getTickClassName, polarToCartesian } from '../util/PolarUtils';\nvar RADIAN = Math.PI / 180;\nvar eps = 1e-5;\nexport var PolarAngleAxis = /*#__PURE__*/function (_PureComponent) {\n function PolarAngleAxis() {\n _classCallCheck(this, PolarAngleAxis);\n return _callSuper(this, PolarAngleAxis, arguments);\n }\n _inherits(PolarAngleAxis, _PureComponent);\n return _createClass(PolarAngleAxis, [{\n key: \"getTickLineCoord\",\n value:\n /**\n * Calculate the coordinate of line endpoint\n * @param {Object} data The Data if ticks\n * @return {Object} (x0, y0): The start point of text,\n * (x1, y1): The end point close to text,\n * (x2, y2): The end point close to axis\n */\n function getTickLineCoord(data) {\n var _this$props = this.props,\n cx = _this$props.cx,\n cy = _this$props.cy,\n radius = _this$props.radius,\n orientation = _this$props.orientation,\n tickSize = _this$props.tickSize;\n var tickLineSize = tickSize || 8;\n var p1 = polarToCartesian(cx, cy, radius, data.coordinate);\n var p2 = polarToCartesian(cx, cy, radius + (orientation === 'inner' ? -1 : 1) * tickLineSize, data.coordinate);\n return {\n x1: p1.x,\n y1: p1.y,\n x2: p2.x,\n y2: p2.y\n };\n }\n\n /**\n * Get the text-anchor of each tick\n * @param {Object} data Data of ticks\n * @return {String} text-anchor\n */\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor(data) {\n var orientation = this.props.orientation;\n var cos = Math.cos(-data.coordinate * RADIAN);\n var textAnchor;\n if (cos > eps) {\n textAnchor = orientation === 'outer' ? 'start' : 'end';\n } else if (cos < -eps) {\n textAnchor = orientation === 'outer' ? 'end' : 'start';\n } else {\n textAnchor = 'middle';\n }\n return textAnchor;\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props2 = this.props,\n cx = _this$props2.cx,\n cy = _this$props2.cy,\n radius = _this$props2.radius,\n axisLine = _this$props2.axisLine,\n axisLineType = _this$props2.axisLineType;\n var props = _objectSpread(_objectSpread({}, filterProps(this.props, false)), {}, {\n fill: 'none'\n }, filterProps(axisLine, false));\n if (axisLineType === 'circle') {\n return /*#__PURE__*/React.createElement(Dot, _extends({\n className: \"recharts-polar-angle-axis-line\"\n }, props, {\n cx: cx,\n cy: cy,\n r: radius\n }));\n }\n var ticks = this.props.ticks;\n var points = ticks.map(function (entry) {\n return polarToCartesian(cx, cy, radius, entry.coordinate);\n });\n return /*#__PURE__*/React.createElement(Polygon, _extends({\n className: \"recharts-polar-angle-axis-line\"\n }, props, {\n points: points\n }));\n }\n }, {\n key: \"renderTicks\",\n value: function renderTicks() {\n var _this = this;\n var _this$props3 = this.props,\n ticks = _this$props3.ticks,\n tick = _this$props3.tick,\n tickLine = _this$props3.tickLine,\n tickFormatter = _this$props3.tickFormatter,\n stroke = _this$props3.stroke;\n var axisProps = filterProps(this.props, false);\n var customTickProps = filterProps(tick, false);\n var tickLineProps = _objectSpread(_objectSpread({}, axisProps), {}, {\n fill: 'none'\n }, filterProps(tickLine, false));\n var items = ticks.map(function (entry, i) {\n var lineCoord = _this.getTickLineCoord(entry);\n var textAnchor = _this.getTickTextAnchor(entry);\n var tickProps = _objectSpread(_objectSpread(_objectSpread({\n textAnchor: textAnchor\n }, axisProps), {}, {\n stroke: 'none',\n fill: stroke\n }, customTickProps), {}, {\n index: i,\n payload: entry,\n x: lineCoord.x2,\n y: lineCoord.y2\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: clsx('recharts-polar-angle-axis-tick', getTickClassName(tick)),\n key: \"tick-\".concat(entry.coordinate)\n }, adaptEventsOfChild(_this.props, entry, i)), tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({\n className: \"recharts-polar-angle-axis-tick-line\"\n }, tickLineProps, lineCoord)), tick && PolarAngleAxis.renderTickItem(tick, tickProps, tickFormatter ? tickFormatter(entry.value, i) : entry.value));\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-polar-angle-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n ticks = _this$props4.ticks,\n radius = _this$props4.radius,\n axisLine = _this$props4.axisLine;\n if (radius <= 0 || !ticks || !ticks.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('recharts-polar-angle-axis', this.props.className)\n }, axisLine && this.renderAxisLine(), this.renderTicks());\n }\n }], [{\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\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-polar-angle-axis-tick-value\"\n }), value);\n }\n return tickItem;\n }\n }]);\n}(PureComponent);\n_defineProperty(PolarAngleAxis, \"displayName\", 'PolarAngleAxis');\n_defineProperty(PolarAngleAxis, \"axisType\", 'angleAxis');\n_defineProperty(PolarAngleAxis, \"defaultProps\", {\n type: 'category',\n angleAxisId: 0,\n scale: 'auto',\n cx: 0,\n cy: 0,\n orientation: 'outer',\n axisLine: true,\n tickLine: true,\n tickSize: 8,\n tick: true,\n hide: false,\n allowDuplicatedCategory: true\n});","var _excluded = [\"cx\", \"cy\", \"angle\", \"ticks\", \"axisLine\"],\n _excluded2 = [\"ticks\", \"tick\", \"angle\", \"tickFormatter\", \"stroke\"];\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\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; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview The axis of polar coordinate system\n */\nimport React, { PureComponent } from 'react';\nimport maxBy from 'lodash/maxBy';\nimport minBy from 'lodash/minBy';\nimport isFunction from 'lodash/isFunction';\nimport clsx from 'clsx';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { Layer } from '../container/Layer';\nimport { getTickClassName, polarToCartesian } from '../util/PolarUtils';\nimport { adaptEventsOfChild } from '../util/types';\nimport { filterProps } from '../util/ReactUtils';\nexport var PolarRadiusAxis = /*#__PURE__*/function (_PureComponent) {\n function PolarRadiusAxis() {\n _classCallCheck(this, PolarRadiusAxis);\n return _callSuper(this, PolarRadiusAxis, arguments);\n }\n _inherits(PolarRadiusAxis, _PureComponent);\n return _createClass(PolarRadiusAxis, [{\n key: \"getTickValueCoord\",\n value:\n /**\n * Calculate the coordinate of tick\n * @param {Number} coordinate The radius of tick\n * @return {Object} (x, y)\n */\n function getTickValueCoord(_ref) {\n var coordinate = _ref.coordinate;\n var _this$props = this.props,\n angle = _this$props.angle,\n cx = _this$props.cx,\n cy = _this$props.cy;\n return polarToCartesian(cx, cy, coordinate, angle);\n }\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor() {\n var orientation = this.props.orientation;\n var textAnchor;\n switch (orientation) {\n case 'left':\n textAnchor = 'end';\n break;\n case 'right':\n textAnchor = 'start';\n break;\n default:\n textAnchor = 'middle';\n break;\n }\n return textAnchor;\n }\n }, {\n key: \"getViewBox\",\n value: function getViewBox() {\n var _this$props2 = this.props,\n cx = _this$props2.cx,\n cy = _this$props2.cy,\n angle = _this$props2.angle,\n ticks = _this$props2.ticks;\n var maxRadiusTick = maxBy(ticks, function (entry) {\n return entry.coordinate || 0;\n });\n var minRadiusTick = minBy(ticks, function (entry) {\n return entry.coordinate || 0;\n });\n return {\n cx: cx,\n cy: cy,\n startAngle: angle,\n endAngle: angle,\n innerRadius: minRadiusTick.coordinate || 0,\n outerRadius: maxRadiusTick.coordinate || 0\n };\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props3 = this.props,\n cx = _this$props3.cx,\n cy = _this$props3.cy,\n angle = _this$props3.angle,\n ticks = _this$props3.ticks,\n axisLine = _this$props3.axisLine,\n others = _objectWithoutProperties(_this$props3, _excluded);\n var extent = ticks.reduce(function (result, entry) {\n return [Math.min(result[0], entry.coordinate), Math.max(result[1], entry.coordinate)];\n }, [Infinity, -Infinity]);\n var point0 = polarToCartesian(cx, cy, extent[0], angle);\n var point1 = polarToCartesian(cx, cy, extent[1], angle);\n var props = _objectSpread(_objectSpread(_objectSpread({}, filterProps(others, false)), {}, {\n fill: 'none'\n }, filterProps(axisLine, false)), {}, {\n x1: point0.x,\n y1: point0.y,\n x2: point1.x,\n y2: point1.y\n });\n return /*#__PURE__*/React.createElement(\"line\", _extends({\n className: \"recharts-polar-radius-axis-line\"\n }, props));\n }\n }, {\n key: \"renderTicks\",\n value: function renderTicks() {\n var _this = this;\n var _this$props4 = this.props,\n ticks = _this$props4.ticks,\n tick = _this$props4.tick,\n angle = _this$props4.angle,\n tickFormatter = _this$props4.tickFormatter,\n stroke = _this$props4.stroke,\n others = _objectWithoutProperties(_this$props4, _excluded2);\n var textAnchor = this.getTickTextAnchor();\n var axisProps = filterProps(others, false);\n var customTickProps = filterProps(tick, false);\n var items = ticks.map(function (entry, i) {\n var coord = _this.getTickValueCoord(entry);\n var tickProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n textAnchor: textAnchor,\n transform: \"rotate(\".concat(90 - angle, \", \").concat(coord.x, \", \").concat(coord.y, \")\")\n }, axisProps), {}, {\n stroke: 'none',\n fill: stroke\n }, customTickProps), {}, {\n index: i\n }, coord), {}, {\n payload: entry\n });\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: clsx('recharts-polar-radius-axis-tick', getTickClassName(tick)),\n key: \"tick-\".concat(entry.coordinate)\n }, adaptEventsOfChild(_this.props, entry, i)), PolarRadiusAxis.renderTickItem(tick, tickProps, tickFormatter ? tickFormatter(entry.value, i) : entry.value));\n });\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-polar-radius-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props5 = this.props,\n ticks = _this$props5.ticks,\n axisLine = _this$props5.axisLine,\n tick = _this$props5.tick;\n if (!ticks || !ticks.length) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Layer, {\n className: clsx('recharts-polar-radius-axis', this.props.className)\n }, axisLine && this.renderAxisLine(), tick && this.renderTicks(), Label.renderCallByParent(this.props, this.getViewBox()));\n }\n }], [{\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\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-polar-radius-axis-tick-value\"\n }), value);\n }\n return tickItem;\n }\n }]);\n}(PureComponent);\n_defineProperty(PolarRadiusAxis, \"displayName\", 'PolarRadiusAxis');\n_defineProperty(PolarRadiusAxis, \"axisType\", 'radiusAxis');\n_defineProperty(PolarRadiusAxis, \"defaultProps\", {\n type: 'number',\n radiusAxisId: 0,\n cx: 0,\n cy: 0,\n angle: 0,\n orientation: 'right',\n stroke: '#ccc',\n axisLine: true,\n tick: true,\n tickCount: 5,\n allowDataOverflow: false,\n scale: 'auto',\n allowDuplicatedCategory: true\n});","/**\n * @fileOverview Pie Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { PolarAngleAxis } from '../polar/PolarAngleAxis';\nimport { PolarRadiusAxis } from '../polar/PolarRadiusAxis';\nimport { formatAxisMap } from '../util/PolarUtils';\nimport { Pie } from '../polar/Pie';\nexport var PieChart = generateCategoricalChart({\n chartName: 'PieChart',\n GraphicalChild: Pie,\n validateTooltipEventTypes: ['item'],\n defaultTooltipEventType: 'item',\n legendContent: 'children',\n axisComponents: [{\n axisType: 'angleAxis',\n AxisComp: PolarAngleAxis\n }, {\n axisType: 'radiusAxis',\n AxisComp: PolarRadiusAxis\n }],\n formatAxisMap: formatAxisMap,\n defaultProps: {\n layout: 'centric',\n startAngle: 0,\n endAngle: 360,\n cx: '50%',\n cy: '50%',\n innerRadius: 0,\n outerRadius: '80%'\n }\n});"],"sourceRoot":""}