{"version":3,"sources":["webpack:///./node_modules/echarts/lib/chart/parallel/ParallelSeries.js","webpack:///./node_modules/echarts/lib/component/visualMap/PiecewiseView.js","webpack:///./node_modules/echarts/lib/component/tooltip.js","webpack:///./node_modules/echarts/lib/chart/funnel/FunnelSeries.js","webpack:///./node_modules/echarts/lib/coord/geo/prepareCustom.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/echarts/lib/coord/geo/Geo.js","webpack:///./node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js","webpack:///./node_modules/echarts/lib/component/gridSimple.js","webpack:///./node_modules/echarts/lib/component/helper/roamHelper.js","webpack:///./node_modules/echarts/lib/component/dataset.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/internals/engine-ff-version.js","webpack:///./node_modules/zrender/lib/core/timsort.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/zrender/lib/contain/polygon.js","webpack:///./node_modules/zrender/lib/animation/Animator.js","webpack:///./node_modules/echarts/lib/data/Tree.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/echarts/lib/component/visualMap/PiecewiseModel.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/echarts/lib/component/tooltip/TooltipContent.js","webpack:///./node_modules/echarts/lib/chart/gauge.js","webpack:///./node_modules/echarts/lib/chart/parallel.js","webpack:///./node_modules/echarts/lib/chart/candlestick.js","webpack:///./node_modules/echarts/lib/component/timeline/TimelineAxis.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/echarts/lib/chart/candlestick/candlestickLayout.js","webpack:///./node_modules/echarts/lib/component/dataZoom.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/core-js/internals/to-index.js","webpack:///./node_modules/core-js/internals/array-species-constructor.js","webpack:///./node_modules/zrender/lib/core/GestureMgr.js","webpack:///./node_modules/echarts/lib/component/legendScroll.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/zrender/lib/core/arrayDiff2.js","webpack:///./node_modules/echarts/lib/component/helper/MapDraw.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/zrender/lib/mixin/Transformable.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./node_modules/zrender/lib/graphic/Image.js","webpack:///./node_modules/echarts/lib/chart/sankey/sankeyVisual.js","webpack:///./node_modules/throttle-debounce/debounce.js","webpack:///./node_modules/echarts/lib/component/legend/ScrollableLegendView.js","webpack:///./node_modules/echarts/lib/coord/parallel/ParallelAxis.js","webpack:///./node_modules/echarts/lib/data/helper/sourceHelper.js","webpack:///./node_modules/echarts/lib/chart/helper/EffectLine.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/echarts/lib/component/brush/visualEncoding.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/echarts/lib/chart/effectScatter.js","webpack:///./node_modules/element-ui/lib/mixins/focus.js","webpack:///./node_modules/echarts/lib/component/axisPointer/findPointFromSeries.js","webpack:///./node_modules/echarts/lib/chart/helper/Symbol.js","webpack:///./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack:///./node_modules/core-js/internals/array-copy-within.js","webpack:///./node_modules/echarts/lib/chart/radar/RadarView.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/echarts/lib/component/axis/RadiusAxisView.js","webpack:///./node_modules/element-ui/lib/scrollbar.js","webpack:///./node_modules/echarts/lib/helper.js","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/echarts/lib/chart/scatter.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/zrender/lib/core/matrix.js","webpack:///./node_modules/core-js/modules/es.typed-array.subarray.js","webpack:///./node_modules/echarts/lib/coord/radar/RadarModel.js","webpack:///./node_modules/echarts/lib/coord/geo/fix/textCoord.js","webpack:///./node_modules/echarts/lib/chart/bar/BarSeries.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/echarts/lib/component/axisPointer/globalListener.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/core-js/internals/to-offset.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/echarts/lib/scale/Ordinal.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/echarts/lib/component/marker/MarkLineModel.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/echarts/lib/chart/candlestick/CandlestickView.js","webpack:///./node_modules/zrender/lib/graphic/Displayable.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/echarts/lib/chart/pie/PieView.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/echarts/lib/chart/graph/simpleLayoutHelper.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/echarts/lib/coord/polar/polarCreator.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/echarts/lib/layout/barPolar.js","webpack:///./node_modules/echarts/lib/chart/gauge/PointerPath.js","webpack:///./node_modules/echarts/lib/coord/geo/GeoModel.js","webpack:///./node_modules/zrender/lib/mixin/Eventful.js","webpack:///./node_modules/echarts/lib/coord/axisModelCommonMixin.js","webpack:///./node_modules/echarts/lib/CoordinateSystem.js","webpack:///./node_modules/zrender/lib/core/PathProxy.js","webpack:///./node_modules/echarts/lib/component/toolbox/featureManager.js","webpack:///./node_modules/echarts/lib/chart/tree/TreeSeries.js","webpack:///./node_modules/echarts/lib/scale/Time.js","webpack:///./node_modules/echarts/lib/chart/line/LineSeries.js","webpack:///./node_modules/echarts/lib/coord/parallel/ParallelModel.js","webpack:///./node_modules/core-js/modules/es.typed-array.sort.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/zrender/lib/core/env.js","webpack:///./node_modules/echarts/lib/chart/tree/layoutHelper.js","webpack:///./node_modules/echarts/lib/util/graphic.js","webpack:///./node_modules/echarts/lib/component/dataZoom/SliderZoomView.js","webpack:///./node_modules/echarts/lib/chart/helper/createGraphFromNodeEdge.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/echarts/lib/coord/radar/Radar.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/echarts/lib/chart/graph.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/echarts/lib/component/marker/MarkerModel.js","webpack:///./node_modules/echarts/lib/chart/funnel/funnelLayout.js","webpack:///./node_modules/core-js/modules/es.string.includes.js","webpack:///./node_modules/echarts/lib/chart/themeRiver/ThemeRiverView.js","webpack:///./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/echarts/lib/preprocessor/helper/compatStyle.js","webpack:///./node_modules/echarts/lib/model/mixin/makeStyleMapper.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/echarts/lib/chart/pie/pieLayout.js","webpack:///./node_modules/echarts/lib/chart/graph/categoryVisual.js","webpack:///./node_modules/core-js/modules/es.typed-array.slice.js","webpack:///./node_modules/element-ui/lib/tooltip.js","webpack:///./node_modules/echarts/lib/lang.js","webpack:///./node_modules/echarts/lib/component/visualMapPiecewise.js","webpack:///./node_modules/element-ui/lib/utils/scroll-into-view.js","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/echarts/lib/data/helper/dataProvider.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./node_modules/zrender/lib/graphic/Style.js","webpack:///./node_modules/echarts/lib/visual/visualSolution.js","webpack:///./node_modules/element-ui/lib/mixins/migrating.js","webpack:///./node_modules/echarts/lib/component/dataZoom/dataZoomProcessor.js","webpack:///./node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/zrender/lib/config.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/echarts/lib/component/singleAxis.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/echarts/lib/component/brush.js","webpack:///./node_modules/echarts/lib/data/helper/dimensionHelper.js","webpack:///./node_modules/echarts/lib/component/polar.js","webpack:///./node_modules/echarts/lib/chart/boxplot/boxplotVisual.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/echarts/lib/chart/bar/BaseBarSeries.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/zrender/lib/tool/parseSVG.js","webpack:///./node_modules/echarts/lib/component/visualMap/ContinuousModel.js","webpack:///./node_modules/echarts/lib/coord/single/prepareCustom.js","webpack:///./node_modules/echarts/lib/component/marker/MarkLineView.js","webpack:///./node_modules/zrender/lib/animation/Animation.js","webpack:///./node_modules/echarts/lib/chart/sankey.js","webpack:///./node_modules/echarts/index.js","webpack:///./node_modules/echarts/lib/data/helper/linkList.js","webpack:///./node_modules/echarts/lib/coord/geo/fix/nanhai.js","webpack:///./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack:///./node_modules/echarts/lib/component/dataZoom/InsideZoomView.js","webpack:///./node_modules/echarts/lib/chart/helper/createListFromArray.js","webpack:///./node_modules/echarts/lib/chart/bar/PictorialBarView.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/echarts/lib/chart/sunburst/SunburstView.js","webpack:///./node_modules/zrender/lib/tool/path.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/echarts/lib/component/timeline/SliderTimelineView.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/echarts/lib/component/dataZoom/SliderZoomModel.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/echarts/lib/util/number.js","webpack:///./node_modules/echarts/lib/model/mixin/dataFormat.js","webpack:///./node_modules/echarts/lib/model/mixin/lineStyle.js","webpack:///./node_modules/zrender/lib/graphic/IncrementalDisplayable.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/echarts/lib/component/timeline/timelineAction.js","webpack:///./node_modules/echarts/lib/chart/heatmap/HeatmapSeries.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/echarts/lib/component/dataZoom/DataZoomModel.js","webpack:///./node_modules/core-js/modules/es.typed-array.find-index.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/deepmerge/dist/cjs.js","webpack:///./node_modules/core-js/modules/es.typed-array.set.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/echarts/lib/component/visualMap/ContinuousView.js","webpack:///./node_modules/echarts/lib/echarts.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/zrender/lib/svg/graphic.js","webpack:///./node_modules/core-js/modules/es.typed-array.map.js","webpack:///./node_modules/element-ui/lib/utils/resize-event.js","webpack:///./node_modules/zrender/lib/core/vector.js","webpack:///./node_modules/echarts/lib/component/dataZoom/SelectZoomModel.js","webpack:///./node_modules/element-ui/lib/utils/clickoutside.js","webpack:///./node_modules/babel-runtime/helpers/extends.js","webpack:///./node_modules/zrender/lib/tool/color.js","webpack:///./node_modules/element-ui/lib/utils/vdom.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/zrender/lib/graphic/Gradient.js","webpack:///./node_modules/echarts/lib/component/tooltip/TooltipView.js","webpack:///./node_modules/echarts/lib/model/Model.js","webpack:///./node_modules/echarts/lib/coord/single/singleCreator.js","webpack:///./node_modules/echarts/lib/component/marker/MarkAreaModel.js","webpack:///./node_modules/echarts/lib/chart/treemap/treemapAction.js","webpack:///./node_modules/zrender/lib/animation/Clip.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/echarts/lib/chart/sunburst/sunburstAction.js","webpack:///./node_modules/echarts/lib/chart/helper/Polyline.js","webpack:///./node_modules/zrender/lib/graphic/shape/Ring.js","webpack:///./node_modules/echarts/lib/component/legend/legendAction.js","webpack:///./node_modules/core-js/modules/es.string.match.js","webpack:///./node_modules/echarts/lib/coord/calendar/prepareCustom.js","webpack:///./node_modules/element-ui/lib/cascader-panel.js","webpack:///./node_modules/echarts/lib/chart/effectScatter/EffectScatterView.js","webpack:///./node_modules/echarts/lib/chart/heatmap/HeatmapView.js","webpack:///./node_modules/echarts/lib/chart/graph/adjustEdge.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/element-ui/lib/locale/index.js","webpack:///./node_modules/zrender/lib/graphic/LinearGradient.js","webpack:///./node_modules/echarts/lib/component/axisPointer/AxisPointerModel.js","webpack:///./node_modules/echarts/lib/coord/cartesian/AxisModel.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/zrender/lib/core/log.js","webpack:///./node_modules/echarts/lib/action/geoRoam.js","webpack:///./node_modules/echarts/lib/component/helper/RoamController.js","webpack:///./node_modules/zrender/lib/core/curve.js","webpack:///./node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer.js","webpack:///./node_modules/zrender/lib/graphic/shape/Sector.js","webpack:///./node_modules/zrender/lib/svg/helper/Definable.js","webpack:///./node_modules/echarts/lib/component/dataZoom/SelectZoomView.js","webpack:///./node_modules/element-ui/lib/utils/popup/popup-manager.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/echarts/lib/coord/single/Single.js","webpack:///./node_modules/echarts/lib/coord/geo/geoJSONLoader.js","webpack:///./node_modules/echarts/lib/chart/candlestick/candlestickVisual.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js","webpack:///./node_modules/echarts/lib/chart/funnel/FunnelView.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/echarts/lib/chart/gauge/GaugeSeries.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/echarts/lib/config.js","webpack:///./node_modules/echarts/lib/chart/map/MapSeries.js","webpack:///./node_modules/echarts/lib/chart/sunburst/SunburstPiece.js","webpack:///./node_modules/element-ui/lib/select.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/SaveAsImage.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/echarts/lib/model/Series.js","webpack:///./node_modules/zrender/lib/graphic/helper/poly.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/echarts/lib/component/dataZoom/helper.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/element-ui/lib/utils/popup/index.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/internals/engine-webkit-version.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/echarts/lib/chart/themeRiver/themeRiverLayout.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/echarts/lib/component/visualMap.js","webpack:///./node_modules/element-ui/lib/transitions/collapse-transition.js","webpack:///./node_modules/echarts/lib/chart/map/mapVisual.js","webpack:///./node_modules/echarts/lib/model/mixin/itemStyle.js","webpack:///./node_modules/echarts/lib/component/radar.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///./node_modules/echarts/lib/component/dataZoom/roams.js","webpack:///./node_modules/echarts/lib/chart/helper/treeHelper.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/zrender/lib/graphic/helper/roundRect.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/echarts/lib/chart/graph/forceLayout.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/element-ui/lib/utils/dom.js","webpack:///./node_modules/throttle-debounce/throttle.js","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Grid.js","webpack:///./node_modules/echarts/lib/chart/sankey/SankeyView.js","webpack:///./node_modules/echarts/lib/coord/geo/geoSourceManager.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/element-ui/lib/element-ui.common.js","webpack:///./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack:///./node_modules/echarts/lib/chart/heatmap.js","webpack:///./node_modules/zrender/lib/Layer.js","webpack:///./node_modules/zrender/lib/graphic/helper/image.js","webpack:///./node_modules/core-js/internals/is-integer.js","webpack:///./node_modules/echarts/lib/component/legend/LegendView.js","webpack:///./node_modules/echarts/lib/visual/VisualMapping.js","webpack:///./node_modules/core-js/modules/es.typed-array.join.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/core-js/internals/engine-is-browser.js","webpack:///./node_modules/zrender/lib/core/event.js","webpack:///./node_modules/core-js/modules/es.typed-array.iterator.js","webpack:///./node_modules/echarts/lib/chart/parallel/ParallelView.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/echarts/lib/visual/visualDefault.js","webpack:///./node_modules/element-ui/lib/utils/popper.js","webpack:///./node_modules/echarts/lib/data/List.js","webpack:///./node_modules/zrender/lib/graphic/helper/smoothSpline.js","webpack:///./node_modules/core-js/internals/array-buffer.js","webpack:///./node_modules/echarts/lib/util/clazz.js","webpack:///./node_modules/echarts/lib/component/title.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/es.typed-array.some.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/echarts/lib/coord/parallel/parallelPreprocessor.js","webpack:///./node_modules/echarts/lib/chart/lines/linesLayout.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/echarts/lib/component/axis/AxisView.js","webpack:///./node_modules/echarts/lib/component/timeline/preprocessor.js","webpack:///./node_modules/echarts/lib/coord/single/SingleAxis.js","webpack:///./node_modules/echarts/lib/chart/graph/categoryFilter.js","webpack:///./node_modules/echarts/lib/chart/map.js","webpack:///./node_modules/echarts/lib/chart/effectScatter/EffectScatterSeries.js","webpack:///./node_modules/reqwest/reqwest.js","webpack:///./node_modules/echarts/lib/chart/bar/BarView.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/zrender/lib/contain/quadratic.js","webpack:///./node_modules/echarts/lib/component/dataZoom/typeDefaulter.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/echarts/lib/coord/axisHelper.js","webpack:///./node_modules/zrender/lib/zrender.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/echarts/lib/stream/Scheduler.js","webpack:///./node_modules/echarts/lib/chart/helper/EffectPolyline.js","webpack:///./node_modules/element-ui/lib/popover.js","webpack:///./node_modules/echarts/lib/component/axisPointer/PolarAxisPointer.js","webpack:///./node_modules/element-ui/lib/mixins/locale.js","webpack:///./node_modules/echarts/lib/coord/geo/fix/geoCoord.js","webpack:///./node_modules/echarts/lib/component/radar/RadarView.js","webpack:///./node_modules/echarts/lib/chart/themeRiver.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/echarts/lib/model/Component.js","webpack:///./node_modules/echarts/lib/coord/View.js","webpack:///./node_modules/echarts/lib/chart/tree/TreeView.js","webpack:///./node_modules/zrender/lib/core/util.js","webpack:///./node_modules/echarts/lib/chart/tree/traversalHelper.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/echarts/lib/component/dataZoom/history.js","webpack:///./node_modules/echarts/lib/component/helper/selectableMixin.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/echarts/lib/coord/axisDefault.js","webpack:///./node_modules/echarts/lib/chart/themeRiver/themeRiverVisual.js","webpack:///./node_modules/element-ui/lib/utils/aria-dialog.js","webpack:///./node_modules/echarts/lib/chart/lines/LinesSeries.js","webpack:///./node_modules/echarts/lib/component/visualMap/VisualMapView.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-string.js","webpack:///./node_modules/core-js/modules/es.typed-array.fill.js","webpack:///./node_modules/echarts/lib/data/Graph.js","webpack:///./node_modules/echarts/lib/chart/helper/LineDraw.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/echarts/lib/component/visualMapContinuous.js","webpack:///./node_modules/core-js/internals/define-well-known-symbol.js","webpack:///./node_modules/zrender/lib/animation/easing.js","webpack:///./node_modules/core-js/internals/typed-array-constructor.js","webpack:///./node_modules/echarts/lib/component/geo/GeoView.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/DataView.js","webpack:///./node_modules/zrender/lib/graphic/Text.js","webpack:///./node_modules/echarts/lib/action/createDataSelectAction.js","webpack:///./node_modules/core-js/internals/ieee754.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/echarts/lib/coord/radar/IndicatorAxis.js","webpack:///./node_modules/echarts/lib/chart/radar/backwardCompat.js","webpack:///./node_modules/echarts/lib/coord/polar/PolarModel.js","webpack:///./node_modules/echarts/lib/component/helper/listComponent.js","webpack:///./node_modules/echarts/lib/component/radiusAxis.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/echarts/lib/chart/graph/createView.js","webpack:///./node_modules/normalize-wheel/src/isEventSupported.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/DataZoom.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/zrender/lib/graphic/helper/fixShadow.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/echarts/lib/component/dataZoom/DataZoomView.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/echarts/lib/component/markArea.js","webpack:///./node_modules/echarts/lib/chart/helper/Line.js","webpack:///./node_modules/echarts/lib/model/Global.js","webpack:///./node_modules/element-ui/lib/utils/merge.js","webpack:///./node_modules/echarts/lib/component/graphic.js","webpack:///./node_modules/echarts/lib/chart/helper/LinePath.js","webpack:///./node_modules/echarts/lib/visual/symbol.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/element-ui/lib/checkbox-group.js","webpack:///./node_modules/echarts/lib/data/DataDiffer.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/element-ui/lib/utils/util.js","webpack:///./node_modules/echarts/lib/chart/sankey/sankeyLayout.js","webpack:///./node_modules/core-js/internals/array-fill.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/zrender/lib/graphic/constant.js","webpack:///./node_modules/core-js/modules/es.typed-array.includes.js","webpack:///./node_modules/echarts/lib/component/tooltip/TooltipRichContent.js","webpack:///./node_modules/echarts/lib/component/marker/MarkPointView.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/echarts/lib/coord/calendar/CalendarModel.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/echarts/lib/ExtensionAPI.js","webpack:///./node_modules/echarts/lib/component/axis/parallelAxisAction.js","webpack:///./node_modules/element-ui/lib/button-group.js","webpack:///./node_modules/echarts/lib/coord/parallel/parallelCreator.js","webpack:///./node_modules/echarts/lib/coord/Axis.js","webpack:///./node_modules/echarts/lib/component/legend/LegendModel.js","webpack:///./node_modules/zrender/lib/contain/util.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/echarts/lib/data/helper/completeDimensions.js","webpack:///./node_modules/echarts/lib/chart/radar/radarLayout.js","webpack:///./node_modules/zrender/lib/svg/core.js","webpack:///./node_modules/zrender/lib/contain/windingLine.js","webpack:///./node_modules/echarts/lib/chart/graph/GraphSeries.js","webpack:///./node_modules/zrender/lib/graphic/shape/Polygon.js","webpack:///./node_modules/echarts/lib/layout/points.js","webpack:///./node_modules/echarts/lib/util/throttle.js","webpack:///./node_modules/echarts/lib/component/marker/MarkerView.js","webpack:///./node_modules/echarts/lib/util/component.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/echarts/lib/model/globalDefault.js","webpack:///./node_modules/zrender/lib/graphic/helper/fixClipWithShadow.js","webpack:///./node_modules/echarts/lib/scale/Interval.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/echarts/lib/model/referHelper.js","webpack:///./node_modules/element-ui/lib/tag.js","webpack:///./node_modules/echarts/lib/scale/Log.js","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./node_modules/zrender/lib/graphic/shape/Arc.js","webpack:///./node_modules/echarts/lib/chart/radar.js","webpack:///./node_modules/echarts/lib/data/OrdinalMeta.js","webpack:///./node_modules/echarts/lib/component/marker/MarkAreaView.js","webpack:///./node_modules/normalize-wheel/src/UserAgent_DEPRECATED.js","webpack:///./node_modules/echarts/lib/component/toolbox/ToolboxModel.js","webpack:///./node_modules/echarts/lib/coord/cartesian/GridModel.js","webpack:///./node_modules/zrender/lib/svg/svg.js","webpack:///./node_modules/echarts/lib/component/legend/legendFilter.js","webpack:///./node_modules/echarts/lib/chart/treemap/treemapVisual.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/echarts/lib/component/marker/markerHelper.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/echarts/lib/coord/polar/RadiusAxis.js","webpack:///./node_modules/echarts/lib/chart/treemap/TreemapSeries.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/babel-helper-vue-jsx-merge-props/index.js","webpack:///./node_modules/echarts/lib/component/timeline/TimelineView.js","webpack:///./node_modules/echarts/lib/component/calendar.js","webpack:///./node_modules/echarts/lib/data/helper/sourceType.js","webpack:///./node_modules/echarts/lib/chart/map/backwardCompat.js","webpack:///./node_modules/echarts/lib/scale/helper.js","webpack:///./node_modules/echarts/lib/chart/bar.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/echarts/lib/chart/graph/circularLayoutHelper.js","webpack:///./node_modules/echarts/lib/component/markLine.js","webpack:///./node_modules/throttle-debounce/index.js","webpack:///./node_modules/zrender/lib/contain/line.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/echarts/lib/chart/graph/GraphView.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/zrender/lib/core/BoundingRect.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/zrender/lib/animation/requestAnimationFrame.js","webpack:///./node_modules/echarts/lib/visual/dataColor.js","webpack:///./node_modules/echarts/lib/loading/default.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack:///./node_modules/echarts/lib/model/mixin/areaStyle.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/zrender/lib/graphic/helper/smoothBezier.js","webpack:///./node_modules/echarts/lib/chart/treemap/treemapLayout.js","webpack:///./node_modules/zrender/lib/graphic/helper/subPixelOptimize.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./node_modules/echarts/lib/layout/barGrid.js","webpack:///./node_modules/element-ui/lib/locale/format.js","webpack:///./node_modules/zrender/lib/graphic/mixin/RectText.js","webpack:///./node_modules/echarts/lib/coord/axisModelCreator.js","webpack:///./node_modules/echarts/lib/component/dataZoom/dataZoomAction.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/zrender/lib/contain/arc.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/echarts/lib/chart/line/helper.js","webpack:///./node_modules/zrender/lib/svg/helper/ClippathManager.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/echarts/lib/chart/radar/RadarSeries.js","webpack:///./node_modules/vue/dist/vue.esm.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/echarts/lib/component/timeline/typeDefaulter.js","webpack:///./node_modules/core-js/internals/typed-array-from.js","webpack:///./node_modules/echarts/lib/util/symbol.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/async-validator/es/util.js","webpack:///./node_modules/async-validator/es/rule/required.js","webpack:///./node_modules/async-validator/es/rule/whitespace.js","webpack:///./node_modules/async-validator/es/rule/type.js","webpack:///./node_modules/async-validator/es/rule/range.js","webpack:///./node_modules/async-validator/es/rule/enum.js","webpack:///./node_modules/async-validator/es/rule/pattern.js","webpack:///./node_modules/async-validator/es/rule/index.js","webpack:///./node_modules/async-validator/es/validator/string.js","webpack:///./node_modules/async-validator/es/validator/method.js","webpack:///./node_modules/async-validator/es/validator/number.js","webpack:///./node_modules/async-validator/es/validator/boolean.js","webpack:///./node_modules/async-validator/es/validator/regexp.js","webpack:///./node_modules/async-validator/es/validator/integer.js","webpack:///./node_modules/async-validator/es/validator/float.js","webpack:///./node_modules/async-validator/es/validator/array.js","webpack:///./node_modules/async-validator/es/validator/object.js","webpack:///./node_modules/async-validator/es/validator/enum.js","webpack:///./node_modules/async-validator/es/validator/pattern.js","webpack:///./node_modules/async-validator/es/validator/date.js","webpack:///./node_modules/async-validator/es/validator/required.js","webpack:///./node_modules/async-validator/es/validator/type.js","webpack:///./node_modules/async-validator/es/validator/index.js","webpack:///./node_modules/async-validator/es/messages.js","webpack:///./node_modules/async-validator/es/index.js","webpack:///./node_modules/echarts/lib/component/dataZoom/InsideZoomModel.js","webpack:///./node_modules/echarts/lib/chart/helper/LargeLineDraw.js","webpack:///./node_modules/normalize-wheel/src/ExecutionEnvironment.js","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///./node_modules/echarts/lib/chart/funnel.js","webpack:///./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack:///./node_modules/core-js/modules/es.symbol.js","webpack:///./node_modules/echarts/lib/component/helper/interactionMutex.js","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/echarts/lib/chart/map/MapView.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/zrender/lib/graphic/helper/text.js","webpack:///./node_modules/element-ui/lib/utils/types.js","webpack:///./node_modules/echarts/lib/chart/gauge/GaugeView.js","webpack:///./node_modules/core-js/modules/es.promise.finally.js","webpack:///./node_modules/echarts/lib/chart/lines.js","webpack:///./node_modules/echarts/lib/coord/geo/fix/diaoyuIsland.js","webpack:///./node_modules/zrender/lib/vml/graphic.js","webpack:///./node_modules/echarts/lib/component/brush/selector.js","webpack:///./node_modules/echarts/lib/component/marker/MarkPointModel.js","webpack:///./node_modules/echarts/lib/component/tooltip/TooltipModel.js","webpack:///./node_modules/core-js/modules/es.typed-array.every.js","webpack:///./node_modules/core-js/internals/array-buffer-native.js","webpack:///./node_modules/echarts/lib/coord/polar/AngleAxis.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/echarts/lib/chart/sunburst/SunburstSeries.js","webpack:///./node_modules/echarts/lib/coord/cartesian/prepareCustom.js","webpack:///./node_modules/echarts/lib/chart/pictorialBar.js","webpack:///./node_modules/echarts/lib/component/visualMap/visualEncoding.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/echarts/lib/chart/parallel/parallelVisual.js","webpack:///./node_modules/echarts/lib/chart/scatter/ScatterView.js","webpack:///./node_modules/zrender/lib/graphic/shape/BezierCurve.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/echarts/lib/chart/graph/circularLayout.js","webpack:///./node_modules/core-js/internals/array-sort.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/echarts/lib/chart/themeRiver/ThemeRiverSeries.js","webpack:///./node_modules/echarts/lib/chart/lines/LinesView.js","webpack:///./node_modules/zrender/lib/graphic/shape/Ellipse.js","webpack:///./node_modules/echarts/lib/component/brush/preprocessor.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/echarts/lib/component/axis.js","webpack:///./node_modules/zrender/lib/Storage.js","webpack:///./node_modules/echarts/lib/component/axis/ParallelAxisView.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/echarts/lib/component/toolbox.js","webpack:///./node_modules/echarts/lib/view/Component.js","webpack:///./node_modules/zrender/lib/svg/helper/GradientManager.js","webpack:///./node_modules/echarts/lib/data/helper/createDimensions.js","webpack:///./node_modules/echarts/lib/component/visualMap/preprocessor.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/echarts/lib/chart/treemap/TreemapView.js","webpack:///./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack:///./node_modules/echarts/lib/component/axis/AngleAxisView.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/echarts/lib/chart/bar/barItemStyle.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/core-js/internals/typed-array-species-constructor.js","webpack:///./node_modules/echarts/lib/export.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/echarts/lib/visual/aria.js","webpack:///./node_modules/echarts/lib/component/brush/brushAction.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/echarts/lib/chart/pie/labelLayout.js","webpack:///./node_modules/echarts/lib/component/visualMap/typeDefaulter.js","webpack:///./node_modules/zrender/lib/svg/helper/ShadowManager.js","webpack:///./node_modules/echarts/lib/component/axis/SingleAxisView.js","webpack:///./node_modules/zrender/lib/mixin/Animatable.js","webpack:///./node_modules/echarts/lib/chart/candlestick/CandlestickSeries.js","webpack:///./node_modules/echarts/lib/component/helper/BrushTargetManager.js","webpack:///./node_modules/echarts/lib/coord/geo/parseGeoJson.js","webpack:///./node_modules/echarts/lib/chart/sankey/sankeyAction.js","webpack:///./node_modules/echarts/lib/chart/tree/treeAction.js","webpack:///./node_modules/echarts/lib/chart/pie.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/normalize-wheel/index.js","webpack:///./node_modules/core-js/modules/es.typed-array.filter.js","webpack:///./node_modules/element-ui/lib/progress.js","webpack:///./node_modules/echarts/lib/component/brush/BrushView.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/echarts/lib/component/parallelAxis.js","webpack:///./node_modules/echarts/lib/component/helper/cursorHelper.js","webpack:///./node_modules/echarts/lib/theme/light.js","webpack:///./node_modules/element-ui/lib/utils/after-leave.js","webpack:///./node_modules/echarts/lib/coord/single/AxisModel.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/modules/es.array.find-index.js","webpack:///./node_modules/echarts/lib/chart/helper/labelHelper.js","webpack:///./node_modules/zrender/lib/graphic/shape/Rect.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/echarts/lib/chart/helper/EffectSymbol.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/echarts/lib/coord/geo/geoSVGLoader.js","webpack:///./node_modules/echarts/lib/chart/helper/LargeSymbolDraw.js","webpack:///./node_modules/echarts/lib/chart/tree/treeLayout.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/modules/es.typed-array.reduce.js","webpack:///./node_modules/echarts/lib/model/OptionManager.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/zrender/lib/graphic/shape/Line.js","webpack:///./node_modules/echarts/lib/chart/scatter/ScatterSeries.js","webpack:///./node_modules/zrender/lib/mixin/Draggable.js","webpack:///./node_modules/echarts/lib/chart/sunburst/sunburstLayout.js","webpack:///./node_modules/echarts/lib/component/axisPointer.js","webpack:///./node_modules/echarts/lib/component/visualMap/helper.js","webpack:///./node_modules/zrender/lib/graphic/Path.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Cartesian2D.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/echarts/lib/component/dataZoom/AxisProxy.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/echarts/lib/chart/helper/createRenderPlanner.js","webpack:///./node_modules/echarts/lib/component/grid.js","webpack:///./node_modules/core-js/modules/es.typed-array.reverse.js","webpack:///./node_modules/echarts/lib/component/axisPointer/modelHelper.js","webpack:///./node_modules/echarts/lib/chart/heatmap/HeatmapLayer.js","webpack:///./node_modules/zrender/lib/dom/HandlerProxy.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/echarts/lib/chart/map/mapSymbolLayout.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Cartesian.js","webpack:///./node_modules/element-ui/lib/mixins/emitter.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/echarts/lib/chart/sankey/SankeySeries.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/echarts/lib/component/geo.js","webpack:///./node_modules/echarts/lib/coord/calendar/Calendar.js","webpack:///./node_modules/core-js/modules/es.typed-array.find.js","webpack:///./node_modules/echarts/lib/processor/dataStack.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/modules/es.symbol.iterator.js","webpack:///./node_modules/echarts/lib/component/legend.js","webpack:///./node_modules/echarts/lib/chart/helper/focusNodeAdjacencyAction.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/zrender/lib/Handler.js","webpack:///./node_modules/echarts/lib/chart/graph/simpleLayout.js","webpack:///./node_modules/element-ui/lib/utils/shared.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/MagicType.js","webpack:///./node_modules/zrender/lib/vml/core.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/echarts/lib/processor/dataFilter.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/zrender/lib/graphic/shape/Polyline.js","webpack:///./node_modules/normalize-wheel/src/normalizeWheel.js","webpack:///./node_modules/echarts/lib/component/axisPointer/AxisPointerView.js","webpack:///./node_modules/core-js/internals/engine-is-ios-pebble.js","webpack:///./node_modules/zrender/lib/graphic/CompoundPath.js","webpack:///./node_modules/echarts/lib/chart/line/poly.js","webpack:///./node_modules/zrender/lib/core/LRU.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/zrender/lib/Element.js","webpack:///./node_modules/core-js/modules/es.typed-array.for-each.js","webpack:///./node_modules/echarts/lib/chart/bar/PictorialBarSeries.js","webpack:///./node_modules/echarts/lib/component/visualMap/visualMapAction.js","webpack:///./node_modules/echarts/lib/chart/sunburst.js","webpack:///./node_modules/echarts/lib/chart/graph/graphAction.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/element-ui/lib/utils/date.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///./node_modules/echarts/lib/action/roamHelper.js","webpack:///./node_modules/zrender/lib/contain/path.js","webpack:///./node_modules/element-ui/lib/utils/date-util.js","webpack:///./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/echarts/lib/coord/parallel/Parallel.js","webpack:///./node_modules/echarts/lib/coord/polar/AxisModel.js","webpack:///./node_modules/zrender/lib/graphic/shape/Circle.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/echarts/lib/chart/treemap.js","webpack:///./node_modules/echarts/lib/component/markPoint.js","webpack:///./node_modules/echarts/lib/component/toolbox/ToolboxView.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/zrender/lib/svg/Painter.js","webpack:///./node_modules/zrender/lib/graphic/Pattern.js","webpack:///./node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js","webpack:///./node_modules/element-ui/lib/checkbox.js","webpack:///./node_modules/echarts/lib/chart/boxplot/BoxplotView.js","webpack:///./node_modules/echarts/lib/component/dataZoomSelect.js","webpack:///./node_modules/echarts/lib/component/timeline/SliderTimelineModel.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/zrender/lib/graphic/RadialGradient.js","webpack:///./node_modules/zrender/lib/core/guid.js","webpack:///./node_modules/echarts/lib/model/mixin/boxLayout.js","webpack:///./node_modules/echarts/lib/chart/graph/edgeVisual.js","webpack:///./node_modules/echarts/lib/coord/parallel/AxisModel.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/Restore.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack:///./node_modules/core-js/modules/es.symbol.description.js","webpack:///./node_modules/echarts/lib/chart/custom.js","webpack:///./node_modules/echarts/lib/coord/axisTickLabelBuilder.js","webpack:///./node_modules/echarts/lib/util/model.js","webpack:///./node_modules/echarts/lib/scale/Scale.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/zrender/lib/container/Group.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/zrender/lib/core/bbox.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/element-ui/lib/input-number.js","webpack:///./node_modules/element-ui/lib/utils/aria-utils.js","webpack:///./node_modules/echarts/lib/chart/helper/whiskerBoxCommon.js","webpack:///./node_modules/echarts/lib/chart/helper/createListSimply.js","webpack:///./node_modules/echarts/lib/model/mixin/colorPalette.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/core-js/internals/array-last-index-of.js","webpack:///./node_modules/element-ui/lib/utils/scrollbar-width.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/echarts/lib/util/animation.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/element-ui/lib/option.js","webpack:///./node_modules/echarts/lib/chart/bar/helper.js","webpack:///./node_modules/zrender/lib/contain/cubic.js","webpack:///./node_modules/zrender/lib/contain/text.js","webpack:///./node_modules/echarts/lib/view/Chart.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/modules/es.typed-array.index-of.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/element-ui/lib/utils/vue-popper.js","webpack:///./node_modules/zrender/lib/vml/Painter.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/echarts/lib/chart/candlestick/preprocessor.js","webpack:///./node_modules/echarts/lib/component/visualMap/VisualMapModel.js","webpack:///./node_modules/echarts/lib/coord/polar/prepareCustom.js","webpack:///./node_modules/echarts/lib/component/axisPointer/axisTrigger.js","webpack:///./node_modules/core-js/internals/array-buffer-view-core.js","webpack:///./node_modules/echarts/lib/component/legend/scrollableLegendAction.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Axis2D.js","webpack:///./node_modules/echarts/lib/coord/geo/mapDataStorage.js","webpack:///./node_modules/echarts/lib/data/Source.js","webpack:///./node_modules/echarts/lib/chart/boxplot/boxplotLayout.js","webpack:///./node_modules/zrender/lib/Painter.js","webpack:///./node_modules/echarts/lib/util/format.js","webpack:///./node_modules/echarts/lib/component/timeline/TimelineModel.js","webpack:///./node_modules/echarts/lib/coord/single/singleAxisHelper.js","webpack:///./node_modules/echarts/lib/data/helper/dataStackHelper.js","webpack:///./node_modules/echarts/lib/component/calendar/CalendarView.js","webpack:///./node_modules/zrender/lib/tool/transformPath.js","webpack:///./node_modules/echarts/lib/component/timeline.js","webpack:///./node_modules/echarts/lib/chart/lines/linesVisual.js","webpack:///./node_modules/element-ui/lib/button.js","webpack:///./node_modules/echarts/lib/coord/geo/geoCreator.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/echarts/lib/chart/graph/forceHelper.js","webpack:///./node_modules/echarts/lib/component/helper/sliderMove.js","webpack:///./node_modules/echarts/lib/chart/line.js","webpack:///./node_modules/echarts/lib/chart/tree.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/element-ui/lib/locale/lang/zh-CN.js","webpack:///./node_modules/echarts/lib/chart/line/lineAnimationDiff.js","webpack:///./node_modules/echarts/lib/component/axisPointer/SingleAxisPointer.js","webpack:///./node_modules/echarts/lib/component/legend/ScrollableLegendModel.js","webpack:///./node_modules/zrender/lib/vml/vml.js","webpack:///./node_modules/echarts/lib/chart/line/LineView.js","webpack:///./node_modules/echarts/lib/theme/dark.js","webpack:///./node_modules/echarts/lib/component/axis/CartesianAxisView.js","webpack:///./node_modules/echarts/lib/coord/geo/Region.js","webpack:///./node_modules/echarts/lib/component/parallel.js","webpack:///./node_modules/echarts/lib/component/brush/BrushModel.js","webpack:///./node_modules/element-ui/lib/input.js","webpack:///./node_modules/echarts/lib/stream/task.js","webpack:///./node_modules/element-ui/lib/radio.js","webpack:///./node_modules/echarts/lib/component/helper/brushHelper.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/echarts/lib/component/angleAxis.js","webpack:///./node_modules/echarts/lib/chart/treemap/Breadcrumb.js","webpack:///./node_modules/echarts/lib/chart/map/mapDataStatistic.js","webpack:///./node_modules/echarts/lib/chart/helper/SymbolDraw.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/echarts/lib/chart/pie/PieSeries.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/internals/to-positive-integer.js","webpack:///./node_modules/echarts/lib/util/layout.js","webpack:///./node_modules/echarts/lib/chart/boxplot.js","webpack:///./node_modules/echarts/lib/component/axis/AxisBuilder.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/echarts/lib/preprocessor/backwardCompat.js","webpack:///./node_modules/core-js/modules/es.array.slice.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/echarts/lib/component/helper/BrushController.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack:///./node_modules/echarts/lib/coord/polar/Polar.js","webpack:///./node_modules/echarts/lib/visual/seriesColor.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/echarts/lib/processor/dataSample.js","webpack:///./node_modules/echarts/lib/model/mixin/textStyle.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js","webpack:///./node_modules/echarts/lib/chart/boxplot/BoxplotSeries.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/Brush.js","webpack:///./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/echarts/lib/component/axisPointer/viewHelper.js"],"names":["_util","each","createHashMap","SeriesModel","createListFromArray","_default","extend","type","dependencies","visualColorAccessPath","getInitialData","option","ecModel","source","this","getSource","setEncodeAndDimensions","getRawIndicesByActiveState","activeState","coordSys","coordinateSystem","data","getData","indices","eachActiveState","theActiveState","dataIndex","push","getRawIndex","defaultOption","zlevel","z","parallelIndex","label","show","inactiveOpacity","activeOpacity","lineStyle","width","opacity","emphasis","progressive","smooth","animationEasing","seriesModel","encodeDefine","parallelModel","getComponent","get","dimensions","axisDim","dataDimIndex","convertDimNameToNumber","set","dimName","replace","module","exports","zrUtil","VisualMapView","graphic","_symbol","createSymbol","layout","helper","PiecewiseVisualMapView","doRender","thisGroup","group","removeAll","visualMapModel","textGap","textStyleModel","textFont","getFont","textFill","getTextColor","itemAlign","_getItemAlign","itemSize","viewData","_getViewData","endsText","showLabel","retrieve","renderItem","item","piece","itemGroup","Group","onclick","bind","_onItemClick","_enableHoverLink","indexInModelPieceList","representValue","getRepresentValue","_createItemSymbol","visualState","getValueState","add","Text","style","x","y","text","textVerticalAlign","textAlign","_renderEndsText","viewPieceList","box","renderBackground","positionGroup","pieceIndex","onHoverLink","method","hoverLink","api","dispatchAction","batch","convertDataIndex","findTargetDataIndices","on","modelOption","orient","getItemAlign","align","map","getPieceList","index","inverse","reverse","slice","shapeParam","getControllerVisual","selected","clone","newKey","getSelectedMapKey","selectedMode","o","key","from","uid","visualMapId","id","echarts","registerAction","event","update","createListSimply","_model","defaultEmphasis","FunnelSeries","extendSeriesModel","init","superApply","arguments","legendDataProvider","getRawData","_defaultLabelLine","labelLineNormalOpt","labelLine","labelLineEmphasisOpt","getDataParams","params","superCall","valueDim","mapDimension","sum","getSum","percent","toFixed","$vars","legendHoverLink","left","top","right","bottom","minSize","maxSize","sort","gap","funnelAlign","position","length","itemStyle","borderColor","borderWidth","dataToCoordSize","dataSize","dataItem","dimIdx","val","halfSize","p1","p2","Math","abs","dataToPoint","rect","getBoundingRect","height","zoom","getZoom","coord","size","wellKnownSymbol","TO_STRING_TAG","test","String","BoundingRect","View","geoSourceManager","Geo","name","nameMap","invertLongitute","call","load","_nameCoordMap","nameCoordMap","_regionsMap","regionsMap","_invertLongitute","regions","_rect","boundingRect","doConvert","methodName","finder","value","geoModel","getReferringComponents","prototype","constructor","containCoord","i","contain","transformTo","rawTransformable","_rawTransformable","transform","calculateTransform","decomposeTransform","scale","updateTransform","_updateTransform","getRegion","getRegionByCoord","addGeoCoord","geoCoord","getGeoCoord","noRoam","out","convertToPixel","curry","convertFromPixel","mixin","gridModel","axisModel","opt","grid","axis","otherAxisOnZeroOf","getAxesOnZeroOf","rawAxisPosition","axisPosition","dim","getRect","rectBound","idx","onZero","axisOffset","posBound","onZeroCoord","toGlobalCoord","dataToCoord","max","min","rotation","PI","dirMap","labelDirection","tickDirection","nameDirection","labelOffset","labelInside","labelRotate","z2","extendComponentView","render","Rect","shape","defaults","fill","getItemStyle","silent","registerPreprocessor","xAxis","yAxis","updateViewOnPan","controllerHost","dx","dy","target","pos","dirty","updateViewOnZoom","zoomDelta","zoomX","zoomY","zoomLimit","newZoom","zoomMin","zoomMax","Infinity","zoomScale","ComponentModel","ComponentView","_sourceHelper","detectSourceFormat","_sourceType","SERIES_LAYOUT_BY_COLUMN","seriesLayoutBy","sourceHeader","optionUpdated","aFunction","fn","that","undefined","a","b","c","apply","has","toIObject","arrayIndexOf","IE_PROTO","object","names","O","result","userAgent","firefox","match","DEFAULT_MIN_MERGE","DEFAULT_MIN_GALLOPING","minRunLength","n","r","makeAscendingRun","array","lo","hi","compare","runHi","reverseRun","t","binaryInsertionSort","start","mid","pivot","gallopLeft","hint","lastOffset","maxOffset","offset","tmp","m","gallopRight","TimSort","runStart","runLength","minGallop","stackSize","pushRun","_runStart","_runLength","mergeRuns","mergeAt","forceMergeRuns","start1","length1","start2","length2","k","mergeLow","mergeHigh","cursor1","cursor2","dest","count1","count2","exit","_minGallop","Error","customCursor","customDest","remaining","ts","minRun","force","dP","createDesc","f","toIndexedObject","$getOwnPropertyNames","toString","windowNames","window","Object","getOwnPropertyNames","getWindowNames","it","error","isObject","document","is","createElement","windingLine","EPSILON","isAroundEqual","points","w","p","p0","Clip","color","isArrayLike","arraySlice","Array","defaultGetter","defaultSetter","interpolateNumber","interpolateString","interpolateArray","arrDim","len","len2","j","fillArr","arr0","arr1","arr0Len","arr1Len","isPreviousLarger","isNaN","isArraySame","catmullRomInterpolateArray","p3","t2","t3","catmullRomInterpolate","v0","v1","cloneValue","ret","rgba2String","rgba","floor","join","getArrayDim","keyframes","lastValue","createTrackClip","animator","easing","oneTrackDone","propName","forceAnimate","getter","_getter","setter","_setter","useSpline","trackLen","trackMaxTime","firstVal","isValueArray","isValueColor","isValueString","time","kfPercents","kfValues","prevValue","isAllValueEqual","colorArray","parse","_target","lastFrame","lastFramePercent","onframe","frame","range","clip","life","loop","_loop","delay","_delay","ondestroy","Animator","_tracks","_clipCount","_doneList","_onframeList","_clipList","when","props","tracks","hasOwnProperty","during","callback","pause","_paused","resume","isPaused","_doneCallback","doneList","lastClip","self","clipCount","animation","addClip","oldOnFrame","stop","forwardToLast","clipList","removeClip","done","cb","getClips","Model","linkList","List","createDimensions","TreeNode","hostTree","depth","parentNode","children","viewChildren","Tree","hostModel","levelOptions","leavesOption","root","_nodes","levelModels","levelDefine","leavesModel","addChild","child","node","isRemoved","eachNode","options","context","isString","order","suppressVisitSub","attr","updateDepthAndHeight","getNodeById","getId","res","contains","getAncestors","includeSelf","ancestors","getValue","dimension","getDimension","setLayout","merge","setItemLayout","getLayout","getItemLayout","getModel","path","itemModel","getItemModel","levelModel","getLevelModel","isExpand","getLeavesModel","setVisual","setItemVisual","getVisual","ignoreParent","getItemVisual","isAncestorOf","parent","isDescendantOf","getNodeByDataIndex","rawIndex","getNodeByName","nodes","count","clearLayouts","clearItemLayouts","createTree","dataRoot","treeOptions","tree","levels","leaves","listData","dimMax","buildHierarchy","dataNode","isArray","dimensionsInfo","coordDimensions","dimensionsCount","list","initData","mainData","struct","structAttr","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toPropertyKey","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","P","_config","__DEV__","VisualMapModel","VisualMapping","visualDefault","_number","reformIntervals","PiecewiseModel","minOpen","maxOpen","itemWidth","itemHeight","itemSymbol","pieceList","categories","splitNumber","itemGap","newOption","isInit","_pieceList","resetExtent","mode","_mode","_determineMode","resetMethods","_resetSelected","resetVisual","mappingOption","state","mappingMethod","dataExtent","getExtent","visual","completeVisualOption","visualTypesInPieces","visualTypes","listVisualTypes","isCategory","obj","visualType","pieces","v","exists","stateList","thisOption","hasSel","setSelected","findPieceIndex","eachTargetSeries","dataIndices","getDataDimension","pIdx","seriesId","pieceInterval","interval","getVisualMeta","getColorVisual","stops","outerColors","edge","unshift","curr","setStop","valueState","precision","parseInt","splitStep","close","formatValueText","cate","normalizeReverse","pieceListItem","closeList","infinityList","useMinMax","lg","retrieveVisuals","edgeSymbols","getKeys","gOPS","pIE","toObject","IObject","$assign","assign","A","B","S","Symbol","K","split","forEach","keys","T","aLen","getSymbols","isEnum","concat","zrColor","eventUtil","env","formatUtil","toCamelCase","vendors","gCssText","assembleTransition","duration","transitionCurve","transitionText","vendorPrefix","assembleFont","cssText","fontSize","round","assembleCssText","tooltipModel","transitionDuration","backgroundColor","padding","canvasSupported","toHex","borderName","camelCase","normalizeCssArray","TooltipContent","container","wxa","el","zr","_zr","getZr","_x","getWidth","_y","getHeight","appendChild","_container","_show","_hideTimeout","onmouseenter","_enterable","clearTimeout","_inContent","onmousemove","e","handler","normalizeEvent","dispatch","onmouseleave","hideLater","_hideDelay","stl","currentStyle","defaultView","getComputedStyle","domStyle","display","innerHTML","pointerEvents","setContent","content","setEnterable","enterable","getSize","clientWidth","clientHeight","moveTo","viewportRootOffset","painter","getViewportRootOffset","offsetLeft","offsetTop","hide","setTimeout","isShow","getOuterSize","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","parallelVisual","registerVisual","preprocessor","candlestickVisual","candlestickLayout","registerLayout","Axis","TimelineAxis","coordExtent","axisType","model","getLabelModel","isHorizontal","inherits","defined","_graphic","subPixelOptimize","createRenderPlanner","parsePercent","retrieve2","LargeArr","Float32Array","seriesType","plan","reset","candleWidth","calculateCandleWidth","cDimIdx","vDimIdx","coordDims","cDim","vDims","openDim","closeDim","lowestDim","highestDim","isSimpleBox","progress","pipelineContext","large","largeProgress","normalProgress","next","axisDimVal","openVal","closeVal","lowestVal","highestVal","ocLow","ocHigh","ocLowPoint","getPoint","ocHighPoint","lowestPoint","highestPoint","ends","addBodyEnd","subPixelOptimizePoint","sign","getSign","initBaseline","brushRect","makeBrushRect","NaN","point","point1","point2","pmin","pmax","tmpIn","tmpOut","extent","baseAxis","getBaseAxis","bandWidth","getBandWidth","barMaxWidth","barMinWidth","barWidth","symbols","toInteger","toLength","number","RangeError","SPECIES","originalArray","C","GestureMgr","_track","dist","pointPair","sqrt","center","recognize","_doTrack","_recognize","clear","touches","trackItem","touch","clientToLocal","zrX","zrY","eventName","recognizers","gestureInfo","pinch","track","pinchEnd","pinchPre","pinchScale","isFinite","pinchCenter","pinchX","pinchY","$at","iterated","_t","_i","defineProperty","Diff","buildValues","diff","components","newArr","oldArr","componentPos","componentLen","newPos","oldPos","component","removed","added","clonePath","equals","newLen","oldLen","editLength","maxEditLength","bestPath","extractCommon","execEditLength","diagonalPath","basePath","addPath","removePath","canAdd","canRemove","pushComponent","last","commonCount","tokenize","arrayDiff","RoamController","roamHelper","_cursorHelper","onIrrelevantElement","_component","getUID","getFixedItemStyle","areaColor","updateMapSelectHandler","mapDraw","mapOrGeoModel","regionsGroup","fromView","off","_mouseDownFlag","__regions","action","mainType","region","updateMapSelected","eachChild","otherRegionEl","trigger","isSelected","MapDraw","updateGroup","_controller","_controllerHost","_updateGroup","_mapName","_initialized","_regionsGroup","_backgroundGroup","draw","payload","isGeo","eachComponent","subType","mapSeries","getHostGeoModel","geo","_updateBackground","childAt","updateProps","itemStyleAccessPath","hoverItemStyleAccessPath","labelAccessPath","hoverLabelAccessPath","regionGroup","compoundPath","CompoundPath","paths","dataIdx","regionModel","getRegionModel","itemStyleModel","hoverItemStyleModel","hoverItemStyle","labelModel","hoverLabelModel","indexOfName","visualColor","geometries","geometry","Polygon","exterior","interiors","setStyle","strokeNoScale","culling","hoverShowLabel","isDataNaN","itemLayout","labelFetcher","query","textEl","setLabelStyle","hoverStyle","labelDataIndex","defaultText","useInsideStyle","setItemGraphicEl","eventData","componentType","componentIndex","geoIndex","groupRegions","setHoverStyle","hoverSilentOnTouch","_updateController","remove","dispose","removeGraphic","mapName","makeGraphic","controller","enable","makeActionBase","originX","originY","traverse","setPointerChecker","getViewRectAfterRoam","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","str","captures","namedCaptures","replacement","tailPos","ch","capture","charAt","matrix","vector","mIdentity","identity","isNotAroundZero","Transformable","opts","origin","transformableProto","needLocalTransform","scaleTmp","parentHasTransform","create","getLocalTransform","mul","copy","globalScaleRatio","getGlobalScale","relX","relY","sx","sy","invTransform","invert","setTransform","ctx","dpr","restoreTransform","tmpTransform","originTransform","setLocalTransform","atan2","transformCoordToLocal","v2","applyTransform","transformCoordToGlobal","rotate","fails","IS_PURE","ITERATOR","url","URL","searchParams","pathname","toJSON","href","URLSearchParams","username","host","hash","Displayable","imageHelper","ZImage","brush","prevEl","src","image","_image","createOrUpdateImage","onload","isImageReady","aspect","sWidth","sHeight","drawImage","drawRectText","eachSeriesByType","graph","getGraph","minValue","maxValue","nodeValue","mapping","mapValueToColor","mapValueToVisual","customColor","throttle","atBegin","layoutUtil","LegendView","WH","XY","ScrollableLegendView","newlineDisabled","_currentIndex","_containerGroup","getContentGroup","_controllerGroup","_showController","resetInner","removeClipPath","__rectSize","renderInner","legendModel","me","controllerGroup","pageIconSize","createPageButton","pageTextStyleModel","iconIdx","pageDataIndexName","icon","createIcon","getOrient","_pageGo","font","layoutInner","isFirstRender","contentGroup","containerGroup","orientIdx","wh","hw","yx","contentRect","controllerRect","showController","contentPos","containerPos","controllerPos","pageButtonGap","pageButtonPosition","mainRect","clipShape","setClipPath","invisible","pageInfo","_getPageInfo","pageIndex","contentPosition","_updatePageInfoView","to","scrollDataIndex","legendId","canJump","childOfName","cursor","pageText","pageFormatter","current","total","pageCount","containerRectSize","xy","targetItemIndex","_findTargetItemIndex","targetItem","itemCount","pCount","pagePrevDataIndex","pageNextDataIndex","targetItemInfo","getItemInfo","s","winStartItemInfo","winEndItemInfo","currItemInfo","intersect","itemRect","__legendDataIndex","itemInfo","winStart","targetDataIndex","ParallelAxis","axisIndex","makeInner","getDataItemValue","_referHelper","getCoordSysDefineBySeries","isTypedArray","Source","assert","SOURCE_FORMAT_ORIGINAL","SOURCE_FORMAT_ARRAY_ROWS","SOURCE_FORMAT_OBJECT_ROWS","SOURCE_FORMAT_KEYED_COLUMNS","SOURCE_FORMAT_UNKNOWN","SOURCE_FORMAT_TYPED_ARRAY","SERIES_LAYOUT_BY_ROW","inner","datasetModel","sourceFormat","resetSourceDefaulter","datasetMap","prepareSource","seriesOption","fromDataset","dimensionsDefine","getDatasetModel","datasetOption","completeResult","completeBySourceData","encode","makeDefaultEncode","startIndex","dimensionsDetectCount","normalizeDimensionsDefine","findPotentialName","potentialNameDimIndex","arrayRowsTravelFirst","objectRowsCollectDimensions","colArr","value0","displayName","exist","maxLoop","firstIndex","coordSysDefine","encodeItemName","encodeSeriesName","nSeriesMap","cSeriesMap","datasetRecord","categoryWayDim","valueWayDim","coordSysDims","coordDim","firstCategoryDimIndex","dataDim","categoryAxisMap","firstNotOrdinal","doGuessOrdinal","nameDimIndex","itemName","seriesName","thisData","datasetIndex","guessOrdinal","dimIndex","sample","detectValue","row","Line","vec2","curveUtil","EffectLine","lineData","seriesScope","createLine","_updateEffectSymbol","effectLineProto","effectModel","symbolType","symbol","_symbolType","setColor","_updateEffectAnimation","period","constantSpeed","delayExpr","isDelayFunc","ignore","updateAnimationPoints","getLineLength","_period","stopAnimation","__t","animate","updateSymbolPosition","__p1","__cp1","__p2","updateData","cp1","quadraticAt","quadraticDerivativeAt","tx","ty","updateLayout","global","$RegExp","RegExp","re","exec","groups","__esModule","_iterator","_iterator2","_interopRequireDefault","_symbol2","_typeof","default","visualSolution","selector","throttleUtil","BrushTargetManager","STATE_LIST","DISPATCH_METHOD","DISPATCH_FLAG","PRIORITY_BRUSH","PRIORITY","VISUAL","BRUSH","throttleType","throttleDelay","brushSelected","doDispatch","createOrUpdate","isDisposed","checkInRange","selectorsByBrushType","rangeInfoList","area","brushType","selectors","getSelectorsByBrushType","brushSelector","sels","selectorsByElementType","isFunction","bSelector","sel","brushModelNotControll","brushModel","seriesIndex","seriesIndices","indexOf","bindSelector","selFn","elType","setBrushOption","brushOption","brushTargetManager","setInputRanges","areas","brushIndex","thisBrushSelected","brushId","brushName","brushLink","linkedSeriesMap","selectedDataIndexForLink","rangeInfoBySeries","hasBrushExists","boundingRectBuilders","visualMappings","createVisualMappings","linkOthers","brushed","stepAParallel","hasAxisBrushed","stepAOthers","controlSeries","eachSeries","seriesBrushSelected","applyVisual","lineX","noop","lineY","getBoundingRectFromMinMax","polygon","minMax","rg","bitmap","enumerable","configurable","writable","visualSymbol","layoutPoints","ref","methods","focus","$refs","modelUtil","getSeriesByIndex","queryDataIndex","getItemGraphicEl","getTooltipPosition","getValues","_labelHelper","getDefaultLabel","SymbolClz","symbolProto","getSymbolSize","symbolSize","getScale","driftSymbol","drift","_createSymbol","keepAspect","symbolPath","stopSymbolAnimation","toLastFrame","getSymbolPath","highlight","downplay","setZ","setDraggable","draggable","_updateCommon","fadeIn","initProps","_seriesModel","normalStyleAccessPath","emphasisStyleAccessPath","normalLabelAccessPath","emphasisLabelAccessPath","onMouseOver","isInEmphasis","onEmphasis","onMouseOut","onNormal","incremental","useHoverLayer","__symbolOriginalScale","ratio","animateTo","useStyle","symbolRotate","symbolOffset","hoverAnimation","cursorStyle","hasItemOption","getShallow","elStyle","symbolInnerColor","liftZ","z2Origin","__z2Origin","useNameLabel","getLabelDefaultText","getName","isRectText","autoColor","isAnimationEnabled","fadeOut","keepLabel","arrayFromConstructorAndList","typedArraySpeciesConstructor","instance","toAbsoluteIndex","copyWithin","end","inc","symbolUtil","normalizeSymbolSize","extendChartView","polar","oldData","_data","updateSymbols","oldPoints","newPoints","symbolGroup","__dimIdx","getInitialPoints","pt","cx","cy","polyline","Polyline","newIdx","oldIdx","execute","eachItemGraphicEl","getLineStyle","stroke","areaStyleModel","hoverAreaStyleModel","polygonIgnore","isEmpty","parentModel","hoverPolygonIgnore","getAreaStyle","itemHoverStyle","labelHoverModel","labelDimIndex","classof","regexpExec","R","TypeError","AxisBuilder","AxisView","axisBuilderAttrs","selfBuilderAttrs","axisPointerClass","radiusAxisModel","radiusAxis","angleAxis","getAngleAxis","ticksCoords","getTicksCoords","axisAngle","radiusExtent","layoutAxis","axisBuilder","getGroup","isBlank","_splitLine","splitLineModel","lineStyleModel","lineColors","lineCount","splitLines","colorIndex","Circle","mergePath","_splitArea","splitAreaModel","areaColors","splitAreas","prevRadius","Sector","r0","startAngle","endAngle","modules","installedModules","__webpack_require__","moduleId","l","d","toStringTag","ns","property","132","__webpack_exports__","resize_event_","scrollbar_width_","scrollbar_width_default","util_","dom_","BAR_MAP","vertical","scroll","scrollSize","client","direction","horizontal","renderThumbStyle","_ref","move","bar","translate","msTransform","webkitTransform","src_bar","Boolean","Number","computed","wrap","$parent","h","clickTrackHandler","clickThumbHandler","ctrlKey","button","startDrag","currentTarget","getBoundingClientRect","thumbHalf","thumb","thumbPositionPercentage","$el","stopImmediatePropagation","cursorDown","mouseMoveDocumentHandler","mouseUpDocumentHandler","onselectstart","prevPage","thumbClickPosition","destroyed","main","Bar","native","wrapStyle","wrapClass","viewClass","viewStyle","noresize","tag","sizeWidth","sizeHeight","moveX","moveY","gutter","gutterWith","gutterStyle","marginRight","marginBottom","view","class","$slots","handleScroll","attrs","scrollTop","scrollLeft","heightPercentage","widthPercentage","scrollHeight","scrollWidth","mounted","$nextTick","resize","beforeDestroy","Vue","16","2","3","38","axisHelper","axisModelCommonMixin","_layout","getLayoutRect","_dataStackHelper","enableDataStack","isDimensionStacked","getStackedDimension","_completeDimensions","completeDimensions","_createDimensions","createList","dataStack","createScale","isInstance","createScaleByModel","setExtent","niceScaleExtent","mixinAxisModelCommonMethods","DOMIterables","createNonEnumerableProperty","COLLECTION_NAME","Collection","CollectionPrototype","ArrayCtor","m1","m2","out0","out1","out2","out3","out4","out5","rad","aa","ac","atx","ab","ad","aty","st","sin","ct","cos","vx","vy","det","ArrayBufferViewCore","aTypedArray","exportTypedArrayMethod","begin","beginIndex","buffer","byteOffset","BYTES_PER_ELEMENT","axisDefault","valueAxisDefault","valueAxis","defaultsShow","RadarModel","extendComponentModel","boundaryGap","axisLine","axisTick","axisLabel","nameTextStyle","showName","nameFormatter","nameGap","triggerEvent","indicatorModels","indicatorOpt","iNameTextStyle","nameLocation","indName","getIndicatorModels","radius","splitLine","splitArea","indicator","coordsOffsetMap","mapType","coordFix","cp","BaseBarSeries","getProgressive","getProgressiveThreshold","progressiveThreshold","largeThreshold","$forEach","arrayMethodIsStrict","STRICT_METHOD","callbackfn","register","records","initGlobalListeners","record","useHandler","eventType","dis","makeDispatchAction","dispatchTooltipFinally","pendings","initialized","doEnter","onLeave","actuallyPayload","showLen","showTip","hideLen","hideTip","currTrigger","pendingList","unregister","toPositiveInteger","BYTES","gOPN","Scale","OrdinalMeta","scaleProto","OrdinalScale","ordinalMeta","_ordinalMeta","_extent","getOrdinal","rank","normalize","getTicks","ticks","getLabel","unionExtentFromData","unionExtent","getApproximateExtent","getOrdinalMeta","niceTicks","niceExtent","propertyIsEnumerable","MarkerModel","tooltip","Constructor","ChartView","Path","NORMAL_ITEM_STYLE_PATH","EMPHASIS_ITEM_STYLE_PATH","SKIP_PROPS","CandlestickView","_updateDrawMode","_isLargeDraw","_renderLarge","_renderNormal","incrementalPrepareRender","_clear","incrementalRender","_incrementalRenderLarge","_incrementalRenderNormal","isLargeDraw","hasValue","createNormalBox","setBoxCommon","createLarge","NormalBoxPath","buildPath","__simpleBox","lineTo","closePath","transInit","normalItemStyleModel","LargeBoxPath","__sign","largePoints","elP","elN","setLargeStyle","suffix","Style","Element","RectText","__clipPaths","__dirty","dragging","rectHover","beforeBrush","afterBrush","rectContain","__dirtyText","__zr","refresh","animateStyle","attrKV","TO_STRING","charCodeAt","anObject","toPrimitive","Attributes","updateDataSelected","hasAnimation","selectedOffset","toggleItemSelected","midAngle","PiePiece","sector","hoverIgnore","normalIgnore","piePieceProto","firstCreate","sectorShape","setShape","animationType","lineJoin","_updateLabel","labelText","labelLayout","linePoints","labelLineModel","labelLineHoverModel","inside","verticalAlign","PieView","sectorGroup","_sectorGroup","onSectorClick","piePiece","_createClipPath","clockwise","clipPath","containPoint","getBuiltIn","simpleLayout","simpleLayoutEdge","eachEdge","curveness","node1","node2","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","Polar","_axisHelper","CoordinateSystem","resizePolar","polarModel","getRadiusAxis","updatePolarScale","onBand","setAxis","polarCreator","polarList","findAxisModel","angleAxisModel","queryComponents","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","Promise","then","_asyncToGenerator","args","err","V8_VERSION","METHOD_NAME","foo","getSeriesStackId","getAxisKey","barLayoutPolar","lastStackCoords","barWidthAndOffset","calRadialBar","filter","getSeriesByType","isSeriesFiltered","stackId","columnLayoutInfo","columnOffset","columnWidth","getOtherAxis","barMinHeight","barMinAngle","baseDim","stacked","valueAxisStart","baseValue","baseCoord","radiusSpan","dataToRadius","angle","dataToAngle","angleSpan","barSeries","columnsMap","axisExtent","columnsOnAxis","remainedWidth","autoWidthCount","categoryGap","stacks","maxWidth","barGap","barCategoryGap","coordSysName","barGapPercent","autoWidth","column","stack","lastColumn","widthSum","mathCos","mathSin","selectableMixin","geoCreator","GeoModel","layoutMode","getFilledRegions","_optionModelMap","reduce","optionModelMap","regionOpt","updateSelectedMap","aspectScale","boundingCoords","scaleLimit","getFormattedLabel","status","formatter","setZoom","setCenter","arrySlice","Eventful","eventProcessor","_$handlers","_$eventProcessor","normalizeQuery","eventful","isOnce","_h","one","callAtLast","zrEventfulCallAtLast","lastIndex","lastWrap","splice","isSilent","newList","argLen","hItem","afterTrigger","triggerWithContext","getMin","rangeStart","eqNaN","getMax","rangeEnd","getNeedCrossZero","getCoordSysModel","setRange","resetRange","coordinateSystemCreators","CoordinateSystemManager","_coordinateSystems","coordinateSystems","creater","getCoordinateSystems","coordinateSystemCreator","curve","bbox","devicePixelRatio","CMD","M","L","Q","Z","min2","max2","mathMin","mathMax","mathSqrt","mathAbs","hasTypedArray","PathProxy","notSaveData","_saveData","_ctx","_xi","_yi","_x0","_y0","_ux","_uy","_len","_lineDash","_dashOffset","_dashIdx","_dashSum","setScale","getContext","beginPath","addData","exceedUnit","_needsDash","_dashedLineTo","bezierCurveTo","x1","y1","x2","y2","x3","y3","_dashedBezierTo","quadraticCurveTo","_dashedQuadraticTo","arc","anticlockwise","arcTo","x0","y0","toStatic","setLineDash","lineDash","lineDashSum","setLineDashOffset","setData","appendPath","appendSize","appendPathData","cmd","_expandData","_prevCmd","newData","dash","dashSum","nDash","cubicAt","bezierLen","tmpLen","MAX_VALUE","xi","yi","fromLine","fromCubic","fromQuadratic","rx","ry","fromArc","rebuildPath","ux","uy","theta","dTheta","psi","fs","scaleX","scaleY","isEllipse","features","ctor","_format","encodeHTML","layoutInfo","treeOption","treeDepth","expandAndCollapse","expandTreeDepth","initialTreeDepth","getRawDataItem","collapsed","formatTooltip","realRoot","roam","nodeScaleRatio","animationDuration","animationDurationUpdate","numberUtil","scaleHelper","IntervalScale","intervalScaleProto","mathCeil","ceil","mathFloor","ONE_SECOND","ONE_MINUTE","ONE_HOUR","ONE_DAY","bisect","TimeScale","stepLvl","_stepLvl","date","Date","formatTime","getSetting","getFullYear","getMonth","getDate","minInterval","maxInterval","_interval","fixMin","fixMax","approxTickNum","span","approxInterval","scaleLevelsLen","scaleLevels","level","yearSpan","yearStep","nice","timezoneOffset","getTimezoneOffset","fixExtent","_niceExtent","parseDate","useUTC","clipOverflow","step","smoothMonotone","showSymbol","showAllSymbol","connectNulls","sampling","hoverLayerThreshold","Component","parallelAxisIndex","axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandRate","axisExpandDebounce","axisExpandSlideTriggerArea","axisExpandTriggerOn","parallelAxisDefault","mergeOption","_initDimensions","setAxisExpand","axisModels","dependentModels","parallelAxis","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","Uint16Array","nativeSort","ACCEPT_INCORRECT_ARGUMENTS","STABLE_SORT","mod","expected","getSortCompare","comparefn","arrayLength","items","isArrayIteratorMethod","getIteratorMethod","iteratorClose","Result","stopped","iterable","unboundFunction","iterator","iterFn","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","condition","callFn","wx","getSystemInfoSync","browser","os","svgSupported","touchEventsSupported","domSupported","worker","navigator","detect","ua","ie","weChat","version","SVGRect","pointerEventsSupported","hierNode","defaultAncestor","ancestor","prelim","modifier","change","shift","thread","pop","firstWalk","separation","siblings","subtreeW","executeShifts","midPoint","apportion","secondWalk","nodeX","defaultSeparation","radialCoordinate","radialCoor","getViewRect","getBoxLayoutParams","subtreeV","nodeOutRight","nodeInRight","nodeOutLeft","nodeInLeft","sumOutRight","sumInRight","sumOutLeft","sumInLeft","nextRight","nextLeft","moveSubtree","nextAncestor","wl","wr","pathTool","colorTool","Image","Ring","BezierCurve","Arc","LinearGradient","RadialGradient","IncrementalDisplayable","EMPTY_OBJ","Z2_EMPHASIS_LIFT","extendShape","extendPath","pathData","extendFromString","makePath","createFromString","centerGraphic","resizePath","makeImage","imageUrl","img","pathRect","subPixelOptimizeLine","param","lineWidth","subPixelOptimizeRect","originWidth","originHeight","positiveOrNegative","doubledPosition","hasFillOrStroke","fillOrStroke","liftedColorMap","liftedColorCount","liftColor","liftedColor","lift","cacheElementStl","__hoverStlDirty","__hoverStl","normalStyle","__cachedNormalStl","__cachedNormalZ2","doSingleEnterHover","hoverStl","__highlighted","elTarget","targetStyle","addHover","rollbackDefaultTextStyle","extendFrom","setDefaultHoverFillStroke","applyDefaultTextStyle","prop","doSingleLeaveHover","highlighted","removeHover","normalStl","normalZ2","traverseCall","isGroup","setElementHoverStyle","__isEmphasisEntered","onElementMouseOver","__hoverSilentOnTouch","zrByTouch","onElementMouseOut","enterEmphasis","leaveEmphasis","setAsHoverStyleTrigger","disable","__hoverStyleTrigger","emphasisStyle","normalModel","emphasisModel","normalSpecified","emphasisSpecified","baseText","showNormal","showEmphasis","normalStyleText","emphasisStyleText","setTextStyle","textStyle","specifiedTextStyle","isEmphasis","setTextStyleCommon","setText","defaultColor","textPosition","textOffset","textRotation","textDistance","richResult","globalTextStyle","richItemNames","getRichItemNames","richTextStyle","setTokenTextStyle","rich","forceRich","richItemNameMap","isBlock","getAutoColor","textStroke","textBorderColor","textStrokeWidth","textBorderWidth","insideRawTextPosition","insideRollbackOpt","fontStyle","fontWeight","fontFamily","textLineHeight","textWidth","textHeight","textTag","disableBox","textBackgroundColor","textPadding","textBorderRadius","textBoxShadowColor","textBoxShadowBlur","textBoxShadowOffsetX","textBoxShadowOffsetY","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","insideRollback","gTextStyleModel","trim","animateOrSetProps","isUpdate","animatableModel","animationEnabled","postfix","animationDelay","getAnimationDelayParams","getTransform","mat","transformDirection","hBase","vBase","vertex","groupTransition","g1","g2","elMap1","getElMap","anid","oldEl","newProp","getAnimatableProps","g","elMap","clipPointsByRect","clipRectByRect","targetRect","iconStr","eventTool","DataZoomView","sliderMove","linearMap","asc","DEFAULT_LOCATION_EDGE_GAP","DEFAULT_FRAME_BORDER_WIDTH","DEFAULT_FILLER_SIZE","HORIZONTAL","VERTICAL","LABEL_GAP","SHOW_DATA_SHADOW_SERIES_TYPE","SliderZoomView","_displayables","_orient","_range","_handleEnds","_size","_handleWidth","_handleHeight","_location","_dragging","_dataShadowInfo","dataZoomModel","_buildView","_updateView","_resetLocation","_resetInterval","barGroup","_renderBackground","_renderHandle","_renderDataShadow","_positionGroup","coordRect","_findCoordRect","ecSize","positionInfo","layoutParams","getLayoutParams","layoutRect","location","targetAxisModel","getFirstTargetAxisModel","otherAxisInverse","_getViewExtent","_onClickPanelClick","_prepareDataShadowInfo","series","otherDim","getShadowDim","otherDataExtent","getDataExtent","otherOffset","lastIsEmpty","otherShadowExtent","thisShadowExtent","areaPoints","thisCoord","stride","otherCoord","showDataShadow","eachTargetAxis","dimNames","seriesModels","getAxisProxy","getTargetSeriesModels","thisAxis","getOtherDim","thisDim","displaybles","handles","handleLabels","filler","getCursor","_onDragMove","ondragstart","_showDataInfo","ondragend","_onDragEnd","onmouseover","onmouseout","handleIndex","bRect","handleColor","getPercentRange","viewExtent","_updateInterval","delta","handleEnds","viewExtend","minMaxSpan","findRepresentativeAxisProxy","getMinMaxSpan","percentExtent","minSpan","maxSpan","lastRange","nonRealtime","handleInterval","handle","handleHeight","_updateDataInfo","labelTexts","axisProxy","getAxisModel","dataInterval","calculateDataWindow","valueWindow","getDataValueWindow","_formatLabel","orderedHandleEnds","setLabel","barTransform","textPoint","labelFormatter","labelPrecision","getPixelPrecision","valueStr","showOrHide","changed","realtime","_dispatchZoomAction","localPoint","offsetX","offsetY","dataZoomId","getTargetCoordInfo","coordInfoList","Graph","edges","directed","beforeLink","addNode","linkNameList","validEdges","linkCount","link","addEdge","nodeData","coordSysCtor","dimensionNames","edgeData","datas","datasAttr","integer","IndicatorAxis","getScaleExtent","Radar","radarModel","_indicatorAxes","indicatorModel","indicatorAxis","getIndicatorAxes","indicatorIndex","coordToPoint","pointToData","closestAxis","radian","minRadianDiff","closestAxisIdx","coodToData","viewWidth","viewHeight","viewSize","indicatorAxes","radarSeries","increaseInterval","exp10","pow","log","LN10","rawExtent","fixedMin","fixedMax","getInterval","setInterval","nicedSplitNumber","halfSplitNumber","radarList","radar","redefine","setGlobal","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","categoryFilter","categoryVisual","edgeVisual","circularLayout","forceLayout","createView","registerProcessor","registerCoordinateSystem","internalObjectKeys","enumBugKeys","hiddenKeys","dataFormatMixin","addCommas","fillLabel","extraOpt","mergeDefaultAndTheme","createdBySelf","hostSeries","__hostSeries","newOpt","modelPropName","markerOpt","markerModel","getRawValue","formattedValue","html","getSortedIndices","valueArr","mapArray","isAscending","textX","textY","labelPosition","isLabelInside","labelLineLen","viewRect","sizeExtent","getLinePoints","offY","nextIdx","$","notARegExp","requireObjectCoercible","correctIsRegExpLogic","proto","includes","searchString","_poly","DataDiffer","_layers","layerSeries","getLayerSeries","keyGetter","dataDiffer","_layersSeries","newLayersGroups","process","oldLayersGroups","points0","points1","textLayout","margin","layerGroup","stackedOnPoints","stackedOnSmooth","smoothConstraint","createGridClipShape","rectEl","$reduceRight","$toString","flags","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","unsafe","definePropertyModule","CONSTRUCTOR_NAME","setToStringTag","IteratorPrototype","NAME","POSSIBLE_STYLES","compatEC2ItemStyle","itemStyleOpt","styleName","normalItemStyleOpt","normal","emphasisItemStyleOpt","convertNormalEmphasis","optType","useExtend","normalOpt","emphasisOpt","removeEC3NormalStatus","compatTextStyle","labelOptSingle","TEXT_STYLE_OPTIONS","compatEC3CommonStyles","processSeries","seriesOpt","markPoint","markLine","markArea","links","mpData","mlData","breadcrumb","toArr","toObj","isTheme","axes","axisName","axisOpt","axisPointer","parallel","parallelOpt","calendar","calendarOpt","radarOpt","geoOpt","regionObj","timeline","timelineOpt","toolbox","toolboxOpt","feature","featureOpt","properties","excludes","normalizeComponent","scriptExports","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","_arrayLikeToArray","arr","arr2","_arrayWithoutHoles","arrayLikeToArray","_iterableToArray","iter","_unsupportedIterableToArray","minLen","_nonIterableSpread","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","PI2","RADIAN","minAngle","validDataCount","unitRadian","roseType","stillShowZeroSum","restAngle","valueSumLargerThanMinAngle","currentAngle","dir","paletteScope","categoriesData","getCategoriesData","categoryNameIdxMap","getColorFromPalette","category","$slice","Int8Array","140","vue_popper_","vue_popper_default","debounce_","debounce_default","external_vue_","external_vue_default","mixins","openDelay","disabled","manual","effect","arrowOffset","popperClass","visibleArrow","transition","popperOptions","boundariesPadding","gpuAcceleration","hideAfter","tabindex","tooltipId","timeoutPending","focusing","_this","$isServer","popperVM","$mount","debounceClose","handleClosePopper","_this2","doDestroy","setExpectedState","role","showPopper","directives","firstElement","getFirstElement","staticClass","addTooltipClass","_this3","referenceElm","nodeType","setAttribute","componentInstance","handleFocus","handleBlur","removeFocusing","updatePopper","watch","handleShowPopper","prev","_this4","expectedState","timeout","slots","element","$destroy","reference","18","5","7","title","keep","dataView","lang","dataZoom","back","magicType","line","tiled","restore","saveAsImage","typeNames","pie","scatter","effectScatter","treemap","boxplot","candlestick","heatmap","lines","sankey","funnel","gauge","pictorialBar","themeRiver","sunburst","aria","general","withTitle","withoutTitle","single","prefix","withName","withoutName","multiple","separator","middle","allData","partialData","scrollIntoView","_vue","_vue2","offsetParents","pointer","offsetParent","offsetHeight","viewRectTop","viewRectBottom","returnMethod","isDataItemOption","DefaultDataProvider","dimSize","seriesDataToSource","_source","_offset","_dimSize","providerMethods","providerProto","pure","persistent","getItem","appendData","appendDataSimply","countSimply","getItemSimply","col","dims","newCol","oldCol","clean","rawValueGetters","arrayRows","getRawValueSimply","objectRows","keyedColumns","original","typedArray","defaultDimValueGetters","getDimValueSimply","converDataValue","_dimensionInfos","_rawData","dimInfo","dimType","parseAndCollect","retrieveRawValue","getProvider","getDimensionInfo","retrieveRawAttr","EOF","USE_NATIVE_URL","defineProperties","anInstance","arrayFrom","codeAt","toASCII","URLSearchParamsModule","InternalStateModule","NativeURL","getInternalSearchParamsState","getState","setInternalState","getInternalURLState","getterFor","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","input","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","parts","numbersSeen","ipv4Piece","swaps","swap","address","compress","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","code","encodeURIComponent","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","string","normalized","second","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","toLowerCase","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","base","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","port","fragment","codePoint","encodedCodePoints","URLConstructor","baseState","urlString","searchParamsState","updateSearchParams","updateURL","serializeURL","getOrigin","protocol","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","search","getSearch","getSearchParams","getHash","URLPrototype","output","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","fixShadow","_constant","ContextCachedBy","STYLE_COMMON_PROPS","createLinearGradient","canvasGradient","createRadialGradient","fillOpacity","strokeOpacity","lineDashOffset","shadowBlur","shadowOffsetX","shadowOffsetY","textRect","transformText","textOrigin","truncate","blend","prevStyle","notCheckCache","__attrCachedBy","STYLE_BIND","fillStyle","strokeStyle","globalAlpha","globalCompositeOperation","hasStroke","getLineScale","hasFill","otherStyle","overwrite","newStyle","getGradient","colorStops","addColorStop","styleProto","hasKeys","supplementVisualOption","mappings","createMappings","visualData","isValidType","__hidden","__alphaForOpacity","Creater","replaceVisualOption","scope","visualTypesMap","eachItem","valueOrIndex","rawDataItem","visualMap","prepareVisualTypes","incrementalApplyVisual","getMigratingConfig","events","getTargetSeries","seriesModelMap","modifyOutputEnd","overallReset","filterData","percentRange","getDataPercentWindow","valueRange","setRawRange","startValue","endValue","$startsWith","startsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","debugMode","defer","channel","IS_IOS","IS_NODE","setImmediate","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","run","runner","listener","post","postMessage","argumentsLength","Function","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","Deno","versions","v8","OTHER_DIMENSIONS","summarizeDimensions","summary","notExtraCoordDimMap","defaultedLabel","defaultedTooltip","dimItem","coordDimArr","coordDimIndex","isExtraCoord","mayLabelDimType","defaultTooltip","otherDimArr","otherDims","dataDimsOnCoord","encodeFirstDimNotExtra","dimArr","encodeLabel","encodeTooltip","getDimensionTypeByAxis","barPolar","borderColorQuery","globalColors","eachRawSeriesByType","defaulColor","legendSymbol","getMarkerPosition","clampData","offsetIndex","progressiveChunkMode","Ellipse","_path","DILIMITER_REG","parseXML","svg","parser","DOMParser","parseFromString","firstChild","nodeName","nextSibling","SVGParser","_defs","_root","_isDefine","_isText","xml","viewBox","getAttribute","parseFloat","parseAttributes","viewBoxRect","viewBoxTransform","_parseNode","viewBoxArr","makeViewBoxTransform","ignoreViewBox","elRoot","ignoreRootClip","xmlNode","parentGroup","defineParsers","def","nodeParsers","_parseText","_textX","_textY","textContent","inheritStyle","circle","ellipse","parsePoints","gradient","_parseGradientColorStops","stopColor","__inheritedStyle","pointsString","attributesMap","defs","onlyInlineStyle","zrStyle","isTextEl","parseTransformAttribute","parseStyleAttribute","svgAttrName","attrValue","elFillProp","elStrokeProp","getPaint","elPropName","textBaseline","urlRegex","urlMatch","transformRegex","transformOps","console","warn","styleRegex","styleRegResult","styleList","viewBoxScale","viewBoxPosition","parseSVG","DEFAULT_BAR_BOUND","ContinuousModel","calculable","hoverLinkDataSize","hoverLinkOnHandle","_resetRange","resetItemSize","auto","getSelected","oVals","getColorStopValues","iVals","iIdx","oIdx","iLen","oLen","first","stopsLen","stopValues","getAxis","markerHelper","LineDraw","MarkerView","markLineTransform","mlModel","mlType","valueDataDim","axisInfo","getAxisInfo","numCalculate","valueIndex","baseIndex","mlFrom","mlTo","dataTransform","isInifinity","ifMarkLineHasOnlyDim","fromCoord","toCoord","otherDimIndex","containData","markLineFilter","dataFilter","updateSingleMarkerEndLayout","isFrom","xPx","yPx","markLineModel","fromData","__from","toData","__to","markerGroupMap","renderSeries","seriesData","lineDrawMap","lineDraw","updateDataVisualAndLayout","lineColor","dataModel","__keep","coordDimsInfos","optData","dimValueGetter","util","_event","Dispatcher","requestAnimationFrame","Animation","stage","_clips","_running","_time","_pausedTime","_pauseStart","addAnimator","clips","removeAnimator","_update","getTime","deferredEvents","deferredClips","_needsRemove","fire","_startLoop","isFinished","sankeyLayout","sankeyVisual","_echarts","_export","DATAS","MAIN_DATA","linkAll","TRANSFERABLE_METHODS","wrapMethod","transferInjection","cloneShallowInjection","CHANGABLE_METHODS","changeInjection","dataType","isMainData","linkSingle","cloneShallow","getLinkedData","Region","$lastIndexOf","searchElement","roams","InsideZoomView","allCoordIds","coordInfo","generateCoordId","coordModel","getRange","roamHandlers","coordId","containsPoint","directionInfo","getDirectionInfo","percentPoint","signal","pixelStart","pixelLength","pixel","pan","makeMover","oldX","oldY","newX","newY","scrollMove","scrollDelta","getPercentDelta","percentDelta","oldPoint","newPoint","angleExtent","pointToCoord","singleAxis","_dimensionHelper","coordSysDimDefs","registeredCoordSys","axisMap","getDimensionsInfo","hasNameEncode","dimInfoList","generateCoord","categoryAxisModel","stackCalculationInfo","setCalculationInfo","isNeedCompleteOrdinalData","itemOpt","defaultDimValueGetter","sampleItem","firstDataNotNull","isNumeric","_helper","BAR_BORDER_WIDTH_QUERY","LAYOUT_ATTRS","posDesc","pathForLineWidth","BarView","cartesian","coordSysRect","coordSysExtent","categoryDim","symbolMeta","getSymbolMeta","createBar","updateCommon","newIndex","oldIndex","pictorialShapeStr","getShapeStr","__pictorialShapeStr","updateBar","__pictorialSymbolMeta","removeBar","animationModel","symbolRepeat","symbolClip","symbolPosition","symbolPatternSize","symbolRepeatDirection","prepareBarLength","prepareSymbolSize","boundingLength","pxSign","prepareLineWidth","symbolScale","prepareLayoutInfo","valueLineWidth","repeatCutLength","symbolBoundingData","zeroPx","pxSignIdx","symbolBoundingExtent","convertToCoordOnAxis","categorySize","unitLength","pathLen","absBoundingLength","symbolMargin","hasEndGap","lastIndexOf","uLenWithMargin","endFix","repeatSpecified","repeatTimes","toIntTimes","mDiff","sizeFix","pathPosition","bundlePosition","barRectShape","createPath","createOrUpdateRepeatSymbols","bundle","__pictorialBundle","unit","eachPath","__pictorialAnimationIndex","__pictorialRepeatTimes","updateAttr","makeTarget","updateHoverAnimation","createOrUpdateSingleSymbol","mainPath","__pictorialMainPath","createOrUpdateBarRect","rectShape","barRect","__pictorialBarRect","createOrUpdateClip","__pictorialClipPath","labelRect","pathes","immediateAttrs","animationAttrs","barRectHoverStyle","barPositionOutside","times","roundedTimes","valueOf","SunburstPiece","ROOT_TO_NODE_ACTION","SunburstView","virtualRoot","newRoot","getViewRoot","renderLabelForZeroData","newChildren","oldChildren","_oldChildren","dualTravel","renderRollUp","highlightPolicy","unhighlight","virtualPiece","getKey","processNode","newId","oldId","newNode","oldNode","doRenderNode","removeNode","viewRoot","_onclickEvent","_rootToNode","_initEvents","targetFound","nodeClick","linkTarget","open","targetNode","treeRoot","transformPath","vMag","vRatio","u","vAngle","acos","processArc","fa","psiDeg","xp","yp","lambda","cxp","cyp","commandReg","numberReg","createPathProxyFromString","prevCmd","cpx","cpy","subpathX","subpathY","cmdList","cmdText","cmdStr","pLen","ctlPtx","ctlPty","createPathOptions","pathProxy","pathEls","pathList","pathEl","createPathProxy","__dirtyPath","pathBundle","TimelineView","_axis","_viewRect","_timer","_currentPointer","_mainGroup","_labelGroup","timelineModel","mainGroup","_createGroup","labelGroup","_createAxis","_renderAxisLabel","_position","_doPlayStop","_clearTimer","labelPosOpt","playPosition","prevBtnPosition","nextBtnPosition","labelAlignMap","labelBaselineMap","rotationMap","mainLength","controlModel","showControl","controlSize","controlGap","sizePlusGap","labelRotation","controlPosition","showPlayBtn","showPrevBtn","showNextBtn","xLeft","xRight","labelAlign","labelBaseline","rotateOriginX","rotateOriginY","viewBound","getBound","mainBound","labelBound","mainPosition","labelsPosition","mainBoundIdx","toBound","setOrigin","targetGroup","fromPos","boundIdx","newGroup","_renderAxisLine","lineCap","_renderAxisTick","tickCoord","hoverStyleModel","symbolOpt","_changeTimeline","giveSymbol","labels","getViewLabels","labelItem","tickValue","normalLabelModel","formattedLabel","_renderControl","playState","getPlayState","makeBtn","iconPath","willRotate","btn","makeIcon","_handlePlayClick","_renderCurrentPointer","currentIndex","getCurrentIndex","pointerModel","onCreate","_handlePointerDrag","_handlePointerDragend","pointerMoveTo","onUpdate","nextState","_pointerChangeTimeline","mousePos","_toAxisCoord","_findNearestTick","handleFrame","trans","axisCoord","nextIndex","objPath","noAnimation","Iterators","DataZoomModel","SliderZoomModel","dataBackground","areaStyle","fillerColor","handleIcon","handleSize","handleStyle","showDetail","zoomLock","objectKeys","Properties","RADIAN_EPSILON","_trim","domain","clamp","subDomain","subRange","all","returnStr","getPrecision","getPrecisionSafe","eIndex","dotIndex","pixelExtent","dataQuantity","sizeQuantity","getPercentWithPrecision","valueList","acc","digits","votesPerQuota","targetSeats","seats","votes","currentSum","remainder","NEGATIVE_INFINITY","maxId","MAX_SAFE_INTEGER","remRadian","pi2","isRadianAroundZero","TIME_REG","hour","toUpperCase","UTC","quantity","quantityExponent","nf","exponent","quantile","ascArr","H","littleThan","currClose","_dataProvider","getTooltipMarker","formatTpl","getTooltipRenderMode","DIMENSION_LABEL_REG","rawValue","rawDataIndex","renderModeOption","renderMode","isSeries","componentSubType","marker","labelProp","makeStyleMapper","getLineDash","lineType","dotSize","dashSize","Displayble","IncrementalDisplayble","_temporaryDisplayables","_cursor","notClear","clearDisplaybles","addDisplayable","displayable","notPersistent","addDisplayables","displayables","eachPendingDisplayable","childRect","union","localPos","LIBRARY","$export","$iterCreate","getPrototypeOf","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","DEFAULT","IS_SET","getMethod","kind","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","values","F","setCurrentIndex","isIndexMax","setPlayState","resetOption","preventIncremental","coordSysCreator","blurSize","pointSize","maxOpacity","minOpacity","IS_INCLUDES","$this","fromIndex","AxisProxy","eachAxisDim","xAxisIndex","yAxisIndex","filterMode","minValueSpan","maxValueSpan","rangeMode","_dataIntervalByAxis","_dataInfo","_axisProxies","_autoThrottle","_rangePropMode","rawOption","retrieveRaw","doInit","_setDefaultThrottle","updateRangeUse","_resetTarget","_giveAxisProxies","axisProxies","__dzAxisProxy","autoMode","_judgeAutoMode","axisIndexName","normalizeToArray","_autoSetAxisIndex","_autoSetOrient","hasIndexSpecified","autoAxisIndex","singleAxisModel","singleAxisIndex","axisIndices","_isSeriesHasAllAxesTypeOf","axisId","seriesAxisIndex","globalOption","firstAxisModel","ignoreUpdateRangeUsg","getValueRange","axisDimName","hostedBy","getRangePropMode","rangePropMode","rangeModeInOption","percentSpecified","valueSpecified","$findIndex","findIndex","predicate","isMergeableObject","isNonNullObject","stringValue","isReactElement","canUseSymbol","for","REACT_ELEMENT_TYPE","$$typeof","emptyTarget","cloneIfNecessary","optionsArgument","deepmerge","defaultArrayMerge","destination","mergeObject","sourceIsArray","targetIsArray","arrayMerge","sourceAndTargetTypesMatch","deepmerge_1","toOffset","arrayLike","defineIterator","STRING_ITERATOR","getInternalState","HOVER_LINK_SIZE","HOVER_LINK_OUT","ContinuousView","_shapes","_dataInterval","_useHandle","_hoverLinkDataIndices","_hovering","_renderBar","dataRangeText","_enableHoverLinkToSeries","_enableHoverLinkFromSeries","endsIndex","_applyTransform","shapes","useHandle","_createBarGroup","outOfRange","createPolygon","inRange","_dragHandle","getTextRect","textSize","handleThumbs","handleLabelPoints","_createHandle","_createIndicator","onDrift","onDragEnd","handleThumb","createHandlePoints","handleLabel","handleLabelPoint","indicatorLabel","indicatorLabelPoint","isEnd","_clearHoverLinkToSeries","useHoverLinkOnHandle","_doHoverLinkToSeries","forSketch","outOfRangeHandleEnds","inRangeHandleEnds","visualInRange","_createBarVisual","visualOutOfRange","barColor","barPoints","_updateHandle","forceState","convertOpacityToAlpha","_makeColorGradient","symbolSizes","_createBarPoints","handlesColor","sampleNumber","currValue","_showIndicator","cursorValue","textValue","rangeSymbol","halfHoverLinkSize","createIndicatorPoints","_hoverLinkFromSeriesMouseOver","_hideIndicator","_clearHoverLinkFromSeries","cursorPos","hoverOnBar","getHalfHoverLinkSize","hoverRange","oldBatch","newBatch","resultBatches","compressBatches","_dispatchHighDown","isTargetSeries","isRange","extentMax","zrender","timsort","GlobalModel","ExtensionAPI","OptionManager","backwardCompat","_throttle","seriesColor","loadingDefault","Scheduler","lightTheme","darkTheme","mapDataStorage","parseClassType","TEST_FRAME_REMAIN_TIME","PRIORITY_PROCESSOR_FILTER","PRIORITY_PROCESSOR_STATISTIC","PRIORITY_VISUAL_LAYOUT","PRIORITY_VISUAL_GLOBAL","PRIORITY_VISUAL_CHART","PRIORITY_VISUAL_COMPONENT","PRIORITY_VISUAL_BRUSH","PROCESSOR","FILTER","STATISTIC","LAYOUT","CHART","COMPONENT","IN_MAIN_PROCESS","OPTION_UPDATED","ACTION_REG","createRegisterEventWithLowercaseName","MessageCenter","ECharts","dom","theme","themeStorage","_dom","defaultRenderer","renderer","_throttledZrFlush","flush","_theme","_chartsViews","_chartsMap","_componentsViews","_componentsMap","_coordSysMgr","_api","createExtensionAPI","prioritySortFunc","__prio","visualFuncs","dataProcessorFuncs","_scheduler","_ecEventProcessor","EventProcessor","_messageCenter","_pendingActions","_onframe","bindRenderedEvent","setAsPrimitive","echartsProto","doConvertPixel","coordSysList","parseFinder","_disposed","scheduler","prepare","updateMethods","flushPendingActions","triggerUpdatedEvent","unfinished","remainTime","startTime","performSeriesTasks","performDataProcessorTasks","updateStreamModes","performVisualTasks","getDom","setOption","notMerge","lazyUpdate","optionManager","optionPreprocessorFuncs","setTheme","getOption","getDevicePixelRatio","getRenderedCanvas","pixelRatio","getSvgDataUrl","storage","getDisplayList","pathToDataUrl","getDataURL","excludeComponents","excludesComponentViews","__viewId","getType","toDataURL","getConnectedDataURL","groupId","MAX_NUMBER","connectedGroups","canvasList","instances","chart","canvas","targetCanvas","createCanvas","refreshImmediately","containPixel","models","defaultMainType","dataIndexInside","indexOfRawIndex","getViewOfComponentModel","componentModel","getViewOfSeriesModel","prepareAndUpdate","coordSysMgr","restoreData","clearColorPalette","setBackgroundColor","colorArr","stringify","performPostUpdateFuncs","ecIns","componentDirtyList","componentView","__alive","seriesDirtyMap","chartView","setDirty","dirtyMap","updateView","markUpdateMethod","updateVisual","restorePipelines","prepareStageTasks","prepareView","updateDirectly","excludeSeriesId","callView","__model","chartsMap","doDispatchAction","payloadType","escapeConnect","actionWrap","actions","actionInfo","cptType","updateMethod","payloads","batched","eventObj","eventObjBatch","isHighDown","batchItem","sub","pendingActions","isComponent","viewList","viewMap","doPrepare","viewId","classType","Clazz","getClass","__id","__ecComponentInfo","renderTask","renderComponents","dirtyList","updateZ","updatePayload","perform","getPerformArgs","updateBlend","updateHoverLayerStatus","postUpdateFuncs","func","_loadingFX","optionChanged","showLoading","cfg","hideLoading","loadingEffects","makeActionFromEvent","eventActionMap","MOUSE_EVENT_NAMES","elCount","blendMode","ecInstance","getComponentByElement","modelInfo","eventInfo","eveName","isGlobalOut","targetEl","packedEvent","actionType","DOM_ATTRIBUTE_KEY","cptQuery","dataQuery","otherQuery","condCptType","suffixes","dataKeys","reserved","propSuffix","suffixPos","check","filterForExposedEvent","propOnHost","idBase","groupIdBase","enableConnect","STATUS_PENDING","STATUS_UPDATING","STATUS_UPDATED","STATUS_KEY","updateConnectedChartsStatus","charts","otherChart","otherCharts","existInstance","getInstanceByDom","connect","disConnect","disconnect","getInstanceById","registerTheme","preprocessorFunc","priority","processor","normalizeRegister","registerPostUpdate","postUpdateFunc","getCoordinateSystemDimensions","layoutTask","visualTask","targetList","defaultPriority","stageHandler","wrapStageHandler","__raw","registerLoading","loadingFx","setCanvasCreator","creator","$override","registerMap","geoJson","specialAreas","getMap","retrieveMap","geoJSON","dataTool","___ec_export","_core","textContain","textHelper","arrayJoin","NONE","mathRound","degree","round4","isAroundZero","pathHasFill","isText","pathHasStroke","svgEl","attrXLink","setAttributeNS","bindStyle","strokeWidth","strokeScale","miterLimit","pathDataToString","dataLength","nData","dThetaPositive","isCircle","svgPath","__svgEl","pathStr","svgTextDrawRectText","svgImage","HTMLImageElement","dw","dh","__imageSrc","svgText","tmpRect","normalizeTextStyle","textSvgEl","__textSvgEl","distance","DEFAULT_FONT","getVerticalAlignForSvg","lineHeight","adjustTextPositionOnRect","textLines","nTextLines","textAnchor","__text","__textFont","tspanList","__tspanList","tspan","createTextNode","$map","mapfn","removeResizeListener","addResizeListener","_resizeObserverPolyfill","_resizeObserverPolyfill2","isServer","resizeHandler","_isArray","entry","listeners","__resizeListeners__","__ro__","observe","scaleAndAdd","lenSquare","lengthSquare","div","dot","distanceSquare","distSquare","negate","lerp","nodeList","startClick","seed","createDocumentHandler","binding","vnode","mouseup","mousedown","popperElm","expression","bindingFn","documentHandler","unbind","_assign","_assign2","LRU","kCSSColorTable","clampCssByte","clampCssAngle","clampCssFloat","parseCssInt","parseCssFloat","cssHueToRgb","lerpNumber","setRgba","copyRgba","colorCache","lastRemovedArr","putToCache","colorStr","rgbaArr","put","cached","op","ep","fname","substr","alpha","hsla2rgba","iv","hsla","rgba2hsla","G","vMin","vMax","deltaR","deltaG","deltaB","fastLerp","normalizedValue","colors","leftIndex","rightIndex","leftColor","rightColor","dv","fastMapToColor","fullOutput","mapToColor","modifyHSL","modifyAlpha","arrColor","isVNode","hasOwn","Gradient","TooltipRichContent","findPointFromSeries","globalListener","axisPointerViewHelper","proxyRect","tooltipContent","_renderMode","_newLine","_tooltipContent","_tooltipModel","_ecModel","_lastDataByCoordSys","_alwaysShowContent","_initGlobalListener","_keepShow","triggerOn","_tryShow","_hide","_lastX","_lastY","_refreshUpdateTimeout","manuallyShowTip","_ticket","dataByCoordSys","tooltipOption","_manuallyAxisShowTip","pointInfo","findHover","manuallyHideTip","coordSysAxesInfo","buildTooltipModel","_showAxisTooltip","_showSeriesItemTooltip","_showComponentItemTooltip","_showOrMove","_showTimout","globalTooltipModel","singleDefaultHTML","singleParamsList","singleTooltipModel","newLine","markers","itemCoordSys","dataByAxis","axisValue","seriesDefaultHTML","valueLabel","getValueLabel","seriesDataIndices","valueLabelOpt","idxItem","dataParams","getAxisRawValue","axisValueLabel","seriesTooltip","newMarkers","firstLine","positionExpr","_updateContentNotChangedOnAxis","_updatePosition","_showTooltipContent","random","tooltipTrigger","defaultHtml","asyncTicket","tooltipOpt","subTooltipModel","cbTicket","contentSize","vAlign","calcTooltipPosition","refixTooltipPosition","isCenterAlign","confineTooltipPosition","lastCoordSys","contentNotChanged","lastItemCoordSys","indexCoordSys","lastDataByAxis","thisItemCoordSys","thisDataByAxis","lastItem","indexAxis","thisItem","lastIndices","newIndices","lastIdxItem","newIdxItem","modelCascade","resultModel","gapH","gapV","domWidth","domHeight","rectWidth","rectHeight","_clazz","enableClassExtend","enableClassCheck","lineStyleMixin","areaStyleMixin","textStyleMixin","itemStyleMixin","doGet","pathArr","getParent","getParentMethod","parsePath","thisParentModel","Ctor","setReadOnly","customizeGetParent","Single","singles","actionTypes","handleRootToNode","types","targetInfo","retrieveTargetInfo","originViewRoot","aboveViewRoot","resetViewRoot","easingFuncs","_life","onrestart","globalTime","deltaTime","_startTime","easingFunc","schedule","restart","UNSCOPABLES","ArrayPrototype","MATCH","isRegExp","HIGHLIGHT_ACTION","handleHighlight","UNHIGHLIGHT_ACTION","handleUnhighlight","_createPolyline","polylineProto","_updateCommonStl","hoverLineStyle","legendSelectActionHandler","selectedMap","isToggleSelect","legendData","isItemSelected","fixRegExpWellKnownSymbolLogic","advanceStringIndex","regExpExec","nativeMatch","maybeCallNative","regexp","matcher","fullUnicode","unicode","matchStr","rangeInfo","getRangeInfo","cellWidth","getCellWidth","cellHeight","getCellHeight","weeks","dayCount","allDay","0","15","19","21","26","31","40","51","59","cascader_panelvue_type_template_id_34932346_render","_vm","$createElement","_c","_self","border","keydown","handleKeyDown","_l","menus","menu","refInFor","_withStripped","cascader_node_render","cascader_node_staticRenderFns","external_babel_helper_vue_jsx_merge_props_","external_babel_helper_vue_jsx_merge_props_default","scrollbar_","scrollbar_default","checkbox_","checkbox_default","radio_","radio_default","stopPropagation","cascader_nodevue_type_script_lang_js_","inject","ElCheckbox","ElRadio","required","nodeId","config","panel","isLeaf","isDisabled","checkedValue","isChecked","isSameNode","inActivePath","isInPath","activePath","inCheckedPath","checkStrictly","checkedNodePaths","some","checkedPath","getValueByOption","handleExpand","loading","lazy","loaded","lazyLoad","checked","handleMultiCheckChange","handleCheckChange","doCheck","calculateMultiCheckedValue","pathNodes","selectedPathNode","renderPrefix","renderCheckbox","renderRadio","renderCheckIcon","renderPostfix","renderLoadingIcon","renderExpandIcon","nativeOn","click","indeterminate","renderContent","renderLabelFn","expandTrigger","mouseenter","$emit","src_cascader_nodevue_type_script_lang_js_","componentNormalizer","__file","cascader_menu_render","cascader_menu_staticRenderFns","cascader_node","locale_","locale_default","cascader_menuvue_type_script_lang_js_","ElScrollbar","CascaderNode","activeNode","hoverTimer","menuId","handleMouseMove","hoverZone","_$el$getBoundingClien","startX","clientX","_$el","offsetWidth","clearHoverZone","hoverThreshold","renderEmptyText","renderNodeList","isHoverMenu","expand","hasChildren","mousemove","src_cascader_menuvue_type_script_lang_js_","cascader_menu_component","cascader_menu","shared_","_createClass","protoProps","staticProps","_classCallCheck","node_Node","Node","initState","initChildren","valueKey","labelKey","calculatePathNodes","pathLabels","childrenKey","childrenData","getPath","emitPath","getText","allLevels","broadcast","_key","handlerName","emit","_len2","_key2","onParentCheck","setCheckState","onChildCheck","validChildren","every","totalNum","checkedNum","num","syncCheckState","disabledKey","_config2","leafKey","leaf","src_node","store_classCallCheck","flatNodes","leafOnly","store_Store","Store","initNodes","flattedNodes","getFlattedNodes","leafNodes","appendNode","appendNodes","nodeDataList","getNodes","cachedNodes","getNodeByValue","src_store","merge_","merge_default","aria_utils_","aria_utils_default","scroll_into_view_","scroll_into_view_default","_extends","KeyCode","DefaultProps","cascader_panelvue_type_script_lang_js_isLeaf","getSibling","querySelectorAll","getMenuIndex","focusNode","checkNode","querySelector","cascader_panelvue_type_script_lang_js_","CascaderMenu","renderLabel","provide","store","loadCount","$scopedSlots","initStore","immediate","deep","syncCheckedValue","calculateCheckedNodePaths","isEmptyValue","syncMenuState","syncActivePath","syncMultiCheckState","checkedNode","expandNodes","checkedValues","keyCode","up","down","preMenu","expandedNode","nextMenu","firstNode","enter","esc","tab","pathValues","activePathValues","onFullfiled","_this5","dataList","computePresentText","getCheckedNodes","menuElement","clearCheckedNodes","src_cascader_panelvue_type_script_lang_js_","cascader_panel_component","cascader_panel","install","6","9","SymbolDraw","EffectSymbol","pointsLayout","_symbolDraw","effectSymbolDraw","_updateGroupTransform","getRoamTransform","HeatmapLayer","getIsInPiecewiseRange","dataSpan","getIsInContinuousRange","isGeoCoordSys","visualMapOfThisSeries","targetSeries","_incrementalDisplayable","_renderOnCartesianAndCalendar","_renderOnGeo","itemStyleQuery","hoverItemStyleQuery","labelQuery","hoverLabelQuery","coordSysType","dataDims","dataToRect","contentShape","inRangeVisuals","targetVisuals","outOfRangeVisuals","hmLayer","_hmLayer","roamTransform","lng","lat","isInRange","getNormalizer","getColorMapper","curveTool","v3","v2DistSquare","intersectCurveCircle","curvePoints","radiusSquare","nextDiff","tmp0","quadraticSubdivide","pts","pts2","fromSymbol","toSymbol","__original","originalPoints","defaultConstructor","pref","i18n","use","_zhCN","_zhCN2","_deepmerge","_deepmerge2","_format2","format","merged","i18nHandler","vuei18n","$t","locale","globalCoord","AxisPointerModel","snap","triggerTooltip","shadowStyle","shadowColor","axisModelCreator","AxisModel","gridIndex","gridId","getAxisType","extraOption","getOwnPropertySymbols","_roamHelper","updateCenterAndZoom","seriesGroup","interactionMutex","pointerChecker","_opt","mousedownHandler","mousemoveHandler","mouseupHandler","mousewheelHandler","mousewheel","pinchHandler","controlType","zoomOnMouseWheel","moveOnMouseMove","moveOnMouseWheel","preventDefaultMouseMove","isDragging","isPinching","_pinching","isMiddleOrRightButtonOnMouseUpDown","isAvailableBehavior","gestureEvent","isTaken","shouldZoom","shouldMove","wheelDelta","absWheelDeltaDelta","factor","checkPointerAndTrigger","absDelta","behaviorToCheck","contollerEvent","settings","setting","_vector","v2Create","mathPow","EPSILON_NUMERIC","THREE_SQRT","ONE_THIRD","_v0","_v1","_v2","onet","cubicDerivativeAt","cubicRootAt","roots","t1","disc","discSqrt","Y1","Y2","ASqrt","cubicExtrema","extrema","cubicSubdivide","p01","p12","p23","p012","p123","p0123","cubicProjectPoint","d1","d2","quadraticRootAt","quadraticExtremum","divider","quadraticProjectPoint","BaseAxisPointer","viewHelper","cartesianAxisHelper","CartesianAxisPointer","makeElOption","elOption","axisPointerModel","axisPointerType","otherExtent","getCartesian","getGlobalExtent","pixelValue","buildElStyle","pointerOption","pointerShapeBuilder","graphicKey","buildCartesianSingleLabelElOption","getHandleTransform","labelMargin","getTransformedPosition","updateHandleTransform","currPosition","cursorOtherValue","cursorPoint","tooltipOptions","targetShape","makeLineShape","getAxisDimIndex","shadow","makeRectShape","registerAxisPointerClass","fixClipWithShadow","unitX","unitY","ZText","MARK_UNUSED","MARK_USED","Definable","zrId","svgRoot","tagNames","markLabel","domName","_zrId","_svgRoot","_tagNames","_markLabel","_domName","nextId","getDefs","isForceCreating","getElementsByTagName","insertBefore","addDom","removeDom","getDoms","doms","tagName","tags","markAllUnused","markUsed","removeUnused","getSvgProxy","getTextSvgElement","getSvgElement","hasModal","hasInitZIndex","zIndex","getModal","modalDom","PopupManager","preventDefault","doOnModalClick","modalFade","getInstance","deregister","nextZIndex","modalStack","topItem","closeOnClickModal","openModal","modalClass","addClass","classArr","removeClass","body","tabIndex","closeModal","$ELEMENT","getTopPopup","topPopup","closeOnPressEscape","handleClose","handleAction","SingleAxis","_init","axisPointerEnabled","_adjustAxis","_updateAxisTransform","coordBase","extentSum","toLocalCoord","getAxes","getTooltipAxes","baseAxes","coordToData","parseGeoJson","fixNanhai","fixTextCoord","fixGeoCoord","fixDiaoyuIsland","mapRecord","parsed","message","regionName","specialArea","regionRect","positiveBorderColorQuery","negativeBorderColorQuery","positiveColorQuery","negativeColorQuery","performRawSeries","isLargeRender","colorP","getColor","colorN","borderColorP","getBorderColor","borderColorN","gOPD","FunnelPiece","funnelPieceProto","opacityAccessPath","FunnelView","funnelPiece","inheritIfRequired","getFlags","stickyHelpers","enforceInternalState","enforce","setSpecies","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","NativeRegExp","IS_NCG","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","BASE_FORCED","handleDotAll","chr","brackets","handleNCG","named","ncg","groupid","groupname","SyntaxError","RegExpWrapper","pattern","rawFlags","dotAll","sticky","handled","thisIsRegExp","patternIsRegExp","flagsAreUndefined","rawPattern","raw","proxy","createMethod","GaugeSeries","dataOpt","offsetCenter","detail","$filter","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","callWithSafeIterationClosing","createProperty","iteratorMethod","dev","dataSelectableMixin","MapSeries","needsDrawMap","dataNameMap","selectTargetList","toAppendNames","geoSource","getMapType","appendValues","seriesNames","otherIndex","originalData","showLegendSymbol","dataRangeHoverLink","NodeHighlightPolicy","DESCENDANT","ANCESTOR","SELF","DEFAULT_SECTOR_Z","DEFAULT_TEXT_Z","SunburstPieceProto","getNodeColor","fillDefaultColor","stateStyle","isNodeHighlighted","onHighlight","onDownplay","getLabelAttr","labelMinAngle","labelPadding","rotateType","stateAttr","visualMetaList","getRootId","policy","10","12","22","33","rawName","visible","itemSelected","groupDisabled","limitReached","hover","hoverItem","$event","selectOptionClick","_v","_s","currentLabel","emitter_","emitter_default","optionvue_type_script_lang_js_","componentName","created","hitState","currentValue","select","isEqual","multipleLimit","remote","oldVal","_select","handleGroupDisabled","hoverIndex","queryChange","filteredOptionsCount","cachedOptions","optionsCount","$on","_select2","selectedOptions","selectedIndex","onOptionDestroy","src_optionvue_type_script_lang_js_","37","4","61","selectSize","toggleMenu","inputWidth","collapseTags","closable","selectDisabled","collapseTagSize","hit","deleteTag","_e","resetInputHeight","getValueKey","filterable","inputLength","autocomplete","autoComplete","domProps","blur","softFocus","keyup","managePlaceholder","resetInputState","_k","navigateOptions","selectOption","deletePrevTag","compositionstart","handleComposition","compositionupdate","compositionend","composing","debouncedQueryChange","placeholder","currentPlaceholder","readonly","debouncedOnInputChange","inputHovering","mouseleave","selectedLabel","$$v","slot","showClose","iconClass","handleClearClick","handleMenuEnter","emptyText","popperAppendToBody","allowCreate","showNewOption","empty","focus_","focus_default","input_","input_default","select_dropdownvue_type_template_id_06828748_render","minWidth","select_dropdownvue_type_template_id_06828748_staticRenderFns","select_dropdownvue_type_script_lang_js_","placement","appendToBody","destroyPopper","src_select_dropdownvue_type_script_lang_js_","select_dropdown","src_option","tag_","tag_default","clickoutside_","clickoutside_default","navigation_mixin","hoverOption","optionsAllDisabled","scrollToOption","selectvue_type_script_lang_js_","elForm","elFormItem","_elFormItemSize","elFormItemSize","criteria","clearable","debounce","loadingText","noMatchText","noDataText","hasExistingOption","propPlaceholder","ElInput","ElSelectMenu","ElOption","ElTag","Clickoutside","validator","automaticDropdown","remoteMethod","filterMethod","defaultFirstOption","reserveKeyword","createdLabel","createdSelected","initialInputHeight","cachedPlaceHolder","previousQuery","menuVisibleOnFocus","isOnComposition","isSilentBlur","handleQueryChange","resetHoverIndex","inputs","activeElement","checkDefaultFirstOption","_","lastCharacter","_this6","popper","scrollbar","_this7","emitChange","isNull","isUndefined","cachedOption","_this8","_this9","deleteSelected","toggleLastOptionHitState","_this10","inputChildNodes","childNodes","tagsHeight","sizeInMap","_this11","handleOptionSelect","byClick","_this12","optionIndex","getValueIndex","setSoftFocus","onInputChange","resetInputWidth","handleResize","hasCreated","_this13","_this14","sizeMap","medium","small","mini","src_selectvue_type_script_lang_js_","select_component","src_select","featureManager","saveAsImageLang","SaveAsImage","unusable","$a","download","MouseEvent","msSaveOrOpenBlob","bstr","atob","u8arr","Uint8Array","Blob","write","evt","bubbles","cancelable","dispatchEvent","cof","colorPaletteMixin","mergeLayoutParam","_task","createTask","dataTask","dataTaskCount","dataTaskReset","wrapData","dataBeforeProcessed","autoSeriesName","inputPositionParams","themeSubType","hasClass","getTheme","getDefaultOption","fillDataTextStyle","newSeriesOption","task","getCurrentTask","setOutputEnd","outputData","multipleSeries","isRichText","markerId","formatArrayValue","vertially","setEachItem","markName","dimHead","dimHeadStr","valStr","tooltipDims","formatSingleValue","tooltipDimLen","isValueArr","colorEl","isNameSpecified","requestColorNum","coordDimToDataDim","getAxisTooltipData","pipeTask","getSeriesAutoName","nameArr","dataTaskProgress","onDataSelfChange","pipeline","getPipeline","currentTask","agentStubMap","smoothSpline","smoothBezier","controlPoints","cp2","argument","AXIS_DIMS","COORDS","isCoordSupported","coordType","createNameEach","capitalNames","capitalFirst","capitalAttrs","nameObj","capital","createLinkedNodesFinder","forEachNode","forEachEdgeType","edgeIdGetter","sourceNode","existsLink","edgeType","absorb","processSingleNode","isNodeAbsorded","isLinked","hasLink","edgeId","_merge","_merge2","_popupManager","_popupManager2","_scrollbarWidth","_scrollbarWidth2","idSeed","scrollBarWidth","closeDelay","modal","modalAppendToBody","lockScroll","beforeMount","_popupId","restoreBodyStyle","opened","bodyPaddingRight","computedBodyPaddingRight","withoutHiddenClass","rendered","_opening","$props","_closeTimer","_openTimer","doOpen","willOpen","_closing","getStyle","bodyHasOverflow","documentElement","bodyOverflowY","onOpen","doAfterOpen","willClose","doClose","onClose","doAfterClose","core","PROTOTYPE","own","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","IS_WRAP","W","expProto","virtual","U","webkit","themeRiverLayout","baseY0","timeDim","layerPoints","singleLayer","computeBaseline","baseLine","ky","layerIndex","layerNum","pointNum","sums","temp","getSubstitution","REPLACE","maybeToString","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_SUPPORTS_NAMED_GROUPS","nativeReplace","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","results","accumulatedResult","nextSourcePosition","replacerArgs","Transition","beforeEnter","dataset","oldPaddingTop","oldPaddingBottom","oldOverflow","overflow","afterEnter","beforeLeave","leave","afterLeave","colorList","getBorderLineDash","__e","ownKeys","enumerableOnly","sym","_objectSpread2","getOwnPropertyDescriptors","ATTR","dataZoomInfo","giveStore","theDataZoomId","theCoordId","dataZoomInfos","cleanStore","createController","controllerParams","mergeControllerParams","newRecord","typePriority","oneType","validPayloadTypes","targetNodeId","getPathToRoot","viewPath","wrapTreePathInfo","treePathInfo","nodeDataIndex","copyright","r1","r2","r3","r4","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","isSymbol","_forceHelper","_simpleLayoutHelper","_circularLayoutHelper","graphSeries","preservedPoints","forceModel","initLayout","nodeDataExtent","edgeDataExtent","repulsion","edgeLength","rep","fixed","getEdgeByIndex","n1","n2","forceInstance","gravity","oldStep","getNodeByIndex","whitespaces","whitespace","ltrim","rtrim","TYPE","isInContainer","getScrollContainer","isScroll","once","SPECIAL_CHARS_REGEXP","MOZ_HACK_REGEXP","ieVersion","documentMode","letter","attachEvent","removeEventListener","detachEvent","cls","classList","className","curClass","classes","clsName","filters","determinedDirection","elRect","containerRect","innerWidth","innerHeight","noTrailing","debounceMode","timeoutID","lastExec","wrapper","elapsed","shared","ifAxisCrossZero","estimateLabelUnionRect","Cartesian2D","Axis2D","isAxisUsedInTheGrid","Grid","_coordsMap","_coordsList","_axesMap","_axesList","_initCartesian","gridProto","fixAxisOnZero","axesMap","otherAxisDim","onZeroRecords","otherAxes","onZeroAxisIndex","canOnZeroToAxis","getOnZeroRecordKey","updateAxisTransform","axisExtentSum","_updateScale","ignoreContainLabel","gridRect","axesList","adjustAxes","labelUnionRect","axesMapOnDim","coordList","getCartesians","_findConvertTarget","xAxisModel","yAxisModel","coordsList","axisPositionUsed","axesCount","createAxisCreator","addAxis","isCartesian2D","axesModels","findAxesModels","otherAxis","axesTypes","grids","nodeOpacityPath","lineOpacityPath","getItemOpacity","opacityPath","fadeOutItem","opacityRatio","getGraphicEl","fadeInItem","SankeyShape","cpx1","cpy1","cpx2","cpy2","_focusAdjacencyDisabled","sankeyView","curvature","n1Layout","node1Model","dragX1","dragY1","n2Layout","node2Model","dragX2","dragY2","edgeLayout","dragX","dragY","localX","localY","edgeModel","edgeDataIndex","focusNodeAdjacency","focusNodeAdj","outEdges","inEdges","unfocusNodeAdjacency","geoJSONLoader","geoSVGLoader","loaders","mapRecords","singleSource","makeInvoker","hostKey","pagervue_type_template_id_7274f267_render","onPagerClick","active","currentPage","showPrevMore","quickprevIconClass","onMouseenter","pagers","pager","showNextMore","quicknextIconClass","pagervue_type_script_lang_js_","pagerCount","newPage","pagerCountOffset","halfPagerCount","startPage","_i2","_i3","src_pagervue_type_script_lang_js_","select_","select_default","option_","option_default","pagination","pageSize","pageSizes","prevText","nextText","background","hideOnSinglePage","internalCurrentPage","internalPageSize","lastEmittedPage","userChangePageSize","internalPageCount","template","TEMPLATE_MAP","jumper","handleCurrentChange","sizes","rightWrapper","haveRightWrapper","compo","Prev","Next","Sizes","newVal","handleChange","ElSelect","Jumper","userInput","handleKeyup","handleInput","getValidCurrentPage","Total","Pager","havePageCount","resetValue","oldPage","packages_pagination","componentvue_type_template_id_60140e62_render","handleWrapperClick","fullscreen","customClass","footer","componentvue_type_template_id_60140e62_staticRenderFns","popup_","popup_default","migrating_","migrating_default","componentvue_type_script_lang_js_","beforeClose","destroyOnClose","closed","dialog","marginTop","cancel","src_componentvue_type_script_lang_js_","component_component","src_component","autocompletevue_type_template_id_152f2ee6_render","suggestionVisible","_b","handleClear","highlightedIndex","handleKeyEnter","$attrs","prepend","append","suggestions","autocompletevue_type_template_id_152f2ee6_staticRenderFns","autocomplete_suggestionsvue_type_template_id_cd10dcf0_render","dropdownWidth","autocomplete_suggestionsvue_type_template_id_cd10dcf0_staticRenderFns","autocomplete_suggestionsvue_type_script_lang_js_","updated","popperJS","textarea","referenceList","src_autocomplete_suggestionsvue_type_script_lang_js_","autocomplete_suggestions_component","autocomplete_suggestions","autocompletevue_type_script_lang_js_","inheritAttrs","ElAutocompleteSuggestions","maxlength","minlength","autofocus","fetchSuggestions","triggerOnFocus","customItem","selectWhenUnmatched","prefixIcon","suffixIcon","highlightFirstItem","activated","suggestionDisabled","isValidData","$input","getInput","queryString","debouncedGetData","suggestion","suggestionList","highlightItem","src_autocompletevue_type_script_lang_js_","autocomplete_component","dropdown_render","dropdown_staticRenderFns","packages_autocomplete","button_","button_default","button_group_","button_group_default","dropdownvue_type_script_lang_js_","ElButton","ElButtonGroup","dropdown","splitButton","hideOnClick","showTimeout","hideTimeout","triggerElm","menuItems","menuItemsArray","dropdownElm","listId","dropdownSize","handleMenuItemClick","selfDefine","removeTabindex","resetTabindex","handleClick","handleTriggerKeyDown","ev","handleItemKeyDown","triggerElmFocus","ele","initAria","initEvent","elm","command","initDomOperation","handleMainButtonClick","src_dropdownvue_type_script_lang_js_","dropdown_component","packages_dropdown","dropdown_menuvue_type_template_id_0da6b714_render","dropdown_menuvue_type_template_id_0da6b714_staticRenderFns","dropdown_menuvue_type_script_lang_js_","currentPlacement","src_dropdown_menuvue_type_script_lang_js_","dropdown_menu_component","dropdown_menu","packages_dropdown_menu","dropdown_itemvue_type_template_id_6359102a_render","divided","dropdown_itemvue_type_template_id_6359102a_staticRenderFns","dropdown_itemvue_type_script_lang_js_","src_dropdown_itemvue_type_script_lang_js_","dropdown_item_component","dropdown_item","packages_dropdown_item","Utils","focusFirstDescendant","attemptFocus","focusLastDescendant","isFocusable","IgnoreUtilFocusChanges","rel","createEvent","fireEvent","space","aria_utils","SubMenu","domNode","subMenuItems","subIndex","addListeners","gotoSubIndex","prevDef","aria_submenu","MenuItem","submenu","menuChild","aria_menuitem","Menu","menuChildren","menu_render","menu_staticRenderFns","aria_menubar","menuvue_type_script_lang_js_","collapse","collapseTransition","rootMenu","defaultActive","defaultOpeneds","uniqueOpened","router","menuTrigger","textColor","activeTextColor","activeIndex","openedMenus","submenus","hoverBackground","mixColor","isMenuPopup","updateActiveIndex","initOpenedMenu","getColorChannels","red","green","blue","_getColorChannels","addItem","$set","removeItem","addSubmenu","removeSubmenu","openMenu","indexPath","closeMenu","handleSubmenuClick","isOpened","handleItemClick","oldActiveIndex","hasIndex","routeToItem","activeItem","onError","route","$router","$watch","src_menuvue_type_script_lang_js_","menu_component","src_menu","submenu_render","submenu_staticRenderFns","packages_menu","collapse_transition_","collapse_transition_default","menu_mixin","parentMenu","paddingStyle","poperMixins","transformOrigin","deactivated","submenuvue_type_script_lang_js_","ElCollapseTransition","mouseInChild","isFirstLevel","menuTransitionName","isActive","titleStyle","borderBottomColor","handleCollapseToggle","initPopper","handleMouseenter","relatedTarget","handleMouseleave","deepDispatch","handleTitleMouseenter","handleTitleMouseleave","updatePlacement","popupMenu","inlineMenu","submenuTitleIcon","src_submenuvue_type_script_lang_js_","submenu_component","packages_submenu","menu_itemvue_type_template_id_2a5dbfea_render","onMouseEnter","onMouseLeave","staticStyle","menu_itemvue_type_template_id_2a5dbfea_staticRenderFns","tooltip_","tooltip_default","menu_itemvue_type_script_lang_js_","ElTooltip","isNested","src_menu_itemvue_type_script_lang_js_","menu_item_component","menu_item","packages_menu_item","menu_item_groupvue_type_template_id_543b7bdc_render","levelPadding","menu_item_groupvue_type_template_id_543b7bdc_staticRenderFns","menu_item_groupvue_type_script_lang_js_","src_menu_item_groupvue_type_script_lang_js_","menu_item_group_component","menu_item_group","packages_menu_item_group","inputvue_type_template_id_343dd774_render","inputSize","inputDisabled","inputExceed","showPassword","hovering","passwordVisible","handleCompositionStart","handleCompositionUpdate","handleCompositionEnd","getSuffixVisible","showClear","showPwdVisible","isWordLimitVisible","handlePasswordVisible","textLength","upperLimit","validateState","validateIcon","textareaStyle","inputvue_type_template_id_343dd774_staticRenderFns","hiddenTextarea","HIDDEN_STYLE","CONTEXT_STYLE","calculateNodeStyling","targetElement","boxSizing","getPropertyValue","paddingSize","borderSize","contextStyle","calcTextareaHeight","minRows","maxRows","_calculateNodeStyling","singleRowHeight","minHeight","maxHeight","inputvue_type_script_lang_js_","textareaCalcStyle","focused","isComposing","form","autosize","validateEvent","showWordLimit","needStatusIcon","statusIcon","validating","success","nativeInputValue","resizeTextarea","setNativeInputValue","updateIconOffset","calcIconOffset","place","elList","pendantMap","pendant","removeAttribute","src_inputvue_type_script_lang_js_","input_component","src_input","packages_input","input_numbervue_type_template_id_42f8cf66_render","inputNumberSize","inputNumberDisabled","controls","controlsAtRight","dragstart","decrease","minDisabled","increase","maxDisabled","displayValue","handleInputChange","input_numbervue_type_template_id_42f8cf66_staticRenderFns","repeat_click","clearInterval","input_numbervue_type_script_lang_js_","repeatClick","stepStrictly","controlsPosition","stepPrecision","precisionFactor","toPrecision","_decrease","_increase","numPrecision","valueString","dotPosition","setCurrentValue","innerInput","src_input_numbervue_type_script_lang_js_","input_number_component","input_number","packages_input_number","radiovue_type_template_id_69cd6268_render","radioSize","_q","radiovue_type_template_id_69cd6268_staticRenderFns","radiovue_type_script_lang_js_","_radioGroup","radio","temRadioSize","radioGroupSize","src_radiovue_type_script_lang_js_","radio_component","src_radio","packages_radio","radio_groupvue_type_template_id_818a704c_render","_elTag","handleKeydown","radio_groupvue_type_template_id_818a704c_staticRenderFns","freeze","LEFT","UP","RIGHT","DOWN","radio_groupvue_type_script_lang_js_","radios","firstLabel","roleRadios","_value","src_radio_groupvue_type_script_lang_js_","radio_group_component","radio_group","packages_radio_group","radio_buttonvue_type_template_id_18a77a32_render","activeStyle","radio_buttonvue_type_template_id_18a77a32_staticRenderFns","radio_buttonvue_type_script_lang_js_","boxShadow","src_radio_buttonvue_type_script_lang_js_","radio_button_component","radio_button","packages_radio_button","checkboxvue_type_template_id_d0387074_render","checkboxSize","trueLabel","falseLabel","$$a","$$el","$$c","$$i","checkboxvue_type_template_id_d0387074_staticRenderFns","checkboxvue_type_script_lang_js_","selfModel","isLimitExceeded","_checkboxGroup","isLimitDisabled","temCheckboxSize","checkboxGroupSize","addToStore","src_checkboxvue_type_script_lang_js_","checkbox_component","src_checkbox","packages_checkbox","checkbox_buttonvue_type_template_id_478e906e_render","checkbox_buttonvue_type_template_id_478e906e_staticRenderFns","checkbox_buttonvue_type_script_lang_js_","_checkboxGroup2","src_checkbox_buttonvue_type_script_lang_js_","checkbox_button_component","checkbox_button","packages_checkbox_button","checkbox_groupvue_type_template_id_7289a290_render","checkbox_groupvue_type_template_id_7289a290_staticRenderFns","checkbox_groupvue_type_script_lang_js_","src_checkbox_groupvue_type_script_lang_js_","checkbox_group_component","checkbox_group","packages_checkbox_group","componentvue_type_template_id_2dcd8fbb_render","switchDisabled","switchValue","activeValue","inactiveValue","inactiveIconClass","inactiveText","coreWidth","activeIconClass","activeText","componentvue_type_template_id_2dcd8fbb_staticRenderFns","switch_src_componentvue_type_script_lang_js_","activeColor","inactiveColor","newColor","packages_switch_src_componentvue_type_script_lang_js_","src_component_component","switch_src_component","packages_switch","selectvue_type_template_id_0e4aade6_render","selectvue_type_template_id_0e4aade6_staticRenderFns","select_dropdown_component","optionvue_type_template_id_7a44c642_render","optionvue_type_template_id_7a44c642_staticRenderFns","option_component","packages_select","packages_option","option_groupvue_type_template_id_6685e5de_render","option_groupvue_type_template_id_6685e5de_staticRenderFns","option_groupvue_type_script_lang_js_","$children","src_option_groupvue_type_script_lang_js_","option_group_component","option_group","packages_option_group","buttonvue_type_template_id_ca859fb4_render","buttonSize","buttonDisabled","plain","nativeType","buttonvue_type_template_id_ca859fb4_staticRenderFns","buttonvue_type_script_lang_js_","src_buttonvue_type_script_lang_js_","button_component","src_button","packages_button","button_groupvue_type_template_id_3d8661d0_render","button_groupvue_type_template_id_3d8661d0_staticRenderFns","button_groupvue_type_script_lang_js_","src_button_groupvue_type_script_lang_js_","button_group_component","button_group","packages_button_group","tablevue_type_template_id_493fe34e_render","fit","stripe","isHidden","scrollX","scrollY","states","isComplex","tableSize","handleMouseLeave","showHeader","handleHeaderFooterMousewheel","bodyWidth","defaultSort","scrollPosition","bodyHeight","rowClassName","rowStyle","highlightCurrentRow","emptyBlockStyle","showSummary","sumText","summaryMethod","fixedColumns","handleFixedMousewheel","fixedWidth","fixedHeight","headerHeight","fixedBodyHeight","appendHeight","rightFixedColumns","rightFixedWidth","gutterWidth","resizeProxyVisible","tablevue_type_template_id_493fe34e_staticRenderFns","external_throttle_debounce_","external_normalize_wheel_","external_normalize_wheel_default","isFirefox","mousewheel_mousewheel","directives_mousewheel","util_typeof","getCell","cell","util_isObject","util_orderBy","sortKey","sortMethod","sortBy","by","$value","getColumnById","table","columnId","columns","getColumnByKey","columnKey","getColumnByCell","matches","getRowIdentity","rowKey","getKeysMap","arrayMap","mergeOptions","parseWidth","parseMinWidth","parseHeight","compose","funcs","toggleRowStatus","statusArr","included","addRow","removeRow","walkTreeNode","lazyKey","isNil","_walker","defaultExpandAll","expandRows","updateExpandRows","_states","_states$data","expandRowsMap","rowId","rowInfo","toggleRowExpansion","expanded","scheduleLayout","setExpandRowKeys","rowKeys","assertRowKey","_states2","keysMap","cur","isRowExpanded","_states3","_states3$expandRows","expandMap","store_current","_currentRowKey","currentRow","setCurrentRowKey","setCurrentRowByKey","restoreCurrentRowKey","updateCurrentRow","oldCurrentRow","updateCurrentRowData","currentRowKey","expandRowKeys","treeData","indent","lazyTreeNodeMap","lazyColumnIdentifier","childrenColumnName","normalizedData","normalizedLazyNode","parentId","updateTreeData","nested","newTreeData","oldTreeData","rootLazyRowKeys","getExpanded","oldValue","newValue","_ref$loaded","_ref$loading","lazyKeys","lazyNodeChildren","_ref2","_ref2$loaded","_ref2$loading","updateTableScrollY","updateTreeExpandKeys","toggleTreeExpansion","_states4","oldExpanded","loadOrToggle","_states5","loadData","treeNode","rawTreeData","_states6","watcher_sortData","sortingColumn","sortable","sortProp","sortOrder","doFlattenColumns","watcher","_columns","originColumns","leafColumns","fixedLeafColumns","rightFixedLeafColumns","leafColumnsLength","fixedLeafColumnsLength","rightFixedLeafColumnsLength","isAllSelected","selection","reserveSelection","selectOnIndeterminate","selectable","filteredData","hoverRow","updateColumns","notFixedColumns","needUpdateColumns","debouncedUpdateLayout","_states$selection","clearSelection","oldSelection","cleanSelection","deleted","dataMap","newSelection","toggleRowSelection","_toggleAllSelection","selectionChanged","updateSelectionByRowKey","updateAllSelected","selectedCount","isRowSelectable","updateFilters","updateSort","execFilter","execSort","execQuery","clearFilter","columnKeys","_table$$refs","tableHeader","fixedTableHeader","rightFixedTableHeader","panels","filterPanels","find","filteredValue","commit","multi","clearSort","setExpandRowKeysAdapter","toggleRowExpansionAdapter","hasExpandColumn","mutations","dataInstanceChanged","insertColumn","$ready","removeColumn","changeSortCondition","ingore","filterChange","newFilters","toggleAllSelection","rowSelectedChanged","setHoverRow","setCurrentRow","updateScrollY","createStore","initialState","mapStates","mapper","table_layout_TableLayout","TableLayout","observers","tableHeight","footerHeight","viewportHeight","bodyWrapper","prevScrollY","setHeight","updateElsHeight","setMaxHeight","getFlattenColumns","flattenColumns","isColumnGroup","headerWrapper","appendWrapper","footerWrapper","headerTrElm","noneHeader","headerDisplayNone","noData","notifyObservers","headerChild","parentElement","updateColumnsWidth","bodyMinWidth","flexColumns","realWidth","scrollYWidth","totalFlexWidth","allColumnsWidth","flexWidthPerPixel","noneFirstWidth","flexWidth","resizeState","addObserver","observer","removeObserver","onColumnsChange","onScrollableChange","table_layout","layout_observer","tableLayout","__updated__","cols","ths","_j","th","table_body_typeof","table_body_extends","table_body","cellspacing","cellpadding","wrappedRowRender","tooltipEffect","treeIndent","leftFixedLeafCount","rightFixedLeafCount","columnsCount","leftFixedCount","rightFixedCount","firstDefaultColumnIndex","raf","rows","oldRow","newRow","activateTooltip","getKeyOfRow","isColumnHidden","getSpan","rowIndex","columnIndex","rowspan","colspan","spanMethod","getRowStyle","getRowClass","getCellStyle","cellStyle","getCellClass","cellClassName","getColspanRealWidth","widthArr","_ref3","handleCellMouseEnter","hoverState","cellChild","createRange","setStart","setEnd","rangeWidth","innerText","handleCellMouseLeave","oldHoverState","handleMouseEnter","handleContextMenu","handleEvent","handleDoubleClick","rowRender","$index","treeRowData","columnsHidden","rowClasses","displayStyle","cellIndex","_getSpan","columnData","noLazyChildren","renderCell","_renderProxy","_store$states","renderExpanded","tr","innerTreeRowData","childKey","filter_panelvue_type_template_id_7f2c919f_render","handleOutsideClick","handleConfirm","handleReset","filterValue","handleSelect","filter_panelvue_type_template_id_7f2c919f_staticRenderFns","dropdowns","src_dropdown","checkbox_group_","checkbox_group_default","filter_panelvue_type_script_lang_js_","ElCheckboxGroup","confirmFilter","filterMultiple","filterOpened","_popper","src_filter_panelvue_type_script_lang_js_","filter_panel_component","filter_panel","table_header_extends","getAllColumns","convertToRows","maxLevel","colSpan","subColumn","allColumns","rowSpan","table_header","columnRows","hasGutter","getHeaderRowStyle","getHeaderRowClass","handleMouseOut","handleMouseDown","handleHeaderClick","handleHeaderContextMenu","getHeaderCellStyle","getHeaderCellClass","labelClassName","renderHeader","handleSortClick","handleFilterClick","_defaultSort","isCellHidden","after","headerRowStyle","headerRowClassName","headerCellStyle","headerAlign","headerCellClassName","filterPanel","filterPlacement","draggingColumn","tableEl","tableLeft","columnEl","columnRect","minLeft","dragState","startMouseLeft","startLeft","startColumnLeft","resizeProxy","deltaLeft","proxyLeft","handleMouseUp","_dragState","finalLeft","resizable","bodyStyle","pageX","toggleOrder","sortOrders","givenOrder","table_footer_extends","table_footer","precisions","notNumber","decimal","getRowClasses","before","tablevue_type_script_lang_js_extends","tableIdSeed","tablevue_type_script_lang_js_","Mousewheel","treeProps","TableHeader","TableFooter","TableBody","spinY","currentScrollTop","pixelY","pixelX","syncPostion","_bodyWrapper","_$refs","fixedBodyWrapper","rightFixedBodyWrapper","maxScrollLeftPosition","bindEvents","passive","resizeListener","unbindEvents","shouldUpdateLayout","_resizeState","oldWidth","oldHeight","shouldUpdateHeight","doLayout","_layout2","_layout2$headerHeight","_layout2$footerHeight","tableData","tableId","_treeProps","_treeProps$hasChildre","_treeProps$children","src_tablevue_type_script_lang_js_","table_component","src_table","packages_table","cellStarts","cellForced","_ref4","_ref5","_ref6","defaultRenderCell","_ref7","treeCellPrefix","_ref8","expandClasses","iconClasses","table_column_extends","columnIdSeed","table_column","showTooltipWhenOverflow","showOverflowTooltip","isSubColumn","owner","columnOrTableParent","realMinWidth","realAlign","realHeaderAlign","getPropsData","getColumnElIndex","setColumnWidth","setColumnForcedProps","setColumnRenders","header","originRenderCell","registerNormalWatchers","aliases","allAliases","columnConfig","registerComplexWatchers","basicProps","sortProps","selectProps","filterProps","chains","hiddenColumns","packages_table_column","pickervue_type_template_id_79ae069f_render","ranged","pickerSize","pickerDisabled","pickerVisible","handleRangeClick","triggerClass","startPlaceholder","editable","handleStartInput","handleStartChange","firstInputId","rangeSeparator","endPlaceholder","handleEndInput","handleEndChange","secondInputId","haveTrigger","clearIcon","handleClickIcon","pickervue_type_template_id_79ae069f_staticRenderFns","date_util_","NewPopper","DEFAULT_FORMATS","month","datetime","week","timerange","daterange","monthrange","datetimerange","year","HAVE_TRIGGER_TYPES","pickervue_type_script_lang_js_DATE_FORMATTER","pickervue_type_script_lang_js_DATE_PARSER","RANGE_FORMATTER","RANGE_PARSER","range1","range2","TYPE_VALUE_RESOLVER_MAP","trueDate","setHours","setDate","getDay","dates","PLACEMENT_MAP","parseAsFormatAndType","customFormat","formatAsFormatAndType","valueEquals","dateEquals","aIsDate","bIsDate","aIsArray","bIsArray","pickervue_type_script_lang_js_validator","pickervue_type_script_lang_js_","valueFormat","defaultValue","defaultTime","pickerOptions","unlinkPanels","valueOnOpen","unwatchPickerOptions","showPicker","hidePicker","parsedValue","picker","refInput","valueIsEmpty","selectionMode","showTrigger","valueIsDateObject","handleFieldReset","parseValue","isParsed","formatToValue","isFormattable","parseString","formatToString","isValidValue","emitInput","initialValue","resetView","mountPicker","adjustSpinners","showTime","arrowControl","timeArrowControl","updateOptions","selectableRange","ranges","setSelectionRange","unmountPicker","$off","formatted","src_pickervue_type_script_lang_js_","picker_component","datevue_type_template_id_2440d4ea_render","handleEnter","handleLeave","sidebar","shortcuts","shortcut","handleShortcutClick","visibleDate","userInputDate","handleVisibleDateChange","handleTimePickClose","visibleTime","timePickerVisible","userInputTime","handleVisibleTimeChange","pick","handleTimePick","proxyTimePickerDataProperties","currentView","prevYear","prevMonth","showYearPicker","yearLabel","showMonthPicker","nextYear","nextMonth","firstDayOfWeek","disabledDate","handleDatePick","handleYearPick","handleMonthPick","footerVisible","changeToNow","confirm","datevue_type_template_id_2440d4ea_staticRenderFns","timevue_type_template_id_3d939089_render","showSeconds","useArrow","amPmMode","handleCancel","timevue_type_template_id_3d939089_staticRenderFns","time_spinnervue_type_template_id_1facadeb_render","emitSelectRange","adjustCurrentSpinner","hoursList","hours","amPm","minutesList","enabled","minutes","seconds","arrowHourList","arrowMinuteList","minute","arrowSecondList","time_spinnervue_type_template_id_1facadeb_staticRenderFns","time_spinnervue_type_script_lang_js_","getHours","getMinutes","getSeconds","currentScrollbar","bindScrollEvent","scrollDown","modifyDateField","adjustSpinner","bindFuntion","onscroll","scrollBarHeight","typeItemHeight","shouldShowAmPm","isCapital","basic_time_spinnervue_type_script_lang_js_","time_spinner_component","time_spinner","timevue_type_script_lang_js_","TimeSpinner","spinner","needInitAdjust","selectionRange","39","changeSelectionRange","_step","panel_timevue_type_script_lang_js_","time_component","panel_time","year_tablevue_type_template_id_c86ab5e0_render","handleYearTableClick","startYear","year_tablevue_type_template_id_c86ab5e0_staticRenderFns","year_tablevue_type_script_lang_js_datesInYear","numOfDays","firstDay","year_tablevue_type_script_lang_js_","today","basic_year_tablevue_type_script_lang_js_","year_table_component","year_table","month_tablevue_type_template_id_654d4f42_render","handleMonthTableClick","months","month_tablevue_type_template_id_654d4f42_staticRenderFns","month_tablevue_type_script_lang_js_datesInMonth","clearDate","getMonthTimestamp","month_tablevue_type_script_lang_js_","minDate","maxDate","rangeState","endDate","selecting","markRange","tableRows","lastRow","cellMatchesDate","getMonthOfCell","newDate","selectedDate","isToday","cellDate","basic_month_tablevue_type_script_lang_js_","month_table_component","month_table","date_tablevue_type_template_id_5d1f3341_render","showWeekNumber","WEEKS","isWeekActive","getCellClasses","date_tablevue_type_template_id_5d1f3341_staticRenderFns","_WEEKS","date_tablevue_type_script_lang_js_getDateTimestamp","date_tablevue_type_script_lang_js_removeFromArray","pred","date_tablevue_type_script_lang_js_","offsetDay","startDate","day","dateCountOfMonth","dateCountOfLastMonth","numberOfDaysFromPreviousMonth","getDateOfCell","offsetFromStart","setMonth","setFullYear","dayOffset","weekDate","_cell","weekNumber","basic_date_tablevue_type_script_lang_js_","date_table_component","date_table","datevue_type_script_lang_js_","inputElm","pickerWidth","getDefaultValue","timepicker","timeFormat","_date","_selectableRange","onClick","checkDateWithinRange","handleKeyControl","monthDate","dateFormat","TimePicker","YearTable","MonthTable","DateTable","yearTranslation","panel_datevue_type_script_lang_js_","date_component","panel_date","date_rangevue_type_template_id_2652849a_render","minVisibleDate","handleDateInput","handleDateChange","handleMinTimeClose","minVisibleTime","minTimePickerVisible","handleTimeInput","handleTimeChange","handleMinTimePick","minTimePicker","maxVisibleDate","handleMaxTimeClose","maxVisibleTime","maxTimePickerVisible","handleMaxTimePick","maxTimePicker","leftPrevYear","leftPrevMonth","enableYearArrow","leftNextYear","enableMonthArrow","leftNextMonth","leftLabel","leftDate","changerange","handleChangeRange","handleRangePick","rightPrevYear","rightPrevMonth","rightNextYear","rightNextMonth","rightLabel","rightDate","btnDisabled","date_rangevue_type_template_id_2652849a_staticRenderFns","date_rangevue_type_script_lang_js_calcDefaultValue","date_rangevue_type_script_lang_js_","leftYear","leftMonth","leftMonthDate","rightYear","rightMonth","rightMonthDate","dateUserInput","timeUserInput","yearOffset","minDateYear","minDateMonth","maxDateYear","maxDateMonth","_calcDefaultValue","onPick","panel_date_rangevue_type_script_lang_js_","date_range_component","date_range","month_rangevue_type_template_id_f2645fb8_render","month_rangevue_type_template_id_f2645fb8_staticRenderFns","month_rangevue_type_script_lang_js_calcDefaultValue","month_rangevue_type_script_lang_js_","panel_month_rangevue_type_script_lang_js_","month_range_component","month_range","date_picker_getPanel","date_picker","_type","packages_date_picker","time_selectvue_type_template_id_51ab9320_render","time_selectvue_type_template_id_51ab9320_staticRenderFns","parseTime","compareTime","time1","time2","value1","value2","minutes1","minutes2","nextTime","timeValue","stepValue","time_selectvue_type_script_lang_js_","hasDefault","minTime","maxTime","panel_time_selectvue_type_script_lang_js_","time_select_component","time_select","picker_time_select","packages_time_select","time_rangevue_type_template_id_fb28660e_render","handleMinChange","setMinSelectionRange","handleMaxChange","setMaxSelectionRange","time_rangevue_type_template_id_fb28660e_staticRenderFns","MIN_TIME","MAX_TIME","time_rangevue_type_script_lang_js_minTimeOfDay","time_rangevue_type_script_lang_js_maxTimeOfDay","advanceTime","amount","time_rangevue_type_script_lang_js_","minSpinner","maxSpinner","minSelectableRange","maxSelectableRange","half","panel_time_rangevue_type_script_lang_js_","time_range_component","time_range","time_picker","_isRange","packages_time_picker","mainvue_type_template_id_52060272_render","handleAfterEnter","handleAfterLeave","mainvue_type_template_id_52060272_staticRenderFns","mainvue_type_script_lang_js_","__vue__","doToggle","handleDocumentClick","doShow","cleanup","src_mainvue_type_script_lang_js_","main_component","getReference","directive","inserted","popover","src_main","packages_tooltip","mainvue_type_template_id_6b29b012_render","distinguishCancelAndClose","dangerouslyUseHTMLString","showInput","inputType","inputPlaceholder","handleInputEnter","inputValue","visibility","editorErrorMessage","showCancelButton","cancelButtonClasses","cancelButtonLoading","roundButton","cancelButtonText","showConfirmButton","confirmButtonClasses","confirmButtonLoading","confirmButtonText","mainvue_type_template_id_6b29b012_staticRenderFns","lib_locale_","lib_locale_default","aria_dialog_","aria_dialog_default","messageBox","typeMap","warning","message_box_src_mainvue_type_script_lang_js_","closeOnHashChange","confirmButtonClass","cancelButtonClass","getSafeClose","currentId","closeDialog","$type","validate","inputPattern","inputErrorMessage","getInputElement","inputValidator","validateResult","getFirstFocus","inputRefs","focusAfterClosed","confirmButtonDisabled","packages_message_box_src_mainvue_type_script_lang_js_","src_main_component","message_box_src_main","vdom_","main_typeof","main_defaults","confirmButtonPosition","confirmButtonHighlight","cancelButtonHighlight","MessageBoxConstructor","currentMsg","main_instance","msgQueue","defaultCallback","initInstance","main_showNextMsg","showNextMsg","closeTimer","oldCb","main_MessageBox","MessageBox","setDefaults","alert","prompt","packages_message_box_src_main","message_box","breadcrumbvue_type_template_id_4b464c06_render","breadcrumbvue_type_template_id_4b464c06_staticRenderFns","breadcrumbvue_type_script_lang_js_","separatorClass","elBreadcrumb","src_breadcrumbvue_type_script_lang_js_","breadcrumb_component","packages_breadcrumb","breadcrumb_itemvue_type_template_id_fcf9eaac_render","breadcrumb_itemvue_type_template_id_fcf9eaac_staticRenderFns","breadcrumb_itemvue_type_script_lang_js_","src_breadcrumb_itemvue_type_script_lang_js_","breadcrumb_item_component","breadcrumb_item","packages_breadcrumb_item","formvue_type_template_id_a1b5ff34_render","inline","formvue_type_template_id_a1b5ff34_staticRenderFns","formvue_type_script_lang_js_","rules","labelWidth","labelSuffix","inlineMessage","showMessage","validateOnRuleChange","hideRequiredAsterisk","fields","field","removeValidateEvents","addValidateEvents","autoLabelWidth","potentialLabelWidthArr","resetFields","resetField","clearValidate","promise","valid","invalidFields","validateField","getLabelWidthIndex","registerLabelWidth","deregisterLabelWidth","src_formvue_type_script_lang_js_","form_component","src_form","packages_form","form_itemvue_type_template_id_b6f3db6c_render","isRequired","sizeClass","labelStyle","labelFor","contentStyle","validateMessage","form_itemvue_type_template_id_b6f3db6c_staticRenderFns","label_wrap_render","label_wrap_staticRenderFns","external_async_validator_","external_async_validator_default","label_wrapvue_type_script_lang_js_","isAutoWidth","updateAll","marginLeft","computedWidth","getLabelWidth","firstElementChild","updateLabelWidth","updateComputedLabelWidth","src_label_wrapvue_type_script_lang_js_","label_wrap_component","label_wrap","form_itemvue_type_script_lang_js_","validateStatus","LabelWrap","computedLabelWidth","parentName","fieldValue","getRules","rule","_formSize","validateDisabled","getFilteredRule","firstFields","errors","formRules","selfRules","requiredRule","onFieldBlur","onFieldChange","src_form_itemvue_type_script_lang_js_","form_item_component","form_item","packages_form_item","tab_barvue_type_template_id_2031f33a_render","rootTabs","tabPosition","barStyle","tab_barvue_type_template_id_2031f33a_staticRenderFns","tab_barvue_type_script_lang_js_","tabs","tabSize","sizeName","sizeDir","firstUpperCase","paneName","tabStyles","src_tab_barvue_type_script_lang_js_","tab_bar_component","tab_bar","tab_nav_render","tab_nav_staticRenderFns","tab_navvue_type_script_lang_js_firstUpperCase","tab_navvue_type_script_lang_js_","TabBar","panes","currentName","onTabClick","onTabRemove","stretch","scrollable","navOffset","isFocus","focusable","navStyle","scrollPrev","containerSize","navScroll","currentOffset","newOffset","scrollNext","navSize","nav","scrollToActiveTab","activeTab","activeTabBounding","navScrollBounding","_currentOffset","changeTab","tabList","setFocus","removeFocus","visibilityChangeHandler","visibilityState","windowBlurHandler","windowFocusHandler","scrollBtn","pane","tabName","isClosable","btnClose","tabLabelContent","src_tab_navvue_type_script_lang_js_","tab_nav_component","tabs_render","tabs_staticRenderFns","tab_nav","tabsvue_type_script_lang_js_","TabNav","activeName","addable","setCurrentName","calcPaneInstances","isForceUpdate","paneSlots","componentOptions","panesChanged","handleTabClick","handleTabRemove","handleTabAdd","changeCurrentName","newButton","navData","src_tabsvue_type_script_lang_js_","tabs_component","packages_tabs","tab_panevue_type_template_id_9145a070_render","tab_panevue_type_template_id_9145a070_staticRenderFns","tab_panevue_type_script_lang_js_","labelContent","src_tab_panevue_type_script_lang_js_","tab_pane_component","tab_pane","tag_render","tag_staticRenderFns","packages_tab_pane","tagvue_type_script_lang_js_","disableTransitions","tagSize","tagEl","src_tagvue_type_script_lang_js_","tag_component","src_tag","packages_tag","treevue_type_template_id_547575a6_render","highlightCurrent","draggingNode","allowDrop","dropType","getNodeKey","renderAfterExpand","showCheckbox","handleNodeExpand","showDropIndicator","treevue_type_template_id_547575a6_staticRenderFns","NODE_KEY","markNodeData","util_getNodeKey","findNearestComponent","node_classCallCheck","getChildState","none","allWithoutDisable","reInitChecked","_getChildState","getPropertyFromData","dataProp","nodeIdSeed","isCurrent","registerNode","isLeafByUser","defaultExpandedKeys","autoExpandParent","currentNodeKey","currentNode","_initDefaultCheckedNode","updateLeafState","insertChild","walk","getChildren","insertAfter","deregisterNode","removeChildByData","expandParent","shouldLoadData","setChecked","doCreateChildren","defaultProps","recursion","passValue","checkDescendants","_getChildState2","handleDescendants","isCheck","_getChildState3","_all","forceInit","updateChildren","newDataMap","newNodes","isNodeExists","nodeKey","model_node","tree_store_typeof","tree_store_classCallCheck","tree_store_TreeStore","TreeStore","nodesMap","loadFn","_initDefaultCheckedNodes","filterNodeMethod","allHidden","instanceChanged","getNode","refData","refNode","parentData","defaultCheckedKeys","checkedKey","setDefaultCheckedKey","includeHalfChecked","checkedNodes","getCheckedKeys","getHalfCheckedNodes","getHalfCheckedKeys","_getAllNodes","allNodes","_child","_setCheckedKeys","checkedKeys","cache","setCheckedNodes","setCheckedKeys","setDefaultExpandedKeys","getCurrentNode","setCurrentNode","prevCurrentNode","setUserCurrentNode","currNode","setCurrentNodeKey","tree_store","tree_nodevue_type_template_id_3ba3ef0e_render","this$1","contextmenu","handleDragStart","dragover","handleDragOver","dragend","handleDragEnd","drop","handleDrop","handleExpandIconClick","childNodeRendered","handleChildNodeExpand","tree_nodevue_type_template_id_3ba3ef0e_staticRenderFns","tree_nodevue_type_script_lang_js_","NodeContent","oldChecked","oldIndeterminate","handleSelectChange","expandOnClickNode","checkOnClickNode","_events","halfCheckedNodes","halfCheckedKeys","isTree","accordion","src_tree_nodevue_type_script_lang_js_","tree_node_component","tree_node","treevue_type_script_lang_js_","ElTreeNode","treeItems","checkboxItems","dropNode","allowDrag","treeItemArray","checkbox","getNodePath","getCurrentKey","setCurrentKey","updateKeyChildren","initTabIndex","checkedItem","currentItem","hasInput","dataTransfer","effectAllowed","oldDropNode","dropPrev","dropInner","dropNext","userAllowDropInner","dropEffect","previousSibling","targetPosition","treePosition","prevPercent","nextPercent","indicatorTop","clientY","iconPosition","dropIndicator","draggingNodeCopy","src_treevue_type_script_lang_js_","tree_component","src_tree","packages_tree","mainvue_type_template_id_6e53341b_render","typeClass","showIcon","isBigIcon","isBoldTitle","description","closeText","mainvue_type_template_id_6e53341b_staticRenderFns","TYPE_CLASSES_MAP","alert_src_mainvue_type_script_lang_js_","packages_alert_src_mainvue_type_script_lang_js_","alert_src_main_component","alert_src_main","packages_alert","mainvue_type_template_id_43dbc3d8_render","horizontalClass","positionStyle","clearTimer","startTimer","mainvue_type_template_id_43dbc3d8_staticRenderFns","mainvue_type_script_lang_js_typeMap","notification_src_mainvue_type_script_lang_js_","verticalOffset","timer","verticalProperty","destroyElement","packages_notification_src_mainvue_type_script_lang_js_","notification_src_main_component","notification_src_main","NotificationConstructor","src_main_instance","main_Notification","Notification","userOnClose","removedHeight","closeAll","packages_notification_src_main","notification","mainvue_type_template_id_32708644_render","sliderDisabled","showInputControls","firstValue","runwayStyle","onSliderClick","tooltipClass","secondValue","showStops","getStopStyle","markList","mark","mainvue_type_template_id_32708644_staticRenderFns","input_number_","input_number_default","buttonvue_type_template_id_e72d2ad2_render","wrapperStyle","onButtonDown","touchstart","onLeftKeyDown","onRightKeyDown","showTooltip","formatValue","buttonvue_type_template_id_e72d2ad2_staticRenderFns","slider_src_buttonvue_type_script_lang_js_","isClick","currentX","startY","currentY","startPosition","newPosition","currentPosition","enableFormat","displayTooltip","hideTooltip","onDragStart","onDragging","setPosition","resetSize","sliderSize","lengthPerStep","steps","packages_slider_src_buttonvue_type_script_lang_js_","src_button_component","slider_src_button","slider_src_mainvue_type_script_lang_js_","marks","ElInputNumber","SliderButton","SliderMarker","setValues","valueChanged","targetValue","button1","sliderOffsetBottom","slider","sliderOffsetLeft","stopCount","stepWidth","marksKeys","barSize","barStart","valuetext","packages_slider_src_mainvue_type_script_lang_js_","slider_src_main_component","slider_src_main","loadingvue_type_template_id_eee0a7ac_render","loadingvue_type_template_id_eee0a7ac_staticRenderFns","loadingvue_type_script_lang_js_","src_loadingvue_type_script_lang_js_","loading_component","after_leave_","after_leave_default","Mask","loadingDirective","toggleLoading","modifiers","originalPosition","originalOverflow","maskStyle","mask","insertDom","hiding","domVisible","lock","domInserted","textExr","spinnerExr","backgroundExr","customClassExr","vm","src_directive","LoadingConstructor","src_defaults","fullscreenLoading","src_addStyle","src_Loading","packages_loading","$loading","service","iconvue_type_template_id_cb3fe7f4_render","iconvue_type_template_id_cb3fe7f4_staticRenderFns","iconvue_type_script_lang_js_","src_iconvue_type_script_lang_js_","icon_component","packages_icon","src_row","justify","packages_row","col_typeof","pull","xs","sm","md","xl","packages_col","upload_listvue_type_template_id_173fedf5_render","listType","files","alt","percentage","parsePercentage","handlePreview","upload_listvue_type_template_id_173fedf5_staticRenderFns","progress_","progress_default","upload_listvue_type_script_lang_js_","ElProgress","src_upload_listvue_type_script_lang_js_","upload_list_component","upload_list","getError","xhr","msg","response","responseText","getBody","JSON","upload","XMLHttpRequest","onprogress","onProgress","formData","FormData","filename","onerror","onSuccess","withCredentials","headers","setRequestHeader","send","upload_draggervue_type_template_id_7ebbf219_render","onDrop","onDragover","dragleave","upload_draggervue_type_template_id_7ebbf219_staticRenderFns","upload_draggervue_type_script_lang_js_","uploader","accept","extension","baseType","acceptedType","src_upload_draggervue_type_script_lang_js_","upload_dragger_component","upload_render","upload_staticRenderFns","upload_dragger","uploadvue_type_script_lang_js_","UploadDragger","onStart","beforeUpload","drag","onPreview","onRemove","fileList","autoUpload","httpRequest","limit","onExceed","mouseover","reqs","isImage","uploadFiles","postFiles","rawFile","processedFile","fileType","File","abort","req","src_uploadvue_type_script_lang_js_","upload_component","src_upload","srcvue_type_script_lang_js_noop","src_render","src_staticRenderFns","srcvue_type_script_lang_js_","UploadList","Upload","dragger","showFileList","beforeRemove","onChange","dragOver","draging","tempIndex","uploadDisabled","handleStart","handleProgress","getFile","handleSuccess","handleError","handleRemove","doRemove","clearFiles","submit","uploadList","uploadData","uploadComponent","tip","upload_srcvue_type_script_lang_js_","upload_src_component","upload_src","packages_upload","progressvue_type_template_id_229ee406_render","showText","textInside","trailPathStyle","trackPath","relativeStrokeWidth","circlePathStyle","strokeLinecap","progressTextSize","progressvue_type_template_id_229ee406_staticRenderFns","progressvue_type_script_lang_js_","getCurrentColor","isDashboard","perimeter","rate","strokeDashoffset","strokeDasharray","getLevelColor","getColorArray","src_progressvue_type_script_lang_js_","progress_component","packages_progress","spinnervue_type_template_id_697b8538_render","strokeColor","spinnervue_type_template_id_697b8538_staticRenderFns","spinnervue_type_script_lang_js_","src_spinnervue_type_script_lang_js_","spinner_component","packages_spinner","mainvue_type_template_id_455b9f60_render","mainvue_type_template_id_455b9f60_staticRenderFns","src_mainvue_type_script_lang_js_typeMap","message_src_mainvue_type_script_lang_js_","packages_message_src_mainvue_type_script_lang_js_","message_src_main_component","message_src_main","types_","main_extends","MessageConstructor","message_src_main_instance","main_instances","main_seed","main_Message","Message","packages_message_src_main","packages_message","mainvue_type_template_id_7ccb6598_render","hidden","isDot","mainvue_type_template_id_7ccb6598_staticRenderFns","badge_src_mainvue_type_script_lang_js_","packages_badge_src_mainvue_type_script_lang_js_","badge_src_main_component","badge_src_main","badge","mainvue_type_template_id_59a4a40f_render","mainvue_type_template_id_59a4a40f_staticRenderFns","card_src_mainvue_type_script_lang_js_","packages_card_src_mainvue_type_script_lang_js_","card_src_main_component","card_src_main","card","mainvue_type_template_id_ada57782_render","handleKey","rateDisabled","resetCurrentValue","selectValue","getIconStyle","showDecimalIcon","decimalIconClass","decimalStyle","showScore","mainvue_type_template_id_ada57782_staticRenderFns","rate_src_mainvue_type_script_lang_js_","pointerAtLeftHalf","lowThreshold","highThreshold","voidColor","disabledVoidColor","voidIconClass","disabledVoidIconClass","allowHalf","texts","scoreTemplate","valueDecimal","classMap","excluded","getValueFromMap","voidClass","activeClass","colorMap","threshold","matchedKeys","matchedValue","showWhenDisabled","showWhenAllowHalf","packages_rate_src_mainvue_type_script_lang_js_","rate_src_main_component","rate_src_main","stepsvue_type_template_id_3c6b6dc0_render","simple","stepsvue_type_template_id_3c6b6dc0_staticRenderFns","stepsvue_type_script_lang_js_","alignCenter","finishStatus","processStatus","stepOffset","_steps","src_stepsvue_type_script_lang_js_","steps_component","packages_steps","stepvue_type_template_id_f414a87a_render","isSimple","isLast","isCenter","isVertical","currentStatus","stepvue_type_template_id_f414a87a_staticRenderFns","stepvue_type_script_lang_js_","internalStatus","prevStatus","prevStep","stepsCount","flexBasis","updateStatus","prevChild","calcProgress","transitionDelay","unwatch","src_stepvue_type_script_lang_js_","step_component","packages_step","mainvue_type_template_id_5d5d1482_render","carouselClasses","arrowDisplay","arrow","handleButtonEnter","handleButtonLeave","throttledArrowClick","indicatorPosition","indicatorsClasses","throttledIndicatorHover","handleIndicatorClick","hasLabel","mainvue_type_template_id_5d5d1482_staticRenderFns","throttle_","throttle_default","carousel_src_mainvue_type_script_lang_js_","initialIndex","autoplay","containerWidth","setActiveItem","resetItemPosition","pauseTimer","itemInStage","inStage","updateItems","translateItem","playSlides","resetTimer","filteredItems","handleIndicatorHover","packages_carousel_src_mainvue_type_script_lang_js_","carousel_src_main_component","carousel_src_main","carousel","scrollbar_src_main","itemvue_type_template_id_1801ae19_render","ready","animating","itemvue_type_template_id_1801ae19_staticRenderFns","CARD_SCALE","itemvue_type_script_lang_js_","processIndex","calcCardTranslate","parentWidth","calcTranslate","parentType","parentDirection","translateType","src_itemvue_type_script_lang_js_","item_component","src_item","carousel_item","collapsevue_type_template_id_461d57f4_render","collapsevue_type_template_id_461d57f4_staticRenderFns","collapsevue_type_script_lang_js_","activeNames","setActiveNames","src_collapsevue_type_script_lang_js_","collapse_component","packages_collapse","collapse_itemvue_type_template_id_2d05faac_render","handleEnterClick","collapse_itemvue_type_template_id_2d05faac_staticRenderFns","collapse_itemvue_type_script_lang_js_","contentWrapStyle","contentHeight","_uid","src_collapse_itemvue_type_script_lang_js_","collapse_item_component","collapse_item","packages_collapse_item","cascadervue_type_template_id_032537a6_render","toggleDropDownVisible","realSize","inputHover","dropDownVisible","presentText","clearBtnVisible","presentTags","handleDelete","$forceUpdate","handleDropdownLeave","filtering","handleExpandChange","handleSuggestionKeyDown","handleSuggestionClick","cascadervue_type_template_id_032537a6_staticRenderFns","cascader_panel_","cascader_panel_default","MigratingProps","changeOnSelect","PopperMixin","InputSizeMap","cascadervue_type_script_lang_js_","ElCascaderPanel","showAllLevels","beforeFilter","inputInitialHeight","pressDeleteCount","oldProp","_MigratingProps$oldPr","computePresentContent","updateStyle","filterHandler","getSuggestions","focusFirstNode","suggestionPanel","firstMenu","computePresentTags","genTag","rest","restCount","keyword","previousElementSibling","nextElementSibling","lastTag","inputInner","suggestionPanelEl","src_cascadervue_type_script_lang_js_","cascader_component","cascader","packages_cascader","mainvue_type_template_id_55c8ade7_render","colorDisabled","colorSize","handleTrigger","showAlpha","displayedColor","showPanelColor","predefine","confirmValue","clearValue","mainvue_type_template_id_55c8ade7_staticRenderFns","color_typeof","color_classCallCheck","hsv2hsl","hue","sat","isOnePointZero","isPercentage","bound01","processPercent","INT_HEX_MAP","11","13","14","hexOne","high","low","HEX_INT_MAP","D","E","parseHexChannel","hex","hsl2hsv","light","smin","lmin","sv","rgb2hsv","hsv2rgb","q","Color","_hue","_saturation","_alpha","enableAlpha","doOnChange","toRgb","fromString","fromHSV","_hsl2hsv","_parts","_parts2","_rgb2hsv","substring","_rgb2hsv2","_h2","_s2","hsl","_hsv2rgb","_hsl","_hsv2rgb2","_r","_g","src_color","picker_dropdownvue_type_template_id_06601625_render","float","customInput","picker_dropdownvue_type_template_id_06601625_staticRenderFns","sv_panelvue_type_template_id_d8583596_render","cursorTop","cursorLeft","sv_panelvue_type_template_id_d8583596_staticRenderFns","moveFn","upFn","sv_panelvue_type_script_lang_js_","colorValue","saturation","handleDrag","components_sv_panelvue_type_script_lang_js_","sv_panel_component","sv_panel","hue_slidervue_type_template_id_5cdc43b1_render","thumbLeft","thumbTop","hue_slidervue_type_template_id_5cdc43b1_staticRenderFns","hue_slidervue_type_script_lang_js_","hueValue","getThumbLeft","getThumbTop","dragConfig","components_hue_slidervue_type_script_lang_js_","hue_slider_component","hue_slider","alpha_slidervue_type_template_id_068c66cb_render","alpha_slidervue_type_template_id_068c66cb_staticRenderFns","alpha_slidervue_type_script_lang_js_","getBackground","_color$toRgb","components_alpha_slidervue_type_script_lang_js_","alpha_slider_component","alpha_slider","predefinevue_type_template_id_06e03093_render","rgbaColors","predefinevue_type_template_id_06e03093_staticRenderFns","predefinevue_type_script_lang_js_","parseColors","components_predefinevue_type_script_lang_js_","predefine_component","picker_dropdownvue_type_script_lang_js_","SvPanel","HueSlider","AlphaSlider","Predefine","currentColor","sl","components_picker_dropdownvue_type_script_lang_js_","picker_dropdown_component","picker_dropdown","color_picker_src_mainvue_type_script_lang_js_","colorFormat","displayedRgb","currentValueColor","currentValueColorRgb","resetColor","PickerDropdown","packages_color_picker_src_mainvue_type_script_lang_js_","color_picker_src_main_component","color_picker_src_main","color_picker","mainvue_type_template_id_5c654dd8_render","sourceData","titles","leftDefaultChecked","filterPlaceholder","onSourceCheckedChange","hasButtonTexts","rightChecked","addToLeft","buttonTexts","leftChecked","addToRight","targetData","rightDefaultChecked","onTargetCheckedChange","mainvue_type_template_id_5c654dd8_staticRenderFns","transfer_panelvue_type_template_id_2ddab8bd_render","isIndeterminate","handleAllCheckedChange","allChecked","checkedSummary","hasFooter","inputIcon","clearQuery","hasNoMatch","keyProp","disabledProp","transfer_panelvue_type_template_id_2ddab8bd_staticRenderFns","transfer_panelvue_type_script_lang_js_","OptionContent","transfer","defaultChecked","checkChangeByUser","updateAllChecked","movedKeys","filteredDataKeys","checkableData","checkableDataKeys","checkedLength","noChecked","hasChecked","src_transfer_panelvue_type_script_lang_js_","transfer_panel_component","transfer_panel","transfer_src_mainvue_type_script_lang_js_","TransferPanel","targetOrder","dataObj","itemsToBeMoved","itemKey","which","leftPanel","rightPanel","packages_transfer_src_mainvue_type_script_lang_js_","transfer_src_main_component","transfer_src_main","mainvue_type_template_id_5bf181d4_render","mainvue_type_template_id_5bf181d4_staticRenderFns","container_src_mainvue_type_script_lang_js_","packages_container_src_mainvue_type_script_lang_js_","container_src_main_component","container_src_main","packages_container","mainvue_type_template_id_2b296ab2_render","mainvue_type_template_id_2b296ab2_staticRenderFns","header_src_mainvue_type_script_lang_js_","packages_header_src_mainvue_type_script_lang_js_","header_src_main_component","header_src_main","mainvue_type_template_id_03411dbf_render","mainvue_type_template_id_03411dbf_staticRenderFns","aside_src_mainvue_type_script_lang_js_","packages_aside_src_mainvue_type_script_lang_js_","aside_src_main_component","aside_src_main","aside","mainvue_type_template_id_2a3a7406_render","mainvue_type_template_id_2a3a7406_staticRenderFns","main_src_mainvue_type_script_lang_js_","packages_main_src_mainvue_type_script_lang_js_","main_src_main_component","main_src_main","packages_main","mainvue_type_template_id_80210338_render","mainvue_type_template_id_80210338_staticRenderFns","footer_src_mainvue_type_script_lang_js_","packages_footer_src_mainvue_type_script_lang_js_","footer_src_main_component","footer_src_main","main_render","main_staticRenderFns","timeline_src_mainvue_type_script_lang_js_","packages_timeline_src_mainvue_type_script_lang_js_","timeline_src_main_component","timeline_src_main","itemvue_type_template_id_61a69e50_render","hideTimestamp","timestamp","itemvue_type_template_id_61a69e50_staticRenderFns","timeline_src_itemvue_type_script_lang_js_","packages_timeline_src_itemvue_type_script_lang_js_","src_item_component","timeline_src_item","timeline_item","mainvue_type_template_id_01cf3b65_render","underline","mainvue_type_template_id_01cf3b65_staticRenderFns","link_src_mainvue_type_script_lang_js_","packages_link_src_mainvue_type_script_lang_js_","link_src_main_component","link_src_main","packages_link","mainvue_type_template_id_7fa02a7e_functional_true_render","mainvue_type_template_id_7fa02a7e_functional_true_staticRenderFns","divider_src_mainvue_type_script_lang_js_","packages_divider_src_mainvue_type_script_lang_js_","divider_src_main_component","divider_src_main","mainvue_type_template_id_44d84a7c_render","preview","imageStyle","clickHandler","$listeners","showViewer","imageIndex","closeViewer","previewSrcList","mainvue_type_template_id_44d84a7c_staticRenderFns","image_viewervue_type_template_id_5e73b307_render","viewerZIndex","handleMaskClick","isSingle","infinite","isFirst","handleActions","toggleMode","urlList","imgStyle","currentImg","handleImgLoad","handleImgError","image_viewervue_type_template_id_5e73b307_staticRenderFns","image_viewervue_type_script_lang_js_extends","Mode","CONTAIN","ORIGINAL","mousewheelEventName","image_viewervue_type_script_lang_js_","onSwitch","maskClosable","deg","enableTransition","_transform","$img","complete","deviceSupportUninstall","deviceSupportInstall","_keyDownHandler","_mouseWheelHandler","zoomRate","_transform2","pageY","_dragHandler","modeNames","modeValues","_zoomRate$rotateDeg$e","rotateDeg","src_image_viewervue_type_script_lang_js_","image_viewer_component","image_viewer","isSupportObjectFit","objectFit","ObjectFit","COVER","FILL","SCALE_DOWN","prevOverflow","image_src_mainvue_type_script_lang_js_","ImageViewer","scrollContainer","imageWidth","imageHeight","getImageStyle","previewIndex","srcIndex","loadImage","addLazyLoadListener","removeLazyLoadListener","handleLoad","handleLazyLoad","_scrollContainer","_lazyLoadHandler","containerHeight","imageAspectRatio","containerAspectRatio","isSmaller","packages_image_src_mainvue_type_script_lang_js_","image_src_main_component","image_src_main","packages_image","mainvue_type_template_id_6d9756be_render","i18nDate","validatedRange","selectDate","realSelectedDay","realFirstDayOfWeek","pickDay","mainvue_type_template_id_6d9756be_staticRenderFns","date_table_render","date_table_staticRenderFns","date_","date_default","src_date_tablevue_type_script_lang_js_","selectedDay","hideHeader","toNestedArr","days","getFormateDate","curMonthDatePrefix","prevMonthDatePrefix","nextMonthDatePrefix","formatedToday","cellRenderProxy","elCalendar","dateCell","WEEK_DAYS","dayNames","currentMonthRange","nextMonthRange","prevMonthDays","currentMonthDays","nextMonthDays","weekDays","thead","calendar_src_date_tablevue_type_script_lang_js_","src_date_table_component","src_date_table","validTypes","oneDay","calendar_src_mainvue_type_script_lang_js_","formatedDate","toDate","rangeValidator","isStart","startDay","lastDay","nextMontFirstDay","packages_calendar_src_mainvue_type_script_lang_js_","calendar_src_main_component","calendar_src_main","mainvue_type_template_id_257dd4a9_render","styleRight","styleBottom","mainvue_type_template_id_257dd4a9_staticRenderFns","cubic","easeInOutCubic","backtop_src_mainvue_type_script_lang_js_","visibilityHeight","throttledScrollHandler","onScroll","scrollToTop","beginTime","beginValue","rAF","frameFunc","packages_backtop_src_mainvue_type_script_lang_js_","backtop_src_main_component","backtop_src_main","backtop","getStyleComputedProperty","css","getPositionSize","getOffsetHeight","getClientHeight","attributes","main_getScrollOptions","getElementTop","main_handleScroll","_scope","_getScrollOptions","containerInfo","shouldTrigger","scrollBottom","heightBelowTop","borderBottom","infinite_scroll_src_main","_getScrollOptions2","MutationObserver","childList","subtree","_el$scope","infinite_scroll","mainvue_type_template_id_5070954c_render","mainvue_type_template_id_5070954c_staticRenderFns","page_header_src_mainvue_type_script_lang_js_","packages_page_header_src_mainvue_type_script_lang_js_","page_header_src_main_component","page_header_src_main","page_header","cascader_panelvue_type_template_id_34932346_staticRenderFns","cascader_node_component","node_createClass","src_node_classCallCheck","src_node_Node","cascader_panel_src_store","cascader_panelvue_type_script_lang_js_extends","cascader_panelvue_type_script_lang_js_KeyCode","src_main_render","src_main_staticRenderFns","packages_cascader_panel","avatar_src_mainvue_type_script_lang_js_","srcSet","isImageExist","avatarClass","errorFlag","renderAvatar","sizeStyle","packages_avatar_src_mainvue_type_script_lang_js_","avatar_src_main_component","avatar_src_main","avatar","mainvue_type_template_id_a4885264_render","drawerSize","withHeader","closeDrawer","mainvue_type_template_id_a4885264_staticRenderFns","drawer_src_mainvue_type_script_lang_js_","wrapperClosable","prevActiveElement","packages_drawer_src_mainvue_type_script_lang_js_","drawer_src_main_component","drawer_src_main","drawer","mainvue_type_template_id_048de730_render","hideIcon","iconColor","cancelButtonType","displayCancelButtonText","confirmButtonType","displayConfirmButtonText","mainvue_type_template_id_048de730_staticRenderFns","popover_","popover_default","popconfirm_src_mainvue_type_script_lang_js_","ElPopover","packages_popconfirm_src_mainvue_type_script_lang_js_","popconfirm_src_main_component","popconfirm_src_main","popconfirm","srcvue_type_template_id_7f659269_render","uiLoading","animated","variant","srcvue_type_template_id_7f659269_staticRenderFns","skeleton_srcvue_type_script_lang_js_","timeoutHandle","packages_skeleton_srcvue_type_script_lang_js_","skeleton_src_component","skeleton_src","skeleton","itemvue_type_template_id_4bc8804c_render","itemvue_type_template_id_4bc8804c_staticRenderFns","img_placeholdervue_type_template_id_1b2cb5c0_render","xmlns","img_placeholdervue_type_template_id_1b2cb5c0_staticRenderFns","img_placeholdervue_type_script_lang_js_","src_img_placeholdervue_type_script_lang_js_","img_placeholder_component","_components","img_placeholder","skeleton_src_itemvue_type_script_lang_js_","packages_skeleton_src_itemvue_type_script_lang_js_","skeleton_src_item_component","skeleton_src_item","skeleton_item","srcvue_type_template_id_347ced91_render","emptyDescription","srcvue_type_template_id_347ced91_staticRenderFns","img_emptyvue_type_template_id_42918b82_render","img_emptyvue_type_template_id_42918b82_staticRenderFns","img_emptyvue_type_script_lang_js_id","img_emptyvue_type_script_lang_js_","src_img_emptyvue_type_script_lang_js_","img_empty_component","srcvue_type_script_lang_js_components","img_empty","empty_srcvue_type_script_lang_js_","imageSize","packages_empty_srcvue_type_script_lang_js_","empty_src_component","empty_src","src_components","descriptions_row_extends","descriptions_row","elDescriptions","colon","contentClassName","src_extends","descriptions_src","extra","descriptionsSize","getOptionProps","_componentOptions$pro","propsData","_componentOptions$Cto","getSlots","isEmptyElement","filledNode","getRows","descriptions","descriptions_item","packages_descriptions_item","srcvue_type_template_id_3408b139_render","iconElement","subTitle","srcvue_type_template_id_3408b139_staticRenderFns","icon_successvue_type_template_id_18119418_render","icon_successvue_type_template_id_18119418_staticRenderFns","icon_successvue_type_script_lang_js_","src_icon_successvue_type_script_lang_js_","icon_success_component","icon_success","icon_errorvue_type_template_id_21199246_render","icon_errorvue_type_template_id_21199246_staticRenderFns","icon_errorvue_type_script_lang_js_","src_icon_errorvue_type_script_lang_js_","icon_error_component","icon_error","icon_warningvue_type_template_id_46fe8f31_render","icon_warningvue_type_template_id_46fe8f31_staticRenderFns","icon_warningvue_type_script_lang_ts_","src_icon_warningvue_type_script_lang_ts_","icon_warning_component","icon_warning","icon_infovue_type_template_id_19e3de69_render","icon_infovue_type_template_id_19e3de69_staticRenderFns","icon_infovue_type_script_lang_ts_","src_icon_infovue_type_script_lang_ts_","icon_info_component","result_srcvue_type_script_lang_js_components","icon_info","IconMap","result_srcvue_type_script_lang_js_","packages_result_srcvue_type_script_lang_js_","result_src_component","result_src","src_install","$msgbox","$alert","$confirm","$prompt","$notify","$message","CollapseTransition","Loading","Pagination","Dialog","Autocomplete","Dropdown","DropdownMenu","DropdownItem","Submenu","MenuItemGroup","Input","InputNumber","Radio","RadioGroup","RadioButton","Checkbox","CheckboxButton","CheckboxGroup","Switch","Select","Option","OptionGroup","Button","ButtonGroup","Table","TableColumn","DatePicker","TimeSelect","Popover","Tooltip","Breadcrumb","BreadcrumbItem","Form","FormItem","Tabs","TabPane","Tag","Alert","Slider","Icon","Row","Col","Progress","Spinner","Badge","Card","Rate","Steps","Step","Carousel","Scrollbar","CarouselItem","Collapse","CollapseItem","Cascader","ColorPicker","Transfer","Container","Header","Aside","Main","Footer","Timeline","TimelineItem","Link","Divider","Calendar","Backtop","InfiniteScroll","PageHeader","CascaderPanel","Avatar","Drawer","Popconfirm","Skeleton","SkeletonItem","Empty","Descriptions","DescriptionsItem","createTypedArrayConstructor","Pattern","returnFalse","createDom","newDom","newDomStyle","Layer","domBack","ctxBack","clearColor","motionBlur","lastFrameAlpha","__used","__drawIndex","__startIndex","__endIndex","getElementCount","initContext","createBackBuffer","clearAll","clearColorGradientOrPattern","haveMotionBLur","clearRect","__canvasGradient","getCanvasPattern","save","fillRect","globalImageCache","findExistImage","newImageOrSrc","cachedImgObj","hostEl","cbPayload","__zrImageSrc","pendingWrap","pending","imageOnLoad","__cachedImgObj","_listComponent","makeBackground","_contentGroup","_backgroundEl","_isFirstRender","viewportSize","legendDrawnMap","selectMode","eachRawSeries","getSeriesByName","legendSymbolType","_createItem","dispatchSelectAction","dispatchHighlightAction","dispatchDownplayAction","newline","symbolKeepAspect","itemIcon","legendGlobalTooltipModel","hitRect","formatterParams","legendIndex","dataName","CATEGORY_DEFAULT_VISUAL_INDEX","_normalizeData","normalizers","visualHandler","visualHandlers","_doMap","normalizeVisualRange","preprocessForPiecewise","preprocessForSpecifiedCategory","makeApplyVisual","isNormalized","doMapCategory","returnRGBArray","parsedVisual","linear","piecewise","getSpecifiedVisual","doMapFixed","colorHue","makePartialColorVisualHandler","colorSaturation","colorLightness","colorAlpha","makeDoMap","symbolCfg","doMapToArray","hasSpecialVisual","originIndex","categoryMap","visualArr","setVisualToOption","doNotNeedPair","applyValue","sourceExtent","addVisualHandler","eachVisual","mapVisual","isPrimary","newVisual","hasVisual","type1","type2","dependsOn","visualType1","visualType2","findClosestWhenOutside","possibleI","pieceValue","updatePossible","newAbs","$join","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","digitToBasic","digit","adapt","numPoints","firstTime","bias","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","baseMinusT","encoded","isDomLevel2","MOUSE_EVENT_REG","calculate","defaultGetZrXY","layerX","layerY","isTouch","targetTouches","changedTouches","zrDelta","cancelBubble","returnValue","notLeftMouse","ArrayIterators","arrayValues","arrayKeys","arrayEntries","nativeTypedArrayIterator","CORRECT_ITER_NAME","typedArrayValues","DEFAULT_SMOOTH","ParallelView","_dataGroup","dataGroup","makeSeriesScope","newDataIndex","addEl","updateElCommon","oldDataIndex","createLinePoints","taskParams","IndexedObject","alphabet","inactive","factory","DEFAULTS","boundariesElement","preventOverflowOrder","flipBehavior","arrowElement","modifiersIgnored","forceAbsolute","Popper","_reference","jquery","isNotDefined","isConfig","_options","_getPosition","_setupEventListeners","getOuterSizes","_display","_visibility","styles","getOppositePlacement","getPopperClientRect","popperOffsets","offsets","getArrayKeyIndex","keyToFind","getOffsetParent","getScrollParent","isFixed","is_numeric","functionToCheck","getOffsetRect","elementRect","isIE","rectTop","getOffsetRectRelativeToCustomParent","parentRect","scrollParent","getSupportedPropertyName","prefixes","toCheck","destroy","_removeEventListeners","removeOnDestroy","_originalPlacement","_getOffsets","boundaries","_getBoundaries","runModifiers","updateCallback","defaultConfig","classNames","contentType","arrowTagName","arrowClassNames","arrowAttributes","addClassNames","addAttributes","attribute","isParentFixed","referenceOffsets","popperRect","updateBound","scrollTarget","offsetParentRect","getScrollTopValue","getScrollLeftValue","modifiersToRun","isModifierRequired","requesting","requested","applyStyle","prefixedProperty","basePlacement","shiftVariation","shiftOffsets","preventOverflow","keepTogether","flip","flipped","placementOpposite","variation","flipOrder","_flip","arrowStyle","side","altSide","opSide","arrowSize","sideValue","nextSource","keysArray","nextKey","desc","UNDEFINED","INDEX_NOT_FOUND","ID_PREFIX","dataCtors","Float64Array","Int32Array","CtorUint32Array","Uint32Array","CtorInt32Array","CtorUint16Array","getIndicesCtor","_rawCount","cloneChunk","originalChunk","TRANSFERABLE_PROPERTIES","CLONE_PROPERTIES","transferProperties","__wrappedMethods","_calculationInfo","dimensionInfos","invertedIndicesMap","dimensionInfo","dimensionName","createInvertedIndices","_indices","_count","_storage","_nameList","_idList","_optionModels","_visual","_itemVisuals","hasItemVisual","_itemLayouts","_graphicEls","_chunkSize","_chunkCount","_rawExtent","_approximateExtent","_dimensionsSummary","_invertedIndicesMap","listProto","prepareChunks","chunkSize","chunkCount","DataCtor","lastChunkIndex","resizeChunkArray","newStore","prepareInvertedIndex","invertedIndices","getRawValueFromStore","chunkIndex","chunkOffset","chunk","getRawIndexWithoutIndices","getRawIndexWithIndices","_idDimIdx","normalizeDimensions","cloneListForMapAndSample","excludeDimensions","allDimensions","originalStorage","cloneDimStore","getInitialExtent","originalDimStore","newDimStore","getDimensionsOnCoord","dimensionsSummary","nameList","notProvider","_nameRepeatCount","_dimValueGetter","_dimValueGetterArrayRows","_initDataFromProvider","rawData","dimLen","originalChunkCount","emptyDataItem","sourceIdx","dimRawExtent","nameDimIdx","dimensionInfoMap","idList","nameRepeatCount","_nameDimIdx","itemId","dimStorage","nameDim","nameDimChunk","getIndices","thisCount","chunkStore","getByRawIndex","rawIdx","dimStore","_getFast","dimData","initialExtent","dimExtent","currEnd","useRaw","setApproximateExtent","getCalculationInfo","getMedian","dimDataArray","sortedDimDataArray","rawIndexOf","indicesOfNearest","maxDistance","nearestIndices","minDist","minDiff","contextCompat","filterSelf","dim0","selectRange","originalCount","quickFinished","chunkStorage","dimStorage2","chunkStorage2","val2","dimk","tmpRetValue","dataCount","retValue","rawExtentOnDim","downSample","sampleValue","sampleIndex","targetStorage","frameValues","frameSize","originalChunkIndex","originalChunkOffset","sampleFrameIdx","sampleChunkIndex","sampleChunkOffset","otherList","thisList","itemVisual","clearAllVisual","setItemDataAndSeriesIndex","dimensionInfoList","injectFunction","originalMethod","v2Distance","interpolate","isLoop","segs","w2","w3","NATIVE_ARRAY_BUFFER","redefineAll","toIndex","IEEE754","setPrototypeOf","arrayFill","ARRAY_BUFFER","DATA_VIEW","WRONG_LENGTH","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","$DataView","$DataViewPrototype","ObjectPrototype","packIEEE754","pack","unpackIEEE754","unpack","packInt8","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","isLittleEndian","intIndex","byteLength","bytes","conversion","ArrayBufferPrototype","testView","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","ArrayBuffer","DataView","TYPE_DELIMITER","IS_CONTAINER","checkClassType","RootClass","mandatoryMethods","$constructor","superClass","ExtendedClass","classBase","Clz","classAttr","enableClassManagement","entity","makeContainer","registerClass","componentMainType","throwWhenNotFound","getClassesByMainType","getAllClassMainTypes","hasSubTypes","registerWhenExtend","originalExtend","ignoreSize","subtext","subtarget","subtextStyle","titleModel","subtextStyleModel","subText","subTextEl","sublink","groupRect","layoutOption","alignStyle","$keys","$some","CONVERT_TO_STRING","createParallelIfNeeded","mergeAxisOptionFromParallel","hasParallelSeries","axisOption","parallelOption","isPolyline","isLarge","lineCoords","segCount","totalCoordsCount","getLineCoordsCount","getLineCoords","arraySpeciesConstructor","axisPointerModelHelper","_axisPointer","fixValue","updateAxisPointer","disposeAxisPointer","axisView","forceRender","getAxisPointerClass","getAxisPointerModel","axisPointerClazz","clazz","compatibleEC2","ec2Types","transferItem","controlStyle","itemStyleEmphasis","labelNormal","excludeLabelAttr","legendModels","findComponents","categoryNames","mapSymbolLayout","mapDataStatistic","createDataSelectAction","effectType","showEffectOn","rippleEffect","definition","XHR2","doc","byTag","head","ex","httpsRe","protocolRe","twoHundo","readyState","requestedWith","uniqid","callbackPrefix","xmlHttpRequest","xDomainRequest","defaultHeaders","XDomainRequest","ActiveXObject","globalSetupOptions","succeed","request","handleReadyState","_aborted","_timedOut","onreadystatechange","setHeaders","isAFormData","setCredentials","generalCallback","urlappend","handleJsonp","reqId","cbkey","cbval","reqwest","getcallbackPrefix","cbreg","script","isIE10","async","htmlFor","getRequest","toQueryString","sendWait","Reqwest","setType","_fulfilled","_successHandler","_fulfillmentHandlers","_errorHandlers","_completeHandlers","_erred","_responseArgs","resp","getResponseHeader","filteredResponse","eval","responseXML","parseError","errorCode","reason","timedOut","serial","ra","optCb","eachFormElement","serializeSubtags","serializeQueryString","serializeArray","serializeHash","buildParams","traditional","rbracket","retry","fail","always","serialize","trad","enc","compat","ajaxSetup","barItemStyle","coordinateSystemType","isHorizontalOrRadial","elementCreator","removeRect","removeSector","cartesian2d","animateProperty","animateTarget","isRadial","fixedLineWidth","getLineWidth","signX","signY","isPolar","getBarItemStyle","labelPositionOutside","rawLayout","LargePath","startPoint","__startPoint","valueIdx","__valueIdx","addToUnscopables","Arguments","_curve","containStroke","registerSubTypeDefaulter","META","KEY","$fails","wks","wksExt","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","$Symbol","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","USE_NATIVE","QObject","findChild","setSymbolDesc","protoDesc","$defineProperty","$defineProperties","$create","$propertyIsEnumerable","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","$replacer","_barGrid","prepareLayoutBarSeries","makeColumnLayout","retrieveColumnLayout","axisDataLen","scaleType","originalExtent","getCategories","setBlank","isBaseAxisAndHasBarSeries","barSeriesModels","adjustedScale","adjustScaleForOverflow","axisLength","barsOnCurrentAxis","minOverflow","maxOverflow","totalOverFlow","oldRange","oldRangePercentOfNew","overflowBuffer","makeLabelFormatter","categoryTickStart","tpl","tick","realNumberScaleTicks","tickCount","categoryScaleExtent","axisLabelModel","unrotatedSingleRect","singleRect","rotateTextRect","rotateRadians","boundingBox","beforeWidth","beforeHeight","afterWidth","afterHeight","rotatedRect","getOptionCategoryInterval","shouldShowAllLabels","guid","Handler","Storage","Painter","HandlerProxy","useVML","painterCtors","ZRender","registerPainter","delInstance","rendererType","vml","handerProxy","getViewportRoot","_needsRefresh","oldDelFromStorage","delFromStorage","oldAddToStorage","addToStorage","removeSelfFromZr","addSelfToZr","addRoot","delRoot","configLayer","zLevel","triggerRendered","_needsRefreshHover","refreshHoverImmediately","elMirror","refreshHover","clearHover","clearAnimation","pathToImage","setCursorStyle","eventHandler","NATIVE_WEAK_MAP","objectHas","sharedKey","OBJECT_ALREADY_INITIALIZED","WeakMap","wmget","wmhas","wmset","metadata","facade","STATE","dataProcessorHandlers","_dataProcessorHandlers","_visualHandlers","_allHandlers","_stageTaskMap","performStageTasks","stageHandlers","needSetDirty","__pipeline","stageHandlerRecord","seriesTaskMap","overallTask","overallNeedDirty","stub","performArgs","block","pipelineId","skip","taskRecord","_pipelineMap","pCtx","progressiveEnabled","progressiveRender","__idxInPipeline","blockIndex","modDataCount","modBy","dataLen","pipelineMap","tail","pipe","stageTaskMap","createSeriesStageTask","createOverallStageTask","__block","getUpstream","seriesTaskPlan","seriesTaskReset","seriesTaskCount","useClearVisual","isVisual","isLayout","createOnAllSeries","removeKey","overallTaskReset","overallProgress","createStub","stubReset","onDirty","stubOnDirty","agent","getSeries","upstreamContext","stubProgress","getDownstream","resetDefines","makeSeriesTaskProgress","singleSeriesTaskProgress","resetDefineIdx","resetDefine","dataEach","detectSeriseType","legacyFunc","ecModelMock","apiMock","mockMethods","cond","EffectPolyline","_lastFrame","_lastFramePercent","effectPolylineProto","_points","accLenArr","_offsets","_length","79","PolarAxisPointer","animationThreshold","coordValue","labelPos","getLabelPosition","buildLabelElOption","innerTextLayout","makeSectorShape","_locale","geoCoordMap","_buildAxes","_buildSplitLineAndArea","axisBuilders","showSplitLine","showSplitArea","splitLineColors","splitAreaColors","ticksRadius","getColorIndex","realSplitNumber","axesTicksPoints","prevPoints","areaOrLine","areaOrLineColorList","themeRiverVisual","componentUtil","boxLayoutMixin","themeModel","newCptOption","optList","Class","getDependencies","deps","enableSubTypeDefaulter","enableTopologicalTravel","v2ApplyTransform","TransformDummy","_roamTransformable","_center","_zoom","setBoundingRect","setViewRect","rawTransform","centerCoord","_updateCenterAndZoom","getDefaultCenter","rawRect","getCenter","rawTransformMatrix","defaultCenter","roamTransformable","_rawTransform","_layoutHelper","_oldTree","_updateViewCoordSys","symbolNeedsDraw","updateNode","symbolEl","_nodeScaleRatio","_updateNodeAndLinkScale","fromPoints","viewCoordSys","_viewCoordSys","nodeScale","_getNodeGlobalScale","invScale","groupScale","groupZoom","roamZoom","getTreeNodeStyle","sourceSymbolEl","sourceLayout","sourceOldLayout","rawX","__radialOldRawX","rawY","__radialOldRawY","targetLayout","__radialRawX","__radialRawY","isLeft","rootLayout","__edge","getEdgeShape","radialCoor1","radialCoor2","radialCoor3","radialCoor4","BUILTIN_OBJECT","TYPED_ARRAY","objToString","arrayProto","nativeForEach","nativeFilter","nativeSlice","nativeMap","nativeReduce","typeStr","isPrimitive","isDom","targetProp","sourceProp","isBuiltInObject","mergeAll","targetAndSources","overlay","baseClazz","clazzPrototype","memo","ownerDocument","retrieve3","primitiveKey","HashMap","isArr","thisMap","visit","concatArray","newArray","eachAfter","eachBefore","MapShim","Map","getIndex","class_1","__entries__","delete","_a","isBrowser","global$1","requestAnimationFrame$1","trailingTimeout","leadingCall","trailingCall","lastCallTime","resolvePending","timeoutCallback","timeStamp","REFRESH_DELAY","transitionKeys","mutationObserverSupported","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","connect_","disconnect_","changesDetected","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","characterData","propertyName","isReflowProperty","instance_","defineConfigurable","getWindowOf","ownerGlobal","emptyRect","createRectInit","toFloat","getBordersSize","positions","getPaddings","paddings","positions_1","getSVGContentRect","getBBox","getHTMLElementContentRect","horizPad","vertPad","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getContentRect","createReadOnlyRect","Constr","DOMRectReadOnly","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","ResizeObserverSPI","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","ResizeObserver","inspectSource","TEMPLATE","dPs","createDict","iframeDocument","iframe","lt","gt","contentWindow","newSnapshot","snapshot","_targetList","_selectTargetMap","targetMap","unSelect","toggleSelected","dummy","Wrapper","NewTarget","NewTargetPrototype","nameRotate","nameTruncate","ellipsis","showMinLabel","showMaxLabel","categoryAxis","deduplication","alignWithLabel","timeAxis","logAxis","logBase","idxMap","_ariaUtils","_ariaUtils2","tabEvent","focusFirst","dialogNode","getElementById","lastFocus","trapFocus","removeListeners","Uint32Arr","Float64Arr","compatEc2","coords","fromName","toName","LinesSeries","_processFlatCoordsArray","_flatCoords","flatCoords","_flatCoordsOffset","flatCoordsOffset","_getCoordsFromItemModel","startOffset","coordsOffsetAndLenStorage","coordsStorage","coordsCursor","offsetCursor","trailLength","autoPositionValues","visualCluster","visualObj","controllerVisuals","visualMapping","positionElement","Uint8ArrayPrototype","arrayToString","IS_NOT_ARRAY_METHOD","$fill","generateNodeKey","_directed","_nodesMap","_edgesMap","graphProto","hostGraph","Edge","isDirected","edgesMap","getEdge","breadthFirstTraverse","startNode","__visited","otherNode","inDegree","outDegree","createGraphDataProxyMixin","hostName","LineGroup","_ctor","lineDrawProto","doAdd","lineNeedsDraw","doUpdate","oldLineData","newLineData","itemEl","isPointNaN","isPersistent","_lineData","incrementalPrepareUpdate","_seriesScope","incrementalUpdate","updateIncrementalAndHover","_clearIncremental","_incremental","wrappedWellKnownSymbolModule","quadraticIn","quadraticOut","quadraticInOut","cubicIn","cubicOut","cubicInOut","quarticIn","quarticOut","quarticInOut","quinticIn","quinticOut","quinticInOut","sinusoidalIn","sinusoidalOut","sinusoidalInOut","exponentialIn","exponentialOut","exponentialInOut","circularIn","circularOut","circularInOut","elasticIn","asin","elasticOut","elasticInOut","backIn","backOut","backInOut","bounceIn","bounceOut","bounceInOut","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferModule","isInteger","typedArrayFrom","getOwnPropertyDescriptorModule","nativeDefineProperty","nativeGetOwnPropertyDescriptor","NATIVE_ARRAY_BUFFER_VIEWS","TYPED_ARRAY_CONSTRUCTOR","TYPED_ARRAY_TAG","TypedArray","TypedArrayPrototype","aTypedArrayConstructor","fromList","isArrayBuffer","klass","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructor","TypedArrayConstructorPrototype","exported","addElement","typedArrayOffset","$length","$len","_mapDraw","dataViewLang","BLOCK_SPLITER","ITEM_SPLITER","groupSeries","seriesGroupByCategoryAxis","otherSeries","meta","other","assembleSeriesWithCategoryAxis","tables","valueAxisDim","assembleOtherSeries","vals","getContentFromModel","isTSVFormat","itemSplitRegex","parseTSVContents","tsv","tsvLines","parseListContents","hasName","parseContents","blockMetaList","blocks","blockMeta","axisKey","tryMergeDataOption","readOnly","optionToContent","contentToOption","textareaColor","textareaBorderColor","buttonColor","buttonTextColor","viewMain","htmlOrDom","buttonContainer","buttonStyle","closeButton","refreshButton","selectionStart","selectionEnd","newSeriesOptList","needDrawText","renderText","getStroke","actionInfos","LN2","mantissaLength","mantissa","exponentLength","eMax","eBias","rt","nBits","polarOptArr","polarNotRadar","polarOpt","polarIndex","radarIndex","foundAxisModel","layoutBox","boxLayoutParams","bbWidth","bbHeight","useHasFeature","ExecutionEnvironment","isEventSupported","eventNameSuffix","canUseDOM","isSupported","implementation","hasFeature","BrushController","history","dataZoomLang","DATA_ZOOM_ID_BASE","DataZoom","_brushController","_onBrush","mount","_isZoomActive","featureModel","updateZoomBtnStatus","updateBackBtnStatus","handlers","unmount","nextActive","dataZoomSelectActive","retrieveAxisSetting","setIconStatus","zoomActive","include","setPanels","makePanelOpts","xAxisDeclared","yAxisDeclared","enableBrush","brushStyle","updateCovers","matchOutputRanges","coordRange","setBatch","findDataZoom","found","dzModel","dataZoomOpts","dataZoomOpt","addForAxis","axisIndicesName","givenAxisIndices","forEachComponent","$fromToolbox","activeXDocument","documentCreateElement","GT","LT","SCRIPT","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","parentWindow","NullProtoObjectViaIFrame","JS","NullProtoObject","SHADOW_PROPS","$find","FIND","SKIPS_HOLES","coordSysLists","coordIndex","createIteratorConstructor","IteratorsCore","BUGGY_SAFARI_ITERATORS","ENTRIES","Iterable","IteratorConstructor","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","LinePath","SYMBOL_CATEGORIES","makeSymbolTypeKey","symbolCategory","setLinePoints","updateSymbolAndLabelBeforeLineUpdate","lineGroup","symbolFrom","symbolTo","pointAt","toPos","tangent","tangentAt","__position","halfPercent","__verticalAlign","__textAlign","_createLine","lineProto","beforeUpdate","lineLabelOriginalOpacity","visualOpacity","defaultLabelColor","rawVal","normalText","emphasisText","linePath","globalDefault","OPTION_INNER_KEY","_optionManager","baseOption","mountOption","initBase","timelineOption","getTimelineOption","mediaOptions","getMediaOption","mediaOption","componentsMap","newCptTypes","visitComponent","newCptOptionList","mapResult","mappingToExists","makeIdAndName","keyInfo","determineSubType","getComponentsByTypes","resultItem","ComponentModelClass","createSeriesIndices","componentOption","topologicalTravel","_seriesIndicesMap","_seriesIndices","isIdInner","cpts","isIdArray","cpt","isNameArray","filterBySubType","queryCond","getQueryCond","doFilter","indexAttr","idAttr","nameAttr","queryResult","oneSeries","getSeriesCount","assertSeriesInitialized","rawSeriesIndex","getCurrentSeriesIndices","filterSeries","filteredSeries","componentTypes","isNotTargetSeries","seiresIndex","mergeTheme","notMergeColorLayer","colorLayer","themeItem","existComponent","graphicUtil","graphicOption","elements","GraphicModel","_elOptionsToUpdate","existList","flattenedList","_flatten","mappingResult","elOptionsToUpdate","newElOption","setKeyInfoToNewElOption","mergeNewElOptionToExist","setLayoutInfoToExist","$action","optionList","parentOption","useElOptionsToUpdate","els","createEl","targetElParent","graphicType","__ecGraphicId","removeEl","existEl","existElParent","getCleanedElOption","LOCATION_PARAMS","isSetLoc","isSet","existElOption","newElParentOption","newElOptCopy","copyLayoutParams","existItem","hv","setEventData","graphicModel","_elMap","_lastGraphicModel","_updateElements","_relocate","rootGroup","elOptionStyle","elOptionCleaned","__ecGraphicWidth","__ecGraphicHeight","elOptions","parentEl","boundingMode","bounding","straightLineProto","bezierCurveProto","isLine","defaultSymbolType","hasCallback","itemSymbolType","itemSymbolSize","itemSymbolKeepAspect","126","defaultKeyGetter","oldKeyGetter","newKeyGetter","_old","_new","_oldKeyGetter","_newKeyGetter","initIndexMap","keyArr","keyGetterName","existence","_add","_remove","oldDataIndexMap","newDataIndexMap","oldDataKeyArr","newDataKeyArr","arrayEquals","looseEqual","capitalize","kebabCase","autoprefixer","isEdge","coerceTruthyValueToArray","arrayFind","arrayFindIndex","escapeRegexpString","generateId","getValueByPath","getPropByPath","rafThrottle","objToArray","_types","_from","strict","tempObj","hyphenateRE","isObjectA","isObjectB","arrayA","arrayB","locked","groupData","nodeWidth","nodeGap","computeNodeValues","filteredNodes","iterations","layoutSankey","computeNodeBreadths","computeNodeDepths","computeEdgeDepths","getEdgeValue","remainEdges","indegreeArr","zeroIndegrees","nextNode","kx","oidx","indexEdge","nodeIndex","moveSinksRight","scaleNodeBreadths","nodeY","nodesByBreadth","prepareNodesByBreadth","initializeNodeDepth","resolveCollisions","relaxRightToLeft","relaxLeftToRight","keyAttr","groupResult","buckets","kyArray","ky0","nodeDy","edgeDy","weightedTarget","weightedSource","endPos","PLAIN_TEXT","WILL_BE_RESTORED","$includes","markerRich","startId","endId","updateMarkerLayout","markPointModel","mpModel","symbolDrawMap","symbolDraw","sizeCalculable","CalendarModel","cellSize","dayLabel","monthLabel","mergeAndNormalizeLayoutParams","hvIdx","propertyKey","echartsAPIList","chartInstance","parallelAxisModel","setActiveIntervals","intervals","87","Parallel","_axisTickLabelBuilder","createAxisTicks","createAxisLabels","calculateCategoryInterval","NORMALIZED_EXTENT","fixExtentWithBands","nTick","fixOnBandTicksCoords","tickCategoryInterval","ticksLen","ticksItem","tickModel","getTickModel","getRotate","LegendModel","_updateData","hasSelected","potentialData","availableNames","isPotential","_availableNames","borderRadius","normalizeRadian","sysDims","dimsDef","encodeDef","dataDimNameMap","coordDimNameMap","dimCount","getDimCount","dimDefItem","userDimName","validDataDims","resultDimIdx","applyDim","availDimIdx","sysDimItem","sysDimIndex","sysDimItemDimsDef","sysDimItemOtherDims","sysDimItemDimsDefItem","generateCoordCount","fromZero","genName","optDimCount","pointsConverter","svgURI","createElementNS","x_","createGraphFromNodeEdge","GraphSeries","_categoriesData","_updateCategoriesData","categoriesModels","_categoriesModels","categoryIdx","categoryModel","edgeLabelModel","fakeSeriesModel","emphasisEdgeLabelModel","emphasisFakeSeriesModel","edgeGetParent","getEdgeData","sourceName","targetName","circular","rotateLabel","layoutAnimation","edgeSymbol","edgeSymbolSize","edgeLabel","polyHelper","stackResultDim","ORIGIN_METHOD","RATE","THROTTLE_TYPE","currCall","debounceNextCall","lastCall","thisDelay","thisDebounce","debounceDelay","fnAttr","originFn","lastThrottleType","lastRate","markerModelKey","subTypeDefaulters","defaulter","componentTypeMain","dependencyGetter","makeDepndencyGraph","fullNameList","noEntryList","createDependencyGraphItem","originalDeps","availableDeps","getAvailableDependencies","entryCount","dependentName","predecessor","thatItem","successor","dep","targetNameList","targetNameSet","currComponentType","currVertex","isInTargetNameSet","removeEdgeAndAdd","removeEdge","succComponentType","functionToString","platform","gradientColor","animationEasingUpdate","shadowTemp","orignalBrush","modified","clipPaths","roundNumber","_intervalPrecision","thisExtent","getIntervalPrecision","intervalScaleGetTicks","intervalScaleNiceTicks","intervalPrecision","niceTickExtent","expandSize","checkCorrectnessOfIteration","px","fetch","fetchers","130","roundingErrorFix","mathLog","LogScale","_originalScale","originalScale","powVal","__fixMin","fixRoundingError","__fixMax","originalVal","isError","routerView","$route","_routerViewCache","_routerRoot","_inactive","routerViewDepth","registerRouteInstance","prepatch","propsToPass","resolveProps","encodeReserveRE","encodeReserveReplacer","commaRE","decode","decodeURIComponent","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","stringifyQuery","trailingSlashRE","createRoute","redirectedFrom","stringifyQuery$$1","fullPath","getFullPath","formatMatch","START","_stringifyQuery","isSameRoute","isObjectEqual","aKeys","bKeys","aVal","bVal","isIncludedRoute","queryIncludes","_Vue","toTypes","eventTypes","exact","exactActiveClass","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","guardEvent","findAnchor","isStatic","aData","aAttrs","metaKey","altKey","shiftKey","defaultPrevented","installed","isDef","registerInstance","callVal","_parentVnode","_router","defineReactive","_route","strats","optionMergeStrategies","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","inBrowser","resolvePath","relative","firstChar","segments","hashIndex","queryIndex","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","compile","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","escaped","asterisk","partial","repeat","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","encodeAsterisk","pretty","token","attachKeys","sensitive","regexpToRegexp","arrayToRegexp","stringToRegexp","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","pathMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","redirect","childMatchAs","alias","aliasRoute","normalizeLocation","_normalized","rawPath","parsedPath","createMatcher","addRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","resolvedPath","aliasedPath","aliasedMatch","aliasedRecord","positionStore","setupScroll","replaceState","getStateKey","saveScrollPosition","setStateKey","isPop","app","behavior","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","catch","pageXOffset","pageYOffset","getElementPosition","docEl","docRect","isValidPosition","isNumber","normalizePosition","normalizeOffset","scrollTo","supportsPushState","Time","performance","genKey","pushState","runQueue","resolveAsyncComponents","hasAsync","flatMapComponents","cid","resolvedDef","isESModule","resolved","comp","flatten","hasSymbol","History","normalizeBase","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","extractGuards","guards","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","cbs","isValid","bindEnterGuard","poll","listen","onReady","errorCb","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","beforeHooks","postEnterCbs","enterGuards","resolveHooks","afterHooks","HTML5History","History$$1","expectScroll","initLocation","getLocation","__proto__","go","fromRoute","getCurrentLocation","HashHistory","fallback","checkFallback","ensureSlash","setupListeners","supportsScroll","replaceHash","pushHash","getUrl","AbstractHistory","targetIndex","VueRouter","apps","prototypeAccessors","registerHook","createHref","setupHashListener","beforeEach","beforeResolve","afterEach","forward","getMatchedComponents","normalizedTo","dataColor","radarLayout","_needCollect","needCollect","_deduplication","_map","createByAxisModel","dedplication","getOrCreateMap","colorUtil","markAreaTransform","maModel","rb","ltCoord","rbCoord","markAreaFilter","getSingleMarkerEndPoint","dimPermutations","areaData","markAreaModel","areaGroupMap","polygonGroup","__data","_ie","_firefox","_opera","_webkit","_chrome","_ie_real_version","_osx","_windows","_linux","_android","_win64","_iphone","_ipad","_native","_mobile","_populated","_populate","uas","trident","ver","UserAgent_DEPRECATED","ieCompatibilityMode","ie64","opera","safari","chrome","windows","osx","linux","iphone","mobile","nativeApp","android","ipad","ToolboxModel","featureName","Feature","showTitle","iconStyle","containLabel","_zrender","ITEM_STYLE_NORMAL","seriesItemStyleModel","levelItemStyles","travelTree","designatedVisual","viewRootAncestors","nodeModel","nodeLayout","isInView","thisNodeColor","nodeItemStyleModel","levelItemStyle","visuals","buildVisuals","borderColorSaturation","calculateColor","calculateBorderColor","buildVisualMapping","childVisual","visualName","getValueVisualDefine","rangeVisual","getRangeVisual","visualMin","visualMax","colorMappingBy","__drColorMappingBy","childVisuals","mappingType","mapIdToIndex","hasXOrY","hasXAndY","markerTypeCalculatorWithExtent","otherDataDim","targetDataDim","otherCoordIndex","targetCoordIndex","coordArr","calcDataDim","markerTypeCalculator","average","baseDataDim","dataDimToCoordDim","regexpFlags","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","BROKEN_CARET","NPCG_INCLUDED","PATCH","reCopy","charsAdded","strCopy","multiline","RadiusAxis","radiusToData","_treeHelper","_viewRoot","clipWindow","squareRatio","leafDepth","drillDownIcon","zoomToNodeRatio","emptyItemWidth","upperLabel","gapWidth","visualDimension","visibleMin","childrenVisibleMin","completeTreeValue","setDefault","setLayoutInfo","idIndexMap","_idIndexMap","_idIndexMapCount","childValue","thisValue","globalColorList","hasColorDefine","modelColor","level0","nestRE","mergeFn","objs","bb","nestedKey","mapLocation","safeLimit","largeLayout","detection","POLYFILL","NATIVE","unitAngle","x12","y12","runtime","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","genFun","awrap","skipTempReset","rootEntry","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","adjustEdge","FOCUS_ADJACENCY","UNFOCUS_ADJACENCY","opct","_lineDraw","_firstRender","groupNewProp","_layoutTimeout","_startForceLayoutIteration","warmUp","_layouting","setFixed","setUnfixed","circularRotateLabel","adjacentEdge","lb","maxX","maxY","ax0","ax1","ay0","ay1","bx0","bx1","by0","by1","getIterator","nativeFetch","NativeRequest","RequestPrototype","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","percentDecode","sequence","deserialize","parseSearchParams","validateArgumentsLength","passed","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","URLSearchParamsPrototype","getAll","entriesIndex","sliceIndex","boundFunction","wrapRequestOptions","RequestConstructor","Request","msRequestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","seiresModelMap","__paletteScope","dataAll","filteredIdx","singleDataColor","maskColor","animateShape","arraySpeciesCreate","IS_CONCAT_SPREADABLE","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","$copyWithin","v2Min","v2Max","v2Scale","v2Add","v2Clone","v2Sub","constraint","prevPoint","nextPoint","cps","d0","cp0","retrieveValue","PATH_BORDER_WIDTH","PATH_GAP_WIDTH","PATH_UPPER_LABEL_SHOW","PATH_UPPER_LABEL_HEIGHT","ecWidth","ecHeight","rootRect","viewAbovePath","rootSize","estimateRootSize","viewRootLayout","squarify","upperHeight","calculateRootPosition","prunning","hideChildren","thisLayout","halfGapWidth","upperLabelHeight","getUpperLabelHeight","layoutOffset","layoutOffsetUpper","totalArea","rowFixedLength","best","score","worst","orderBy","overLeafDepth","statistic","filterByThreshold","isLeafRoot","orderedChildren","deletePoint","areaMax","areaMin","squareArea","idx0WhenH","idx1WhenH","rowOtherLength","rowLen","wh1","remain","modWH","wh0","defaultSize","viewArea","currNodeValue","defaultPosition","targetCenter","clipRect","nodeInViewAbovePath","isAboveViewRoot","childClipRect","outputShape","inputShape","STACK_PREFIX","LARGE_BAR_MIN_WIDTH","getLayoutOnAxis","widthAndOffsets","doCalBarWidthAndOffset","isOnCartesian","isInLargeMode","seriesInfoList","seriesInfo","lastStackCoordsOrigin","isValueAxisH","getValueAxisStart","valueAxisHorizontal","valueDimIdx","valuePair","valueStart","RE_NARGS","AXIS_TYPES","BaseAxisModelClass","axisTypeDefaulter","extraDefaultOption","__ordinalMeta","linkedNodesFinder","effectedModels","prepareDataCoordInfo","valueOrigin","getValueStart","baseAxisDim","baseDataOffset","dataDimsForPoint","stackedOverDimension","getStackedOnPoint","dataCoordInfo","stackedData","ClippathManager","updateDom","clipPathEl","svgProxy","cloneNode","_textDom","RadarSeries","emptyObject","isUndef","isTrue","isFalse","_toString","isPlainObject","isValidArrayIndex","isPromise","toNumber","makeMap","expectsLowerCase","isBuiltInTag","isReservedAttribute","camelizeRE","camelize","hyphenate","polyfillBind","boundFn","nativeBind","toArray","no","genStaticKeys","staticKeys","isArrayA","isArrayB","keysA","keysB","looseIndexOf","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","productionTip","devtools","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","_lifecycleHooks","unicodeRegExp","isReserved","bailRE","_isServer","hasProto","inWeex","WXEnvironment","weexPlatform","UA","isIE9","isIOS","isFF","nativeWatch","supportsPassive","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","_Set","Reflect","Set","Dep","subs","addSub","removeSub","depend","addDep","notify","targetStack","pushTarget","popTarget","VNode","asyncFactory","fnContext","fnOptions","fnScopeId","isRootInsert","isComment","isCloned","asyncMeta","isAsyncPlaceholder","createEmptyVNode","createTextVNode","cloneVNode","cloned","arrayMethods","methodsToPatch","ob","__ob__","observeArray","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","childOb","dependArray","del","mergeData","toVal","fromVal","mergeDataOrFn","parentVal","childVal","instanceData","defaultData","mergeHook","dedupeHooks","hooks","mergeAssets","key$1","defaultStrat","normalizeProps","normalizeInject","normalizeDirectives","dirs","def$$1","_base","extends","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","_props","functionTypeCheckRE","isSameType","expectedTypes","errorCaptured","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","isUsingMicroTask","callbacks","flushCallbacks","copies","textNode","_resolve","seenObjects","_traverse","seen","isA","isFrozen","depId","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","old","mergeVNodeHook","hookKey","oldHook","wrappedHook","extractPropsFromVNodeData","checkProp","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","renderList","renderSlot","fallbackRender","bindObject","scopedSlotFn","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","camelizedKey","hyphenatedKey","renderStatic","isInFor","_staticTrees","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","installRenderHelpers","_o","_n","_m","_f","_u","_d","_p","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","injections","scopedSlots","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","componentVNodeHooks","hydrating","_isDestroyed","keepAlive","mountedNode","createComponentInstanceForVnode","activeInstance","oldVnode","updateChildComponent","insert","_isMounted","callHook","queueActivatedComponent","activateChildComponent","deactivateChildComponent","hooksToMerge","createComponent","baseCtor","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","abstract","installComponentHooks","_isComponent","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","pre","applyNS","registerDeepBindings","initRender","_vnode","parentVnode","_renderChildren","_parentListeners","currentRenderingInstance","renderMixin","_render","ensureCtor","errorComp","owners","loadingComp","sync","timerLoading","timerTimeout","renderCompleted","getFirstComponentChild","initEvents","_hasHookEvent","updateComponentListeners","remove$1","onceHandler","oldListeners","eventsMixin","hookRE","$once","i$1","setActiveInstance","prevActiveInstance","initLifecycle","_watcher","_directInactive","_isBeingDestroyed","lifecycleMixin","prevVnode","restoreActiveInstance","__patch__","teardown","_watchers","mountComponent","updateComponent","Watcher","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","propKeys","_propKeys","isInInactiveTree","direct","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","flushSchedulerQueue","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueWatcher","uid$2","expOrFn","isRenderWatcher","user","newDeps","depIds","newDepIds","cleanupDeps","evaluate","sharedPropertyDefinition","sourceKey","initMethods","initComputed","initWatch","propsOptions","isRoot","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","stateMixin","dataDef","propsDef","$delete","uid$3","initMixin","initInternalComponent","vnodeComponentOptions","_componentTag","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","latest","sealed","sealedOptions","initUse","plugin","installedPlugins","_installedPlugins","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","getComponentName","pruneCache","keepAliveInstance","pruneCacheEntry","patternTypes","KeepAlive","exclude","cacheVNode","vnodeToCache","keyToCache","ref$1","builtInComponents","initGlobalAPI","configDef","observable","acceptValue","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","childNode","mergeClassData","renderClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","math","isHTMLTag","isSVG","isPreTag","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","createElement$1","namespace","createComment","referenceNode","setTextContent","setStyleScope","nodeOps","registerRef","isRemoval","refs","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","emptyNodeAt","createRmCb","childElm","createElm","insertedVnodeQueue","parentElm","refElm","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","activate","ref$$1","addVnodes","startIdx","invokeDestroyHook","removeVnodes","removeAndInvokeRemoveHook","rm","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","_leaveCb","patchable","i$2","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook$1","componentUpdated","callInsert","emptyModifiers","getRawDirName","baseModules","updateAttrs","oldAttrs","setAttr","removeAttributeNS","isInPre","baseSetAttr","__ieph","blocker","updateClass","transitionClass","_transitionClasses","_prevClass","index$1","expressionPos","expressionEndPos","validDivisionCharRE","parseFilters","exp","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","lastFilterIndex","pushFilter","wrapFilter","baseWarn","pluckModuleFunction","addProp","dynamic","rangeSetItem","addAttr","dynamicAttrs","addRawAttr","attrsMap","attrsList","addDirective","isDynamicArg","prependModifierMarker","addHandler","important","nativeEvents","newHandler","getRawBindingAttr","rawAttrsMap","getBindingAttr","getStatic","dynamicValue","getAndRemoveAttr","staticValue","removeFromMap","getAndRemoveAttrByRegex","genComponentModel","baseValueExpression","valueExpression","assignment","genAssignmentCode","parseModel","eof","isStringStart","parseBracket","inBracket","stringQuote","target$1","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","_warn","genSelect","genCheckboxModel","genRadioModel","genDefaultModel","valueBinding","trueValueBinding","falseValueBinding","selectedVal","needCompositionGuard","normalizeEvents","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","updateDOMListeners","svgContainer","updateDOMProps","oldProps","strCur","shouldUpdateValue","checkVal","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","_vModifiers","parseStyleText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","bindingStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","vendorNames","capName","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","whitespaceRE","tar","resolveTransition","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","pendingNode","_pending","isValidDuration","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","_vOptions","onCompositionStart","onCompositionEnd","prevOptions","curOptions","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","kept","prevChildren","rawChildren","transitionData","c$1","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","moved","WebkitTransform","_moveCb","_hasMove","platformComponents","defaultTagRE","regexEscapeRE","buildRegex","delimiters","parseText","tagRE","tokenValue","rawTokens","transformNode","classBinding","genData","klass$1","transformNode$1","styleBinding","genData$1","decoder","style$1","he","isUnaryTag","canBeLeftOpenTag","isNonPhrasingTag","dynamicArgAttribute","ncname","qnameCapture","startTagOpen","startTagClose","endTag","doctype","comment","conditionalComment","isPlainTextElement","reCache","decodingMap","encodedAttr","encodedAttrWithNewLines","isIgnoreNewlineTag","shouldIgnoreFirstNewline","decodeAttr","shouldDecodeNewlines","parseHTML","expectHTML","isUnaryTag$$1","canBeLeftOpenTag$$1","endTagLength","stackedTag","reStackedTag","rest$1","chars","parseEndTag","textEnd","commentEnd","shouldKeepComment","advance","conditionalEnd","doctypeMatch","endTagMatch","curIndex","startTagMatch","parseStartTag","handleStartTag","unarySlash","unary","shouldDecodeNewlinesForHref","lowerCasedTag","lowerCasedTagName","warn$2","transforms","preTransforms","postTransforms","platformIsPreTag","platformMustUseProp","platformGetTagNamespace","onRE","dirRE","forAliasRE","forIteratorRE","stripParensRE","dynamicArgRE","argRE","bindRE","modifierRE","slotRE","lineBreakRE","whitespaceRE$1","decodeHTMLCached","emptySlotScopeToken","createASTElement","makeAttrsMap","currentParent","preserveWhitespace","whitespaceOption","inPre","closeElement","trimEndingWhitespace","processed","processElement","if","elseif","else","addIfCondition","forbidden","processIfConditions","slotScope","slotTarget","lastNode","comments","outputSourceRange","start$1","guardIESVGBug","isForbiddenTag","processPre","processRawAttrs","processFor","processIf","processOnce","end$1","isTextTag","processKey","processRef","processSlotContent","processSlotOutlet","processComponent","processAttrs","checkInFor","parseFor","inMatch","iteratorMatch","iterator1","iterator2","findPrevElement","ifConditions","slotTargetDynamic","slotBinding","getSlotName","slotBinding$1","dynamic$1","slotContainer","slotName","syncGen","isDynamic","hasBindings","parseModifiers","camel","argMatch","ieNSBug","ieNSPrefix","preTransformNode","typeBinding","ifCondition","ifConditionExtra","hasElse","elseIfCondition","branch0","cloneASTElement","branch1","branch2","model$1","modules$1","isStaticKey","isPlatformReservedTag","directives$1","baseOptions","genStaticKeysCached","genStaticKeys$1","optimize","markStatic$1","markStaticRoots","static","l$1","staticInFor","staticRoot","isDirectChildOfTemplateFor","fnExpRE","fnInvokeRE","simplePathRE","keyNames","genGuard","modifierCode","prevent","ctrl","genHandlers","staticHandlers","dynamicHandlers","handlerCode","genHandler","isMethodPath","isFunctionExpression","isFunctionInvocation","genModifierCode","keyModifier","genKeyFilter","genFilterCode","keyVal","keyName","wrapListeners","bind$1","baseDirectives","cloak","CodegenState","dataGenFns","maybeComponent","onceId","generate","ast","genElement","staticProcessed","genStatic","onceProcessed","genOnce","forProcessed","genFor","ifProcessed","genIf","genSlot","genComponent","genData$2","genChildren","originalPreState","altGen","altEmpty","genIfConditions","conditions","genTernaryExp","altHelper","genDirectives","genProps","genScopedSlots","genInlineTemplate","needRuntime","hasRuntime","inlineRenderFns","containsSlotChild","needsKey","generatedSlots","genScopedSlot","isLegacySyntax","reverseProxy","checkSkip","altGenElement","altGenNode","el$1","normalizationType$1","getNormalizationType","genNode","needsNormalization","genComment","genText","transformSpecialNewlines","bind$$1","dynamicProps","createFunction","createCompileToFunctionFn","compiled","fnGenErrors","createCompilerCreator","baseCompile","finalOptions","tips","compileToFunctions","createCompiler","getShouldDecode","idToTemplate","getOuterHTML","outerHTML","Triangle","Diamond","Pin","tanX","tanY","cpLen","cpLen2","Arrow","symbolCtors","roundRect","diamond","pin","triangle","symbolShapeMakers","symbolBuildProxies","inBundle","proxySymbol","symbolPathSetColor","innerColor","symbolStyle","symbolShape","__isEmptyBrush","nativeJoin","ES3_STRINGS","formatRegExp","isNativeStringType","asyncParallelArray","arrLength","asyncSerialArray","flattenObjArr","objArr","asyncMap","flattenArr","objArrKeys","objArrLength","complementError","oe","fullField","deepMerge","messages","email","getYear","custom","ruleType","spRegexp","ENUM","mismatch","_pattern","floatFn","dateObject","boolean","newMessages","invalid","Schema","_messages","source_","oc","getValidationMethod","errorFields","doIt","defaultField","addFullfield","schema","fieldsSchema","fieldSchema","errs","messageIndex","lineContain","quadraticContain","LargeLineShape","findDataIndex","LargeLineDraw","largeLineProto","lineEl","_setCommon","isIncremental","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","isInWorker","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","deleteCount","insertCount","actualDeleteCount","actualStart","funnelLayout","NATIVE_SYMBOL","nativeObjectCreate","getOwnPropertyNamesExternal","defineWellKnownSymbol","SYMBOL","$stringify","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","USE_SETTER","setSymbolDescriptor","ObjectPrototypeDescriptor","V","IS_OBJECT_PROTOTYPE","FORCED_JSON_STRINGIFY","take","resourceKey","userKey","getStore","release","uKey","INCORRECT_ITERATION","HIGH_DOWN_PROP","RECORD_VERSION_PROP","mapModel","_renderSymbols","originalDataIndex","fullData","mainSeries","fullIndex","highDownRecord","recordVersion","onRegionHighDown","enterRegionHighDown","toHighOrDown","__mapOriginalZ2","roundRectHelper","VALID_TEXT_ALIGN","VALID_TEXT_VERTICAL_ALIGN","SHADOW_STYLE_COMMON_PROPS","normalizeStyle","makeFont","renderRichText","renderPlainText","needDrawBg","needDrawBackground","checkCache","cachedByMe","styleFont","computedFont","__computedFont","__styleFont","contentBlock","__textCotentBlock","parsePlainText","outerHeight","boxPos","getBoxPosition","baseX","baseY","applyTextRotation","boxY","adjustTextY","outerWidth","boxX","adjustTextX","drawBackground","getTextXForPadding","propItem","styleProp","ctxProp","textStrokeWidthPrev","strokeWidthChanged","strokeChanged","getFill","strokeText","fillText","parseRichText","drawRichText","contentWidth","lineTop","tokenCount","usedWidth","lineXLeft","lineXRight","placeToken","tokenStyle","isLineHolder","setCtx","isPlainBg","originalGlobalAlpha","onBgImageLoaded","blockHeiht","isDefined","isHtmlElement","ELEMENT_NODE","PointerPath","parsePosition","formatLabel","GaugeView","posInfo","_renderMain","axisLineModel","angleRangeSpan","prevEndAngle","axisLineWidth","_renderTicks","_renderPointer","_renderTitle","_renderDetail","minVal","maxVal","subSplitNumber","splitLineLen","tickLen","subStep","splitLineStyle","tickLineStyle","tickLine","valueExtent","detailModel","NativePromise","speciesConstructor","promiseResolve","NON_GENERIC","real","onFinally","linesLayout","linesVisual","vmlCore","comma","imageTransformPrefix","Z2","ZLEVEL_BASE","Z_BASE","initRootElStyle","coordsize","coordorigin","encodeHtmlAttribute","rgb2Str","getZIndex","setColorAndOpacity","getColorAndAlpha","updateFillNode","zrEl","gradientType","expansion","cs1","cs2","colorAndAlphaList","colorAndAlpha","color1","color2","opacity1","opacity2","focusposition","updateStrokeNode","dashstyle","updateFillAndStroke","vmlEl","isFill","createNode","nPoint","brushVML","vmlRoot","_vmlEl","needTransform","strokeEl","weight","removeRectText","onAdd","appendRectText","ow","oh","_imageSrc","_imageWidth","_imageHeight","imageRuntimeStyle","runtimeStyle","oldRuntimeWidth","oldRuntimeHeight","sw","sh","hasCrop","vmlElStyle","hasRotation","transformFilter","imageEl","_imageEl","cropEl","_cropEl","imageELStyle","tmpImage","cropElStyle","filterStr","textMeasureEl","DEFAULT_STYLE_NORMAL","fontStyleCache","fontStyleCacheCount","MAX_FONT_CACHE_SIZE","fontEl","getFontStyle","fontString","fontVariant","family","fromTextEl","textLine","textPathEl","skewEl","textVmlEl","_textVmlEl","textpathok","textVmlElStyle","polygonContain","getLineSelectors","lineIntersectPolygon","xyIndex","inLineRange","layoutRange","lx","ly","l2x","l2y","lineIntersect","a1x","a1y","a2x","a2y","b1x","b1y","b2x","b2y","determinant","nearZero","namenda","miu","v4","showContent","alwaysShowContent","displayMode","confine","showDelay","hideDelay","extraCssText","crossStyle","$every","AngleAxis","angleToData","ordinalScale","ordinalExtent","unitSpan","unitH","maxH","lastAutoInterval","lastTickCount","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","maxCode","NumberWrapper","percentPrecision","borderType","VISUAL_PRIORITY","resultVisual","visualMeta","concreteDim","error1","error2","opacityMap","itemOpacity","LargeSymbolDraw","_updateSymbolDraw","_finished","someVectorAt","isTangent","ignoreCase","mergeSort","insertionSort","llength","rlength","lindex","rindex","_defineProperty","DATA_NAME_INDEX","ThemeRiverSeries","fixData","rawDataLength","layData","largestLayer","keyIndex","lenCount","indexArr","index1","index2","nestestValue","nearestIdx","theValue","htmlName","htmlValue","_updateLineDraw","isSvg","getLayer","_lastZlevel","_showEffect","_clearLayer","hasEffect","_hasEffet","_isPolyline","ox","oy","DEFAULT_TOOLBOX_BTNS","isNew","brushComponents","brushComponentSpecifiedBtns","brushOpt","tbs","toolboxFeature","toolboxBrush","brushTypes","removeDuplicate","flag","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","shapeCompareFunc","_roots","_displayList","_displayListLen","includeIgnore","updateDisplayList","displayList","_updateAndAddDisplayable","afterUpdate","userSetClipPath","currentClipPath","parentClipPath","_children","__storage","addChildrenToStorage","delChildrenFromStorage","_renderList","displayableSortFunc","brushHelper","elementList","fromAxisAreaSelect","oldAxisGroup","_axisGroup","coordSysModel","areaSelectStyle","getAreaSelectStyle","areaWidth","axisLayout","getAxisLayout","builderOpt","strokeContainThreshold","_refreshBrushController","extentLen","enableGlobalPan","panelId","makeRectPanelClipPath","isTargetByCursor","makeRectIsTargetByCursor","getLinearBrushOtherExtent","makeLinearBrushOtherExtent","removeOnClick","getCoverInfoList","coverInfoList","coverInfo","parallelAxisId","activeIntervals","TO_STRING_TAG_SUPPORT","FunctionPrototype","FunctionPrototypeToString","nameRE","clazzUtil","componentProto","zrLog","GradientManager","addWithoutUpdate","svgElement","splitList","SHARED","animationUtil","DRAG_THRESHOLD","PATH_LABEL_NOAMAL","PATH_LABEL_EMPHASIS","PATH_UPPERLABEL_NORMAL","PATH_UPPERLABEL_EMPHASIS","Z_BG","Z_CONTENT","getItemStyleEmphasis","getItemStyleNormal","createStorage","_breadcrumb","_state","thisStorage","reRoot","rootNodeGroup","nodeGroup","_giveContainerGroup","renderResult","_doRender","renderFinally","_doAnimation","_resetController","_renderBreadcrumb","thisTree","oldTree","lastsForAnimation","oldStorage","willInvisibleEls","renderNode","willDeleteEls","clearStorage","thisViewChildren","oldViewChildren","sameTree","thisNode","storageName","delEls","__tmWillDelete","animationWrap","createWrap","__tmNodeWidth","__tmNodeHeight","targetX","targetY","fadein","_onPan","_onZoom","_clearController","mouseX","mouseY","findTarget","_zoomToNode","onSelect","bgEl","thisWidth","thisHeight","thisInvisible","thisRawIndex","oldRawIndex","isParent","itemStyleNormalModel","itemStyleEmphasisModel","giveGraphic","bg","useUpperLabel","visualBorderColor","emphasisBorderColor","upperLabelWidth","prepareText","__tmWillVisible","upperLabelRect","iconChar","emphasisLabelModel","minChar","lasts","prepareAnimationWhenHasOld","calculateZ","__tmDepth","__tmStorageName","prepareAnimationWhenNoOld","lastCfg","parentOldX","parentOldY","parentOldBg","zInLevel","zb","$toLocaleString","toLocaleString","TO_LOCALE_STRING_BUG","getAxisLineShape","rExtent","getRadiusIdx","fixAngleOverlap","firstItem","ticksAngles","_axisLine","_axisTick","tickAngleItem","_axisLabel","rawCategoryData","commonLabelModel","labelTextAlign","labelTextVerticalAlign","prevAngle","toggle","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","USE_SYMBOL_AS_UID","createWellKnownSymbol","withoutSetter","nativeKeys","ecHelper","parseGeoJSON","_List","_Model","_Axis","_env","ecUtil","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","specificCreate","filterReject","ariaModel","seriesCnt","ariaLabel","maxDataCnt","maxSeriesCnt","displaySeriesCnt","getTitle","getConfig","seriesLabels","seriesCount","seriesLabel","seriesTpl","getSeriesTypeName","displayCnt","dataLabels","keyValues","userConfig","setAreas","adjustSingleSide","shiftDown","shiftUp","changeX","isDownList","lastDeltaX","deltaY","deltaX","lastY","upList","downList","avoidOverlap","labelLayoutList","leftList","rightList","isPositionCenter","hasLabelRotate","labelLineLen2","ShadowManager","hasShadow","_shadowDom","_shadowDomId","domChild","stdDx","stdDy","stdDeviation","singleAxisHelper","selfBuilderAttr","SingleAxisView","Animatable","animators","animatable","animateToShallow","objShallow","propertyCount","setAttrByPath","animatingShape","pathSplitted","animateFrom","_whiskerBoxCommon","seriesModelMixin","CandlestickSeries","defaultValueDimensions","color0","borderColor0","animationUpdate","COORD_CONVERTS","INCLUDE_FINDER_MAIN_TYPES","targetInfoList","_targetInfoList","foundCpts","targetInfoBuilders","builder","formatMinMax","includeMainTypes","setOutputRanges","coordRanges","coordConvert","__rangeOffset","diffProcessor","xyMinMax","findTargetInfo","coordSyses","rangeOffset","getScales","getDefaultBrushType","getPanelRect","defaultBrushType","areaPanelId","targetInfoMatchers","xAxisModels","yAxisModels","gridModels","gridModelMap","xAxesHas","yAxesHas","cartesians","panelRectBuilder","geoModels","axisConvert","rangeOrCoordRange","xminymin","xmaxymax","axisNameIndex","axisDiffProcessor","refer","scales","xyMinMaxCurr","xyMinMaxOrigin","sizeCurr","sizeOrigin","json","UTF8Encoding","encodeScale","UTF8Scale","coordinates","encodeOffsets","coordinate","decodePolygon","c2","prevX","prevY","featureObj","setNodePosition","pieLayout","ordinaryToPrimitive","exoticToPrim","fromSpeciesAndList","90","updateController","modelId","$from","IRRELEVANT_EXCLUDES","targetCoordSysModel","topTarget","colorAll","speed","afterLeaveCallback","FIND_INDEX","labelDims","_subPixelOptimize","subPixelOptimizeOutputShape","EFFECT_RIPPLE_NUMBER","updateRipplePath","rippleGroup","effectCfg","ripplePath","effectSymbolProto","stopEffectAnimation","startEffectAnimation","effectOffset","rippleScale","updateEffectAnimation","oldEffectCfg","_effectCfg","DIFFICULT_PROPS","_parseSVG","originRoot","buildGraphic","rootMap","originRootHostKey","svgXML","svgWidth","svgHeight","BOOST_SIZE_THRESHOLD","LargeSymbolPath","symbolProxy","symbolProxyShape","canBoost","largeSymbolProto","endIndex","extrudeShadow","_traversalHelper","sep","commonLayout","coorX","coorY","finalCoor","$reduce","QUERY_REG","_timelineOptions","_mediaList","_mediaDefault","_currentMediaIndices","_optionBackup","_newBaseOption","parseRawOption","mediaDefault","timelineOptions","mediaList","media","singleMedia","preProcess","applyMediaQuery","realMap","aspectratio","applicatable","operator","realAttr","indicesEquals","indices1","indices2","oldOption","newCptOpt","oldCptOpt","oldOptionBackup","newParsedOption","isRecreate","optionBackup","Draggable","_dragStart","_drag","_dragEnd","draggingTarget","_draggingTarget","dispatchToElement","dropTarget","lastDropTarget","_dropTarget","rootDepth","renderRollupNode","rPerLevel","rStart","rEnd","siblingAngle","isAsc","axisTrigger","collect","realIndex","paramsSet","reals","fakeValue","layoutInput","rParam","pathContain","pathProxyForDraw","hasFillGradient","hasStrokeGradient","hasFillPattern","hasStrokePattern","_fillGradient","_strokeGradient","ctxLineDash","shapeCfg","needsUpdateRect","rectWithStroke","_rectWithStroke","lineScale","dirtyPath","__clipTarget","defaultShape","thisShape","Cartesian","getAxesByScale","axisX","axisY","xScale","yScale","xAxisExtent","yAxisExtent","EXISTS","USE_SYMBOL","$exports","_dimName","_axisIndex","_valueWindow","_percentWindow","_dataExtent","_minMaxSpan","_dataZoomModel","calculateDataExtent","seriesExtent","fixExtentByAxis","isCategoryAxis","setAxisModel","isRestore","percentWindow","useOrigin","setMinMaxSpan","valueSpan","getOtherAxisModel","coordSysIndexName","foundOtherAxisModel","isCartesian","otherAxisModel","boundValue","boundPercent","dataWindow","leftOut","rightOut","thisHasValue","thisLeftOut","thisRightOut","isInWindow","originalLarge","originalProgressive","axesInfo","seriesInvolved","coordSysMap","collectAxesInfo","collectSeriesInfo","globalAxisPointerModel","linksOption","linkGroups","coordSysKey","makeKey","axesInfoInCoordSys","baseTooltipModel","saveTooltipAxisInfo","triggerAxis","cross","tooltipAxes","fromTooltip","axisPointerShow","isHandleTrigger","makeAxisPointerModel","involveSeries","groupIndex","getLinkGroupIndex","linkGroup","tooltipAxisPointerModel","volatileOption","labelOption","tooltipAxisPointerLabelShow","seriesTooltipTrigger","seriesTooltipShow","seriesDataCount","linkOption","checkPropInLink","linkPropValue","axisPropValue","GRADIENT_LEVELS","Heatmap","_gradientPixels","colorFunc","_getBrush","gradientInRange","_getGradient","gradientOutOfRange","imageData","getImageData","pixels","pixelLen","diffOpacity","gradientOffset","putImageData","brushCanvas","_brushCanvas","gradientPixels","pixelsSingleState","Uint8ClampedArray","TOUCH_CLICK_DELAY","mouseHandlerNames","touchHandlerNames","pointerEventNames","pointerdown","pointerup","pointermove","pointerout","pointerHandlerNames","nm","eventNameFix","setTouchTimer","_touching","_touchTimer","domHandlers","mouseout","toElement","_lastTouchMoment","processGesture","touchmove","touchend","isPointerFromTouch","pointerType","initDomHandler","makeMouseHandler","_handlers","HandlerDomProxy","mountHandlers","handlerNames","handlerDomProxyProto","setCursor","newPromiseCapability","promiseCapability","processedMapType","mapSymbolOffsets","subMapSeries","dimAxisMapper","_axes","_dimList","_dataCoordConvert","dimList","_broadcast","SankeySeries","localPosition","rawDataOpt","layoutIterations","variable","makeAction","PROXIMATE_ONE_DAY","calendarModel","_rangeInfo","_sw","_sh","getFirstDayOfWeek","_firstDayOfWeek","getDateInfo","getNextNDay","_lineWidth","_getRangeInfo","_initRangeOption","whNames","cellNumbers","cellSizeSpecified","whGlobal","calendarRect","dayInfo","nthWeek","pointToDate","tl","br","bl","nthX","nthY","_getDateByWeeksAndDay","reversed","startDateNum","endDateNum","fweek","lweek","nthDay","calendarList","calendarSeries","stackInfoMap","stackInfoList","stackInfo","stackResultDimension","stackedDimension","stackedByDimension","isStackedByIndex","calculateStack","targetStackInfo","idxInStack","resultVal","resultNaN","byValue","stackedDataRawIndex","stackedOver","NASHORN_BUG","1","legendFilter","aPossiblePrototype","CORRECT_SETTER","SILENT","makeEventPacket","eveType","stopEvent","EmptyProxy","painterRoot","_hovered","_gestureMgr","setHandlerProxy","isHover","lastHovered","lastHoveredTarget","hovered","hoveredTarget","innerDom","eventArgs","eventPacket","eachOtherLayer","layer","hoverCheckResult","gestureMgr","_downEl","_downPoint","_upEl","isKorean","reg","magicTypeLang","MagicType","getIcons","availableIcons","icons","seriesOptGenreator","radioTypes","generateNewSeriesTypes","newSeriesOpt","currentType","doCreateNode","urn","win","vmlInited","namespaces","zrvml","initVML","styleSheets","createStyleSheet","addRule","PIXEL_STEP","LINE_HEIGHT","PAGE_HEIGHT","normalizeWheel","sX","sY","pX","pY","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaMode","spinX","getEventType","AxisPointerView","Pebble","_updatePathDirty","vec2Min","vec2Max","v2Copy","isPointNull","drawSegment","segLen","allLen","smoothMin","smoothMax","drawMono","drawNonMono","prevIdx","prevP","ctrlLen","nextP","ratioNextSeg","lenPrevSeg","lenNextSeg","getBoundingBox","ptMin","ptMax","stackedOnBBox","LinkedList","linkedListProto","Entry","insertEntry","_list","_maxSize","_lastRemovedEntry","LRUProto","leastUsedEntry","IS_RIGHT","PictorialBarSeries","sunburstLayout","SHAM","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","arg2","forceStringMethod","$exec","fecha","twoDigits","threeDigits","fourDigits","word","literal","regexEscape","shorten","sLen","monthUpdate","arrName","pad","monthNames","monthNamesShort","dayNamesShort","DoFn","formatFlags","dateObj","DD","Do","dd","ddd","dddd","MM","MMM","MMMM","yy","yyyy","hh","HH","mm","ss","getMilliseconds","SS","SSS","ZZ","parseFlags","da","cent","millisecond","isPm","masks","shortDate","mediumDate","longDate","fullDate","shortTime","mediumTime","longTime","i18nSettings","literals","$0","$1","dateStr","dateInfo","parseInfo","newFormat","previousZoom","fixX","fixY","quadratic","swapExtrema","windingCubic","nRoots","y0_","y1_","nExtrema","windingQuadratic","y_","windingArc","containPath","isStroke","validateRangeInOneMonth","extractTimeFormat","extractDateFormat","changeYearMonthAndClampDate","timeWithinRange","limitTimeRange","clearMilliseconds","clearTime","modifyWithTimeString","modifyTime","modifyDate","getRangeMinutes","getMonthDays","getPrevMonthLastDays","getRangeHours","getWeekNumber","getStartDateOfMonth","nextDate","prevDate","getFirstDayOfMonth","getDayCountOfYear","getDayCountOfMonth","formatDate","isDateObject","isDate","getI18nSettings","_date2","isLeapYear","week1","disabledHours","setRangeData","startHour","startMinute","endHour","endMinute","normalizeDate","ndate","nranges","nrange","limitedDate","_axesLayout","restrict","layoutAxisWithoutExpand","layoutLength","axisCount","axisNameAvailableWidth","axisLabelShow","layoutAxisWithExpand","nameTruncateMaxWidth","axisCollapseWidth","winInnerIndices","axisExpandWindow0Pos","axisExpandWindow","_updateAxesFromSeries","_makeLayoutInfo","axisBase","layoutBase","pixelDimIndex","pAxis","pLayout","_layoutAxes","winSize","layoutExtent","positionTable","rotationTable","axisCoordToPoint","dataDimensions","hasActiveSet","lenj","getActiveState","getSlidedAxisExpandWindow","pointCoord","triggerArea","useJump","PolarAxisModel","polarId","polarAxisDefaultExtendedOption","treemapVisual","treemapLayout","listComponentHelper","toolboxModel","featureOpts","_features","featureNames","_featureNames","processFeature","titleText","__title","needPutOnTop","topOffset","oldName","isUserFeatureName","createIconPaths","iconName","iconPaths","iconStatus","iconStyleModel","iconStyleEmphasisModel","parseInt10","checkParentAvailable","prevSibling","SVGPainter","_opts","gradientManager","clipPathManager","shadowManager","viewport","_viewport","_visibleList","createMethodNotSupport","viewportRoot","_paintList","visibleList","listLen","newVisibleList","prevSvgElement","textSvgElement","_getDefs","_getSize","_width","_height","viewportStyle","whIdx","cwh","plt","prb","createPattern","moveAnimation","propsEqual","lastProp","lastProps","newProps","updateLabelShowHide","labelEl","getHandleTransProps","updateMandatoryProps","_group","_lastGraphicKey","_handle","_lastValue","_lastStatus","_payloadInfo","_axisModel","_axisPointerModel","_moveAnimation","determineAnimation","doUpdateProps","updatePointerEl","updateLabelEl","createPointerEl","createLabelEl","useSnap","pointerEl","handleModel","onmousedown","_onHandleDragMove","_onHandleDragEnd","includeStyles","_moveHandleToValue","_doDispatchAxisPointer","payloadInfo","doClear","buildLabel","xDimIndex","120","BoxplotView","constDim","updateNormalBoxData","BoxPath","TimelineModel","SliderTimelineModel","checkpointStyle","playIcon","stopIcon","nextIcon","prevIcon","ArrayIteratorMethods","ArrayValues","idStart","colorQuery","opacityQuery","restoreLang","Restore","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","prepareCartesian2d","prepareGeo","prepareSingleAxis","preparePolar","prepareCalendar","ITEM_STYLE_NORMAL_PATH","ITEM_STYLE_EMPHASIS_PATH","LABEL_NORMAL","LABEL_EMPHASIS","GROUP_DIFF_PREFIX","prepareCustoms","getPathData","__customPathData","__customImagePath","__customText","__customGraphicType","updateEl","prepareStyleTransition","targetOpacity","styleEmphasis","disableStyleEmphasis","__cusHasEmphStl","oldElStyle","makeRenderItem","customSeries","prepareResult","currDataIndexInside","currItemModel","currLabelNormalModel","currLabelEmphasisModel","currVisualColor","userAPI","barLayout","currentSeriesIndices","userParams","dataInsideLength","wrapEncodeDef","currDirty","updateCache","doCreateOrUpdate","simplyRemove","elOptionType","elOptionShape","hasOwnPathData","mergeChildren","$mergeChildren","byName","diffChildrenByName","diffGroupChildren","processAddUpdate","processRemove","childOption","useTransform","setIncrementalAndHoverLayer","elementName","makeCategoryLabels","makeRealNumberLabels","makeCategoryTicks","makeCategoryLabelsActually","labelCategoryInterval","numericLabelInterval","labelsCache","getListCache","optionLabelInterval","listCacheGet","makeLabelsByCustomizedCategoryInterval","makeAutoCategoryInterval","makeLabelsByNumericCategoryInterval","listCacheSet","ticksCache","optionTickInterval","labelsResult","rawLabel","autoInterval","fetchAutoCategoryIntervalCalculationParams","axisRotate","unitW","maxW","categoryInterval","onlyTick","startTick","showAllLabel","includeMinLabel","includeMaxLabel","tVal","DUMMY_COMPONENT_NAME_PREFIX","subOpts","subOptName","newCptOptions","cptOption","idMap","existCpt","idNum","batchA","batchB","mapA","mapB","mapToArray","sourceBatch","otherMap","otherDataIndices","isData","innerUniqueIndex","hostObj","parsedKey","queryType","queryParam","_setting","_isBlank","CORRECT_PROTOTYPE_GETTER","childCount","_doAdd","addBefore","includeChildren","tmpMat","ARRAY_ITERATOR","extremity","xDim","yDim","setDesc","FREEZE","preventExtensions","setMeta","fastKey","getWeak","onFreeze","NEED","104","30","element_ui_src_utils_dom__WEBPACK_IMPORTED_MODULE_0__","_baseAxisDim","addOrdinal","xAxisType","yAxisType","baseAxisDimIndex","baseAxisType","otherAxisType","newOptionData","newItem","getNearestColorPalette","paletteNum","colorIdx","colorNameMap","scopeFields","defaultColorPalette","layeredColorPalette","colorPalette","NEGATIVE_ZERO","outer","widthNoScroll","widthWithScroll","doneCallback","elExistsMap","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","iterate","microtask","hostReportErrors","newPromiseCapabilityModule","IS_BROWSER","PROMISE","getInternalPromiseState","NativePromisePrototype","PromiseConstructor","PromiseConstructorPrototype","newGenericPromiseCapability","DISPATCH_EVENT","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","REJECTED","HANDLED","UNHANDLED","SUBCLASSING","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","isThenable","isReject","notified","chain","reactions","ok","exited","reaction","rejection","onHandleUnhandled","onUnhandled","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","executor","onFulfilled","onRejected","capability","$promiseResolve","alreadyCalled","race","53","_select_src_option__WEBPACK_IMPORTED_MODULE_0__","fixPosition","textWidthCache","textWidthCacheCounter","TEXT_CACHE_MAX","STYLE_REG","measureText","getRichTextRect","getPlainTextRect","halfHeight","truncateText","prepareTruncateOptions","truncateSingleLine","maxIterations","cnCharWidth","ascCharWidth","ellipsisWidth","subLength","estimateLength","charCode","getLineHeight","truncOuterHeight","truncOuterWidth","matchedIndex","pushTokens","stlPadding","truncateWidth","truncateHeight","tokenHeight","tokenWidth","tokenWidthNotSpecified","percentWidth","bgImg","paddingW","remianTruncWidth","isEmptyStr","strs","tokensLen","renderPlanner","Chart","renderTaskPlan","renderTaskReset","toggleHighlight","chartProto","elSetState","progressMethodMap","forceFirstProgress","$indexOf","_popup","PopperJS","createPopper","appendArrow","resetTransformOrigin","forceDestroy","placementMap","appended","VMLPainter","vmlViewport","_vmlRoot","_vmlViewport","_firstPaint","__alreadyNotVisible","_getWidth","_getHeight","vmlViewportStyle","seriesItem","replacableOptionKeys","dataBound","contentColor","getTargetSeriesIndices","optionSeriesIndex","isMinMax","optDim","listDimensions","isCalculationCoord","completeSingle","defa","completeInactive","stateExist","stateAbsent","optExist","optAbsent","completeController","symbolExists","symbolSizeExists","modelHelper","illegalPoint","isIllegalPoint","inputAxesInfo","shouldHide","outputFinder","showValueMap","updaters","showPointer","coordSysContainsPoint","inputAxisInfo","findInputAxisInfo","processOnAxis","linkTriggers","tarAxisInfo","tarKey","srcAxisInfo","srcKey","srcValItem","makeMapperParam","updateModelActually","dispatchTooltipActually","dispatchHighDownActually","dontSnap","buildPayloadsBySeries","payloadBatch","snapToValue","seriesNestestValue","coordSysItem","coordSysId","coordSysIndex","coordSysMainType","outputAxesInfo","valItem","highDownKey","lastHighlights","newHighlights","toHighlight","toDownplay","Prototype","Int8ArrayPrototype","Uint8ClampedArrayPrototype","isPrototypeOf","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isView","ARRAY","exportTypedArrayStaticMethod","setScrollDataIndex","rawGeoJson","rawSpecialAreas","parsers","groupSeriesByAxis","groupItem","calculateBase","layoutSingleSeries","boxOffsetList","boxWidthList","axisList","boundList","maxDataCount","boxWidthBound","availableWidth","boxGap","boxWidth","halfWidth","median","end1","end2","end4","end5","layEndLine","endCenter","HOVER_LAYER_ZLEVEL","CANVAS_ZLEVEL","EL_AFTER_INCREMENTAL_INC","INCREMENTAL_INC","isLayerValid","__builtin__","isDisplayableCulled","isClipPathChanged","prevClipPaths","doClip","createRoot","domRoot","singleCanvas","_singleCanvas","rootStyle","zlevelList","_zlevelList","layers","_layerConfig","_needsManuallyCompositing","mainLayer","_domRoot","_hoverlayer","_hoverElements","isSingleCanvas","paintAll","_redrawId","_backgroundColor","__hoverMir","hoverElements","hoverLayer","originalEl","_doPaintEl","getHoverLayer","redrawId","_updateLayerStatus","finished","_doPaintList","_compositeManually","eachBuiltinLayer","layerList","zi","useTimer","firstEl","dTime","prevElClipPaths","currentLayer","forcePaint","insertLayer","layersMap","prevLayer","prevDom","eachLayer","getLayers","updatePrevLayer","incrementalLayerCount","layerConfig","_zlevel","delLayer","_progressiveLayers","clearLayer","imageLayer","renderToCanvas","shadowBlurSize","leftMargin","rightMargin","topMargin","bottomMargin","pathTransform","ImageShape","imgShape","upperCaseFirst","group1","replaceReg","replaceMap","'","TPL_VAR_ALIAS","wrapVar","varName","seriesIdx","paramsList","seriesLen","formatTplSimple","isUTC","utc","getTextBoundingRect","autoPlay","rewind","playInterval","_names","_initData","dataArr","idxArr","positionMap","directionMap","stackedByDimInfo","stackedDimInfo","byIndex","stackedCoordDimension","mayStack","stackedDimCoordDim","stackedDimType","stackedDimCoordIndex","stackedDim","targetDim","MONTH_TEXT","EN","CN","WEEK_TEXT","_tlpoints","_blpoints","_firstDayOfMonth","_firstDayPoints","rangeData","_renderDayRect","_renderLines","_renderYearText","_renderMonthText","_renderWeekText","itemRectStyleModel","addPoints","_getLinePointsOfOneWeek","_drawSplitline","_getEdgesPoints","rs","poyline","tmpD","_formatterLabel","_yearTextPositionControl","aligns","xc","yc","posPoints","yearText","_monthTextPositionControl","termPoints","firstDayPoints","monthText","_weekTextPositionControl","weekText","mathAtan2","86","resizeGeo","leftTop","rightBottom","boxLayoutOption","useCenterAndSize","setGeoCoords","geoList","mapModelGroupBySeries","nameMapList","singleMapSeries","originRegionArr","regionsArr","__g","pp","friction","v12","nLen","repFact","extentSpan","originalDistSign","getSpanSign","extentMinSpan","realExtent","currDistSign","dataSample","treeLayout","PromiseCapability","$$resolve","$$reject","colorpicker","datepicker","selectTime","endTime","month1","month2","month3","month4","month5","month6","month7","month8","month9","month10","month11","month12","sun","mon","tue","wed","thu","fri","jan","feb","mar","apr","may","jun","jul","aug","oct","nov","dec","noMatch","goto","pagesize","pageClassifier","messagebox","deleteTip","continue","resetFilter","noCheckedFormat","hasCheckedFormat","pageHeader","diffData","diffResult","idx1","oldStackedOnPoints","newStackedOnPoints","oldCoordSys","newCoordSys","oldValueOrigin","newValueOrigin","currPoints","nextPoints","currStackedPoints","nextStackedPoints","sortedIndices","rawIndices","newDataOldCoordInfo","oldDataNewCoordInfo","diffItem","pointAdded","currentPt","nextPt","sortedCurrPoints","sortedNextPoints","sortedCurrStackedPoints","sortedNextStackedPoints","sortedStatus","stackedOnCurrent","stackedOnNext","SingleAxisPointer","getPointDimIndex","ScrollableLegendModel","pageButtonItemGap","pageIcons","pageIconColor","pageIconInactiveColor","pageTextStyle","lineAnimationDiff","isPointsSame","points2","getSmooth","getAxisExtentWithGap","halfBandWidth","getStackedOnPoints","forSymbol","xExtent","yExtent","createPolarClipShape","createClipShape","turnPointsIntoStep","stepTurnAt","stepPoints","stepPt","stepPt2","getVisualGradient","stopLen","tinyExtent","minCoord","maxCoord","coordSpan","getIsIgnoreFunc","isAuto","canShowAllSymbolForCategory","categoryDataDim","labelMap","availSize","_lineGroup","isCoordSysPolar","prevCoordSys","_coordSys","_polyline","_polygon","isAreaChart","isIgnoreFunc","__temp","_newPolygon","isIgnore","_stackedOnPoints","_updateAnimation","_newPolyline","stackedOnSeries","_valueOrigin","__points","updatedDataInfo","diffStatus","ptIdx","contrastColor","axisCommon","legend","CartesianAxisView","_splitAreaColors","areaColorsLen","lastSplitAreaColors","newSplitAreaColors","cIndex","loopGeo","newRegion","parallelPreprocessor","CLICK_THRESHOLD","_throttledDispatchExpand","_dispatchExpand","checkTrigger","_mouseDownPoint","mouseDownPoint","DEFAULT_OUT_OF_BRUSH_COLOR","BrushModel","brushMode","transformable","inBrush","outOfBrush","generateBrushOption","73","Task","_reset","_plan","_onDirty","_dirty","taskProto","planResult","upTask","_upstream","lastModBy","normalizeModBy","_modBy","lastModDataCount","_modDataCount","_dueEnd","_outputDueEnd","_progress","_dueIndex","doProgress","outputDueEnd","_settedOutputEnd","winCount","sStep","sCount","modNext","sequentialNext","taskIns","_callingProgress","downstream","_downstream","downTask","108","normalizeRect","localPoints","specifiedXYIndex","brushWidth","targetModel","localCursorPoint","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","TEXT_PADDING","ITEM_GAP","ARRAY_LENGTH","makeItemPoints","packEventData","itemNode","selfType","normalStyleModel","layoutParam","totalWidth","_prepare","_renderContent","lastX","availableSize","getAvailableSize","dataStatistics","statisticType","mapKey","seriesGroups","hostGeoModel","seriesList","symbolCtor","_symbolCtor","symbolDrawProto","normalizeUpdateOpt","SymbolCtor","enableAnimation","PieSeries","_createSelectableList","hoverOffset","avoidLabelOverlap","HV_NAMES","boxLayout","currentLineMaxSize","nextX","nextY","nextChild","nextChildRect","vbox","hbox","verticalMargin","horizontalMargin","elPos","targetOption","hResult","vResult","newParams","newValueCount","mergedValueCount","enoughParamNumber","hasProp","boxplotVisual","boxplotLayout","matrixUtil","makeAxisEventDataBase","dumbGroup","_dumbGroup","hasBuilder","builders","pt1","pt2","arrows","symbolWidth","symbolHeight","axisTickLabel","tickEls","buildAxisTick","labelEls","buildAxisLabel","fixMinMaxLabelShow","gapSignal","isNameLocationCenter","nameRotation","endTextLayout","truncateOpt","truncatedText","__fullText","__truncatedText","targetType","axisRotation","rotationDiff","textRotate","onLeft","nextLabel","lastLabel","prevLabel","firstTick","lastTick","prevTick","ignoreEl","isTwoLabelOverlapped","firstRect","nextRect","mRotationBack","tickEl","itemLabelModel","compatStyle","compatLayoutProperties","LAYOUT_PROPERTIES","COMPATITABLE_COMPONENTS","clockWise","pointerColor","dataRange","fin","COVER_Z","UNSELECT_THRESHOLD","MIN_RESIZE_LINE_WIDTH","MUTEX_RESOURCE_KEY","DIRECTION_MAP","CURSOR_MAP","ne","nw","se","DEFAULT_BRUSH_OPT","baseUID","_brushType","_brushOption","_panels","_covers","_creatingCover","_creatingPanel","_enableGlobalPan","mouseHandlers","doEnableBrush","doDisableBrush","createCover","cover","coverRenderers","__brushOption","endCreating","creatingCover","coverRenderer","getCoverRenderer","updateCoverShape","updateCoverAfterCreation","getPanelByPoint","pn","getPanelByCover","clearCovers","covers","originalLength","shouldShowCover","getTrackEnds","createBaseRectCover","doDrift","edgeNames","makeStyle","updateBaseRect","localRange","xa","ya","x2a","y2a","widtha","heighta","updateRectShape","mainEl","globalDir","getGlobalDirection","pointsToRect","clipByPanel","formatRectRange","localDirection","inverseMap","driftRect","toRectRange","fromRectRange","rectRange","localDelta","toLocalDelta","namePart","ind","driftPolygon","localD","localZero","xmin","ymin","xmax","ymax","resetCursor","currPanel","rawE","mainShapeContain","updateCoverByMouse","eventParams","thisBrushOption","determineBrushType","coverBrushOption","getCreatingRange","panelOpts","eachCover","brushOptionList","tmpIdPrefix","oldCovers","newCovers","oldGetKey","addOrUpdate","newBrushOption","getLineRenderer","localTrack","_radiusAxis","_angleAxis","maxAngle","colorAccessPath","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","samplers","nearest","indexSampler","sampler","PATH_COLOR","BoxplotSeries","brushLang","Brush","_brushMode","isBrushed","styleModel","confineInContainer","bgColor"],"mappings":"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","file":"js/chunk-vendors.a6b5702a.js","sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar createHashMap = _util.createHashMap;\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createListFromArray = require(\"../helper/createListFromArray\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = SeriesModel.extend({\n type: 'series.parallel',\n dependencies: ['parallel'],\n visualColorAccessPath: 'lineStyle.color',\n getInitialData: function (option, ecModel) {\n var source = this.getSource();\n setEncodeAndDimensions(source, this);\n return createListFromArray(source, this);\n },\n\n /**\n * User can get data raw indices on 'axisAreaSelected' event received.\n *\n * @public\n * @param {string} activeState 'active' or 'inactive' or 'normal'\n * @return {Array.} Raw indices\n */\n getRawIndicesByActiveState: function (activeState) {\n var coordSys = this.coordinateSystem;\n var data = this.getData();\n var indices = [];\n coordSys.eachActiveState(data, function (theActiveState, dataIndex) {\n if (activeState === theActiveState) {\n indices.push(data.getRawIndex(dataIndex));\n }\n });\n return indices;\n },\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 2,\n // 二级层叠\n coordinateSystem: 'parallel',\n parallelIndex: 0,\n label: {\n show: false\n },\n inactiveOpacity: 0.05,\n activeOpacity: 1,\n lineStyle: {\n width: 1,\n opacity: 0.45,\n type: 'solid'\n },\n emphasis: {\n label: {\n show: false\n }\n },\n progressive: 500,\n smooth: false,\n // true | false | number\n animationEasing: 'linear'\n }\n});\n\nfunction setEncodeAndDimensions(source, seriesModel) {\n // The mapping of parallelAxis dimension to data dimension can\n // be specified in parallelAxis.option.dim. For example, if\n // parallelAxis.option.dim is 'dim3', it mapping to the third\n // dimension of data. But `data.encode` has higher priority.\n // Moreover, parallelModel.dimension should not be regarded as data\n // dimensions. Consider dimensions = ['dim4', 'dim2', 'dim6'];\n if (source.encodeDefine) {\n return;\n }\n\n var parallelModel = seriesModel.ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n\n if (!parallelModel) {\n return;\n }\n\n var encodeDefine = source.encodeDefine = createHashMap();\n each(parallelModel.dimensions, function (axisDim) {\n var dataDimIndex = convertDimNameToNumber(axisDim);\n encodeDefine.set(axisDim, dataDimIndex);\n });\n}\n\nfunction convertDimNameToNumber(dimName) {\n return +dimName.replace('dim', '');\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar VisualMapView = require(\"./VisualMapView\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar layout = require(\"../../util/layout\");\n\nvar helper = require(\"./helper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PiecewiseVisualMapView = VisualMapView.extend({\n type: 'visualMap.piecewise',\n\n /**\n * @protected\n * @override\n */\n doRender: function () {\n var thisGroup = this.group;\n thisGroup.removeAll();\n var visualMapModel = this.visualMapModel;\n var textGap = visualMapModel.get('textGap');\n var textStyleModel = visualMapModel.textStyleModel;\n var textFont = textStyleModel.getFont();\n var textFill = textStyleModel.getTextColor();\n\n var itemAlign = this._getItemAlign();\n\n var itemSize = visualMapModel.itemSize;\n\n var viewData = this._getViewData();\n\n var endsText = viewData.endsText;\n var showLabel = zrUtil.retrieve(visualMapModel.get('showLabel', true), !endsText);\n endsText && this._renderEndsText(thisGroup, endsText[0], itemSize, showLabel, itemAlign);\n zrUtil.each(viewData.viewPieceList, renderItem, this);\n endsText && this._renderEndsText(thisGroup, endsText[1], itemSize, showLabel, itemAlign);\n layout.box(visualMapModel.get('orient'), thisGroup, visualMapModel.get('itemGap'));\n this.renderBackground(thisGroup);\n this.positionGroup(thisGroup);\n\n function renderItem(item) {\n var piece = item.piece;\n var itemGroup = new graphic.Group();\n itemGroup.onclick = zrUtil.bind(this._onItemClick, this, piece);\n\n this._enableHoverLink(itemGroup, item.indexInModelPieceList);\n\n var representValue = visualMapModel.getRepresentValue(piece);\n\n this._createItemSymbol(itemGroup, representValue, [0, 0, itemSize[0], itemSize[1]]);\n\n if (showLabel) {\n var visualState = this.visualMapModel.getValueState(representValue);\n itemGroup.add(new graphic.Text({\n style: {\n x: itemAlign === 'right' ? -textGap : itemSize[0] + textGap,\n y: itemSize[1] / 2,\n text: piece.text,\n textVerticalAlign: 'middle',\n textAlign: itemAlign,\n textFont: textFont,\n textFill: textFill,\n opacity: visualState === 'outOfRange' ? 0.5 : 1\n }\n }));\n }\n\n thisGroup.add(itemGroup);\n }\n },\n\n /**\n * @private\n */\n _enableHoverLink: function (itemGroup, pieceIndex) {\n itemGroup.on('mouseover', zrUtil.bind(onHoverLink, this, 'highlight')).on('mouseout', zrUtil.bind(onHoverLink, this, 'downplay'));\n\n function onHoverLink(method) {\n var visualMapModel = this.visualMapModel;\n visualMapModel.option.hoverLink && this.api.dispatchAction({\n type: method,\n batch: helper.convertDataIndex(visualMapModel.findTargetDataIndices(pieceIndex))\n });\n }\n },\n\n /**\n * @private\n */\n _getItemAlign: function () {\n var visualMapModel = this.visualMapModel;\n var modelOption = visualMapModel.option;\n\n if (modelOption.orient === 'vertical') {\n return helper.getItemAlign(visualMapModel, this.api, visualMapModel.itemSize);\n } else {\n // horizontal, most case left unless specifying right.\n var align = modelOption.align;\n\n if (!align || align === 'auto') {\n align = 'left';\n }\n\n return align;\n }\n },\n\n /**\n * @private\n */\n _renderEndsText: function (group, text, itemSize, showLabel, itemAlign) {\n if (!text) {\n return;\n }\n\n var itemGroup = new graphic.Group();\n var textStyleModel = this.visualMapModel.textStyleModel;\n itemGroup.add(new graphic.Text({\n style: {\n x: showLabel ? itemAlign === 'right' ? itemSize[0] : 0 : itemSize[0] / 2,\n y: itemSize[1] / 2,\n textVerticalAlign: 'middle',\n textAlign: showLabel ? itemAlign : 'center',\n text: text,\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n }));\n group.add(itemGroup);\n },\n\n /**\n * @private\n * @return {Object} {peiceList, endsText} The order is the same as screen pixel order.\n */\n _getViewData: function () {\n var visualMapModel = this.visualMapModel;\n var viewPieceList = zrUtil.map(visualMapModel.getPieceList(), function (piece, index) {\n return {\n piece: piece,\n indexInModelPieceList: index\n };\n });\n var endsText = visualMapModel.get('text'); // Consider orient and inverse.\n\n var orient = visualMapModel.get('orient');\n var inverse = visualMapModel.get('inverse'); // Order of model pieceList is always [low, ..., high]\n\n if (orient === 'horizontal' ? inverse : !inverse) {\n viewPieceList.reverse();\n } // Origin order of endsText is [high, low]\n else if (endsText) {\n endsText = endsText.slice().reverse();\n }\n\n return {\n viewPieceList: viewPieceList,\n endsText: endsText\n };\n },\n\n /**\n * @private\n */\n _createItemSymbol: function (group, representValue, shapeParam) {\n group.add(createSymbol(this.getControllerVisual(representValue, 'symbol'), shapeParam[0], shapeParam[1], shapeParam[2], shapeParam[3], this.getControllerVisual(representValue, 'color')));\n },\n\n /**\n * @private\n */\n _onItemClick: function (piece) {\n var visualMapModel = this.visualMapModel;\n var option = visualMapModel.option;\n var selected = zrUtil.clone(option.selected);\n var newKey = visualMapModel.getSelectedMapKey(piece);\n\n if (option.selectedMode === 'single') {\n selected[newKey] = true;\n zrUtil.each(selected, function (o, key) {\n selected[key] = key === newKey;\n });\n } else {\n selected[newKey] = !selected[newKey];\n }\n\n this.api.dispatchAction({\n type: 'selectDataRange',\n from: this.uid,\n visualMapId: this.visualMapModel.id,\n selected: selected\n });\n }\n});\nvar _default = PiecewiseVisualMapView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./axisPointer\");\n\nrequire(\"./tooltip/TooltipModel\");\n\nrequire(\"./tooltip/TooltipView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// FIXME Better way to pack data in graphic element\n\n/**\n * @action\n * @property {string} type\n * @property {number} seriesIndex\n * @property {number} dataIndex\n * @property {number} [x]\n * @property {number} [y]\n */\necharts.registerAction({\n type: 'showTip',\n event: 'showTip',\n update: 'tooltip:manuallyShowTip'\n}, // noop\nfunction () {});\necharts.registerAction({\n type: 'hideTip',\n event: 'hideTip',\n update: 'tooltip:manuallyHideTip'\n}, // noop\nfunction () {});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar createListSimply = require(\"../helper/createListSimply\");\n\nvar _model = require(\"../../util/model\");\n\nvar defaultEmphasis = _model.defaultEmphasis;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar FunnelSeries = echarts.extendSeriesModel({\n type: 'series.funnel',\n init: function (option) {\n FunnelSeries.superApply(this, 'init', arguments); // Enable legend selection for each data item\n // Use a function instead of direct access because data reference may changed\n\n this.legendDataProvider = function () {\n return this.getRawData();\n }; // Extend labelLine emphasis\n\n\n this._defaultLabelLine(option);\n },\n getInitialData: function (option, ecModel) {\n return createListSimply(this, ['value']);\n },\n _defaultLabelLine: function (option) {\n // Extend labelLine emphasis\n defaultEmphasis(option, 'labelLine', ['show']);\n var labelLineNormalOpt = option.labelLine;\n var labelLineEmphasisOpt = option.emphasis.labelLine; // Not show label line if `label.normal.show = false`\n\n labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show;\n labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show;\n },\n // Overwrite\n getDataParams: function (dataIndex) {\n var data = this.getData();\n var params = FunnelSeries.superCall(this, 'getDataParams', dataIndex);\n var valueDim = data.mapDimension('value');\n var sum = data.getSum(valueDim); // Percent is 0 if sum is 0\n\n params.percent = !sum ? 0 : +(data.get(valueDim, dataIndex) / sum * 100).toFixed(2);\n params.$vars.push('percent');\n return params;\n },\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 2,\n // 二级层叠\n legendHoverLink: true,\n left: 80,\n top: 60,\n right: 80,\n bottom: 60,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n // 默认取数据最小最大值\n // min: 0,\n // max: 100,\n minSize: '0%',\n maxSize: '100%',\n sort: 'descending',\n // 'ascending', 'descending'\n gap: 0,\n funnelAlign: 'center',\n label: {\n show: true,\n position: 'outer' // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调\n\n },\n labelLine: {\n show: true,\n length: 20,\n lineStyle: {\n // color: 各异,\n width: 1,\n type: 'solid'\n }\n },\n itemStyle: {\n // color: 各异,\n borderColor: '#fff',\n borderWidth: 1\n },\n emphasis: {\n label: {\n show: true\n }\n }\n }\n});\nvar _default = FunnelSeries;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction dataToCoordSize(dataSize, dataItem) {\n dataItem = dataItem || [0, 0];\n return zrUtil.map([0, 1], function (dimIdx) {\n var val = dataItem[dimIdx];\n var halfSize = dataSize[dimIdx] / 2;\n var p1 = [];\n var p2 = [];\n p1[dimIdx] = val - halfSize;\n p2[dimIdx] = val + halfSize;\n p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];\n return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);\n }, this);\n}\n\nfunction _default(coordSys) {\n var rect = coordSys.getBoundingRect();\n return {\n coordSys: {\n type: 'geo',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n zoom: coordSys.getZoom()\n },\n api: {\n coord: function (data) {\n // do not provide \"out\" and noRoam param,\n // Compatible with this usage:\n // echarts.util.map(item.points, api.coord)\n return coordSys.dataToPoint(data);\n },\n size: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar View = require(\"../View\");\n\nvar geoSourceManager = require(\"./geoSourceManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * [Geo description]\n * For backward compatibility, the orginal interface:\n * `name, map, geoJson, specialAreas, nameMap` is kept.\n *\n * @param {string|Object} name\n * @param {string} map Map type\n * Specify the positioned areas by left, top, width, height\n * @param {Object.} [nameMap]\n * Specify name alias\n * @param {boolean} [invertLongitute=true]\n */\nfunction Geo(name, map, nameMap, invertLongitute) {\n View.call(this, name);\n /**\n * Map type\n * @type {string}\n */\n\n this.map = map;\n var source = geoSourceManager.load(map, nameMap);\n this._nameCoordMap = source.nameCoordMap;\n this._regionsMap = source.regionsMap;\n this._invertLongitute = invertLongitute == null ? true : invertLongitute;\n /**\n * @readOnly\n */\n\n this.regions = source.regions;\n /**\n * @type {module:zrender/src/core/BoundingRect}\n */\n\n this._rect = source.boundingRect;\n}\n\nGeo.prototype = {\n constructor: Geo,\n type: 'geo',\n\n /**\n * @param {Array.}\n * @readOnly\n */\n dimensions: ['lng', 'lat'],\n\n /**\n * If contain given lng,lat coord\n * @param {Array.}\n * @readOnly\n */\n containCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * @override\n */\n transformTo: function (x, y, width, height) {\n var rect = this.getBoundingRect();\n var invertLongitute = this._invertLongitute;\n rect = rect.clone();\n\n if (invertLongitute) {\n // Longitute is inverted\n rect.y = -rect.y - rect.height;\n }\n\n var rawTransformable = this._rawTransformable;\n rawTransformable.transform = rect.calculateTransform(new BoundingRect(x, y, width, height));\n rawTransformable.decomposeTransform();\n\n if (invertLongitute) {\n var scale = rawTransformable.scale;\n scale[1] = -scale[1];\n }\n\n rawTransformable.updateTransform();\n\n this._updateTransform();\n },\n\n /**\n * @param {string} name\n * @return {module:echarts/coord/geo/Region}\n */\n getRegion: function (name) {\n return this._regionsMap.get(name);\n },\n getRegionByCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return regions[i];\n }\n }\n },\n\n /**\n * Add geoCoord for indexing by name\n * @param {string} name\n * @param {Array.} geoCoord\n */\n addGeoCoord: function (name, geoCoord) {\n this._nameCoordMap.set(name, geoCoord);\n },\n\n /**\n * Get geoCoord by name\n * @param {string} name\n * @return {Array.}\n */\n getGeoCoord: function (name) {\n return this._nameCoordMap.get(name);\n },\n\n /**\n * @override\n */\n getBoundingRect: function () {\n return this._rect;\n },\n\n /**\n * @param {string|Array.} data\n * @param {boolean} noRoam\n * @param {Array.} [out]\n * @return {Array.}\n */\n dataToPoint: function (data, noRoam, out) {\n if (typeof data === 'string') {\n // Map area name to geoCoord\n data = this.getGeoCoord(data);\n }\n\n if (data) {\n return View.prototype.dataToPoint.call(this, data, noRoam, out);\n }\n },\n\n /**\n * @override\n */\n convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),\n\n /**\n * @override\n */\n convertFromPixel: zrUtil.curry(doConvert, 'pointToData')\n};\nzrUtil.mixin(Geo, View);\n\nfunction doConvert(methodName, ecModel, finder, value) {\n var geoModel = finder.geoModel;\n var seriesModel = finder.seriesModel;\n var coordSys = geoModel ? geoModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem // For map.\n || (seriesModel.getReferringComponents('geo')[0] || {}).coordinateSystem : null;\n return coordSys === this ? coordSys[methodName](value) : null;\n}\n\nvar _default = Geo;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Can only be called after coordinate system creation stage.\n * (Can be called before coordinate system update stage).\n *\n * @param {Object} opt {labelInside}\n * @return {Object} {\n * position, rotation, labelDirection, labelOffset,\n * tickDirection, labelRotate, z2\n * }\n */\nfunction layout(gridModel, axisModel, opt) {\n opt = opt || {};\n var grid = gridModel.coordinateSystem;\n var axis = axisModel.axis;\n var layout = {};\n var otherAxisOnZeroOf = axis.getAxesOnZeroOf()[0];\n var rawAxisPosition = axis.position;\n var axisPosition = otherAxisOnZeroOf ? 'onZero' : rawAxisPosition;\n var axisDim = axis.dim;\n var rect = grid.getRect();\n var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];\n var idx = {\n left: 0,\n right: 1,\n top: 0,\n bottom: 1,\n onZero: 2\n };\n var axisOffset = axisModel.get('offset') || 0;\n var posBound = axisDim === 'x' ? [rectBound[2] - axisOffset, rectBound[3] + axisOffset] : [rectBound[0] - axisOffset, rectBound[1] + axisOffset];\n\n if (otherAxisOnZeroOf) {\n var onZeroCoord = otherAxisOnZeroOf.toGlobalCoord(otherAxisOnZeroOf.dataToCoord(0));\n posBound[idx.onZero] = Math.max(Math.min(onZeroCoord, posBound[1]), posBound[0]);\n } // Axis position\n\n\n layout.position = [axisDim === 'y' ? posBound[idx[axisPosition]] : rectBound[0], axisDim === 'x' ? posBound[idx[axisPosition]] : rectBound[3]]; // Axis rotation\n\n layout.rotation = Math.PI / 2 * (axisDim === 'x' ? 0 : 1); // Tick and label direction, x y is axisDim\n\n var dirMap = {\n top: -1,\n bottom: 1,\n left: -1,\n right: 1\n };\n layout.labelDirection = layout.tickDirection = layout.nameDirection = dirMap[rawAxisPosition];\n layout.labelOffset = otherAxisOnZeroOf ? posBound[idx[rawAxisPosition]] - posBound[idx.onZero] : 0;\n\n if (axisModel.get('axisTick.inside')) {\n layout.tickDirection = -layout.tickDirection;\n }\n\n if (zrUtil.retrieve(opt.labelInside, axisModel.get('axisLabel.inside'))) {\n layout.labelDirection = -layout.labelDirection;\n } // Special label rotation\n\n\n var labelRotate = axisModel.get('axisLabel.rotate');\n layout.labelRotate = axisPosition === 'top' ? -labelRotate : labelRotate; // Over splitLine and splitArea\n\n layout.z2 = 1;\n return layout;\n}\n\nexports.layout = layout;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../util/graphic\");\n\nrequire(\"../coord/cartesian/Grid\");\n\nrequire(\"./axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Grid view\necharts.extendComponentView({\n type: 'grid',\n render: function (gridModel, ecModel) {\n this.group.removeAll();\n\n if (gridModel.get('show')) {\n this.group.add(new graphic.Rect({\n shape: gridModel.coordinateSystem.getRect(),\n style: zrUtil.defaults({\n fill: gridModel.get('backgroundColor')\n }, gridModel.getItemStyle()),\n silent: true,\n z2: -1\n }));\n }\n }\n});\necharts.registerPreprocessor(function (option) {\n // Only create grid when need\n if (option.xAxis && option.yAxis && !option.grid) {\n option.grid = {};\n }\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * For geo and graph.\n *\n * @param {Object} controllerHost\n * @param {module:zrender/Element} controllerHost.target\n */\nfunction updateViewOnPan(controllerHost, dx, dy) {\n var target = controllerHost.target;\n var pos = target.position;\n pos[0] += dx;\n pos[1] += dy;\n target.dirty();\n}\n/**\n * For geo and graph.\n *\n * @param {Object} controllerHost\n * @param {module:zrender/Element} controllerHost.target\n * @param {number} controllerHost.zoom\n * @param {number} controllerHost.zoomLimit like: {min: 1, max: 2}\n */\n\n\nfunction updateViewOnZoom(controllerHost, zoomDelta, zoomX, zoomY) {\n var target = controllerHost.target;\n var zoomLimit = controllerHost.zoomLimit;\n var pos = target.position;\n var scale = target.scale;\n var newZoom = controllerHost.zoom = controllerHost.zoom || 1;\n newZoom *= zoomDelta;\n\n if (zoomLimit) {\n var zoomMin = zoomLimit.min || 0;\n var zoomMax = zoomLimit.max || Infinity;\n newZoom = Math.max(Math.min(zoomMax, newZoom), zoomMin);\n }\n\n var zoomScale = newZoom / controllerHost.zoom;\n controllerHost.zoom = newZoom; // Keep the mouse center when scaling\n\n pos[0] -= (zoomX - pos[0]) * (zoomScale - 1);\n pos[1] -= (zoomY - pos[1]) * (zoomScale - 1);\n scale[0] *= zoomScale;\n scale[1] *= zoomScale;\n target.dirty();\n}\n\nexports.updateViewOnPan = updateViewOnPan;\nexports.updateViewOnZoom = updateViewOnZoom;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar ComponentModel = require(\"../model/Component\");\n\nvar ComponentView = require(\"../view/Component\");\n\nvar _sourceHelper = require(\"../data/helper/sourceHelper\");\n\nvar detectSourceFormat = _sourceHelper.detectSourceFormat;\n\nvar _sourceType = require(\"../data/helper/sourceType\");\n\nvar SERIES_LAYOUT_BY_COLUMN = _sourceType.SERIES_LAYOUT_BY_COLUMN;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * This module is imported by echarts directly.\n *\n * Notice:\n * Always keep this file exists for backward compatibility.\n * Because before 4.1.0, dataset is an optional component,\n * some users may import this module manually.\n */\nComponentModel.extend({\n type: 'dataset',\n\n /**\n * @protected\n */\n defaultOption: {\n // 'row', 'column'\n seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN,\n // null/'auto': auto detect header, see \"module:echarts/data/helper/sourceHelper\"\n sourceHeader: null,\n dimensions: null,\n source: null\n },\n optionUpdated: function () {\n detectSourceFormat(this);\n }\n});\nComponentView.extend({\n type: 'dataset'\n});","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","// https://github.com/mziccard/node-timsort\nvar DEFAULT_MIN_MERGE = 32;\nvar DEFAULT_MIN_GALLOPING = 7;\nvar DEFAULT_TMP_STORAGE_LENGTH = 256;\n\nfunction minRunLength(n) {\n var r = 0;\n\n while (n >= DEFAULT_MIN_MERGE) {\n r |= n & 1;\n n >>= 1;\n }\n\n return n + r;\n}\n\nfunction makeAscendingRun(array, lo, hi, compare) {\n var runHi = lo + 1;\n\n if (runHi === hi) {\n return 1;\n }\n\n if (compare(array[runHi++], array[lo]) < 0) {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) < 0) {\n runHi++;\n }\n\n reverseRun(array, lo, runHi);\n } else {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) >= 0) {\n runHi++;\n }\n }\n\n return runHi - lo;\n}\n\nfunction reverseRun(array, lo, hi) {\n hi--;\n\n while (lo < hi) {\n var t = array[lo];\n array[lo++] = array[hi];\n array[hi--] = t;\n }\n}\n\nfunction binaryInsertionSort(array, lo, hi, start, compare) {\n if (start === lo) {\n start++;\n }\n\n for (; start < hi; start++) {\n var pivot = array[start];\n var left = lo;\n var right = start;\n var mid;\n\n while (left < right) {\n mid = left + right >>> 1;\n\n if (compare(pivot, array[mid]) < 0) {\n right = mid;\n } else {\n left = mid + 1;\n }\n }\n\n var n = start - left;\n\n switch (n) {\n case 3:\n array[left + 3] = array[left + 2];\n\n case 2:\n array[left + 2] = array[left + 1];\n\n case 1:\n array[left + 1] = array[left];\n break;\n\n default:\n while (n > 0) {\n array[left + n] = array[left + n - 1];\n n--;\n }\n\n }\n\n array[left] = pivot;\n }\n}\n\nfunction gallopLeft(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n\n if (compare(value, array[start + hint]) > 0) {\n maxOffset = length - hint;\n\n while (offset < maxOffset && compare(value, array[start + hint + offset]) > 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n lastOffset += hint;\n offset += hint;\n } else {\n maxOffset = hint + 1;\n\n while (offset < maxOffset && compare(value, array[start + hint - offset]) <= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n }\n\n lastOffset++;\n\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n\n if (compare(value, array[start + m]) > 0) {\n lastOffset = m + 1;\n } else {\n offset = m;\n }\n }\n\n return offset;\n}\n\nfunction gallopRight(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n\n if (compare(value, array[start + hint]) < 0) {\n maxOffset = hint + 1;\n\n while (offset < maxOffset && compare(value, array[start + hint - offset]) < 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n } else {\n maxOffset = length - hint;\n\n while (offset < maxOffset && compare(value, array[start + hint + offset]) >= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n lastOffset += hint;\n offset += hint;\n }\n\n lastOffset++;\n\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n\n if (compare(value, array[start + m]) < 0) {\n offset = m;\n } else {\n lastOffset = m + 1;\n }\n }\n\n return offset;\n}\n\nfunction TimSort(array, compare) {\n var minGallop = DEFAULT_MIN_GALLOPING;\n var length = 0;\n var tmpStorageLength = DEFAULT_TMP_STORAGE_LENGTH;\n var stackLength = 0;\n var runStart;\n var runLength;\n var stackSize = 0;\n length = array.length;\n\n if (length < 2 * DEFAULT_TMP_STORAGE_LENGTH) {\n tmpStorageLength = length >>> 1;\n }\n\n var tmp = [];\n stackLength = length < 120 ? 5 : length < 1542 ? 10 : length < 119151 ? 19 : 40;\n runStart = [];\n runLength = [];\n\n function pushRun(_runStart, _runLength) {\n runStart[stackSize] = _runStart;\n runLength[stackSize] = _runLength;\n stackSize += 1;\n }\n\n function mergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n\n if (n >= 1 && runLength[n - 1] <= runLength[n] + runLength[n + 1] || n >= 2 && runLength[n - 2] <= runLength[n] + runLength[n - 1]) {\n if (runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n } else if (runLength[n] > runLength[n + 1]) {\n break;\n }\n\n mergeAt(n);\n }\n }\n\n function forceMergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n\n if (n > 0 && runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n\n mergeAt(n);\n }\n }\n\n function mergeAt(i) {\n var start1 = runStart[i];\n var length1 = runLength[i];\n var start2 = runStart[i + 1];\n var length2 = runLength[i + 1];\n runLength[i] = length1 + length2;\n\n if (i === stackSize - 3) {\n runStart[i + 1] = runStart[i + 2];\n runLength[i + 1] = runLength[i + 2];\n }\n\n stackSize--;\n var k = gallopRight(array[start2], array, start1, length1, 0, compare);\n start1 += k;\n length1 -= k;\n\n if (length1 === 0) {\n return;\n }\n\n length2 = gallopLeft(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare);\n\n if (length2 === 0) {\n return;\n }\n\n if (length1 <= length2) {\n mergeLow(start1, length1, start2, length2);\n } else {\n mergeHigh(start1, length1, start2, length2);\n }\n }\n\n function mergeLow(start1, length1, start2, length2) {\n var i = 0;\n\n for (i = 0; i < length1; i++) {\n tmp[i] = array[start1 + i];\n }\n\n var cursor1 = 0;\n var cursor2 = start2;\n var dest = start1;\n array[dest++] = array[cursor2++];\n\n if (--length2 === 0) {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n\n return;\n }\n\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n array[dest + length2] = tmp[cursor1];\n return;\n }\n\n var _minGallop = minGallop;\n var count1, count2, exit;\n\n while (1) {\n count1 = 0;\n count2 = 0;\n exit = false;\n\n do {\n if (compare(array[cursor2], tmp[cursor1]) < 0) {\n array[dest++] = array[cursor2++];\n count2++;\n count1 = 0;\n\n if (--length2 === 0) {\n exit = true;\n break;\n }\n } else {\n array[dest++] = tmp[cursor1++];\n count1++;\n count2 = 0;\n\n if (--length1 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n\n if (exit) {\n break;\n }\n\n do {\n count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare);\n\n if (count1 !== 0) {\n for (i = 0; i < count1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n\n dest += count1;\n cursor1 += count1;\n length1 -= count1;\n\n if (length1 <= 1) {\n exit = true;\n break;\n }\n }\n\n array[dest++] = array[cursor2++];\n\n if (--length2 === 0) {\n exit = true;\n break;\n }\n\n count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare);\n\n if (count2 !== 0) {\n for (i = 0; i < count2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n dest += count2;\n cursor2 += count2;\n length2 -= count2;\n\n if (length2 === 0) {\n exit = true;\n break;\n }\n }\n\n array[dest++] = tmp[cursor1++];\n\n if (--length1 === 1) {\n exit = true;\n break;\n }\n\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n\n if (exit) {\n break;\n }\n\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n\n _minGallop += 2;\n }\n\n minGallop = _minGallop;\n minGallop < 1 && (minGallop = 1);\n\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n array[dest + length2] = tmp[cursor1];\n } else if (length1 === 0) {\n throw new Error(); // throw new Error('mergeLow preconditions were not respected');\n } else {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n }\n }\n\n function mergeHigh(start1, length1, start2, length2) {\n var i = 0;\n\n for (i = 0; i < length2; i++) {\n tmp[i] = array[start2 + i];\n }\n\n var cursor1 = start1 + length1 - 1;\n var cursor2 = length2 - 1;\n var dest = start2 + length2 - 1;\n var customCursor = 0;\n var customDest = 0;\n array[dest--] = array[cursor1--];\n\n if (--length1 === 0) {\n customCursor = dest - (length2 - 1);\n\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n\n return;\n }\n\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n array[dest] = tmp[cursor2];\n return;\n }\n\n var _minGallop = minGallop;\n\n while (true) {\n var count1 = 0;\n var count2 = 0;\n var exit = false;\n\n do {\n if (compare(tmp[cursor2], array[cursor1]) < 0) {\n array[dest--] = array[cursor1--];\n count1++;\n count2 = 0;\n\n if (--length1 === 0) {\n exit = true;\n break;\n }\n } else {\n array[dest--] = tmp[cursor2--];\n count2++;\n count1 = 0;\n\n if (--length2 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n\n if (exit) {\n break;\n }\n\n do {\n count1 = length1 - gallopRight(tmp[cursor2], array, start1, length1, length1 - 1, compare);\n\n if (count1 !== 0) {\n dest -= count1;\n cursor1 -= count1;\n length1 -= count1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = count1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n if (length1 === 0) {\n exit = true;\n break;\n }\n }\n\n array[dest--] = tmp[cursor2--];\n\n if (--length2 === 1) {\n exit = true;\n break;\n }\n\n count2 = length2 - gallopLeft(array[cursor1], tmp, 0, length2, length2 - 1, compare);\n\n if (count2 !== 0) {\n dest -= count2;\n cursor2 -= count2;\n length2 -= count2;\n customDest = dest + 1;\n customCursor = cursor2 + 1;\n\n for (i = 0; i < count2; i++) {\n array[customDest + i] = tmp[customCursor + i];\n }\n\n if (length2 <= 1) {\n exit = true;\n break;\n }\n }\n\n array[dest--] = array[cursor1--];\n\n if (--length1 === 0) {\n exit = true;\n break;\n }\n\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n\n if (exit) {\n break;\n }\n\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n\n _minGallop += 2;\n }\n\n minGallop = _minGallop;\n\n if (minGallop < 1) {\n minGallop = 1;\n }\n\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n array[dest] = tmp[cursor2];\n } else if (length2 === 0) {\n throw new Error(); // throw new Error('mergeHigh preconditions were not respected');\n } else {\n customCursor = dest - (length2 - 1);\n\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n }\n }\n\n this.mergeRuns = mergeRuns;\n this.forceMergeRuns = forceMergeRuns;\n this.pushRun = pushRun;\n}\n\nfunction sort(array, compare, lo, hi) {\n if (!lo) {\n lo = 0;\n }\n\n if (!hi) {\n hi = array.length;\n }\n\n var remaining = hi - lo;\n\n if (remaining < 2) {\n return;\n }\n\n var runLength = 0;\n\n if (remaining < DEFAULT_MIN_MERGE) {\n runLength = makeAscendingRun(array, lo, hi, compare);\n binaryInsertionSort(array, lo, hi, lo + runLength, compare);\n return;\n }\n\n var ts = new TimSort(array, compare);\n var minRun = minRunLength(remaining);\n\n do {\n runLength = makeAscendingRun(array, lo, hi, compare);\n\n if (runLength < minRun) {\n var force = remaining;\n\n if (force > minRun) {\n force = minRun;\n }\n\n binaryInsertionSort(array, lo, lo + force, lo + runLength, compare);\n runLength = force;\n }\n\n ts.pushRun(lo, runLength);\n ts.mergeRuns();\n remaining -= runLength;\n lo += runLength;\n } while (remaining !== 0);\n\n ts.forceMergeRuns();\n}\n\nmodule.exports = sort;","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var windingLine = require(\"./windingLine\");\n\nvar EPSILON = 1e-8;\n\nfunction isAroundEqual(a, b) {\n return Math.abs(a - b) < EPSILON;\n}\n\nfunction contain(points, x, y) {\n var w = 0;\n var p = points[0];\n\n if (!p) {\n return false;\n }\n\n for (var i = 1; i < points.length; i++) {\n var p2 = points[i];\n w += windingLine(p[0], p[1], p2[0], p2[1], x, y);\n p = p2;\n } // Close polygon\n\n\n var p0 = points[0];\n\n if (!isAroundEqual(p[0], p0[0]) || !isAroundEqual(p[1], p0[1])) {\n w += windingLine(p[0], p[1], p0[0], p0[1], x, y);\n }\n\n return w !== 0;\n}\n\nexports.contain = contain;","var Clip = require(\"./Clip\");\n\nvar color = require(\"../tool/color\");\n\nvar _util = require(\"../core/util\");\n\nvar isArrayLike = _util.isArrayLike;\n\n/**\n * @module echarts/animation/Animator\n */\nvar arraySlice = Array.prototype.slice;\n\nfunction defaultGetter(target, key) {\n return target[key];\n}\n\nfunction defaultSetter(target, key, value) {\n target[key] = value;\n}\n/**\n * @param {number} p0\n * @param {number} p1\n * @param {number} percent\n * @return {number}\n */\n\n\nfunction interpolateNumber(p0, p1, percent) {\n return (p1 - p0) * percent + p0;\n}\n/**\n * @param {string} p0\n * @param {string} p1\n * @param {number} percent\n * @return {string}\n */\n\n\nfunction interpolateString(p0, p1, percent) {\n return percent > 0.5 ? p1 : p0;\n}\n/**\n * @param {Array} p0\n * @param {Array} p1\n * @param {number} percent\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction interpolateArray(p0, p1, percent, out, arrDim) {\n var len = p0.length;\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n out[i] = interpolateNumber(p0[i], p1[i], percent);\n }\n } else {\n var len2 = len && p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = interpolateNumber(p0[i][j], p1[i][j], percent);\n }\n }\n }\n} // arr0 is source array, arr1 is target array.\n// Do some preprocess to avoid error happened when interpolating from arr0 to arr1\n\n\nfunction fillArr(arr0, arr1, arrDim) {\n var arr0Len = arr0.length;\n var arr1Len = arr1.length;\n\n if (arr0Len !== arr1Len) {\n // FIXME Not work for TypedArray\n var isPreviousLarger = arr0Len > arr1Len;\n\n if (isPreviousLarger) {\n // Cut the previous\n arr0.length = arr1Len;\n } else {\n // Fill the previous\n for (var i = arr0Len; i < arr1Len; i++) {\n arr0.push(arrDim === 1 ? arr1[i] : arraySlice.call(arr1[i]));\n }\n }\n } // Handling NaN value\n\n\n var len2 = arr0[0] && arr0[0].length;\n\n for (var i = 0; i < arr0.length; i++) {\n if (arrDim === 1) {\n if (isNaN(arr0[i])) {\n arr0[i] = arr1[i];\n }\n } else {\n for (var j = 0; j < len2; j++) {\n if (isNaN(arr0[i][j])) {\n arr0[i][j] = arr1[i][j];\n }\n }\n }\n }\n}\n/**\n * @param {Array} arr0\n * @param {Array} arr1\n * @param {number} arrDim\n * @return {boolean}\n */\n\n\nfunction isArraySame(arr0, arr1, arrDim) {\n if (arr0 === arr1) {\n return true;\n }\n\n var len = arr0.length;\n\n if (len !== arr1.length) {\n return false;\n }\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n if (arr0[i] !== arr1[i]) {\n return false;\n }\n }\n } else {\n var len2 = arr0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n if (arr0[i][j] !== arr1[i][j]) {\n return false;\n }\n }\n }\n }\n\n return true;\n}\n/**\n * Catmull Rom interpolate array\n * @param {Array} p0\n * @param {Array} p1\n * @param {Array} p2\n * @param {Array} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction catmullRomInterpolateArray(p0, p1, p2, p3, t, t2, t3, out, arrDim) {\n var len = p0.length;\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n out[i] = catmullRomInterpolate(p0[i], p1[i], p2[i], p3[i], t, t2, t3);\n }\n } else {\n var len2 = p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = catmullRomInterpolate(p0[i][j], p1[i][j], p2[i][j], p3[i][j], t, t2, t3);\n }\n }\n }\n}\n/**\n * Catmull Rom interpolate number\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @return {number}\n */\n\n\nfunction catmullRomInterpolate(p0, p1, p2, p3, t, t2, t3) {\n var v0 = (p2 - p0) * 0.5;\n var v1 = (p3 - p1) * 0.5;\n return (2 * (p1 - p2) + v0 + v1) * t3 + (-3 * (p1 - p2) - 2 * v0 - v1) * t2 + v0 * t + p1;\n}\n\nfunction cloneValue(value) {\n if (isArrayLike(value)) {\n var len = value.length;\n\n if (isArrayLike(value[0])) {\n var ret = [];\n\n for (var i = 0; i < len; i++) {\n ret.push(arraySlice.call(value[i]));\n }\n\n return ret;\n }\n\n return arraySlice.call(value);\n }\n\n return value;\n}\n\nfunction rgba2String(rgba) {\n rgba[0] = Math.floor(rgba[0]);\n rgba[1] = Math.floor(rgba[1]);\n rgba[2] = Math.floor(rgba[2]);\n return 'rgba(' + rgba.join(',') + ')';\n}\n\nfunction getArrayDim(keyframes) {\n var lastValue = keyframes[keyframes.length - 1].value;\n return isArrayLike(lastValue && lastValue[0]) ? 2 : 1;\n}\n\nfunction createTrackClip(animator, easing, oneTrackDone, keyframes, propName, forceAnimate) {\n var getter = animator._getter;\n var setter = animator._setter;\n var useSpline = easing === 'spline';\n var trackLen = keyframes.length;\n\n if (!trackLen) {\n return;\n } // Guess data type\n\n\n var firstVal = keyframes[0].value;\n var isValueArray = isArrayLike(firstVal);\n var isValueColor = false;\n var isValueString = false; // For vertices morphing\n\n var arrDim = isValueArray ? getArrayDim(keyframes) : 0;\n var trackMaxTime; // Sort keyframe as ascending\n\n keyframes.sort(function (a, b) {\n return a.time - b.time;\n });\n trackMaxTime = keyframes[trackLen - 1].time; // Percents of each keyframe\n\n var kfPercents = []; // Value of each keyframe\n\n var kfValues = [];\n var prevValue = keyframes[0].value;\n var isAllValueEqual = true;\n\n for (var i = 0; i < trackLen; i++) {\n kfPercents.push(keyframes[i].time / trackMaxTime); // Assume value is a color when it is a string\n\n var value = keyframes[i].value; // Check if value is equal, deep check if value is array\n\n if (!(isValueArray && isArraySame(value, prevValue, arrDim) || !isValueArray && value === prevValue)) {\n isAllValueEqual = false;\n }\n\n prevValue = value; // Try converting a string to a color array\n\n if (typeof value === 'string') {\n var colorArray = color.parse(value);\n\n if (colorArray) {\n value = colorArray;\n isValueColor = true;\n } else {\n isValueString = true;\n }\n }\n\n kfValues.push(value);\n }\n\n if (!forceAnimate && isAllValueEqual) {\n return;\n }\n\n var lastValue = kfValues[trackLen - 1]; // Polyfill array and NaN value\n\n for (var i = 0; i < trackLen - 1; i++) {\n if (isValueArray) {\n fillArr(kfValues[i], lastValue, arrDim);\n } else {\n if (isNaN(kfValues[i]) && !isNaN(lastValue) && !isValueString && !isValueColor) {\n kfValues[i] = lastValue;\n }\n }\n }\n\n isValueArray && fillArr(getter(animator._target, propName), lastValue, arrDim); // Cache the key of last frame to speed up when\n // animation playback is sequency\n\n var lastFrame = 0;\n var lastFramePercent = 0;\n var start;\n var w;\n var p0;\n var p1;\n var p2;\n var p3;\n\n if (isValueColor) {\n var rgba = [0, 0, 0, 0];\n }\n\n var onframe = function (target, percent) {\n // Find the range keyframes\n // kf1-----kf2---------current--------kf3\n // find kf2 and kf3 and do interpolation\n var frame; // In the easing function like elasticOut, percent may less than 0\n\n if (percent < 0) {\n frame = 0;\n } else if (percent < lastFramePercent) {\n // Start from next key\n // PENDING start from lastFrame ?\n start = Math.min(lastFrame + 1, trackLen - 1);\n\n for (frame = start; frame >= 0; frame--) {\n if (kfPercents[frame] <= percent) {\n break;\n }\n } // PENDING really need to do this ?\n\n\n frame = Math.min(frame, trackLen - 2);\n } else {\n for (frame = lastFrame; frame < trackLen; frame++) {\n if (kfPercents[frame] > percent) {\n break;\n }\n }\n\n frame = Math.min(frame - 1, trackLen - 2);\n }\n\n lastFrame = frame;\n lastFramePercent = percent;\n var range = kfPercents[frame + 1] - kfPercents[frame];\n\n if (range === 0) {\n return;\n } else {\n w = (percent - kfPercents[frame]) / range;\n }\n\n if (useSpline) {\n p1 = kfValues[frame];\n p0 = kfValues[frame === 0 ? frame : frame - 1];\n p2 = kfValues[frame > trackLen - 2 ? trackLen - 1 : frame + 1];\n p3 = kfValues[frame > trackLen - 3 ? trackLen - 1 : frame + 2];\n\n if (isValueArray) {\n catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n value = catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(p1, p2, w);\n } else {\n value = catmullRomInterpolate(p0, p1, p2, p3, w, w * w, w * w * w);\n }\n\n setter(target, propName, value);\n }\n } else {\n if (isValueArray) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(kfValues[frame], kfValues[frame + 1], w);\n } else {\n value = interpolateNumber(kfValues[frame], kfValues[frame + 1], w);\n }\n\n setter(target, propName, value);\n }\n }\n };\n\n var clip = new Clip({\n target: animator._target,\n life: trackMaxTime,\n loop: animator._loop,\n delay: animator._delay,\n onframe: onframe,\n ondestroy: oneTrackDone\n });\n\n if (easing && easing !== 'spline') {\n clip.easing = easing;\n }\n\n return clip;\n}\n/**\n * @alias module:zrender/animation/Animator\n * @constructor\n * @param {Object} target\n * @param {boolean} loop\n * @param {Function} getter\n * @param {Function} setter\n */\n\n\nvar Animator = function (target, loop, getter, setter) {\n this._tracks = {};\n this._target = target;\n this._loop = loop || false;\n this._getter = getter || defaultGetter;\n this._setter = setter || defaultSetter;\n this._clipCount = 0;\n this._delay = 0;\n this._doneList = [];\n this._onframeList = [];\n this._clipList = [];\n};\n\nAnimator.prototype = {\n /**\n * 设置动画关键帧\n * @param {number} time 关键帧时间,单位是ms\n * @param {Object} props 关键帧的属性值,key-value表示\n * @return {module:zrender/animation/Animator}\n */\n when: function (time\n /* ms */\n , props) {\n var tracks = this._tracks;\n\n for (var propName in props) {\n if (!props.hasOwnProperty(propName)) {\n continue;\n }\n\n if (!tracks[propName]) {\n tracks[propName] = []; // Invalid value\n\n var value = this._getter(this._target, propName);\n\n if (value == null) {\n // zrLog('Invalid property ' + propName);\n continue;\n } // If time is 0\n // Then props is given initialize value\n // Else\n // Initialize value from current prop value\n\n\n if (time !== 0) {\n tracks[propName].push({\n time: 0,\n value: cloneValue(value)\n });\n }\n }\n\n tracks[propName].push({\n time: time,\n value: props[propName]\n });\n }\n\n return this;\n },\n\n /**\n * 添加动画每一帧的回调函数\n * @param {Function} callback\n * @return {module:zrender/animation/Animator}\n */\n during: function (callback) {\n this._onframeList.push(callback);\n\n return this;\n },\n pause: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].pause();\n }\n\n this._paused = true;\n },\n resume: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].resume();\n }\n\n this._paused = false;\n },\n isPaused: function () {\n return !!this._paused;\n },\n _doneCallback: function () {\n // Clear all tracks\n this._tracks = {}; // Clear all clips\n\n this._clipList.length = 0;\n var doneList = this._doneList;\n var len = doneList.length;\n\n for (var i = 0; i < len; i++) {\n doneList[i].call(this);\n }\n },\n\n /**\n * 开始执行动画\n * @param {string|Function} [easing]\n * 动画缓动函数,详见{@link module:zrender/animation/easing}\n * @param {boolean} forceAnimate\n * @return {module:zrender/animation/Animator}\n */\n start: function (easing, forceAnimate) {\n var self = this;\n var clipCount = 0;\n\n var oneTrackDone = function () {\n clipCount--;\n\n if (!clipCount) {\n self._doneCallback();\n }\n };\n\n var lastClip;\n\n for (var propName in this._tracks) {\n if (!this._tracks.hasOwnProperty(propName)) {\n continue;\n }\n\n var clip = createTrackClip(this, easing, oneTrackDone, this._tracks[propName], propName, forceAnimate);\n\n if (clip) {\n this._clipList.push(clip);\n\n clipCount++; // If start after added to animation\n\n if (this.animation) {\n this.animation.addClip(clip);\n }\n\n lastClip = clip;\n }\n } // Add during callback on the last clip\n\n\n if (lastClip) {\n var oldOnFrame = lastClip.onframe;\n\n lastClip.onframe = function (target, percent) {\n oldOnFrame(target, percent);\n\n for (var i = 0; i < self._onframeList.length; i++) {\n self._onframeList[i](target, percent);\n }\n };\n } // This optimization will help the case that in the upper application\n // the view may be refreshed frequently, where animation will be\n // called repeatly but nothing changed.\n\n\n if (!clipCount) {\n this._doneCallback();\n }\n\n return this;\n },\n\n /**\n * 停止动画\n * @param {boolean} forwardToLast If move to last frame before stop\n */\n stop: function (forwardToLast) {\n var clipList = this._clipList;\n var animation = this.animation;\n\n for (var i = 0; i < clipList.length; i++) {\n var clip = clipList[i];\n\n if (forwardToLast) {\n // Move to last frame before stop\n clip.onframe(this._target, 1);\n }\n\n animation && animation.removeClip(clip);\n }\n\n clipList.length = 0;\n },\n\n /**\n * 设置动画延迟开始的时间\n * @param {number} time 单位ms\n * @return {module:zrender/animation/Animator}\n */\n delay: function (time) {\n this._delay = time;\n return this;\n },\n\n /**\n * 添加动画结束的回调\n * @param {Function} cb\n * @return {module:zrender/animation/Animator}\n */\n done: function (cb) {\n if (cb) {\n this._doneList.push(cb);\n }\n\n return this;\n },\n\n /**\n * @return {Array.}\n */\n getClips: function () {\n return this._clipList;\n }\n};\nvar _default = Animator;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Model = require(\"../model/Model\");\n\nvar linkList = require(\"./helper/linkList\");\n\nvar List = require(\"./List\");\n\nvar createDimensions = require(\"./helper/createDimensions\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Tree data structure\n *\n * @module echarts/data/Tree\n */\n\n/**\n * @constructor module:echarts/data/Tree~TreeNode\n * @param {string} name\n * @param {module:echarts/data/Tree} hostTree\n */\nvar TreeNode = function (name, hostTree) {\n /**\n * @type {string}\n */\n this.name = name || '';\n /**\n * Depth of node\n *\n * @type {number}\n * @readOnly\n */\n\n this.depth = 0;\n /**\n * Height of the subtree rooted at this node.\n * @type {number}\n * @readOnly\n */\n\n this.height = 0;\n /**\n * @type {module:echarts/data/Tree~TreeNode}\n * @readOnly\n */\n\n this.parentNode = null;\n /**\n * Reference to list item.\n * Do not persistent dataIndex outside,\n * besause it may be changed by list.\n * If dataIndex -1,\n * this node is logical deleted (filtered) in list.\n *\n * @type {Object}\n * @readOnly\n */\n\n this.dataIndex = -1;\n /**\n * @type {Array.}\n * @readOnly\n */\n\n this.children = [];\n /**\n * @type {Array.}\n * @pubilc\n */\n\n this.viewChildren = [];\n /**\n * @type {moduel:echarts/data/Tree}\n * @readOnly\n */\n\n this.hostTree = hostTree;\n};\n\nTreeNode.prototype = {\n constructor: TreeNode,\n\n /**\n * The node is removed.\n * @return {boolean} is removed.\n */\n isRemoved: function () {\n return this.dataIndex < 0;\n },\n\n /**\n * Travel this subtree (include this node).\n * Usage:\n * node.eachNode(function () { ... }); // preorder\n * node.eachNode('preorder', function () { ... }); // preorder\n * node.eachNode('postorder', function () { ... }); // postorder\n * node.eachNode(\n * {order: 'postorder', attr: 'viewChildren'},\n * function () { ... }\n * ); // postorder\n *\n * @param {(Object|string)} options If string, means order.\n * @param {string=} options.order 'preorder' or 'postorder'\n * @param {string=} options.attr 'children' or 'viewChildren'\n * @param {Function} cb If in preorder and return false,\n * its subtree will not be visited.\n * @param {Object} [context]\n */\n eachNode: function (options, cb, context) {\n if (typeof options === 'function') {\n context = cb;\n cb = options;\n options = null;\n }\n\n options = options || {};\n\n if (zrUtil.isString(options)) {\n options = {\n order: options\n };\n }\n\n var order = options.order || 'preorder';\n var children = this[options.attr || 'children'];\n var suppressVisitSub;\n order === 'preorder' && (suppressVisitSub = cb.call(context, this));\n\n for (var i = 0; !suppressVisitSub && i < children.length; i++) {\n children[i].eachNode(options, cb, context);\n }\n\n order === 'postorder' && cb.call(context, this);\n },\n\n /**\n * Update depth and height of this subtree.\n *\n * @param {number} depth\n */\n updateDepthAndHeight: function (depth) {\n var height = 0;\n this.depth = depth;\n\n for (var i = 0; i < this.children.length; i++) {\n var child = this.children[i];\n child.updateDepthAndHeight(depth + 1);\n\n if (child.height > height) {\n height = child.height;\n }\n }\n\n this.height = height + 1;\n },\n\n /**\n * @param {string} id\n * @return {module:echarts/data/Tree~TreeNode}\n */\n getNodeById: function (id) {\n if (this.getId() === id) {\n return this;\n }\n\n for (var i = 0, children = this.children, len = children.length; i < len; i++) {\n var res = children[i].getNodeById(id);\n\n if (res) {\n return res;\n }\n }\n },\n\n /**\n * @param {module:echarts/data/Tree~TreeNode} node\n * @return {boolean}\n */\n contains: function (node) {\n if (node === this) {\n return true;\n }\n\n for (var i = 0, children = this.children, len = children.length; i < len; i++) {\n var res = children[i].contains(node);\n\n if (res) {\n return res;\n }\n }\n },\n\n /**\n * @param {boolean} includeSelf Default false.\n * @return {Array.} order: [root, child, grandchild, ...]\n */\n getAncestors: function (includeSelf) {\n var ancestors = [];\n var node = includeSelf ? this : this.parentNode;\n\n while (node) {\n ancestors.push(node);\n node = node.parentNode;\n }\n\n ancestors.reverse();\n return ancestors;\n },\n\n /**\n * @param {string|Array=} [dimension='value'] Default 'value'. can be 0, 1, 2, 3\n * @return {number} Value.\n */\n getValue: function (dimension) {\n var data = this.hostTree.data;\n return data.get(data.getDimension(dimension || 'value'), this.dataIndex);\n },\n\n /**\n * @param {Object} layout\n * @param {boolean=} [merge=false]\n */\n setLayout: function (layout, merge) {\n this.dataIndex >= 0 && this.hostTree.data.setItemLayout(this.dataIndex, layout, merge);\n },\n\n /**\n * @return {Object} layout\n */\n getLayout: function () {\n return this.hostTree.data.getItemLayout(this.dataIndex);\n },\n\n /**\n * @param {string} [path]\n * @return {module:echarts/model/Model}\n */\n getModel: function (path) {\n if (this.dataIndex < 0) {\n return;\n }\n\n var hostTree = this.hostTree;\n var itemModel = hostTree.data.getItemModel(this.dataIndex);\n var levelModel = this.getLevelModel();\n var leavesModel;\n\n if (!levelModel && (this.children.length === 0 || this.children.length !== 0 && this.isExpand === false)) {\n leavesModel = this.getLeavesModel();\n }\n\n return itemModel.getModel(path, (levelModel || leavesModel || hostTree.hostModel).getModel(path));\n },\n\n /**\n * @return {module:echarts/model/Model}\n */\n getLevelModel: function () {\n return (this.hostTree.levelModels || [])[this.depth];\n },\n\n /**\n * @return {module:echarts/model/Model}\n */\n getLeavesModel: function () {\n return this.hostTree.leavesModel;\n },\n\n /**\n * @example\n * setItemVisual('color', color);\n * setItemVisual({\n * 'color': color\n * });\n */\n setVisual: function (key, value) {\n this.dataIndex >= 0 && this.hostTree.data.setItemVisual(this.dataIndex, key, value);\n },\n\n /**\n * Get item visual\n */\n getVisual: function (key, ignoreParent) {\n return this.hostTree.data.getItemVisual(this.dataIndex, key, ignoreParent);\n },\n\n /**\n * @public\n * @return {number}\n */\n getRawIndex: function () {\n return this.hostTree.data.getRawIndex(this.dataIndex);\n },\n\n /**\n * @public\n * @return {string}\n */\n getId: function () {\n return this.hostTree.data.getId(this.dataIndex);\n },\n\n /**\n * if this is an ancestor of another node\n *\n * @public\n * @param {TreeNode} node another node\n * @return {boolean} if is ancestor\n */\n isAncestorOf: function (node) {\n var parent = node.parentNode;\n\n while (parent) {\n if (parent === this) {\n return true;\n }\n\n parent = parent.parentNode;\n }\n\n return false;\n },\n\n /**\n * if this is an descendant of another node\n *\n * @public\n * @param {TreeNode} node another node\n * @return {boolean} if is descendant\n */\n isDescendantOf: function (node) {\n return node !== this && node.isAncestorOf(this);\n }\n};\n/**\n * @constructor\n * @alias module:echarts/data/Tree\n * @param {module:echarts/model/Model} hostModel\n * @param {Array.} levelOptions\n * @param {Object} leavesOption\n */\n\nfunction Tree(hostModel, levelOptions, leavesOption) {\n /**\n * @type {module:echarts/data/Tree~TreeNode}\n * @readOnly\n */\n this.root;\n /**\n * @type {module:echarts/data/List}\n * @readOnly\n */\n\n this.data;\n /**\n * Index of each item is the same as the raw index of coresponding list item.\n * @private\n * @type {Array.} treeOptions.levels\n * @param {Array.} treeOptions.leaves\n * @return module:echarts/data/Tree\n */\n\nTree.createTree = function (dataRoot, hostModel, treeOptions) {\n var tree = new Tree(hostModel, treeOptions.levels, treeOptions.leaves);\n var listData = [];\n var dimMax = 1;\n buildHierarchy(dataRoot);\n\n function buildHierarchy(dataNode, parentNode) {\n var value = dataNode.value;\n dimMax = Math.max(dimMax, zrUtil.isArray(value) ? value.length : 1);\n listData.push(dataNode);\n var node = new TreeNode(dataNode.name, tree);\n parentNode ? addChild(node, parentNode) : tree.root = node;\n\n tree._nodes.push(node);\n\n var children = dataNode.children;\n\n if (children) {\n for (var i = 0; i < children.length; i++) {\n buildHierarchy(children[i], node);\n }\n }\n }\n\n tree.root.updateDepthAndHeight(0);\n var dimensionsInfo = createDimensions(listData, {\n coordDimensions: ['value'],\n dimensionsCount: dimMax\n });\n var list = new List(dimensionsInfo, hostModel);\n list.initData(listData);\n linkList({\n mainData: list,\n struct: tree,\n structAttr: 'tree'\n });\n tree.update();\n return tree;\n};\n/**\n * It is needed to consider the mess of 'list', 'hostModel' when creating a TreeNote,\n * so this function is not ready and not necessary to be public.\n *\n * @param {(module:echarts/data/Tree~TreeNode|Object)} child\n */\n\n\nfunction addChild(child, node) {\n var children = node.children;\n\n if (child.parentNode === node) {\n return;\n }\n\n children.push(child);\n child.parentNode = node;\n}\n\nvar _default = Tree;\nmodule.exports = _default;","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar VisualMapModel = require(\"./VisualMapModel\");\n\nvar VisualMapping = require(\"../../visual/VisualMapping\");\n\nvar visualDefault = require(\"../../visual/visualDefault\");\n\nvar _number = require(\"../../util/number\");\n\nvar reformIntervals = _number.reformIntervals;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PiecewiseModel = VisualMapModel.extend({\n type: 'visualMap.piecewise',\n\n /**\n * Order Rule:\n *\n * option.categories / option.pieces / option.text / option.selected:\n * If !option.inverse,\n * Order when vertical: ['top', ..., 'bottom'].\n * Order when horizontal: ['left', ..., 'right'].\n * If option.inverse, the meaning of\n * the order should be reversed.\n *\n * this._pieceList:\n * The order is always [low, ..., high].\n *\n * Mapping from location to low-high:\n * If !option.inverse\n * When vertical, top is high.\n * When horizontal, right is high.\n * If option.inverse, reverse.\n */\n\n /**\n * @protected\n */\n defaultOption: {\n selected: null,\n // Object. If not specified, means selected.\n // When pieces and splitNumber: {'0': true, '5': true}\n // When categories: {'cate1': false, 'cate3': true}\n // When selected === false, means all unselected.\n minOpen: false,\n // Whether include values that smaller than `min`.\n maxOpen: false,\n // Whether include values that bigger than `max`.\n align: 'auto',\n // 'auto', 'left', 'right'\n itemWidth: 20,\n // When put the controller vertically, it is the length of\n // horizontal side of each item. Otherwise, vertical side.\n itemHeight: 14,\n // When put the controller vertically, it is the length of\n // vertical side of each item. Otherwise, horizontal side.\n itemSymbol: 'roundRect',\n pieceList: null,\n // Each item is Object, with some of those attrs:\n // {min, max, lt, gt, lte, gte, value,\n // color, colorSaturation, colorAlpha, opacity,\n // symbol, symbolSize}, which customize the range or visual\n // coding of the certain piece. Besides, see \"Order Rule\".\n categories: null,\n // category names, like: ['some1', 'some2', 'some3'].\n // Attr min/max are ignored when categories set. See \"Order Rule\"\n splitNumber: 5,\n // If set to 5, auto split five pieces equally.\n // If set to 0 and component type not set, component type will be\n // determined as \"continuous\". (It is less reasonable but for ec2\n // compatibility, see echarts/component/visualMap/typeDefaulter)\n selectedMode: 'multiple',\n // Can be 'multiple' or 'single'.\n itemGap: 10,\n // The gap between two items, in px.\n hoverLink: true,\n // Enable hover highlight.\n showLabel: null // By default, when text is used, label will hide (the logic\n // is remained for compatibility reason)\n\n },\n\n /**\n * @override\n */\n optionUpdated: function (newOption, isInit) {\n PiecewiseModel.superApply(this, 'optionUpdated', arguments);\n /**\n * The order is always [low, ..., high].\n * [{text: string, interval: Array.}, ...]\n * @private\n * @type {Array.}\n */\n\n this._pieceList = [];\n this.resetExtent();\n /**\n * 'pieces', 'categories', 'splitNumber'\n * @type {string}\n */\n\n var mode = this._mode = this._determineMode();\n\n resetMethods[this._mode].call(this);\n\n this._resetSelected(newOption, isInit);\n\n var categories = this.option.categories;\n this.resetVisual(function (mappingOption, state) {\n if (mode === 'categories') {\n mappingOption.mappingMethod = 'category';\n mappingOption.categories = zrUtil.clone(categories);\n } else {\n mappingOption.dataExtent = this.getExtent();\n mappingOption.mappingMethod = 'piecewise';\n mappingOption.pieceList = zrUtil.map(this._pieceList, function (piece) {\n var piece = zrUtil.clone(piece);\n\n if (state !== 'inRange') {\n // FIXME\n // outOfRange do not support special visual in pieces.\n piece.visual = null;\n }\n\n return piece;\n });\n }\n });\n },\n\n /**\n * @protected\n * @override\n */\n completeVisualOption: function () {\n // Consider this case:\n // visualMap: {\n // pieces: [{symbol: 'circle', lt: 0}, {symbol: 'rect', gte: 0}]\n // }\n // where no inRange/outOfRange set but only pieces. So we should make\n // default inRange/outOfRange for this case, otherwise visuals that only\n // appear in `pieces` will not be taken into account in visual encoding.\n var option = this.option;\n var visualTypesInPieces = {};\n var visualTypes = VisualMapping.listVisualTypes();\n var isCategory = this.isCategory();\n zrUtil.each(option.pieces, function (piece) {\n zrUtil.each(visualTypes, function (visualType) {\n if (piece.hasOwnProperty(visualType)) {\n visualTypesInPieces[visualType] = 1;\n }\n });\n });\n zrUtil.each(visualTypesInPieces, function (v, visualType) {\n var exists = 0;\n zrUtil.each(this.stateList, function (state) {\n exists |= has(option, state, visualType) || has(option.target, state, visualType);\n }, this);\n !exists && zrUtil.each(this.stateList, function (state) {\n (option[state] || (option[state] = {}))[visualType] = visualDefault.get(visualType, state === 'inRange' ? 'active' : 'inactive', isCategory);\n });\n }, this);\n\n function has(obj, state, visualType) {\n return obj && obj[state] && (zrUtil.isObject(obj[state]) ? obj[state].hasOwnProperty(visualType) : obj[state] === visualType // e.g., inRange: 'symbol'\n );\n }\n\n VisualMapModel.prototype.completeVisualOption.apply(this, arguments);\n },\n _resetSelected: function (newOption, isInit) {\n var thisOption = this.option;\n var pieceList = this._pieceList; // Selected do not merge but all override.\n\n var selected = (isInit ? thisOption : newOption).selected || {};\n thisOption.selected = selected; // Consider 'not specified' means true.\n\n zrUtil.each(pieceList, function (piece, index) {\n var key = this.getSelectedMapKey(piece);\n\n if (!selected.hasOwnProperty(key)) {\n selected[key] = true;\n }\n }, this);\n\n if (thisOption.selectedMode === 'single') {\n // Ensure there is only one selected.\n var hasSel = false;\n zrUtil.each(pieceList, function (piece, index) {\n var key = this.getSelectedMapKey(piece);\n\n if (selected[key]) {\n hasSel ? selected[key] = false : hasSel = true;\n }\n }, this);\n } // thisOption.selectedMode === 'multiple', default: all selected.\n\n },\n\n /**\n * @public\n */\n getSelectedMapKey: function (piece) {\n return this._mode === 'categories' ? piece.value + '' : piece.index + '';\n },\n\n /**\n * @public\n */\n getPieceList: function () {\n return this._pieceList;\n },\n\n /**\n * @private\n * @return {string}\n */\n _determineMode: function () {\n var option = this.option;\n return option.pieces && option.pieces.length > 0 ? 'pieces' : this.option.categories ? 'categories' : 'splitNumber';\n },\n\n /**\n * @public\n * @override\n */\n setSelected: function (selected) {\n this.option.selected = zrUtil.clone(selected);\n },\n\n /**\n * @public\n * @override\n */\n getValueState: function (value) {\n var index = VisualMapping.findPieceIndex(value, this._pieceList);\n return index != null ? this.option.selected[this.getSelectedMapKey(this._pieceList[index])] ? 'inRange' : 'outOfRange' : 'outOfRange';\n },\n\n /**\n * @public\n * @params {number} pieceIndex piece index in visualMapModel.getPieceList()\n * @return {Array.} [{seriesId, dataIndices: >}, ...]\n */\n findTargetDataIndices: function (pieceIndex) {\n var result = [];\n this.eachTargetSeries(function (seriesModel) {\n var dataIndices = [];\n var data = seriesModel.getData();\n data.each(this.getDataDimension(data), function (value, dataIndex) {\n // Should always base on model pieceList, because it is order sensitive.\n var pIdx = VisualMapping.findPieceIndex(value, this._pieceList);\n pIdx === pieceIndex && dataIndices.push(dataIndex);\n }, this);\n result.push({\n seriesId: seriesModel.id,\n dataIndex: dataIndices\n });\n }, this);\n return result;\n },\n\n /**\n * @private\n * @param {Object} piece piece.value or piece.interval is required.\n * @return {number} Can be Infinity or -Infinity\n */\n getRepresentValue: function (piece) {\n var representValue;\n\n if (this.isCategory()) {\n representValue = piece.value;\n } else {\n if (piece.value != null) {\n representValue = piece.value;\n } else {\n var pieceInterval = piece.interval || [];\n representValue = pieceInterval[0] === -Infinity && pieceInterval[1] === Infinity ? 0 : (pieceInterval[0] + pieceInterval[1]) / 2;\n }\n }\n\n return representValue;\n },\n getVisualMeta: function (getColorVisual) {\n // Do not support category. (category axis is ordinal, numerical)\n if (this.isCategory()) {\n return;\n }\n\n var stops = [];\n var outerColors = [];\n var visualMapModel = this;\n\n function setStop(interval, valueState) {\n var representValue = visualMapModel.getRepresentValue({\n interval: interval\n });\n\n if (!valueState) {\n valueState = visualMapModel.getValueState(representValue);\n }\n\n var color = getColorVisual(representValue, valueState);\n\n if (interval[0] === -Infinity) {\n outerColors[0] = color;\n } else if (interval[1] === Infinity) {\n outerColors[1] = color;\n } else {\n stops.push({\n value: interval[0],\n color: color\n }, {\n value: interval[1],\n color: color\n });\n }\n } // Suplement\n\n\n var pieceList = this._pieceList.slice();\n\n if (!pieceList.length) {\n pieceList.push({\n interval: [-Infinity, Infinity]\n });\n } else {\n var edge = pieceList[0].interval[0];\n edge !== -Infinity && pieceList.unshift({\n interval: [-Infinity, edge]\n });\n edge = pieceList[pieceList.length - 1].interval[1];\n edge !== Infinity && pieceList.push({\n interval: [edge, Infinity]\n });\n }\n\n var curr = -Infinity;\n zrUtil.each(pieceList, function (piece) {\n var interval = piece.interval;\n\n if (interval) {\n // Fulfill gap.\n interval[0] > curr && setStop([curr, interval[0]], 'outOfRange');\n setStop(interval.slice());\n curr = interval[1];\n }\n }, this);\n return {\n stops: stops,\n outerColors: outerColors\n };\n }\n});\n/**\n * Key is this._mode\n * @type {Object}\n * @this {module:echarts/component/viusalMap/PiecewiseMode}\n */\n\nvar resetMethods = {\n splitNumber: function () {\n var thisOption = this.option;\n var pieceList = this._pieceList;\n var precision = Math.min(thisOption.precision, 20);\n var dataExtent = this.getExtent();\n var splitNumber = thisOption.splitNumber;\n splitNumber = Math.max(parseInt(splitNumber, 10), 1);\n thisOption.splitNumber = splitNumber;\n var splitStep = (dataExtent[1] - dataExtent[0]) / splitNumber; // Precision auto-adaption\n\n while (+splitStep.toFixed(precision) !== splitStep && precision < 5) {\n precision++;\n }\n\n thisOption.precision = precision;\n splitStep = +splitStep.toFixed(precision);\n var index = 0;\n\n if (thisOption.minOpen) {\n pieceList.push({\n index: index++,\n interval: [-Infinity, dataExtent[0]],\n close: [0, 0]\n });\n }\n\n for (var curr = dataExtent[0], len = index + splitNumber; index < len; curr += splitStep) {\n var max = index === splitNumber - 1 ? dataExtent[1] : curr + splitStep;\n pieceList.push({\n index: index++,\n interval: [curr, max],\n close: [1, 1]\n });\n }\n\n if (thisOption.maxOpen) {\n pieceList.push({\n index: index++,\n interval: [dataExtent[1], Infinity],\n close: [0, 0]\n });\n }\n\n reformIntervals(pieceList);\n zrUtil.each(pieceList, function (piece) {\n piece.text = this.formatValueText(piece.interval);\n }, this);\n },\n categories: function () {\n var thisOption = this.option;\n zrUtil.each(thisOption.categories, function (cate) {\n // FIXME category模式也使用pieceList,但在visualMapping中不是使用pieceList。\n // 是否改一致。\n this._pieceList.push({\n text: this.formatValueText(cate, true),\n value: cate\n });\n }, this); // See \"Order Rule\".\n\n normalizeReverse(thisOption, this._pieceList);\n },\n pieces: function () {\n var thisOption = this.option;\n var pieceList = this._pieceList;\n zrUtil.each(thisOption.pieces, function (pieceListItem, index) {\n if (!zrUtil.isObject(pieceListItem)) {\n pieceListItem = {\n value: pieceListItem\n };\n }\n\n var item = {\n text: '',\n index: index\n };\n\n if (pieceListItem.label != null) {\n item.text = pieceListItem.label;\n }\n\n if (pieceListItem.hasOwnProperty('value')) {\n var value = item.value = pieceListItem.value;\n item.interval = [value, value];\n item.close = [1, 1];\n } else {\n // `min` `max` is legacy option.\n // `lt` `gt` `lte` `gte` is recommanded.\n var interval = item.interval = [];\n var close = item.close = [0, 0];\n var closeList = [1, 0, 1];\n var infinityList = [-Infinity, Infinity];\n var useMinMax = [];\n\n for (var lg = 0; lg < 2; lg++) {\n var names = [['gte', 'gt', 'min'], ['lte', 'lt', 'max']][lg];\n\n for (var i = 0; i < 3 && interval[lg] == null; i++) {\n interval[lg] = pieceListItem[names[i]];\n close[lg] = closeList[i];\n useMinMax[lg] = i === 2;\n }\n\n interval[lg] == null && (interval[lg] = infinityList[lg]);\n }\n\n useMinMax[0] && interval[1] === Infinity && (close[0] = 0);\n useMinMax[1] && interval[0] === -Infinity && (close[1] = 0);\n\n if (interval[0] === interval[1] && close[0] && close[1]) {\n // Consider: [{min: 5, max: 5, visual: {...}}, {min: 0, max: 5}],\n // we use value to lift the priority when min === max\n item.value = interval[0];\n }\n }\n\n item.visual = VisualMapping.retrieveVisuals(pieceListItem);\n pieceList.push(item);\n }, this); // See \"Order Rule\".\n\n normalizeReverse(thisOption, pieceList); // Only pieces\n\n reformIntervals(pieceList);\n zrUtil.each(pieceList, function (piece) {\n var close = piece.close;\n var edgeSymbols = [['<', '≤'][close[1]], ['>', '≥'][close[0]]];\n piece.text = piece.text || this.formatValueText(piece.value != null ? piece.value : piece.interval, false, edgeSymbols);\n }, this);\n }\n};\n\nfunction normalizeReverse(thisOption, pieceList) {\n var inverse = thisOption.inverse;\n\n if (thisOption.orient === 'vertical' ? !inverse : inverse) {\n pieceList.reverse();\n }\n}\n\nvar _default = PiecewiseModel;\nmodule.exports = _default;","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar zrColor = require(\"zrender/lib/tool/color\");\n\nvar eventUtil = require(\"zrender/lib/core/event\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar formatUtil = require(\"../../util/format\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar toCamelCase = formatUtil.toCamelCase;\nvar vendors = ['', '-webkit-', '-moz-', '-o-'];\nvar gCssText = 'position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;';\n/**\n * @param {number} duration\n * @return {string}\n * @inner\n */\n\nfunction assembleTransition(duration) {\n var transitionCurve = 'cubic-bezier(0.23, 1, 0.32, 1)';\n var transitionText = 'left ' + duration + 's ' + transitionCurve + ',' + 'top ' + duration + 's ' + transitionCurve;\n return zrUtil.map(vendors, function (vendorPrefix) {\n return vendorPrefix + 'transition:' + transitionText;\n }).join(';');\n}\n/**\n * @param {Object} textStyle\n * @return {string}\n * @inner\n */\n\n\nfunction assembleFont(textStyleModel) {\n var cssText = [];\n var fontSize = textStyleModel.get('fontSize');\n var color = textStyleModel.getTextColor();\n color && cssText.push('color:' + color);\n cssText.push('font:' + textStyleModel.getFont());\n fontSize && cssText.push('line-height:' + Math.round(fontSize * 3 / 2) + 'px');\n each(['decoration', 'align'], function (name) {\n var val = textStyleModel.get(name);\n val && cssText.push('text-' + name + ':' + val);\n });\n return cssText.join(';');\n}\n/**\n * @param {Object} tooltipModel\n * @return {string}\n * @inner\n */\n\n\nfunction assembleCssText(tooltipModel) {\n var cssText = [];\n var transitionDuration = tooltipModel.get('transitionDuration');\n var backgroundColor = tooltipModel.get('backgroundColor');\n var textStyleModel = tooltipModel.getModel('textStyle');\n var padding = tooltipModel.get('padding'); // Animation transition. Do not animate when transitionDuration is 0.\n\n transitionDuration && cssText.push(assembleTransition(transitionDuration));\n\n if (backgroundColor) {\n if (env.canvasSupported) {\n cssText.push('background-Color:' + backgroundColor);\n } else {\n // for ie\n cssText.push('background-Color:#' + zrColor.toHex(backgroundColor));\n cssText.push('filter:alpha(opacity=70)');\n }\n } // Border style\n\n\n each(['width', 'color', 'radius'], function (name) {\n var borderName = 'border-' + name;\n var camelCase = toCamelCase(borderName);\n var val = tooltipModel.get(camelCase);\n val != null && cssText.push(borderName + ':' + val + (name === 'color' ? '' : 'px'));\n }); // Text style\n\n cssText.push(assembleFont(textStyleModel)); // Padding\n\n if (padding != null) {\n cssText.push('padding:' + formatUtil.normalizeCssArray(padding).join('px ') + 'px');\n }\n\n return cssText.join(';') + ';';\n}\n/**\n * @alias module:echarts/component/tooltip/TooltipContent\n * @constructor\n */\n\n\nfunction TooltipContent(container, api) {\n if (env.wxa) {\n return null;\n }\n\n var el = document.createElement('div');\n var zr = this._zr = api.getZr();\n this.el = el;\n this._x = api.getWidth() / 2;\n this._y = api.getHeight() / 2;\n container.appendChild(el);\n this._container = container;\n this._show = false;\n /**\n * @private\n */\n\n this._hideTimeout;\n var self = this;\n\n el.onmouseenter = function () {\n // clear the timeout in hideLater and keep showing tooltip\n if (self._enterable) {\n clearTimeout(self._hideTimeout);\n self._show = true;\n }\n\n self._inContent = true;\n };\n\n el.onmousemove = function (e) {\n e = e || window.event;\n\n if (!self._enterable) {\n // Try trigger zrender event to avoid mouse\n // in and out shape too frequently\n var handler = zr.handler;\n eventUtil.normalizeEvent(container, e, true);\n handler.dispatch('mousemove', e);\n }\n };\n\n el.onmouseleave = function () {\n if (self._enterable) {\n if (self._show) {\n self.hideLater(self._hideDelay);\n }\n }\n\n self._inContent = false;\n };\n}\n\nTooltipContent.prototype = {\n constructor: TooltipContent,\n\n /**\n * @private\n * @type {boolean}\n */\n _enterable: true,\n\n /**\n * Update when tooltip is rendered\n */\n update: function () {\n // FIXME\n // Move this logic to ec main?\n var container = this._container;\n var stl = container.currentStyle || document.defaultView.getComputedStyle(container);\n var domStyle = container.style;\n\n if (domStyle.position !== 'absolute' && stl.position !== 'absolute') {\n domStyle.position = 'relative';\n } // Hide the tooltip\n // PENDING\n // this.hide();\n\n },\n show: function (tooltipModel) {\n clearTimeout(this._hideTimeout);\n var el = this.el;\n el.style.cssText = gCssText + assembleCssText(tooltipModel) // http://stackoverflow.com/questions/21125587/css3-transition-not-working-in-chrome-anymore\n + ';left:' + this._x + 'px;top:' + this._y + 'px;' + (tooltipModel.get('extraCssText') || '');\n el.style.display = el.innerHTML ? 'block' : 'none'; // If mouse occsionally move over the tooltip, a mouseout event will be\n // triggered by canvas, and cuase some unexpectable result like dragging\n // stop, \"unfocusAdjacency\". Here `pointer-events: none` is used to solve\n // it. Although it is not suppored by IE8~IE10, fortunately it is a rare\n // scenario.\n\n el.style.pointerEvents = this._enterable ? 'auto' : 'none';\n this._show = true;\n },\n setContent: function (content) {\n this.el.innerHTML = content == null ? '' : content;\n },\n setEnterable: function (enterable) {\n this._enterable = enterable;\n },\n getSize: function () {\n var el = this.el;\n return [el.clientWidth, el.clientHeight];\n },\n moveTo: function (x, y) {\n // xy should be based on canvas root. But tooltipContent is\n // the sibling of canvas root. So padding of ec container\n // should be considered here.\n var zr = this._zr;\n var viewportRootOffset;\n\n if (zr && zr.painter && (viewportRootOffset = zr.painter.getViewportRootOffset())) {\n x += viewportRootOffset.offsetLeft;\n y += viewportRootOffset.offsetTop;\n }\n\n var style = this.el.style;\n style.left = x + 'px';\n style.top = y + 'px';\n this._x = x;\n this._y = y;\n },\n hide: function () {\n this.el.style.display = 'none';\n this._show = false;\n },\n hideLater: function (time) {\n if (this._show && !(this._inContent && this._enterable)) {\n if (time) {\n this._hideDelay = time; // Set show false to avoid invoke hideLater mutiple times\n\n this._show = false;\n this._hideTimeout = setTimeout(zrUtil.bind(this.hide, this), time);\n } else {\n this.hide();\n }\n }\n },\n isShow: function () {\n return this._show;\n },\n getOuterSize: function () {\n var width = this.el.clientWidth;\n var height = this.el.clientHeight; // Consider browser compatibility.\n // IE8 does not support getComputedStyle.\n\n if (document.defaultView && document.defaultView.getComputedStyle) {\n var stl = document.defaultView.getComputedStyle(this.el);\n\n if (stl) {\n width += parseInt(stl.paddingLeft, 10) + parseInt(stl.paddingRight, 10) + parseInt(stl.borderLeftWidth, 10) + parseInt(stl.borderRightWidth, 10);\n height += parseInt(stl.paddingTop, 10) + parseInt(stl.paddingBottom, 10) + parseInt(stl.borderTopWidth, 10) + parseInt(stl.borderBottomWidth, 10);\n }\n }\n\n return {\n width: width,\n height: height\n };\n }\n};\nvar _default = TooltipContent;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./gauge/GaugeSeries\");\n\nrequire(\"./gauge/GaugeView\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"../component/parallel\");\n\nrequire(\"./parallel/ParallelSeries\");\n\nrequire(\"./parallel/ParallelView\");\n\nvar parallelVisual = require(\"./parallel/parallelVisual\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(parallelVisual);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./candlestick/CandlestickSeries\");\n\nrequire(\"./candlestick/CandlestickView\");\n\nvar preprocessor = require(\"./candlestick/preprocessor\");\n\nvar candlestickVisual = require(\"./candlestick/candlestickVisual\");\n\nvar candlestickLayout = require(\"./candlestick/candlestickLayout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerPreprocessor(preprocessor);\necharts.registerVisual(candlestickVisual);\necharts.registerLayout(candlestickLayout);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../../coord/Axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Extend axis 2d\n * @constructor module:echarts/coord/cartesian/Axis2D\n * @extends {module:echarts/coord/cartesian/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n * @param {string} position\n */\nvar TimelineAxis = function (dim, scale, coordExtent, axisType) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * Axis model\n * @param {module:echarts/component/TimelineModel}\n */\n\n this.model = null;\n};\n\nTimelineAxis.prototype = {\n constructor: TimelineAxis,\n\n /**\n * @override\n */\n getLabelModel: function () {\n return this.model.getModel('label');\n },\n\n /**\n * @override\n */\n isHorizontal: function () {\n return this.model.get('orient') === 'horizontal';\n }\n};\nzrUtil.inherits(TimelineAxis, Axis);\nvar _default = TimelineAxis;\nmodule.exports = _default;","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _graphic = require(\"../../util/graphic\");\n\nvar subPixelOptimize = _graphic.subPixelOptimize;\n\nvar createRenderPlanner = require(\"../helper/createRenderPlanner\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar retrieve2 = _util.retrieve2;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Float32Array */\nvar LargeArr = typeof Float32Array !== 'undefined' ? Float32Array : Array;\nvar _default = {\n seriesType: 'candlestick',\n plan: createRenderPlanner(),\n reset: function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var data = seriesModel.getData();\n var candleWidth = calculateCandleWidth(seriesModel, data);\n var cDimIdx = 0;\n var vDimIdx = 1;\n var coordDims = ['x', 'y'];\n var cDim = data.mapDimension(coordDims[cDimIdx]);\n var vDims = data.mapDimension(coordDims[vDimIdx], true);\n var openDim = vDims[0];\n var closeDim = vDims[1];\n var lowestDim = vDims[2];\n var highestDim = vDims[3];\n data.setLayout({\n candleWidth: candleWidth,\n // The value is experimented visually.\n isSimpleBox: candleWidth <= 1.3\n });\n\n if (cDim == null || vDims.length < 4) {\n return;\n }\n\n return {\n progress: seriesModel.pipelineContext.large ? largeProgress : normalProgress\n };\n\n function normalProgress(params, data) {\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = data.get(cDim, dataIndex);\n var openVal = data.get(openDim, dataIndex);\n var closeVal = data.get(closeDim, dataIndex);\n var lowestVal = data.get(lowestDim, dataIndex);\n var highestVal = data.get(highestDim, dataIndex);\n var ocLow = Math.min(openVal, closeVal);\n var ocHigh = Math.max(openVal, closeVal);\n var ocLowPoint = getPoint(ocLow, axisDimVal);\n var ocHighPoint = getPoint(ocHigh, axisDimVal);\n var lowestPoint = getPoint(lowestVal, axisDimVal);\n var highestPoint = getPoint(highestVal, axisDimVal);\n var ends = [];\n addBodyEnd(ends, ocHighPoint, 0);\n addBodyEnd(ends, ocLowPoint, 1);\n ends.push(subPixelOptimizePoint(highestPoint), subPixelOptimizePoint(ocHighPoint), subPixelOptimizePoint(lowestPoint), subPixelOptimizePoint(ocLowPoint));\n data.setItemLayout(dataIndex, {\n sign: getSign(data, dataIndex, openVal, closeVal, closeDim),\n initBaseline: openVal > closeVal ? ocHighPoint[vDimIdx] : ocLowPoint[vDimIdx],\n // open point.\n ends: ends,\n brushRect: makeBrushRect(lowestVal, highestVal, axisDimVal)\n });\n }\n\n function getPoint(val, axisDimVal) {\n var p = [];\n p[cDimIdx] = axisDimVal;\n p[vDimIdx] = val;\n return isNaN(axisDimVal) || isNaN(val) ? [NaN, NaN] : coordSys.dataToPoint(p);\n }\n\n function addBodyEnd(ends, point, start) {\n var point1 = point.slice();\n var point2 = point.slice();\n point1[cDimIdx] = subPixelOptimize(point1[cDimIdx] + candleWidth / 2, 1, false);\n point2[cDimIdx] = subPixelOptimize(point2[cDimIdx] - candleWidth / 2, 1, true);\n start ? ends.push(point1, point2) : ends.push(point2, point1);\n }\n\n function makeBrushRect(lowestVal, highestVal, axisDimVal) {\n var pmin = getPoint(lowestVal, axisDimVal);\n var pmax = getPoint(highestVal, axisDimVal);\n pmin[cDimIdx] -= candleWidth / 2;\n pmax[cDimIdx] -= candleWidth / 2;\n return {\n x: pmin[0],\n y: pmin[1],\n width: vDimIdx ? candleWidth : pmax[0] - pmin[0],\n height: vDimIdx ? pmax[1] - pmin[1] : candleWidth\n };\n }\n\n function subPixelOptimizePoint(point) {\n point[cDimIdx] = subPixelOptimize(point[cDimIdx], 1);\n return point;\n }\n }\n\n function largeProgress(params, data) {\n // Structure: [sign, x, yhigh, ylow, sign, x, yhigh, ylow, ...]\n var points = new LargeArr(params.count * 5);\n var offset = 0;\n var point;\n var tmpIn = [];\n var tmpOut = [];\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = data.get(cDim, dataIndex);\n var openVal = data.get(openDim, dataIndex);\n var closeVal = data.get(closeDim, dataIndex);\n var lowestVal = data.get(lowestDim, dataIndex);\n var highestVal = data.get(highestDim, dataIndex);\n\n if (isNaN(axisDimVal) || isNaN(lowestVal) || isNaN(highestVal)) {\n points[offset++] = NaN;\n offset += 4;\n continue;\n }\n\n points[offset++] = getSign(data, dataIndex, openVal, closeVal, closeDim);\n tmpIn[cDimIdx] = axisDimVal;\n tmpIn[vDimIdx] = lowestVal;\n point = coordSys.dataToPoint(tmpIn, null, tmpOut);\n points[offset++] = point ? point[0] : NaN;\n points[offset++] = point ? point[1] : NaN;\n tmpIn[vDimIdx] = highestVal;\n point = coordSys.dataToPoint(tmpIn, null, tmpOut);\n points[offset++] = point ? point[1] : NaN;\n }\n\n data.setLayout('largePoints', points);\n }\n }\n};\n\nfunction getSign(data, dataIndex, openVal, closeVal, closeDim) {\n var sign;\n\n if (openVal > closeVal) {\n sign = -1;\n } else if (openVal < closeVal) {\n sign = 1;\n } else {\n sign = dataIndex > 0 // If close === open, compare with close of last record\n ? data.get(closeDim, dataIndex - 1) <= closeVal ? 1 : -1 : // No record of previous, set to be positive\n 1;\n }\n\n return sign;\n}\n\nfunction calculateCandleWidth(seriesModel, data) {\n var baseAxis = seriesModel.getBaseAxis();\n var extent;\n var bandWidth = baseAxis.type === 'category' ? baseAxis.getBandWidth() : (extent = baseAxis.getExtent(), Math.abs(extent[1] - extent[0]) / data.count());\n var barMaxWidth = parsePercent(retrieve2(seriesModel.get('barMaxWidth'), bandWidth), bandWidth);\n var barMinWidth = parsePercent(retrieve2(seriesModel.get('barMinWidth'), 1), bandWidth);\n var barWidth = seriesModel.get('barWidth');\n return barWidth != null ? parsePercent(barWidth, bandWidth) // Put max outer to ensure bar visible in spite of overlap.\n : Math.max(Math.min(bandWidth / 2, barMaxWidth), barMinWidth);\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./dataZoom/typeDefaulter\");\n\nrequire(\"./dataZoom/DataZoomModel\");\n\nrequire(\"./dataZoom/DataZoomView\");\n\nrequire(\"./dataZoom/SliderZoomModel\");\n\nrequire(\"./dataZoom/SliderZoomView\");\n\nrequire(\"./dataZoom/InsideZoomModel\");\n\nrequire(\"./dataZoom/InsideZoomView\");\n\nrequire(\"./dataZoom/dataZoomProcessor\");\n\nrequire(\"./dataZoom/dataZoomAction\");","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length or index');\n return length;\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","var eventUtil = require(\"./event\");\n\n/**\n * Only implements needed gestures for mobile.\n */\nvar GestureMgr = function () {\n /**\n * @private\n * @type {Array.}\n */\n this._track = [];\n};\n\nGestureMgr.prototype = {\n constructor: GestureMgr,\n recognize: function (event, target, root) {\n this._doTrack(event, target, root);\n\n return this._recognize(event);\n },\n clear: function () {\n this._track.length = 0;\n return this;\n },\n _doTrack: function (event, target, root) {\n var touches = event.touches;\n\n if (!touches) {\n return;\n }\n\n var trackItem = {\n points: [],\n touches: [],\n target: target,\n event: event\n };\n\n for (var i = 0, len = touches.length; i < len; i++) {\n var touch = touches[i];\n var pos = eventUtil.clientToLocal(root, touch, {});\n trackItem.points.push([pos.zrX, pos.zrY]);\n trackItem.touches.push(touch);\n }\n\n this._track.push(trackItem);\n },\n _recognize: function (event) {\n for (var eventName in recognizers) {\n if (recognizers.hasOwnProperty(eventName)) {\n var gestureInfo = recognizers[eventName](this._track, event);\n\n if (gestureInfo) {\n return gestureInfo;\n }\n }\n }\n }\n};\n\nfunction dist(pointPair) {\n var dx = pointPair[1][0] - pointPair[0][0];\n var dy = pointPair[1][1] - pointPair[0][1];\n return Math.sqrt(dx * dx + dy * dy);\n}\n\nfunction center(pointPair) {\n return [(pointPair[0][0] + pointPair[1][0]) / 2, (pointPair[0][1] + pointPair[1][1]) / 2];\n}\n\nvar recognizers = {\n pinch: function (track, event) {\n var trackLen = track.length;\n\n if (!trackLen) {\n return;\n }\n\n var pinchEnd = (track[trackLen - 1] || {}).points;\n var pinchPre = (track[trackLen - 2] || {}).points || pinchEnd;\n\n if (pinchPre && pinchPre.length > 1 && pinchEnd && pinchEnd.length > 1) {\n var pinchScale = dist(pinchEnd) / dist(pinchPre);\n !isFinite(pinchScale) && (pinchScale = 1);\n event.pinchScale = pinchScale;\n var pinchCenter = center(pinchEnd);\n event.pinchX = pinchCenter[0];\n event.pinchY = pinchCenter[1];\n return {\n type: 'pinch',\n target: track[0].target,\n event: event\n };\n }\n } // Only pinch currently.\n\n};\nvar _default = GestureMgr;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./legend\");\n\nrequire(\"./legend/ScrollableLegendModel\");\n\nrequire(\"./legend/ScrollableLegendView\");\n\nrequire(\"./legend/scrollableLegendAction\");","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// Myers' Diff Algorithm\n// Modified from https://github.com/kpdecker/jsdiff/blob/master/src/diff/base.js\nfunction Diff() {}\n\nDiff.prototype = {\n diff: function (oldArr, newArr, equals) {\n if (!equals) {\n equals = function (a, b) {\n return a === b;\n };\n }\n\n this.equals = equals;\n var self = this;\n oldArr = oldArr.slice();\n newArr = newArr.slice(); // Allow subclasses to massage the input prior to running\n\n var newLen = newArr.length;\n var oldLen = oldArr.length;\n var editLength = 1;\n var maxEditLength = newLen + oldLen;\n var bestPath = [{\n newPos: -1,\n components: []\n }]; // Seed editLength = 0, i.e. the content starts with the same values\n\n var oldPos = this.extractCommon(bestPath[0], newArr, oldArr, 0);\n\n if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n var indices = [];\n\n for (var i = 0; i < newArr.length; i++) {\n indices.push(i);\n } // Identity per the equality and tokenizer\n\n\n return [{\n indices: indices,\n count: newArr.length\n }];\n } // Main worker method. checks all permutations of a given edit length for acceptance.\n\n\n function execEditLength() {\n for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {\n var basePath;\n var addPath = bestPath[diagonalPath - 1];\n var removePath = bestPath[diagonalPath + 1];\n var oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;\n\n if (addPath) {\n // No one else is going to attempt to use this value, clear it\n bestPath[diagonalPath - 1] = undefined;\n }\n\n var canAdd = addPath && addPath.newPos + 1 < newLen;\n var canRemove = removePath && 0 <= oldPos && oldPos < oldLen;\n\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n bestPath[diagonalPath] = undefined;\n continue;\n } // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the new string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n\n\n if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {\n basePath = clonePath(removePath);\n self.pushComponent(basePath.components, undefined, true);\n } else {\n basePath = addPath; // No need to clone, we've pulled it from the list\n\n basePath.newPos++;\n self.pushComponent(basePath.components, true, undefined);\n }\n\n oldPos = self.extractCommon(basePath, newArr, oldArr, diagonalPath); // If we have hit the end of both strings, then we are done\n\n if (basePath.newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n return buildValues(self, basePath.components, newArr, oldArr);\n } else {\n // Otherwise track this path as a potential candidate and continue.\n bestPath[diagonalPath] = basePath;\n }\n }\n\n editLength++;\n }\n\n while (editLength <= maxEditLength) {\n var ret = execEditLength();\n\n if (ret) {\n return ret;\n }\n }\n },\n pushComponent: function (components, added, removed) {\n var last = components[components.length - 1];\n\n if (last && last.added === added && last.removed === removed) {\n // We need to clone here as the component clone operation is just\n // as shallow array clone\n components[components.length - 1] = {\n count: last.count + 1,\n added: added,\n removed: removed\n };\n } else {\n components.push({\n count: 1,\n added: added,\n removed: removed\n });\n }\n },\n extractCommon: function (basePath, newArr, oldArr, diagonalPath) {\n var newLen = newArr.length;\n var oldLen = oldArr.length;\n var newPos = basePath.newPos;\n var oldPos = newPos - diagonalPath;\n var commonCount = 0;\n\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newArr[newPos + 1], oldArr[oldPos + 1])) {\n newPos++;\n oldPos++;\n commonCount++;\n }\n\n if (commonCount) {\n basePath.components.push({\n count: commonCount\n });\n }\n\n basePath.newPos = newPos;\n return oldPos;\n },\n tokenize: function (value) {\n return value.slice();\n },\n join: function (value) {\n return value.slice();\n }\n};\n\nfunction buildValues(diff, components, newArr, oldArr) {\n var componentPos = 0;\n var componentLen = components.length;\n var newPos = 0;\n var oldPos = 0;\n\n for (; componentPos < componentLen; componentPos++) {\n var component = components[componentPos];\n\n if (!component.removed) {\n var indices = [];\n\n for (var i = newPos; i < newPos + component.count; i++) {\n indices.push(i);\n }\n\n component.indices = indices;\n newPos += component.count; // Common case\n\n if (!component.added) {\n oldPos += component.count;\n }\n } else {\n var indices = [];\n\n for (var i = oldPos; i < oldPos + component.count; i++) {\n indices.push(i);\n }\n\n component.indices = indices;\n oldPos += component.count;\n }\n }\n\n return components;\n}\n\nfunction clonePath(path) {\n return {\n newPos: path.newPos,\n components: path.components.slice(0)\n };\n}\n\nvar arrayDiff = new Diff();\n\nfunction _default(oldArr, newArr, callback) {\n return arrayDiff.diff(oldArr, newArr, callback);\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar RoamController = require(\"./RoamController\");\n\nvar roamHelper = require(\"../../component/helper/roamHelper\");\n\nvar _cursorHelper = require(\"../../component/helper/cursorHelper\");\n\nvar onIrrelevantElement = _cursorHelper.onIrrelevantElement;\n\nvar graphic = require(\"../../util/graphic\");\n\nvar geoSourceManager = require(\"../../coord/geo/geoSourceManager\");\n\nvar _component = require(\"../../util/component\");\n\nvar getUID = _component.getUID;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction getFixedItemStyle(model, scale) {\n var itemStyle = model.getItemStyle();\n var areaColor = model.get('areaColor'); // If user want the color not to be changed when hover,\n // they should both set areaColor and color to be null.\n\n if (areaColor != null) {\n itemStyle.fill = areaColor;\n }\n\n return itemStyle;\n}\n\nfunction updateMapSelectHandler(mapDraw, mapOrGeoModel, regionsGroup, api, fromView) {\n regionsGroup.off('click');\n regionsGroup.off('mousedown');\n\n if (mapOrGeoModel.get('selectedMode')) {\n regionsGroup.on('mousedown', function () {\n mapDraw._mouseDownFlag = true;\n });\n regionsGroup.on('click', function (e) {\n if (!mapDraw._mouseDownFlag) {\n return;\n }\n\n mapDraw._mouseDownFlag = false;\n var el = e.target;\n\n while (!el.__regions) {\n el = el.parent;\n }\n\n if (!el) {\n return;\n }\n\n var action = {\n type: (mapOrGeoModel.mainType === 'geo' ? 'geo' : 'map') + 'ToggleSelect',\n batch: zrUtil.map(el.__regions, function (region) {\n return {\n name: region.name,\n from: fromView.uid\n };\n })\n };\n action[mapOrGeoModel.mainType + 'Id'] = mapOrGeoModel.id;\n api.dispatchAction(action);\n updateMapSelected(mapOrGeoModel, regionsGroup);\n });\n }\n}\n\nfunction updateMapSelected(mapOrGeoModel, regionsGroup) {\n // FIXME\n regionsGroup.eachChild(function (otherRegionEl) {\n zrUtil.each(otherRegionEl.__regions, function (region) {\n otherRegionEl.trigger(mapOrGeoModel.isSelected(region.name) ? 'emphasis' : 'normal');\n });\n });\n}\n/**\n * @alias module:echarts/component/helper/MapDraw\n * @param {module:echarts/ExtensionAPI} api\n * @param {boolean} updateGroup\n */\n\n\nfunction MapDraw(api, updateGroup) {\n var group = new graphic.Group();\n /**\n * @type {string}\n * @private\n */\n\n this.uid = getUID('ec_map_draw');\n /**\n * @type {module:echarts/component/helper/RoamController}\n * @private\n */\n\n this._controller = new RoamController(api.getZr());\n /**\n * @type {Object} {target, zoom, zoomLimit}\n * @private\n */\n\n this._controllerHost = {\n target: updateGroup ? group : null\n };\n /**\n * @type {module:zrender/container/Group}\n * @readOnly\n */\n\n this.group = group;\n /**\n * @type {boolean}\n * @private\n */\n\n this._updateGroup = updateGroup;\n /**\n * This flag is used to make sure that only one among\n * `pan`, `zoom`, `click` can occurs, otherwise 'selected'\n * action may be triggered when `pan`, which is unexpected.\n * @type {booelan}\n */\n\n this._mouseDownFlag;\n /**\n * @type {string}\n */\n\n this._mapName;\n /**\n * @type {boolean}\n */\n\n this._initialized;\n /**\n * @type {module:zrender/container/Group}\n */\n\n group.add(this._regionsGroup = new graphic.Group());\n /**\n * @type {module:zrender/container/Group}\n */\n\n group.add(this._backgroundGroup = new graphic.Group());\n}\n\nMapDraw.prototype = {\n constructor: MapDraw,\n draw: function (mapOrGeoModel, ecModel, api, fromView, payload) {\n var isGeo = mapOrGeoModel.mainType === 'geo'; // Map series has data. GEO model that controlled by map series\n // will be assigned with map data. Other GEO model has no data.\n\n var data = mapOrGeoModel.getData && mapOrGeoModel.getData();\n isGeo && ecModel.eachComponent({\n mainType: 'series',\n subType: 'map'\n }, function (mapSeries) {\n if (!data && mapSeries.getHostGeoModel() === mapOrGeoModel) {\n data = mapSeries.getData();\n }\n });\n var geo = mapOrGeoModel.coordinateSystem;\n\n this._updateBackground(geo);\n\n var regionsGroup = this._regionsGroup;\n var group = this.group;\n var scale = geo.scale;\n var transform = {\n position: geo.position,\n scale: scale\n }; // No animation when first draw or in action\n\n if (!regionsGroup.childAt(0) || payload) {\n group.attr(transform);\n } else {\n graphic.updateProps(group, transform, mapOrGeoModel);\n }\n\n regionsGroup.removeAll();\n var itemStyleAccessPath = ['itemStyle'];\n var hoverItemStyleAccessPath = ['emphasis', 'itemStyle'];\n var labelAccessPath = ['label'];\n var hoverLabelAccessPath = ['emphasis', 'label'];\n var nameMap = zrUtil.createHashMap();\n zrUtil.each(geo.regions, function (region) {\n // Consider in GeoJson properties.name may be duplicated, for example,\n // there is multiple region named \"United Kindom\" or \"France\" (so many\n // colonies). And it is not appropriate to merge them in geo, which\n // will make them share the same label and bring trouble in label\n // location calculation.\n var regionGroup = nameMap.get(region.name) || nameMap.set(region.name, new graphic.Group());\n var compoundPath = new graphic.CompoundPath({\n shape: {\n paths: []\n }\n });\n regionGroup.add(compoundPath);\n var regionModel = mapOrGeoModel.getRegionModel(region.name) || mapOrGeoModel;\n var itemStyleModel = regionModel.getModel(itemStyleAccessPath);\n var hoverItemStyleModel = regionModel.getModel(hoverItemStyleAccessPath);\n var itemStyle = getFixedItemStyle(itemStyleModel, scale);\n var hoverItemStyle = getFixedItemStyle(hoverItemStyleModel, scale);\n var labelModel = regionModel.getModel(labelAccessPath);\n var hoverLabelModel = regionModel.getModel(hoverLabelAccessPath);\n var dataIdx; // Use the itemStyle in data if has data\n\n if (data) {\n dataIdx = data.indexOfName(region.name); // Only visual color of each item will be used. It can be encoded by dataRange\n // But visual color of series is used in symbol drawing\n //\n // Visual color for each series is for the symbol draw\n\n var visualColor = data.getItemVisual(dataIdx, 'color', true);\n\n if (visualColor) {\n itemStyle.fill = visualColor;\n }\n }\n\n zrUtil.each(region.geometries, function (geometry) {\n if (geometry.type !== 'polygon') {\n return;\n }\n\n compoundPath.shape.paths.push(new graphic.Polygon({\n shape: {\n points: geometry.exterior\n }\n }));\n\n for (var i = 0; i < (geometry.interiors ? geometry.interiors.length : 0); i++) {\n compoundPath.shape.paths.push(new graphic.Polygon({\n shape: {\n points: geometry.interiors[i]\n }\n }));\n }\n });\n compoundPath.setStyle(itemStyle);\n compoundPath.style.strokeNoScale = true;\n compoundPath.culling = true; // Label\n\n var showLabel = labelModel.get('show');\n var hoverShowLabel = hoverLabelModel.get('show');\n var isDataNaN = data && isNaN(data.get(data.mapDimension('value'), dataIdx));\n var itemLayout = data && data.getItemLayout(dataIdx); // In the following cases label will be drawn\n // 1. In map series and data value is NaN\n // 2. In geo component\n // 4. Region has no series legendSymbol, which will be add a showLabel flag in mapSymbolLayout\n\n if (isGeo || isDataNaN && (showLabel || hoverShowLabel) || itemLayout && itemLayout.showLabel) {\n var query = !isGeo ? dataIdx : region.name;\n var labelFetcher; // Consider dataIdx not found.\n\n if (!data || dataIdx >= 0) {\n labelFetcher = mapOrGeoModel;\n }\n\n var textEl = new graphic.Text({\n position: region.center.slice(),\n // FIXME\n // label rotation is not support yet in geo or regions of series-map\n // that has no data. The rotation will be effected by this `scale`.\n // So needed to change to RectText?\n scale: [1 / scale[0], 1 / scale[1]],\n z2: 10,\n silent: true\n });\n graphic.setLabelStyle(textEl.style, textEl.hoverStyle = {}, labelModel, hoverLabelModel, {\n labelFetcher: labelFetcher,\n labelDataIndex: query,\n defaultText: region.name,\n useInsideStyle: false\n }, {\n textAlign: 'center',\n textVerticalAlign: 'middle'\n });\n regionGroup.add(textEl);\n } // setItemGraphicEl, setHoverStyle after all polygons and labels\n // are added to the rigionGroup\n\n\n if (data) {\n data.setItemGraphicEl(dataIdx, regionGroup);\n } else {\n var regionModel = mapOrGeoModel.getRegionModel(region.name); // Package custom mouse event for geo component\n\n compoundPath.eventData = {\n componentType: 'geo',\n componentIndex: mapOrGeoModel.componentIndex,\n geoIndex: mapOrGeoModel.componentIndex,\n name: region.name,\n region: regionModel && regionModel.option || {}\n };\n }\n\n var groupRegions = regionGroup.__regions || (regionGroup.__regions = []);\n groupRegions.push(region);\n graphic.setHoverStyle(regionGroup, hoverItemStyle, {\n hoverSilentOnTouch: !!mapOrGeoModel.get('selectedMode')\n });\n regionsGroup.add(regionGroup);\n });\n\n this._updateController(mapOrGeoModel, ecModel, api);\n\n updateMapSelectHandler(this, mapOrGeoModel, regionsGroup, api, fromView);\n updateMapSelected(mapOrGeoModel, regionsGroup);\n },\n remove: function () {\n this._regionsGroup.removeAll();\n\n this._backgroundGroup.removeAll();\n\n this._controller.dispose();\n\n this._mapName && geoSourceManager.removeGraphic(this._mapName, this.uid);\n this._mapName = null;\n this._controllerHost = {};\n },\n _updateBackground: function (geo) {\n var mapName = geo.map;\n\n if (this._mapName !== mapName) {\n zrUtil.each(geoSourceManager.makeGraphic(mapName, this.uid), function (root) {\n this._backgroundGroup.add(root);\n }, this);\n }\n\n this._mapName = mapName;\n },\n _updateController: function (mapOrGeoModel, ecModel, api) {\n var geo = mapOrGeoModel.coordinateSystem;\n var controller = this._controller;\n var controllerHost = this._controllerHost;\n controllerHost.zoomLimit = mapOrGeoModel.get('scaleLimit');\n controllerHost.zoom = geo.getZoom(); // roamType is will be set default true if it is null\n\n controller.enable(mapOrGeoModel.get('roam') || false);\n var mainType = mapOrGeoModel.mainType;\n\n function makeActionBase() {\n var action = {\n type: 'geoRoam',\n componentType: mainType\n };\n action[mainType + 'Id'] = mapOrGeoModel.id;\n return action;\n }\n\n controller.off('pan').on('pan', function (e) {\n this._mouseDownFlag = false;\n roamHelper.updateViewOnPan(controllerHost, e.dx, e.dy);\n api.dispatchAction(zrUtil.extend(makeActionBase(), {\n dx: e.dx,\n dy: e.dy\n }));\n }, this);\n controller.off('zoom').on('zoom', function (e) {\n this._mouseDownFlag = false;\n roamHelper.updateViewOnZoom(controllerHost, e.scale, e.originX, e.originY);\n api.dispatchAction(zrUtil.extend(makeActionBase(), {\n zoom: e.scale,\n originX: e.originX,\n originY: e.originY\n }));\n\n if (this._updateGroup) {\n var scale = this.group.scale;\n\n this._regionsGroup.traverse(function (el) {\n if (el.type === 'text') {\n el.attr('scale', [1 / scale[0], 1 / scale[1]]);\n }\n });\n }\n }, this);\n controller.setPointerChecker(function (e, x, y) {\n return geo.getViewRectAfterRoam().contain(x, y) && !onIrrelevantElement(e, api, mapOrGeoModel);\n });\n }\n};\nvar _default = MapDraw;\nmodule.exports = _default;","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var matrix = require(\"../core/matrix\");\n\nvar vector = require(\"../core/vector\");\n\n/**\n * 提供变换扩展\n * @module zrender/mixin/Transformable\n * @author pissang (https://www.github.com/pissang)\n */\nvar mIdentity = matrix.identity;\nvar EPSILON = 5e-5;\n\nfunction isNotAroundZero(val) {\n return val > EPSILON || val < -EPSILON;\n}\n/**\n * @alias module:zrender/mixin/Transformable\n * @constructor\n */\n\n\nvar Transformable = function (opts) {\n opts = opts || {}; // If there are no given position, rotation, scale\n\n if (!opts.position) {\n /**\n * 平移\n * @type {Array.}\n * @default [0, 0]\n */\n this.position = [0, 0];\n }\n\n if (opts.rotation == null) {\n /**\n * 旋转\n * @type {Array.}\n * @default 0\n */\n this.rotation = 0;\n }\n\n if (!opts.scale) {\n /**\n * 缩放\n * @type {Array.}\n * @default [1, 1]\n */\n this.scale = [1, 1];\n }\n /**\n * 旋转和缩放的原点\n * @type {Array.}\n * @default null\n */\n\n\n this.origin = this.origin || null;\n};\n\nvar transformableProto = Transformable.prototype;\ntransformableProto.transform = null;\n/**\n * 判断是否需要有坐标变换\n * 如果有坐标变换, 则从position, rotation, scale以及父节点的transform计算出自身的transform矩阵\n */\n\ntransformableProto.needLocalTransform = function () {\n return isNotAroundZero(this.rotation) || isNotAroundZero(this.position[0]) || isNotAroundZero(this.position[1]) || isNotAroundZero(this.scale[0] - 1) || isNotAroundZero(this.scale[1] - 1);\n};\n\nvar scaleTmp = [];\n\ntransformableProto.updateTransform = function () {\n var parent = this.parent;\n var parentHasTransform = parent && parent.transform;\n var needLocalTransform = this.needLocalTransform();\n var m = this.transform;\n\n if (!(needLocalTransform || parentHasTransform)) {\n m && mIdentity(m);\n return;\n }\n\n m = m || matrix.create();\n\n if (needLocalTransform) {\n this.getLocalTransform(m);\n } else {\n mIdentity(m);\n } // 应用父节点变换\n\n\n if (parentHasTransform) {\n if (needLocalTransform) {\n matrix.mul(m, parent.transform, m);\n } else {\n matrix.copy(m, parent.transform);\n }\n } // 保存这个变换矩阵\n\n\n this.transform = m;\n var globalScaleRatio = this.globalScaleRatio;\n\n if (globalScaleRatio != null && globalScaleRatio !== 1) {\n this.getGlobalScale(scaleTmp);\n var relX = scaleTmp[0] < 0 ? -1 : 1;\n var relY = scaleTmp[1] < 0 ? -1 : 1;\n var sx = ((scaleTmp[0] - relX) * globalScaleRatio + relX) / scaleTmp[0] || 0;\n var sy = ((scaleTmp[1] - relY) * globalScaleRatio + relY) / scaleTmp[1] || 0;\n m[0] *= sx;\n m[1] *= sx;\n m[2] *= sy;\n m[3] *= sy;\n }\n\n this.invTransform = this.invTransform || matrix.create();\n matrix.invert(this.invTransform, m);\n};\n\ntransformableProto.getLocalTransform = function (m) {\n return Transformable.getLocalTransform(this, m);\n};\n/**\n * 将自己的transform应用到context上\n * @param {CanvasRenderingContext2D} ctx\n */\n\n\ntransformableProto.setTransform = function (ctx) {\n var m = this.transform;\n var dpr = ctx.dpr || 1;\n\n if (m) {\n ctx.setTransform(dpr * m[0], dpr * m[1], dpr * m[2], dpr * m[3], dpr * m[4], dpr * m[5]);\n } else {\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n }\n};\n\ntransformableProto.restoreTransform = function (ctx) {\n var dpr = ctx.dpr || 1;\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n};\n\nvar tmpTransform = [];\nvar originTransform = matrix.create();\n\ntransformableProto.setLocalTransform = function (m) {\n if (!m) {\n // TODO return or set identity?\n return;\n }\n\n var sx = m[0] * m[0] + m[1] * m[1];\n var sy = m[2] * m[2] + m[3] * m[3];\n var position = this.position;\n var scale = this.scale;\n\n if (isNotAroundZero(sx - 1)) {\n sx = Math.sqrt(sx);\n }\n\n if (isNotAroundZero(sy - 1)) {\n sy = Math.sqrt(sy);\n }\n\n if (m[0] < 0) {\n sx = -sx;\n }\n\n if (m[3] < 0) {\n sy = -sy;\n }\n\n position[0] = m[4];\n position[1] = m[5];\n scale[0] = sx;\n scale[1] = sy;\n this.rotation = Math.atan2(-m[1] / sy, m[0] / sx);\n};\n/**\n * 分解`transform`矩阵到`position`, `rotation`, `scale`\n */\n\n\ntransformableProto.decomposeTransform = function () {\n if (!this.transform) {\n return;\n }\n\n var parent = this.parent;\n var m = this.transform;\n\n if (parent && parent.transform) {\n // Get local transform and decompose them to position, scale, rotation\n matrix.mul(tmpTransform, parent.invTransform, m);\n m = tmpTransform;\n }\n\n var origin = this.origin;\n\n if (origin && (origin[0] || origin[1])) {\n originTransform[4] = origin[0];\n originTransform[5] = origin[1];\n matrix.mul(tmpTransform, m, originTransform);\n tmpTransform[4] -= origin[0];\n tmpTransform[5] -= origin[1];\n m = tmpTransform;\n }\n\n this.setLocalTransform(m);\n};\n/**\n * Get global scale\n * @return {Array.}\n */\n\n\ntransformableProto.getGlobalScale = function (out) {\n var m = this.transform;\n out = out || [];\n\n if (!m) {\n out[0] = 1;\n out[1] = 1;\n return out;\n }\n\n out[0] = Math.sqrt(m[0] * m[0] + m[1] * m[1]);\n out[1] = Math.sqrt(m[2] * m[2] + m[3] * m[3]);\n\n if (m[0] < 0) {\n out[0] = -out[0];\n }\n\n if (m[3] < 0) {\n out[1] = -out[1];\n }\n\n return out;\n};\n/**\n * 变换坐标位置到 shape 的局部坐标空间\n * @method\n * @param {number} x\n * @param {number} y\n * @return {Array.}\n */\n\n\ntransformableProto.transformCoordToLocal = function (x, y) {\n var v2 = [x, y];\n var invTransform = this.invTransform;\n\n if (invTransform) {\n vector.applyTransform(v2, v2, invTransform);\n }\n\n return v2;\n};\n/**\n * 变换局部坐标位置到全局坐标空间\n * @method\n * @param {number} x\n * @param {number} y\n * @return {Array.}\n */\n\n\ntransformableProto.transformCoordToGlobal = function (x, y) {\n var v2 = [x, y];\n var transform = this.transform;\n\n if (transform) {\n vector.applyTransform(v2, v2, transform);\n }\n\n return v2;\n};\n/**\n * @static\n * @param {Object} target\n * @param {Array.} target.origin\n * @param {number} target.rotation\n * @param {Array.} target.position\n * @param {Array.} [m]\n */\n\n\nTransformable.getLocalTransform = function (target, m) {\n m = m || [];\n mIdentity(m);\n var origin = target.origin;\n var scale = target.scale || [1, 1];\n var rotation = target.rotation || 0;\n var position = target.position || [0, 0];\n\n if (origin) {\n // Translate to origin\n m[4] -= origin[0];\n m[5] -= origin[1];\n }\n\n matrix.scale(m, m, scale);\n\n if (rotation) {\n matrix.rotate(m, m, rotation);\n }\n\n if (origin) {\n // Translate back from origin\n m[4] += origin[0];\n m[5] += origin[1];\n }\n\n m[4] += position[0];\n m[5] += position[1];\n return m;\n};\n\nvar _default = Transformable;\nmodule.exports = _default;","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var Displayable = require(\"./Displayable\");\n\nvar BoundingRect = require(\"../core/BoundingRect\");\n\nvar zrUtil = require(\"../core/util\");\n\nvar imageHelper = require(\"./helper/image\");\n\n/**\n * @alias zrender/graphic/Image\n * @extends module:zrender/graphic/Displayable\n * @constructor\n * @param {Object} opts\n */\nfunction ZImage(opts) {\n Displayable.call(this, opts);\n}\n\nZImage.prototype = {\n constructor: ZImage,\n type: 'image',\n brush: function (ctx, prevEl) {\n var style = this.style;\n var src = style.image; // Must bind each time\n\n style.bind(ctx, this, prevEl);\n var image = this._image = imageHelper.createOrUpdateImage(src, this._image, this, this.onload);\n\n if (!image || !imageHelper.isImageReady(image)) {\n return;\n } // 图片已经加载完成\n // if (image.nodeName.toUpperCase() == 'IMG') {\n // if (!image.complete) {\n // return;\n // }\n // }\n // Else is canvas\n\n\n var x = style.x || 0;\n var y = style.y || 0;\n var width = style.width;\n var height = style.height;\n var aspect = image.width / image.height;\n\n if (width == null && height != null) {\n // Keep image/height ratio\n width = height * aspect;\n } else if (height == null && width != null) {\n height = width / aspect;\n } else if (width == null && height == null) {\n width = image.width;\n height = image.height;\n } // 设置transform\n\n\n this.setTransform(ctx);\n\n if (style.sWidth && style.sHeight) {\n var sx = style.sx || 0;\n var sy = style.sy || 0;\n ctx.drawImage(image, sx, sy, style.sWidth, style.sHeight, x, y, width, height);\n } else if (style.sx && style.sy) {\n var sx = style.sx;\n var sy = style.sy;\n var sWidth = width - sx;\n var sHeight = height - sy;\n ctx.drawImage(image, sx, sy, sWidth, sHeight, x, y, width, height);\n } else {\n ctx.drawImage(image, x, y, width, height);\n } // Draw rect text\n\n\n if (style.text != null) {\n // Only restore transform when needs draw text.\n this.restoreTransform(ctx);\n this.drawRectText(ctx, this.getBoundingRect());\n }\n },\n getBoundingRect: function () {\n var style = this.style;\n\n if (!this._rect) {\n this._rect = new BoundingRect(style.x || 0, style.y || 0, style.width || 0, style.height || 0);\n }\n\n return this._rect;\n }\n};\nzrUtil.inherits(ZImage, Displayable);\nvar _default = ZImage;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar VisualMapping = require(\"../../visual/VisualMapping\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @file Visual encoding for sankey view\n * @author Deqing Li(annong035@gmail.com)\n */\nfunction _default(ecModel, payload) {\n ecModel.eachSeriesByType('sankey', function (seriesModel) {\n var graph = seriesModel.getGraph();\n var nodes = graph.nodes;\n\n if (nodes.length) {\n var minValue = Infinity;\n var maxValue = -Infinity;\n zrUtil.each(nodes, function (node) {\n var nodeValue = node.getLayout().value;\n\n if (nodeValue < minValue) {\n minValue = nodeValue;\n }\n\n if (nodeValue > maxValue) {\n maxValue = nodeValue;\n }\n });\n zrUtil.each(nodes, function (node) {\n var mapping = new VisualMapping({\n type: 'color',\n mappingMethod: 'linear',\n dataExtent: [minValue, maxValue],\n visual: seriesModel.get('color')\n });\n var mapValueToColor = mapping.mapValueToVisual(node.getLayout().value);\n node.setVisual('color', mapValueToColor); // If set itemStyle.normal.color\n\n var itemModel = node.getModel();\n var customColor = itemModel.get('itemStyle.color');\n\n if (customColor != null) {\n node.setVisual('color', customColor);\n }\n });\n }\n });\n}\n\nmodule.exports = _default;","/* eslint-disable no-undefined */\n\nvar throttle = require('./throttle');\n\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [atBegin] Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n *\n * @return {Function} A new, debounced function.\n */\nmodule.exports = function ( delay, atBegin, callback ) {\n\treturn callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar layoutUtil = require(\"../../util/layout\");\n\nvar LegendView = require(\"./LegendView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Separate legend and scrollable legend to reduce package size.\n */\nvar Group = graphic.Group;\nvar WH = ['width', 'height'];\nvar XY = ['x', 'y'];\nvar ScrollableLegendView = LegendView.extend({\n type: 'legend.scroll',\n newlineDisabled: true,\n init: function () {\n ScrollableLegendView.superCall(this, 'init');\n /**\n * @private\n * @type {number} For `scroll`.\n */\n\n this._currentIndex = 0;\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n\n this.group.add(this._containerGroup = new Group());\n\n this._containerGroup.add(this.getContentGroup());\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n\n\n this.group.add(this._controllerGroup = new Group());\n /**\n *\n * @private\n */\n\n this._showController;\n },\n\n /**\n * @override\n */\n resetInner: function () {\n ScrollableLegendView.superCall(this, 'resetInner');\n\n this._controllerGroup.removeAll();\n\n this._containerGroup.removeClipPath();\n\n this._containerGroup.__rectSize = null;\n },\n\n /**\n * @override\n */\n renderInner: function (itemAlign, legendModel, ecModel, api) {\n var me = this; // Render content items.\n\n ScrollableLegendView.superCall(this, 'renderInner', itemAlign, legendModel, ecModel, api);\n var controllerGroup = this._controllerGroup; // FIXME: support be 'auto' adapt to size number text length,\n // e.g., '3/12345' should not overlap with the control arrow button.\n\n var pageIconSize = legendModel.get('pageIconSize', true);\n\n if (!zrUtil.isArray(pageIconSize)) {\n pageIconSize = [pageIconSize, pageIconSize];\n }\n\n createPageButton('pagePrev', 0);\n var pageTextStyleModel = legendModel.getModel('pageTextStyle');\n controllerGroup.add(new graphic.Text({\n name: 'pageText',\n style: {\n textFill: pageTextStyleModel.getTextColor(),\n font: pageTextStyleModel.getFont(),\n textVerticalAlign: 'middle',\n textAlign: 'center'\n },\n silent: true\n }));\n createPageButton('pageNext', 1);\n\n function createPageButton(name, iconIdx) {\n var pageDataIndexName = name + 'DataIndex';\n var icon = graphic.createIcon(legendModel.get('pageIcons', true)[legendModel.getOrient().name][iconIdx], {\n // Buttons will be created in each render, so we do not need\n // to worry about avoiding using legendModel kept in scope.\n onclick: zrUtil.bind(me._pageGo, me, pageDataIndexName, legendModel, api)\n }, {\n x: -pageIconSize[0] / 2,\n y: -pageIconSize[1] / 2,\n width: pageIconSize[0],\n height: pageIconSize[1]\n });\n icon.name = name;\n controllerGroup.add(icon);\n }\n },\n\n /**\n * @override\n */\n layoutInner: function (legendModel, itemAlign, maxSize, isFirstRender) {\n var contentGroup = this.getContentGroup();\n var containerGroup = this._containerGroup;\n var controllerGroup = this._controllerGroup;\n var orientIdx = legendModel.getOrient().index;\n var wh = WH[orientIdx];\n var hw = WH[1 - orientIdx];\n var yx = XY[1 - orientIdx]; // Place items in contentGroup.\n\n layoutUtil.box(legendModel.get('orient'), contentGroup, legendModel.get('itemGap'), !orientIdx ? null : maxSize.width, orientIdx ? null : maxSize.height);\n layoutUtil.box( // Buttons in controller are layout always horizontally.\n 'horizontal', controllerGroup, legendModel.get('pageButtonItemGap', true));\n var contentRect = contentGroup.getBoundingRect();\n var controllerRect = controllerGroup.getBoundingRect();\n var showController = this._showController = contentRect[wh] > maxSize[wh];\n var contentPos = [-contentRect.x, -contentRect.y]; // Remain contentPos when scroll animation perfroming.\n // If first rendering, `contentGroup.position` is [0, 0], which\n // does not make sense and may cause unexepcted animation if adopted.\n\n if (!isFirstRender) {\n contentPos[orientIdx] = contentGroup.position[orientIdx];\n } // Layout container group based on 0.\n\n\n var containerPos = [0, 0];\n var controllerPos = [-controllerRect.x, -controllerRect.y];\n var pageButtonGap = zrUtil.retrieve2(legendModel.get('pageButtonGap', true), legendModel.get('itemGap', true)); // Place containerGroup and controllerGroup and contentGroup.\n\n if (showController) {\n var pageButtonPosition = legendModel.get('pageButtonPosition', true); // controller is on the right / bottom.\n\n if (pageButtonPosition === 'end') {\n controllerPos[orientIdx] += maxSize[wh] - controllerRect[wh];\n } // controller is on the left / top.\n else {\n containerPos[orientIdx] += controllerRect[wh] + pageButtonGap;\n }\n } // Always align controller to content as 'middle'.\n\n\n controllerPos[1 - orientIdx] += contentRect[hw] / 2 - controllerRect[hw] / 2;\n contentGroup.attr('position', contentPos);\n containerGroup.attr('position', containerPos);\n controllerGroup.attr('position', controllerPos); // Calculate `mainRect` and set `clipPath`.\n // mainRect should not be calculated by `this.group.getBoundingRect()`\n // for sake of the overflow.\n\n var mainRect = this.group.getBoundingRect();\n var mainRect = {\n x: 0,\n y: 0\n }; // Consider content may be overflow (should be clipped).\n\n mainRect[wh] = showController ? maxSize[wh] : contentRect[wh];\n mainRect[hw] = Math.max(contentRect[hw], controllerRect[hw]); // `containerRect[yx] + containerPos[1 - orientIdx]` is 0.\n\n mainRect[yx] = Math.min(0, controllerRect[yx] + controllerPos[1 - orientIdx]);\n containerGroup.__rectSize = maxSize[wh];\n\n if (showController) {\n var clipShape = {\n x: 0,\n y: 0\n };\n clipShape[wh] = Math.max(maxSize[wh] - controllerRect[wh] - pageButtonGap, 0);\n clipShape[hw] = mainRect[hw];\n containerGroup.setClipPath(new graphic.Rect({\n shape: clipShape\n })); // Consider content may be larger than container, container rect\n // can not be obtained from `containerGroup.getBoundingRect()`.\n\n containerGroup.__rectSize = clipShape[wh];\n } else {\n // Do not remove or ignore controller. Keep them set as place holders.\n controllerGroup.eachChild(function (child) {\n child.attr({\n invisible: true,\n silent: true\n });\n });\n } // Content translate animation.\n\n\n var pageInfo = this._getPageInfo(legendModel);\n\n pageInfo.pageIndex != null && graphic.updateProps(contentGroup, {\n position: pageInfo.contentPosition\n }, // When switch from \"show controller\" to \"not show controller\", view should be\n // updated immediately without animation, otherwise causes weird efffect.\n showController ? legendModel : false);\n\n this._updatePageInfoView(legendModel, pageInfo);\n\n return mainRect;\n },\n _pageGo: function (to, legendModel, api) {\n var scrollDataIndex = this._getPageInfo(legendModel)[to];\n\n scrollDataIndex != null && api.dispatchAction({\n type: 'legendScroll',\n scrollDataIndex: scrollDataIndex,\n legendId: legendModel.id\n });\n },\n _updatePageInfoView: function (legendModel, pageInfo) {\n var controllerGroup = this._controllerGroup;\n zrUtil.each(['pagePrev', 'pageNext'], function (name) {\n var canJump = pageInfo[name + 'DataIndex'] != null;\n var icon = controllerGroup.childOfName(name);\n\n if (icon) {\n icon.setStyle('fill', canJump ? legendModel.get('pageIconColor', true) : legendModel.get('pageIconInactiveColor', true));\n icon.cursor = canJump ? 'pointer' : 'default';\n }\n });\n var pageText = controllerGroup.childOfName('pageText');\n var pageFormatter = legendModel.get('pageFormatter');\n var pageIndex = pageInfo.pageIndex;\n var current = pageIndex != null ? pageIndex + 1 : 0;\n var total = pageInfo.pageCount;\n pageText && pageFormatter && pageText.setStyle('text', zrUtil.isString(pageFormatter) ? pageFormatter.replace('{current}', current).replace('{total}', total) : pageFormatter({\n current: current,\n total: total\n }));\n },\n\n /**\n * @param {module:echarts/model/Model} legendModel\n * @return {Object} {\n * contentPosition: Array., null when data item not found.\n * pageIndex: number, null when data item not found.\n * pageCount: number, always be a number, can be 0.\n * pagePrevDataIndex: number, null when no next page.\n * pageNextDataIndex: number, null when no previous page.\n * }\n */\n _getPageInfo: function (legendModel) {\n var scrollDataIndex = legendModel.get('scrollDataIndex', true);\n var contentGroup = this.getContentGroup();\n var containerRectSize = this._containerGroup.__rectSize;\n var orientIdx = legendModel.getOrient().index;\n var wh = WH[orientIdx];\n var xy = XY[orientIdx];\n\n var targetItemIndex = this._findTargetItemIndex(scrollDataIndex);\n\n var children = contentGroup.children();\n var targetItem = children[targetItemIndex];\n var itemCount = children.length;\n var pCount = !itemCount ? 0 : 1;\n var result = {\n contentPosition: contentGroup.position.slice(),\n pageCount: pCount,\n pageIndex: pCount - 1,\n pagePrevDataIndex: null,\n pageNextDataIndex: null\n };\n\n if (!targetItem) {\n return result;\n }\n\n var targetItemInfo = getItemInfo(targetItem);\n result.contentPosition[orientIdx] = -targetItemInfo.s; // Strategy:\n // (1) Always align based on the left/top most item.\n // (2) It is user-friendly that the last item shown in the\n // current window is shown at the begining of next window.\n // Otherwise if half of the last item is cut by the window,\n // it will have no chance to display entirely.\n // (3) Consider that item size probably be different, we\n // have calculate pageIndex by size rather than item index,\n // and we can not get page index directly by division.\n // (4) The window is to narrow to contain more than\n // one item, we should make sure that the page can be fliped.\n\n for (var i = targetItemIndex + 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i <= itemCount; ++i) {\n currItemInfo = getItemInfo(children[i]);\n\n if ( // Half of the last item is out of the window.\n !currItemInfo && winEndItemInfo.e > winStartItemInfo.s + containerRectSize || // If the current item does not intersect with the window, the new page\n // can be started at the current item or the last item.\n currItemInfo && !intersect(currItemInfo, winStartItemInfo.s)) {\n if (winEndItemInfo.i > winStartItemInfo.i) {\n winStartItemInfo = winEndItemInfo;\n } else {\n // e.g., when page size is smaller than item size.\n winStartItemInfo = currItemInfo;\n }\n\n if (winStartItemInfo) {\n if (result.pageNextDataIndex == null) {\n result.pageNextDataIndex = winStartItemInfo.i;\n }\n\n ++result.pageCount;\n }\n }\n\n winEndItemInfo = currItemInfo;\n }\n\n for (var i = targetItemIndex - 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i >= -1; --i) {\n currItemInfo = getItemInfo(children[i]);\n\n if ( // If the the end item does not intersect with the window started\n // from the current item, a page can be settled.\n (!currItemInfo || !intersect(winEndItemInfo, currItemInfo.s)) && // e.g., when page size is smaller than item size.\n winStartItemInfo.i < winEndItemInfo.i) {\n winEndItemInfo = winStartItemInfo;\n\n if (result.pagePrevDataIndex == null) {\n result.pagePrevDataIndex = winStartItemInfo.i;\n }\n\n ++result.pageCount;\n ++result.pageIndex;\n }\n\n winStartItemInfo = currItemInfo;\n }\n\n return result;\n\n function getItemInfo(el) {\n if (el) {\n var itemRect = el.getBoundingRect();\n var start = itemRect[xy] + el.position[orientIdx];\n return {\n s: start,\n e: start + itemRect[wh],\n i: el.__legendDataIndex\n };\n }\n }\n\n function intersect(itemInfo, winStart) {\n return itemInfo.e >= winStart && itemInfo.s <= winStart + containerRectSize;\n }\n },\n _findTargetItemIndex: function (targetDataIndex) {\n var index;\n var contentGroup = this.getContentGroup();\n\n if (this._showController) {\n contentGroup.eachChild(function (child, idx) {\n if (child.__legendDataIndex === targetDataIndex) {\n index = idx;\n }\n });\n } else {\n index = 0;\n }\n\n return index;\n }\n});\nvar _default = ScrollableLegendView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../Axis\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @constructor module:echarts/coord/parallel/ParallelAxis\n * @extends {module:echarts/coord/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n */\nvar ParallelAxis = function (dim, scale, coordExtent, axisType, axisIndex) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * @type {number}\n * @readOnly\n */\n\n this.axisIndex = axisIndex;\n};\n\nParallelAxis.prototype = {\n constructor: ParallelAxis,\n\n /**\n * Axis model\n * @param {module:echarts/coord/parallel/AxisModel}\n */\n model: null,\n\n /**\n * @override\n */\n isHorizontal: function () {\n return this.coordinateSystem.getModel().get('layout') !== 'horizontal';\n }\n};\nzrUtil.inherits(ParallelAxis, Axis);\nvar _default = ParallelAxis;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\nvar getDataItemValue = _model.getDataItemValue;\n\nvar _referHelper = require(\"../../model/referHelper\");\n\nvar getCoordSysDefineBySeries = _referHelper.getCoordSysDefineBySeries;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\nvar map = _util.map;\nvar isArray = _util.isArray;\nvar isString = _util.isString;\nvar isObject = _util.isObject;\nvar isTypedArray = _util.isTypedArray;\nvar isArrayLike = _util.isArrayLike;\nvar extend = _util.extend;\nvar assert = _util.assert;\n\nvar Source = require(\"../Source\");\n\nvar _sourceType = require(\"./sourceType\");\n\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\nvar SOURCE_FORMAT_ARRAY_ROWS = _sourceType.SOURCE_FORMAT_ARRAY_ROWS;\nvar SOURCE_FORMAT_OBJECT_ROWS = _sourceType.SOURCE_FORMAT_OBJECT_ROWS;\nvar SOURCE_FORMAT_KEYED_COLUMNS = _sourceType.SOURCE_FORMAT_KEYED_COLUMNS;\nvar SOURCE_FORMAT_UNKNOWN = _sourceType.SOURCE_FORMAT_UNKNOWN;\nvar SOURCE_FORMAT_TYPED_ARRAY = _sourceType.SOURCE_FORMAT_TYPED_ARRAY;\nvar SERIES_LAYOUT_BY_ROW = _sourceType.SERIES_LAYOUT_BY_ROW;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = makeInner();\n/**\n * @see {module:echarts/data/Source}\n * @param {module:echarts/component/dataset/DatasetModel} datasetModel\n * @return {string} sourceFormat\n */\n\nfunction detectSourceFormat(datasetModel) {\n var data = datasetModel.option.source;\n var sourceFormat = SOURCE_FORMAT_UNKNOWN;\n\n if (isTypedArray(data)) {\n sourceFormat = SOURCE_FORMAT_TYPED_ARRAY;\n } else if (isArray(data)) {\n // FIXME Whether tolerate null in top level array?\n if (data.length === 0) {\n sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;\n }\n\n for (var i = 0, len = data.length; i < len; i++) {\n var item = data[i];\n\n if (item == null) {\n continue;\n } else if (isArray(item)) {\n sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;\n break;\n } else if (isObject(item)) {\n sourceFormat = SOURCE_FORMAT_OBJECT_ROWS;\n break;\n }\n }\n } else if (isObject(data)) {\n for (var key in data) {\n if (data.hasOwnProperty(key) && isArrayLike(data[key])) {\n sourceFormat = SOURCE_FORMAT_KEYED_COLUMNS;\n break;\n }\n }\n } else if (data != null) {\n throw new Error('Invalid data');\n }\n\n inner(datasetModel).sourceFormat = sourceFormat;\n}\n/**\n * [Scenarios]:\n * (1) Provide source data directly:\n * series: {\n * encode: {...},\n * dimensions: [...]\n * seriesLayoutBy: 'row',\n * data: [[...]]\n * }\n * (2) Refer to datasetModel.\n * series: [{\n * encode: {...}\n * // Ignore datasetIndex means `datasetIndex: 0`\n * // and the dimensions defination in dataset is used\n * }, {\n * encode: {...},\n * seriesLayoutBy: 'column',\n * datasetIndex: 1\n * }]\n *\n * Get data from series itself or datset.\n * @return {module:echarts/data/Source} source\n */\n\n\nfunction getSource(seriesModel) {\n return inner(seriesModel).source;\n}\n/**\n * MUST be called before mergeOption of all series.\n * @param {module:echarts/model/Global} ecModel\n */\n\n\nfunction resetSourceDefaulter(ecModel) {\n // `datasetMap` is used to make default encode.\n inner(ecModel).datasetMap = createHashMap();\n}\n/**\n * [Caution]:\n * MUST be called after series option merged and\n * before \"series.getInitailData()\" called.\n *\n * [The rule of making default encode]:\n * Category axis (if exists) alway map to the first dimension.\n * Each other axis occupies a subsequent dimension.\n *\n * [Why make default encode]:\n * Simplify the typing of encode in option, avoiding the case like that:\n * series: [{encode: {x: 0, y: 1}}, {encode: {x: 0, y: 2}}, {encode: {x: 0, y: 3}}],\n * where the \"y\" have to be manually typed as \"1, 2, 3, ...\".\n *\n * @param {module:echarts/model/Series} seriesModel\n */\n\n\nfunction prepareSource(seriesModel) {\n var seriesOption = seriesModel.option;\n var data = seriesOption.data;\n var sourceFormat = isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL;\n var fromDataset = false;\n var seriesLayoutBy = seriesOption.seriesLayoutBy;\n var sourceHeader = seriesOption.sourceHeader;\n var dimensionsDefine = seriesOption.dimensions;\n var datasetModel = getDatasetModel(seriesModel);\n\n if (datasetModel) {\n var datasetOption = datasetModel.option;\n data = datasetOption.source;\n sourceFormat = inner(datasetModel).sourceFormat;\n fromDataset = true; // These settings from series has higher priority.\n\n seriesLayoutBy = seriesLayoutBy || datasetOption.seriesLayoutBy;\n sourceHeader == null && (sourceHeader = datasetOption.sourceHeader);\n dimensionsDefine = dimensionsDefine || datasetOption.dimensions;\n }\n\n var completeResult = completeBySourceData(data, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine); // Note: dataset option does not have `encode`.\n\n var encodeDefine = seriesOption.encode;\n\n if (!encodeDefine && datasetModel) {\n encodeDefine = makeDefaultEncode(seriesModel, datasetModel, data, sourceFormat, seriesLayoutBy, completeResult);\n }\n\n inner(seriesModel).source = new Source({\n data: data,\n fromDataset: fromDataset,\n seriesLayoutBy: seriesLayoutBy,\n sourceFormat: sourceFormat,\n dimensionsDefine: completeResult.dimensionsDefine,\n startIndex: completeResult.startIndex,\n dimensionsDetectCount: completeResult.dimensionsDetectCount,\n encodeDefine: encodeDefine\n });\n} // return {startIndex, dimensionsDefine, dimensionsCount}\n\n\nfunction completeBySourceData(data, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine) {\n if (!data) {\n return {\n dimensionsDefine: normalizeDimensionsDefine(dimensionsDefine)\n };\n }\n\n var dimensionsDetectCount;\n var startIndex;\n var findPotentialName;\n\n if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {\n // Rule: Most of the first line are string: it is header.\n // Caution: consider a line with 5 string and 1 number,\n // it still can not be sure it is a head, because the\n // 5 string may be 5 values of category columns.\n if (sourceHeader === 'auto' || sourceHeader == null) {\n arrayRowsTravelFirst(function (val) {\n // '-' is regarded as null/undefined.\n if (val != null && val !== '-') {\n if (isString(val)) {\n startIndex == null && (startIndex = 1);\n } else {\n startIndex = 0;\n }\n } // 10 is an experience number, avoid long loop.\n\n }, seriesLayoutBy, data, 10);\n } else {\n startIndex = sourceHeader ? 1 : 0;\n }\n\n if (!dimensionsDefine && startIndex === 1) {\n dimensionsDefine = [];\n arrayRowsTravelFirst(function (val, index) {\n dimensionsDefine[index] = val != null ? val : '';\n }, seriesLayoutBy, data);\n }\n\n dimensionsDetectCount = dimensionsDefine ? dimensionsDefine.length : seriesLayoutBy === SERIES_LAYOUT_BY_ROW ? data.length : data[0] ? data[0].length : null;\n } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {\n if (!dimensionsDefine) {\n dimensionsDefine = objectRowsCollectDimensions(data);\n findPotentialName = true;\n }\n } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n if (!dimensionsDefine) {\n dimensionsDefine = [];\n findPotentialName = true;\n each(data, function (colArr, key) {\n dimensionsDefine.push(key);\n });\n }\n } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var value0 = getDataItemValue(data[0]);\n dimensionsDetectCount = isArray(value0) && value0.length || 1;\n } else if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {}\n\n var potentialNameDimIndex;\n\n if (findPotentialName) {\n each(dimensionsDefine, function (dim, idx) {\n if ((isObject(dim) ? dim.name : dim) === 'name') {\n potentialNameDimIndex = idx;\n }\n });\n }\n\n return {\n startIndex: startIndex,\n dimensionsDefine: normalizeDimensionsDefine(dimensionsDefine),\n dimensionsDetectCount: dimensionsDetectCount,\n potentialNameDimIndex: potentialNameDimIndex // TODO: potentialIdDimIdx\n\n };\n} // Consider dimensions defined like ['A', 'price', 'B', 'price', 'C', 'price'],\n// which is reasonable. But dimension name is duplicated.\n// Returns undefined or an array contains only object without null/undefiend or string.\n\n\nfunction normalizeDimensionsDefine(dimensionsDefine) {\n if (!dimensionsDefine) {\n // The meaning of null/undefined is different from empty array.\n return;\n }\n\n var nameMap = createHashMap();\n return map(dimensionsDefine, function (item, index) {\n item = extend({}, isObject(item) ? item : {\n name: item\n }); // User can set null in dimensions.\n // We dont auto specify name, othewise a given name may\n // cause it be refered unexpectedly.\n\n if (item.name == null) {\n return item;\n } // Also consider number form like 2012.\n\n\n item.name += ''; // User may also specify displayName.\n // displayName will always exists except user not\n // specified or dim name is not specified or detected.\n // (A auto generated dim name will not be used as\n // displayName).\n\n if (item.displayName == null) {\n item.displayName = item.name;\n }\n\n var exist = nameMap.get(item.name);\n\n if (!exist) {\n nameMap.set(item.name, {\n count: 1\n });\n } else {\n item.name += '-' + exist.count++;\n }\n\n return item;\n });\n}\n\nfunction arrayRowsTravelFirst(cb, seriesLayoutBy, data, maxLoop) {\n maxLoop == null && (maxLoop = Infinity);\n\n if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n cb(data[i] ? data[i][0] : null, i);\n }\n } else {\n var value0 = data[0] || [];\n\n for (var i = 0; i < value0.length && i < maxLoop; i++) {\n cb(value0[i], i);\n }\n }\n}\n\nfunction objectRowsCollectDimensions(data) {\n var firstIndex = 0;\n var obj;\n\n while (firstIndex < data.length && !(obj = data[firstIndex++])) {} // jshint ignore: line\n\n\n if (obj) {\n var dimensions = [];\n each(obj, function (value, key) {\n dimensions.push(key);\n });\n return dimensions;\n }\n} // ??? TODO merge to completedimensions, where also has\n// default encode making logic. And the default rule\n// should depends on series? consider 'map'.\n\n\nfunction makeDefaultEncode(seriesModel, datasetModel, data, sourceFormat, seriesLayoutBy, completeResult) {\n var coordSysDefine = getCoordSysDefineBySeries(seriesModel);\n var encode = {}; // var encodeTooltip = [];\n // var encodeLabel = [];\n\n var encodeItemName = [];\n var encodeSeriesName = [];\n var seriesType = seriesModel.subType; // ??? TODO refactor: provide by series itself.\n // Consider the case: 'map' series is based on geo coordSys,\n // 'graph', 'heatmap' can be based on cartesian. But can not\n // give default rule simply here.\n\n var nSeriesMap = createHashMap(['pie', 'map', 'funnel']);\n var cSeriesMap = createHashMap(['line', 'bar', 'pictorialBar', 'scatter', 'effectScatter', 'candlestick', 'boxplot']); // Usually in this case series will use the first data\n // dimension as the \"value\" dimension, or other default\n // processes respectively.\n\n if (coordSysDefine && cSeriesMap.get(seriesType) != null) {\n var ecModel = seriesModel.ecModel;\n var datasetMap = inner(ecModel).datasetMap;\n var key = datasetModel.uid + '_' + seriesLayoutBy;\n var datasetRecord = datasetMap.get(key) || datasetMap.set(key, {\n categoryWayDim: 1,\n valueWayDim: 0\n }); // TODO\n // Auto detect first time axis and do arrangement.\n\n each(coordSysDefine.coordSysDims, function (coordDim) {\n // In value way.\n if (coordSysDefine.firstCategoryDimIndex == null) {\n var dataDim = datasetRecord.valueWayDim++;\n encode[coordDim] = dataDim; // ??? TODO give a better default series name rule?\n // especially when encode x y specified.\n // consider: when mutiple series share one dimension\n // category axis, series name should better use\n // the other dimsion name. On the other hand, use\n // both dimensions name.\n\n encodeSeriesName.push(dataDim); // encodeTooltip.push(dataDim);\n // encodeLabel.push(dataDim);\n } // In category way, category axis.\n else if (coordSysDefine.categoryAxisMap.get(coordDim)) {\n encode[coordDim] = 0;\n encodeItemName.push(0);\n } // In category way, non-category axis.\n else {\n var dataDim = datasetRecord.categoryWayDim++;\n encode[coordDim] = dataDim; // encodeTooltip.push(dataDim);\n // encodeLabel.push(dataDim);\n\n encodeSeriesName.push(dataDim);\n }\n });\n } // Do not make a complex rule! Hard to code maintain and not necessary.\n // ??? TODO refactor: provide by series itself.\n // [{name: ..., value: ...}, ...] like:\n else if (nSeriesMap.get(seriesType) != null) {\n // Find the first not ordinal. (5 is an experience value)\n var firstNotOrdinal;\n\n for (var i = 0; i < 5 && firstNotOrdinal == null; i++) {\n if (!doGuessOrdinal(data, sourceFormat, seriesLayoutBy, completeResult.dimensionsDefine, completeResult.startIndex, i)) {\n firstNotOrdinal = i;\n }\n }\n\n if (firstNotOrdinal != null) {\n encode.value = firstNotOrdinal;\n var nameDimIndex = completeResult.potentialNameDimIndex || Math.max(firstNotOrdinal - 1, 0); // By default, label use itemName in charts.\n // So we dont set encodeLabel here.\n\n encodeSeriesName.push(nameDimIndex);\n encodeItemName.push(nameDimIndex); // encodeTooltip.push(firstNotOrdinal);\n }\n } // encodeTooltip.length && (encode.tooltip = encodeTooltip);\n // encodeLabel.length && (encode.label = encodeLabel);\n\n\n encodeItemName.length && (encode.itemName = encodeItemName);\n encodeSeriesName.length && (encode.seriesName = encodeSeriesName);\n return encode;\n}\n/**\n * If return null/undefined, indicate that should not use datasetModel.\n */\n\n\nfunction getDatasetModel(seriesModel) {\n var option = seriesModel.option; // Caution: consider the scenario:\n // A dataset is declared and a series is not expected to use the dataset,\n // and at the beginning `setOption({series: { noData })` (just prepare other\n // option but no data), then `setOption({series: {data: [...]}); In this case,\n // the user should set an empty array to avoid that dataset is used by default.\n\n var thisData = option.data;\n\n if (!thisData) {\n return seriesModel.ecModel.getComponent('dataset', option.datasetIndex || 0);\n }\n}\n/**\n * The rule should not be complex, otherwise user might not\n * be able to known where the data is wrong.\n * The code is ugly, but how to make it neat?\n *\n * @param {module:echars/data/Source} source\n * @param {number} dimIndex\n * @return {boolean} Whether ordinal.\n */\n\n\nfunction guessOrdinal(source, dimIndex) {\n return doGuessOrdinal(source.data, source.sourceFormat, source.seriesLayoutBy, source.dimensionsDefine, source.startIndex, dimIndex);\n} // dimIndex may be overflow source data.\n\n\nfunction doGuessOrdinal(data, sourceFormat, seriesLayoutBy, dimensionsDefine, startIndex, dimIndex) {\n var result; // Experience value.\n\n var maxLoop = 5;\n\n if (isTypedArray(data)) {\n return false;\n } // When sourceType is 'objectRows' or 'keyedColumns', dimensionsDefine\n // always exists in source.\n\n\n var dimName;\n\n if (dimensionsDefine) {\n dimName = dimensionsDefine[dimIndex];\n dimName = isObject(dimName) ? dimName.name : dimName;\n }\n\n if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {\n if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {\n var sample = data[dimIndex];\n\n for (var i = 0; i < (sample || []).length && i < maxLoop; i++) {\n if ((result = detectValue(sample[startIndex + i])) != null) {\n return result;\n }\n }\n } else {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var row = data[startIndex + i];\n\n if (row && (result = detectValue(row[dimIndex])) != null) {\n return result;\n }\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {\n if (!dimName) {\n return;\n }\n\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var item = data[i];\n\n if (item && (result = detectValue(item[dimName])) != null) {\n return result;\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n if (!dimName) {\n return;\n }\n\n var sample = data[dimName];\n\n if (!sample || isTypedArray(sample)) {\n return false;\n }\n\n for (var i = 0; i < sample.length && i < maxLoop; i++) {\n if ((result = detectValue(sample[i])) != null) {\n return result;\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var item = data[i];\n var val = getDataItemValue(item);\n\n if (!isArray(val)) {\n return false;\n }\n\n if ((result = detectValue(val[dimIndex])) != null) {\n return result;\n }\n }\n }\n\n function detectValue(val) {\n // Consider usage convenience, '1', '2' will be treated as \"number\".\n // `isFinit('')` get `true`.\n if (val != null && isFinite(val) && val !== '') {\n return false;\n } else if (isString(val) && val !== '-') {\n return true;\n }\n }\n\n return false;\n}\n\nexports.detectSourceFormat = detectSourceFormat;\nexports.getSource = getSource;\nexports.resetSourceDefaulter = resetSourceDefaulter;\nexports.prepareSource = prepareSource;\nexports.guessOrdinal = guessOrdinal;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar Line = require(\"./Line\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar curveUtil = require(\"zrender/lib/core/curve\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Provide effect for line\n * @module echarts/chart/helper/EffectLine\n */\n\n/**\n * @constructor\n * @extends {module:zrender/graphic/Group}\n * @alias {module:echarts/chart/helper/Line}\n */\nfunction EffectLine(lineData, idx, seriesScope) {\n graphic.Group.call(this);\n this.add(this.createLine(lineData, idx, seriesScope));\n\n this._updateEffectSymbol(lineData, idx);\n}\n\nvar effectLineProto = EffectLine.prototype;\n\neffectLineProto.createLine = function (lineData, idx, seriesScope) {\n return new Line(lineData, idx, seriesScope);\n};\n\neffectLineProto._updateEffectSymbol = function (lineData, idx) {\n var itemModel = lineData.getItemModel(idx);\n var effectModel = itemModel.getModel('effect');\n var size = effectModel.get('symbolSize');\n var symbolType = effectModel.get('symbol');\n\n if (!zrUtil.isArray(size)) {\n size = [size, size];\n }\n\n var color = effectModel.get('color') || lineData.getItemVisual(idx, 'color');\n var symbol = this.childAt(1);\n\n if (this._symbolType !== symbolType) {\n // Remove previous\n this.remove(symbol);\n symbol = createSymbol(symbolType, -0.5, -0.5, 1, 1, color);\n symbol.z2 = 100;\n symbol.culling = true;\n this.add(symbol);\n } // Symbol may be removed if loop is false\n\n\n if (!symbol) {\n return;\n } // Shadow color is same with color in default\n\n\n symbol.setStyle('shadowColor', color);\n symbol.setStyle(effectModel.getItemStyle(['color']));\n symbol.attr('scale', size);\n symbol.setColor(color);\n symbol.attr('scale', size);\n this._symbolType = symbolType;\n\n this._updateEffectAnimation(lineData, effectModel, idx);\n};\n\neffectLineProto._updateEffectAnimation = function (lineData, effectModel, idx) {\n var symbol = this.childAt(1);\n\n if (!symbol) {\n return;\n }\n\n var self = this;\n var points = lineData.getItemLayout(idx);\n var period = effectModel.get('period') * 1000;\n var loop = effectModel.get('loop');\n var constantSpeed = effectModel.get('constantSpeed');\n var delayExpr = zrUtil.retrieve(effectModel.get('delay'), function (idx) {\n return idx / lineData.count() * period / 3;\n });\n var isDelayFunc = typeof delayExpr === 'function'; // Ignore when updating\n\n symbol.ignore = true;\n this.updateAnimationPoints(symbol, points);\n\n if (constantSpeed > 0) {\n period = this.getLineLength(symbol) / constantSpeed * 1000;\n }\n\n if (period !== this._period || loop !== this._loop) {\n symbol.stopAnimation();\n var delay = delayExpr;\n\n if (isDelayFunc) {\n delay = delayExpr(idx);\n }\n\n if (symbol.__t > 0) {\n delay = -period * symbol.__t;\n }\n\n symbol.__t = 0;\n var animator = symbol.animate('', loop).when(period, {\n __t: 1\n }).delay(delay).during(function () {\n self.updateSymbolPosition(symbol);\n });\n\n if (!loop) {\n animator.done(function () {\n self.remove(symbol);\n });\n }\n\n animator.start();\n }\n\n this._period = period;\n this._loop = loop;\n};\n\neffectLineProto.getLineLength = function (symbol) {\n // Not so accurate\n return vec2.dist(symbol.__p1, symbol.__cp1) + vec2.dist(symbol.__cp1, symbol.__p2);\n};\n\neffectLineProto.updateAnimationPoints = function (symbol, points) {\n symbol.__p1 = points[0];\n symbol.__p2 = points[1];\n symbol.__cp1 = points[2] || [(points[0][0] + points[1][0]) / 2, (points[0][1] + points[1][1]) / 2];\n};\n\neffectLineProto.updateData = function (lineData, idx, seriesScope) {\n this.childAt(0).updateData(lineData, idx, seriesScope);\n\n this._updateEffectSymbol(lineData, idx);\n};\n\neffectLineProto.updateSymbolPosition = function (symbol) {\n var p1 = symbol.__p1;\n var p2 = symbol.__p2;\n var cp1 = symbol.__cp1;\n var t = symbol.__t;\n var pos = symbol.position;\n var quadraticAt = curveUtil.quadraticAt;\n var quadraticDerivativeAt = curveUtil.quadraticDerivativeAt;\n pos[0] = quadraticAt(p1[0], cp1[0], p2[0], t);\n pos[1] = quadraticAt(p1[1], cp1[1], p2[1], t); // Tangent\n\n var tx = quadraticDerivativeAt(p1[0], cp1[0], p2[0], t);\n var ty = quadraticDerivativeAt(p1[1], cp1[1], p2[1], t);\n symbol.rotation = -Math.atan2(ty, tx) - Math.PI / 2;\n symbol.ignore = false;\n};\n\neffectLineProto.updateLayout = function (lineData, idx) {\n this.childAt(0).updateLayout(lineData, idx);\n var effectModel = lineData.getItemModel(idx).getModel('effect');\n\n this._updateEffectAnimation(lineData, effectModel, idx);\n};\n\nzrUtil.inherits(EffectLine, graphic.Group);\nvar _default = EffectLine;\nmodule.exports = _default;","var fails = require('./fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar visualSolution = require(\"../../visual/visualSolution\");\n\nvar selector = require(\"./selector\");\n\nvar throttleUtil = require(\"../../util/throttle\");\n\nvar BrushTargetManager = require(\"../helper/BrushTargetManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar STATE_LIST = ['inBrush', 'outOfBrush'];\nvar DISPATCH_METHOD = '__ecBrushSelect';\nvar DISPATCH_FLAG = '__ecInBrushSelectEvent';\nvar PRIORITY_BRUSH = echarts.PRIORITY.VISUAL.BRUSH;\n/**\n * Layout for visual, the priority higher than other layout, and before brush visual.\n */\n\necharts.registerLayout(PRIORITY_BRUSH, function (ecModel, api, payload) {\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel) {\n payload && payload.type === 'takeGlobalCursor' && brushModel.setBrushOption(payload.key === 'brush' ? payload.brushOption : {\n brushType: false\n });\n var brushTargetManager = brushModel.brushTargetManager = new BrushTargetManager(brushModel.option, ecModel);\n brushTargetManager.setInputRanges(brushModel.areas, ecModel);\n });\n});\n/**\n * Register the visual encoding if this modules required.\n */\n\necharts.registerVisual(PRIORITY_BRUSH, function (ecModel, api, payload) {\n var brushSelected = [];\n var throttleType;\n var throttleDelay;\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel, brushIndex) {\n var thisBrushSelected = {\n brushId: brushModel.id,\n brushIndex: brushIndex,\n brushName: brushModel.name,\n areas: zrUtil.clone(brushModel.areas),\n selected: []\n }; // Every brush component exists in event params, convenient\n // for user to find by index.\n\n brushSelected.push(thisBrushSelected);\n var brushOption = brushModel.option;\n var brushLink = brushOption.brushLink;\n var linkedSeriesMap = [];\n var selectedDataIndexForLink = [];\n var rangeInfoBySeries = [];\n var hasBrushExists = 0;\n\n if (!brushIndex) {\n // Only the first throttle setting works.\n throttleType = brushOption.throttleType;\n throttleDelay = brushOption.throttleDelay;\n } // Add boundingRect and selectors to range.\n\n\n var areas = zrUtil.map(brushModel.areas, function (area) {\n return bindSelector(zrUtil.defaults({\n boundingRect: boundingRectBuilders[area.brushType](area)\n }, area));\n });\n var visualMappings = visualSolution.createVisualMappings(brushModel.option, STATE_LIST, function (mappingOption) {\n mappingOption.mappingMethod = 'fixed';\n });\n zrUtil.isArray(brushLink) && zrUtil.each(brushLink, function (seriesIndex) {\n linkedSeriesMap[seriesIndex] = 1;\n });\n\n function linkOthers(seriesIndex) {\n return brushLink === 'all' || linkedSeriesMap[seriesIndex];\n } // If no supported brush or no brush on the series,\n // all visuals should be in original state.\n\n\n function brushed(rangeInfoList) {\n return !!rangeInfoList.length;\n }\n /**\n * Logic for each series: (If the logic has to be modified one day, do it carefully!)\n *\n * ( brushed ┬ && ┬hasBrushExist ┬ && linkOthers ) => StepA: ┬record, ┬ StepB: ┬visualByRecord.\n * !brushed┘ ├hasBrushExist ┤ └nothing,┘ ├visualByRecord.\n * └!hasBrushExist┘ └nothing.\n * ( !brushed && ┬hasBrushExist ┬ && linkOthers ) => StepA: nothing, StepB: ┬visualByRecord.\n * └!hasBrushExist┘ └nothing.\n * ( brushed ┬ && !linkOthers ) => StepA: nothing, StepB: ┬visualByCheck.\n * !brushed┘ └nothing.\n * ( !brushed && !linkOthers ) => StepA: nothing, StepB: nothing.\n */\n // Step A\n\n\n ecModel.eachSeries(function (seriesModel, seriesIndex) {\n var rangeInfoList = rangeInfoBySeries[seriesIndex] = [];\n seriesModel.subType === 'parallel' ? stepAParallel(seriesModel, seriesIndex, rangeInfoList) : stepAOthers(seriesModel, seriesIndex, rangeInfoList);\n });\n\n function stepAParallel(seriesModel, seriesIndex) {\n var coordSys = seriesModel.coordinateSystem;\n hasBrushExists |= coordSys.hasAxisBrushed();\n linkOthers(seriesIndex) && coordSys.eachActiveState(seriesModel.getData(), function (activeState, dataIndex) {\n activeState === 'active' && (selectedDataIndexForLink[dataIndex] = 1);\n });\n }\n\n function stepAOthers(seriesModel, seriesIndex, rangeInfoList) {\n var selectorsByBrushType = getSelectorsByBrushType(seriesModel);\n\n if (!selectorsByBrushType || brushModelNotControll(brushModel, seriesIndex)) {\n return;\n }\n\n zrUtil.each(areas, function (area) {\n selectorsByBrushType[area.brushType] && brushModel.brushTargetManager.controlSeries(area, seriesModel, ecModel) && rangeInfoList.push(area);\n hasBrushExists |= brushed(rangeInfoList);\n });\n\n if (linkOthers(seriesIndex) && brushed(rangeInfoList)) {\n var data = seriesModel.getData();\n data.each(function (dataIndex) {\n if (checkInRange(selectorsByBrushType, rangeInfoList, data, dataIndex)) {\n selectedDataIndexForLink[dataIndex] = 1;\n }\n });\n }\n } // Step B\n\n\n ecModel.eachSeries(function (seriesModel, seriesIndex) {\n var seriesBrushSelected = {\n seriesId: seriesModel.id,\n seriesIndex: seriesIndex,\n seriesName: seriesModel.name,\n dataIndex: []\n }; // Every series exists in event params, convenient\n // for user to find series by seriesIndex.\n\n thisBrushSelected.selected.push(seriesBrushSelected);\n var selectorsByBrushType = getSelectorsByBrushType(seriesModel);\n var rangeInfoList = rangeInfoBySeries[seriesIndex];\n var data = seriesModel.getData();\n var getValueState = linkOthers(seriesIndex) ? function (dataIndex) {\n return selectedDataIndexForLink[dataIndex] ? (seriesBrushSelected.dataIndex.push(data.getRawIndex(dataIndex)), 'inBrush') : 'outOfBrush';\n } : function (dataIndex) {\n return checkInRange(selectorsByBrushType, rangeInfoList, data, dataIndex) ? (seriesBrushSelected.dataIndex.push(data.getRawIndex(dataIndex)), 'inBrush') : 'outOfBrush';\n }; // If no supported brush or no brush, all visuals are in original state.\n\n (linkOthers(seriesIndex) ? hasBrushExists : brushed(rangeInfoList)) && visualSolution.applyVisual(STATE_LIST, visualMappings, data, getValueState);\n });\n });\n dispatchAction(api, throttleType, throttleDelay, brushSelected, payload);\n});\n\nfunction dispatchAction(api, throttleType, throttleDelay, brushSelected, payload) {\n // This event will not be triggered when `setOpion`, otherwise dead lock may\n // triggered when do `setOption` in event listener, which we do not find\n // satisfactory way to solve yet. Some considered resolutions:\n // (a) Diff with prevoius selected data ant only trigger event when changed.\n // But store previous data and diff precisely (i.e., not only by dataIndex, but\n // also detect value changes in selected data) might bring complexity or fragility.\n // (b) Use spectial param like `silent` to suppress event triggering.\n // But such kind of volatile param may be weird in `setOption`.\n if (!payload) {\n return;\n }\n\n var zr = api.getZr();\n\n if (zr[DISPATCH_FLAG]) {\n return;\n }\n\n if (!zr[DISPATCH_METHOD]) {\n zr[DISPATCH_METHOD] = doDispatch;\n }\n\n var fn = throttleUtil.createOrUpdate(zr, DISPATCH_METHOD, throttleDelay, throttleType);\n fn(api, brushSelected);\n}\n\nfunction doDispatch(api, brushSelected) {\n if (!api.isDisposed()) {\n var zr = api.getZr();\n zr[DISPATCH_FLAG] = true;\n api.dispatchAction({\n type: 'brushSelect',\n batch: brushSelected\n });\n zr[DISPATCH_FLAG] = false;\n }\n}\n\nfunction checkInRange(selectorsByBrushType, rangeInfoList, data, dataIndex) {\n for (var i = 0, len = rangeInfoList.length; i < len; i++) {\n var area = rangeInfoList[i];\n\n if (selectorsByBrushType[area.brushType](dataIndex, data, area.selectors, area)) {\n return true;\n }\n }\n}\n\nfunction getSelectorsByBrushType(seriesModel) {\n var brushSelector = seriesModel.brushSelector;\n\n if (zrUtil.isString(brushSelector)) {\n var sels = [];\n zrUtil.each(selector, function (selectorsByElementType, brushType) {\n sels[brushType] = function (dataIndex, data, selectors, area) {\n var itemLayout = data.getItemLayout(dataIndex);\n return selectorsByElementType[brushSelector](itemLayout, selectors, area);\n };\n });\n return sels;\n } else if (zrUtil.isFunction(brushSelector)) {\n var bSelector = {};\n zrUtil.each(selector, function (sel, brushType) {\n bSelector[brushType] = brushSelector;\n });\n return bSelector;\n }\n\n return brushSelector;\n}\n\nfunction brushModelNotControll(brushModel, seriesIndex) {\n var seriesIndices = brushModel.option.seriesIndex;\n return seriesIndices != null && seriesIndices !== 'all' && (zrUtil.isArray(seriesIndices) ? zrUtil.indexOf(seriesIndices, seriesIndex) < 0 : seriesIndex !== seriesIndices);\n}\n\nfunction bindSelector(area) {\n var selectors = area.selectors = {};\n zrUtil.each(selector[area.brushType], function (selFn, elType) {\n // Do not use function binding or curry for performance.\n selectors[elType] = function (itemLayout) {\n return selFn(itemLayout, selectors, area);\n };\n });\n return area;\n}\n\nvar boundingRectBuilders = {\n lineX: zrUtil.noop,\n lineY: zrUtil.noop,\n rect: function (area) {\n return getBoundingRectFromMinMax(area.range);\n },\n polygon: function (area) {\n var minMax;\n var range = area.range;\n\n for (var i = 0, len = range.length; i < len; i++) {\n minMax = minMax || [[Infinity, -Infinity], [Infinity, -Infinity]];\n var rg = range[i];\n rg[0] < minMax[0][0] && (minMax[0][0] = rg[0]);\n rg[0] > minMax[0][1] && (minMax[0][1] = rg[0]);\n rg[1] < minMax[1][0] && (minMax[1][0] = rg[1]);\n rg[1] > minMax[1][1] && (minMax[1][1] = rg[1]);\n }\n\n return minMax && getBoundingRectFromMinMax(minMax);\n }\n};\n\nfunction getBoundingRectFromMinMax(minMax) {\n return new BoundingRect(minMax[0][0], minMax[1][0], minMax[0][1] - minMax[0][0], minMax[1][1] - minMax[1][0]);\n}","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./effectScatter/EffectScatterSeries\");\n\nrequire(\"./effectScatter/EffectScatterView\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar layoutPoints = require(\"../layout/points\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerVisual(visualSymbol('effectScatter', 'circle'));\necharts.registerLayout(layoutPoints('effectScatter'));","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (ref) {\n return {\n methods: {\n focus: function focus() {\n this.$refs[ref].focus();\n }\n }\n };\n};\n\n;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../../util/model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {Object} finder contains {seriesIndex, dataIndex, dataIndexInside}\n * @param {module:echarts/model/Global} ecModel\n * @return {Object} {point: [x, y], el: ...} point Will not be null.\n */\nfunction _default(finder, ecModel) {\n var point = [];\n var seriesIndex = finder.seriesIndex;\n var seriesModel;\n\n if (seriesIndex == null || !(seriesModel = ecModel.getSeriesByIndex(seriesIndex))) {\n return {\n point: []\n };\n }\n\n var data = seriesModel.getData();\n var dataIndex = modelUtil.queryDataIndex(data, finder);\n\n if (dataIndex == null || dataIndex < 0 || zrUtil.isArray(dataIndex)) {\n return {\n point: []\n };\n }\n\n var el = data.getItemGraphicEl(dataIndex);\n var coordSys = seriesModel.coordinateSystem;\n\n if (seriesModel.getTooltipPosition) {\n point = seriesModel.getTooltipPosition(dataIndex) || [];\n } else if (coordSys && coordSys.dataToPoint) {\n point = coordSys.dataToPoint(data.getValues(zrUtil.map(coordSys.dimensions, function (dim) {\n return data.mapDimension(dim);\n }), dataIndex, true)) || [];\n } else if (el) {\n // Use graphic bounding rect\n var rect = el.getBoundingRect().clone();\n rect.applyTransform(el.transform);\n point = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n }\n\n return {\n point: point,\n el: el\n };\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _labelHelper = require(\"./labelHelper\");\n\nvar getDefaultLabel = _labelHelper.getDefaultLabel;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/chart/helper/Symbol\n */\n\n/**\n * @constructor\n * @alias {module:echarts/chart/helper/Symbol}\n * @param {module:echarts/data/List} data\n * @param {number} idx\n * @extends {module:zrender/graphic/Group}\n */\nfunction SymbolClz(data, idx, seriesScope) {\n graphic.Group.call(this);\n this.updateData(data, idx, seriesScope);\n}\n\nvar symbolProto = SymbolClz.prototype;\n/**\n * @public\n * @static\n * @param {module:echarts/data/List} data\n * @param {number} dataIndex\n * @return {Array.} [width, height]\n */\n\nvar getSymbolSize = SymbolClz.getSymbolSize = function (data, idx) {\n var symbolSize = data.getItemVisual(idx, 'symbolSize');\n return symbolSize instanceof Array ? symbolSize.slice() : [+symbolSize, +symbolSize];\n};\n\nfunction getScale(symbolSize) {\n return [symbolSize[0] / 2, symbolSize[1] / 2];\n}\n\nfunction driftSymbol(dx, dy) {\n this.parent.drift(dx, dy);\n}\n\nsymbolProto._createSymbol = function (symbolType, data, idx, symbolSize, keepAspect) {\n // Remove paths created before\n this.removeAll();\n var color = data.getItemVisual(idx, 'color'); // var symbolPath = createSymbol(\n // symbolType, -0.5, -0.5, 1, 1, color\n // );\n // If width/height are set too small (e.g., set to 1) on ios10\n // and macOS Sierra, a circle stroke become a rect, no matter what\n // the scale is set. So we set width/height as 2. See #4150.\n\n var symbolPath = createSymbol(symbolType, -1, -1, 2, 2, color, keepAspect);\n symbolPath.attr({\n z2: 100,\n culling: true,\n scale: getScale(symbolSize)\n }); // Rewrite drift method\n\n symbolPath.drift = driftSymbol;\n this._symbolType = symbolType;\n this.add(symbolPath);\n};\n/**\n * Stop animation\n * @param {boolean} toLastFrame\n */\n\n\nsymbolProto.stopSymbolAnimation = function (toLastFrame) {\n this.childAt(0).stopAnimation(toLastFrame);\n};\n/**\n * FIXME:\n * Caution: This method breaks the encapsulation of this module,\n * but it indeed brings convenience. So do not use the method\n * unless you detailedly know all the implements of `Symbol`,\n * especially animation.\n *\n * Get symbol path element.\n */\n\n\nsymbolProto.getSymbolPath = function () {\n return this.childAt(0);\n};\n/**\n * Get scale(aka, current symbol size).\n * Including the change caused by animation\n */\n\n\nsymbolProto.getScale = function () {\n return this.childAt(0).scale;\n};\n/**\n * Highlight symbol\n */\n\n\nsymbolProto.highlight = function () {\n this.childAt(0).trigger('emphasis');\n};\n/**\n * Downplay symbol\n */\n\n\nsymbolProto.downplay = function () {\n this.childAt(0).trigger('normal');\n};\n/**\n * @param {number} zlevel\n * @param {number} z\n */\n\n\nsymbolProto.setZ = function (zlevel, z) {\n var symbolPath = this.childAt(0);\n symbolPath.zlevel = zlevel;\n symbolPath.z = z;\n};\n\nsymbolProto.setDraggable = function (draggable) {\n var symbolPath = this.childAt(0);\n symbolPath.draggable = draggable;\n symbolPath.cursor = draggable ? 'move' : 'pointer';\n};\n/**\n * Update symbol properties\n * @param {module:echarts/data/List} data\n * @param {number} idx\n * @param {Object} [seriesScope]\n * @param {Object} [seriesScope.itemStyle]\n * @param {Object} [seriesScope.hoverItemStyle]\n * @param {Object} [seriesScope.symbolRotate]\n * @param {Object} [seriesScope.symbolOffset]\n * @param {module:echarts/model/Model} [seriesScope.labelModel]\n * @param {module:echarts/model/Model} [seriesScope.hoverLabelModel]\n * @param {boolean} [seriesScope.hoverAnimation]\n * @param {Object} [seriesScope.cursorStyle]\n * @param {module:echarts/model/Model} [seriesScope.itemModel]\n * @param {string} [seriesScope.symbolInnerColor]\n * @param {Object} [seriesScope.fadeIn=false]\n */\n\n\nsymbolProto.updateData = function (data, idx, seriesScope) {\n this.silent = false;\n var symbolType = data.getItemVisual(idx, 'symbol') || 'circle';\n var seriesModel = data.hostModel;\n var symbolSize = getSymbolSize(data, idx);\n var isInit = symbolType !== this._symbolType;\n\n if (isInit) {\n var keepAspect = data.getItemVisual(idx, 'symbolKeepAspect');\n\n this._createSymbol(symbolType, data, idx, symbolSize, keepAspect);\n } else {\n var symbolPath = this.childAt(0);\n symbolPath.silent = false;\n graphic.updateProps(symbolPath, {\n scale: getScale(symbolSize)\n }, seriesModel, idx);\n }\n\n this._updateCommon(data, idx, symbolSize, seriesScope);\n\n if (isInit) {\n var symbolPath = this.childAt(0);\n var fadeIn = seriesScope && seriesScope.fadeIn;\n var target = {\n scale: symbolPath.scale.slice()\n };\n fadeIn && (target.style = {\n opacity: symbolPath.style.opacity\n });\n symbolPath.scale = [0, 0];\n fadeIn && (symbolPath.style.opacity = 0);\n graphic.initProps(symbolPath, target, seriesModel, idx);\n }\n\n this._seriesModel = seriesModel;\n}; // Update common properties\n\n\nvar normalStyleAccessPath = ['itemStyle'];\nvar emphasisStyleAccessPath = ['emphasis', 'itemStyle'];\nvar normalLabelAccessPath = ['label'];\nvar emphasisLabelAccessPath = ['emphasis', 'label'];\n/**\n * @param {module:echarts/data/List} data\n * @param {number} idx\n * @param {Array.} symbolSize\n * @param {Object} [seriesScope]\n */\n\nsymbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {\n var symbolPath = this.childAt(0);\n var seriesModel = data.hostModel;\n var color = data.getItemVisual(idx, 'color'); // Reset style\n\n if (symbolPath.type !== 'image') {\n symbolPath.useStyle({\n strokeNoScale: true\n });\n }\n\n var itemStyle = seriesScope && seriesScope.itemStyle;\n var hoverItemStyle = seriesScope && seriesScope.hoverItemStyle;\n var symbolRotate = seriesScope && seriesScope.symbolRotate;\n var symbolOffset = seriesScope && seriesScope.symbolOffset;\n var labelModel = seriesScope && seriesScope.labelModel;\n var hoverLabelModel = seriesScope && seriesScope.hoverLabelModel;\n var hoverAnimation = seriesScope && seriesScope.hoverAnimation;\n var cursorStyle = seriesScope && seriesScope.cursorStyle;\n\n if (!seriesScope || data.hasItemOption) {\n var itemModel = seriesScope && seriesScope.itemModel ? seriesScope.itemModel : data.getItemModel(idx); // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n itemStyle = itemModel.getModel(normalStyleAccessPath).getItemStyle(['color']);\n hoverItemStyle = itemModel.getModel(emphasisStyleAccessPath).getItemStyle();\n symbolRotate = itemModel.getShallow('symbolRotate');\n symbolOffset = itemModel.getShallow('symbolOffset');\n labelModel = itemModel.getModel(normalLabelAccessPath);\n hoverLabelModel = itemModel.getModel(emphasisLabelAccessPath);\n hoverAnimation = itemModel.getShallow('hoverAnimation');\n cursorStyle = itemModel.getShallow('cursor');\n } else {\n hoverItemStyle = zrUtil.extend({}, hoverItemStyle);\n }\n\n var elStyle = symbolPath.style;\n symbolPath.attr('rotation', (symbolRotate || 0) * Math.PI / 180 || 0);\n\n if (symbolOffset) {\n symbolPath.attr('position', [parsePercent(symbolOffset[0], symbolSize[0]), parsePercent(symbolOffset[1], symbolSize[1])]);\n }\n\n cursorStyle && symbolPath.attr('cursor', cursorStyle); // PENDING setColor before setStyle!!!\n\n symbolPath.setColor(color, seriesScope && seriesScope.symbolInnerColor);\n symbolPath.setStyle(itemStyle);\n var opacity = data.getItemVisual(idx, 'opacity');\n\n if (opacity != null) {\n elStyle.opacity = opacity;\n }\n\n var liftZ = data.getItemVisual(idx, 'liftZ');\n var z2Origin = symbolPath.__z2Origin;\n\n if (liftZ != null) {\n if (z2Origin == null) {\n symbolPath.__z2Origin = symbolPath.z2;\n symbolPath.z2 += liftZ;\n }\n } else if (z2Origin != null) {\n symbolPath.z2 = z2Origin;\n symbolPath.__z2Origin = null;\n }\n\n var useNameLabel = seriesScope && seriesScope.useNameLabel;\n graphic.setLabelStyle(elStyle, hoverItemStyle, labelModel, hoverLabelModel, {\n labelFetcher: seriesModel,\n labelDataIndex: idx,\n defaultText: getLabelDefaultText,\n isRectText: true,\n autoColor: color\n }); // Do not execute util needed.\n\n function getLabelDefaultText(idx, opt) {\n return useNameLabel ? data.getName(idx) : getDefaultLabel(data, idx);\n }\n\n symbolPath.off('mouseover').off('mouseout').off('emphasis').off('normal');\n symbolPath.hoverStyle = hoverItemStyle; // FIXME\n // Do not use symbol.trigger('emphasis'), but use symbol.highlight() instead.\n\n graphic.setHoverStyle(symbolPath);\n symbolPath.__symbolOriginalScale = getScale(symbolSize);\n\n if (hoverAnimation && seriesModel.isAnimationEnabled()) {\n // Note: consider `off`, should use static function here.\n symbolPath.on('mouseover', onMouseOver).on('mouseout', onMouseOut).on('emphasis', onEmphasis).on('normal', onNormal);\n }\n};\n\nfunction onMouseOver() {\n // see comment in `graphic.isInEmphasis`\n !graphic.isInEmphasis(this) && onEmphasis.call(this);\n}\n\nfunction onMouseOut() {\n // see comment in `graphic.isInEmphasis`\n !graphic.isInEmphasis(this) && onNormal.call(this);\n}\n\nfunction onEmphasis() {\n // Do not support this hover animation util some scenario required.\n // Animation can only be supported in hover layer when using `el.incremetal`.\n if (this.incremental || this.useHoverLayer) {\n return;\n }\n\n var scale = this.__symbolOriginalScale;\n var ratio = scale[1] / scale[0];\n this.animateTo({\n scale: [Math.max(scale[0] * 1.1, scale[0] + 3), Math.max(scale[1] * 1.1, scale[1] + 3 * ratio)]\n }, 400, 'elasticOut');\n}\n\nfunction onNormal() {\n if (this.incremental || this.useHoverLayer) {\n return;\n }\n\n this.animateTo({\n scale: this.__symbolOriginalScale\n }, 400, 'elasticOut');\n}\n/**\n * @param {Function} cb\n * @param {Object} [opt]\n * @param {Object} [opt.keepLabel=true]\n */\n\n\nsymbolProto.fadeOut = function (cb, opt) {\n var symbolPath = this.childAt(0); // Avoid mistaken hover when fading out\n\n this.silent = symbolPath.silent = true; // Not show text when animating\n\n !(opt && opt.keepLabel) && (symbolPath.style.text = null);\n graphic.updateProps(symbolPath, {\n style: {\n opacity: 0\n },\n scale: [0, 0]\n }, this._seriesModel, this.dataIndex, cb);\n};\n\nzrUtil.inherits(SymbolClz, graphic.Group);\nvar _default = SymbolClz;\nmodule.exports = _default;","var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar symbolUtil = require(\"../../util/symbol\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction normalizeSymbolSize(symbolSize) {\n if (!zrUtil.isArray(symbolSize)) {\n symbolSize = [+symbolSize, +symbolSize];\n }\n\n return symbolSize;\n}\n\nvar _default = echarts.extendChartView({\n type: 'radar',\n render: function (seriesModel, ecModel, api) {\n var polar = seriesModel.coordinateSystem;\n var group = this.group;\n var data = seriesModel.getData();\n var oldData = this._data;\n\n function createSymbol(data, idx) {\n var symbolType = data.getItemVisual(idx, 'symbol') || 'circle';\n var color = data.getItemVisual(idx, 'color');\n\n if (symbolType === 'none') {\n return;\n }\n\n var symbolSize = normalizeSymbolSize(data.getItemVisual(idx, 'symbolSize'));\n var symbolPath = symbolUtil.createSymbol(symbolType, -1, -1, 2, 2, color);\n symbolPath.attr({\n style: {\n strokeNoScale: true\n },\n z2: 100,\n scale: [symbolSize[0] / 2, symbolSize[1] / 2]\n });\n return symbolPath;\n }\n\n function updateSymbols(oldPoints, newPoints, symbolGroup, data, idx, isInit) {\n // Simply rerender all\n symbolGroup.removeAll();\n\n for (var i = 0; i < newPoints.length - 1; i++) {\n var symbolPath = createSymbol(data, idx);\n\n if (symbolPath) {\n symbolPath.__dimIdx = i;\n\n if (oldPoints[i]) {\n symbolPath.attr('position', oldPoints[i]);\n graphic[isInit ? 'initProps' : 'updateProps'](symbolPath, {\n position: newPoints[i]\n }, seriesModel, idx);\n } else {\n symbolPath.attr('position', newPoints[i]);\n }\n\n symbolGroup.add(symbolPath);\n }\n }\n }\n\n function getInitialPoints(points) {\n return zrUtil.map(points, function (pt) {\n return [polar.cx, polar.cy];\n });\n }\n\n data.diff(oldData).add(function (idx) {\n var points = data.getItemLayout(idx);\n\n if (!points) {\n return;\n }\n\n var polygon = new graphic.Polygon();\n var polyline = new graphic.Polyline();\n var target = {\n shape: {\n points: points\n }\n };\n polygon.shape.points = getInitialPoints(points);\n polyline.shape.points = getInitialPoints(points);\n graphic.initProps(polygon, target, seriesModel, idx);\n graphic.initProps(polyline, target, seriesModel, idx);\n var itemGroup = new graphic.Group();\n var symbolGroup = new graphic.Group();\n itemGroup.add(polyline);\n itemGroup.add(polygon);\n itemGroup.add(symbolGroup);\n updateSymbols(polyline.shape.points, points, symbolGroup, data, idx, true);\n data.setItemGraphicEl(idx, itemGroup);\n }).update(function (newIdx, oldIdx) {\n var itemGroup = oldData.getItemGraphicEl(oldIdx);\n var polyline = itemGroup.childAt(0);\n var polygon = itemGroup.childAt(1);\n var symbolGroup = itemGroup.childAt(2);\n var target = {\n shape: {\n points: data.getItemLayout(newIdx)\n }\n };\n\n if (!target.shape.points) {\n return;\n }\n\n updateSymbols(polyline.shape.points, target.shape.points, symbolGroup, data, newIdx, false);\n graphic.updateProps(polyline, target, seriesModel);\n graphic.updateProps(polygon, target, seriesModel);\n data.setItemGraphicEl(newIdx, itemGroup);\n }).remove(function (idx) {\n group.remove(oldData.getItemGraphicEl(idx));\n }).execute();\n data.eachItemGraphicEl(function (itemGroup, idx) {\n var itemModel = data.getItemModel(idx);\n var polyline = itemGroup.childAt(0);\n var polygon = itemGroup.childAt(1);\n var symbolGroup = itemGroup.childAt(2);\n var color = data.getItemVisual(idx, 'color');\n group.add(itemGroup);\n polyline.useStyle(zrUtil.defaults(itemModel.getModel('lineStyle').getLineStyle(), {\n fill: 'none',\n stroke: color\n }));\n polyline.hoverStyle = itemModel.getModel('emphasis.lineStyle').getLineStyle();\n var areaStyleModel = itemModel.getModel('areaStyle');\n var hoverAreaStyleModel = itemModel.getModel('emphasis.areaStyle');\n var polygonIgnore = areaStyleModel.isEmpty() && areaStyleModel.parentModel.isEmpty();\n var hoverPolygonIgnore = hoverAreaStyleModel.isEmpty() && hoverAreaStyleModel.parentModel.isEmpty();\n hoverPolygonIgnore = hoverPolygonIgnore && polygonIgnore;\n polygon.ignore = polygonIgnore;\n polygon.useStyle(zrUtil.defaults(areaStyleModel.getAreaStyle(), {\n fill: color,\n opacity: 0.7\n }));\n polygon.hoverStyle = hoverAreaStyleModel.getAreaStyle();\n var itemStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);\n var itemHoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n symbolGroup.eachChild(function (symbolPath) {\n symbolPath.setStyle(itemStyle);\n symbolPath.hoverStyle = zrUtil.clone(itemHoverStyle);\n graphic.setLabelStyle(symbolPath.style, symbolPath.hoverStyle, labelModel, labelHoverModel, {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n labelDimIndex: symbolPath.__dimIdx,\n defaultText: data.get(data.dimensions[symbolPath.__dimIdx], idx),\n autoColor: color,\n isRectText: true\n });\n });\n\n function onEmphasis() {\n polygon.attr('ignore', hoverPolygonIgnore);\n }\n\n function onNormal() {\n polygon.attr('ignore', polygonIgnore);\n }\n\n itemGroup.off('mouseover').off('mouseout').off('normal').off('emphasis');\n itemGroup.on('emphasis', onEmphasis).on('mouseover', onEmphasis).on('normal', onNormal).on('mouseout', onNormal);\n graphic.setHoverStyle(itemGroup);\n });\n this._data = data;\n },\n remove: function () {\n this.group.removeAll();\n this._data = null;\n },\n dispose: function () {}\n});\n\nmodule.exports = _default;","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar AxisBuilder = require(\"./AxisBuilder\");\n\nvar AxisView = require(\"./AxisView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitLine', 'splitArea'];\n\nvar _default = AxisView.extend({\n type: 'radiusAxis',\n axisPointerClass: 'PolarAxisPointer',\n render: function (radiusAxisModel, ecModel) {\n this.group.removeAll();\n\n if (!radiusAxisModel.get('show')) {\n return;\n }\n\n var radiusAxis = radiusAxisModel.axis;\n var polar = radiusAxis.polar;\n var angleAxis = polar.getAngleAxis();\n var ticksCoords = radiusAxis.getTicksCoords();\n var axisAngle = angleAxis.getExtent()[0];\n var radiusExtent = radiusAxis.getExtent();\n var layout = layoutAxis(polar, radiusAxisModel, axisAngle);\n var axisBuilder = new AxisBuilder(radiusAxisModel, layout);\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n this.group.add(axisBuilder.getGroup());\n zrUtil.each(selfBuilderAttrs, function (name) {\n if (radiusAxisModel.get(name + '.show') && !radiusAxis.scale.isBlank()) {\n this['_' + name](radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords);\n }\n }, this);\n },\n\n /**\n * @private\n */\n _splitLine: function (radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords) {\n var splitLineModel = radiusAxisModel.getModel('splitLine');\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var lineColors = lineStyleModel.get('color');\n var lineCount = 0;\n lineColors = lineColors instanceof Array ? lineColors : [lineColors];\n var splitLines = [];\n\n for (var i = 0; i < ticksCoords.length; i++) {\n var colorIndex = lineCount++ % lineColors.length;\n splitLines[colorIndex] = splitLines[colorIndex] || [];\n splitLines[colorIndex].push(new graphic.Circle({\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r: ticksCoords[i].coord\n },\n silent: true\n }));\n } // Simple optimization\n // Batching the lines if color are the same\n\n\n for (var i = 0; i < splitLines.length; i++) {\n this.group.add(graphic.mergePath(splitLines[i], {\n style: zrUtil.defaults({\n stroke: lineColors[i % lineColors.length],\n fill: null\n }, lineStyleModel.getLineStyle()),\n silent: true\n }));\n }\n },\n\n /**\n * @private\n */\n _splitArea: function (radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords) {\n if (!ticksCoords.length) {\n return;\n }\n\n var splitAreaModel = radiusAxisModel.getModel('splitArea');\n var areaStyleModel = splitAreaModel.getModel('areaStyle');\n var areaColors = areaStyleModel.get('color');\n var lineCount = 0;\n areaColors = areaColors instanceof Array ? areaColors : [areaColors];\n var splitAreas = [];\n var prevRadius = ticksCoords[0].coord;\n\n for (var i = 1; i < ticksCoords.length; i++) {\n var colorIndex = lineCount++ % areaColors.length;\n splitAreas[colorIndex] = splitAreas[colorIndex] || [];\n splitAreas[colorIndex].push(new graphic.Sector({\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r0: prevRadius,\n r: ticksCoords[i].coord,\n startAngle: 0,\n endAngle: Math.PI * 2\n },\n silent: true\n }));\n prevRadius = ticksCoords[i].coord;\n } // Simple optimization\n // Batching the lines if color are the same\n\n\n for (var i = 0; i < splitAreas.length; i++) {\n this.group.add(graphic.mergePath(splitAreas[i], {\n style: zrUtil.defaults({\n fill: areaColors[i % areaColors.length]\n }, areaStyleModel.getAreaStyle()),\n silent: true\n }));\n }\n }\n});\n/**\n * @inner\n */\n\n\nfunction layoutAxis(polar, radiusAxisModel, axisAngle) {\n return {\n position: [polar.cx, polar.cy],\n rotation: axisAngle / 180 * Math.PI,\n labelDirection: -1,\n tickDirection: -1,\n nameDirection: 1,\n labelRotate: radiusAxisModel.getModel('axisLabel').get('rotate'),\n // Over splitLine and splitArea\n z2: 1\n };\n}\n\nmodule.exports = _default;","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 132);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 132:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/resize-event\"\nvar resize_event_ = __webpack_require__(16);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/scrollbar-width\"\nvar scrollbar_width_ = __webpack_require__(38);\nvar scrollbar_width_default = /*#__PURE__*/__webpack_require__.n(scrollbar_width_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\nvar dom_ = __webpack_require__(2);\n\n// CONCATENATED MODULE: ./packages/scrollbar/src/util.js\nvar BAR_MAP = {\n vertical: {\n offset: 'offsetHeight',\n scroll: 'scrollTop',\n scrollSize: 'scrollHeight',\n size: 'height',\n key: 'vertical',\n axis: 'Y',\n client: 'clientY',\n direction: 'top'\n },\n horizontal: {\n offset: 'offsetWidth',\n scroll: 'scrollLeft',\n scrollSize: 'scrollWidth',\n size: 'width',\n key: 'horizontal',\n axis: 'X',\n client: 'clientX',\n direction: 'left'\n }\n};\n\nfunction renderThumbStyle(_ref) {\n var move = _ref.move,\n size = _ref.size,\n bar = _ref.bar;\n\n var style = {};\n var translate = 'translate' + bar.axis + '(' + move + '%)';\n\n style[bar.size] = size;\n style.transform = translate;\n style.msTransform = translate;\n style.webkitTransform = translate;\n\n return style;\n};\n// CONCATENATED MODULE: ./packages/scrollbar/src/bar.js\n\n\n\n/* istanbul ignore next */\n/* harmony default export */ var src_bar = ({\n name: 'Bar',\n\n props: {\n vertical: Boolean,\n size: String,\n move: Number\n },\n\n computed: {\n bar: function bar() {\n return BAR_MAP[this.vertical ? 'vertical' : 'horizontal'];\n },\n wrap: function wrap() {\n return this.$parent.wrap;\n }\n },\n\n render: function render(h) {\n var size = this.size,\n move = this.move,\n bar = this.bar;\n\n\n return h(\n 'div',\n {\n 'class': ['el-scrollbar__bar', 'is-' + bar.key],\n on: {\n 'mousedown': this.clickTrackHandler\n }\n },\n [h('div', {\n ref: 'thumb',\n 'class': 'el-scrollbar__thumb',\n on: {\n 'mousedown': this.clickThumbHandler\n },\n\n style: renderThumbStyle({ size: size, move: move, bar: bar }) })]\n );\n },\n\n\n methods: {\n clickThumbHandler: function clickThumbHandler(e) {\n // prevent click event of right button\n if (e.ctrlKey || e.button === 2) {\n return;\n }\n this.startDrag(e);\n this[this.bar.axis] = e.currentTarget[this.bar.offset] - (e[this.bar.client] - e.currentTarget.getBoundingClientRect()[this.bar.direction]);\n },\n clickTrackHandler: function clickTrackHandler(e) {\n var offset = Math.abs(e.target.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]);\n var thumbHalf = this.$refs.thumb[this.bar.offset] / 2;\n var thumbPositionPercentage = (offset - thumbHalf) * 100 / this.$el[this.bar.offset];\n\n this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100;\n },\n startDrag: function startDrag(e) {\n e.stopImmediatePropagation();\n this.cursorDown = true;\n\n Object(dom_[\"on\"])(document, 'mousemove', this.mouseMoveDocumentHandler);\n Object(dom_[\"on\"])(document, 'mouseup', this.mouseUpDocumentHandler);\n document.onselectstart = function () {\n return false;\n };\n },\n mouseMoveDocumentHandler: function mouseMoveDocumentHandler(e) {\n if (this.cursorDown === false) return;\n var prevPage = this[this.bar.axis];\n\n if (!prevPage) return;\n\n var offset = (this.$el.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]) * -1;\n var thumbClickPosition = this.$refs.thumb[this.bar.offset] - prevPage;\n var thumbPositionPercentage = (offset - thumbClickPosition) * 100 / this.$el[this.bar.offset];\n\n this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100;\n },\n mouseUpDocumentHandler: function mouseUpDocumentHandler(e) {\n this.cursorDown = false;\n this[this.bar.axis] = 0;\n Object(dom_[\"off\"])(document, 'mousemove', this.mouseMoveDocumentHandler);\n document.onselectstart = null;\n }\n },\n\n destroyed: function destroyed() {\n Object(dom_[\"off\"])(document, 'mouseup', this.mouseUpDocumentHandler);\n }\n});\n// CONCATENATED MODULE: ./packages/scrollbar/src/main.js\n// reference https://github.com/noeldelgado/gemini-scrollbar/blob/master/index.js\n\n\n\n\n\n\n/* istanbul ignore next */\n/* harmony default export */ var main = ({\n name: 'ElScrollbar',\n\n components: { Bar: src_bar },\n\n props: {\n native: Boolean,\n wrapStyle: {},\n wrapClass: {},\n viewClass: {},\n viewStyle: {},\n noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能\n tag: {\n type: String,\n default: 'div'\n }\n },\n\n data: function data() {\n return {\n sizeWidth: '0',\n sizeHeight: '0',\n moveX: 0,\n moveY: 0\n };\n },\n\n\n computed: {\n wrap: function wrap() {\n return this.$refs.wrap;\n }\n },\n\n render: function render(h) {\n var gutter = scrollbar_width_default()();\n var style = this.wrapStyle;\n\n if (gutter) {\n var gutterWith = '-' + gutter + 'px';\n var gutterStyle = 'margin-bottom: ' + gutterWith + '; margin-right: ' + gutterWith + ';';\n\n if (Array.isArray(this.wrapStyle)) {\n style = Object(util_[\"toObject\"])(this.wrapStyle);\n style.marginRight = style.marginBottom = gutterWith;\n } else if (typeof this.wrapStyle === 'string') {\n style += gutterStyle;\n } else {\n style = gutterStyle;\n }\n }\n var view = h(this.tag, {\n class: ['el-scrollbar__view', this.viewClass],\n style: this.viewStyle,\n ref: 'resize'\n }, this.$slots.default);\n var wrap = h(\n 'div',\n {\n ref: 'wrap',\n style: style,\n on: {\n 'scroll': this.handleScroll\n },\n\n 'class': [this.wrapClass, 'el-scrollbar__wrap', gutter ? '' : 'el-scrollbar__wrap--hidden-default'] },\n [[view]]\n );\n var nodes = void 0;\n\n if (!this.native) {\n nodes = [wrap, h(src_bar, {\n attrs: {\n move: this.moveX,\n size: this.sizeWidth }\n }), h(src_bar, {\n attrs: {\n vertical: true,\n move: this.moveY,\n size: this.sizeHeight }\n })];\n } else {\n nodes = [h(\n 'div',\n {\n ref: 'wrap',\n 'class': [this.wrapClass, 'el-scrollbar__wrap'],\n style: style },\n [[view]]\n )];\n }\n return h('div', { class: 'el-scrollbar' }, nodes);\n },\n\n\n methods: {\n handleScroll: function handleScroll() {\n var wrap = this.wrap;\n\n this.moveY = wrap.scrollTop * 100 / wrap.clientHeight;\n this.moveX = wrap.scrollLeft * 100 / wrap.clientWidth;\n },\n update: function update() {\n var heightPercentage = void 0,\n widthPercentage = void 0;\n var wrap = this.wrap;\n if (!wrap) return;\n\n heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n widthPercentage = wrap.clientWidth * 100 / wrap.scrollWidth;\n\n this.sizeHeight = heightPercentage < 100 ? heightPercentage + '%' : '';\n this.sizeWidth = widthPercentage < 100 ? widthPercentage + '%' : '';\n }\n },\n\n mounted: function mounted() {\n if (this.native) return;\n this.$nextTick(this.update);\n !this.noresize && Object(resize_event_[\"addResizeListener\"])(this.$refs.resize, this.update);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.native) return;\n !this.noresize && Object(resize_event_[\"removeResizeListener\"])(this.$refs.resize, this.update);\n }\n});\n// CONCATENATED MODULE: ./packages/scrollbar/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var scrollbar = __webpack_exports__[\"default\"] = (main);\n\n/***/ }),\n\n/***/ 16:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/resize-event\");\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/dom\");\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 38:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/scrollbar-width\");\n\n/***/ })\n\n/******/ });","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar createListFromArray = require(\"./chart/helper/createListFromArray\");\n\nvar axisHelper = require(\"./coord/axisHelper\");\n\nvar axisModelCommonMixin = require(\"./coord/axisModelCommonMixin\");\n\nvar Model = require(\"./model/Model\");\n\nvar _layout = require(\"./util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\nexports.getLayoutRect = _layout.getLayoutRect;\n\nvar _dataStackHelper = require(\"./data/helper/dataStackHelper\");\n\nvar enableDataStack = _dataStackHelper.enableDataStack;\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\nvar getStackedDimension = _dataStackHelper.getStackedDimension;\n\nvar _completeDimensions = require(\"./data/helper/completeDimensions\");\n\nexports.completeDimensions = _completeDimensions;\n\nvar _createDimensions = require(\"./data/helper/createDimensions\");\n\nexports.createDimensions = _createDimensions;\n\nvar _symbol = require(\"./util/symbol\");\n\nexports.createSymbol = _symbol.createSymbol;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// import createGraphFromNodeEdge from './chart/helper/createGraphFromNodeEdge';\n\n/**\n * Create a muti dimension List structure from seriesModel.\n * @param {module:echarts/model/Model} seriesModel\n * @return {module:echarts/data/List} list\n */\nfunction createList(seriesModel) {\n return createListFromArray(seriesModel.getSource(), seriesModel);\n} // export function createGraph(seriesModel) {\n// var nodes = seriesModel.get('data');\n// var links = seriesModel.get('links');\n// return createGraphFromNodeEdge(nodes, links, seriesModel);\n// }\n\n\nvar dataStack = {\n isDimensionStacked: isDimensionStacked,\n enableDataStack: enableDataStack,\n getStackedDimension: getStackedDimension\n};\n/**\n * Create a symbol element with given symbol configuration: shape, x, y, width, height, color\n * @see http://echarts.baidu.com/option.html#series-scatter.symbol\n * @param {string} symbolDesc\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {string} color\n */\n\n/**\n * Create scale\n * @param {Array.} dataExtent\n * @param {Object|module:echarts/Model} option\n */\nfunction createScale(dataExtent, option) {\n var axisModel = option;\n\n if (!Model.isInstance(option)) {\n axisModel = new Model(option);\n zrUtil.mixin(axisModel, axisModelCommonMixin);\n }\n\n var scale = axisHelper.createScaleByModel(axisModel);\n scale.setExtent(dataExtent[0], dataExtent[1]);\n axisHelper.niceScaleExtent(scale, axisModel);\n return scale;\n}\n/**\n * Mixin common methods to axis model,\n *\n * Inlcude methods\n * `getFormattedLabels() => Array.`\n * `getCategories() => Array.`\n * `getMin(origin: boolean) => number`\n * `getMax(origin: boolean) => number`\n * `getNeedCrossZero() => boolean`\n * `setRange(start: number, end: number)`\n * `resetRange()`\n */\n\n\nfunction mixinAxisModelCommonMethods(Model) {\n zrUtil.mixin(Model, axisModelCommonMixin);\n}\n\nexports.createList = createList;\nexports.dataStack = dataStack;\nexports.createScale = createScale;\nexports.mixinAxisModelCommonMethods = mixinAxisModelCommonMethods;","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./scatter/ScatterSeries\");\n\nrequire(\"./scatter/ScatterView\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar layoutPoints = require(\"../layout/points\");\n\nrequire(\"../component/gridSimple\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// import * as zrUtil from 'zrender/src/core/util';\n// In case developer forget to include grid component\necharts.registerVisual(visualSymbol('scatter', 'circle'));\necharts.registerLayout(layoutPoints('scatter')); // echarts.registerProcessor(function (ecModel, api) {\n// ecModel.eachSeriesByType('scatter', function (seriesModel) {\n// var data = seriesModel.getData();\n// var coordSys = seriesModel.coordinateSystem;\n// if (coordSys.type !== 'geo') {\n// return;\n// }\n// var startPt = coordSys.pointToData([0, 0]);\n// var endPt = coordSys.pointToData([api.getWidth(), api.getHeight()]);\n// var dims = zrUtil.map(coordSys.dimensions, function (dim) {\n// return data.mapDimension(dim);\n// });\n// var range = {};\n// range[dims[0]] = [Math.min(startPt[0], endPt[0]), Math.max(startPt[0], endPt[0])];\n// range[dims[1]] = [Math.min(startPt[1], endPt[1]), Math.max(startPt[1], endPt[1])];\n// data.selectRange(range);\n// });\n// });","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","/**\n * 3x2矩阵操作类\n * @exports zrender/tool/matrix\n */\nvar ArrayCtor = typeof Float32Array === 'undefined' ? Array : Float32Array;\n/**\n * Create a identity matrix.\n * @return {Float32Array|Array.}\n */\n\nfunction create() {\n var out = new ArrayCtor(6);\n identity(out);\n return out;\n}\n/**\n * 设置矩阵为单位矩阵\n * @param {Float32Array|Array.} out\n */\n\n\nfunction identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = 0;\n out[5] = 0;\n return out;\n}\n/**\n * 复制矩阵\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} m\n */\n\n\nfunction copy(out, m) {\n out[0] = m[0];\n out[1] = m[1];\n out[2] = m[2];\n out[3] = m[3];\n out[4] = m[4];\n out[5] = m[5];\n return out;\n}\n/**\n * 矩阵相乘\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} m1\n * @param {Float32Array|Array.} m2\n */\n\n\nfunction mul(out, m1, m2) {\n // Consider matrix.mul(m, m2, m);\n // where out is the same as m2.\n // So use temp variable to escape error.\n var out0 = m1[0] * m2[0] + m1[2] * m2[1];\n var out1 = m1[1] * m2[0] + m1[3] * m2[1];\n var out2 = m1[0] * m2[2] + m1[2] * m2[3];\n var out3 = m1[1] * m2[2] + m1[3] * m2[3];\n var out4 = m1[0] * m2[4] + m1[2] * m2[5] + m1[4];\n var out5 = m1[1] * m2[4] + m1[3] * m2[5] + m1[5];\n out[0] = out0;\n out[1] = out1;\n out[2] = out2;\n out[3] = out3;\n out[4] = out4;\n out[5] = out5;\n return out;\n}\n/**\n * 平移变换\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {Float32Array|Array.} v\n */\n\n\nfunction translate(out, a, v) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4] + v[0];\n out[5] = a[5] + v[1];\n return out;\n}\n/**\n * 旋转变换\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {number} rad\n */\n\n\nfunction rotate(out, a, rad) {\n var aa = a[0];\n var ac = a[2];\n var atx = a[4];\n var ab = a[1];\n var ad = a[3];\n var aty = a[5];\n var st = Math.sin(rad);\n var ct = Math.cos(rad);\n out[0] = aa * ct + ab * st;\n out[1] = -aa * st + ab * ct;\n out[2] = ac * ct + ad * st;\n out[3] = -ac * st + ct * ad;\n out[4] = ct * atx + st * aty;\n out[5] = ct * aty - st * atx;\n return out;\n}\n/**\n * 缩放变换\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {Float32Array|Array.} v\n */\n\n\nfunction scale(out, a, v) {\n var vx = v[0];\n var vy = v[1];\n out[0] = a[0] * vx;\n out[1] = a[1] * vy;\n out[2] = a[2] * vx;\n out[3] = a[3] * vy;\n out[4] = a[4] * vx;\n out[5] = a[5] * vy;\n return out;\n}\n/**\n * 求逆矩阵\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n */\n\n\nfunction invert(out, a) {\n var aa = a[0];\n var ac = a[2];\n var atx = a[4];\n var ab = a[1];\n var ad = a[3];\n var aty = a[5];\n var det = aa * ad - ab * ac;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = ad * det;\n out[1] = -ab * det;\n out[2] = -ac * det;\n out[3] = aa * det;\n out[4] = (ac * aty - ad * atx) * det;\n out[5] = (ab * atx - aa * aty) * det;\n return out;\n}\n/**\n * Clone a new matrix.\n * @param {Float32Array|Array.} a\n */\n\n\nfunction clone(a) {\n var b = create();\n copy(b, a);\n return b;\n}\n\nexports.create = create;\nexports.identity = identity;\nexports.copy = copy;\nexports.mul = mul;\nexports.translate = translate;\nexports.rotate = rotate;\nexports.scale = scale;\nexports.invert = invert;\nexports.clone = clone;","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar axisDefault = require(\"../axisDefault\");\n\nvar Model = require(\"../../model/Model\");\n\nvar axisModelCommonMixin = require(\"../axisModelCommonMixin\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar valueAxisDefault = axisDefault.valueAxis;\n\nfunction defaultsShow(opt, show) {\n return zrUtil.defaults({\n show: show\n }, opt);\n}\n\nvar RadarModel = echarts.extendComponentModel({\n type: 'radar',\n optionUpdated: function () {\n var boundaryGap = this.get('boundaryGap');\n var splitNumber = this.get('splitNumber');\n var scale = this.get('scale');\n var axisLine = this.get('axisLine');\n var axisTick = this.get('axisTick');\n var axisLabel = this.get('axisLabel');\n var nameTextStyle = this.get('name');\n var showName = this.get('name.show');\n var nameFormatter = this.get('name.formatter');\n var nameGap = this.get('nameGap');\n var triggerEvent = this.get('triggerEvent');\n var indicatorModels = zrUtil.map(this.get('indicator') || [], function (indicatorOpt) {\n // PENDING\n if (indicatorOpt.max != null && indicatorOpt.max > 0 && !indicatorOpt.min) {\n indicatorOpt.min = 0;\n } else if (indicatorOpt.min != null && indicatorOpt.min < 0 && !indicatorOpt.max) {\n indicatorOpt.max = 0;\n }\n\n var iNameTextStyle = nameTextStyle;\n\n if (indicatorOpt.color != null) {\n iNameTextStyle = zrUtil.defaults({\n color: indicatorOpt.color\n }, nameTextStyle);\n } // Use same configuration\n\n\n indicatorOpt = zrUtil.merge(zrUtil.clone(indicatorOpt), {\n boundaryGap: boundaryGap,\n splitNumber: splitNumber,\n scale: scale,\n axisLine: axisLine,\n axisTick: axisTick,\n axisLabel: axisLabel,\n // Competitable with 2 and use text\n name: indicatorOpt.text,\n nameLocation: 'end',\n nameGap: nameGap,\n // min: 0,\n nameTextStyle: iNameTextStyle,\n triggerEvent: triggerEvent\n }, false);\n\n if (!showName) {\n indicatorOpt.name = '';\n }\n\n if (typeof nameFormatter === 'string') {\n var indName = indicatorOpt.name;\n indicatorOpt.name = nameFormatter.replace('{value}', indName != null ? indName : '');\n } else if (typeof nameFormatter === 'function') {\n indicatorOpt.name = nameFormatter(indicatorOpt.name, indicatorOpt);\n }\n\n var model = zrUtil.extend(new Model(indicatorOpt, null, this.ecModel), axisModelCommonMixin); // For triggerEvent.\n\n model.mainType = 'radar';\n model.componentIndex = this.componentIndex;\n return model;\n }, this);\n\n this.getIndicatorModels = function () {\n return indicatorModels;\n };\n },\n defaultOption: {\n zlevel: 0,\n z: 0,\n center: ['50%', '50%'],\n radius: '75%',\n startAngle: 90,\n name: {\n show: true // formatter: null\n // textStyle: {}\n\n },\n boundaryGap: [0, 0],\n splitNumber: 5,\n nameGap: 15,\n scale: false,\n // Polygon or circle\n shape: 'polygon',\n axisLine: zrUtil.merge({\n lineStyle: {\n color: '#bbb'\n }\n }, valueAxisDefault.axisLine),\n axisLabel: defaultsShow(valueAxisDefault.axisLabel, false),\n axisTick: defaultsShow(valueAxisDefault.axisTick, false),\n splitLine: defaultsShow(valueAxisDefault.splitLine, true),\n splitArea: defaultsShow(valueAxisDefault.splitArea, true),\n // {text, min, max}\n indicator: []\n }\n});\nvar _default = RadarModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar coordsOffsetMap = {\n '南海诸岛': [32, 80],\n // 全国\n '广东': [0, -10],\n '香港': [10, 5],\n '澳门': [-10, 10],\n //'北京': [-10, 0],\n '天津': [5, 5]\n};\n\nfunction _default(mapType, region) {\n if (mapType === 'china') {\n var coordFix = coordsOffsetMap[region.name];\n\n if (coordFix) {\n var cp = region.center;\n cp[0] += coordFix[0] / 10.5;\n cp[1] += -coordFix[1] / (10.5 / 0.75);\n }\n }\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar BaseBarSeries = require(\"./BaseBarSeries\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = BaseBarSeries.extend({\n type: 'series.bar',\n dependencies: ['grid', 'polar'],\n brushSelector: 'rect',\n\n /**\n * @override\n */\n getProgressive: function () {\n // Do not support progressive in normal mode.\n return this.get('large') ? this.get('progressive') : false;\n },\n\n /**\n * @override\n */\n getProgressiveThreshold: function () {\n // Do not support progressive in normal mode.\n var progressiveThreshold = this.get('progressiveThreshold');\n var largeThreshold = this.get('largeThreshold');\n\n if (largeThreshold > progressiveThreshold) {\n progressiveThreshold = largeThreshold;\n }\n\n return progressiveThreshold;\n }\n});\n\nmodule.exports = _default;","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = makeInner();\nvar each = zrUtil.each;\n/**\n * @param {string} key\n * @param {module:echarts/ExtensionAPI} api\n * @param {Function} handler\n * param: {string} currTrigger\n * param: {Array.} point\n */\n\nfunction register(key, api, handler) {\n if (env.node) {\n return;\n }\n\n var zr = api.getZr();\n inner(zr).records || (inner(zr).records = {});\n initGlobalListeners(zr, api);\n var record = inner(zr).records[key] || (inner(zr).records[key] = {});\n record.handler = handler;\n}\n\nfunction initGlobalListeners(zr, api) {\n if (inner(zr).initialized) {\n return;\n }\n\n inner(zr).initialized = true;\n useHandler('click', zrUtil.curry(doEnter, 'click'));\n useHandler('mousemove', zrUtil.curry(doEnter, 'mousemove')); // useHandler('mouseout', onLeave);\n\n useHandler('globalout', onLeave);\n\n function useHandler(eventType, cb) {\n zr.on(eventType, function (e) {\n var dis = makeDispatchAction(api);\n each(inner(zr).records, function (record) {\n record && cb(record, e, dis.dispatchAction);\n });\n dispatchTooltipFinally(dis.pendings, api);\n });\n }\n}\n\nfunction dispatchTooltipFinally(pendings, api) {\n var showLen = pendings.showTip.length;\n var hideLen = pendings.hideTip.length;\n var actuallyPayload;\n\n if (showLen) {\n actuallyPayload = pendings.showTip[showLen - 1];\n } else if (hideLen) {\n actuallyPayload = pendings.hideTip[hideLen - 1];\n }\n\n if (actuallyPayload) {\n actuallyPayload.dispatchAction = null;\n api.dispatchAction(actuallyPayload);\n }\n}\n\nfunction onLeave(record, e, dispatchAction) {\n record.handler('leave', null, dispatchAction);\n}\n\nfunction doEnter(currTrigger, record, e, dispatchAction) {\n record.handler(currTrigger, e, dispatchAction);\n}\n\nfunction makeDispatchAction(api) {\n var pendings = {\n showTip: [],\n hideTip: []\n }; // FIXME\n // better approach?\n // 'showTip' and 'hideTip' can be triggered by axisPointer and tooltip,\n // which may be conflict, (axisPointer call showTip but tooltip call hideTip);\n // So we have to add \"final stage\" to merge those dispatched actions.\n\n var dispatchAction = function (payload) {\n var pendingList = pendings[payload.type];\n\n if (pendingList) {\n pendingList.push(payload);\n } else {\n payload.dispatchAction = dispatchAction;\n api.dispatchAction(payload);\n }\n };\n\n return {\n dispatchAction: dispatchAction,\n pendings: pendings\n };\n}\n/**\n * @param {string} key\n * @param {module:echarts/ExtensionAPI} api\n */\n\n\nfunction unregister(key, api) {\n if (env.node) {\n return;\n }\n\n var zr = api.getZr();\n var record = (inner(zr).records || {})[key];\n\n if (record) {\n inner(zr).records[key] = null;\n }\n}\n\nexports.register = register;\nexports.unregister = unregister;","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","var toPositiveInteger = require('../internals/to-positive-integer');\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw RangeError('Wrong offset');\n return offset;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Scale = require(\"./Scale\");\n\nvar OrdinalMeta = require(\"../data/OrdinalMeta\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Linear continuous scale\n * @module echarts/coord/scale/Ordinal\n *\n * http://en.wikipedia.org/wiki/Level_of_measurement\n */\n// FIXME only one data\nvar scaleProto = Scale.prototype;\nvar OrdinalScale = Scale.extend({\n type: 'ordinal',\n\n /**\n * @param {module:echarts/data/OrdianlMeta|Array.} ordinalMeta\n */\n init: function (ordinalMeta, extent) {\n // Caution: Should not use instanceof, consider ec-extensions using\n // import approach to get OrdinalMeta class.\n if (!ordinalMeta || zrUtil.isArray(ordinalMeta)) {\n ordinalMeta = new OrdinalMeta({\n categories: ordinalMeta\n });\n }\n\n this._ordinalMeta = ordinalMeta;\n this._extent = extent || [0, ordinalMeta.categories.length - 1];\n },\n parse: function (val) {\n return typeof val === 'string' ? this._ordinalMeta.getOrdinal(val) // val might be float.\n : Math.round(val);\n },\n contain: function (rank) {\n rank = this.parse(rank);\n return scaleProto.contain.call(this, rank) && this._ordinalMeta.categories[rank] != null;\n },\n\n /**\n * Normalize given rank or name to linear [0, 1]\n * @param {number|string} [val]\n * @return {number}\n */\n normalize: function (val) {\n return scaleProto.normalize.call(this, this.parse(val));\n },\n scale: function (val) {\n return Math.round(scaleProto.scale.call(this, val));\n },\n\n /**\n * @return {Array}\n */\n getTicks: function () {\n var ticks = [];\n var extent = this._extent;\n var rank = extent[0];\n\n while (rank <= extent[1]) {\n ticks.push(rank);\n rank++;\n }\n\n return ticks;\n },\n\n /**\n * Get item on rank n\n * @param {number} n\n * @return {string}\n */\n getLabel: function (n) {\n if (!this.isBlank()) {\n // Note that if no data, ordinalMeta.categories is an empty array.\n return this._ordinalMeta.categories[n];\n }\n },\n\n /**\n * @return {number}\n */\n count: function () {\n return this._extent[1] - this._extent[0] + 1;\n },\n\n /**\n * @override\n */\n unionExtentFromData: function (data, dim) {\n this.unionExtent(data.getApproximateExtent(dim));\n },\n getOrdinalMeta: function () {\n return this._ordinalMeta;\n },\n niceTicks: zrUtil.noop,\n niceExtent: zrUtil.noop\n});\n/**\n * @return {module:echarts/scale/Time}\n */\n\nOrdinalScale.create = function () {\n return new OrdinalScale();\n};\n\nvar _default = OrdinalScale;\nmodule.exports = _default;","exports.f = {}.propertyIsEnumerable;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar MarkerModel = require(\"./MarkerModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = MarkerModel.extend({\n type: 'markLine',\n defaultOption: {\n zlevel: 0,\n z: 5,\n symbol: ['circle', 'arrow'],\n symbolSize: [8, 16],\n //symbolRotate: 0,\n precision: 2,\n tooltip: {\n trigger: 'item'\n },\n label: {\n show: true,\n position: 'end'\n },\n lineStyle: {\n type: 'dashed'\n },\n emphasis: {\n label: {\n show: true\n },\n lineStyle: {\n width: 3\n }\n },\n animationEasing: 'linear'\n }\n});\n\nmodule.exports = _default;","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ChartView = require(\"../../view/Chart\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar Path = require(\"zrender/lib/graphic/Path\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar NORMAL_ITEM_STYLE_PATH = ['itemStyle'];\nvar EMPHASIS_ITEM_STYLE_PATH = ['emphasis', 'itemStyle'];\nvar SKIP_PROPS = ['color', 'color0', 'borderColor', 'borderColor0'];\nvar CandlestickView = ChartView.extend({\n type: 'candlestick',\n render: function (seriesModel, ecModel, api) {\n this._updateDrawMode(seriesModel);\n\n this._isLargeDraw ? this._renderLarge(seriesModel) : this._renderNormal(seriesModel);\n },\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this._clear();\n\n this._updateDrawMode(seriesModel);\n },\n incrementalRender: function (params, seriesModel, ecModel, api) {\n this._isLargeDraw ? this._incrementalRenderLarge(params, seriesModel) : this._incrementalRenderNormal(params, seriesModel);\n },\n _updateDrawMode: function (seriesModel) {\n var isLargeDraw = seriesModel.pipelineContext.large;\n\n if (this._isLargeDraw == null || isLargeDraw ^ this._isLargeDraw) {\n this._isLargeDraw = isLargeDraw;\n\n this._clear();\n }\n },\n _renderNormal: function (seriesModel) {\n var data = seriesModel.getData();\n var oldData = this._data;\n var group = this.group;\n var isSimpleBox = data.getLayout('isSimpleBox'); // There is no old data only when first rendering or switching from\n // stream mode to normal mode, where previous elements should be removed.\n\n if (!this._data) {\n group.removeAll();\n }\n\n data.diff(oldData).add(function (newIdx) {\n if (data.hasValue(newIdx)) {\n var el;\n var itemLayout = data.getItemLayout(newIdx);\n el = createNormalBox(itemLayout, newIdx, true);\n graphic.initProps(el, {\n shape: {\n points: itemLayout.ends\n }\n }, seriesModel, newIdx);\n setBoxCommon(el, data, newIdx, isSimpleBox);\n group.add(el);\n data.setItemGraphicEl(newIdx, el);\n }\n }).update(function (newIdx, oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx); // Empty data\n\n if (!data.hasValue(newIdx)) {\n group.remove(el);\n return;\n }\n\n var itemLayout = data.getItemLayout(newIdx);\n\n if (!el) {\n el = createNormalBox(itemLayout, newIdx);\n } else {\n graphic.updateProps(el, {\n shape: {\n points: itemLayout.ends\n }\n }, seriesModel, newIdx);\n }\n\n setBoxCommon(el, data, newIdx, isSimpleBox);\n group.add(el);\n data.setItemGraphicEl(newIdx, el);\n }).remove(function (oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n el && group.remove(el);\n }).execute();\n this._data = data;\n },\n _renderLarge: function (seriesModel) {\n this._clear();\n\n createLarge(seriesModel, this.group);\n },\n _incrementalRenderNormal: function (params, seriesModel) {\n var data = seriesModel.getData();\n var isSimpleBox = data.getLayout('isSimpleBox');\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var el;\n var itemLayout = data.getItemLayout(dataIndex);\n el = createNormalBox(itemLayout, dataIndex);\n setBoxCommon(el, data, dataIndex, isSimpleBox);\n el.incremental = true;\n this.group.add(el);\n }\n },\n _incrementalRenderLarge: function (params, seriesModel) {\n createLarge(seriesModel, this.group, true);\n },\n remove: function (ecModel) {\n this._clear();\n },\n _clear: function () {\n this.group.removeAll();\n this._data = null;\n },\n dispose: zrUtil.noop\n});\nvar NormalBoxPath = Path.extend({\n type: 'normalCandlestickBox',\n shape: {},\n buildPath: function (ctx, shape) {\n var ends = shape.points;\n\n if (this.__simpleBox) {\n ctx.moveTo(ends[4][0], ends[4][1]);\n ctx.lineTo(ends[6][0], ends[6][1]);\n } else {\n ctx.moveTo(ends[0][0], ends[0][1]);\n ctx.lineTo(ends[1][0], ends[1][1]);\n ctx.lineTo(ends[2][0], ends[2][1]);\n ctx.lineTo(ends[3][0], ends[3][1]);\n ctx.closePath();\n ctx.moveTo(ends[4][0], ends[4][1]);\n ctx.lineTo(ends[5][0], ends[5][1]);\n ctx.moveTo(ends[6][0], ends[6][1]);\n ctx.lineTo(ends[7][0], ends[7][1]);\n }\n }\n});\n\nfunction createNormalBox(itemLayout, dataIndex, isInit) {\n var ends = itemLayout.ends;\n return new NormalBoxPath({\n shape: {\n points: isInit ? transInit(ends, itemLayout) : ends\n },\n z2: 100\n });\n}\n\nfunction setBoxCommon(el, data, dataIndex, isSimpleBox) {\n var itemModel = data.getItemModel(dataIndex);\n var normalItemStyleModel = itemModel.getModel(NORMAL_ITEM_STYLE_PATH);\n var color = data.getItemVisual(dataIndex, 'color');\n var borderColor = data.getItemVisual(dataIndex, 'borderColor') || color; // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n var itemStyle = normalItemStyleModel.getItemStyle(SKIP_PROPS);\n el.useStyle(itemStyle);\n el.style.strokeNoScale = true;\n el.style.fill = color;\n el.style.stroke = borderColor;\n el.__simpleBox = isSimpleBox;\n var hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();\n graphic.setHoverStyle(el, hoverStyle);\n}\n\nfunction transInit(points, itemLayout) {\n return zrUtil.map(points, function (point) {\n point = point.slice();\n point[1] = itemLayout.initBaseline;\n return point;\n });\n}\n\nvar LargeBoxPath = Path.extend({\n type: 'largeCandlestickBox',\n shape: {},\n buildPath: function (ctx, shape) {\n // Drawing lines is more efficient than drawing\n // a whole line or drawing rects.\n var points = shape.points;\n\n for (var i = 0; i < points.length;) {\n if (this.__sign === points[i++]) {\n var x = points[i++];\n ctx.moveTo(x, points[i++]);\n ctx.lineTo(x, points[i++]);\n } else {\n i += 3;\n }\n }\n }\n});\n\nfunction createLarge(seriesModel, group, incremental) {\n var data = seriesModel.getData();\n var largePoints = data.getLayout('largePoints');\n var elP = new LargeBoxPath({\n shape: {\n points: largePoints\n },\n __sign: 1\n });\n group.add(elP);\n var elN = new LargeBoxPath({\n shape: {\n points: largePoints\n },\n __sign: -1\n });\n group.add(elN);\n setLargeStyle(1, elP, seriesModel, data);\n setLargeStyle(-1, elN, seriesModel, data);\n\n if (incremental) {\n elP.incremental = true;\n elN.incremental = true;\n }\n}\n\nfunction setLargeStyle(sign, el, seriesModel, data) {\n var suffix = sign > 0 ? 'P' : 'N';\n var borderColor = data.getVisual('borderColor' + suffix) || data.getVisual('color' + suffix); // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n var itemStyle = seriesModel.getModel(NORMAL_ITEM_STYLE_PATH).getItemStyle(SKIP_PROPS);\n el.useStyle(itemStyle);\n el.style.fill = null;\n el.style.stroke = borderColor; // No different\n // el.style.lineWidth = .5;\n}\n\nvar _default = CandlestickView;\nmodule.exports = _default;","var zrUtil = require(\"../core/util\");\n\nvar Style = require(\"./Style\");\n\nvar Element = require(\"../Element\");\n\nvar RectText = require(\"./mixin/RectText\");\n\n/**\n * 可绘制的图形基类\n * Base class of all displayable graphic objects\n * @module zrender/graphic/Displayable\n */\n\n/**\n * @alias module:zrender/graphic/Displayable\n * @extends module:zrender/Element\n * @extends module:zrender/graphic/mixin/RectText\n */\nfunction Displayable(opts) {\n opts = opts || {};\n Element.call(this, opts); // Extend properties\n\n for (var name in opts) {\n if (opts.hasOwnProperty(name) && name !== 'style') {\n this[name] = opts[name];\n }\n }\n /**\n * @type {module:zrender/graphic/Style}\n */\n\n\n this.style = new Style(opts.style, this);\n this._rect = null; // Shapes for cascade clipping.\n\n this.__clipPaths = []; // FIXME Stateful must be mixined after style is setted\n // Stateful.call(this, opts);\n}\n\nDisplayable.prototype = {\n constructor: Displayable,\n type: 'displayable',\n\n /**\n * Displayable 是否为脏,Painter 中会根据该标记判断是否需要是否需要重新绘制\n * Dirty flag. From which painter will determine if this displayable object needs brush\n * @name module:zrender/graphic/Displayable#__dirty\n * @type {boolean}\n */\n __dirty: true,\n\n /**\n * 图形是否可见,为true时不绘制图形,但是仍能触发鼠标事件\n * If ignore drawing of the displayable object. Mouse event will still be triggered\n * @name module:/zrender/graphic/Displayable#invisible\n * @type {boolean}\n * @default false\n */\n invisible: false,\n\n /**\n * @name module:/zrender/graphic/Displayable#z\n * @type {number}\n * @default 0\n */\n z: 0,\n\n /**\n * @name module:/zrender/graphic/Displayable#z\n * @type {number}\n * @default 0\n */\n z2: 0,\n\n /**\n * z层level,决定绘画在哪层canvas中\n * @name module:/zrender/graphic/Displayable#zlevel\n * @type {number}\n * @default 0\n */\n zlevel: 0,\n\n /**\n * 是否可拖拽\n * @name module:/zrender/graphic/Displayable#draggable\n * @type {boolean}\n * @default false\n */\n draggable: false,\n\n /**\n * 是否正在拖拽\n * @name module:/zrender/graphic/Displayable#draggable\n * @type {boolean}\n * @default false\n */\n dragging: false,\n\n /**\n * 是否相应鼠标事件\n * @name module:/zrender/graphic/Displayable#silent\n * @type {boolean}\n * @default false\n */\n silent: false,\n\n /**\n * If enable culling\n * @type {boolean}\n * @default false\n */\n culling: false,\n\n /**\n * Mouse cursor when hovered\n * @name module:/zrender/graphic/Displayable#cursor\n * @type {string}\n */\n cursor: 'pointer',\n\n /**\n * If hover area is bounding rect\n * @name module:/zrender/graphic/Displayable#rectHover\n * @type {string}\n */\n rectHover: false,\n\n /**\n * Render the element progressively when the value >= 0,\n * usefull for large data.\n * @type {boolean}\n */\n progressive: false,\n\n /**\n * @type {boolean}\n */\n incremental: false,\n\n /**\n * Scale ratio for global scale.\n * @type {boolean}\n */\n globalScaleRatio: 1,\n beforeBrush: function (ctx) {},\n afterBrush: function (ctx) {},\n\n /**\n * 图形绘制方法\n * @param {CanvasRenderingContext2D} ctx\n */\n // Interface\n brush: function (ctx, prevEl) {},\n\n /**\n * 获取最小包围盒\n * @return {module:zrender/core/BoundingRect}\n */\n // Interface\n getBoundingRect: function () {},\n\n /**\n * 判断坐标 x, y 是否在图形上\n * If displayable element contain coord x, y\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\n contain: function (x, y) {\n return this.rectContain(x, y);\n },\n\n /**\n * @param {Function} cb\n * @param {} context\n */\n traverse: function (cb, context) {\n cb.call(context, this);\n },\n\n /**\n * 判断坐标 x, y 是否在图形的包围盒上\n * If bounding rect of element contain coord x, y\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\n rectContain: function (x, y) {\n var coord = this.transformCoordToLocal(x, y);\n var rect = this.getBoundingRect();\n return rect.contain(coord[0], coord[1]);\n },\n\n /**\n * 标记图形元素为脏,并且在下一帧重绘\n * Mark displayable element dirty and refresh next frame\n */\n dirty: function () {\n this.__dirty = this.__dirtyText = true;\n this._rect = null;\n this.__zr && this.__zr.refresh();\n },\n\n /**\n * 图形是否会触发事件\n * If displayable object binded any event\n * @return {boolean}\n */\n // TODO, 通过 bind 绑定的事件\n // isSilent: function () {\n // return !(\n // this.hoverable || this.draggable\n // || this.onmousemove || this.onmouseover || this.onmouseout\n // || this.onmousedown || this.onmouseup || this.onclick\n // || this.ondragenter || this.ondragover || this.ondragleave\n // || this.ondrop\n // );\n // },\n\n /**\n * Alias for animate('style')\n * @param {boolean} loop\n */\n animateStyle: function (loop) {\n return this.animate('style', loop);\n },\n attrKV: function (key, value) {\n if (key !== 'style') {\n Element.prototype.attrKV.call(this, key, value);\n } else {\n this.style.set(value);\n }\n },\n\n /**\n * @param {Object|string} key\n * @param {*} value\n */\n setStyle: function (key, value) {\n this.style.set(key, value);\n this.dirty(false);\n return this;\n },\n\n /**\n * Use given style object\n * @param {Object} obj\n */\n useStyle: function (obj) {\n this.style = new Style(obj, this);\n this.dirty(false);\n return this;\n }\n};\nzrUtil.inherits(Displayable, Element);\nzrUtil.mixin(Displayable, RectText); // zrUtil.mixin(Displayable, Stateful);\n\nvar _default = Displayable;\nmodule.exports = _default;","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar ChartView = require(\"../../view/Chart\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/model/Series} seriesModel\n * @param {boolean} hasAnimation\n * @inner\n */\nfunction updateDataSelected(uid, seriesModel, hasAnimation, api) {\n var data = seriesModel.getData();\n var dataIndex = this.dataIndex;\n var name = data.getName(dataIndex);\n var selectedOffset = seriesModel.get('selectedOffset');\n api.dispatchAction({\n type: 'pieToggleSelect',\n from: uid,\n name: name,\n seriesId: seriesModel.id\n });\n data.each(function (idx) {\n toggleItemSelected(data.getItemGraphicEl(idx), data.getItemLayout(idx), seriesModel.isSelected(data.getName(idx)), selectedOffset, hasAnimation);\n });\n}\n/**\n * @param {module:zrender/graphic/Sector} el\n * @param {Object} layout\n * @param {boolean} isSelected\n * @param {number} selectedOffset\n * @param {boolean} hasAnimation\n * @inner\n */\n\n\nfunction toggleItemSelected(el, layout, isSelected, selectedOffset, hasAnimation) {\n var midAngle = (layout.startAngle + layout.endAngle) / 2;\n var dx = Math.cos(midAngle);\n var dy = Math.sin(midAngle);\n var offset = isSelected ? selectedOffset : 0;\n var position = [dx * offset, dy * offset];\n hasAnimation // animateTo will stop revious animation like update transition\n ? el.animate().when(200, {\n position: position\n }).start('bounceOut') : el.attr('position', position);\n}\n/**\n * Piece of pie including Sector, Label, LabelLine\n * @constructor\n * @extends {module:zrender/graphic/Group}\n */\n\n\nfunction PiePiece(data, idx) {\n graphic.Group.call(this);\n var sector = new graphic.Sector({\n z2: 2\n });\n var polyline = new graphic.Polyline();\n var text = new graphic.Text();\n this.add(sector);\n this.add(polyline);\n this.add(text);\n this.updateData(data, idx, true); // Hover to change label and labelLine\n\n function onEmphasis() {\n polyline.ignore = polyline.hoverIgnore;\n text.ignore = text.hoverIgnore;\n }\n\n function onNormal() {\n polyline.ignore = polyline.normalIgnore;\n text.ignore = text.normalIgnore;\n }\n\n this.on('emphasis', onEmphasis).on('normal', onNormal).on('mouseover', onEmphasis).on('mouseout', onNormal);\n}\n\nvar piePieceProto = PiePiece.prototype;\n\npiePieceProto.updateData = function (data, idx, firstCreate) {\n var sector = this.childAt(0);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var sectorShape = zrUtil.extend({}, layout);\n sectorShape.label = null;\n\n if (firstCreate) {\n sector.setShape(sectorShape);\n var animationType = seriesModel.getShallow('animationType');\n\n if (animationType === 'scale') {\n sector.shape.r = layout.r0;\n graphic.initProps(sector, {\n shape: {\n r: layout.r\n }\n }, seriesModel, idx);\n } // Expansion\n else {\n sector.shape.endAngle = layout.startAngle;\n graphic.updateProps(sector, {\n shape: {\n endAngle: layout.endAngle\n }\n }, seriesModel, idx);\n }\n } else {\n graphic.updateProps(sector, {\n shape: sectorShape\n }, seriesModel, idx);\n } // Update common style\n\n\n var visualColor = data.getItemVisual(idx, 'color');\n sector.useStyle(zrUtil.defaults({\n lineJoin: 'bevel',\n fill: visualColor\n }, itemModel.getModel('itemStyle').getItemStyle()));\n sector.hoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && sector.attr('cursor', cursorStyle); // Toggle selected\n\n toggleItemSelected(this, data.getItemLayout(idx), seriesModel.isSelected(null, idx), seriesModel.get('selectedOffset'), seriesModel.get('animation'));\n\n function onEmphasis() {\n // Sector may has animation of updating data. Force to move to the last frame\n // Or it may stopped on the wrong shape\n sector.stopAnimation(true);\n sector.animateTo({\n shape: {\n r: layout.r + seriesModel.get('hoverOffset')\n }\n }, 300, 'elasticOut');\n }\n\n function onNormal() {\n sector.stopAnimation(true);\n sector.animateTo({\n shape: {\n r: layout.r\n }\n }, 300, 'elasticOut');\n }\n\n sector.off('mouseover').off('mouseout').off('emphasis').off('normal');\n\n if (itemModel.get('hoverAnimation') && seriesModel.isAnimationEnabled()) {\n sector.on('mouseover', onEmphasis).on('mouseout', onNormal).on('emphasis', onEmphasis).on('normal', onNormal);\n }\n\n this._updateLabel(data, idx);\n\n graphic.setHoverStyle(this);\n};\n\npiePieceProto._updateLabel = function (data, idx) {\n var labelLine = this.childAt(1);\n var labelText = this.childAt(2);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var labelLayout = layout.label;\n var visualColor = data.getItemVisual(idx, 'color');\n graphic.updateProps(labelLine, {\n shape: {\n points: labelLayout.linePoints || [[labelLayout.x, labelLayout.y], [labelLayout.x, labelLayout.y], [labelLayout.x, labelLayout.y]]\n }\n }, seriesModel, idx);\n graphic.updateProps(labelText, {\n style: {\n x: labelLayout.x,\n y: labelLayout.y\n }\n }, seriesModel, idx);\n labelText.attr({\n rotation: labelLayout.rotation,\n origin: [labelLayout.x, labelLayout.y],\n z2: 10\n });\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n var labelLineModel = itemModel.getModel('labelLine');\n var labelLineHoverModel = itemModel.getModel('emphasis.labelLine');\n var visualColor = data.getItemVisual(idx, 'color');\n graphic.setLabelStyle(labelText.style, labelText.hoverStyle = {}, labelModel, labelHoverModel, {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n defaultText: data.getName(idx),\n autoColor: visualColor,\n useInsideStyle: !!labelLayout.inside\n }, {\n textAlign: labelLayout.textAlign,\n textVerticalAlign: labelLayout.verticalAlign,\n opacity: data.getItemVisual(idx, 'opacity')\n });\n labelText.ignore = labelText.normalIgnore = !labelModel.get('show');\n labelText.hoverIgnore = !labelHoverModel.get('show');\n labelLine.ignore = labelLine.normalIgnore = !labelLineModel.get('show');\n labelLine.hoverIgnore = !labelLineHoverModel.get('show'); // Default use item visual color\n\n labelLine.setStyle({\n stroke: visualColor,\n opacity: data.getItemVisual(idx, 'opacity')\n });\n labelLine.setStyle(labelLineModel.getModel('lineStyle').getLineStyle());\n labelLine.hoverStyle = labelLineHoverModel.getModel('lineStyle').getLineStyle();\n var smooth = labelLineModel.get('smooth');\n\n if (smooth && smooth === true) {\n smooth = 0.4;\n }\n\n labelLine.setShape({\n smooth: smooth\n });\n};\n\nzrUtil.inherits(PiePiece, graphic.Group); // Pie view\n\nvar PieView = ChartView.extend({\n type: 'pie',\n init: function () {\n var sectorGroup = new graphic.Group();\n this._sectorGroup = sectorGroup;\n },\n render: function (seriesModel, ecModel, api, payload) {\n if (payload && payload.from === this.uid) {\n return;\n }\n\n var data = seriesModel.getData();\n var oldData = this._data;\n var group = this.group;\n var hasAnimation = ecModel.get('animation');\n var isFirstRender = !oldData;\n var animationType = seriesModel.get('animationType');\n var onSectorClick = zrUtil.curry(updateDataSelected, this.uid, seriesModel, hasAnimation, api);\n var selectedMode = seriesModel.get('selectedMode');\n data.diff(oldData).add(function (idx) {\n var piePiece = new PiePiece(data, idx); // Default expansion animation\n\n if (isFirstRender && animationType !== 'scale') {\n piePiece.eachChild(function (child) {\n child.stopAnimation(true);\n });\n }\n\n selectedMode && piePiece.on('click', onSectorClick);\n data.setItemGraphicEl(idx, piePiece);\n group.add(piePiece);\n }).update(function (newIdx, oldIdx) {\n var piePiece = oldData.getItemGraphicEl(oldIdx);\n piePiece.updateData(data, newIdx);\n piePiece.off('click');\n selectedMode && piePiece.on('click', onSectorClick);\n group.add(piePiece);\n data.setItemGraphicEl(newIdx, piePiece);\n }).remove(function (idx) {\n var piePiece = oldData.getItemGraphicEl(idx);\n group.remove(piePiece);\n }).execute();\n\n if (hasAnimation && isFirstRender && data.count() > 0 // Default expansion animation\n && animationType !== 'scale') {\n var shape = data.getItemLayout(0);\n var r = Math.max(api.getWidth(), api.getHeight()) / 2;\n var removeClipPath = zrUtil.bind(group.removeClipPath, group);\n group.setClipPath(this._createClipPath(shape.cx, shape.cy, r, shape.startAngle, shape.clockwise, removeClipPath, seriesModel));\n } else {\n // clipPath is used in first-time animation, so remove it when otherwise. See: #8994\n group.removeClipPath();\n }\n\n this._data = data;\n },\n dispose: function () {},\n _createClipPath: function (cx, cy, r, startAngle, clockwise, cb, seriesModel) {\n var clipPath = new graphic.Sector({\n shape: {\n cx: cx,\n cy: cy,\n r0: 0,\n r: r,\n startAngle: startAngle,\n endAngle: startAngle,\n clockwise: clockwise\n }\n });\n graphic.initProps(clipPath, {\n shape: {\n endAngle: startAngle + (clockwise ? 1 : -1) * Math.PI * 2\n }\n }, seriesModel, cb);\n return clipPath;\n },\n\n /**\n * @implement\n */\n containPoint: function (point, seriesModel) {\n var data = seriesModel.getData();\n var itemLayout = data.getItemLayout(0);\n\n if (itemLayout) {\n var dx = point[0] - itemLayout.cx;\n var dy = point[1] - itemLayout.cy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n return radius <= itemLayout.r && radius >= itemLayout.r0;\n }\n }\n});\nvar _default = PieView;\nmodule.exports = _default;","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction simpleLayout(seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.type !== 'view') {\n return;\n }\n\n var graph = seriesModel.getGraph();\n graph.eachNode(function (node) {\n var model = node.getModel();\n node.setLayout([+model.get('x'), +model.get('y')]);\n });\n simpleLayoutEdge(graph);\n}\n\nfunction simpleLayoutEdge(graph) {\n graph.eachEdge(function (edge) {\n var curveness = edge.getModel().get('lineStyle.curveness') || 0;\n var p1 = vec2.clone(edge.node1.getLayout());\n var p2 = vec2.clone(edge.node2.getLayout());\n var points = [p1, p2];\n\n if (+curveness) {\n points.push([(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * curveness, (p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * curveness]);\n }\n\n edge.setLayout(points);\n });\n}\n\nexports.simpleLayout = simpleLayout;\nexports.simpleLayoutEdge = simpleLayoutEdge;","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Polar = require(\"./Polar\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _axisHelper = require(\"../../coord/axisHelper\");\n\nvar createScaleByModel = _axisHelper.createScaleByModel;\nvar niceScaleExtent = _axisHelper.niceScaleExtent;\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\nvar _dataStackHelper = require(\"../../data/helper/dataStackHelper\");\n\nvar getStackedDimension = _dataStackHelper.getStackedDimension;\n\nrequire(\"./PolarModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// TODO Axis scale\n\n/**\n * Resize method bound to the polar\n * @param {module:echarts/coord/polar/PolarModel} polarModel\n * @param {module:echarts/ExtensionAPI} api\n */\nfunction resizePolar(polar, polarModel, api) {\n var center = polarModel.get('center');\n var width = api.getWidth();\n var height = api.getHeight();\n polar.cx = parsePercent(center[0], width);\n polar.cy = parsePercent(center[1], height);\n var radiusAxis = polar.getRadiusAxis();\n var size = Math.min(width, height) / 2;\n var radius = parsePercent(polarModel.get('radius'), size);\n radiusAxis.inverse ? radiusAxis.setExtent(radius, 0) : radiusAxis.setExtent(0, radius);\n}\n/**\n * Update polar\n */\n\n\nfunction updatePolarScale(ecModel, api) {\n var polar = this;\n var angleAxis = polar.getAngleAxis();\n var radiusAxis = polar.getRadiusAxis(); // Reset scale\n\n angleAxis.scale.setExtent(Infinity, -Infinity);\n radiusAxis.scale.setExtent(Infinity, -Infinity);\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.coordinateSystem === polar) {\n var data = seriesModel.getData();\n zrUtil.each(data.mapDimension('radius', true), function (dim) {\n radiusAxis.scale.unionExtentFromData(data, getStackedDimension(data, dim));\n });\n zrUtil.each(data.mapDimension('angle', true), function (dim) {\n angleAxis.scale.unionExtentFromData(data, getStackedDimension(data, dim));\n });\n }\n });\n niceScaleExtent(angleAxis.scale, angleAxis.model);\n niceScaleExtent(radiusAxis.scale, radiusAxis.model); // Fix extent of category angle axis\n\n if (angleAxis.type === 'category' && !angleAxis.onBand) {\n var extent = angleAxis.getExtent();\n var diff = 360 / angleAxis.scale.count();\n angleAxis.inverse ? extent[1] += diff : extent[1] -= diff;\n angleAxis.setExtent(extent[0], extent[1]);\n }\n}\n/**\n * Set common axis properties\n * @param {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}\n * @param {module:echarts/coord/polar/AxisModel}\n * @inner\n */\n\n\nfunction setAxis(axis, axisModel) {\n axis.type = axisModel.get('type');\n axis.scale = createScaleByModel(axisModel);\n axis.onBand = axisModel.get('boundaryGap') && axis.type === 'category';\n axis.inverse = axisModel.get('inverse');\n\n if (axisModel.mainType === 'angleAxis') {\n axis.inverse ^= axisModel.get('clockwise');\n var startAngle = axisModel.get('startAngle');\n axis.setExtent(startAngle, startAngle + (axis.inverse ? -360 : 360));\n } // Inject axis instance\n\n\n axisModel.axis = axis;\n axis.model = axisModel;\n}\n\nvar polarCreator = {\n dimensions: Polar.prototype.dimensions,\n create: function (ecModel, api) {\n var polarList = [];\n ecModel.eachComponent('polar', function (polarModel, idx) {\n var polar = new Polar(idx); // Inject resize and update method\n\n polar.update = updatePolarScale;\n var radiusAxis = polar.getRadiusAxis();\n var angleAxis = polar.getAngleAxis();\n var radiusAxisModel = polarModel.findAxisModel('radiusAxis');\n var angleAxisModel = polarModel.findAxisModel('angleAxis');\n setAxis(radiusAxis, radiusAxisModel);\n setAxis(angleAxis, angleAxisModel);\n resizePolar(polar, polarModel, api);\n polarList.push(polar);\n polarModel.coordinateSystem = polar;\n polar.model = polarModel;\n }); // Inject coordinateSystem to series\n\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') === 'polar') {\n var polarModel = ecModel.queryComponents({\n mainType: 'polar',\n index: seriesModel.get('polarIndex'),\n id: seriesModel.get('polarId')\n })[0];\n seriesModel.coordinateSystem = polarModel.coordinateSystem;\n }\n });\n return polarList;\n }\n};\nCoordinateSystem.register('polar', polarCreator);","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _number = require(\"../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _dataStackHelper = require(\"../data/helper/dataStackHelper\");\n\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction getSeriesStackId(seriesModel) {\n return seriesModel.get('stack') || '__ec_stack_' + seriesModel.seriesIndex;\n}\n\nfunction getAxisKey(axis) {\n return axis.dim;\n}\n/**\n * @param {string} seriesType\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n\n\nfunction barLayoutPolar(seriesType, ecModel, api) {\n // FIXME\n // Revert becuase it brings bar progressive bug.\n // The complete fix will be added in the next version.\n var width = api.getWidth();\n var height = api.getHeight();\n var lastStackCoords = {};\n var barWidthAndOffset = calRadialBar(zrUtil.filter(ecModel.getSeriesByType(seriesType), function (seriesModel) {\n return !ecModel.isSeriesFiltered(seriesModel) && seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === 'polar';\n }));\n ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n // Check series coordinate, do layout for polar only\n if (seriesModel.coordinateSystem.type !== 'polar') {\n return;\n }\n\n var data = seriesModel.getData();\n var polar = seriesModel.coordinateSystem;\n var baseAxis = polar.getBaseAxis();\n var stackId = getSeriesStackId(seriesModel);\n var columnLayoutInfo = barWidthAndOffset[getAxisKey(baseAxis)][stackId];\n var columnOffset = columnLayoutInfo.offset;\n var columnWidth = columnLayoutInfo.width;\n var valueAxis = polar.getOtherAxis(baseAxis);\n var cx = seriesModel.coordinateSystem.cx;\n var cy = seriesModel.coordinateSystem.cy;\n var barMinHeight = seriesModel.get('barMinHeight') || 0;\n var barMinAngle = seriesModel.get('barMinAngle') || 0;\n lastStackCoords[stackId] = lastStackCoords[stackId] || [];\n var valueDim = data.mapDimension(valueAxis.dim);\n var baseDim = data.mapDimension(baseAxis.dim);\n var stacked = isDimensionStacked(data, valueDim\n /*, baseDim*/\n );\n var valueAxisStart = valueAxis.getExtent()[0];\n\n for (var idx = 0, len = data.count(); idx < len; idx++) {\n var value = data.get(valueDim, idx);\n var baseValue = data.get(baseDim, idx);\n\n if (isNaN(value)) {\n continue;\n }\n\n var sign = value >= 0 ? 'p' : 'n';\n var baseCoord = valueAxisStart; // Because of the barMinHeight, we can not use the value in\n // stackResultDimension directly.\n // Only ordinal axis can be stacked.\n\n if (stacked) {\n if (!lastStackCoords[stackId][baseValue]) {\n lastStackCoords[stackId][baseValue] = {\n p: valueAxisStart,\n // Positive stack\n n: valueAxisStart // Negative stack\n\n };\n } // Should also consider #4243\n\n\n baseCoord = lastStackCoords[stackId][baseValue][sign];\n }\n\n var r0;\n var r;\n var startAngle;\n var endAngle; // radial sector\n\n if (valueAxis.dim === 'radius') {\n var radiusSpan = valueAxis.dataToRadius(value) - valueAxisStart;\n var angle = baseAxis.dataToAngle(baseValue);\n\n if (Math.abs(radiusSpan) < barMinHeight) {\n radiusSpan = (radiusSpan < 0 ? -1 : 1) * barMinHeight;\n }\n\n r0 = baseCoord;\n r = baseCoord + radiusSpan;\n startAngle = angle - columnOffset;\n endAngle = startAngle - columnWidth;\n stacked && (lastStackCoords[stackId][baseValue][sign] = r);\n } // tangential sector\n else {\n // angleAxis must be clamped.\n var angleSpan = valueAxis.dataToAngle(value, true) - valueAxisStart;\n var radius = baseAxis.dataToRadius(baseValue);\n\n if (Math.abs(angleSpan) < barMinAngle) {\n angleSpan = (angleSpan < 0 ? -1 : 1) * barMinAngle;\n }\n\n r0 = radius + columnOffset;\n r = r0 + columnWidth;\n startAngle = baseCoord;\n endAngle = baseCoord + angleSpan; // if the previous stack is at the end of the ring,\n // add a round to differentiate it from origin\n // var extent = angleAxis.getExtent();\n // var stackCoord = angle;\n // if (stackCoord === extent[0] && value > 0) {\n // stackCoord = extent[1];\n // }\n // else if (stackCoord === extent[1] && value < 0) {\n // stackCoord = extent[0];\n // }\n\n stacked && (lastStackCoords[stackId][baseValue][sign] = endAngle);\n }\n\n data.setItemLayout(idx, {\n cx: cx,\n cy: cy,\n r0: r0,\n r: r,\n // Consider that positive angle is anti-clockwise,\n // while positive radian of sector is clockwise\n startAngle: -startAngle * Math.PI / 180,\n endAngle: -endAngle * Math.PI / 180\n });\n }\n }, this);\n}\n/**\n * Calculate bar width and offset for radial bar charts\n */\n\n\nfunction calRadialBar(barSeries, api) {\n // Columns info on each category axis. Key is polar name\n var columnsMap = {};\n zrUtil.each(barSeries, function (seriesModel, idx) {\n var data = seriesModel.getData();\n var polar = seriesModel.coordinateSystem;\n var baseAxis = polar.getBaseAxis();\n var axisExtent = baseAxis.getExtent();\n var bandWidth = baseAxis.type === 'category' ? baseAxis.getBandWidth() : Math.abs(axisExtent[1] - axisExtent[0]) / data.count();\n var columnsOnAxis = columnsMap[getAxisKey(baseAxis)] || {\n bandWidth: bandWidth,\n remainedWidth: bandWidth,\n autoWidthCount: 0,\n categoryGap: '20%',\n gap: '30%',\n stacks: {}\n };\n var stacks = columnsOnAxis.stacks;\n columnsMap[getAxisKey(baseAxis)] = columnsOnAxis;\n var stackId = getSeriesStackId(seriesModel);\n\n if (!stacks[stackId]) {\n columnsOnAxis.autoWidthCount++;\n }\n\n stacks[stackId] = stacks[stackId] || {\n width: 0,\n maxWidth: 0\n };\n var barWidth = parsePercent(seriesModel.get('barWidth'), bandWidth);\n var barMaxWidth = parsePercent(seriesModel.get('barMaxWidth'), bandWidth);\n var barGap = seriesModel.get('barGap');\n var barCategoryGap = seriesModel.get('barCategoryGap');\n\n if (barWidth && !stacks[stackId].width) {\n barWidth = Math.min(columnsOnAxis.remainedWidth, barWidth);\n stacks[stackId].width = barWidth;\n columnsOnAxis.remainedWidth -= barWidth;\n }\n\n barMaxWidth && (stacks[stackId].maxWidth = barMaxWidth);\n barGap != null && (columnsOnAxis.gap = barGap);\n barCategoryGap != null && (columnsOnAxis.categoryGap = barCategoryGap);\n });\n var result = {};\n zrUtil.each(columnsMap, function (columnsOnAxis, coordSysName) {\n result[coordSysName] = {};\n var stacks = columnsOnAxis.stacks;\n var bandWidth = columnsOnAxis.bandWidth;\n var categoryGap = parsePercent(columnsOnAxis.categoryGap, bandWidth);\n var barGapPercent = parsePercent(columnsOnAxis.gap, 1);\n var remainedWidth = columnsOnAxis.remainedWidth;\n var autoWidthCount = columnsOnAxis.autoWidthCount;\n var autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);\n autoWidth = Math.max(autoWidth, 0); // Find if any auto calculated bar exceeded maxBarWidth\n\n zrUtil.each(stacks, function (column, stack) {\n var maxWidth = column.maxWidth;\n\n if (maxWidth && maxWidth < autoWidth) {\n maxWidth = Math.min(maxWidth, remainedWidth);\n\n if (column.width) {\n maxWidth = Math.min(maxWidth, column.width);\n }\n\n remainedWidth -= maxWidth;\n column.width = maxWidth;\n autoWidthCount--;\n }\n }); // Recalculate width again\n\n autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);\n autoWidth = Math.max(autoWidth, 0);\n var widthSum = 0;\n var lastColumn;\n zrUtil.each(stacks, function (column, idx) {\n if (!column.width) {\n column.width = autoWidth;\n }\n\n lastColumn = column;\n widthSum += column.width * (1 + barGapPercent);\n });\n\n if (lastColumn) {\n widthSum -= lastColumn.width * barGapPercent;\n }\n\n var offset = -widthSum / 2;\n zrUtil.each(stacks, function (column, stackId) {\n result[coordSysName][stackId] = result[coordSysName][stackId] || {\n offset: offset,\n width: column.width\n };\n offset += column.width * (1 + barGapPercent);\n });\n });\n return result;\n}\n\nvar _default = barLayoutPolar;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar Path = require(\"zrender/lib/graphic/Path\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = Path.extend({\n type: 'echartsGaugePointer',\n shape: {\n angle: 0,\n width: 10,\n r: 10,\n x: 0,\n y: 0\n },\n buildPath: function (ctx, shape) {\n var mathCos = Math.cos;\n var mathSin = Math.sin;\n var r = shape.r;\n var width = shape.width;\n var angle = shape.angle;\n var x = shape.x - mathCos(angle) * width * (width >= r / 3 ? 1 : 2);\n var y = shape.y - mathSin(angle) * width * (width >= r / 3 ? 1 : 2);\n angle = shape.angle - Math.PI / 2;\n ctx.moveTo(x, y);\n ctx.lineTo(shape.x + mathCos(angle) * width, shape.y + mathSin(angle) * width);\n ctx.lineTo(shape.x + mathCos(shape.angle) * r, shape.y + mathSin(shape.angle) * r);\n ctx.lineTo(shape.x - mathCos(angle) * width, shape.y - mathSin(angle) * width);\n ctx.lineTo(x, y);\n return;\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar Model = require(\"../../model/Model\");\n\nvar selectableMixin = require(\"../../component/helper/selectableMixin\");\n\nvar geoCreator = require(\"./geoCreator\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar GeoModel = ComponentModel.extend({\n type: 'geo',\n\n /**\n * @type {module:echarts/coord/geo/Geo}\n */\n coordinateSystem: null,\n layoutMode: 'box',\n init: function (option) {\n ComponentModel.prototype.init.apply(this, arguments); // Default label emphasis `show`\n\n modelUtil.defaultEmphasis(option, 'label', ['show']);\n },\n optionUpdated: function () {\n var option = this.option;\n var self = this;\n option.regions = geoCreator.getFilledRegions(option.regions, option.map, option.nameMap);\n this._optionModelMap = zrUtil.reduce(option.regions || [], function (optionModelMap, regionOpt) {\n if (regionOpt.name) {\n optionModelMap.set(regionOpt.name, new Model(regionOpt, self));\n }\n\n return optionModelMap;\n }, zrUtil.createHashMap());\n this.updateSelectedMap(option.regions);\n },\n defaultOption: {\n zlevel: 0,\n z: 0,\n show: true,\n left: 'center',\n top: 'center',\n // width:,\n // height:,\n // right\n // bottom\n // Aspect is width / height. Inited to be geoJson bbox aspect\n // This parameter is used for scale this aspect\n // If svg used, aspectScale is 1 by default.\n // aspectScale: 0.75,\n aspectScale: null,\n ///// Layout with center and size\n // If you wan't to put map in a fixed size box with right aspect ratio\n // This two properties may more conveninet\n // layoutCenter: [50%, 50%]\n // layoutSize: 100\n silent: false,\n // Map type\n map: '',\n // Define left-top, right-bottom coords to control view\n // For example, [ [180, 90], [-180, -90] ]\n boundingCoords: null,\n // Default on center of map\n center: null,\n zoom: 1,\n scaleLimit: null,\n // selectedMode: false\n label: {\n show: false,\n color: '#000'\n },\n itemStyle: {\n // color: 各异,\n borderWidth: 0.5,\n borderColor: '#444',\n color: '#eee'\n },\n emphasis: {\n label: {\n show: true,\n color: 'rgb(100,0,0)'\n },\n itemStyle: {\n color: 'rgba(255,215,0,0.8)'\n }\n },\n regions: []\n },\n\n /**\n * Get model of region\n * @param {string} name\n * @return {module:echarts/model/Model}\n */\n getRegionModel: function (name) {\n return this._optionModelMap.get(name) || new Model(null, this, this.ecModel);\n },\n\n /**\n * Format label\n * @param {string} name Region name\n * @param {string} [status='normal'] 'normal' or 'emphasis'\n * @return {string}\n */\n getFormattedLabel: function (name, status) {\n var regionModel = this.getRegionModel(name);\n var formatter = regionModel.get('label.' + status + '.formatter');\n var params = {\n name: name\n };\n\n if (typeof formatter === 'function') {\n params.status = status;\n return formatter(params);\n } else if (typeof formatter === 'string') {\n return formatter.replace('{a}', name != null ? name : '');\n }\n },\n setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n }\n});\nzrUtil.mixin(GeoModel, selectableMixin);\nvar _default = GeoModel;\nmodule.exports = _default;","/**\n * Event Mixin\n * @module zrender/mixin/Eventful\n * @author Kener (@Kener-林峰, kener.linfeng@gmail.com)\n * pissang (https://www.github.com/pissang)\n */\nvar arrySlice = Array.prototype.slice;\n/**\n * Event dispatcher.\n *\n * @alias module:zrender/mixin/Eventful\n * @constructor\n * @param {Object} [eventProcessor] The object eventProcessor is the scope when\n * `eventProcessor.xxx` called.\n * @param {Function} [eventProcessor.normalizeQuery]\n * param: {string|Object} Raw query.\n * return: {string|Object} Normalized query.\n * @param {Function} [eventProcessor.filter] Event will be dispatched only\n * if it returns `true`.\n * param: {string} eventType\n * param: {string|Object} query\n * return: {boolean}\n * @param {Function} [eventProcessor.afterTrigger] Call after all handlers called.\n * param: {string} eventType\n */\n\nvar Eventful = function (eventProcessor) {\n this._$handlers = {};\n this._$eventProcessor = eventProcessor;\n};\n\nEventful.prototype = {\n constructor: Eventful,\n\n /**\n * The handler can only be triggered once, then removed.\n *\n * @param {string} event The event name.\n * @param {string|Object} [query] Condition used on event filter.\n * @param {Function} handler The event handler.\n * @param {Object} context\n */\n one: function (event, query, handler, context) {\n return on(this, event, query, handler, context, true);\n },\n\n /**\n * Bind a handler.\n *\n * @param {string} event The event name.\n * @param {string|Object} [query] Condition used on event filter.\n * @param {Function} handler The event handler.\n * @param {Object} [context]\n */\n on: function (event, query, handler, context) {\n return on(this, event, query, handler, context, false);\n },\n\n /**\n * Whether any handler has bound.\n *\n * @param {string} event\n * @return {boolean}\n */\n isSilent: function (event) {\n var _h = this._$handlers;\n return !_h[event] || !_h[event].length;\n },\n\n /**\n * Unbind a event.\n *\n * @param {string} event The event name.\n * @param {Function} [handler] The event handler.\n */\n off: function (event, handler) {\n var _h = this._$handlers;\n\n if (!event) {\n this._$handlers = {};\n return this;\n }\n\n if (handler) {\n if (_h[event]) {\n var newList = [];\n\n for (var i = 0, l = _h[event].length; i < l; i++) {\n if (_h[event][i].h !== handler) {\n newList.push(_h[event][i]);\n }\n }\n\n _h[event] = newList;\n }\n\n if (_h[event] && _h[event].length === 0) {\n delete _h[event];\n }\n } else {\n delete _h[event];\n }\n\n return this;\n },\n\n /**\n * Dispatch a event.\n *\n * @param {string} type The event name.\n */\n trigger: function (type) {\n var _h = this._$handlers[type];\n var eventProcessor = this._$eventProcessor;\n\n if (_h) {\n var args = arguments;\n var argLen = args.length;\n\n if (argLen > 3) {\n args = arrySlice.call(args, 1);\n }\n\n var len = _h.length;\n\n for (var i = 0; i < len;) {\n var hItem = _h[i];\n\n if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type, hItem.query)) {\n i++;\n continue;\n } // Optimize advise from backbone\n\n\n switch (argLen) {\n case 1:\n hItem.h.call(hItem.ctx);\n break;\n\n case 2:\n hItem.h.call(hItem.ctx, args[1]);\n break;\n\n case 3:\n hItem.h.call(hItem.ctx, args[1], args[2]);\n break;\n\n default:\n // have more than 2 given arguments\n hItem.h.apply(hItem.ctx, args);\n break;\n }\n\n if (hItem.one) {\n _h.splice(i, 1);\n\n len--;\n } else {\n i++;\n }\n }\n }\n\n eventProcessor && eventProcessor.afterTrigger && eventProcessor.afterTrigger(type);\n return this;\n },\n\n /**\n * Dispatch a event with context, which is specified at the last parameter.\n *\n * @param {string} type The event name.\n */\n triggerWithContext: function (type) {\n var _h = this._$handlers[type];\n var eventProcessor = this._$eventProcessor;\n\n if (_h) {\n var args = arguments;\n var argLen = args.length;\n\n if (argLen > 4) {\n args = arrySlice.call(args, 1, args.length - 1);\n }\n\n var ctx = args[args.length - 1];\n var len = _h.length;\n\n for (var i = 0; i < len;) {\n var hItem = _h[i];\n\n if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type, hItem.query)) {\n i++;\n continue;\n } // Optimize advise from backbone\n\n\n switch (argLen) {\n case 1:\n hItem.h.call(ctx);\n break;\n\n case 2:\n hItem.h.call(ctx, args[1]);\n break;\n\n case 3:\n hItem.h.call(ctx, args[1], args[2]);\n break;\n\n default:\n // have more than 2 given arguments\n hItem.h.apply(ctx, args);\n break;\n }\n\n if (hItem.one) {\n _h.splice(i, 1);\n\n len--;\n } else {\n i++;\n }\n }\n }\n\n eventProcessor && eventProcessor.afterTrigger && eventProcessor.afterTrigger(type);\n return this;\n }\n};\n\nfunction normalizeQuery(host, query) {\n var eventProcessor = host._$eventProcessor;\n\n if (query != null && eventProcessor && eventProcessor.normalizeQuery) {\n query = eventProcessor.normalizeQuery(query);\n }\n\n return query;\n}\n\nfunction on(eventful, event, query, handler, context, isOnce) {\n var _h = eventful._$handlers;\n\n if (typeof query === 'function') {\n context = handler;\n handler = query;\n query = null;\n }\n\n if (!handler || !event) {\n return eventful;\n }\n\n query = normalizeQuery(eventful, query);\n\n if (!_h[event]) {\n _h[event] = [];\n }\n\n for (var i = 0; i < _h[event].length; i++) {\n if (_h[event][i].h === handler) {\n return eventful;\n }\n }\n\n var wrap = {\n h: handler,\n one: isOnce,\n query: query,\n ctx: context || eventful,\n // FIXME\n // Do not publish this feature util it is proved that it makes sense.\n callAtLast: handler.zrEventfulCallAtLast\n };\n var lastIndex = _h[event].length - 1;\n var lastWrap = _h[event][lastIndex];\n lastWrap && lastWrap.callAtLast ? _h[event].splice(lastIndex, 0, wrap) : _h[event].push(wrap);\n return eventful;\n} // ----------------------\n// The events in zrender\n// ----------------------\n\n/**\n * @event module:zrender/mixin/Eventful#onclick\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmouseover\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmouseout\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmousemove\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmousewheel\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmousedown\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmouseup\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondrag\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragstart\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragend\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragenter\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragleave\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragover\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondrop\n * @type {Function}\n * @default null\n */\n\n\nvar _default = Eventful;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// import * as axisHelper from './axisHelper';\nvar _default = {\n /**\n * @param {boolean} origin\n * @return {number|string} min value or 'dataMin' or null/undefined (means auto) or NaN\n */\n getMin: function (origin) {\n var option = this.option;\n var min = !origin && option.rangeStart != null ? option.rangeStart : option.min;\n\n if (this.axis && min != null && min !== 'dataMin' && typeof min !== 'function' && !zrUtil.eqNaN(min)) {\n min = this.axis.scale.parse(min);\n }\n\n return min;\n },\n\n /**\n * @param {boolean} origin\n * @return {number|string} max value or 'dataMax' or null/undefined (means auto) or NaN\n */\n getMax: function (origin) {\n var option = this.option;\n var max = !origin && option.rangeEnd != null ? option.rangeEnd : option.max;\n\n if (this.axis && max != null && max !== 'dataMax' && typeof max !== 'function' && !zrUtil.eqNaN(max)) {\n max = this.axis.scale.parse(max);\n }\n\n return max;\n },\n\n /**\n * @return {boolean}\n */\n getNeedCrossZero: function () {\n var option = this.option;\n return option.rangeStart != null || option.rangeEnd != null ? false : !option.scale;\n },\n\n /**\n * Should be implemented by each axis model if necessary.\n * @return {module:echarts/model/Component} coordinate system model\n */\n getCoordSysModel: zrUtil.noop,\n\n /**\n * @param {number} rangeStart Can only be finite number or null/undefined or NaN.\n * @param {number} rangeEnd Can only be finite number or null/undefined or NaN.\n */\n setRange: function (rangeStart, rangeEnd) {\n this.option.rangeStart = rangeStart;\n this.option.rangeEnd = rangeEnd;\n },\n\n /**\n * Reset range\n */\n resetRange: function () {\n // rangeStart and rangeEnd is readonly.\n this.option.rangeStart = this.option.rangeEnd = null;\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar coordinateSystemCreators = {};\n\nfunction CoordinateSystemManager() {\n this._coordinateSystems = [];\n}\n\nCoordinateSystemManager.prototype = {\n constructor: CoordinateSystemManager,\n create: function (ecModel, api) {\n var coordinateSystems = [];\n zrUtil.each(coordinateSystemCreators, function (creater, type) {\n var list = creater.create(ecModel, api);\n coordinateSystems = coordinateSystems.concat(list || []);\n });\n this._coordinateSystems = coordinateSystems;\n },\n update: function (ecModel, api) {\n zrUtil.each(this._coordinateSystems, function (coordSys) {\n coordSys.update && coordSys.update(ecModel, api);\n });\n },\n getCoordinateSystems: function () {\n return this._coordinateSystems.slice();\n }\n};\n\nCoordinateSystemManager.register = function (type, coordinateSystemCreator) {\n coordinateSystemCreators[type] = coordinateSystemCreator;\n};\n\nCoordinateSystemManager.get = function (type) {\n return coordinateSystemCreators[type];\n};\n\nvar _default = CoordinateSystemManager;\nmodule.exports = _default;","var curve = require(\"./curve\");\n\nvar vec2 = require(\"./vector\");\n\nvar bbox = require(\"./bbox\");\n\nvar BoundingRect = require(\"./BoundingRect\");\n\nvar _config = require(\"../config\");\n\nvar dpr = _config.devicePixelRatio;\n\n/**\n * Path 代理,可以在`buildPath`中用于替代`ctx`, 会保存每个path操作的命令到pathCommands属性中\n * 可以用于 isInsidePath 判断以及获取boundingRect\n *\n * @module zrender/core/PathProxy\n * @author Yi Shen (http://www.github.com/pissang)\n */\n// TODO getTotalLength, getPointAtLength\nvar CMD = {\n M: 1,\n L: 2,\n C: 3,\n Q: 4,\n A: 5,\n Z: 6,\n // Rect\n R: 7\n}; // var CMD_MEM_SIZE = {\n// M: 3,\n// L: 3,\n// C: 7,\n// Q: 5,\n// A: 9,\n// R: 5,\n// Z: 1\n// };\n\nvar min = [];\nvar max = [];\nvar min2 = [];\nvar max2 = [];\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathCos = Math.cos;\nvar mathSin = Math.sin;\nvar mathSqrt = Math.sqrt;\nvar mathAbs = Math.abs;\nvar hasTypedArray = typeof Float32Array !== 'undefined';\n/**\n * @alias module:zrender/core/PathProxy\n * @constructor\n */\n\nvar PathProxy = function (notSaveData) {\n this._saveData = !(notSaveData || false);\n\n if (this._saveData) {\n /**\n * Path data. Stored as flat array\n * @type {Array.}\n */\n this.data = [];\n }\n\n this._ctx = null;\n};\n/**\n * 快速计算Path包围盒(并不是最小包围盒)\n * @return {Object}\n */\n\n\nPathProxy.prototype = {\n constructor: PathProxy,\n _xi: 0,\n _yi: 0,\n _x0: 0,\n _y0: 0,\n // Unit x, Unit y. Provide for avoiding drawing that too short line segment\n _ux: 0,\n _uy: 0,\n _len: 0,\n _lineDash: null,\n _dashOffset: 0,\n _dashIdx: 0,\n _dashSum: 0,\n\n /**\n * @readOnly\n */\n setScale: function (sx, sy) {\n this._ux = mathAbs(1 / dpr / sx) || 0;\n this._uy = mathAbs(1 / dpr / sy) || 0;\n },\n getContext: function () {\n return this._ctx;\n },\n\n /**\n * @param {CanvasRenderingContext2D} ctx\n * @return {module:zrender/core/PathProxy}\n */\n beginPath: function (ctx) {\n this._ctx = ctx;\n ctx && ctx.beginPath();\n ctx && (this.dpr = ctx.dpr); // Reset\n\n if (this._saveData) {\n this._len = 0;\n }\n\n if (this._lineDash) {\n this._lineDash = null;\n this._dashOffset = 0;\n }\n\n return this;\n },\n\n /**\n * @param {number} x\n * @param {number} y\n * @return {module:zrender/core/PathProxy}\n */\n moveTo: function (x, y) {\n this.addData(CMD.M, x, y);\n this._ctx && this._ctx.moveTo(x, y); // x0, y0, xi, yi 是记录在 _dashedXXXXTo 方法中使用\n // xi, yi 记录当前点, x0, y0 在 closePath 的时候回到起始点。\n // 有可能在 beginPath 之后直接调用 lineTo,这时候 x0, y0 需要\n // 在 lineTo 方法中记录,这里先不考虑这种情况,dashed line 也只在 IE10- 中不支持\n\n this._x0 = x;\n this._y0 = y;\n this._xi = x;\n this._yi = y;\n return this;\n },\n\n /**\n * @param {number} x\n * @param {number} y\n * @return {module:zrender/core/PathProxy}\n */\n lineTo: function (x, y) {\n var exceedUnit = mathAbs(x - this._xi) > this._ux || mathAbs(y - this._yi) > this._uy // Force draw the first segment\n || this._len < 5;\n this.addData(CMD.L, x, y);\n\n if (this._ctx && exceedUnit) {\n this._needsDash() ? this._dashedLineTo(x, y) : this._ctx.lineTo(x, y);\n }\n\n if (exceedUnit) {\n this._xi = x;\n this._yi = y;\n }\n\n return this;\n },\n\n /**\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x3\n * @param {number} y3\n * @return {module:zrender/core/PathProxy}\n */\n bezierCurveTo: function (x1, y1, x2, y2, x3, y3) {\n this.addData(CMD.C, x1, y1, x2, y2, x3, y3);\n\n if (this._ctx) {\n this._needsDash() ? this._dashedBezierTo(x1, y1, x2, y2, x3, y3) : this._ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);\n }\n\n this._xi = x3;\n this._yi = y3;\n return this;\n },\n\n /**\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @return {module:zrender/core/PathProxy}\n */\n quadraticCurveTo: function (x1, y1, x2, y2) {\n this.addData(CMD.Q, x1, y1, x2, y2);\n\n if (this._ctx) {\n this._needsDash() ? this._dashedQuadraticTo(x1, y1, x2, y2) : this._ctx.quadraticCurveTo(x1, y1, x2, y2);\n }\n\n this._xi = x2;\n this._yi = y2;\n return this;\n },\n\n /**\n * @param {number} cx\n * @param {number} cy\n * @param {number} r\n * @param {number} startAngle\n * @param {number} endAngle\n * @param {boolean} anticlockwise\n * @return {module:zrender/core/PathProxy}\n */\n arc: function (cx, cy, r, startAngle, endAngle, anticlockwise) {\n this.addData(CMD.A, cx, cy, r, r, startAngle, endAngle - startAngle, 0, anticlockwise ? 0 : 1);\n this._ctx && this._ctx.arc(cx, cy, r, startAngle, endAngle, anticlockwise);\n this._xi = mathCos(endAngle) * r + cx;\n this._yi = mathSin(endAngle) * r + cy;\n return this;\n },\n // TODO\n arcTo: function (x1, y1, x2, y2, radius) {\n if (this._ctx) {\n this._ctx.arcTo(x1, y1, x2, y2, radius);\n }\n\n return this;\n },\n // TODO\n rect: function (x, y, w, h) {\n this._ctx && this._ctx.rect(x, y, w, h);\n this.addData(CMD.R, x, y, w, h);\n return this;\n },\n\n /**\n * @return {module:zrender/core/PathProxy}\n */\n closePath: function () {\n this.addData(CMD.Z);\n var ctx = this._ctx;\n var x0 = this._x0;\n var y0 = this._y0;\n\n if (ctx) {\n this._needsDash() && this._dashedLineTo(x0, y0);\n ctx.closePath();\n }\n\n this._xi = x0;\n this._yi = y0;\n return this;\n },\n\n /**\n * Context 从外部传入,因为有可能是 rebuildPath 完之后再 fill。\n * stroke 同样\n * @param {CanvasRenderingContext2D} ctx\n * @return {module:zrender/core/PathProxy}\n */\n fill: function (ctx) {\n ctx && ctx.fill();\n this.toStatic();\n },\n\n /**\n * @param {CanvasRenderingContext2D} ctx\n * @return {module:zrender/core/PathProxy}\n */\n stroke: function (ctx) {\n ctx && ctx.stroke();\n this.toStatic();\n },\n\n /**\n * 必须在其它绘制命令前调用\n * Must be invoked before all other path drawing methods\n * @return {module:zrender/core/PathProxy}\n */\n setLineDash: function (lineDash) {\n if (lineDash instanceof Array) {\n this._lineDash = lineDash;\n this._dashIdx = 0;\n var lineDashSum = 0;\n\n for (var i = 0; i < lineDash.length; i++) {\n lineDashSum += lineDash[i];\n }\n\n this._dashSum = lineDashSum;\n }\n\n return this;\n },\n\n /**\n * 必须在其它绘制命令前调用\n * Must be invoked before all other path drawing methods\n * @return {module:zrender/core/PathProxy}\n */\n setLineDashOffset: function (offset) {\n this._dashOffset = offset;\n return this;\n },\n\n /**\n *\n * @return {boolean}\n */\n len: function () {\n return this._len;\n },\n\n /**\n * 直接设置 Path 数据\n */\n setData: function (data) {\n var len = data.length;\n\n if (!(this.data && this.data.length === len) && hasTypedArray) {\n this.data = new Float32Array(len);\n }\n\n for (var i = 0; i < len; i++) {\n this.data[i] = data[i];\n }\n\n this._len = len;\n },\n\n /**\n * 添加子路径\n * @param {module:zrender/core/PathProxy|Array.} path\n */\n appendPath: function (path) {\n if (!(path instanceof Array)) {\n path = [path];\n }\n\n var len = path.length;\n var appendSize = 0;\n var offset = this._len;\n\n for (var i = 0; i < len; i++) {\n appendSize += path[i].len();\n }\n\n if (hasTypedArray && this.data instanceof Float32Array) {\n this.data = new Float32Array(offset + appendSize);\n }\n\n for (var i = 0; i < len; i++) {\n var appendPathData = path[i].data;\n\n for (var k = 0; k < appendPathData.length; k++) {\n this.data[offset++] = appendPathData[k];\n }\n }\n\n this._len = offset;\n },\n\n /**\n * 填充 Path 数据。\n * 尽量复用而不申明新的数组。大部分图形重绘的指令数据长度都是不变的。\n */\n addData: function (cmd) {\n if (!this._saveData) {\n return;\n }\n\n var data = this.data;\n\n if (this._len + arguments.length > data.length) {\n // 因为之前的数组已经转换成静态的 Float32Array\n // 所以不够用时需要扩展一个新的动态数组\n this._expandData();\n\n data = this.data;\n }\n\n for (var i = 0; i < arguments.length; i++) {\n data[this._len++] = arguments[i];\n }\n\n this._prevCmd = cmd;\n },\n _expandData: function () {\n // Only if data is Float32Array\n if (!(this.data instanceof Array)) {\n var newData = [];\n\n for (var i = 0; i < this._len; i++) {\n newData[i] = this.data[i];\n }\n\n this.data = newData;\n }\n },\n\n /**\n * If needs js implemented dashed line\n * @return {boolean}\n * @private\n */\n _needsDash: function () {\n return this._lineDash;\n },\n _dashedLineTo: function (x1, y1) {\n var dashSum = this._dashSum;\n var offset = this._dashOffset;\n var lineDash = this._lineDash;\n var ctx = this._ctx;\n var x0 = this._xi;\n var y0 = this._yi;\n var dx = x1 - x0;\n var dy = y1 - y0;\n var dist = mathSqrt(dx * dx + dy * dy);\n var x = x0;\n var y = y0;\n var dash;\n var nDash = lineDash.length;\n var idx;\n dx /= dist;\n dy /= dist;\n\n if (offset < 0) {\n // Convert to positive offset\n offset = dashSum + offset;\n }\n\n offset %= dashSum;\n x -= offset * dx;\n y -= offset * dy;\n\n while (dx > 0 && x <= x1 || dx < 0 && x >= x1 || dx === 0 && (dy > 0 && y <= y1 || dy < 0 && y >= y1)) {\n idx = this._dashIdx;\n dash = lineDash[idx];\n x += dx * dash;\n y += dy * dash;\n this._dashIdx = (idx + 1) % nDash; // Skip positive offset\n\n if (dx > 0 && x < x0 || dx < 0 && x > x0 || dy > 0 && y < y0 || dy < 0 && y > y0) {\n continue;\n }\n\n ctx[idx % 2 ? 'moveTo' : 'lineTo'](dx >= 0 ? mathMin(x, x1) : mathMax(x, x1), dy >= 0 ? mathMin(y, y1) : mathMax(y, y1));\n } // Offset for next lineTo\n\n\n dx = x - x1;\n dy = y - y1;\n this._dashOffset = -mathSqrt(dx * dx + dy * dy);\n },\n // Not accurate dashed line to\n _dashedBezierTo: function (x1, y1, x2, y2, x3, y3) {\n var dashSum = this._dashSum;\n var offset = this._dashOffset;\n var lineDash = this._lineDash;\n var ctx = this._ctx;\n var x0 = this._xi;\n var y0 = this._yi;\n var t;\n var dx;\n var dy;\n var cubicAt = curve.cubicAt;\n var bezierLen = 0;\n var idx = this._dashIdx;\n var nDash = lineDash.length;\n var x;\n var y;\n var tmpLen = 0;\n\n if (offset < 0) {\n // Convert to positive offset\n offset = dashSum + offset;\n }\n\n offset %= dashSum; // Bezier approx length\n\n for (t = 0; t < 1; t += 0.1) {\n dx = cubicAt(x0, x1, x2, x3, t + 0.1) - cubicAt(x0, x1, x2, x3, t);\n dy = cubicAt(y0, y1, y2, y3, t + 0.1) - cubicAt(y0, y1, y2, y3, t);\n bezierLen += mathSqrt(dx * dx + dy * dy);\n } // Find idx after add offset\n\n\n for (; idx < nDash; idx++) {\n tmpLen += lineDash[idx];\n\n if (tmpLen > offset) {\n break;\n }\n }\n\n t = (tmpLen - offset) / bezierLen;\n\n while (t <= 1) {\n x = cubicAt(x0, x1, x2, x3, t);\n y = cubicAt(y0, y1, y2, y3, t); // Use line to approximate dashed bezier\n // Bad result if dash is long\n\n idx % 2 ? ctx.moveTo(x, y) : ctx.lineTo(x, y);\n t += lineDash[idx] / bezierLen;\n idx = (idx + 1) % nDash;\n } // Finish the last segment and calculate the new offset\n\n\n idx % 2 !== 0 && ctx.lineTo(x3, y3);\n dx = x3 - x;\n dy = y3 - y;\n this._dashOffset = -mathSqrt(dx * dx + dy * dy);\n },\n _dashedQuadraticTo: function (x1, y1, x2, y2) {\n // Convert quadratic to cubic using degree elevation\n var x3 = x2;\n var y3 = y2;\n x2 = (x2 + 2 * x1) / 3;\n y2 = (y2 + 2 * y1) / 3;\n x1 = (this._xi + 2 * x1) / 3;\n y1 = (this._yi + 2 * y1) / 3;\n\n this._dashedBezierTo(x1, y1, x2, y2, x3, y3);\n },\n\n /**\n * 转成静态的 Float32Array 减少堆内存占用\n * Convert dynamic array to static Float32Array\n */\n toStatic: function () {\n var data = this.data;\n\n if (data instanceof Array) {\n data.length = this._len;\n\n if (hasTypedArray) {\n this.data = new Float32Array(data);\n }\n }\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getBoundingRect: function () {\n min[0] = min[1] = min2[0] = min2[1] = Number.MAX_VALUE;\n max[0] = max[1] = max2[0] = max2[1] = -Number.MAX_VALUE;\n var data = this.data;\n var xi = 0;\n var yi = 0;\n var x0 = 0;\n var y0 = 0;\n\n for (var i = 0; i < data.length;) {\n var cmd = data[i++];\n\n if (i === 1) {\n // 如果第一个命令是 L, C, Q\n // 则 previous point 同绘制命令的第一个 point\n //\n // 第一个命令为 Arc 的情况下会在后面特殊处理\n xi = data[i];\n yi = data[i + 1];\n x0 = xi;\n y0 = yi;\n }\n\n switch (cmd) {\n case CMD.M:\n // moveTo 命令重新创建一个新的 subpath, 并且更新新的起点\n // 在 closePath 的时候使用\n x0 = data[i++];\n y0 = data[i++];\n xi = x0;\n yi = y0;\n min2[0] = x0;\n min2[1] = y0;\n max2[0] = x0;\n max2[1] = y0;\n break;\n\n case CMD.L:\n bbox.fromLine(xi, yi, data[i], data[i + 1], min2, max2);\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.C:\n bbox.fromCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], min2, max2);\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.Q:\n bbox.fromQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], min2, max2);\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.A:\n // TODO Arc 判断的开销比较大\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var startAngle = data[i++];\n var endAngle = data[i++] + startAngle; // TODO Arc 旋转\n\n i += 1;\n var anticlockwise = 1 - data[i++];\n\n if (i === 1) {\n // 直接使用 arc 命令\n // 第一个命令起点还未定义\n x0 = mathCos(startAngle) * rx + cx;\n y0 = mathSin(startAngle) * ry + cy;\n }\n\n bbox.fromArc(cx, cy, rx, ry, startAngle, endAngle, anticlockwise, min2, max2);\n xi = mathCos(endAngle) * rx + cx;\n yi = mathSin(endAngle) * ry + cy;\n break;\n\n case CMD.R:\n x0 = xi = data[i++];\n y0 = yi = data[i++];\n var width = data[i++];\n var height = data[i++]; // Use fromLine\n\n bbox.fromLine(x0, y0, x0 + width, y0 + height, min2, max2);\n break;\n\n case CMD.Z:\n xi = x0;\n yi = y0;\n break;\n } // Union\n\n\n vec2.min(min, min, min2);\n vec2.max(max, max, max2);\n } // No data\n\n\n if (i === 0) {\n min[0] = min[1] = max[0] = max[1] = 0;\n }\n\n return new BoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n },\n\n /**\n * Rebuild path from current data\n * Rebuild path will not consider javascript implemented line dash.\n * @param {CanvasRenderingContext2D} ctx\n */\n rebuildPath: function (ctx) {\n var d = this.data;\n var x0, y0;\n var xi, yi;\n var x, y;\n var ux = this._ux;\n var uy = this._uy;\n var len = this._len;\n\n for (var i = 0; i < len;) {\n var cmd = d[i++];\n\n if (i === 1) {\n // 如果第一个命令是 L, C, Q\n // 则 previous point 同绘制命令的第一个 point\n //\n // 第一个命令为 Arc 的情况下会在后面特殊处理\n xi = d[i];\n yi = d[i + 1];\n x0 = xi;\n y0 = yi;\n }\n\n switch (cmd) {\n case CMD.M:\n x0 = xi = d[i++];\n y0 = yi = d[i++];\n ctx.moveTo(xi, yi);\n break;\n\n case CMD.L:\n x = d[i++];\n y = d[i++]; // Not draw too small seg between\n\n if (mathAbs(x - xi) > ux || mathAbs(y - yi) > uy || i === len - 1) {\n ctx.lineTo(x, y);\n xi = x;\n yi = y;\n }\n\n break;\n\n case CMD.C:\n ctx.bezierCurveTo(d[i++], d[i++], d[i++], d[i++], d[i++], d[i++]);\n xi = d[i - 2];\n yi = d[i - 1];\n break;\n\n case CMD.Q:\n ctx.quadraticCurveTo(d[i++], d[i++], d[i++], d[i++]);\n xi = d[i - 2];\n yi = d[i - 1];\n break;\n\n case CMD.A:\n var cx = d[i++];\n var cy = d[i++];\n var rx = d[i++];\n var ry = d[i++];\n var theta = d[i++];\n var dTheta = d[i++];\n var psi = d[i++];\n var fs = d[i++];\n var r = rx > ry ? rx : ry;\n var scaleX = rx > ry ? 1 : rx / ry;\n var scaleY = rx > ry ? ry / rx : 1;\n var isEllipse = Math.abs(rx - ry) > 1e-3;\n var endAngle = theta + dTheta;\n\n if (isEllipse) {\n ctx.translate(cx, cy);\n ctx.rotate(psi);\n ctx.scale(scaleX, scaleY);\n ctx.arc(0, 0, r, theta, endAngle, 1 - fs);\n ctx.scale(1 / scaleX, 1 / scaleY);\n ctx.rotate(-psi);\n ctx.translate(-cx, -cy);\n } else {\n ctx.arc(cx, cy, r, theta, endAngle, 1 - fs);\n }\n\n if (i === 1) {\n // 直接使用 arc 命令\n // 第一个命令起点还未定义\n x0 = mathCos(theta) * rx + cx;\n y0 = mathSin(theta) * ry + cy;\n }\n\n xi = mathCos(endAngle) * rx + cx;\n yi = mathSin(endAngle) * ry + cy;\n break;\n\n case CMD.R:\n x0 = xi = d[i];\n y0 = yi = d[i + 1];\n ctx.rect(d[i++], d[i++], d[i++], d[i++]);\n break;\n\n case CMD.Z:\n ctx.closePath();\n xi = x0;\n yi = y0;\n }\n }\n }\n};\nPathProxy.CMD = CMD;\nvar _default = PathProxy;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar features = {};\n\nfunction register(name, ctor) {\n features[name] = ctor;\n}\n\nfunction get(name) {\n return features[name];\n}\n\nexports.register = register;\nexports.get = get;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar Tree = require(\"../../data/Tree\");\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @file Create data struct and define tree view's series model\n * @author Deqing Li(annong035@gmail.com)\n */\nvar _default = SeriesModel.extend({\n type: 'series.tree',\n layoutInfo: null,\n // can support the position parameters 'left', 'top','right','bottom', 'width',\n // 'height' in the setOption() with 'merge' mode normal.\n layoutMode: 'box',\n\n /**\n * Init a tree data structure from data in option series\n * @param {Object} option the object used to config echarts view\n * @return {module:echarts/data/List} storage initial data\n */\n getInitialData: function (option) {\n //create an virtual root\n var root = {\n name: option.name,\n children: option.data\n };\n var leaves = option.leaves || {};\n var treeOption = {};\n treeOption.leaves = leaves;\n var tree = Tree.createTree(root, this, treeOption);\n var treeDepth = 0;\n tree.eachNode('preorder', function (node) {\n if (node.depth > treeDepth) {\n treeDepth = node.depth;\n }\n });\n var expandAndCollapse = option.expandAndCollapse;\n var expandTreeDepth = expandAndCollapse && option.initialTreeDepth >= 0 ? option.initialTreeDepth : treeDepth;\n tree.root.eachNode('preorder', function (node) {\n var item = node.hostTree.data.getRawDataItem(node.dataIndex); // Add item.collapsed != null, because users can collapse node original in the series.data.\n\n node.isExpand = item && item.collapsed != null ? !item.collapsed : node.depth <= expandTreeDepth;\n });\n return tree.data;\n },\n\n /**\n * Make the configuration 'orient' backward compatibly, with 'horizontal = LR', 'vertical = TB'.\n * @returns {string} orient\n */\n getOrient: function () {\n var orient = this.get('orient');\n\n if (orient === 'horizontal') {\n orient = 'LR';\n } else if (orient === 'vertical') {\n orient = 'TB';\n }\n\n return orient;\n },\n setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n },\n\n /**\n * @override\n * @param {number} dataIndex\n */\n formatTooltip: function (dataIndex) {\n var tree = this.getData().tree;\n var realRoot = tree.root.children[0];\n var node = tree.getNodeByDataIndex(dataIndex);\n var value = node.getValue();\n var name = node.name;\n\n while (node && node !== realRoot) {\n name = node.parentNode.name + '.' + name;\n node = node.parentNode;\n }\n\n return encodeHTML(name + (isNaN(value) || value == null ? '' : ' : ' + value));\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'view',\n // the position of the whole view\n left: '12%',\n top: '12%',\n right: '12%',\n bottom: '12%',\n // the layout of the tree, two value can be selected, 'orthogonal' or 'radial'\n layout: 'orthogonal',\n roam: false,\n // true | false | 'move' | 'scale', see module:component/helper/RoamController.\n // Symbol size scale ratio in roam\n nodeScaleRatio: 0.4,\n // Default on center of graph\n center: null,\n zoom: 1,\n // The orient of orthoginal layout, can be setted to 'LR', 'TB', 'RL', 'BT'.\n // and the backward compatibility configuration 'horizontal = LR', 'vertical = TB'.\n orient: 'LR',\n symbol: 'emptyCircle',\n symbolSize: 7,\n expandAndCollapse: true,\n initialTreeDepth: 2,\n lineStyle: {\n color: '#ccc',\n width: 1.5,\n curveness: 0.5\n },\n itemStyle: {\n color: 'lightsteelblue',\n borderColor: '#c23531',\n borderWidth: 1.5\n },\n label: {\n show: true,\n color: '#555'\n },\n leaves: {\n label: {\n show: true\n }\n },\n animationEasing: 'linear',\n animationDuration: 700,\n animationDurationUpdate: 1000\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar numberUtil = require(\"../util/number\");\n\nvar formatUtil = require(\"../util/format\");\n\nvar scaleHelper = require(\"./helper\");\n\nvar IntervalScale = require(\"./Interval\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* A third-party license is embeded for some of the code in this file:\n* The \"scaleLevels\" was originally copied from \"d3.js\" with some\n* modifications made for this project.\n* (See more details in the comment on the definition of \"scaleLevels\" below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\n* ).\n*/\n// [About UTC and local time zone]:\n// In most cases, `number.parseDate` will treat input data string as local time\n// (except time zone is specified in time string). And `format.formateTime` returns\n// local time by default. option.useUTC is false by default. This design have\n// concidered these common case:\n// (1) Time that is persistent in server is in UTC, but it is needed to be diplayed\n// in local time by default.\n// (2) By default, the input data string (e.g., '2011-01-02') should be displayed\n// as its original time, without any time difference.\nvar intervalScaleProto = IntervalScale.prototype;\nvar mathCeil = Math.ceil;\nvar mathFloor = Math.floor;\nvar ONE_SECOND = 1000;\nvar ONE_MINUTE = ONE_SECOND * 60;\nvar ONE_HOUR = ONE_MINUTE * 60;\nvar ONE_DAY = ONE_HOUR * 24; // FIXME 公用?\n\nvar bisect = function (a, x, lo, hi) {\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n\n if (a[mid][1] < x) {\n lo = mid + 1;\n } else {\n hi = mid;\n }\n }\n\n return lo;\n};\n/**\n * @alias module:echarts/coord/scale/Time\n * @constructor\n */\n\n\nvar TimeScale = IntervalScale.extend({\n type: 'time',\n\n /**\n * @override\n */\n getLabel: function (val) {\n var stepLvl = this._stepLvl;\n var date = new Date(val);\n return formatUtil.formatTime(stepLvl[0], date, this.getSetting('useUTC'));\n },\n\n /**\n * @override\n */\n niceExtent: function (opt) {\n var extent = this._extent; // If extent start and end are same, expand them\n\n if (extent[0] === extent[1]) {\n // Expand extent\n extent[0] -= ONE_DAY;\n extent[1] += ONE_DAY;\n } // If there are no data and extent are [Infinity, -Infinity]\n\n\n if (extent[1] === -Infinity && extent[0] === Infinity) {\n var d = new Date();\n extent[1] = +new Date(d.getFullYear(), d.getMonth(), d.getDate());\n extent[0] = extent[1] - ONE_DAY;\n }\n\n this.niceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval); // var extent = this._extent;\n\n var interval = this._interval;\n\n if (!opt.fixMin) {\n extent[0] = numberUtil.round(mathFloor(extent[0] / interval) * interval);\n }\n\n if (!opt.fixMax) {\n extent[1] = numberUtil.round(mathCeil(extent[1] / interval) * interval);\n }\n },\n\n /**\n * @override\n */\n niceTicks: function (approxTickNum, minInterval, maxInterval) {\n approxTickNum = approxTickNum || 10;\n var extent = this._extent;\n var span = extent[1] - extent[0];\n var approxInterval = span / approxTickNum;\n\n if (minInterval != null && approxInterval < minInterval) {\n approxInterval = minInterval;\n }\n\n if (maxInterval != null && approxInterval > maxInterval) {\n approxInterval = maxInterval;\n }\n\n var scaleLevelsLen = scaleLevels.length;\n var idx = bisect(scaleLevels, approxInterval, 0, scaleLevelsLen);\n var level = scaleLevels[Math.min(idx, scaleLevelsLen - 1)];\n var interval = level[1]; // Same with interval scale if span is much larger than 1 year\n\n if (level[0] === 'year') {\n var yearSpan = span / interval; // From \"Nice Numbers for Graph Labels\" of Graphic Gems\n // var niceYearSpan = numberUtil.nice(yearSpan, false);\n\n var yearStep = numberUtil.nice(yearSpan / approxTickNum, true);\n interval *= yearStep;\n }\n\n var timezoneOffset = this.getSetting('useUTC') ? 0 : new Date(+extent[0] || +extent[1]).getTimezoneOffset() * 60 * 1000;\n var niceExtent = [Math.round(mathCeil((extent[0] - timezoneOffset) / interval) * interval + timezoneOffset), Math.round(mathFloor((extent[1] - timezoneOffset) / interval) * interval + timezoneOffset)];\n scaleHelper.fixExtent(niceExtent, extent);\n this._stepLvl = level; // Interval will be used in getTicks\n\n this._interval = interval;\n this._niceExtent = niceExtent;\n },\n parse: function (val) {\n // val might be float.\n return +numberUtil.parseDate(val);\n }\n});\nzrUtil.each(['contain', 'normalize'], function (methodName) {\n TimeScale.prototype[methodName] = function (val) {\n return intervalScaleProto[methodName].call(this, this.parse(val));\n };\n});\n/**\n * This implementation was originally copied from \"d3.js\"\n * \n * with some modifications made for this program.\n * See the license statement at the head of this file.\n */\n\nvar scaleLevels = [// Format interval\n['hh:mm:ss', ONE_SECOND], // 1s\n['hh:mm:ss', ONE_SECOND * 5], // 5s\n['hh:mm:ss', ONE_SECOND * 10], // 10s\n['hh:mm:ss', ONE_SECOND * 15], // 15s\n['hh:mm:ss', ONE_SECOND * 30], // 30s\n['hh:mm\\nMM-dd', ONE_MINUTE], // 1m\n['hh:mm\\nMM-dd', ONE_MINUTE * 5], // 5m\n['hh:mm\\nMM-dd', ONE_MINUTE * 10], // 10m\n['hh:mm\\nMM-dd', ONE_MINUTE * 15], // 15m\n['hh:mm\\nMM-dd', ONE_MINUTE * 30], // 30m\n['hh:mm\\nMM-dd', ONE_HOUR], // 1h\n['hh:mm\\nMM-dd', ONE_HOUR * 2], // 2h\n['hh:mm\\nMM-dd', ONE_HOUR * 6], // 6h\n['hh:mm\\nMM-dd', ONE_HOUR * 12], // 12h\n['MM-dd\\nyyyy', ONE_DAY], // 1d\n['MM-dd\\nyyyy', ONE_DAY * 2], // 2d\n['MM-dd\\nyyyy', ONE_DAY * 3], // 3d\n['MM-dd\\nyyyy', ONE_DAY * 4], // 4d\n['MM-dd\\nyyyy', ONE_DAY * 5], // 5d\n['MM-dd\\nyyyy', ONE_DAY * 6], // 6d\n['week', ONE_DAY * 7], // 7d\n['MM-dd\\nyyyy', ONE_DAY * 10], // 10d\n['week', ONE_DAY * 14], // 2w\n['week', ONE_DAY * 21], // 3w\n['month', ONE_DAY * 31], // 1M\n['week', ONE_DAY * 42], // 6w\n['month', ONE_DAY * 62], // 2M\n['week', ONE_DAY * 70], // 10w\n['quarter', ONE_DAY * 95], // 3M\n['month', ONE_DAY * 31 * 4], // 4M\n['month', ONE_DAY * 31 * 5], // 5M\n['half-year', ONE_DAY * 380 / 2], // 6M\n['month', ONE_DAY * 31 * 8], // 8M\n['month', ONE_DAY * 31 * 10], // 10M\n['year', ONE_DAY * 380] // 1Y\n];\n/**\n * @param {module:echarts/model/Model}\n * @return {module:echarts/scale/Time}\n */\n\nTimeScale.create = function (model) {\n return new TimeScale({\n useUTC: model.ecModel.get('useUTC')\n });\n};\n\nvar _default = TimeScale;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar createListFromArray = require(\"../helper/createListFromArray\");\n\nvar SeriesModel = require(\"../../model/Series\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = SeriesModel.extend({\n type: 'series.line',\n dependencies: ['grid', 'polar'],\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this);\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n hoverAnimation: true,\n // stack: null\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // polarIndex: 0,\n // If clip the overflow value\n clipOverflow: true,\n // cursor: null,\n label: {\n position: 'top'\n },\n // itemStyle: {\n // },\n lineStyle: {\n width: 2,\n type: 'solid'\n },\n // areaStyle: {\n // origin of areaStyle. Valid values:\n // `'auto'/null/undefined`: from axisLine to data\n // `'start'`: from min to data\n // `'end'`: from data to max\n // origin: 'auto'\n // },\n // false, 'start', 'end', 'middle'\n step: false,\n // Disabled if step is true\n smooth: false,\n smoothMonotone: null,\n symbol: 'emptyCircle',\n symbolSize: 4,\n symbolRotate: null,\n showSymbol: true,\n // `false`: follow the label interval strategy.\n // `true`: show all symbols.\n // `'auto'`: If possible, show all symbols, otherwise\n // follow the label interval strategy.\n showAllSymbol: 'auto',\n // Whether to connect break point.\n connectNulls: false,\n // Sampling for large data. Can be: 'average', 'max', 'min', 'sum'.\n sampling: 'none',\n animationEasing: 'linear',\n // Disable progressive\n progressive: 0,\n hoverLayerThreshold: Infinity\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Component = require(\"../../model/Component\");\n\nrequire(\"./AxisModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = Component.extend({\n type: 'parallel',\n dependencies: ['parallelAxis'],\n\n /**\n * @type {module:echarts/coord/parallel/Parallel}\n */\n coordinateSystem: null,\n\n /**\n * Each item like: 'dim0', 'dim1', 'dim2', ...\n * @type {Array.}\n * @readOnly\n */\n dimensions: null,\n\n /**\n * Coresponding to dimensions.\n * @type {Array.}\n * @readOnly\n */\n parallelAxisIndex: null,\n layoutMode: 'box',\n defaultOption: {\n zlevel: 0,\n z: 0,\n left: 80,\n top: 60,\n right: 80,\n bottom: 60,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n layout: 'horizontal',\n // 'horizontal' or 'vertical'\n // FIXME\n // naming?\n axisExpandable: false,\n axisExpandCenter: null,\n axisExpandCount: 0,\n axisExpandWidth: 50,\n // FIXME '10%' ?\n axisExpandRate: 17,\n axisExpandDebounce: 50,\n // [out, in, jumpTarget]. In percentage. If use [null, 0.05], null means full.\n // Do not doc to user until necessary.\n axisExpandSlideTriggerArea: [-0.15, 0.05, 0.4],\n axisExpandTriggerOn: 'click',\n // 'mousemove' or 'click'\n parallelAxisDefault: null\n },\n\n /**\n * @override\n */\n init: function () {\n Component.prototype.init.apply(this, arguments);\n this.mergeOption({});\n },\n\n /**\n * @override\n */\n mergeOption: function (newOption) {\n var thisOption = this.option;\n newOption && zrUtil.merge(thisOption, newOption, true);\n\n this._initDimensions();\n },\n\n /**\n * Whether series or axis is in this coordinate system.\n * @param {module:echarts/model/Series|module:echarts/coord/parallel/AxisModel} model\n * @param {module:echarts/model/Global} ecModel\n */\n contains: function (model, ecModel) {\n var parallelIndex = model.get('parallelIndex');\n return parallelIndex != null && ecModel.getComponent('parallel', parallelIndex) === this;\n },\n setAxisExpand: function (opt) {\n zrUtil.each(['axisExpandable', 'axisExpandCenter', 'axisExpandCount', 'axisExpandWidth', 'axisExpandWindow'], function (name) {\n if (opt.hasOwnProperty(name)) {\n this.option[name] = opt[name];\n }\n }, this);\n },\n\n /**\n * @private\n */\n _initDimensions: function () {\n var dimensions = this.dimensions = [];\n var parallelAxisIndex = this.parallelAxisIndex = [];\n var axisModels = zrUtil.filter(this.dependentModels.parallelAxis, function (axisModel) {\n // Can not use this.contains here, because\n // initialization has not been completed yet.\n return (axisModel.get('parallelIndex') || 0) === this.componentIndex;\n }, this);\n zrUtil.each(axisModels, function (axisModel) {\n dimensions.push('dim' + axisModel.get('dim'));\n parallelAxisIndex.push(axisModel.componentIndex);\n });\n }\n});\n\nmodule.exports = _default;","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar aFunction = require('../internals/a-function');\nvar toLength = require('../internals/to-length');\nvar internalSort = require('../internals/array-sort');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar nativeSort = Uint16Array && Uint16Array.prototype.sort;\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !fails(function () {\n var array = new Uint16Array(2);\n array.sort(null);\n array.sort({});\n});\n\nvar STABLE_SORT = !!nativeSort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n array.sort(function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n var array = this;\n if (comparefn !== undefined) aFunction(comparefn);\n if (STABLE_SORT) return nativeSort.call(array, comparefn);\n\n aTypedArray(array);\n var arrayLength = toLength(array.length);\n var items = Array(arrayLength);\n var index;\n\n for (index = 0; index < arrayLength; index++) {\n items[index] = array[index];\n }\n\n items = internalSort(array, getSortCompare(comparefn));\n\n for (index = 0; index < arrayLength; index++) {\n array[index] = items[index];\n }\n\n return array;\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","/**\n * echarts设备环境识别\n *\n * @desc echarts基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据统计图表。\n * @author firede[firede@firede.us]\n * @desc thanks zepto.\n */\nvar env = {};\n\nif (typeof wx === 'object' && typeof wx.getSystemInfoSync === 'function') {\n // In Weixin Application\n env = {\n browser: {},\n os: {},\n node: false,\n wxa: true,\n // Weixin Application\n canvasSupported: true,\n svgSupported: false,\n touchEventsSupported: true,\n domSupported: false\n };\n} else if (typeof document === 'undefined' && typeof self !== 'undefined') {\n // In worker\n env = {\n browser: {},\n os: {},\n node: false,\n worker: true,\n canvasSupported: true,\n domSupported: false\n };\n} else if (typeof navigator === 'undefined') {\n // In node\n env = {\n browser: {},\n os: {},\n node: true,\n worker: false,\n // Assume canvas is supported\n canvasSupported: true,\n svgSupported: true,\n domSupported: false\n };\n} else {\n env = detect(navigator.userAgent);\n}\n\nvar _default = env; // Zepto.js\n// (c) 2010-2013 Thomas Fuchs\n// Zepto.js may be freely distributed under the MIT license.\n\nfunction detect(ua) {\n var os = {};\n var browser = {}; // var webkit = ua.match(/Web[kK]it[\\/]{0,1}([\\d.]+)/);\n // var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/);\n // var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n // var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n // var iphone = !ipad && ua.match(/(iPhone\\sOS)\\s([\\d_]+)/);\n // var webos = ua.match(/(webOS|hpwOS)[\\s\\/]([\\d.]+)/);\n // var touchpad = webos && ua.match(/TouchPad/);\n // var kindle = ua.match(/Kindle\\/([\\d.]+)/);\n // var silk = ua.match(/Silk\\/([\\d._]+)/);\n // var blackberry = ua.match(/(BlackBerry).*Version\\/([\\d.]+)/);\n // var bb10 = ua.match(/(BB10).*Version\\/([\\d.]+)/);\n // var rimtabletos = ua.match(/(RIM\\sTablet\\sOS)\\s([\\d.]+)/);\n // var playbook = ua.match(/PlayBook/);\n // var chrome = ua.match(/Chrome\\/([\\d.]+)/) || ua.match(/CriOS\\/([\\d.]+)/);\n\n var firefox = ua.match(/Firefox\\/([\\d.]+)/); // var safari = webkit && ua.match(/Mobile\\//) && !chrome;\n // var webview = ua.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/) && !chrome;\n\n var ie = ua.match(/MSIE\\s([\\d.]+)/) // IE 11 Trident/7.0; rv:11.0\n || ua.match(/Trident\\/.+?rv:(([\\d.]+))/);\n var edge = ua.match(/Edge\\/([\\d.]+)/); // IE 12 and 12+\n\n var weChat = /micromessenger/i.test(ua); // Todo: clean this up with a better OS/browser seperation:\n // - discern (more) between multiple browsers on android\n // - decide if kindle fire in silk mode is android or not\n // - Firefox on Android doesn't specify the Android version\n // - possibly devide in os, device and browser hashes\n // if (browser.webkit = !!webkit) browser.version = webkit[1];\n // if (android) os.android = true, os.version = android[2];\n // if (iphone && !ipod) os.ios = os.iphone = true, os.version = iphone[2].replace(/_/g, '.');\n // if (ipad) os.ios = os.ipad = true, os.version = ipad[2].replace(/_/g, '.');\n // if (ipod) os.ios = os.ipod = true, os.version = ipod[3] ? ipod[3].replace(/_/g, '.') : null;\n // if (webos) os.webos = true, os.version = webos[2];\n // if (touchpad) os.touchpad = true;\n // if (blackberry) os.blackberry = true, os.version = blackberry[2];\n // if (bb10) os.bb10 = true, os.version = bb10[2];\n // if (rimtabletos) os.rimtabletos = true, os.version = rimtabletos[2];\n // if (playbook) browser.playbook = true;\n // if (kindle) os.kindle = true, os.version = kindle[1];\n // if (silk) browser.silk = true, browser.version = silk[1];\n // if (!silk && os.android && ua.match(/Kindle Fire/)) browser.silk = true;\n // if (chrome) browser.chrome = true, browser.version = chrome[1];\n\n if (firefox) {\n browser.firefox = true;\n browser.version = firefox[1];\n } // if (safari && (ua.match(/Safari/) || !!os.ios)) browser.safari = true;\n // if (webview) browser.webview = true;\n\n\n if (ie) {\n browser.ie = true;\n browser.version = ie[1];\n }\n\n if (edge) {\n browser.edge = true;\n browser.version = edge[1];\n } // It is difficult to detect WeChat in Win Phone precisely, because ua can\n // not be set on win phone. So we do not consider Win Phone.\n\n\n if (weChat) {\n browser.weChat = true;\n } // os.tablet = !!(ipad || playbook || (android && !ua.match(/Mobile/)) ||\n // (firefox && ua.match(/Tablet/)) || (ie && !ua.match(/Phone/) && ua.match(/Touch/)));\n // os.phone = !!(!os.tablet && !os.ipod && (android || iphone || webos ||\n // (chrome && ua.match(/Android/)) || (chrome && ua.match(/CriOS\\/([\\d.]+)/)) ||\n // (firefox && ua.match(/Mobile/)) || (ie && ua.match(/Touch/))));\n\n\n return {\n browser: browser,\n os: os,\n node: false,\n // 原生canvas支持,改极端点了\n // canvasSupported : !(browser.ie && parseFloat(browser.version) < 9)\n canvasSupported: !!document.createElement('canvas').getContext,\n svgSupported: typeof SVGRect !== 'undefined',\n // works on most browsers\n // IE10/11 does not support touch event, and MS Edge supports them but not by\n // default, so we dont check navigator.maxTouchPoints for them here.\n touchEventsSupported: 'ontouchstart' in window && !browser.ie && !browser.edge,\n // .\n pointerEventsSupported: 'onpointerdown' in window // Firefox supports pointer but not by default, only MS browsers are reliable on pointer\n // events currently. So we dont use that on other browsers unless tested sufficiently.\n // Although IE 10 supports pointer event, it use old style and is different from the\n // standard. So we exclude that. (IE 10 is hardly used on touch device)\n && (browser.edge || browser.ie && browser.version >= 11),\n // passiveSupported: detectPassiveSupport()\n domSupported: typeof document !== 'undefined'\n };\n} // See https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md#feature-detection\n// function detectPassiveSupport() {\n// // Test via a getter in the options object to see if the passive property is accessed\n// var supportsPassive = false;\n// try {\n// var opts = Object.defineProperty({}, 'passive', {\n// get: function() {\n// supportsPassive = true;\n// }\n// });\n// window.addEventListener('testPassive', function() {}, opts);\n// } catch (e) {\n// }\n// return supportsPassive;\n// }\n\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar layout = require(\"../../util/layout\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* A third-party license is embeded for some of the code in this file:\n* The tree layoutHelper implementation was originally copied from\n* \"d3.js\"(https://github.com/d3/d3-hierarchy) with\n* some modifications made for this project.\n* (see more details in the comment of the specific method below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the licence of \"d3.js\" (BSD-3Clause, see\n* ).\n*/\n\n/**\n * @file The layout algorithm of node-link tree diagrams. Here we using Reingold-Tilford algorithm to drawing\n * the tree.\n */\n\n/**\n * Initialize all computational message for following algorithm.\n *\n * @param {module:echarts/data/Tree~TreeNode} root The virtual root of the tree.\n */\nfunction init(root) {\n root.hierNode = {\n defaultAncestor: null,\n ancestor: root,\n prelim: 0,\n modifier: 0,\n change: 0,\n shift: 0,\n i: 0,\n thread: null\n };\n var nodes = [root];\n var node;\n var children;\n\n while (node = nodes.pop()) {\n // jshint ignore:line\n children = node.children;\n\n if (node.isExpand && children.length) {\n var n = children.length;\n\n for (var i = n - 1; i >= 0; i--) {\n var child = children[i];\n child.hierNode = {\n defaultAncestor: null,\n ancestor: child,\n prelim: 0,\n modifier: 0,\n change: 0,\n shift: 0,\n i: i,\n thread: null\n };\n nodes.push(child);\n }\n }\n }\n}\n/**\n * The implementation of this function was originally copied from \"d3.js\"\n * \n * with some modifications made for this program.\n * See the license statement at the head of this file.\n *\n * Computes a preliminary x coordinate for node. Before that, this function is\n * applied recursively to the children of node, as well as the function\n * apportion(). After spacing out the children by calling executeShifts(), the\n * node is placed to the midpoint of its outermost children.\n *\n * @param {module:echarts/data/Tree~TreeNode} node\n * @param {Function} separation\n */\n\n\nfunction firstWalk(node, separation) {\n var children = node.isExpand ? node.children : [];\n var siblings = node.parentNode.children;\n var subtreeW = node.hierNode.i ? siblings[node.hierNode.i - 1] : null;\n\n if (children.length) {\n executeShifts(node);\n var midPoint = (children[0].hierNode.prelim + children[children.length - 1].hierNode.prelim) / 2;\n\n if (subtreeW) {\n node.hierNode.prelim = subtreeW.hierNode.prelim + separation(node, subtreeW);\n node.hierNode.modifier = node.hierNode.prelim - midPoint;\n } else {\n node.hierNode.prelim = midPoint;\n }\n } else if (subtreeW) {\n node.hierNode.prelim = subtreeW.hierNode.prelim + separation(node, subtreeW);\n }\n\n node.parentNode.hierNode.defaultAncestor = apportion(node, subtreeW, node.parentNode.hierNode.defaultAncestor || siblings[0], separation);\n}\n/**\n * The implementation of this function was originally copied from \"d3.js\"\n * \n * with some modifications made for this program.\n * See the license statement at the head of this file.\n *\n * Computes all real x-coordinates by summing up the modifiers recursively.\n *\n * @param {module:echarts/data/Tree~TreeNode} node\n */\n\n\nfunction secondWalk(node) {\n var nodeX = node.hierNode.prelim + node.parentNode.hierNode.modifier;\n node.setLayout({\n x: nodeX\n }, true);\n node.hierNode.modifier += node.parentNode.hierNode.modifier;\n}\n\nfunction separation(cb) {\n return arguments.length ? cb : defaultSeparation;\n}\n/**\n * Transform the common coordinate to radial coordinate.\n *\n * @param {number} x\n * @param {number} y\n * @return {Object}\n */\n\n\nfunction radialCoordinate(x, y) {\n var radialCoor = {};\n x -= Math.PI / 2;\n radialCoor.x = y * Math.cos(x);\n radialCoor.y = y * Math.sin(x);\n return radialCoor;\n}\n/**\n * Get the layout position of the whole view.\n *\n * @param {module:echarts/model/Series} seriesModel the model object of sankey series\n * @param {module:echarts/ExtensionAPI} api provide the API list that the developer can call\n * @return {module:zrender/core/BoundingRect} size of rect to draw the sankey view\n */\n\n\nfunction getViewRect(seriesModel, api) {\n return layout.getLayoutRect(seriesModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n}\n/**\n * All other shifts, applied to the smaller subtrees between w- and w+, are\n * performed by this function.\n *\n * The implementation of this function was originally copied from \"d3.js\"\n * \n * with some modifications made for this program.\n * See the license statement at the head of this file.\n *\n * @param {module:echarts/data/Tree~TreeNode} node\n */\n\n\nfunction executeShifts(node) {\n var children = node.children;\n var n = children.length;\n var shift = 0;\n var change = 0;\n\n while (--n >= 0) {\n var child = children[n];\n child.hierNode.prelim += shift;\n child.hierNode.modifier += shift;\n change += child.hierNode.change;\n shift += child.hierNode.shift + change;\n }\n}\n/**\n * The implementation of this function was originally copied from \"d3.js\"\n * \n * with some modifications made for this program.\n * See the license statement at the head of this file.\n *\n * The core of the algorithm. Here, a new subtree is combined with the\n * previous subtrees. Threads are used to traverse the inside and outside\n * contours of the left and right subtree up to the highest common level.\n * Whenever two nodes of the inside contours conflict, we compute the left\n * one of the greatest uncommon ancestors using the function nextAncestor()\n * and call moveSubtree() to shift the subtree and prepare the shifts of\n * smaller subtrees. Finally, we add a new thread (if necessary).\n *\n * @param {module:echarts/data/Tree~TreeNode} subtreeV\n * @param {module:echarts/data/Tree~TreeNode} subtreeW\n * @param {module:echarts/data/Tree~TreeNode} ancestor\n * @param {Function} separation\n * @return {module:echarts/data/Tree~TreeNode}\n */\n\n\nfunction apportion(subtreeV, subtreeW, ancestor, separation) {\n if (subtreeW) {\n var nodeOutRight = subtreeV;\n var nodeInRight = subtreeV;\n var nodeOutLeft = nodeInRight.parentNode.children[0];\n var nodeInLeft = subtreeW;\n var sumOutRight = nodeOutRight.hierNode.modifier;\n var sumInRight = nodeInRight.hierNode.modifier;\n var sumOutLeft = nodeOutLeft.hierNode.modifier;\n var sumInLeft = nodeInLeft.hierNode.modifier;\n\n while (nodeInLeft = nextRight(nodeInLeft), nodeInRight = nextLeft(nodeInRight), nodeInLeft && nodeInRight) {\n nodeOutRight = nextRight(nodeOutRight);\n nodeOutLeft = nextLeft(nodeOutLeft);\n nodeOutRight.hierNode.ancestor = subtreeV;\n var shift = nodeInLeft.hierNode.prelim + sumInLeft - nodeInRight.hierNode.prelim - sumInRight + separation(nodeInLeft, nodeInRight);\n\n if (shift > 0) {\n moveSubtree(nextAncestor(nodeInLeft, subtreeV, ancestor), subtreeV, shift);\n sumInRight += shift;\n sumOutRight += shift;\n }\n\n sumInLeft += nodeInLeft.hierNode.modifier;\n sumInRight += nodeInRight.hierNode.modifier;\n sumOutRight += nodeOutRight.hierNode.modifier;\n sumOutLeft += nodeOutLeft.hierNode.modifier;\n }\n\n if (nodeInLeft && !nextRight(nodeOutRight)) {\n nodeOutRight.hierNode.thread = nodeInLeft;\n nodeOutRight.hierNode.modifier += sumInLeft - sumOutRight;\n }\n\n if (nodeInRight && !nextLeft(nodeOutLeft)) {\n nodeOutLeft.hierNode.thread = nodeInRight;\n nodeOutLeft.hierNode.modifier += sumInRight - sumOutLeft;\n ancestor = subtreeV;\n }\n }\n\n return ancestor;\n}\n/**\n * This function is used to traverse the right contour of a subtree.\n * It returns the rightmost child of node or the thread of node. The function\n * returns null if and only if node is on the highest depth of its subtree.\n *\n * @param {module:echarts/data/Tree~TreeNode} node\n * @return {module:echarts/data/Tree~TreeNode}\n */\n\n\nfunction nextRight(node) {\n var children = node.children;\n return children.length && node.isExpand ? children[children.length - 1] : node.hierNode.thread;\n}\n/**\n * This function is used to traverse the left contour of a subtree (or a subforest).\n * It returns the leftmost child of node or the thread of node. The function\n * returns null if and only if node is on the highest depth of its subtree.\n *\n * @param {module:echarts/data/Tree~TreeNode} node\n * @return {module:echarts/data/Tree~TreeNode}\n */\n\n\nfunction nextLeft(node) {\n var children = node.children;\n return children.length && node.isExpand ? children[0] : node.hierNode.thread;\n}\n/**\n * If nodeInLeft’s ancestor is a sibling of node, returns nodeInLeft’s ancestor.\n * Otherwise, returns the specified ancestor.\n *\n * @param {module:echarts/data/Tree~TreeNode} nodeInLeft\n * @param {module:echarts/data/Tree~TreeNode} node\n * @param {module:echarts/data/Tree~TreeNode} ancestor\n * @return {module:echarts/data/Tree~TreeNode}\n */\n\n\nfunction nextAncestor(nodeInLeft, node, ancestor) {\n return nodeInLeft.hierNode.ancestor.parentNode === node.parentNode ? nodeInLeft.hierNode.ancestor : ancestor;\n}\n/**\n * The implementation of this function was originally copied from \"d3.js\"\n * \n * with some modifications made for this program.\n * See the license statement at the head of this file.\n *\n * Shifts the current subtree rooted at wr.\n * This is done by increasing prelim(w+) and modifier(w+) by shift.\n *\n * @param {module:echarts/data/Tree~TreeNode} wl\n * @param {module:echarts/data/Tree~TreeNode} wr\n * @param {number} shift [description]\n */\n\n\nfunction moveSubtree(wl, wr, shift) {\n var change = shift / (wr.hierNode.i - wl.hierNode.i);\n wr.hierNode.change -= change;\n wr.hierNode.shift += shift;\n wr.hierNode.modifier += shift;\n wr.hierNode.prelim += shift;\n wl.hierNode.change += change;\n}\n/**\n * The implementation of this function was originally copied from \"d3.js\"\n * \n * with some modifications made for this program.\n * See the license statement at the head of this file.\n */\n\n\nfunction defaultSeparation(node1, node2) {\n return node1.parentNode === node2.parentNode ? 1 : 2;\n}\n\nexports.init = init;\nexports.firstWalk = firstWalk;\nexports.secondWalk = secondWalk;\nexports.separation = separation;\nexports.radialCoordinate = radialCoordinate;\nexports.getViewRect = getViewRect;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar pathTool = require(\"zrender/lib/tool/path\");\n\nvar colorTool = require(\"zrender/lib/tool/color\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar vector = require(\"zrender/lib/core/vector\");\n\nvar Path = require(\"zrender/lib/graphic/Path\");\n\nvar Transformable = require(\"zrender/lib/mixin/Transformable\");\n\nvar ZImage = require(\"zrender/lib/graphic/Image\");\n\nexports.Image = ZImage;\n\nvar Group = require(\"zrender/lib/container/Group\");\n\nexports.Group = Group;\n\nvar Text = require(\"zrender/lib/graphic/Text\");\n\nexports.Text = Text;\n\nvar Circle = require(\"zrender/lib/graphic/shape/Circle\");\n\nexports.Circle = Circle;\n\nvar Sector = require(\"zrender/lib/graphic/shape/Sector\");\n\nexports.Sector = Sector;\n\nvar Ring = require(\"zrender/lib/graphic/shape/Ring\");\n\nexports.Ring = Ring;\n\nvar Polygon = require(\"zrender/lib/graphic/shape/Polygon\");\n\nexports.Polygon = Polygon;\n\nvar Polyline = require(\"zrender/lib/graphic/shape/Polyline\");\n\nexports.Polyline = Polyline;\n\nvar Rect = require(\"zrender/lib/graphic/shape/Rect\");\n\nexports.Rect = Rect;\n\nvar Line = require(\"zrender/lib/graphic/shape/Line\");\n\nexports.Line = Line;\n\nvar BezierCurve = require(\"zrender/lib/graphic/shape/BezierCurve\");\n\nexports.BezierCurve = BezierCurve;\n\nvar Arc = require(\"zrender/lib/graphic/shape/Arc\");\n\nexports.Arc = Arc;\n\nvar CompoundPath = require(\"zrender/lib/graphic/CompoundPath\");\n\nexports.CompoundPath = CompoundPath;\n\nvar LinearGradient = require(\"zrender/lib/graphic/LinearGradient\");\n\nexports.LinearGradient = LinearGradient;\n\nvar RadialGradient = require(\"zrender/lib/graphic/RadialGradient\");\n\nexports.RadialGradient = RadialGradient;\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nexports.BoundingRect = BoundingRect;\n\nvar IncrementalDisplayable = require(\"zrender/lib/graphic/IncrementalDisplayable\");\n\nexports.IncrementalDisplayable = IncrementalDisplayable;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar round = Math.round;\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nvar EMPTY_OBJ = {};\nvar Z2_EMPHASIS_LIFT = 1;\n/**\n * Extend shape with parameters\n */\n\nfunction extendShape(opts) {\n return Path.extend(opts);\n}\n/**\n * Extend path\n */\n\n\nfunction extendPath(pathData, opts) {\n return pathTool.extendFromString(pathData, opts);\n}\n/**\n * Create a path element from path data string\n * @param {string} pathData\n * @param {Object} opts\n * @param {module:zrender/core/BoundingRect} rect\n * @param {string} [layout=cover] 'center' or 'cover'\n */\n\n\nfunction makePath(pathData, opts, rect, layout) {\n var path = pathTool.createFromString(pathData, opts);\n\n if (rect) {\n if (layout === 'center') {\n rect = centerGraphic(rect, path.getBoundingRect());\n }\n\n resizePath(path, rect);\n }\n\n return path;\n}\n/**\n * Create a image element from image url\n * @param {string} imageUrl image url\n * @param {Object} opts options\n * @param {module:zrender/core/BoundingRect} rect constrain rect\n * @param {string} [layout=cover] 'center' or 'cover'\n */\n\n\nfunction makeImage(imageUrl, rect, layout) {\n var path = new ZImage({\n style: {\n image: imageUrl,\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n },\n onload: function (img) {\n if (layout === 'center') {\n var boundingRect = {\n width: img.width,\n height: img.height\n };\n path.setStyle(centerGraphic(rect, boundingRect));\n }\n }\n });\n return path;\n}\n/**\n * Get position of centered element in bounding box.\n *\n * @param {Object} rect element local bounding box\n * @param {Object} boundingRect constraint bounding box\n * @return {Object} element position containing x, y, width, and height\n */\n\n\nfunction centerGraphic(rect, boundingRect) {\n // Set rect to center, keep width / height ratio.\n var aspect = boundingRect.width / boundingRect.height;\n var width = rect.height * aspect;\n var height;\n\n if (width <= rect.width) {\n height = rect.height;\n } else {\n width = rect.width;\n height = width / aspect;\n }\n\n var cx = rect.x + rect.width / 2;\n var cy = rect.y + rect.height / 2;\n return {\n x: cx - width / 2,\n y: cy - height / 2,\n width: width,\n height: height\n };\n}\n\nvar mergePath = pathTool.mergePath;\n/**\n * Resize a path to fit the rect\n * @param {module:zrender/graphic/Path} path\n * @param {Object} rect\n */\n\nfunction resizePath(path, rect) {\n if (!path.applyTransform) {\n return;\n }\n\n var pathRect = path.getBoundingRect();\n var m = pathRect.calculateTransform(rect);\n path.applyTransform(m);\n}\n/**\n * Sub pixel optimize line for canvas\n *\n * @param {Object} param\n * @param {Object} [param.shape]\n * @param {number} [param.shape.x1]\n * @param {number} [param.shape.y1]\n * @param {number} [param.shape.x2]\n * @param {number} [param.shape.y2]\n * @param {Object} [param.style]\n * @param {number} [param.style.lineWidth]\n * @return {Object} Modified param\n */\n\n\nfunction subPixelOptimizeLine(param) {\n var shape = param.shape;\n var lineWidth = param.style.lineWidth;\n\n if (round(shape.x1 * 2) === round(shape.x2 * 2)) {\n shape.x1 = shape.x2 = subPixelOptimize(shape.x1, lineWidth, true);\n }\n\n if (round(shape.y1 * 2) === round(shape.y2 * 2)) {\n shape.y1 = shape.y2 = subPixelOptimize(shape.y1, lineWidth, true);\n }\n\n return param;\n}\n/**\n * Sub pixel optimize rect for canvas\n *\n * @param {Object} param\n * @param {Object} [param.shape]\n * @param {number} [param.shape.x]\n * @param {number} [param.shape.y]\n * @param {number} [param.shape.width]\n * @param {number} [param.shape.height]\n * @param {Object} [param.style]\n * @param {number} [param.style.lineWidth]\n * @return {Object} Modified param\n */\n\n\nfunction subPixelOptimizeRect(param) {\n var shape = param.shape;\n var lineWidth = param.style.lineWidth;\n var originX = shape.x;\n var originY = shape.y;\n var originWidth = shape.width;\n var originHeight = shape.height;\n shape.x = subPixelOptimize(shape.x, lineWidth, true);\n shape.y = subPixelOptimize(shape.y, lineWidth, true);\n shape.width = Math.max(subPixelOptimize(originX + originWidth, lineWidth, false) - shape.x, originWidth === 0 ? 0 : 1);\n shape.height = Math.max(subPixelOptimize(originY + originHeight, lineWidth, false) - shape.y, originHeight === 0 ? 0 : 1);\n return param;\n}\n/**\n * Sub pixel optimize for canvas\n *\n * @param {number} position Coordinate, such as x, y\n * @param {number} lineWidth Should be nonnegative integer.\n * @param {boolean=} positiveOrNegative Default false (negative).\n * @return {number} Optimized position.\n */\n\n\nfunction subPixelOptimize(position, lineWidth, positiveOrNegative) {\n // Assure that (position + lineWidth / 2) is near integer edge,\n // otherwise line will be fuzzy in canvas.\n var doubledPosition = round(position * 2);\n return (doubledPosition + round(lineWidth)) % 2 === 0 ? doubledPosition / 2 : (doubledPosition + (positiveOrNegative ? 1 : -1)) / 2;\n}\n\nfunction hasFillOrStroke(fillOrStroke) {\n return fillOrStroke != null && fillOrStroke !== 'none';\n} // Most lifted color are duplicated.\n\n\nvar liftedColorMap = zrUtil.createHashMap();\nvar liftedColorCount = 0;\n\nfunction liftColor(color) {\n if (typeof color !== 'string') {\n return color;\n }\n\n var liftedColor = liftedColorMap.get(color);\n\n if (!liftedColor) {\n liftedColor = colorTool.lift(color, -0.1);\n\n if (liftedColorCount < 10000) {\n liftedColorMap.set(color, liftedColor);\n liftedColorCount++;\n }\n }\n\n return liftedColor;\n}\n\nfunction cacheElementStl(el) {\n if (!el.__hoverStlDirty) {\n return;\n }\n\n el.__hoverStlDirty = false;\n var hoverStyle = el.__hoverStl;\n\n if (!hoverStyle) {\n el.__cachedNormalStl = el.__cachedNormalZ2 = null;\n return;\n }\n\n var normalStyle = el.__cachedNormalStl = {};\n el.__cachedNormalZ2 = el.z2;\n var elStyle = el.style;\n\n for (var name in hoverStyle) {\n // See comment in `doSingleEnterHover`.\n if (hoverStyle[name] != null) {\n normalStyle[name] = elStyle[name];\n }\n } // Always cache fill and stroke to normalStyle for lifting color.\n\n\n normalStyle.fill = elStyle.fill;\n normalStyle.stroke = elStyle.stroke;\n}\n\nfunction doSingleEnterHover(el) {\n var hoverStl = el.__hoverStl;\n\n if (!hoverStl || el.__highlighted) {\n return;\n }\n\n var useHoverLayer = el.useHoverLayer;\n el.__highlighted = useHoverLayer ? 'layer' : 'plain';\n var zr = el.__zr;\n\n if (!zr && useHoverLayer) {\n return;\n }\n\n var elTarget = el;\n var targetStyle = el.style;\n\n if (useHoverLayer) {\n elTarget = zr.addHover(el);\n targetStyle = elTarget.style;\n }\n\n rollbackDefaultTextStyle(targetStyle);\n\n if (!useHoverLayer) {\n cacheElementStl(elTarget);\n } // styles can be:\n // {\n // label: {\n // show: false,\n // position: 'outside',\n // fontSize: 18\n // },\n // emphasis: {\n // label: {\n // show: true\n // }\n // }\n // },\n // where properties of `emphasis` may not appear in `normal`. We previously use\n // module:echarts/util/model#defaultEmphasis to merge `normal` to `emphasis`.\n // But consider rich text and setOption in merge mode, it is impossible to cover\n // all properties in merge. So we use merge mode when setting style here, where\n // only properties that is not `null/undefined` can be set. The disadventage:\n // null/undefined can not be used to remove style any more in `emphasis`.\n\n\n targetStyle.extendFrom(hoverStl);\n setDefaultHoverFillStroke(targetStyle, hoverStl, 'fill');\n setDefaultHoverFillStroke(targetStyle, hoverStl, 'stroke');\n applyDefaultTextStyle(targetStyle);\n\n if (!useHoverLayer) {\n el.dirty(false);\n el.z2 += Z2_EMPHASIS_LIFT;\n }\n}\n\nfunction setDefaultHoverFillStroke(targetStyle, hoverStyle, prop) {\n if (!hasFillOrStroke(hoverStyle[prop]) && hasFillOrStroke(targetStyle[prop])) {\n targetStyle[prop] = liftColor(targetStyle[prop]);\n }\n}\n\nfunction doSingleLeaveHover(el) {\n var highlighted = el.__highlighted;\n\n if (!highlighted) {\n return;\n }\n\n el.__highlighted = false;\n\n if (highlighted === 'layer') {\n el.__zr && el.__zr.removeHover(el);\n } else if (highlighted) {\n var style = el.style;\n var normalStl = el.__cachedNormalStl;\n\n if (normalStl) {\n rollbackDefaultTextStyle(style); // Consider null/undefined value, should use\n // `setStyle` but not `extendFrom(stl, true)`.\n\n el.setStyle(normalStl);\n applyDefaultTextStyle(style);\n } // `__cachedNormalZ2` will not be reset if calling `setElementHoverStyle`\n // when `el` is on emphasis state. So here by comparing with 1, we try\n // hard to make the bug case rare.\n\n\n var normalZ2 = el.__cachedNormalZ2;\n\n if (normalZ2 != null && el.z2 - normalZ2 === Z2_EMPHASIS_LIFT) {\n el.z2 = normalZ2;\n }\n }\n}\n\nfunction traverseCall(el, method) {\n el.isGroup ? el.traverse(function (child) {\n !child.isGroup && method(child);\n }) : method(el);\n}\n/**\n * Set hover style (namely \"emphasis style\") of element, based on the current\n * style of the given `el`.\n * This method should be called after all of the normal styles have been adopted\n * to the `el`. See the reason on `setHoverStyle`.\n *\n * @param {module:zrender/Element} el Should not be `zrender/container/Group`.\n * @param {Object|boolean} [hoverStl] The specified hover style.\n * If set as `false`, disable the hover style.\n * Similarly, The `el.hoverStyle` can alse be set\n * as `false` to disable the hover style.\n * Otherwise, use the default hover style if not provided.\n * @param {Object} [opt]\n * @param {boolean} [opt.hoverSilentOnTouch=false] See `graphic.setAsHoverStyleTrigger`\n */\n\n\nfunction setElementHoverStyle(el, hoverStl) {\n // For performance consideration, it might be better to make the \"hover style\" only the\n // difference properties from the \"normal style\", but not a entire copy of all styles.\n hoverStl = el.__hoverStl = hoverStl !== false && (hoverStl || {});\n el.__hoverStlDirty = true; // FIXME\n // It is not completely right to save \"normal\"/\"emphasis\" flag on elements.\n // It probably should be saved on `data` of series. Consider the cases:\n // (1) A highlighted elements are moved out of the view port and re-enter\n // again by dataZoom.\n // (2) call `setOption` and replace elements totally when they are highlighted.\n\n if (el.__highlighted) {\n // Consider the case:\n // The styles of a highlighted `el` is being updated. The new \"emphasis style\"\n // should be adapted to the `el`. Notice here new \"normal styles\" should have\n // been set outside and the cached \"normal style\" is out of date.\n el.__cachedNormalStl = null; // Do not clear `__cachedNormalZ2` here, because setting `z2` is not a constraint\n // of this method. In most cases, `z2` is not set and hover style should be able\n // to rollback. Of course, that would bring bug, but only in a rare case, see\n // `doSingleLeaveHover` for details.\n\n doSingleLeaveHover(el);\n doSingleEnterHover(el);\n }\n}\n/**\n * Emphasis (called by API) has higher priority than `mouseover`.\n * When element has been called to be entered emphasis, mouse over\n * should not trigger the highlight effect (for example, animation\n * scale) again, and `mouseout` should not downplay the highlight\n * effect. So the listener of `mouseover` and `mouseout` should\n * check `isInEmphasis`.\n *\n * @param {module:zrender/Element} el\n * @return {boolean}\n */\n\n\nfunction isInEmphasis(el) {\n return el && el.__isEmphasisEntered;\n}\n\nfunction onElementMouseOver(e) {\n if (this.__hoverSilentOnTouch && e.zrByTouch) {\n return;\n } // Only if element is not in emphasis status\n\n\n !this.__isEmphasisEntered && traverseCall(this, doSingleEnterHover);\n}\n\nfunction onElementMouseOut(e) {\n if (this.__hoverSilentOnTouch && e.zrByTouch) {\n return;\n } // Only if element is not in emphasis status\n\n\n !this.__isEmphasisEntered && traverseCall(this, doSingleLeaveHover);\n}\n\nfunction enterEmphasis() {\n this.__isEmphasisEntered = true;\n traverseCall(this, doSingleEnterHover);\n}\n\nfunction leaveEmphasis() {\n this.__isEmphasisEntered = false;\n traverseCall(this, doSingleLeaveHover);\n}\n/**\n * Set hover style (namely \"emphasis style\") of element,\n * based on the current style of the given `el`.\n *\n * (1)\n * **CONSTRAINTS** for this method:\n * This method MUST be called after all of the normal styles having been adopted\n * to the `el`.\n * The input `hoverStyle` (that is, \"emphasis style\") MUST be the subset of the\n * \"normal style\" having been set to the el.\n * `color` MUST be one of the \"normal styles\" (because color might be lifted as\n * a default hover style).\n *\n * The reason: this method treat the current style of the `el` as the \"normal style\"\n * and cache them when enter/update the \"emphasis style\". Consider the case: the `el`\n * is in \"emphasis\" state and `setOption`/`dispatchAction` trigger the style updating\n * logic, where the el should shift from the original emphasis style to the new\n * \"emphasis style\" and should be able to \"downplay\" back to the new \"normal style\".\n *\n * Indeed, it is error-prone to make a interface has so many constraints, but I have\n * not found a better solution yet to fit the backward compatibility, performance and\n * the current programming style.\n *\n * (2)\n * Call the method for a \"root\" element once. Do not call it for each descendants.\n * If the descendants elemenets of a group has itself hover style different from the\n * root group, we can simply mount the style on `el.hoverStyle` for them, but should\n * not call this method for them.\n *\n * @param {module:zrender/Element} el\n * @param {Object|boolean} [hoverStyle] See `graphic.setElementHoverStyle`.\n * @param {Object} [opt]\n * @param {boolean} [opt.hoverSilentOnTouch=false] See `graphic.setAsHoverStyleTrigger`.\n */\n\n\nfunction setHoverStyle(el, hoverStyle, opt) {\n el.isGroup ? el.traverse(function (child) {\n // If element has sepcified hoverStyle, then use it instead of given hoverStyle\n // Often used when item group has a label element and it's hoverStyle is different\n !child.isGroup && setElementHoverStyle(child, child.hoverStyle || hoverStyle);\n }) : setElementHoverStyle(el, el.hoverStyle || hoverStyle);\n setAsHoverStyleTrigger(el, opt);\n}\n/**\n * @param {Object|boolean} [opt] If `false`, means disable trigger.\n * @param {boolean} [opt.hoverSilentOnTouch=false]\n * In touch device, mouseover event will be trigger on touchstart event\n * (see module:zrender/dom/HandlerProxy). By this mechanism, we can\n * conveniently use hoverStyle when tap on touch screen without additional\n * code for compatibility.\n * But if the chart/component has select feature, which usually also use\n * hoverStyle, there might be conflict between 'select-highlight' and\n * 'hover-highlight' especially when roam is enabled (see geo for example).\n * In this case, hoverSilentOnTouch should be used to disable hover-highlight\n * on touch device.\n */\n\n\nfunction setAsHoverStyleTrigger(el, opt) {\n var disable = opt === false;\n el.__hoverSilentOnTouch = opt != null && opt.hoverSilentOnTouch; // Simple optimize, since this method might be\n // called for each elements of a group in some cases.\n\n if (!disable || el.__hoverStyleTrigger) {\n var method = disable ? 'off' : 'on'; // Duplicated function will be auto-ignored, see Eventful.js.\n\n el[method]('mouseover', onElementMouseOver)[method]('mouseout', onElementMouseOut); // Emphasis, normal can be triggered manually\n\n el[method]('emphasis', enterEmphasis)[method]('normal', leaveEmphasis);\n el.__hoverStyleTrigger = !disable;\n }\n}\n/**\n * See more info in `setTextStyleCommon`.\n * @param {Object|module:zrender/graphic/Style} normalStyle\n * @param {Object} emphasisStyle\n * @param {module:echarts/model/Model} normalModel\n * @param {module:echarts/model/Model} emphasisModel\n * @param {Object} opt Check `opt` of `setTextStyleCommon` to find other props.\n * @param {string|Function} [opt.defaultText]\n * @param {module:echarts/model/Model} [opt.labelFetcher] Fetch text by\n * `opt.labelFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex)`\n * @param {module:echarts/model/Model} [opt.labelDataIndex] Fetch text by\n * `opt.textFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex)`\n * @param {module:echarts/model/Model} [opt.labelDimIndex] Fetch text by\n * `opt.textFetcher.getFormattedLabel(opt.labelDataIndex, 'normal'/'emphasis', null, opt.labelDimIndex)`\n * @param {Object} [normalSpecified]\n * @param {Object} [emphasisSpecified]\n */\n\n\nfunction setLabelStyle(normalStyle, emphasisStyle, normalModel, emphasisModel, opt, normalSpecified, emphasisSpecified) {\n opt = opt || EMPTY_OBJ;\n var labelFetcher = opt.labelFetcher;\n var labelDataIndex = opt.labelDataIndex;\n var labelDimIndex = opt.labelDimIndex; // This scenario, `label.normal.show = true; label.emphasis.show = false`,\n // is not supported util someone requests.\n\n var showNormal = normalModel.getShallow('show');\n var showEmphasis = emphasisModel.getShallow('show'); // Consider performance, only fetch label when necessary.\n // If `normal.show` is `false` and `emphasis.show` is `true` and `emphasis.formatter` is not set,\n // label should be displayed, where text is fetched by `normal.formatter` or `opt.defaultText`.\n\n var baseText;\n\n if (showNormal || showEmphasis) {\n if (labelFetcher) {\n baseText = labelFetcher.getFormattedLabel(labelDataIndex, 'normal', null, labelDimIndex);\n }\n\n if (baseText == null) {\n baseText = zrUtil.isFunction(opt.defaultText) ? opt.defaultText(labelDataIndex, opt) : opt.defaultText;\n }\n }\n\n var normalStyleText = showNormal ? baseText : null;\n var emphasisStyleText = showEmphasis ? zrUtil.retrieve2(labelFetcher ? labelFetcher.getFormattedLabel(labelDataIndex, 'emphasis', null, labelDimIndex) : null, baseText) : null; // Optimize: If style.text is null, text will not be drawn.\n\n if (normalStyleText != null || emphasisStyleText != null) {\n // Always set `textStyle` even if `normalStyle.text` is null, because default\n // values have to be set on `normalStyle`.\n // If we set default values on `emphasisStyle`, consider case:\n // Firstly, `setOption(... label: {normal: {text: null}, emphasis: {show: true}} ...);`\n // Secondly, `setOption(... label: {noraml: {show: true, text: 'abc', color: 'red'} ...);`\n // Then the 'red' will not work on emphasis.\n setTextStyle(normalStyle, normalModel, normalSpecified, opt);\n setTextStyle(emphasisStyle, emphasisModel, emphasisSpecified, opt, true);\n }\n\n normalStyle.text = normalStyleText;\n emphasisStyle.text = emphasisStyleText;\n}\n/**\n * Set basic textStyle properties.\n * See more info in `setTextStyleCommon`.\n * @param {Object|module:zrender/graphic/Style} textStyle\n * @param {module:echarts/model/Model} model\n * @param {Object} [specifiedTextStyle] Can be overrided by settings in model.\n * @param {Object} [opt] See `opt` of `setTextStyleCommon`.\n * @param {boolean} [isEmphasis]\n */\n\n\nfunction setTextStyle(textStyle, textStyleModel, specifiedTextStyle, opt, isEmphasis) {\n setTextStyleCommon(textStyle, textStyleModel, opt, isEmphasis);\n specifiedTextStyle && zrUtil.extend(textStyle, specifiedTextStyle); // textStyle.host && textStyle.host.dirty && textStyle.host.dirty(false);\n\n return textStyle;\n}\n/**\n * Set text option in the style.\n * See more info in `setTextStyleCommon`.\n * @deprecated\n * @param {Object} textStyle\n * @param {module:echarts/model/Model} labelModel\n * @param {string|boolean} defaultColor Default text color.\n * If set as false, it will be processed as a emphasis style.\n */\n\n\nfunction setText(textStyle, labelModel, defaultColor) {\n var opt = {\n isRectText: true\n };\n var isEmphasis;\n\n if (defaultColor === false) {\n isEmphasis = true;\n } else {\n // Support setting color as 'auto' to get visual color.\n opt.autoColor = defaultColor;\n }\n\n setTextStyleCommon(textStyle, labelModel, opt, isEmphasis); // textStyle.host && textStyle.host.dirty && textStyle.host.dirty(false);\n}\n/**\n * The uniform entry of set text style, that is, retrieve style definitions\n * from `model` and set to `textStyle` object.\n *\n * Never in merge mode, but in overwrite mode, that is, all of the text style\n * properties will be set. (Consider the states of normal and emphasis and\n * default value can be adopted, merge would make the logic too complicated\n * to manage.)\n *\n * The `textStyle` object can either be a plain object or an instance of\n * `zrender/src/graphic/Style`, and either be the style of normal or emphasis.\n * After this mothod called, the `textStyle` object can then be used in\n * `el.setStyle(textStyle)` or `el.hoverStyle = textStyle`.\n *\n * Default value will be adopted and `insideRollbackOpt` will be created.\n * See `applyDefaultTextStyle` `rollbackDefaultTextStyle` for more details.\n *\n * opt: {\n * disableBox: boolean, Whether diable drawing box of block (outer most).\n * isRectText: boolean,\n * autoColor: string, specify a color when color is 'auto',\n * for textFill, textStroke, textBackgroundColor, and textBorderColor.\n * If autoColor specified, it is used as default textFill.\n * useInsideStyle:\n * `true`: Use inside style (textFill, textStroke, textStrokeWidth)\n * if `textFill` is not specified.\n * `false`: Do not use inside style.\n * `null/undefined`: use inside style if `isRectText` is true and\n * `textFill` is not specified and textPosition contains `'inside'`.\n * forceRich: boolean\n * }\n */\n\n\nfunction setTextStyleCommon(textStyle, textStyleModel, opt, isEmphasis) {\n // Consider there will be abnormal when merge hover style to normal style if given default value.\n opt = opt || EMPTY_OBJ;\n\n if (opt.isRectText) {\n var textPosition = textStyleModel.getShallow('position') || (isEmphasis ? null : 'inside'); // 'outside' is not a valid zr textPostion value, but used\n // in bar series, and magric type should be considered.\n\n textPosition === 'outside' && (textPosition = 'top');\n textStyle.textPosition = textPosition;\n textStyle.textOffset = textStyleModel.getShallow('offset');\n var labelRotate = textStyleModel.getShallow('rotate');\n labelRotate != null && (labelRotate *= Math.PI / 180);\n textStyle.textRotation = labelRotate;\n textStyle.textDistance = zrUtil.retrieve2(textStyleModel.getShallow('distance'), isEmphasis ? null : 5);\n }\n\n var ecModel = textStyleModel.ecModel;\n var globalTextStyle = ecModel && ecModel.option.textStyle; // Consider case:\n // {\n // data: [{\n // value: 12,\n // label: {\n // rich: {\n // // no 'a' here but using parent 'a'.\n // }\n // }\n // }],\n // rich: {\n // a: { ... }\n // }\n // }\n\n var richItemNames = getRichItemNames(textStyleModel);\n var richResult;\n\n if (richItemNames) {\n richResult = {};\n\n for (var name in richItemNames) {\n if (richItemNames.hasOwnProperty(name)) {\n // Cascade is supported in rich.\n var richTextStyle = textStyleModel.getModel(['rich', name]); // In rich, never `disableBox`.\n\n setTokenTextStyle(richResult[name] = {}, richTextStyle, globalTextStyle, opt, isEmphasis);\n }\n }\n }\n\n textStyle.rich = richResult;\n setTokenTextStyle(textStyle, textStyleModel, globalTextStyle, opt, isEmphasis, true);\n\n if (opt.forceRich && !opt.textStyle) {\n opt.textStyle = {};\n }\n\n return textStyle;\n} // Consider case:\n// {\n// data: [{\n// value: 12,\n// label: {\n// rich: {\n// // no 'a' here but using parent 'a'.\n// }\n// }\n// }],\n// rich: {\n// a: { ... }\n// }\n// }\n\n\nfunction getRichItemNames(textStyleModel) {\n // Use object to remove duplicated names.\n var richItemNameMap;\n\n while (textStyleModel && textStyleModel !== textStyleModel.ecModel) {\n var rich = (textStyleModel.option || EMPTY_OBJ).rich;\n\n if (rich) {\n richItemNameMap = richItemNameMap || {};\n\n for (var name in rich) {\n if (rich.hasOwnProperty(name)) {\n richItemNameMap[name] = 1;\n }\n }\n }\n\n textStyleModel = textStyleModel.parentModel;\n }\n\n return richItemNameMap;\n}\n\nfunction setTokenTextStyle(textStyle, textStyleModel, globalTextStyle, opt, isEmphasis, isBlock) {\n // In merge mode, default value should not be given.\n globalTextStyle = !isEmphasis && globalTextStyle || EMPTY_OBJ;\n textStyle.textFill = getAutoColor(textStyleModel.getShallow('color'), opt) || globalTextStyle.color;\n textStyle.textStroke = getAutoColor(textStyleModel.getShallow('textBorderColor'), opt) || globalTextStyle.textBorderColor;\n textStyle.textStrokeWidth = zrUtil.retrieve2(textStyleModel.getShallow('textBorderWidth'), globalTextStyle.textBorderWidth); // Save original textPosition, because style.textPosition will be repalced by\n // real location (like [10, 30]) in zrender.\n\n textStyle.insideRawTextPosition = textStyle.textPosition;\n\n if (!isEmphasis) {\n if (isBlock) {\n textStyle.insideRollbackOpt = opt;\n applyDefaultTextStyle(textStyle);\n } // Set default finally.\n\n\n if (textStyle.textFill == null) {\n textStyle.textFill = opt.autoColor;\n }\n } // Do not use `getFont` here, because merge should be supported, where\n // part of these properties may be changed in emphasis style, and the\n // others should remain their original value got from normal style.\n\n\n textStyle.fontStyle = textStyleModel.getShallow('fontStyle') || globalTextStyle.fontStyle;\n textStyle.fontWeight = textStyleModel.getShallow('fontWeight') || globalTextStyle.fontWeight;\n textStyle.fontSize = textStyleModel.getShallow('fontSize') || globalTextStyle.fontSize;\n textStyle.fontFamily = textStyleModel.getShallow('fontFamily') || globalTextStyle.fontFamily;\n textStyle.textAlign = textStyleModel.getShallow('align');\n textStyle.textVerticalAlign = textStyleModel.getShallow('verticalAlign') || textStyleModel.getShallow('baseline');\n textStyle.textLineHeight = textStyleModel.getShallow('lineHeight');\n textStyle.textWidth = textStyleModel.getShallow('width');\n textStyle.textHeight = textStyleModel.getShallow('height');\n textStyle.textTag = textStyleModel.getShallow('tag');\n\n if (!isBlock || !opt.disableBox) {\n textStyle.textBackgroundColor = getAutoColor(textStyleModel.getShallow('backgroundColor'), opt);\n textStyle.textPadding = textStyleModel.getShallow('padding');\n textStyle.textBorderColor = getAutoColor(textStyleModel.getShallow('borderColor'), opt);\n textStyle.textBorderWidth = textStyleModel.getShallow('borderWidth');\n textStyle.textBorderRadius = textStyleModel.getShallow('borderRadius');\n textStyle.textBoxShadowColor = textStyleModel.getShallow('shadowColor');\n textStyle.textBoxShadowBlur = textStyleModel.getShallow('shadowBlur');\n textStyle.textBoxShadowOffsetX = textStyleModel.getShallow('shadowOffsetX');\n textStyle.textBoxShadowOffsetY = textStyleModel.getShallow('shadowOffsetY');\n }\n\n textStyle.textShadowColor = textStyleModel.getShallow('textShadowColor') || globalTextStyle.textShadowColor;\n textStyle.textShadowBlur = textStyleModel.getShallow('textShadowBlur') || globalTextStyle.textShadowBlur;\n textStyle.textShadowOffsetX = textStyleModel.getShallow('textShadowOffsetX') || globalTextStyle.textShadowOffsetX;\n textStyle.textShadowOffsetY = textStyleModel.getShallow('textShadowOffsetY') || globalTextStyle.textShadowOffsetY;\n}\n\nfunction getAutoColor(color, opt) {\n return color !== 'auto' ? color : opt && opt.autoColor ? opt.autoColor : null;\n}\n/**\n * Give some default value to the input `textStyle` object, based on the current settings\n * in this `textStyle` object.\n *\n * The Scenario:\n * when text position is `inside` and `textFill` is not specified, we show\n * text border by default for better view. But it should be considered that text position\n * might be changed when hovering or being emphasis, where the `insideRollback` is used to\n * restore the style.\n *\n * Usage (& NOTICE):\n * When a style object (eithor plain object or instance of `zrender/src/graphic/Style`) is\n * about to be modified on its text related properties, `rollbackDefaultTextStyle` should\n * be called before the modification and `applyDefaultTextStyle` should be called after that.\n * (For the case that all of the text related properties is reset, like `setTextStyleCommon`\n * does, `rollbackDefaultTextStyle` is not needed to be called).\n */\n\n\nfunction applyDefaultTextStyle(textStyle) {\n var opt = textStyle.insideRollbackOpt; // Only `insideRollbackOpt` created (in `setTextStyleCommon`),\n // applyDefaultTextStyle works.\n\n if (!opt || textStyle.textFill != null) {\n return;\n }\n\n var useInsideStyle = opt.useInsideStyle;\n var textPosition = textStyle.insideRawTextPosition;\n var insideRollback;\n var autoColor = opt.autoColor;\n\n if (useInsideStyle !== false && (useInsideStyle === true || opt.isRectText && textPosition // textPosition can be [10, 30]\n && typeof textPosition === 'string' && textPosition.indexOf('inside') >= 0)) {\n insideRollback = {\n textFill: null,\n textStroke: textStyle.textStroke,\n textStrokeWidth: textStyle.textStrokeWidth\n };\n textStyle.textFill = '#fff'; // Consider text with #fff overflow its container.\n\n if (textStyle.textStroke == null) {\n textStyle.textStroke = autoColor;\n textStyle.textStrokeWidth == null && (textStyle.textStrokeWidth = 2);\n }\n } else if (autoColor != null) {\n insideRollback = {\n textFill: null\n };\n textStyle.textFill = autoColor;\n } // Always set `insideRollback`, for clearing previous.\n\n\n if (insideRollback) {\n textStyle.insideRollback = insideRollback;\n }\n}\n/**\n * Consider the case: in a scatter,\n * label: {\n * normal: {position: 'inside'},\n * emphasis: {position: 'top'}\n * }\n * In the normal state, the `textFill` will be set as '#fff' for pretty view (see\n * `applyDefaultTextStyle`), but when switching to emphasis state, the `textFill`\n * should be retured to 'autoColor', but not keep '#fff'.\n */\n\n\nfunction rollbackDefaultTextStyle(style) {\n var insideRollback = style.insideRollback;\n\n if (insideRollback) {\n style.textFill = insideRollback.textFill;\n style.textStroke = insideRollback.textStroke;\n style.textStrokeWidth = insideRollback.textStrokeWidth;\n style.insideRollback = null;\n }\n}\n\nfunction getFont(opt, ecModel) {\n // ecModel or default text style model.\n var gTextStyleModel = ecModel || ecModel.getModel('textStyle');\n return zrUtil.trim([// FIXME in node-canvas fontWeight is before fontStyle\n opt.fontStyle || gTextStyleModel && gTextStyleModel.getShallow('fontStyle') || '', opt.fontWeight || gTextStyleModel && gTextStyleModel.getShallow('fontWeight') || '', (opt.fontSize || gTextStyleModel && gTextStyleModel.getShallow('fontSize') || 12) + 'px', opt.fontFamily || gTextStyleModel && gTextStyleModel.getShallow('fontFamily') || 'sans-serif'].join(' '));\n}\n\nfunction animateOrSetProps(isUpdate, el, props, animatableModel, dataIndex, cb) {\n if (typeof dataIndex === 'function') {\n cb = dataIndex;\n dataIndex = null;\n } // Do not check 'animation' property directly here. Consider this case:\n // animation model is an `itemModel`, whose does not have `isAnimationEnabled`\n // but its parent model (`seriesModel`) does.\n\n\n var animationEnabled = animatableModel && animatableModel.isAnimationEnabled();\n\n if (animationEnabled) {\n var postfix = isUpdate ? 'Update' : '';\n var duration = animatableModel.getShallow('animationDuration' + postfix);\n var animationEasing = animatableModel.getShallow('animationEasing' + postfix);\n var animationDelay = animatableModel.getShallow('animationDelay' + postfix);\n\n if (typeof animationDelay === 'function') {\n animationDelay = animationDelay(dataIndex, animatableModel.getAnimationDelayParams ? animatableModel.getAnimationDelayParams(el, dataIndex) : null);\n }\n\n if (typeof duration === 'function') {\n duration = duration(dataIndex);\n }\n\n duration > 0 ? el.animateTo(props, duration, animationDelay || 0, animationEasing, cb, !!cb) : (el.stopAnimation(), el.attr(props), cb && cb());\n } else {\n el.stopAnimation();\n el.attr(props);\n cb && cb();\n }\n}\n/**\n * Update graphic element properties with or without animation according to the\n * configuration in series.\n *\n * Caution: this method will stop previous animation.\n * So if do not use this method to one element twice before\n * animation starts, unless you know what you are doing.\n *\n * @param {module:zrender/Element} el\n * @param {Object} props\n * @param {module:echarts/model/Model} [animatableModel]\n * @param {number} [dataIndex]\n * @param {Function} [cb]\n * @example\n * graphic.updateProps(el, {\n * position: [100, 100]\n * }, seriesModel, dataIndex, function () { console.log('Animation done!'); });\n * // Or\n * graphic.updateProps(el, {\n * position: [100, 100]\n * }, seriesModel, function () { console.log('Animation done!'); });\n */\n\n\nfunction updateProps(el, props, animatableModel, dataIndex, cb) {\n animateOrSetProps(true, el, props, animatableModel, dataIndex, cb);\n}\n/**\n * Init graphic element properties with or without animation according to the\n * configuration in series.\n *\n * Caution: this method will stop previous animation.\n * So if do not use this method to one element twice before\n * animation starts, unless you know what you are doing.\n *\n * @param {module:zrender/Element} el\n * @param {Object} props\n * @param {module:echarts/model/Model} [animatableModel]\n * @param {number} [dataIndex]\n * @param {Function} cb\n */\n\n\nfunction initProps(el, props, animatableModel, dataIndex, cb) {\n animateOrSetProps(false, el, props, animatableModel, dataIndex, cb);\n}\n/**\n * Get transform matrix of target (param target),\n * in coordinate of its ancestor (param ancestor)\n *\n * @param {module:zrender/mixin/Transformable} target\n * @param {module:zrender/mixin/Transformable} [ancestor]\n */\n\n\nfunction getTransform(target, ancestor) {\n var mat = matrix.identity([]);\n\n while (target && target !== ancestor) {\n matrix.mul(mat, target.getLocalTransform(), mat);\n target = target.parent;\n }\n\n return mat;\n}\n/**\n * Apply transform to an vertex.\n * @param {Array.} target [x, y]\n * @param {Array.|TypedArray.|Object} transform Can be:\n * + Transform matrix: like [1, 0, 0, 1, 0, 0]\n * + {position, rotation, scale}, the same as `zrender/Transformable`.\n * @param {boolean=} invert Whether use invert matrix.\n * @return {Array.} [x, y]\n */\n\n\nfunction applyTransform(target, transform, invert) {\n if (transform && !zrUtil.isArrayLike(transform)) {\n transform = Transformable.getLocalTransform(transform);\n }\n\n if (invert) {\n transform = matrix.invert([], transform);\n }\n\n return vector.applyTransform([], target, transform);\n}\n/**\n * @param {string} direction 'left' 'right' 'top' 'bottom'\n * @param {Array.} transform Transform matrix: like [1, 0, 0, 1, 0, 0]\n * @param {boolean=} invert Whether use invert matrix.\n * @return {string} Transformed direction. 'left' 'right' 'top' 'bottom'\n */\n\n\nfunction transformDirection(direction, transform, invert) {\n // Pick a base, ensure that transform result will not be (0, 0).\n var hBase = transform[4] === 0 || transform[5] === 0 || transform[0] === 0 ? 1 : Math.abs(2 * transform[4] / transform[0]);\n var vBase = transform[4] === 0 || transform[5] === 0 || transform[2] === 0 ? 1 : Math.abs(2 * transform[4] / transform[2]);\n var vertex = [direction === 'left' ? -hBase : direction === 'right' ? hBase : 0, direction === 'top' ? -vBase : direction === 'bottom' ? vBase : 0];\n vertex = applyTransform(vertex, transform, invert);\n return Math.abs(vertex[0]) > Math.abs(vertex[1]) ? vertex[0] > 0 ? 'right' : 'left' : vertex[1] > 0 ? 'bottom' : 'top';\n}\n/**\n * Apply group transition animation from g1 to g2.\n * If no animatableModel, no animation.\n */\n\n\nfunction groupTransition(g1, g2, animatableModel, cb) {\n if (!g1 || !g2) {\n return;\n }\n\n function getElMap(g) {\n var elMap = {};\n g.traverse(function (el) {\n if (!el.isGroup && el.anid) {\n elMap[el.anid] = el;\n }\n });\n return elMap;\n }\n\n function getAnimatableProps(el) {\n var obj = {\n position: vector.clone(el.position),\n rotation: el.rotation\n };\n\n if (el.shape) {\n obj.shape = zrUtil.extend({}, el.shape);\n }\n\n return obj;\n }\n\n var elMap1 = getElMap(g1);\n g2.traverse(function (el) {\n if (!el.isGroup && el.anid) {\n var oldEl = elMap1[el.anid];\n\n if (oldEl) {\n var newProp = getAnimatableProps(el);\n el.attr(getAnimatableProps(oldEl));\n updateProps(el, newProp, animatableModel, el.dataIndex);\n } // else {\n // if (el.previousProps) {\n // graphic.updateProps\n // }\n // }\n\n }\n });\n}\n/**\n * @param {Array.>} points Like: [[23, 44], [53, 66], ...]\n * @param {Object} rect {x, y, width, height}\n * @return {Array.>} A new clipped points.\n */\n\n\nfunction clipPointsByRect(points, rect) {\n // FIXME: this way migth be incorrect when grpahic clipped by a corner.\n // and when element have border.\n return zrUtil.map(points, function (point) {\n var x = point[0];\n x = mathMax(x, rect.x);\n x = mathMin(x, rect.x + rect.width);\n var y = point[1];\n y = mathMax(y, rect.y);\n y = mathMin(y, rect.y + rect.height);\n return [x, y];\n });\n}\n/**\n * @param {Object} targetRect {x, y, width, height}\n * @param {Object} rect {x, y, width, height}\n * @return {Object} A new clipped rect. If rect size are negative, return undefined.\n */\n\n\nfunction clipRectByRect(targetRect, rect) {\n var x = mathMax(targetRect.x, rect.x);\n var x2 = mathMin(targetRect.x + targetRect.width, rect.x + rect.width);\n var y = mathMax(targetRect.y, rect.y);\n var y2 = mathMin(targetRect.y + targetRect.height, rect.y + rect.height); // If the total rect is cliped, nothing, including the border,\n // should be painted. So return undefined.\n\n if (x2 >= x && y2 >= y) {\n return {\n x: x,\n y: y,\n width: x2 - x,\n height: y2 - y\n };\n }\n}\n/**\n * @param {string} iconStr Support 'image://' or 'path://' or direct svg path.\n * @param {Object} [opt] Properties of `module:zrender/Element`, except `style`.\n * @param {Object} [rect] {x, y, width, height}\n * @return {module:zrender/Element} Icon path or image element.\n */\n\n\nfunction createIcon(iconStr, opt, rect) {\n opt = zrUtil.extend({\n rectHover: true\n }, opt);\n var style = opt.style = {\n strokeNoScale: true\n };\n rect = rect || {\n x: -1,\n y: -1,\n width: 2,\n height: 2\n };\n\n if (iconStr) {\n return iconStr.indexOf('image://') === 0 ? (style.image = iconStr.slice(8), zrUtil.defaults(style, rect), new ZImage(opt)) : makePath(iconStr.replace('path://', ''), opt, rect, 'center');\n }\n}\n\nexports.Z2_EMPHASIS_LIFT = Z2_EMPHASIS_LIFT;\nexports.extendShape = extendShape;\nexports.extendPath = extendPath;\nexports.makePath = makePath;\nexports.makeImage = makeImage;\nexports.mergePath = mergePath;\nexports.resizePath = resizePath;\nexports.subPixelOptimizeLine = subPixelOptimizeLine;\nexports.subPixelOptimizeRect = subPixelOptimizeRect;\nexports.subPixelOptimize = subPixelOptimize;\nexports.setElementHoverStyle = setElementHoverStyle;\nexports.isInEmphasis = isInEmphasis;\nexports.setHoverStyle = setHoverStyle;\nexports.setAsHoverStyleTrigger = setAsHoverStyleTrigger;\nexports.setLabelStyle = setLabelStyle;\nexports.setTextStyle = setTextStyle;\nexports.setText = setText;\nexports.getFont = getFont;\nexports.updateProps = updateProps;\nexports.initProps = initProps;\nexports.getTransform = getTransform;\nexports.applyTransform = applyTransform;\nexports.transformDirection = transformDirection;\nexports.groupTransition = groupTransition;\nexports.clipPointsByRect = clipPointsByRect;\nexports.clipRectByRect = clipRectByRect;\nexports.createIcon = createIcon;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar eventTool = require(\"zrender/lib/core/event\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar throttle = require(\"../../util/throttle\");\n\nvar DataZoomView = require(\"./DataZoomView\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar layout = require(\"../../util/layout\");\n\nvar sliderMove = require(\"../helper/sliderMove\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar Rect = graphic.Rect;\nvar linearMap = numberUtil.linearMap;\nvar asc = numberUtil.asc;\nvar bind = zrUtil.bind;\nvar each = zrUtil.each; // Constants\n\nvar DEFAULT_LOCATION_EDGE_GAP = 7;\nvar DEFAULT_FRAME_BORDER_WIDTH = 1;\nvar DEFAULT_FILLER_SIZE = 30;\nvar HORIZONTAL = 'horizontal';\nvar VERTICAL = 'vertical';\nvar LABEL_GAP = 5;\nvar SHOW_DATA_SHADOW_SERIES_TYPE = ['line', 'bar', 'candlestick', 'scatter'];\nvar SliderZoomView = DataZoomView.extend({\n type: 'dataZoom.slider',\n init: function (ecModel, api) {\n /**\n * @private\n * @type {Object}\n */\n this._displayables = {};\n /**\n * @private\n * @type {string}\n */\n\n this._orient;\n /**\n * [0, 100]\n * @private\n */\n\n this._range;\n /**\n * [coord of the first handle, coord of the second handle]\n * @private\n */\n\n this._handleEnds;\n /**\n * [length, thick]\n * @private\n * @type {Array.}\n */\n\n this._size;\n /**\n * @private\n * @type {number}\n */\n\n this._handleWidth;\n /**\n * @private\n * @type {number}\n */\n\n this._handleHeight;\n /**\n * @private\n */\n\n this._location;\n /**\n * @private\n */\n\n this._dragging;\n /**\n * @private\n */\n\n this._dataShadowInfo;\n this.api = api;\n },\n\n /**\n * @override\n */\n render: function (dataZoomModel, ecModel, api, payload) {\n SliderZoomView.superApply(this, 'render', arguments);\n throttle.createOrUpdate(this, '_dispatchZoomAction', this.dataZoomModel.get('throttle'), 'fixRate');\n this._orient = dataZoomModel.get('orient');\n\n if (this.dataZoomModel.get('show') === false) {\n this.group.removeAll();\n return;\n } // Notice: this._resetInterval() should not be executed when payload.type\n // is 'dataZoom', origin this._range should be maintained, otherwise 'pan'\n // or 'zoom' info will be missed because of 'throttle' of this.dispatchAction,\n\n\n if (!payload || payload.type !== 'dataZoom' || payload.from !== this.uid) {\n this._buildView();\n }\n\n this._updateView();\n },\n\n /**\n * @override\n */\n remove: function () {\n SliderZoomView.superApply(this, 'remove', arguments);\n throttle.clear(this, '_dispatchZoomAction');\n },\n\n /**\n * @override\n */\n dispose: function () {\n SliderZoomView.superApply(this, 'dispose', arguments);\n throttle.clear(this, '_dispatchZoomAction');\n },\n _buildView: function () {\n var thisGroup = this.group;\n thisGroup.removeAll();\n\n this._resetLocation();\n\n this._resetInterval();\n\n var barGroup = this._displayables.barGroup = new graphic.Group();\n\n this._renderBackground();\n\n this._renderHandle();\n\n this._renderDataShadow();\n\n thisGroup.add(barGroup);\n\n this._positionGroup();\n },\n\n /**\n * @private\n */\n _resetLocation: function () {\n var dataZoomModel = this.dataZoomModel;\n var api = this.api; // If some of x/y/width/height are not specified,\n // auto-adapt according to target grid.\n\n var coordRect = this._findCoordRect();\n\n var ecSize = {\n width: api.getWidth(),\n height: api.getHeight()\n }; // Default align by coordinate system rect.\n\n var positionInfo = this._orient === HORIZONTAL ? {\n // Why using 'right', because right should be used in vertical,\n // and it is better to be consistent for dealing with position param merge.\n right: ecSize.width - coordRect.x - coordRect.width,\n top: ecSize.height - DEFAULT_FILLER_SIZE - DEFAULT_LOCATION_EDGE_GAP,\n width: coordRect.width,\n height: DEFAULT_FILLER_SIZE\n } : {\n // vertical\n right: DEFAULT_LOCATION_EDGE_GAP,\n top: coordRect.y,\n width: DEFAULT_FILLER_SIZE,\n height: coordRect.height\n }; // Do not write back to option and replace value 'ph', because\n // the 'ph' value should be recalculated when resize.\n\n var layoutParams = layout.getLayoutParams(dataZoomModel.option); // Replace the placeholder value.\n\n zrUtil.each(['right', 'top', 'width', 'height'], function (name) {\n if (layoutParams[name] === 'ph') {\n layoutParams[name] = positionInfo[name];\n }\n });\n var layoutRect = layout.getLayoutRect(layoutParams, ecSize, dataZoomModel.padding);\n this._location = {\n x: layoutRect.x,\n y: layoutRect.y\n };\n this._size = [layoutRect.width, layoutRect.height];\n this._orient === VERTICAL && this._size.reverse();\n },\n\n /**\n * @private\n */\n _positionGroup: function () {\n var thisGroup = this.group;\n var location = this._location;\n var orient = this._orient; // Just use the first axis to determine mapping.\n\n var targetAxisModel = this.dataZoomModel.getFirstTargetAxisModel();\n var inverse = targetAxisModel && targetAxisModel.get('inverse');\n var barGroup = this._displayables.barGroup;\n var otherAxisInverse = (this._dataShadowInfo || {}).otherAxisInverse; // Transform barGroup.\n\n barGroup.attr(orient === HORIZONTAL && !inverse ? {\n scale: otherAxisInverse ? [1, 1] : [1, -1]\n } : orient === HORIZONTAL && inverse ? {\n scale: otherAxisInverse ? [-1, 1] : [-1, -1]\n } : orient === VERTICAL && !inverse ? {\n scale: otherAxisInverse ? [1, -1] : [1, 1],\n rotation: Math.PI / 2 // Dont use Math.PI, considering shadow direction.\n\n } : {\n scale: otherAxisInverse ? [-1, -1] : [-1, 1],\n rotation: Math.PI / 2\n }); // Position barGroup\n\n var rect = thisGroup.getBoundingRect([barGroup]);\n thisGroup.attr('position', [location.x - rect.x, location.y - rect.y]);\n },\n\n /**\n * @private\n */\n _getViewExtent: function () {\n return [0, this._size[0]];\n },\n _renderBackground: function () {\n var dataZoomModel = this.dataZoomModel;\n var size = this._size;\n var barGroup = this._displayables.barGroup;\n barGroup.add(new Rect({\n silent: true,\n shape: {\n x: 0,\n y: 0,\n width: size[0],\n height: size[1]\n },\n style: {\n fill: dataZoomModel.get('backgroundColor')\n },\n z2: -40\n })); // Click panel, over shadow, below handles.\n\n barGroup.add(new Rect({\n shape: {\n x: 0,\n y: 0,\n width: size[0],\n height: size[1]\n },\n style: {\n fill: 'transparent'\n },\n z2: 0,\n onclick: zrUtil.bind(this._onClickPanelClick, this)\n }));\n },\n _renderDataShadow: function () {\n var info = this._dataShadowInfo = this._prepareDataShadowInfo();\n\n if (!info) {\n return;\n }\n\n var size = this._size;\n var seriesModel = info.series;\n var data = seriesModel.getRawData();\n var otherDim = seriesModel.getShadowDim ? seriesModel.getShadowDim() // @see candlestick\n : info.otherDim;\n\n if (otherDim == null) {\n return;\n }\n\n var otherDataExtent = data.getDataExtent(otherDim); // Nice extent.\n\n var otherOffset = (otherDataExtent[1] - otherDataExtent[0]) * 0.3;\n otherDataExtent = [otherDataExtent[0] - otherOffset, otherDataExtent[1] + otherOffset];\n var otherShadowExtent = [0, size[1]];\n var thisShadowExtent = [0, size[0]];\n var areaPoints = [[size[0], 0], [0, 0]];\n var linePoints = [];\n var step = thisShadowExtent[1] / (data.count() - 1);\n var thisCoord = 0; // Optimize for large data shadow\n\n var stride = Math.round(data.count() / size[0]);\n var lastIsEmpty;\n data.each([otherDim], function (value, index) {\n if (stride > 0 && index % stride) {\n thisCoord += step;\n return;\n } // FIXME\n // Should consider axis.min/axis.max when drawing dataShadow.\n // FIXME\n // 应该使用统一的空判断?还是在list里进行空判断?\n\n\n var isEmpty = value == null || isNaN(value) || value === ''; // See #4235.\n\n var otherCoord = isEmpty ? 0 : linearMap(value, otherDataExtent, otherShadowExtent, true); // Attempt to draw data shadow precisely when there are empty value.\n\n if (isEmpty && !lastIsEmpty && index) {\n areaPoints.push([areaPoints[areaPoints.length - 1][0], 0]);\n linePoints.push([linePoints[linePoints.length - 1][0], 0]);\n } else if (!isEmpty && lastIsEmpty) {\n areaPoints.push([thisCoord, 0]);\n linePoints.push([thisCoord, 0]);\n }\n\n areaPoints.push([thisCoord, otherCoord]);\n linePoints.push([thisCoord, otherCoord]);\n thisCoord += step;\n lastIsEmpty = isEmpty;\n });\n var dataZoomModel = this.dataZoomModel; // var dataBackgroundModel = dataZoomModel.getModel('dataBackground');\n\n this._displayables.barGroup.add(new graphic.Polygon({\n shape: {\n points: areaPoints\n },\n style: zrUtil.defaults({\n fill: dataZoomModel.get('dataBackgroundColor')\n }, dataZoomModel.getModel('dataBackground.areaStyle').getAreaStyle()),\n silent: true,\n z2: -20\n }));\n\n this._displayables.barGroup.add(new graphic.Polyline({\n shape: {\n points: linePoints\n },\n style: dataZoomModel.getModel('dataBackground.lineStyle').getLineStyle(),\n silent: true,\n z2: -19\n }));\n },\n _prepareDataShadowInfo: function () {\n var dataZoomModel = this.dataZoomModel;\n var showDataShadow = dataZoomModel.get('showDataShadow');\n\n if (showDataShadow === false) {\n return;\n } // Find a representative series.\n\n\n var result;\n var ecModel = this.ecModel;\n dataZoomModel.eachTargetAxis(function (dimNames, axisIndex) {\n var seriesModels = dataZoomModel.getAxisProxy(dimNames.name, axisIndex).getTargetSeriesModels();\n zrUtil.each(seriesModels, function (seriesModel) {\n if (result) {\n return;\n }\n\n if (showDataShadow !== true && zrUtil.indexOf(SHOW_DATA_SHADOW_SERIES_TYPE, seriesModel.get('type')) < 0) {\n return;\n }\n\n var thisAxis = ecModel.getComponent(dimNames.axis, axisIndex).axis;\n var otherDim = getOtherDim(dimNames.name);\n var otherAxisInverse;\n var coordSys = seriesModel.coordinateSystem;\n\n if (otherDim != null && coordSys.getOtherAxis) {\n otherAxisInverse = coordSys.getOtherAxis(thisAxis).inverse;\n }\n\n otherDim = seriesModel.getData().mapDimension(otherDim);\n result = {\n thisAxis: thisAxis,\n series: seriesModel,\n thisDim: dimNames.name,\n otherDim: otherDim,\n otherAxisInverse: otherAxisInverse\n };\n }, this);\n }, this);\n return result;\n },\n _renderHandle: function () {\n var displaybles = this._displayables;\n var handles = displaybles.handles = [];\n var handleLabels = displaybles.handleLabels = [];\n var barGroup = this._displayables.barGroup;\n var size = this._size;\n var dataZoomModel = this.dataZoomModel;\n barGroup.add(displaybles.filler = new Rect({\n draggable: true,\n cursor: getCursor(this._orient),\n drift: bind(this._onDragMove, this, 'all'),\n onmousemove: function (e) {\n // Fot mobile devicem, prevent screen slider on the button.\n eventTool.stop(e.event);\n },\n ondragstart: bind(this._showDataInfo, this, true),\n ondragend: bind(this._onDragEnd, this),\n onmouseover: bind(this._showDataInfo, this, true),\n onmouseout: bind(this._showDataInfo, this, false),\n style: {\n fill: dataZoomModel.get('fillerColor'),\n textPosition: 'inside'\n }\n })); // Frame border.\n\n barGroup.add(new Rect(graphic.subPixelOptimizeRect({\n silent: true,\n shape: {\n x: 0,\n y: 0,\n width: size[0],\n height: size[1]\n },\n style: {\n stroke: dataZoomModel.get('dataBackgroundColor') || dataZoomModel.get('borderColor'),\n lineWidth: DEFAULT_FRAME_BORDER_WIDTH,\n fill: 'rgba(0,0,0,0)'\n }\n })));\n each([0, 1], function (handleIndex) {\n var path = graphic.createIcon(dataZoomModel.get('handleIcon'), {\n cursor: getCursor(this._orient),\n draggable: true,\n drift: bind(this._onDragMove, this, handleIndex),\n onmousemove: function (e) {\n // Fot mobile devicem, prevent screen slider on the button.\n eventTool.stop(e.event);\n },\n ondragend: bind(this._onDragEnd, this),\n onmouseover: bind(this._showDataInfo, this, true),\n onmouseout: bind(this._showDataInfo, this, false)\n }, {\n x: -1,\n y: 0,\n width: 2,\n height: 2\n });\n var bRect = path.getBoundingRect();\n this._handleHeight = numberUtil.parsePercent(dataZoomModel.get('handleSize'), this._size[1]);\n this._handleWidth = bRect.width / bRect.height * this._handleHeight;\n path.setStyle(dataZoomModel.getModel('handleStyle').getItemStyle());\n var handleColor = dataZoomModel.get('handleColor'); // Compatitable with previous version\n\n if (handleColor != null) {\n path.style.fill = handleColor;\n }\n\n barGroup.add(handles[handleIndex] = path);\n var textStyleModel = dataZoomModel.textStyleModel;\n this.group.add(handleLabels[handleIndex] = new graphic.Text({\n silent: true,\n invisible: true,\n style: {\n x: 0,\n y: 0,\n text: '',\n textVerticalAlign: 'middle',\n textAlign: 'center',\n textFill: textStyleModel.getTextColor(),\n textFont: textStyleModel.getFont()\n },\n z2: 10\n }));\n }, this);\n },\n\n /**\n * @private\n */\n _resetInterval: function () {\n var range = this._range = this.dataZoomModel.getPercentRange();\n\n var viewExtent = this._getViewExtent();\n\n this._handleEnds = [linearMap(range[0], [0, 100], viewExtent, true), linearMap(range[1], [0, 100], viewExtent, true)];\n },\n\n /**\n * @private\n * @param {(number|string)} handleIndex 0 or 1 or 'all'\n * @param {number} delta\n * @return {boolean} changed\n */\n _updateInterval: function (handleIndex, delta) {\n var dataZoomModel = this.dataZoomModel;\n var handleEnds = this._handleEnds;\n\n var viewExtend = this._getViewExtent();\n\n var minMaxSpan = dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();\n var percentExtent = [0, 100];\n sliderMove(delta, handleEnds, viewExtend, dataZoomModel.get('zoomLock') ? 'all' : handleIndex, minMaxSpan.minSpan != null ? linearMap(minMaxSpan.minSpan, percentExtent, viewExtend, true) : null, minMaxSpan.maxSpan != null ? linearMap(minMaxSpan.maxSpan, percentExtent, viewExtend, true) : null);\n var lastRange = this._range;\n var range = this._range = asc([linearMap(handleEnds[0], viewExtend, percentExtent, true), linearMap(handleEnds[1], viewExtend, percentExtent, true)]);\n return !lastRange || lastRange[0] !== range[0] || lastRange[1] !== range[1];\n },\n\n /**\n * @private\n */\n _updateView: function (nonRealtime) {\n var displaybles = this._displayables;\n var handleEnds = this._handleEnds;\n var handleInterval = asc(handleEnds.slice());\n var size = this._size;\n each([0, 1], function (handleIndex) {\n // Handles\n var handle = displaybles.handles[handleIndex];\n var handleHeight = this._handleHeight;\n handle.attr({\n scale: [handleHeight / 2, handleHeight / 2],\n position: [handleEnds[handleIndex], size[1] / 2 - handleHeight / 2]\n });\n }, this); // Filler\n\n displaybles.filler.setShape({\n x: handleInterval[0],\n y: 0,\n width: handleInterval[1] - handleInterval[0],\n height: size[1]\n });\n\n this._updateDataInfo(nonRealtime);\n },\n\n /**\n * @private\n */\n _updateDataInfo: function (nonRealtime) {\n var dataZoomModel = this.dataZoomModel;\n var displaybles = this._displayables;\n var handleLabels = displaybles.handleLabels;\n var orient = this._orient;\n var labelTexts = ['', '']; // FIXME\n // date型,支持formatter,autoformatter(ec2 date.getAutoFormatter)\n\n if (dataZoomModel.get('showDetail')) {\n var axisProxy = dataZoomModel.findRepresentativeAxisProxy();\n\n if (axisProxy) {\n var axis = axisProxy.getAxisModel().axis;\n var range = this._range;\n var dataInterval = nonRealtime // See #4434, data and axis are not processed and reset yet in non-realtime mode.\n ? axisProxy.calculateDataWindow({\n start: range[0],\n end: range[1]\n }).valueWindow : axisProxy.getDataValueWindow();\n labelTexts = [this._formatLabel(dataInterval[0], axis), this._formatLabel(dataInterval[1], axis)];\n }\n }\n\n var orderedHandleEnds = asc(this._handleEnds.slice());\n setLabel.call(this, 0);\n setLabel.call(this, 1);\n\n function setLabel(handleIndex) {\n // Label\n // Text should not transform by barGroup.\n // Ignore handlers transform\n var barTransform = graphic.getTransform(displaybles.handles[handleIndex].parent, this.group);\n var direction = graphic.transformDirection(handleIndex === 0 ? 'right' : 'left', barTransform);\n var offset = this._handleWidth / 2 + LABEL_GAP;\n var textPoint = graphic.applyTransform([orderedHandleEnds[handleIndex] + (handleIndex === 0 ? -offset : offset), this._size[1] / 2], barTransform);\n handleLabels[handleIndex].setStyle({\n x: textPoint[0],\n y: textPoint[1],\n textVerticalAlign: orient === HORIZONTAL ? 'middle' : direction,\n textAlign: orient === HORIZONTAL ? direction : 'center',\n text: labelTexts[handleIndex]\n });\n }\n },\n\n /**\n * @private\n */\n _formatLabel: function (value, axis) {\n var dataZoomModel = this.dataZoomModel;\n var labelFormatter = dataZoomModel.get('labelFormatter');\n var labelPrecision = dataZoomModel.get('labelPrecision');\n\n if (labelPrecision == null || labelPrecision === 'auto') {\n labelPrecision = axis.getPixelPrecision();\n }\n\n var valueStr = value == null || isNaN(value) ? '' // FIXME Glue code\n : axis.type === 'category' || axis.type === 'time' ? axis.scale.getLabel(Math.round(value)) // param of toFixed should less then 20.\n : value.toFixed(Math.min(labelPrecision, 20));\n return zrUtil.isFunction(labelFormatter) ? labelFormatter(value, valueStr) : zrUtil.isString(labelFormatter) ? labelFormatter.replace('{value}', valueStr) : valueStr;\n },\n\n /**\n * @private\n * @param {boolean} showOrHide true: show, false: hide\n */\n _showDataInfo: function (showOrHide) {\n // Always show when drgging.\n showOrHide = this._dragging || showOrHide;\n var handleLabels = this._displayables.handleLabels;\n handleLabels[0].attr('invisible', !showOrHide);\n handleLabels[1].attr('invisible', !showOrHide);\n },\n _onDragMove: function (handleIndex, dx, dy) {\n this._dragging = true; // Transform dx, dy to bar coordination.\n\n var barTransform = this._displayables.barGroup.getLocalTransform();\n\n var vertex = graphic.applyTransform([dx, dy], barTransform, true);\n\n var changed = this._updateInterval(handleIndex, vertex[0]);\n\n var realtime = this.dataZoomModel.get('realtime');\n\n this._updateView(!realtime); // Avoid dispatch dataZoom repeatly but range not changed,\n // which cause bad visual effect when progressive enabled.\n\n\n changed && realtime && this._dispatchZoomAction();\n },\n _onDragEnd: function () {\n this._dragging = false;\n\n this._showDataInfo(false); // While in realtime mode and stream mode, dispatch action when\n // drag end will cause the whole view rerender, which is unnecessary.\n\n\n var realtime = this.dataZoomModel.get('realtime');\n !realtime && this._dispatchZoomAction();\n },\n _onClickPanelClick: function (e) {\n var size = this._size;\n\n var localPoint = this._displayables.barGroup.transformCoordToLocal(e.offsetX, e.offsetY);\n\n if (localPoint[0] < 0 || localPoint[0] > size[0] || localPoint[1] < 0 || localPoint[1] > size[1]) {\n return;\n }\n\n var handleEnds = this._handleEnds;\n var center = (handleEnds[0] + handleEnds[1]) / 2;\n\n var changed = this._updateInterval('all', localPoint[0] - center);\n\n this._updateView();\n\n changed && this._dispatchZoomAction();\n },\n\n /**\n * This action will be throttled.\n * @private\n */\n _dispatchZoomAction: function () {\n var range = this._range;\n this.api.dispatchAction({\n type: 'dataZoom',\n from: this.uid,\n dataZoomId: this.dataZoomModel.id,\n start: range[0],\n end: range[1]\n });\n },\n\n /**\n * @private\n */\n _findCoordRect: function () {\n // Find the grid coresponding to the first axis referred by dataZoom.\n var rect;\n each(this.getTargetCoordInfo(), function (coordInfoList) {\n if (!rect && coordInfoList.length) {\n var coordSys = coordInfoList[0].model.coordinateSystem;\n rect = coordSys.getRect && coordSys.getRect();\n }\n });\n\n if (!rect) {\n var width = this.api.getWidth();\n var height = this.api.getHeight();\n rect = {\n x: width * 0.2,\n y: height * 0.2,\n width: width * 0.6,\n height: height * 0.6\n };\n }\n\n return rect;\n }\n});\n\nfunction getOtherDim(thisDim) {\n // FIXME\n // 这个逻辑和getOtherAxis里一致,但是写在这里是否不好\n var map = {\n x: 'y',\n y: 'x',\n radius: 'angle',\n angle: 'radius'\n };\n return map[thisDim];\n}\n\nfunction getCursor(orient) {\n return orient === 'vertical' ? 'ns-resize' : 'ew-resize';\n}\n\nvar _default = SliderZoomView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar List = require(\"../../data/List\");\n\nvar Graph = require(\"../../data/Graph\");\n\nvar linkList = require(\"../../data/helper/linkList\");\n\nvar createDimensions = require(\"../../data/helper/createDimensions\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\nvar createListFromArray = require(\"./createListFromArray\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(nodes, edges, seriesModel, directed, beforeLink) {\n // ??? TODO\n // support dataset?\n var graph = new Graph(directed);\n\n for (var i = 0; i < nodes.length; i++) {\n graph.addNode(zrUtil.retrieve( // Id, name, dataIndex\n nodes[i].id, nodes[i].name, i), i);\n }\n\n var linkNameList = [];\n var validEdges = [];\n var linkCount = 0;\n\n for (var i = 0; i < edges.length; i++) {\n var link = edges[i];\n var source = link.source;\n var target = link.target; // addEdge may fail when source or target not exists\n\n if (graph.addEdge(source, target, linkCount)) {\n validEdges.push(link);\n linkNameList.push(zrUtil.retrieve(link.id, source + ' > ' + target));\n linkCount++;\n }\n }\n\n var coordSys = seriesModel.get('coordinateSystem');\n var nodeData;\n\n if (coordSys === 'cartesian2d' || coordSys === 'polar') {\n nodeData = createListFromArray(nodes, seriesModel);\n } else {\n var coordSysCtor = CoordinateSystem.get(coordSys);\n var coordDimensions = coordSysCtor && coordSysCtor.type !== 'view' ? coordSysCtor.dimensions || [] : []; // FIXME: Some geo do not need `value` dimenson, whereas `calendar` needs\n // `value` dimension, but graph need `value` dimension. It's better to\n // uniform this behavior.\n\n if (zrUtil.indexOf(coordDimensions, 'value') < 0) {\n coordDimensions.concat(['value']);\n }\n\n var dimensionNames = createDimensions(nodes, {\n coordDimensions: coordDimensions\n });\n nodeData = new List(dimensionNames, seriesModel);\n nodeData.initData(nodes);\n }\n\n var edgeData = new List(['value'], seriesModel);\n edgeData.initData(validEdges, linkNameList);\n beforeLink && beforeLink(nodeData, edgeData);\n linkList({\n mainData: nodeData,\n struct: graph,\n structAttr: 'graph',\n datas: {\n node: nodeData,\n edge: edgeData\n },\n datasAttr: {\n node: 'data',\n edge: 'edgeData'\n }\n }); // Update dataIndex of nodes and edges because invalid edge may be removed\n\n graph.update();\n return graph;\n}\n\nmodule.exports = _default;","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar IndicatorAxis = require(\"./IndicatorAxis\");\n\nvar IntervalScale = require(\"../../scale/Interval\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar _axisHelper = require(\"../axisHelper\");\n\nvar getScaleExtent = _axisHelper.getScaleExtent;\nvar niceScaleExtent = _axisHelper.niceScaleExtent;\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// TODO clockwise\nfunction Radar(radarModel, ecModel, api) {\n this._model = radarModel;\n /**\n * Radar dimensions\n * @type {Array.}\n */\n\n this.dimensions = [];\n this._indicatorAxes = zrUtil.map(radarModel.getIndicatorModels(), function (indicatorModel, idx) {\n var dim = 'indicator_' + idx;\n var indicatorAxis = new IndicatorAxis(dim, new IntervalScale());\n indicatorAxis.name = indicatorModel.get('name'); // Inject model and axis\n\n indicatorAxis.model = indicatorModel;\n indicatorModel.axis = indicatorAxis;\n this.dimensions.push(dim);\n return indicatorAxis;\n }, this);\n this.resize(radarModel, api);\n /**\n * @type {number}\n * @readOnly\n */\n\n this.cx;\n /**\n * @type {number}\n * @readOnly\n */\n\n this.cy;\n /**\n * @type {number}\n * @readOnly\n */\n\n this.r;\n /**\n * @type {number}\n * @readOnly\n */\n\n this.r0;\n /**\n * @type {number}\n * @readOnly\n */\n\n this.startAngle;\n}\n\nRadar.prototype.getIndicatorAxes = function () {\n return this._indicatorAxes;\n};\n\nRadar.prototype.dataToPoint = function (value, indicatorIndex) {\n var indicatorAxis = this._indicatorAxes[indicatorIndex];\n return this.coordToPoint(indicatorAxis.dataToCoord(value), indicatorIndex);\n};\n\nRadar.prototype.coordToPoint = function (coord, indicatorIndex) {\n var indicatorAxis = this._indicatorAxes[indicatorIndex];\n var angle = indicatorAxis.angle;\n var x = this.cx + coord * Math.cos(angle);\n var y = this.cy - coord * Math.sin(angle);\n return [x, y];\n};\n\nRadar.prototype.pointToData = function (pt) {\n var dx = pt[0] - this.cx;\n var dy = pt[1] - this.cy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n dx /= radius;\n dy /= radius;\n var radian = Math.atan2(-dy, dx); // Find the closest angle\n // FIXME index can calculated directly\n\n var minRadianDiff = Infinity;\n var closestAxis;\n var closestAxisIdx = -1;\n\n for (var i = 0; i < this._indicatorAxes.length; i++) {\n var indicatorAxis = this._indicatorAxes[i];\n var diff = Math.abs(radian - indicatorAxis.angle);\n\n if (diff < minRadianDiff) {\n closestAxis = indicatorAxis;\n closestAxisIdx = i;\n minRadianDiff = diff;\n }\n }\n\n return [closestAxisIdx, +(closestAxis && closestAxis.coodToData(radius))];\n};\n\nRadar.prototype.resize = function (radarModel, api) {\n var center = radarModel.get('center');\n var viewWidth = api.getWidth();\n var viewHeight = api.getHeight();\n var viewSize = Math.min(viewWidth, viewHeight) / 2;\n this.cx = numberUtil.parsePercent(center[0], viewWidth);\n this.cy = numberUtil.parsePercent(center[1], viewHeight);\n this.startAngle = radarModel.get('startAngle') * Math.PI / 180; // radius may be single value like `20`, `'80%'`, or array like `[10, '80%']`\n\n var radius = radarModel.get('radius');\n\n if (typeof radius === 'string' || typeof radius === 'number') {\n radius = [0, radius];\n }\n\n this.r0 = numberUtil.parsePercent(radius[0], viewSize);\n this.r = numberUtil.parsePercent(radius[1], viewSize);\n zrUtil.each(this._indicatorAxes, function (indicatorAxis, idx) {\n indicatorAxis.setExtent(this.r0, this.r);\n var angle = this.startAngle + idx * Math.PI * 2 / this._indicatorAxes.length; // Normalize to [-PI, PI]\n\n angle = Math.atan2(Math.sin(angle), Math.cos(angle));\n indicatorAxis.angle = angle;\n }, this);\n};\n\nRadar.prototype.update = function (ecModel, api) {\n var indicatorAxes = this._indicatorAxes;\n var radarModel = this._model;\n zrUtil.each(indicatorAxes, function (indicatorAxis) {\n indicatorAxis.scale.setExtent(Infinity, -Infinity);\n });\n ecModel.eachSeriesByType('radar', function (radarSeries, idx) {\n if (radarSeries.get('coordinateSystem') !== 'radar' || ecModel.getComponent('radar', radarSeries.get('radarIndex')) !== radarModel) {\n return;\n }\n\n var data = radarSeries.getData();\n zrUtil.each(indicatorAxes, function (indicatorAxis) {\n indicatorAxis.scale.unionExtentFromData(data, data.mapDimension(indicatorAxis.dim));\n });\n }, this);\n var splitNumber = radarModel.get('splitNumber');\n\n function increaseInterval(interval) {\n var exp10 = Math.pow(10, Math.floor(Math.log(interval) / Math.LN10)); // Increase interval\n\n var f = interval / exp10;\n\n if (f === 2) {\n f = 5;\n } else {\n // f is 2 or 5\n f *= 2;\n }\n\n return f * exp10;\n } // Force all the axis fixing the maxSplitNumber.\n\n\n zrUtil.each(indicatorAxes, function (indicatorAxis, idx) {\n var rawExtent = getScaleExtent(indicatorAxis.scale, indicatorAxis.model);\n niceScaleExtent(indicatorAxis.scale, indicatorAxis.model);\n var axisModel = indicatorAxis.model;\n var scale = indicatorAxis.scale;\n var fixedMin = axisModel.getMin();\n var fixedMax = axisModel.getMax();\n var interval = scale.getInterval();\n\n if (fixedMin != null && fixedMax != null) {\n // User set min, max, divide to get new interval\n scale.setExtent(+fixedMin, +fixedMax);\n scale.setInterval((fixedMax - fixedMin) / splitNumber);\n } else if (fixedMin != null) {\n var max; // User set min, expand extent on the other side\n\n do {\n max = fixedMin + interval * splitNumber;\n scale.setExtent(+fixedMin, max); // Interval must been set after extent\n // FIXME\n\n scale.setInterval(interval);\n interval = increaseInterval(interval);\n } while (max < rawExtent[1] && isFinite(max) && isFinite(rawExtent[1]));\n } else if (fixedMax != null) {\n var min; // User set min, expand extent on the other side\n\n do {\n min = fixedMax - interval * splitNumber;\n scale.setExtent(min, +fixedMax);\n scale.setInterval(interval);\n interval = increaseInterval(interval);\n } while (min > rawExtent[0] && isFinite(min) && isFinite(rawExtent[0]));\n } else {\n var nicedSplitNumber = scale.getTicks().length - 1;\n\n if (nicedSplitNumber > splitNumber) {\n interval = increaseInterval(interval);\n } // PENDING\n\n\n var center = Math.round((rawExtent[0] + rawExtent[1]) / 2 / interval) * interval;\n var halfSplitNumber = Math.round(splitNumber / 2);\n scale.setExtent(numberUtil.round(center - halfSplitNumber * interval), numberUtil.round(center + (splitNumber - halfSplitNumber) * interval));\n scale.setInterval(interval);\n }\n });\n};\n/**\n * Radar dimensions is based on the data\n * @type {Array}\n */\n\n\nRadar.dimensions = [];\n\nRadar.create = function (ecModel, api) {\n var radarList = [];\n ecModel.eachComponent('radar', function (radarModel) {\n var radar = new Radar(radarModel, ecModel, api);\n radarList.push(radar);\n radarModel.coordinateSystem = radar;\n });\n ecModel.eachSeriesByType('radar', function (radarSeries) {\n if (radarSeries.get('coordinateSystem') === 'radar') {\n // Inject coordinate system\n radarSeries.coordinateSystem = radarList[radarSeries.get('radarIndex') || 0];\n }\n });\n return radarList;\n};\n\nCoordinateSystem.register('radar', Radar);\nvar _default = Radar;\nmodule.exports = _default;","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./graph/GraphSeries\");\n\nrequire(\"./graph/GraphView\");\n\nrequire(\"./graph/graphAction\");\n\nvar categoryFilter = require(\"./graph/categoryFilter\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar categoryVisual = require(\"./graph/categoryVisual\");\n\nvar edgeVisual = require(\"./graph/edgeVisual\");\n\nvar simpleLayout = require(\"./graph/simpleLayout\");\n\nvar circularLayout = require(\"./graph/circularLayout\");\n\nvar forceLayout = require(\"./graph/forceLayout\");\n\nvar createView = require(\"./graph/createView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerProcessor(categoryFilter);\necharts.registerVisual(visualSymbol('graph', 'circle', null));\necharts.registerVisual(categoryVisual);\necharts.registerVisual(edgeVisual);\necharts.registerLayout(simpleLayout);\necharts.registerLayout(circularLayout);\necharts.registerLayout(forceLayout); // Graph view coordinate system\n\necharts.registerCoordinateSystem('graphView', {\n create: createView\n});","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar formatUtil = require(\"../../util/format\");\n\nvar dataFormatMixin = require(\"../../model/mixin/dataFormat\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar addCommas = formatUtil.addCommas;\nvar encodeHTML = formatUtil.encodeHTML;\n\nfunction fillLabel(opt) {\n modelUtil.defaultEmphasis(opt, 'label', ['show']);\n}\n\nvar MarkerModel = echarts.extendComponentModel({\n type: 'marker',\n dependencies: ['series', 'grid', 'polar', 'geo'],\n\n /**\n * @overrite\n */\n init: function (option, parentModel, ecModel, extraOpt) {\n this.mergeDefaultAndTheme(option, ecModel);\n this.mergeOption(option, ecModel, extraOpt.createdBySelf, true);\n },\n\n /**\n * @return {boolean}\n */\n isAnimationEnabled: function () {\n if (env.node) {\n return false;\n }\n\n var hostSeries = this.__hostSeries;\n return this.getShallow('animation') && hostSeries && hostSeries.isAnimationEnabled();\n },\n mergeOption: function (newOpt, ecModel, createdBySelf, isInit) {\n var MarkerModel = this.constructor;\n var modelPropName = this.mainType + 'Model';\n\n if (!createdBySelf) {\n ecModel.eachSeries(function (seriesModel) {\n var markerOpt = seriesModel.get(this.mainType, true);\n var markerModel = seriesModel[modelPropName];\n\n if (!markerOpt || !markerOpt.data) {\n seriesModel[modelPropName] = null;\n return;\n }\n\n if (!markerModel) {\n if (isInit) {\n // Default label emphasis `position` and `show`\n fillLabel(markerOpt);\n }\n\n zrUtil.each(markerOpt.data, function (item) {\n // FIXME Overwrite fillLabel method ?\n if (item instanceof Array) {\n fillLabel(item[0]);\n fillLabel(item[1]);\n } else {\n fillLabel(item);\n }\n });\n markerModel = new MarkerModel(markerOpt, this, ecModel);\n zrUtil.extend(markerModel, {\n mainType: this.mainType,\n // Use the same series index and name\n seriesIndex: seriesModel.seriesIndex,\n name: seriesModel.name,\n createdBySelf: true\n });\n markerModel.__hostSeries = seriesModel;\n } else {\n markerModel.mergeOption(markerOpt, ecModel, true);\n }\n\n seriesModel[modelPropName] = markerModel;\n }, this);\n }\n },\n formatTooltip: function (dataIndex) {\n var data = this.getData();\n var value = this.getRawValue(dataIndex);\n var formattedValue = zrUtil.isArray(value) ? zrUtil.map(value, addCommas).join(', ') : addCommas(value);\n var name = data.getName(dataIndex);\n var html = encodeHTML(this.name);\n\n if (value != null || name) {\n html += '
';\n }\n\n if (name) {\n html += encodeHTML(name);\n\n if (value != null) {\n html += ' : ';\n }\n }\n\n if (value != null) {\n html += encodeHTML(formattedValue);\n }\n\n return html;\n },\n getData: function () {\n return this._data;\n },\n setData: function (data) {\n this._data = data;\n }\n});\nzrUtil.mixin(MarkerModel, dataFormatMixin);\nvar _default = MarkerModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar layout = require(\"../../util/layout\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\nvar linearMap = _number.linearMap;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction getViewRect(seriesModel, api) {\n return layout.getLayoutRect(seriesModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n}\n\nfunction getSortedIndices(data, sort) {\n var valueDim = data.mapDimension('value');\n var valueArr = data.mapArray(valueDim, function (val) {\n return val;\n });\n var indices = [];\n var isAscending = sort === 'ascending';\n\n for (var i = 0, len = data.count(); i < len; i++) {\n indices[i] = i;\n } // Add custom sortable function & none sortable opetion by \"options.sort\"\n\n\n if (typeof sort === 'function') {\n indices.sort(sort);\n } else if (sort !== 'none') {\n indices.sort(function (a, b) {\n return isAscending ? valueArr[a] - valueArr[b] : valueArr[b] - valueArr[a];\n });\n }\n\n return indices;\n}\n\nfunction labelLayout(data) {\n data.each(function (idx) {\n var itemModel = data.getItemModel(idx);\n var labelModel = itemModel.getModel('label');\n var labelPosition = labelModel.get('position');\n var labelLineModel = itemModel.getModel('labelLine');\n var layout = data.getItemLayout(idx);\n var points = layout.points;\n var isLabelInside = labelPosition === 'inner' || labelPosition === 'inside' || labelPosition === 'center';\n var textAlign;\n var textX;\n var textY;\n var linePoints;\n\n if (isLabelInside) {\n textX = (points[0][0] + points[1][0] + points[2][0] + points[3][0]) / 4;\n textY = (points[0][1] + points[1][1] + points[2][1] + points[3][1]) / 4;\n textAlign = 'center';\n linePoints = [[textX, textY], [textX, textY]];\n } else {\n var x1;\n var y1;\n var x2;\n var labelLineLen = labelLineModel.get('length');\n\n if (labelPosition === 'left') {\n // Left side\n x1 = (points[3][0] + points[0][0]) / 2;\n y1 = (points[3][1] + points[0][1]) / 2;\n x2 = x1 - labelLineLen;\n textX = x2 - 5;\n textAlign = 'right';\n } else {\n // Right side\n x1 = (points[1][0] + points[2][0]) / 2;\n y1 = (points[1][1] + points[2][1]) / 2;\n x2 = x1 + labelLineLen;\n textX = x2 + 5;\n textAlign = 'left';\n }\n\n var y2 = y1;\n linePoints = [[x1, y1], [x2, y2]];\n textY = y2;\n }\n\n layout.label = {\n linePoints: linePoints,\n x: textX,\n y: textY,\n verticalAlign: 'middle',\n textAlign: textAlign,\n inside: isLabelInside\n };\n });\n}\n\nfunction _default(ecModel, api, payload) {\n ecModel.eachSeriesByType('funnel', function (seriesModel) {\n var data = seriesModel.getData();\n var valueDim = data.mapDimension('value');\n var sort = seriesModel.get('sort');\n var viewRect = getViewRect(seriesModel, api);\n var indices = getSortedIndices(data, sort);\n var sizeExtent = [parsePercent(seriesModel.get('minSize'), viewRect.width), parsePercent(seriesModel.get('maxSize'), viewRect.width)];\n var dataExtent = data.getDataExtent(valueDim);\n var min = seriesModel.get('min');\n var max = seriesModel.get('max');\n\n if (min == null) {\n min = Math.min(dataExtent[0], 0);\n }\n\n if (max == null) {\n max = dataExtent[1];\n }\n\n var funnelAlign = seriesModel.get('funnelAlign');\n var gap = seriesModel.get('gap');\n var itemHeight = (viewRect.height - gap * (data.count() - 1)) / data.count();\n var y = viewRect.y;\n\n var getLinePoints = function (idx, offY) {\n // End point index is data.count() and we assign it 0\n var val = data.get(valueDim, idx) || 0;\n var itemWidth = linearMap(val, [min, max], sizeExtent, true);\n var x0;\n\n switch (funnelAlign) {\n case 'left':\n x0 = viewRect.x;\n break;\n\n case 'center':\n x0 = viewRect.x + (viewRect.width - itemWidth) / 2;\n break;\n\n case 'right':\n x0 = viewRect.x + viewRect.width - itemWidth;\n break;\n }\n\n return [[x0, offY], [x0 + itemWidth, offY]];\n };\n\n if (sort === 'ascending') {\n // From bottom to top\n itemHeight = -itemHeight;\n gap = -gap;\n y += viewRect.height;\n indices = indices.reverse();\n }\n\n for (var i = 0; i < indices.length; i++) {\n var idx = indices[i];\n var nextIdx = indices[i + 1];\n var itemModel = data.getItemModel(idx);\n var height = itemModel.get('itemStyle.height');\n\n if (height == null) {\n height = itemHeight;\n } else {\n height = parsePercent(height, viewRect.height);\n\n if (sort === 'ascending') {\n height = -height;\n }\n }\n\n var start = getLinePoints(idx, y);\n var end = getLinePoints(nextIdx, y + height);\n y += height + gap;\n data.setItemLayout(idx, {\n points: start.concat(end.slice().reverse())\n });\n }\n\n labelLayout(data);\n });\n}\n\nmodule.exports = _default;","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~toString(requireObjectCoercible(this))\n .indexOf(toString(notARegExp(searchString)), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar _poly = require(\"../line/poly\");\n\nvar Polygon = _poly.Polygon;\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar bind = _util.bind;\nvar extend = _util.extend;\n\nvar DataDiffer = require(\"../../data/DataDiffer\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @file The file used to draw themeRiver view\n * @author Deqing Li(annong035@gmail.com)\n */\nvar _default = echarts.extendChartView({\n type: 'themeRiver',\n init: function () {\n this._layers = [];\n },\n render: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var group = this.group;\n var layerSeries = seriesModel.getLayerSeries();\n var layoutInfo = data.getLayout('layoutInfo');\n var rect = layoutInfo.rect;\n var boundaryGap = layoutInfo.boundaryGap;\n group.attr('position', [0, rect.y + boundaryGap[0]]);\n\n function keyGetter(item) {\n return item.name;\n }\n\n var dataDiffer = new DataDiffer(this._layersSeries || [], layerSeries, keyGetter, keyGetter);\n var newLayersGroups = {};\n dataDiffer.add(bind(process, this, 'add')).update(bind(process, this, 'update')).remove(bind(process, this, 'remove')).execute();\n\n function process(status, idx, oldIdx) {\n var oldLayersGroups = this._layers;\n\n if (status === 'remove') {\n group.remove(oldLayersGroups[idx]);\n return;\n }\n\n var points0 = [];\n var points1 = [];\n var color;\n var indices = layerSeries[idx].indices;\n\n for (var j = 0; j < indices.length; j++) {\n var layout = data.getItemLayout(indices[j]);\n var x = layout.x;\n var y0 = layout.y0;\n var y = layout.y;\n points0.push([x, y0]);\n points1.push([x, y0 + y]);\n color = data.getItemVisual(indices[j], 'color');\n }\n\n var polygon;\n var text;\n var textLayout = data.getItemLayout(indices[0]);\n var itemModel = data.getItemModel(indices[j - 1]);\n var labelModel = itemModel.getModel('label');\n var margin = labelModel.get('margin');\n\n if (status === 'add') {\n var layerGroup = newLayersGroups[idx] = new graphic.Group();\n polygon = new Polygon({\n shape: {\n points: points0,\n stackedOnPoints: points1,\n smooth: 0.4,\n stackedOnSmooth: 0.4,\n smoothConstraint: false\n },\n z2: 0\n });\n text = new graphic.Text({\n style: {\n x: textLayout.x - margin,\n y: textLayout.y0 + textLayout.y / 2\n }\n });\n layerGroup.add(polygon);\n layerGroup.add(text);\n group.add(layerGroup);\n polygon.setClipPath(createGridClipShape(polygon.getBoundingRect(), seriesModel, function () {\n polygon.removeClipPath();\n }));\n } else {\n var layerGroup = oldLayersGroups[oldIdx];\n polygon = layerGroup.childAt(0);\n text = layerGroup.childAt(1);\n group.add(layerGroup);\n newLayersGroups[idx] = layerGroup;\n graphic.updateProps(polygon, {\n shape: {\n points: points0,\n stackedOnPoints: points1\n }\n }, seriesModel);\n graphic.updateProps(text, {\n style: {\n x: textLayout.x - margin,\n y: textLayout.y0 + textLayout.y / 2\n }\n }, seriesModel);\n }\n\n var hoverItemStyleModel = itemModel.getModel('emphasis.itemStyle');\n var itemStyleModel = itemModel.getModel('itemStyle');\n graphic.setTextStyle(text.style, labelModel, {\n text: labelModel.get('show') ? seriesModel.getFormattedLabel(indices[j - 1], 'normal') || data.getName(indices[j - 1]) : null,\n textVerticalAlign: 'middle'\n });\n polygon.setStyle(extend({\n fill: color\n }, itemStyleModel.getItemStyle(['color'])));\n graphic.setHoverStyle(polygon, hoverItemStyleModel.getItemStyle());\n }\n\n this._layersSeries = layerSeries;\n this._layers = newLayersGroups;\n },\n dispose: function () {}\n}); // add animation to the view\n\n\nfunction createGridClipShape(rect, seriesModel, cb) {\n var rectEl = new graphic.Rect({\n shape: {\n x: rect.x - 10,\n y: rect.y - 10,\n width: 0,\n height: rect.height + 20\n }\n });\n graphic.initProps(rectEl, {\n shape: {\n width: rect.width + 20,\n height: rect.height + 20\n }\n }, seriesModel, cb);\n return rectEl;\n}\n\nmodule.exports = _default;","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = $toString(R.source);\n var rf = R.flags;\n var f = $toString(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../../util/model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar isObject = zrUtil.isObject;\nvar POSSIBLE_STYLES = ['areaStyle', 'lineStyle', 'nodeStyle', 'linkStyle', 'chordStyle', 'label', 'labelLine'];\n\nfunction compatEC2ItemStyle(opt) {\n var itemStyleOpt = opt && opt.itemStyle;\n\n if (!itemStyleOpt) {\n return;\n }\n\n for (var i = 0, len = POSSIBLE_STYLES.length; i < len; i++) {\n var styleName = POSSIBLE_STYLES[i];\n var normalItemStyleOpt = itemStyleOpt.normal;\n var emphasisItemStyleOpt = itemStyleOpt.emphasis;\n\n if (normalItemStyleOpt && normalItemStyleOpt[styleName]) {\n opt[styleName] = opt[styleName] || {};\n\n if (!opt[styleName].normal) {\n opt[styleName].normal = normalItemStyleOpt[styleName];\n } else {\n zrUtil.merge(opt[styleName].normal, normalItemStyleOpt[styleName]);\n }\n\n normalItemStyleOpt[styleName] = null;\n }\n\n if (emphasisItemStyleOpt && emphasisItemStyleOpt[styleName]) {\n opt[styleName] = opt[styleName] || {};\n\n if (!opt[styleName].emphasis) {\n opt[styleName].emphasis = emphasisItemStyleOpt[styleName];\n } else {\n zrUtil.merge(opt[styleName].emphasis, emphasisItemStyleOpt[styleName]);\n }\n\n emphasisItemStyleOpt[styleName] = null;\n }\n }\n}\n\nfunction convertNormalEmphasis(opt, optType, useExtend) {\n if (opt && opt[optType] && (opt[optType].normal || opt[optType].emphasis)) {\n var normalOpt = opt[optType].normal;\n var emphasisOpt = opt[optType].emphasis;\n\n if (normalOpt) {\n // Timeline controlStyle has other properties besides normal and emphasis\n if (useExtend) {\n opt[optType].normal = opt[optType].emphasis = null;\n zrUtil.defaults(opt[optType], normalOpt);\n } else {\n opt[optType] = normalOpt;\n }\n }\n\n if (emphasisOpt) {\n opt.emphasis = opt.emphasis || {};\n opt.emphasis[optType] = emphasisOpt;\n }\n }\n}\n\nfunction removeEC3NormalStatus(opt) {\n convertNormalEmphasis(opt, 'itemStyle');\n convertNormalEmphasis(opt, 'lineStyle');\n convertNormalEmphasis(opt, 'areaStyle');\n convertNormalEmphasis(opt, 'label');\n convertNormalEmphasis(opt, 'labelLine'); // treemap\n\n convertNormalEmphasis(opt, 'upperLabel'); // graph\n\n convertNormalEmphasis(opt, 'edgeLabel');\n}\n\nfunction compatTextStyle(opt, propName) {\n // Check whether is not object (string\\null\\undefined ...)\n var labelOptSingle = isObject(opt) && opt[propName];\n var textStyle = isObject(labelOptSingle) && labelOptSingle.textStyle;\n\n if (textStyle) {\n for (var i = 0, len = modelUtil.TEXT_STYLE_OPTIONS.length; i < len; i++) {\n var propName = modelUtil.TEXT_STYLE_OPTIONS[i];\n\n if (textStyle.hasOwnProperty(propName)) {\n labelOptSingle[propName] = textStyle[propName];\n }\n }\n }\n}\n\nfunction compatEC3CommonStyles(opt) {\n if (opt) {\n removeEC3NormalStatus(opt);\n compatTextStyle(opt, 'label');\n opt.emphasis && compatTextStyle(opt.emphasis, 'label');\n }\n}\n\nfunction processSeries(seriesOpt) {\n if (!isObject(seriesOpt)) {\n return;\n }\n\n compatEC2ItemStyle(seriesOpt);\n removeEC3NormalStatus(seriesOpt);\n compatTextStyle(seriesOpt, 'label'); // treemap\n\n compatTextStyle(seriesOpt, 'upperLabel'); // graph\n\n compatTextStyle(seriesOpt, 'edgeLabel');\n\n if (seriesOpt.emphasis) {\n compatTextStyle(seriesOpt.emphasis, 'label'); // treemap\n\n compatTextStyle(seriesOpt.emphasis, 'upperLabel'); // graph\n\n compatTextStyle(seriesOpt.emphasis, 'edgeLabel');\n }\n\n var markPoint = seriesOpt.markPoint;\n\n if (markPoint) {\n compatEC2ItemStyle(markPoint);\n compatEC3CommonStyles(markPoint);\n }\n\n var markLine = seriesOpt.markLine;\n\n if (markLine) {\n compatEC2ItemStyle(markLine);\n compatEC3CommonStyles(markLine);\n }\n\n var markArea = seriesOpt.markArea;\n\n if (markArea) {\n compatEC3CommonStyles(markArea);\n }\n\n var data = seriesOpt.data; // Break with ec3: if `setOption` again, there may be no `type` in option,\n // then the backward compat based on option type will not be performed.\n\n if (seriesOpt.type === 'graph') {\n data = data || seriesOpt.nodes;\n var edgeData = seriesOpt.links || seriesOpt.edges;\n\n if (edgeData && !zrUtil.isTypedArray(edgeData)) {\n for (var i = 0; i < edgeData.length; i++) {\n compatEC3CommonStyles(edgeData[i]);\n }\n }\n\n zrUtil.each(seriesOpt.categories, function (opt) {\n removeEC3NormalStatus(opt);\n });\n }\n\n if (data && !zrUtil.isTypedArray(data)) {\n for (var i = 0; i < data.length; i++) {\n compatEC3CommonStyles(data[i]);\n }\n } // mark point data\n\n\n var markPoint = seriesOpt.markPoint;\n\n if (markPoint && markPoint.data) {\n var mpData = markPoint.data;\n\n for (var i = 0; i < mpData.length; i++) {\n compatEC3CommonStyles(mpData[i]);\n }\n } // mark line data\n\n\n var markLine = seriesOpt.markLine;\n\n if (markLine && markLine.data) {\n var mlData = markLine.data;\n\n for (var i = 0; i < mlData.length; i++) {\n if (zrUtil.isArray(mlData[i])) {\n compatEC3CommonStyles(mlData[i][0]);\n compatEC3CommonStyles(mlData[i][1]);\n } else {\n compatEC3CommonStyles(mlData[i]);\n }\n }\n } // Series\n\n\n if (seriesOpt.type === 'gauge') {\n compatTextStyle(seriesOpt, 'axisLabel');\n compatTextStyle(seriesOpt, 'title');\n compatTextStyle(seriesOpt, 'detail');\n } else if (seriesOpt.type === 'treemap') {\n convertNormalEmphasis(seriesOpt.breadcrumb, 'itemStyle');\n zrUtil.each(seriesOpt.levels, function (opt) {\n removeEC3NormalStatus(opt);\n });\n } else if (seriesOpt.type === 'tree') {\n removeEC3NormalStatus(seriesOpt.leaves);\n } // sunburst starts from ec4, so it does not need to compat levels.\n\n}\n\nfunction toArr(o) {\n return zrUtil.isArray(o) ? o : o ? [o] : [];\n}\n\nfunction toObj(o) {\n return (zrUtil.isArray(o) ? o[0] : o) || {};\n}\n\nfunction _default(option, isTheme) {\n each(toArr(option.series), function (seriesOpt) {\n isObject(seriesOpt) && processSeries(seriesOpt);\n });\n var axes = ['xAxis', 'yAxis', 'radiusAxis', 'angleAxis', 'singleAxis', 'parallelAxis', 'radar'];\n isTheme && axes.push('valueAxis', 'categoryAxis', 'logAxis', 'timeAxis');\n each(axes, function (axisName) {\n each(toArr(option[axisName]), function (axisOpt) {\n if (axisOpt) {\n compatTextStyle(axisOpt, 'axisLabel');\n compatTextStyle(axisOpt.axisPointer, 'label');\n }\n });\n });\n each(toArr(option.parallel), function (parallelOpt) {\n var parallelAxisDefault = parallelOpt && parallelOpt.parallelAxisDefault;\n compatTextStyle(parallelAxisDefault, 'axisLabel');\n compatTextStyle(parallelAxisDefault && parallelAxisDefault.axisPointer, 'label');\n });\n each(toArr(option.calendar), function (calendarOpt) {\n convertNormalEmphasis(calendarOpt, 'itemStyle');\n compatTextStyle(calendarOpt, 'dayLabel');\n compatTextStyle(calendarOpt, 'monthLabel');\n compatTextStyle(calendarOpt, 'yearLabel');\n }); // radar.name.textStyle\n\n each(toArr(option.radar), function (radarOpt) {\n compatTextStyle(radarOpt, 'name');\n });\n each(toArr(option.geo), function (geoOpt) {\n if (isObject(geoOpt)) {\n compatEC3CommonStyles(geoOpt);\n each(toArr(geoOpt.regions), function (regionObj) {\n compatEC3CommonStyles(regionObj);\n });\n }\n });\n each(toArr(option.timeline), function (timelineOpt) {\n compatEC3CommonStyles(timelineOpt);\n convertNormalEmphasis(timelineOpt, 'label');\n convertNormalEmphasis(timelineOpt, 'itemStyle');\n convertNormalEmphasis(timelineOpt, 'controlStyle', true);\n var data = timelineOpt.data;\n zrUtil.isArray(data) && zrUtil.each(data, function (item) {\n if (zrUtil.isObject(item)) {\n convertNormalEmphasis(item, 'label');\n convertNormalEmphasis(item, 'itemStyle');\n }\n });\n });\n each(toArr(option.toolbox), function (toolboxOpt) {\n convertNormalEmphasis(toolboxOpt, 'iconStyle');\n each(toolboxOpt.feature, function (featureOpt) {\n convertNormalEmphasis(featureOpt, 'iconStyle');\n });\n });\n compatTextStyle(toObj(option.axisPointer), 'label');\n compatTextStyle(toObj(option.tooltip).axisPointer, 'label');\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// TODO Parse shadow style\n// TODO Only shallow path support\nfunction _default(properties) {\n // Normalize\n for (var i = 0; i < properties.length; i++) {\n if (!properties[i][1]) {\n properties[i][1] = properties[i][0];\n }\n }\n\n return function (model, excludes, includes) {\n var style = {};\n\n for (var i = 0; i < properties.length; i++) {\n var propName = properties[i][1];\n\n if (excludes && zrUtil.indexOf(excludes, propName) >= 0 || includes && zrUtil.indexOf(includes, propName) < 0) {\n continue;\n }\n\n var val = model.getShallow(propName);\n\n if (val != null) {\n style[properties[i][0]] = val;\n }\n }\n\n return style;\n };\n}\n\nmodule.exports = _default;","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\nvar linearMap = _number.linearMap;\n\nvar labelLayout = require(\"./labelLayout\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar PI2 = Math.PI * 2;\nvar RADIAN = Math.PI / 180;\n\nfunction _default(seriesType, ecModel, api, payload) {\n ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n var data = seriesModel.getData();\n var valueDim = data.mapDimension('value');\n var center = seriesModel.get('center');\n var radius = seriesModel.get('radius');\n\n if (!zrUtil.isArray(radius)) {\n radius = [0, radius];\n }\n\n if (!zrUtil.isArray(center)) {\n center = [center, center];\n }\n\n var width = api.getWidth();\n var height = api.getHeight();\n var size = Math.min(width, height);\n var cx = parsePercent(center[0], width);\n var cy = parsePercent(center[1], height);\n var r0 = parsePercent(radius[0], size / 2);\n var r = parsePercent(radius[1], size / 2);\n var startAngle = -seriesModel.get('startAngle') * RADIAN;\n var minAngle = seriesModel.get('minAngle') * RADIAN;\n var validDataCount = 0;\n data.each(valueDim, function (value) {\n !isNaN(value) && validDataCount++;\n });\n var sum = data.getSum(valueDim); // Sum may be 0\n\n var unitRadian = Math.PI / (sum || validDataCount) * 2;\n var clockwise = seriesModel.get('clockwise');\n var roseType = seriesModel.get('roseType');\n var stillShowZeroSum = seriesModel.get('stillShowZeroSum'); // [0...max]\n\n var extent = data.getDataExtent(valueDim);\n extent[0] = 0; // In the case some sector angle is smaller than minAngle\n\n var restAngle = PI2;\n var valueSumLargerThanMinAngle = 0;\n var currentAngle = startAngle;\n var dir = clockwise ? 1 : -1;\n data.each(valueDim, function (value, idx) {\n var angle;\n\n if (isNaN(value)) {\n data.setItemLayout(idx, {\n angle: NaN,\n startAngle: NaN,\n endAngle: NaN,\n clockwise: clockwise,\n cx: cx,\n cy: cy,\n r0: r0,\n r: roseType ? NaN : r\n });\n return;\n } // FIXME 兼容 2.0 但是 roseType 是 area 的时候才是这样?\n\n\n if (roseType !== 'area') {\n angle = sum === 0 && stillShowZeroSum ? unitRadian : value * unitRadian;\n } else {\n angle = PI2 / validDataCount;\n }\n\n if (angle < minAngle) {\n angle = minAngle;\n restAngle -= minAngle;\n } else {\n valueSumLargerThanMinAngle += value;\n }\n\n var endAngle = currentAngle + dir * angle;\n data.setItemLayout(idx, {\n angle: angle,\n startAngle: currentAngle,\n endAngle: endAngle,\n clockwise: clockwise,\n cx: cx,\n cy: cy,\n r0: r0,\n r: roseType ? linearMap(value, extent, [r0, r]) : r\n });\n currentAngle = endAngle;\n }); // Some sector is constrained by minAngle\n // Rest sectors needs recalculate angle\n\n if (restAngle < PI2 && validDataCount) {\n // Average the angle if rest angle is not enough after all angles is\n // Constrained by minAngle\n if (restAngle <= 1e-3) {\n var angle = PI2 / validDataCount;\n data.each(valueDim, function (value, idx) {\n if (!isNaN(value)) {\n var layout = data.getItemLayout(idx);\n layout.angle = angle;\n layout.startAngle = startAngle + dir * idx * angle;\n layout.endAngle = startAngle + dir * (idx + 1) * angle;\n }\n });\n } else {\n unitRadian = restAngle / valueSumLargerThanMinAngle;\n currentAngle = startAngle;\n data.each(valueDim, function (value, idx) {\n if (!isNaN(value)) {\n var layout = data.getItemLayout(idx);\n var angle = layout.angle === minAngle ? minAngle : value * unitRadian;\n layout.startAngle = currentAngle;\n layout.endAngle = currentAngle + dir * angle;\n currentAngle += dir * angle;\n }\n });\n }\n }\n\n labelLayout(seriesModel, r, width, height);\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel) {\n var paletteScope = {};\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n var categoriesData = seriesModel.getCategoriesData();\n var data = seriesModel.getData();\n var categoryNameIdxMap = {};\n categoriesData.each(function (idx) {\n var name = categoriesData.getName(idx); // Add prefix to avoid conflict with Object.prototype.\n\n categoryNameIdxMap['ec-' + name] = idx;\n var itemModel = categoriesData.getItemModel(idx);\n var color = itemModel.get('itemStyle.color') || seriesModel.getColorFromPalette(name, paletteScope);\n categoriesData.setItemVisual(idx, 'color', color);\n }); // Assign category color to visual\n\n if (categoriesData.count()) {\n data.each(function (idx) {\n var model = data.getItemModel(idx);\n var category = model.getShallow('category');\n\n if (category != null) {\n if (typeof category === 'string') {\n category = categoryNameIdxMap['ec-' + category];\n }\n\n if (!data.getItemVisual(idx, 'color', true)) {\n data.setItemVisual(idx, 'color', categoriesData.getItemVisual(category, 'color'));\n }\n }\n });\n }\n });\n}\n\nmodule.exports = _default;","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 140);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 140:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_ = __webpack_require__(5);\nvar vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);\n\n// EXTERNAL MODULE: external \"throttle-debounce/debounce\"\nvar debounce_ = __webpack_require__(18);\nvar debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\nvar dom_ = __webpack_require__(2);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// EXTERNAL MODULE: external \"vue\"\nvar external_vue_ = __webpack_require__(7);\nvar external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);\n\n// CONCATENATED MODULE: ./packages/tooltip/src/main.js\n\n\n\n\n\n\n/* harmony default export */ var main = ({\n name: 'ElTooltip',\n\n mixins: [vue_popper_default.a],\n\n props: {\n openDelay: {\n type: Number,\n default: 0\n },\n disabled: Boolean,\n manual: Boolean,\n effect: {\n type: String,\n default: 'dark'\n },\n arrowOffset: {\n type: Number,\n default: 0\n },\n popperClass: String,\n content: String,\n visibleArrow: {\n default: true\n },\n transition: {\n type: String,\n default: 'el-fade-in-linear'\n },\n popperOptions: {\n default: function _default() {\n return {\n boundariesPadding: 10,\n gpuAcceleration: false\n };\n }\n },\n enterable: {\n type: Boolean,\n default: true\n },\n hideAfter: {\n type: Number,\n default: 0\n },\n tabindex: {\n type: Number,\n default: 0\n }\n },\n\n data: function data() {\n return {\n tooltipId: 'el-tooltip-' + Object(util_[\"generateId\"])(),\n timeoutPending: null,\n focusing: false\n };\n },\n beforeCreate: function beforeCreate() {\n var _this = this;\n\n if (this.$isServer) return;\n\n this.popperVM = new external_vue_default.a({\n data: { node: '' },\n render: function render(h) {\n return this.node;\n }\n }).$mount();\n\n this.debounceClose = debounce_default()(200, function () {\n return _this.handleClosePopper();\n });\n },\n render: function render(h) {\n var _this2 = this;\n\n if (this.popperVM) {\n this.popperVM.node = h(\n 'transition',\n {\n attrs: {\n name: this.transition\n },\n on: {\n 'afterLeave': this.doDestroy\n }\n },\n [h(\n 'div',\n {\n on: {\n 'mouseleave': function mouseleave() {\n _this2.setExpectedState(false);_this2.debounceClose();\n },\n 'mouseenter': function mouseenter() {\n _this2.setExpectedState(true);\n }\n },\n\n ref: 'popper',\n attrs: { role: 'tooltip',\n id: this.tooltipId,\n 'aria-hidden': this.disabled || !this.showPopper ? 'true' : 'false'\n },\n directives: [{\n name: 'show',\n value: !this.disabled && this.showPopper\n }],\n\n 'class': ['el-tooltip__popper', 'is-' + this.effect, this.popperClass] },\n [this.$slots.content || this.content]\n )]\n );\n }\n\n var firstElement = this.getFirstElement();\n if (!firstElement) return null;\n\n var data = firstElement.data = firstElement.data || {};\n data.staticClass = this.addTooltipClass(data.staticClass);\n\n return firstElement;\n },\n mounted: function mounted() {\n var _this3 = this;\n\n this.referenceElm = this.$el;\n if (this.$el.nodeType === 1) {\n this.$el.setAttribute('aria-describedby', this.tooltipId);\n this.$el.setAttribute('tabindex', this.tabindex);\n Object(dom_[\"on\"])(this.referenceElm, 'mouseenter', this.show);\n Object(dom_[\"on\"])(this.referenceElm, 'mouseleave', this.hide);\n Object(dom_[\"on\"])(this.referenceElm, 'focus', function () {\n if (!_this3.$slots.default || !_this3.$slots.default.length) {\n _this3.handleFocus();\n return;\n }\n var instance = _this3.$slots.default[0].componentInstance;\n if (instance && instance.focus) {\n instance.focus();\n } else {\n _this3.handleFocus();\n }\n });\n Object(dom_[\"on\"])(this.referenceElm, 'blur', this.handleBlur);\n Object(dom_[\"on\"])(this.referenceElm, 'click', this.removeFocusing);\n }\n // fix issue https://github.com/ElemeFE/element/issues/14424\n if (this.value && this.popperVM) {\n this.popperVM.$nextTick(function () {\n if (_this3.value) {\n _this3.updatePopper();\n }\n });\n }\n },\n\n watch: {\n focusing: function focusing(val) {\n if (val) {\n Object(dom_[\"addClass\"])(this.referenceElm, 'focusing');\n } else {\n Object(dom_[\"removeClass\"])(this.referenceElm, 'focusing');\n }\n }\n },\n methods: {\n show: function show() {\n this.setExpectedState(true);\n this.handleShowPopper();\n },\n hide: function hide() {\n this.setExpectedState(false);\n this.debounceClose();\n },\n handleFocus: function handleFocus() {\n this.focusing = true;\n this.show();\n },\n handleBlur: function handleBlur() {\n this.focusing = false;\n this.hide();\n },\n removeFocusing: function removeFocusing() {\n this.focusing = false;\n },\n addTooltipClass: function addTooltipClass(prev) {\n if (!prev) {\n return 'el-tooltip';\n } else {\n return 'el-tooltip ' + prev.replace('el-tooltip', '');\n }\n },\n handleShowPopper: function handleShowPopper() {\n var _this4 = this;\n\n if (!this.expectedState || this.manual) return;\n clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n _this4.showPopper = true;\n }, this.openDelay);\n\n if (this.hideAfter > 0) {\n this.timeoutPending = setTimeout(function () {\n _this4.showPopper = false;\n }, this.hideAfter);\n }\n },\n handleClosePopper: function handleClosePopper() {\n if (this.enterable && this.expectedState || this.manual) return;\n clearTimeout(this.timeout);\n\n if (this.timeoutPending) {\n clearTimeout(this.timeoutPending);\n }\n this.showPopper = false;\n\n if (this.disabled) {\n this.doDestroy();\n }\n },\n setExpectedState: function setExpectedState(expectedState) {\n if (expectedState === false) {\n clearTimeout(this.timeoutPending);\n }\n this.expectedState = expectedState;\n },\n getFirstElement: function getFirstElement() {\n var slots = this.$slots.default;\n if (!Array.isArray(slots)) return null;\n var element = null;\n for (var index = 0; index < slots.length; index++) {\n if (slots[index] && slots[index].tag) {\n element = slots[index];\n };\n }\n return element;\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.popperVM && this.popperVM.$destroy();\n },\n destroyed: function destroyed() {\n var reference = this.referenceElm;\n if (reference.nodeType === 1) {\n Object(dom_[\"off\"])(reference, 'mouseenter', this.show);\n Object(dom_[\"off\"])(reference, 'mouseleave', this.hide);\n Object(dom_[\"off\"])(reference, 'focus', this.handleFocus);\n Object(dom_[\"off\"])(reference, 'blur', this.handleBlur);\n Object(dom_[\"off\"])(reference, 'click', this.removeFocusing);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/tooltip/index.js\n\n\n/* istanbul ignore next */\nmain.install = function (Vue) {\n Vue.component(main.name, main);\n};\n\n/* harmony default export */ var tooltip = __webpack_exports__[\"default\"] = (main);\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"throttle-debounce/debounce\");\n\n/***/ }),\n\n/***/ 2:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/dom\");\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/vue-popper\");\n\n/***/ }),\n\n/***/ 7:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue\");\n\n/***/ })\n\n/******/ });","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = {\n toolbox: {\n brush: {\n title: {\n rect: '矩形选择',\n polygon: '圈选',\n lineX: '横向选择',\n lineY: '纵向选择',\n keep: '保持选择',\n clear: '清除选择'\n }\n },\n dataView: {\n title: '数据视图',\n lang: ['数据视图', '关闭', '刷新']\n },\n dataZoom: {\n title: {\n zoom: '区域缩放',\n back: '区域缩放还原'\n }\n },\n magicType: {\n title: {\n line: '切换为折线图',\n bar: '切换为柱状图',\n stack: '切换为堆叠',\n tiled: '切换为平铺'\n }\n },\n restore: {\n title: '还原'\n },\n saveAsImage: {\n title: '保存为图片',\n lang: ['右键另存为图片']\n }\n },\n series: {\n typeNames: {\n pie: '饼图',\n bar: '柱状图',\n line: '折线图',\n scatter: '散点图',\n effectScatter: '涟漪散点图',\n radar: '雷达图',\n tree: '树图',\n treemap: '矩形树图',\n boxplot: '箱型图',\n candlestick: 'K线图',\n k: 'K线图',\n heatmap: '热力图',\n map: '地图',\n parallel: '平行坐标图',\n lines: '线图',\n graph: '关系图',\n sankey: '桑基图',\n funnel: '漏斗图',\n gauge: '仪表盘图',\n pictorialBar: '象形柱图',\n themeRiver: '主题河流图',\n sunburst: '旭日图'\n }\n },\n aria: {\n general: {\n withTitle: '这是一个关于“{title}”的图表。',\n withoutTitle: '这是一个图表,'\n },\n series: {\n single: {\n prefix: '',\n withName: '图表类型是{seriesType},表示{seriesName}。',\n withoutName: '图表类型是{seriesType}。'\n },\n multiple: {\n prefix: '它由{seriesCount}个图表系列组成。',\n withName: '第{seriesId}个系列是一个表示{seriesName}的{seriesType},',\n withoutName: '第{seriesId}个系列是一个{seriesType},',\n separator: {\n middle: ';',\n end: '。'\n }\n }\n },\n data: {\n allData: '其数据是——',\n partialData: '其中,前{displayCnt}项是——',\n withName: '{name}的数据是{value}',\n withoutName: '{value}',\n separator: {\n middle: ',',\n end: ''\n }\n }\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar preprocessor = require(\"./visualMap/preprocessor\");\n\nrequire(\"./visualMap/typeDefaulter\");\n\nrequire(\"./visualMap/visualEncoding\");\n\nrequire(\"./visualMap/PiecewiseModel\");\n\nrequire(\"./visualMap/PiecewiseView\");\n\nrequire(\"./visualMap/visualMapAction\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * DataZoom component entry\n */\necharts.registerPreprocessor(preprocessor);","'use strict';\n\nexports.__esModule = true;\nexports.default = scrollIntoView;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction scrollIntoView(container, selected) {\n if (_vue2.default.prototype.$isServer) return;\n\n if (!selected) {\n container.scrollTop = 0;\n return;\n }\n\n var offsetParents = [];\n var pointer = selected.offsetParent;\n while (pointer && container !== pointer && container.contains(pointer)) {\n offsetParents.push(pointer);\n pointer = pointer.offsetParent;\n }\n var top = selected.offsetTop + offsetParents.reduce(function (prev, curr) {\n return prev + curr.offsetTop;\n }, 0);\n var bottom = top + selected.offsetHeight;\n var viewRectTop = container.scrollTop;\n var viewRectBottom = viewRectTop + container.clientHeight;\n\n if (top < viewRectTop) {\n container.scrollTop = top;\n } else if (bottom > viewRectBottom) {\n container.scrollTop = bottom - container.clientHeight;\n }\n}","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar isTypedArray = _util.isTypedArray;\nvar extend = _util.extend;\nvar assert = _util.assert;\nvar each = _util.each;\nvar isObject = _util.isObject;\n\nvar _model = require(\"../../util/model\");\n\nvar getDataItemValue = _model.getDataItemValue;\nvar isDataItemOption = _model.isDataItemOption;\n\nvar _number = require(\"../../util/number\");\n\nvar parseDate = _number.parseDate;\n\nvar Source = require(\"../Source\");\n\nvar _sourceType = require(\"./sourceType\");\n\nvar SOURCE_FORMAT_TYPED_ARRAY = _sourceType.SOURCE_FORMAT_TYPED_ARRAY;\nvar SOURCE_FORMAT_ARRAY_ROWS = _sourceType.SOURCE_FORMAT_ARRAY_ROWS;\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\nvar SOURCE_FORMAT_OBJECT_ROWS = _sourceType.SOURCE_FORMAT_OBJECT_ROWS;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// TODO\n// ??? refactor? check the outer usage of data provider.\n// merge with defaultDimValueGetter?\n\n/**\n * If normal array used, mutable chunk size is supported.\n * If typed array used, chunk size must be fixed.\n */\nfunction DefaultDataProvider(source, dimSize) {\n if (!Source.isInstance(source)) {\n source = Source.seriesDataToSource(source);\n }\n\n this._source = source;\n var data = this._data = source.data;\n var sourceFormat = source.sourceFormat; // Typed array. TODO IE10+?\n\n if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {\n this._offset = 0;\n this._dimSize = dimSize;\n this._data = data;\n }\n\n var methods = providerMethods[sourceFormat === SOURCE_FORMAT_ARRAY_ROWS ? sourceFormat + '_' + source.seriesLayoutBy : sourceFormat];\n extend(this, methods);\n}\n\nvar providerProto = DefaultDataProvider.prototype; // If data is pure without style configuration\n\nproviderProto.pure = false; // If data is persistent and will not be released after use.\n\nproviderProto.persistent = true; // ???! FIXME legacy data provider do not has method getSource\n\nproviderProto.getSource = function () {\n return this._source;\n};\n\nvar providerMethods = {\n 'arrayRows_column': {\n pure: true,\n count: function () {\n return Math.max(0, this._data.length - this._source.startIndex);\n },\n getItem: function (idx) {\n return this._data[idx + this._source.startIndex];\n },\n appendData: appendDataSimply\n },\n 'arrayRows_row': {\n pure: true,\n count: function () {\n var row = this._data[0];\n return row ? Math.max(0, row.length - this._source.startIndex) : 0;\n },\n getItem: function (idx) {\n idx += this._source.startIndex;\n var item = [];\n var data = this._data;\n\n for (var i = 0; i < data.length; i++) {\n var row = data[i];\n item.push(row ? row[idx] : null);\n }\n\n return item;\n },\n appendData: function () {\n throw new Error('Do not support appendData when set seriesLayoutBy: \"row\".');\n }\n },\n 'objectRows': {\n pure: true,\n count: countSimply,\n getItem: getItemSimply,\n appendData: appendDataSimply\n },\n 'keyedColumns': {\n pure: true,\n count: function () {\n var dimName = this._source.dimensionsDefine[0].name;\n var col = this._data[dimName];\n return col ? col.length : 0;\n },\n getItem: function (idx) {\n var item = [];\n var dims = this._source.dimensionsDefine;\n\n for (var i = 0; i < dims.length; i++) {\n var col = this._data[dims[i].name];\n item.push(col ? col[idx] : null);\n }\n\n return item;\n },\n appendData: function (newData) {\n var data = this._data;\n each(newData, function (newCol, key) {\n var oldCol = data[key] || (data[key] = []);\n\n for (var i = 0; i < (newCol || []).length; i++) {\n oldCol.push(newCol[i]);\n }\n });\n }\n },\n 'original': {\n count: countSimply,\n getItem: getItemSimply,\n appendData: appendDataSimply\n },\n 'typedArray': {\n persistent: false,\n pure: true,\n count: function () {\n return this._data ? this._data.length / this._dimSize : 0;\n },\n getItem: function (idx, out) {\n idx = idx - this._offset;\n out = out || [];\n var offset = this._dimSize * idx;\n\n for (var i = 0; i < this._dimSize; i++) {\n out[i] = this._data[offset + i];\n }\n\n return out;\n },\n appendData: function (newData) {\n this._data = newData;\n },\n // Clean self if data is already used.\n clean: function () {\n // PENDING\n this._offset += this.count();\n this._data = null;\n }\n }\n};\n\nfunction countSimply() {\n return this._data.length;\n}\n\nfunction getItemSimply(idx) {\n return this._data[idx];\n}\n\nfunction appendDataSimply(newData) {\n for (var i = 0; i < newData.length; i++) {\n this._data.push(newData[i]);\n }\n}\n\nvar rawValueGetters = {\n arrayRows: getRawValueSimply,\n objectRows: function (dataItem, dataIndex, dimIndex, dimName) {\n return dimIndex != null ? dataItem[dimName] : dataItem;\n },\n keyedColumns: getRawValueSimply,\n original: function (dataItem, dataIndex, dimIndex, dimName) {\n // FIXME\n // In some case (markpoint in geo (geo-map.html)), dataItem\n // is {coord: [...]}\n var value = getDataItemValue(dataItem);\n return dimIndex == null || !(value instanceof Array) ? value : value[dimIndex];\n },\n typedArray: getRawValueSimply\n};\n\nfunction getRawValueSimply(dataItem, dataIndex, dimIndex, dimName) {\n return dimIndex != null ? dataItem[dimIndex] : dataItem;\n}\n\nvar defaultDimValueGetters = {\n arrayRows: getDimValueSimply,\n objectRows: function (dataItem, dimName, dataIndex, dimIndex) {\n return converDataValue(dataItem[dimName], this._dimensionInfos[dimName]);\n },\n keyedColumns: getDimValueSimply,\n original: function (dataItem, dimName, dataIndex, dimIndex) {\n // Performance sensitive, do not use modelUtil.getDataItemValue.\n // If dataItem is an plain object with no value field, the var `value`\n // will be assigned with the object, but it will be tread correctly\n // in the `convertDataValue`.\n var value = dataItem && (dataItem.value == null ? dataItem : dataItem.value); // If any dataItem is like { value: 10 }\n\n if (!this._rawData.pure && isDataItemOption(dataItem)) {\n this.hasItemOption = true;\n }\n\n return converDataValue(value instanceof Array ? value[dimIndex] // If value is a single number or something else not array.\n : value, this._dimensionInfos[dimName]);\n },\n typedArray: function (dataItem, dimName, dataIndex, dimIndex) {\n return dataItem[dimIndex];\n }\n};\n\nfunction getDimValueSimply(dataItem, dimName, dataIndex, dimIndex) {\n return converDataValue(dataItem[dimIndex], this._dimensionInfos[dimName]);\n}\n/**\n * This helper method convert value in data.\n * @param {string|number|Date} value\n * @param {Object|string} [dimInfo] If string (like 'x'), dimType defaults 'number'.\n * If \"dimInfo.ordinalParseAndSave\", ordinal value can be parsed.\n */\n\n\nfunction converDataValue(value, dimInfo) {\n // Performance sensitive.\n var dimType = dimInfo && dimInfo.type;\n\n if (dimType === 'ordinal') {\n // If given value is a category string\n var ordinalMeta = dimInfo && dimInfo.ordinalMeta;\n return ordinalMeta ? ordinalMeta.parseAndCollect(value) : value;\n }\n\n if (dimType === 'time' // spead up when using timestamp\n && typeof value !== 'number' && value != null && value !== '-') {\n value = +parseDate(value);\n } // dimType defaults 'number'.\n // If dimType is not ordinal and value is null or undefined or NaN or '-',\n // parse to NaN.\n\n\n return value == null || value === '' ? NaN // If string (like '-'), using '+' parse to NaN\n // If object, also parse to NaN\n : +value;\n} // ??? FIXME can these logic be more neat: getRawValue, getRawDataItem,\n// Consider persistent.\n// Caution: why use raw value to display on label or tooltip?\n// A reason is to avoid format. For example time value we do not know\n// how to format is expected. More over, if stack is used, calculated\n// value may be 0.91000000001, which have brings trouble to display.\n// TODO: consider how to treat null/undefined/NaN when display?\n\n/**\n * @param {module:echarts/data/List} data\n * @param {number} dataIndex\n * @param {string|number} [dim] dimName or dimIndex\n * @return {Array.|string|number} can be null/undefined.\n */\n\n\nfunction retrieveRawValue(data, dataIndex, dim) {\n if (!data) {\n return;\n } // Consider data may be not persistent.\n\n\n var dataItem = data.getRawDataItem(dataIndex);\n\n if (dataItem == null) {\n return;\n }\n\n var sourceFormat = data.getProvider().getSource().sourceFormat;\n var dimName;\n var dimIndex;\n var dimInfo = data.getDimensionInfo(dim);\n\n if (dimInfo) {\n dimName = dimInfo.name;\n dimIndex = dimInfo.index;\n }\n\n return rawValueGetters[sourceFormat](dataItem, dataIndex, dimIndex, dimName);\n}\n/**\n * Compatible with some cases (in pie, map) like:\n * data: [{name: 'xx', value: 5, selected: true}, ...]\n * where only sourceFormat is 'original' and 'objectRows' supported.\n *\n * ??? TODO\n * Supported detail options in data item when using 'arrayRows'.\n *\n * @param {module:echarts/data/List} data\n * @param {number} dataIndex\n * @param {string} attr like 'selected'\n */\n\n\nfunction retrieveRawAttr(data, dataIndex, attr) {\n if (!data) {\n return;\n }\n\n var sourceFormat = data.getProvider().getSource().sourceFormat;\n\n if (sourceFormat !== SOURCE_FORMAT_ORIGINAL && sourceFormat !== SOURCE_FORMAT_OBJECT_ROWS) {\n return;\n }\n\n var dataItem = data.getRawDataItem(dataIndex);\n\n if (sourceFormat === SOURCE_FORMAT_ORIGINAL && !isObject(dataItem)) {\n dataItem = null;\n }\n\n if (dataItem) {\n return dataItem[attr];\n }\n}\n\nexports.DefaultDataProvider = DefaultDataProvider;\nexports.defaultDimValueGetters = defaultDimValueGetters;\nexports.retrieveRawValue = retrieveRawValue;\nexports.retrieveRawAttr = retrieveRawAttr;","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = $toString(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, $toString(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = $toString(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, $toString(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom($toString(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom($toString(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, $toString(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, $toString(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = $toString(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, $toString(pathname), PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = $toString(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = $toString(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","var fixShadow = require(\"./helper/fixShadow\");\n\nvar _constant = require(\"./constant\");\n\nvar ContextCachedBy = _constant.ContextCachedBy;\nvar STYLE_COMMON_PROPS = [['shadowBlur', 0], ['shadowOffsetX', 0], ['shadowOffsetY', 0], ['shadowColor', '#000'], ['lineCap', 'butt'], ['lineJoin', 'miter'], ['miterLimit', 10]]; // var SHADOW_PROPS = STYLE_COMMON_PROPS.slice(0, 4);\n// var LINE_PROPS = STYLE_COMMON_PROPS.slice(4);\n\nvar Style = function (opts) {\n this.extendFrom(opts, false);\n};\n\nfunction createLinearGradient(ctx, obj, rect) {\n var x = obj.x == null ? 0 : obj.x;\n var x2 = obj.x2 == null ? 1 : obj.x2;\n var y = obj.y == null ? 0 : obj.y;\n var y2 = obj.y2 == null ? 0 : obj.y2;\n\n if (!obj.global) {\n x = x * rect.width + rect.x;\n x2 = x2 * rect.width + rect.x;\n y = y * rect.height + rect.y;\n y2 = y2 * rect.height + rect.y;\n } // Fix NaN when rect is Infinity\n\n\n x = isNaN(x) ? 0 : x;\n x2 = isNaN(x2) ? 1 : x2;\n y = isNaN(y) ? 0 : y;\n y2 = isNaN(y2) ? 0 : y2;\n var canvasGradient = ctx.createLinearGradient(x, y, x2, y2);\n return canvasGradient;\n}\n\nfunction createRadialGradient(ctx, obj, rect) {\n var width = rect.width;\n var height = rect.height;\n var min = Math.min(width, height);\n var x = obj.x == null ? 0.5 : obj.x;\n var y = obj.y == null ? 0.5 : obj.y;\n var r = obj.r == null ? 0.5 : obj.r;\n\n if (!obj.global) {\n x = x * width + rect.x;\n y = y * height + rect.y;\n r = r * min;\n }\n\n var canvasGradient = ctx.createRadialGradient(x, y, 0, x, y, r);\n return canvasGradient;\n}\n\nStyle.prototype = {\n constructor: Style,\n\n /**\n * @type {string}\n */\n fill: '#000',\n\n /**\n * @type {string}\n */\n stroke: null,\n\n /**\n * @type {number}\n */\n opacity: 1,\n\n /**\n * @type {number}\n */\n fillOpacity: null,\n\n /**\n * @type {number}\n */\n strokeOpacity: null,\n\n /**\n * @type {Array.}\n */\n lineDash: null,\n\n /**\n * @type {number}\n */\n lineDashOffset: 0,\n\n /**\n * @type {number}\n */\n shadowBlur: 0,\n\n /**\n * @type {number}\n */\n shadowOffsetX: 0,\n\n /**\n * @type {number}\n */\n shadowOffsetY: 0,\n\n /**\n * @type {number}\n */\n lineWidth: 1,\n\n /**\n * If stroke ignore scale\n * @type {Boolean}\n */\n strokeNoScale: false,\n // Bounding rect text configuration\n // Not affected by element transform\n\n /**\n * @type {string}\n */\n text: null,\n\n /**\n * If `fontSize` or `fontFamily` exists, `font` will be reset by\n * `fontSize`, `fontStyle`, `fontWeight`, `fontFamily`.\n * So do not visit it directly in upper application (like echarts),\n * but use `contain/text#makeFont` instead.\n * @type {string}\n */\n font: null,\n\n /**\n * The same as font. Use font please.\n * @deprecated\n * @type {string}\n */\n textFont: null,\n\n /**\n * It helps merging respectively, rather than parsing an entire font string.\n * @type {string}\n */\n fontStyle: null,\n\n /**\n * It helps merging respectively, rather than parsing an entire font string.\n * @type {string}\n */\n fontWeight: null,\n\n /**\n * It helps merging respectively, rather than parsing an entire font string.\n * Should be 12 but not '12px'.\n * @type {number}\n */\n fontSize: null,\n\n /**\n * It helps merging respectively, rather than parsing an entire font string.\n * @type {string}\n */\n fontFamily: null,\n\n /**\n * Reserved for special functinality, like 'hr'.\n * @type {string}\n */\n textTag: null,\n\n /**\n * @type {string}\n */\n textFill: '#000',\n\n /**\n * @type {string}\n */\n textStroke: null,\n\n /**\n * @type {number}\n */\n textWidth: null,\n\n /**\n * Only for textBackground.\n * @type {number}\n */\n textHeight: null,\n\n /**\n * textStroke may be set as some color as a default\n * value in upper applicaion, where the default value\n * of textStrokeWidth should be 0 to make sure that\n * user can choose to do not use text stroke.\n * @type {number}\n */\n textStrokeWidth: 0,\n\n /**\n * @type {number}\n */\n textLineHeight: null,\n\n /**\n * 'inside', 'left', 'right', 'top', 'bottom'\n * [x, y]\n * Based on x, y of rect.\n * @type {string|Array.}\n * @default 'inside'\n */\n textPosition: 'inside',\n\n /**\n * If not specified, use the boundingRect of a `displayable`.\n * @type {Object}\n */\n textRect: null,\n\n /**\n * [x, y]\n * @type {Array.}\n */\n textOffset: null,\n\n /**\n * @type {string}\n */\n textAlign: null,\n\n /**\n * @type {string}\n */\n textVerticalAlign: null,\n\n /**\n * @type {number}\n */\n textDistance: 5,\n\n /**\n * @type {string}\n */\n textShadowColor: 'transparent',\n\n /**\n * @type {number}\n */\n textShadowBlur: 0,\n\n /**\n * @type {number}\n */\n textShadowOffsetX: 0,\n\n /**\n * @type {number}\n */\n textShadowOffsetY: 0,\n\n /**\n * @type {string}\n */\n textBoxShadowColor: 'transparent',\n\n /**\n * @type {number}\n */\n textBoxShadowBlur: 0,\n\n /**\n * @type {number}\n */\n textBoxShadowOffsetX: 0,\n\n /**\n * @type {number}\n */\n textBoxShadowOffsetY: 0,\n\n /**\n * Whether transform text.\n * Only useful in Path and Image element\n * @type {boolean}\n */\n transformText: false,\n\n /**\n * Text rotate around position of Path or Image\n * Only useful in Path and Image element and transformText is false.\n */\n textRotation: 0,\n\n /**\n * Text origin of text rotation, like [10, 40].\n * Based on x, y of rect.\n * Useful in label rotation of circular symbol.\n * By default, this origin is textPosition.\n * Can be 'center'.\n * @type {string|Array.}\n */\n textOrigin: null,\n\n /**\n * @type {string}\n */\n textBackgroundColor: null,\n\n /**\n * @type {string}\n */\n textBorderColor: null,\n\n /**\n * @type {number}\n */\n textBorderWidth: 0,\n\n /**\n * @type {number}\n */\n textBorderRadius: 0,\n\n /**\n * Can be `2` or `[2, 4]` or `[2, 3, 4, 5]`\n * @type {number|Array.}\n */\n textPadding: null,\n\n /**\n * Text styles for rich text.\n * @type {Object}\n */\n rich: null,\n\n /**\n * {outerWidth, outerHeight, ellipsis, placeholder}\n * @type {Object}\n */\n truncate: null,\n\n /**\n * https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation\n * @type {string}\n */\n blend: null,\n\n /**\n * @param {CanvasRenderingContext2D} ctx\n */\n bind: function (ctx, el, prevEl) {\n var style = this;\n var prevStyle = prevEl && prevEl.style; // If no prevStyle, it means first draw.\n // Only apply cache if the last time cachced by this function.\n\n var notCheckCache = !prevStyle || ctx.__attrCachedBy !== ContextCachedBy.STYLE_BIND;\n ctx.__attrCachedBy = ContextCachedBy.STYLE_BIND;\n\n for (var i = 0; i < STYLE_COMMON_PROPS.length; i++) {\n var prop = STYLE_COMMON_PROPS[i];\n var styleName = prop[0];\n\n if (notCheckCache || style[styleName] !== prevStyle[styleName]) {\n // FIXME Invalid property value will cause style leak from previous element.\n ctx[styleName] = fixShadow(ctx, styleName, style[styleName] || prop[1]);\n }\n }\n\n if (notCheckCache || style.fill !== prevStyle.fill) {\n ctx.fillStyle = style.fill;\n }\n\n if (notCheckCache || style.stroke !== prevStyle.stroke) {\n ctx.strokeStyle = style.stroke;\n }\n\n if (notCheckCache || style.opacity !== prevStyle.opacity) {\n ctx.globalAlpha = style.opacity == null ? 1 : style.opacity;\n }\n\n if (notCheckCache || style.blend !== prevStyle.blend) {\n ctx.globalCompositeOperation = style.blend || 'source-over';\n }\n\n if (this.hasStroke()) {\n var lineWidth = style.lineWidth;\n ctx.lineWidth = lineWidth / (this.strokeNoScale && el && el.getLineScale ? el.getLineScale() : 1);\n }\n },\n hasFill: function () {\n var fill = this.fill;\n return fill != null && fill !== 'none';\n },\n hasStroke: function () {\n var stroke = this.stroke;\n return stroke != null && stroke !== 'none' && this.lineWidth > 0;\n },\n\n /**\n * Extend from other style\n * @param {zrender/graphic/Style} otherStyle\n * @param {boolean} overwrite true: overwrirte any way.\n * false: overwrite only when !target.hasOwnProperty\n * others: overwrite when property is not null/undefined.\n */\n extendFrom: function (otherStyle, overwrite) {\n if (otherStyle) {\n for (var name in otherStyle) {\n if (otherStyle.hasOwnProperty(name) && (overwrite === true || (overwrite === false ? !this.hasOwnProperty(name) : otherStyle[name] != null))) {\n this[name] = otherStyle[name];\n }\n }\n }\n },\n\n /**\n * Batch setting style with a given object\n * @param {Object|string} obj\n * @param {*} [obj]\n */\n set: function (obj, value) {\n if (typeof obj === 'string') {\n this[obj] = value;\n } else {\n this.extendFrom(obj, true);\n }\n },\n\n /**\n * Clone\n * @return {zrender/graphic/Style} [description]\n */\n clone: function () {\n var newStyle = new this.constructor();\n newStyle.extendFrom(this, true);\n return newStyle;\n },\n getGradient: function (ctx, obj, rect) {\n var method = obj.type === 'radial' ? createRadialGradient : createLinearGradient;\n var canvasGradient = method(ctx, obj, rect);\n var colorStops = obj.colorStops;\n\n for (var i = 0; i < colorStops.length; i++) {\n canvasGradient.addColorStop(colorStops[i].offset, colorStops[i].color);\n }\n\n return canvasGradient;\n }\n};\nvar styleProto = Style.prototype;\n\nfor (var i = 0; i < STYLE_COMMON_PROPS.length; i++) {\n var prop = STYLE_COMMON_PROPS[i];\n\n if (!(prop[0] in styleProto)) {\n styleProto[prop[0]] = prop[1];\n }\n} // Provide for others\n\n\nStyle.getGradient = styleProto.getGradient;\nvar _default = Style;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar VisualMapping = require(\"./VisualMapping\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @file Visual solution, for consistent option specification.\n */\nvar each = zrUtil.each;\n\nfunction hasKeys(obj) {\n if (obj) {\n for (var name in obj) {\n if (obj.hasOwnProperty(name)) {\n return true;\n }\n }\n }\n}\n/**\n * @param {Object} option\n * @param {Array.} stateList\n * @param {Function} [supplementVisualOption]\n * @return {Object} visualMappings >\n */\n\n\nfunction createVisualMappings(option, stateList, supplementVisualOption) {\n var visualMappings = {};\n each(stateList, function (state) {\n var mappings = visualMappings[state] = createMappings();\n each(option[state], function (visualData, visualType) {\n if (!VisualMapping.isValidType(visualType)) {\n return;\n }\n\n var mappingOption = {\n type: visualType,\n visual: visualData\n };\n supplementVisualOption && supplementVisualOption(mappingOption, state);\n mappings[visualType] = new VisualMapping(mappingOption); // Prepare a alpha for opacity, for some case that opacity\n // is not supported, such as rendering using gradient color.\n\n if (visualType === 'opacity') {\n mappingOption = zrUtil.clone(mappingOption);\n mappingOption.type = 'colorAlpha';\n mappings.__hidden.__alphaForOpacity = new VisualMapping(mappingOption);\n }\n });\n });\n return visualMappings;\n\n function createMappings() {\n var Creater = function () {}; // Make sure hidden fields will not be visited by\n // object iteration (with hasOwnProperty checking).\n\n\n Creater.prototype.__hidden = Creater.prototype;\n var obj = new Creater();\n return obj;\n }\n}\n/**\n * @param {Object} thisOption\n * @param {Object} newOption\n * @param {Array.} keys\n */\n\n\nfunction replaceVisualOption(thisOption, newOption, keys) {\n // Visual attributes merge is not supported, otherwise it\n // brings overcomplicated merge logic. See #2853. So if\n // newOption has anyone of these keys, all of these keys\n // will be reset. Otherwise, all keys remain.\n var has;\n zrUtil.each(keys, function (key) {\n if (newOption.hasOwnProperty(key) && hasKeys(newOption[key])) {\n has = true;\n }\n });\n has && zrUtil.each(keys, function (key) {\n if (newOption.hasOwnProperty(key) && hasKeys(newOption[key])) {\n thisOption[key] = zrUtil.clone(newOption[key]);\n } else {\n delete thisOption[key];\n }\n });\n}\n/**\n * @param {Array.} stateList\n * @param {Object} visualMappings >\n * @param {module:echarts/data/List} list\n * @param {Function} getValueState param: valueOrIndex, return: state.\n * @param {object} [scope] Scope for getValueState\n * @param {string} [dimension] Concrete dimension, if used.\n */\n// ???! handle brush?\n\n\nfunction applyVisual(stateList, visualMappings, data, getValueState, scope, dimension) {\n var visualTypesMap = {};\n zrUtil.each(stateList, function (state) {\n var visualTypes = VisualMapping.prepareVisualTypes(visualMappings[state]);\n visualTypesMap[state] = visualTypes;\n });\n var dataIndex;\n\n function getVisual(key) {\n return data.getItemVisual(dataIndex, key);\n }\n\n function setVisual(key, value) {\n data.setItemVisual(dataIndex, key, value);\n }\n\n if (dimension == null) {\n data.each(eachItem);\n } else {\n data.each([dimension], eachItem);\n }\n\n function eachItem(valueOrIndex, index) {\n dataIndex = dimension == null ? valueOrIndex : index;\n var rawDataItem = data.getRawDataItem(dataIndex); // Consider performance\n\n if (rawDataItem && rawDataItem.visualMap === false) {\n return;\n }\n\n var valueState = getValueState.call(scope, valueOrIndex);\n var mappings = visualMappings[valueState];\n var visualTypes = visualTypesMap[valueState];\n\n for (var i = 0, len = visualTypes.length; i < len; i++) {\n var type = visualTypes[i];\n mappings[type] && mappings[type].applyVisual(valueOrIndex, getVisual, setVisual);\n }\n }\n}\n/**\n * @param {module:echarts/data/List} data\n * @param {Array.} stateList\n * @param {Object} visualMappings >\n * @param {Function} getValueState param: valueOrIndex, return: state.\n * @param {number} [dim] dimension or dimension index.\n */\n\n\nfunction incrementalApplyVisual(stateList, visualMappings, getValueState, dim) {\n var visualTypesMap = {};\n zrUtil.each(stateList, function (state) {\n var visualTypes = VisualMapping.prepareVisualTypes(visualMappings[state]);\n visualTypesMap[state] = visualTypes;\n });\n\n function progress(params, data) {\n if (dim != null) {\n dim = data.getDimension(dim);\n }\n\n function getVisual(key) {\n return data.getItemVisual(dataIndex, key);\n }\n\n function setVisual(key, value) {\n data.setItemVisual(dataIndex, key, value);\n }\n\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var rawDataItem = data.getRawDataItem(dataIndex); // Consider performance\n\n if (rawDataItem && rawDataItem.visualMap === false) {\n continue;\n }\n\n var value = dim != null ? data.get(dim, dataIndex, true) : dataIndex;\n var valueState = getValueState(value);\n var mappings = visualMappings[valueState];\n var visualTypes = visualTypesMap[valueState];\n\n for (var i = 0, len = visualTypes.length; i < len; i++) {\n var type = visualTypes[i];\n mappings[type] && mappings[type].applyVisual(value, getVisual, setVisual);\n }\n }\n }\n\n return {\n progress: progress\n };\n}\n\nexports.createVisualMappings = createVisualMappings;\nexports.replaceVisualOption = replaceVisualOption;\nexports.applyVisual = applyVisual;\nexports.incrementalApplyVisual = incrementalApplyVisual;","'use strict';\n\nexports.__esModule = true;\n\nvar _util = require('element-ui/lib/utils/util');\n\n/**\n * Show migrating guide in browser console.\n *\n * Usage:\n * import Migrating from 'element-ui/src/mixins/migrating';\n *\n * mixins: [Migrating]\n *\n * add getMigratingConfig method for your component.\n * getMigratingConfig() {\n * return {\n * props: {\n * 'allow-no-selection': 'allow-no-selection is removed.',\n * 'selection-mode': 'selection-mode is removed.'\n * },\n * events: {\n * selectionchange: 'selectionchange is renamed to selection-change.'\n * }\n * };\n * },\n */\nexports.default = {\n mounted: function mounted() {\n if (process.env.NODE_ENV === 'production') return;\n if (!this.$vnode) return;\n\n var _getMigratingConfig = this.getMigratingConfig(),\n _getMigratingConfig$p = _getMigratingConfig.props,\n props = _getMigratingConfig$p === undefined ? {} : _getMigratingConfig$p,\n _getMigratingConfig$e = _getMigratingConfig.events,\n events = _getMigratingConfig$e === undefined ? {} : _getMigratingConfig$e;\n\n var _$vnode = this.$vnode,\n data = _$vnode.data,\n componentOptions = _$vnode.componentOptions;\n\n var definedProps = data.attrs || {};\n var definedEvents = componentOptions.listeners || {};\n\n for (var propName in definedProps) {\n propName = (0, _util.kebabCase)(propName); // compatible with camel case\n if (props[propName]) {\n console.warn('[Element Migrating][' + this.$options.name + '][Attribute]: ' + props[propName]);\n }\n }\n\n for (var eventName in definedEvents) {\n eventName = (0, _util.kebabCase)(eventName); // compatible with camel case\n if (events[eventName]) {\n console.warn('[Element Migrating][' + this.$options.name + '][Event]: ' + events[eventName]);\n }\n }\n },\n\n methods: {\n getMigratingConfig: function getMigratingConfig() {\n return {\n props: {},\n events: {}\n };\n }\n }\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerProcessor({\n // `dataZoomProcessor` will only be performed in needed series. Consider if\n // there is a line series and a pie series, it is better not to update the\n // line series if only pie series is needed to be updated.\n getTargetSeries: function (ecModel) {\n var seriesModelMap = createHashMap();\n ecModel.eachComponent('dataZoom', function (dataZoomModel) {\n dataZoomModel.eachTargetAxis(function (dimNames, axisIndex, dataZoomModel) {\n var axisProxy = dataZoomModel.getAxisProxy(dimNames.name, axisIndex);\n each(axisProxy.getTargetSeriesModels(), function (seriesModel) {\n seriesModelMap.set(seriesModel.uid, seriesModel);\n });\n });\n });\n return seriesModelMap;\n },\n modifyOutputEnd: true,\n // Consider appendData, where filter should be performed. Because data process is\n // in block mode currently, it is not need to worry about that the overallProgress\n // execute every frame.\n overallReset: function (ecModel, api) {\n ecModel.eachComponent('dataZoom', function (dataZoomModel) {\n // We calculate window and reset axis here but not in model\n // init stage and not after action dispatch handler, because\n // reset should be called after seriesData.restoreData.\n dataZoomModel.eachTargetAxis(function (dimNames, axisIndex, dataZoomModel) {\n dataZoomModel.getAxisProxy(dimNames.name, axisIndex).reset(dataZoomModel, api);\n }); // Caution: data zoom filtering is order sensitive when using\n // percent range and no min/max/scale set on axis.\n // For example, we have dataZoom definition:\n // [\n // {xAxisIndex: 0, start: 30, end: 70},\n // {yAxisIndex: 0, start: 20, end: 80}\n // ]\n // In this case, [20, 80] of y-dataZoom should be based on data\n // that have filtered by x-dataZoom using range of [30, 70],\n // but should not be based on full raw data. Thus sliding\n // x-dataZoom will change both ranges of xAxis and yAxis,\n // while sliding y-dataZoom will only change the range of yAxis.\n // So we should filter x-axis after reset x-axis immediately,\n // and then reset y-axis and filter y-axis.\n\n dataZoomModel.eachTargetAxis(function (dimNames, axisIndex, dataZoomModel) {\n dataZoomModel.getAxisProxy(dimNames.name, axisIndex).filterData(dataZoomModel, api);\n });\n });\n ecModel.eachComponent('dataZoom', function (dataZoomModel) {\n // Fullfill all of the range props so that user\n // is able to get them from chart.getOption().\n var axisProxy = dataZoomModel.findRepresentativeAxisProxy();\n var percentRange = axisProxy.getDataPercentWindow();\n var valueRange = axisProxy.getDataValueWindow();\n dataZoomModel.setRawRange({\n start: percentRange[0],\n end: percentRange[1],\n startValue: valueRange[0],\n endValue: valueRange[1]\n }, true);\n });\n }\n});","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar $startsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var dpr = 1; // If in browser environment\n\nif (typeof window !== 'undefined') {\n dpr = Math.max(window.devicePixelRatio || 1, 1);\n}\n/**\n * config默认配置项\n * @exports zrender/config\n * @author Kener (@Kener-林峰, kener.linfeng@gmail.com)\n */\n\n/**\n * debug日志选项:catchBrushException为true下有效\n * 0 : 不生成debug数据,发布用\n * 1 : 异常抛出,调试用\n * 2 : 控制台输出,调试用\n */\n\n\nvar debugMode = 0; // retina 屏幕优化\n\nvar devicePixelRatio = dpr;\nexports.debugMode = debugMode;\nexports.devicePixelRatio = devicePixelRatio;","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var argumentsLength = arguments.length;\n var i = 1;\n while (argumentsLength > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"../coord/single/singleCreator\");\n\nrequire(\"./axis/SingleAxisView\");\n\nrequire(\"../coord/single/AxisModel\");\n\nrequire(\"./axisPointer\");\n\nrequire(\"./axisPointer/SingleAxisPointer\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.extendComponentView({\n type: 'single'\n});","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar preprocessor = require(\"./brush/preprocessor\");\n\nrequire(\"./brush/visualEncoding\");\n\nrequire(\"./brush/BrushModel\");\n\nrequire(\"./brush/BrushView\");\n\nrequire(\"./brush/brushAction\");\n\nrequire(\"./toolbox/feature/Brush\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Brush component entry\n */\necharts.registerPreprocessor(preprocessor);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar createHashMap = _util.createHashMap;\nvar assert = _util.assert;\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar OTHER_DIMENSIONS = createHashMap(['tooltip', 'label', 'itemName', 'itemId', 'seriesName']);\n\nfunction summarizeDimensions(data) {\n var summary = {};\n var encode = summary.encode = {};\n var notExtraCoordDimMap = createHashMap();\n var defaultedLabel = [];\n var defaultedTooltip = [];\n each(data.dimensions, function (dimName) {\n var dimItem = data.getDimensionInfo(dimName);\n var coordDim = dimItem.coordDim;\n\n if (coordDim) {\n var coordDimArr = encode[coordDim];\n\n if (!encode.hasOwnProperty(coordDim)) {\n coordDimArr = encode[coordDim] = [];\n }\n\n coordDimArr[dimItem.coordDimIndex] = dimName;\n\n if (!dimItem.isExtraCoord) {\n notExtraCoordDimMap.set(coordDim, 1); // Use the last coord dim (and label friendly) as default label,\n // because when dataset is used, it is hard to guess which dimension\n // can be value dimension. If both show x, y on label is not look good,\n // and conventionally y axis is focused more.\n\n if (mayLabelDimType(dimItem.type)) {\n defaultedLabel[0] = dimName;\n }\n }\n\n if (dimItem.defaultTooltip) {\n defaultedTooltip.push(dimName);\n }\n }\n\n OTHER_DIMENSIONS.each(function (v, otherDim) {\n var otherDimArr = encode[otherDim];\n\n if (!encode.hasOwnProperty(otherDim)) {\n otherDimArr = encode[otherDim] = [];\n }\n\n var dimIndex = dimItem.otherDims[otherDim];\n\n if (dimIndex != null && dimIndex !== false) {\n otherDimArr[dimIndex] = dimItem.name;\n }\n });\n });\n var dataDimsOnCoord = [];\n var encodeFirstDimNotExtra = {};\n notExtraCoordDimMap.each(function (v, coordDim) {\n var dimArr = encode[coordDim]; // ??? FIXME extra coord should not be set in dataDimsOnCoord.\n // But should fix the case that radar axes: simplify the logic\n // of `completeDimension`, remove `extraPrefix`.\n\n encodeFirstDimNotExtra[coordDim] = dimArr[0]; // Not necessary to remove duplicate, because a data\n // dim canot on more than one coordDim.\n\n dataDimsOnCoord = dataDimsOnCoord.concat(dimArr);\n });\n summary.dataDimsOnCoord = dataDimsOnCoord;\n summary.encodeFirstDimNotExtra = encodeFirstDimNotExtra;\n var encodeLabel = encode.label; // FIXME `encode.label` is not recommanded, because formatter can not be set\n // in this way. Use label.formatter instead. May be remove this approach someday.\n\n if (encodeLabel && encodeLabel.length) {\n defaultedLabel = encodeLabel.slice();\n }\n\n var encodeTooltip = encode.tooltip;\n\n if (encodeTooltip && encodeTooltip.length) {\n defaultedTooltip = encodeTooltip.slice();\n } else if (!defaultedTooltip.length) {\n defaultedTooltip = defaultedLabel.slice();\n }\n\n encode.defaultedLabel = defaultedLabel;\n encode.defaultedTooltip = defaultedTooltip;\n return summary;\n}\n\nfunction getDimensionTypeByAxis(axisType) {\n return axisType === 'category' ? 'ordinal' : axisType === 'time' ? 'time' : 'float';\n}\n\nfunction mayLabelDimType(dimType) {\n // In most cases, ordinal and time do not suitable for label.\n // Ordinal info can be displayed on axis. Time is too long.\n return !(dimType === 'ordinal' || dimType === 'time');\n} // function findTheLastDimMayLabel(data) {\n// // Get last value dim\n// var dimensions = data.dimensions.slice();\n// var valueType;\n// var valueDim;\n// while (dimensions.length && (\n// valueDim = dimensions.pop(),\n// valueType = data.getDimensionInfo(valueDim).type,\n// valueType === 'ordinal' || valueType === 'time'\n// )) {} // jshint ignore:line\n// return valueDim;\n// }\n\n\nexports.OTHER_DIMENSIONS = OTHER_DIMENSIONS;\nexports.summarizeDimensions = summarizeDimensions;\nexports.getDimensionTypeByAxis = getDimensionTypeByAxis;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar barPolar = require(\"../layout/barPolar\");\n\nrequire(\"../coord/polar/polarCreator\");\n\nrequire(\"./angleAxis\");\n\nrequire(\"./radiusAxis\");\n\nrequire(\"./axisPointer\");\n\nrequire(\"./axisPointer/PolarAxisPointer\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// For reducing size of echarts.min, barLayoutPolar is required by polar.\necharts.registerLayout(zrUtil.curry(barPolar, 'bar')); // Polar view\n\necharts.extendComponentView({\n type: 'polar'\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar borderColorQuery = ['itemStyle', 'borderColor'];\n\nfunction _default(ecModel, api) {\n var globalColors = ecModel.get('color');\n ecModel.eachRawSeriesByType('boxplot', function (seriesModel) {\n var defaulColor = globalColors[seriesModel.seriesIndex % globalColors.length];\n var data = seriesModel.getData();\n data.setVisual({\n legendSymbol: 'roundRect',\n // Use name 'color' but not 'borderColor' for legend usage and\n // visual coding from other component like dataRange.\n color: seriesModel.get(borderColorQuery) || defaulColor\n }); // Only visible series has each data be visual encoded\n\n if (!ecModel.isSeriesFiltered(seriesModel)) {\n data.each(function (idx) {\n var itemModel = data.getItemModel(idx);\n data.setItemVisual(idx, {\n color: itemModel.get(borderColorQuery, true)\n });\n });\n }\n });\n}\n\nmodule.exports = _default;","module.exports = function () { /* empty */ };\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createListFromArray = require(\"../helper/createListFromArray\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = SeriesModel.extend({\n type: 'series.__base_bar__',\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this);\n },\n getMarkerPosition: function (value) {\n var coordSys = this.coordinateSystem;\n\n if (coordSys) {\n // PENDING if clamp ?\n var pt = coordSys.dataToPoint(coordSys.clampData(value));\n var data = this.getData();\n var offset = data.getLayout('offset');\n var size = data.getLayout('size');\n var offsetIndex = coordSys.getBaseAxis().isHorizontal() ? 0 : 1;\n pt[offsetIndex] += offset + size / 2;\n return pt;\n }\n\n return [NaN, NaN];\n },\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 2,\n // 二级层叠\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n // stack: null\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // 最小高度改为0\n barMinHeight: 0,\n // 最小角度为0,仅对极坐标系下的柱状图有效\n barMinAngle: 0,\n // cursor: null,\n large: false,\n largeThreshold: 400,\n progressive: 3e3,\n progressiveChunkMode: 'mod',\n // barMaxWidth: null,\n // 默认自适应\n // barWidth: null,\n // 柱间距离,默认为柱形宽度的30%,可设固定值\n // barGap: '30%',\n // 类目间柱形距离,默认为类目间距的20%,可设固定值\n // barCategoryGap: '20%',\n // label: {\n // show: false\n // },\n itemStyle: {},\n emphasis: {}\n }\n});\n\nmodule.exports = _default;","require('./_wks-define')('asyncIterator');\n","var Group = require(\"../container/Group\");\n\nvar ZImage = require(\"../graphic/Image\");\n\nvar Text = require(\"../graphic/Text\");\n\nvar Circle = require(\"../graphic/shape/Circle\");\n\nvar Rect = require(\"../graphic/shape/Rect\");\n\nvar Ellipse = require(\"../graphic/shape/Ellipse\");\n\nvar Line = require(\"../graphic/shape/Line\");\n\nvar Path = require(\"../graphic/Path\");\n\nvar Polygon = require(\"../graphic/shape/Polygon\");\n\nvar Polyline = require(\"../graphic/shape/Polyline\");\n\nvar LinearGradient = require(\"../graphic/LinearGradient\");\n\nvar Style = require(\"../graphic/Style\");\n\nvar matrix = require(\"../core/matrix\");\n\nvar _path = require(\"./path\");\n\nvar createFromString = _path.createFromString;\n\nvar _util = require(\"../core/util\");\n\nvar isString = _util.isString;\nvar extend = _util.extend;\nvar defaults = _util.defaults;\nvar trim = _util.trim;\nvar each = _util.each;\n// import RadialGradient from '../graphic/RadialGradient';\n// import Pattern from '../graphic/Pattern';\n// import * as vector from '../core/vector';\n// Most of the values can be separated by comma and/or white space.\nvar DILIMITER_REG = /[\\s,]+/;\n/**\n * For big svg string, this method might be time consuming.\n *\n * @param {string} svg xml string\n * @return {Object} xml root.\n */\n\nfunction parseXML(svg) {\n if (isString(svg)) {\n var parser = new DOMParser();\n svg = parser.parseFromString(svg, 'text/xml');\n } // Document node. If using $.get, doc node may be input.\n\n\n if (svg.nodeType === 9) {\n svg = svg.firstChild;\n } // nodeName of is also 'svg'.\n\n\n while (svg.nodeName.toLowerCase() !== 'svg' || svg.nodeType !== 1) {\n svg = svg.nextSibling;\n }\n\n return svg;\n}\n\nfunction SVGParser() {\n this._defs = {};\n this._root = null;\n this._isDefine = false;\n this._isText = false;\n}\n\nSVGParser.prototype.parse = function (xml, opt) {\n opt = opt || {};\n var svg = parseXML(xml);\n\n if (!svg) {\n throw new Error('Illegal svg');\n }\n\n var root = new Group();\n this._root = root; // parse view port\n\n var viewBox = svg.getAttribute('viewBox') || ''; // If width/height not specified, means \"100%\" of `opt.width/height`.\n // TODO: Other percent value not supported yet.\n\n var width = parseFloat(svg.getAttribute('width') || opt.width);\n var height = parseFloat(svg.getAttribute('height') || opt.height); // If width/height not specified, set as null for output.\n\n isNaN(width) && (width = null);\n isNaN(height) && (height = null); // Apply inline style on svg element.\n\n parseAttributes(svg, root, null, true);\n var child = svg.firstChild;\n\n while (child) {\n this._parseNode(child, root);\n\n child = child.nextSibling;\n }\n\n var viewBoxRect;\n var viewBoxTransform;\n\n if (viewBox) {\n var viewBoxArr = trim(viewBox).split(DILIMITER_REG); // Some invalid case like viewBox: 'none'.\n\n if (viewBoxArr.length >= 4) {\n viewBoxRect = {\n x: parseFloat(viewBoxArr[0] || 0),\n y: parseFloat(viewBoxArr[1] || 0),\n width: parseFloat(viewBoxArr[2]),\n height: parseFloat(viewBoxArr[3])\n };\n }\n }\n\n if (viewBoxRect && width != null && height != null) {\n viewBoxTransform = makeViewBoxTransform(viewBoxRect, width, height);\n\n if (!opt.ignoreViewBox) {\n // If set transform on the output group, it probably bring trouble when\n // some users only intend to show the clipped content inside the viewBox,\n // but not intend to transform the output group. So we keep the output\n // group no transform. If the user intend to use the viewBox as a\n // camera, just set `opt.ignoreViewBox` as `true` and set transfrom\n // manually according to the viewBox info in the output of this method.\n var elRoot = root;\n root = new Group();\n root.add(elRoot);\n elRoot.scale = viewBoxTransform.scale.slice();\n elRoot.position = viewBoxTransform.position.slice();\n }\n } // Some shapes might be overflow the viewport, which should be\n // clipped despite whether the viewBox is used, as the SVG does.\n\n\n if (!opt.ignoreRootClip && width != null && height != null) {\n root.setClipPath(new Rect({\n shape: {\n x: 0,\n y: 0,\n width: width,\n height: height\n }\n }));\n } // Set width/height on group just for output the viewport size.\n\n\n return {\n root: root,\n width: width,\n height: height,\n viewBoxRect: viewBoxRect,\n viewBoxTransform: viewBoxTransform\n };\n};\n\nSVGParser.prototype._parseNode = function (xmlNode, parentGroup) {\n var nodeName = xmlNode.nodeName.toLowerCase(); // TODO\n // support in svg, where nodeName is 'style',\n // CSS classes is defined globally wherever the style tags are declared.\n\n if (nodeName === 'defs') {\n // define flag\n this._isDefine = true;\n } else if (nodeName === 'text') {\n this._isText = true;\n }\n\n var el;\n\n if (this._isDefine) {\n var parser = defineParsers[nodeName];\n\n if (parser) {\n var def = parser.call(this, xmlNode);\n var id = xmlNode.getAttribute('id');\n\n if (id) {\n this._defs[id] = def;\n }\n }\n } else {\n var parser = nodeParsers[nodeName];\n\n if (parser) {\n el = parser.call(this, xmlNode, parentGroup);\n parentGroup.add(el);\n }\n }\n\n var child = xmlNode.firstChild;\n\n while (child) {\n if (child.nodeType === 1) {\n this._parseNode(child, el);\n } // Is text\n\n\n if (child.nodeType === 3 && this._isText) {\n this._parseText(child, el);\n }\n\n child = child.nextSibling;\n } // Quit define\n\n\n if (nodeName === 'defs') {\n this._isDefine = false;\n } else if (nodeName === 'text') {\n this._isText = false;\n }\n};\n\nSVGParser.prototype._parseText = function (xmlNode, parentGroup) {\n if (xmlNode.nodeType === 1) {\n var dx = xmlNode.getAttribute('dx') || 0;\n var dy = xmlNode.getAttribute('dy') || 0;\n this._textX += parseFloat(dx);\n this._textY += parseFloat(dy);\n }\n\n var text = new Text({\n style: {\n text: xmlNode.textContent,\n transformText: true\n },\n position: [this._textX || 0, this._textY || 0]\n });\n inheritStyle(parentGroup, text);\n parseAttributes(xmlNode, text, this._defs);\n var fontSize = text.style.fontSize;\n\n if (fontSize && fontSize < 9) {\n // PENDING\n text.style.fontSize = 9;\n text.scale = text.scale || [1, 1];\n text.scale[0] *= fontSize / 9;\n text.scale[1] *= fontSize / 9;\n }\n\n var rect = text.getBoundingRect();\n this._textX += rect.width;\n parentGroup.add(text);\n return text;\n};\n\nvar nodeParsers = {\n 'g': function (xmlNode, parentGroup) {\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defs);\n return g;\n },\n 'rect': function (xmlNode, parentGroup) {\n var rect = new Rect();\n inheritStyle(parentGroup, rect);\n parseAttributes(xmlNode, rect, this._defs);\n rect.setShape({\n x: parseFloat(xmlNode.getAttribute('x') || 0),\n y: parseFloat(xmlNode.getAttribute('y') || 0),\n width: parseFloat(xmlNode.getAttribute('width') || 0),\n height: parseFloat(xmlNode.getAttribute('height') || 0)\n }); // console.log(xmlNode.getAttribute('transform'));\n // console.log(rect.transform);\n\n return rect;\n },\n 'circle': function (xmlNode, parentGroup) {\n var circle = new Circle();\n inheritStyle(parentGroup, circle);\n parseAttributes(xmlNode, circle, this._defs);\n circle.setShape({\n cx: parseFloat(xmlNode.getAttribute('cx') || 0),\n cy: parseFloat(xmlNode.getAttribute('cy') || 0),\n r: parseFloat(xmlNode.getAttribute('r') || 0)\n });\n return circle;\n },\n 'line': function (xmlNode, parentGroup) {\n var line = new Line();\n inheritStyle(parentGroup, line);\n parseAttributes(xmlNode, line, this._defs);\n line.setShape({\n x1: parseFloat(xmlNode.getAttribute('x1') || 0),\n y1: parseFloat(xmlNode.getAttribute('y1') || 0),\n x2: parseFloat(xmlNode.getAttribute('x2') || 0),\n y2: parseFloat(xmlNode.getAttribute('y2') || 0)\n });\n return line;\n },\n 'ellipse': function (xmlNode, parentGroup) {\n var ellipse = new Ellipse();\n inheritStyle(parentGroup, ellipse);\n parseAttributes(xmlNode, ellipse, this._defs);\n ellipse.setShape({\n cx: parseFloat(xmlNode.getAttribute('cx') || 0),\n cy: parseFloat(xmlNode.getAttribute('cy') || 0),\n rx: parseFloat(xmlNode.getAttribute('rx') || 0),\n ry: parseFloat(xmlNode.getAttribute('ry') || 0)\n });\n return ellipse;\n },\n 'polygon': function (xmlNode, parentGroup) {\n var points = xmlNode.getAttribute('points');\n\n if (points) {\n points = parsePoints(points);\n }\n\n var polygon = new Polygon({\n shape: {\n points: points || []\n }\n });\n inheritStyle(parentGroup, polygon);\n parseAttributes(xmlNode, polygon, this._defs);\n return polygon;\n },\n 'polyline': function (xmlNode, parentGroup) {\n var path = new Path();\n inheritStyle(parentGroup, path);\n parseAttributes(xmlNode, path, this._defs);\n var points = xmlNode.getAttribute('points');\n\n if (points) {\n points = parsePoints(points);\n }\n\n var polyline = new Polyline({\n shape: {\n points: points || []\n }\n });\n return polyline;\n },\n 'image': function (xmlNode, parentGroup) {\n var img = new ZImage();\n inheritStyle(parentGroup, img);\n parseAttributes(xmlNode, img, this._defs);\n img.setStyle({\n image: xmlNode.getAttribute('xlink:href'),\n x: xmlNode.getAttribute('x'),\n y: xmlNode.getAttribute('y'),\n width: xmlNode.getAttribute('width'),\n height: xmlNode.getAttribute('height')\n });\n return img;\n },\n 'text': function (xmlNode, parentGroup) {\n var x = xmlNode.getAttribute('x') || 0;\n var y = xmlNode.getAttribute('y') || 0;\n var dx = xmlNode.getAttribute('dx') || 0;\n var dy = xmlNode.getAttribute('dy') || 0;\n this._textX = parseFloat(x) + parseFloat(dx);\n this._textY = parseFloat(y) + parseFloat(dy);\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defs);\n return g;\n },\n 'tspan': function (xmlNode, parentGroup) {\n var x = xmlNode.getAttribute('x');\n var y = xmlNode.getAttribute('y');\n\n if (x != null) {\n // new offset x\n this._textX = parseFloat(x);\n }\n\n if (y != null) {\n // new offset y\n this._textY = parseFloat(y);\n }\n\n var dx = xmlNode.getAttribute('dx') || 0;\n var dy = xmlNode.getAttribute('dy') || 0;\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defs);\n this._textX += dx;\n this._textY += dy;\n return g;\n },\n 'path': function (xmlNode, parentGroup) {\n // TODO svg fill rule\n // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule\n // path.style.globalCompositeOperation = 'xor';\n var d = xmlNode.getAttribute('d') || ''; // Performance sensitive.\n\n var path = createFromString(d);\n inheritStyle(parentGroup, path);\n parseAttributes(xmlNode, path, this._defs);\n return path;\n }\n};\nvar defineParsers = {\n 'lineargradient': function (xmlNode) {\n var x1 = parseInt(xmlNode.getAttribute('x1') || 0, 10);\n var y1 = parseInt(xmlNode.getAttribute('y1') || 0, 10);\n var x2 = parseInt(xmlNode.getAttribute('x2') || 10, 10);\n var y2 = parseInt(xmlNode.getAttribute('y2') || 0, 10);\n var gradient = new LinearGradient(x1, y1, x2, y2);\n\n _parseGradientColorStops(xmlNode, gradient);\n\n return gradient;\n },\n 'radialgradient': function (xmlNode) {}\n};\n\nfunction _parseGradientColorStops(xmlNode, gradient) {\n var stop = xmlNode.firstChild;\n\n while (stop) {\n if (stop.nodeType === 1) {\n var offset = stop.getAttribute('offset');\n\n if (offset.indexOf('%') > 0) {\n // percentage\n offset = parseInt(offset, 10) / 100;\n } else if (offset) {\n // number from 0 to 1\n offset = parseFloat(offset);\n } else {\n offset = 0;\n }\n\n var stopColor = stop.getAttribute('stop-color') || '#000000';\n gradient.addColorStop(offset, stopColor);\n }\n\n stop = stop.nextSibling;\n }\n}\n\nfunction inheritStyle(parent, child) {\n if (parent && parent.__inheritedStyle) {\n if (!child.__inheritedStyle) {\n child.__inheritedStyle = {};\n }\n\n defaults(child.__inheritedStyle, parent.__inheritedStyle);\n }\n}\n\nfunction parsePoints(pointsString) {\n var list = trim(pointsString).split(DILIMITER_REG);\n var points = [];\n\n for (var i = 0; i < list.length; i += 2) {\n var x = parseFloat(list[i]);\n var y = parseFloat(list[i + 1]);\n points.push([x, y]);\n }\n\n return points;\n}\n\nvar attributesMap = {\n 'fill': 'fill',\n 'stroke': 'stroke',\n 'stroke-width': 'lineWidth',\n 'opacity': 'opacity',\n 'fill-opacity': 'fillOpacity',\n 'stroke-opacity': 'strokeOpacity',\n 'stroke-dasharray': 'lineDash',\n 'stroke-dashoffset': 'lineDashOffset',\n 'stroke-linecap': 'lineCap',\n 'stroke-linejoin': 'lineJoin',\n 'stroke-miterlimit': 'miterLimit',\n 'font-family': 'fontFamily',\n 'font-size': 'fontSize',\n 'font-style': 'fontStyle',\n 'font-weight': 'fontWeight',\n 'text-align': 'textAlign',\n 'alignment-baseline': 'textBaseline'\n};\n\nfunction parseAttributes(xmlNode, el, defs, onlyInlineStyle) {\n var zrStyle = el.__inheritedStyle || {};\n var isTextEl = el.type === 'text'; // TODO Shadow\n\n if (xmlNode.nodeType === 1) {\n parseTransformAttribute(xmlNode, el);\n extend(zrStyle, parseStyleAttribute(xmlNode));\n\n if (!onlyInlineStyle) {\n for (var svgAttrName in attributesMap) {\n if (attributesMap.hasOwnProperty(svgAttrName)) {\n var attrValue = xmlNode.getAttribute(svgAttrName);\n\n if (attrValue != null) {\n zrStyle[attributesMap[svgAttrName]] = attrValue;\n }\n }\n }\n }\n }\n\n var elFillProp = isTextEl ? 'textFill' : 'fill';\n var elStrokeProp = isTextEl ? 'textStroke' : 'stroke';\n el.style = el.style || new Style();\n var elStyle = el.style;\n zrStyle.fill != null && elStyle.set(elFillProp, getPaint(zrStyle.fill, defs));\n zrStyle.stroke != null && elStyle.set(elStrokeProp, getPaint(zrStyle.stroke, defs));\n each(['lineWidth', 'opacity', 'fillOpacity', 'strokeOpacity', 'miterLimit', 'fontSize'], function (propName) {\n var elPropName = propName === 'lineWidth' && isTextEl ? 'textStrokeWidth' : propName;\n zrStyle[propName] != null && elStyle.set(elPropName, parseFloat(zrStyle[propName]));\n });\n\n if (!zrStyle.textBaseline || zrStyle.textBaseline === 'auto') {\n zrStyle.textBaseline = 'alphabetic';\n }\n\n if (zrStyle.textBaseline === 'alphabetic') {\n zrStyle.textBaseline = 'bottom';\n }\n\n if (zrStyle.textAlign === 'start') {\n zrStyle.textAlign = 'left';\n }\n\n if (zrStyle.textAlign === 'end') {\n zrStyle.textAlign = 'right';\n }\n\n each(['lineDashOffset', 'lineCap', 'lineJoin', 'fontWeight', 'fontFamily', 'fontStyle', 'textAlign', 'textBaseline'], function (propName) {\n zrStyle[propName] != null && elStyle.set(propName, zrStyle[propName]);\n });\n\n if (zrStyle.lineDash) {\n el.style.lineDash = trim(zrStyle.lineDash).split(DILIMITER_REG);\n }\n\n if (elStyle[elStrokeProp] && elStyle[elStrokeProp] !== 'none') {\n // enable stroke\n el[elStrokeProp] = true;\n }\n\n el.__inheritedStyle = zrStyle;\n}\n\nvar urlRegex = /url\\(\\s*#(.*?)\\)/;\n\nfunction getPaint(str, defs) {\n // if (str === 'none') {\n // return;\n // }\n var urlMatch = defs && str && str.match(urlRegex);\n\n if (urlMatch) {\n var url = trim(urlMatch[1]);\n var def = defs[url];\n return def;\n }\n\n return str;\n}\n\nvar transformRegex = /(translate|scale|rotate|skewX|skewY|matrix)\\(([\\-\\s0-9\\.e,]*)\\)/g;\n\nfunction parseTransformAttribute(xmlNode, node) {\n var transform = xmlNode.getAttribute('transform');\n\n if (transform) {\n transform = transform.replace(/,/g, ' ');\n var m = null;\n var transformOps = [];\n transform.replace(transformRegex, function (str, type, value) {\n transformOps.push(type, value);\n });\n\n for (var i = transformOps.length - 1; i > 0; i -= 2) {\n var value = transformOps[i];\n var type = transformOps[i - 1];\n m = m || matrix.create();\n\n switch (type) {\n case 'translate':\n value = trim(value).split(DILIMITER_REG);\n matrix.translate(m, m, [parseFloat(value[0]), parseFloat(value[1] || 0)]);\n break;\n\n case 'scale':\n value = trim(value).split(DILIMITER_REG);\n matrix.scale(m, m, [parseFloat(value[0]), parseFloat(value[1] || value[0])]);\n break;\n\n case 'rotate':\n value = trim(value).split(DILIMITER_REG);\n matrix.rotate(m, m, parseFloat(value[0]));\n break;\n\n case 'skew':\n value = trim(value).split(DILIMITER_REG);\n console.warn('Skew transform is not supported yet');\n break;\n\n case 'matrix':\n var value = trim(value).split(DILIMITER_REG);\n m[0] = parseFloat(value[0]);\n m[1] = parseFloat(value[1]);\n m[2] = parseFloat(value[2]);\n m[3] = parseFloat(value[3]);\n m[4] = parseFloat(value[4]);\n m[5] = parseFloat(value[5]);\n break;\n }\n }\n\n node.setLocalTransform(m);\n }\n} // Value may contain space.\n\n\nvar styleRegex = /([^\\s:;]+)\\s*:\\s*([^:;]+)/g;\n\nfunction parseStyleAttribute(xmlNode) {\n var style = xmlNode.getAttribute('style');\n var result = {};\n\n if (!style) {\n return result;\n }\n\n var styleList = {};\n styleRegex.lastIndex = 0;\n var styleRegResult;\n\n while ((styleRegResult = styleRegex.exec(style)) != null) {\n styleList[styleRegResult[1]] = styleRegResult[2];\n }\n\n for (var svgAttrName in attributesMap) {\n if (attributesMap.hasOwnProperty(svgAttrName) && styleList[svgAttrName] != null) {\n result[attributesMap[svgAttrName]] = styleList[svgAttrName];\n }\n }\n\n return result;\n}\n/**\n * @param {Array.} viewBoxRect\n * @param {number} width\n * @param {number} height\n * @return {Object} {scale, position}\n */\n\n\nfunction makeViewBoxTransform(viewBoxRect, width, height) {\n var scaleX = width / viewBoxRect.width;\n var scaleY = height / viewBoxRect.height;\n var scale = Math.min(scaleX, scaleY); // preserveAspectRatio 'xMidYMid'\n\n var viewBoxScale = [scale, scale];\n var viewBoxPosition = [-(viewBoxRect.x + viewBoxRect.width / 2) * scale + width / 2, -(viewBoxRect.y + viewBoxRect.height / 2) * scale + height / 2];\n return {\n scale: viewBoxScale,\n position: viewBoxPosition\n };\n}\n/**\n * @param {string|XMLElement} xml\n * @param {Object} [opt]\n * @param {number} [opt.width] Default width if svg width not specified or is a percent value.\n * @param {number} [opt.height] Default height if svg height not specified or is a percent value.\n * @param {boolean} [opt.ignoreViewBox]\n * @param {boolean} [opt.ignoreRootClip]\n * @return {Object} result:\n * {\n * root: Group, The root of the the result tree of zrender shapes,\n * width: number, the viewport width of the SVG,\n * height: number, the viewport height of the SVG,\n * viewBoxRect: {x, y, width, height}, the declared viewBox rect of the SVG, if exists,\n * viewBoxTransform: the {scale, position} calculated by viewBox and viewport, is exists.\n * }\n */\n\n\nfunction parseSVG(xml, opt) {\n var parser = new SVGParser();\n return parser.parse(xml, opt);\n}\n\nexports.parseXML = parseXML;\nexports.makeViewBoxTransform = makeViewBoxTransform;\nexports.parseSVG = parseSVG;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar VisualMapModel = require(\"./VisualMapModel\");\n\nvar numberUtil = require(\"../../util/number\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Constant\nvar DEFAULT_BAR_BOUND = [20, 140];\nvar ContinuousModel = VisualMapModel.extend({\n type: 'visualMap.continuous',\n\n /**\n * @protected\n */\n defaultOption: {\n align: 'auto',\n // 'auto', 'left', 'right', 'top', 'bottom'\n calculable: false,\n // This prop effect default component type determine,\n // See echarts/component/visualMap/typeDefaulter.\n range: null,\n // selected range. In default case `range` is [min, max]\n // and can auto change along with modification of min max,\n // util use specifid a range.\n realtime: true,\n // Whether realtime update.\n itemHeight: null,\n // The length of the range control edge.\n itemWidth: null,\n // The length of the other side.\n hoverLink: true,\n // Enable hover highlight.\n hoverLinkDataSize: null,\n // The size of hovered data.\n hoverLinkOnHandle: null // Whether trigger hoverLink when hover handle.\n // If not specified, follow the value of `realtime`.\n\n },\n\n /**\n * @override\n */\n optionUpdated: function (newOption, isInit) {\n ContinuousModel.superApply(this, 'optionUpdated', arguments);\n this.resetExtent();\n this.resetVisual(function (mappingOption) {\n mappingOption.mappingMethod = 'linear';\n mappingOption.dataExtent = this.getExtent();\n });\n\n this._resetRange();\n },\n\n /**\n * @protected\n * @override\n */\n resetItemSize: function () {\n ContinuousModel.superApply(this, 'resetItemSize', arguments);\n var itemSize = this.itemSize;\n this._orient === 'horizontal' && itemSize.reverse();\n (itemSize[0] == null || isNaN(itemSize[0])) && (itemSize[0] = DEFAULT_BAR_BOUND[0]);\n (itemSize[1] == null || isNaN(itemSize[1])) && (itemSize[1] = DEFAULT_BAR_BOUND[1]);\n },\n\n /**\n * @private\n */\n _resetRange: function () {\n var dataExtent = this.getExtent();\n var range = this.option.range;\n\n if (!range || range.auto) {\n // `range` should always be array (so we dont use other\n // value like 'auto') for user-friend. (consider getOption).\n dataExtent.auto = 1;\n this.option.range = dataExtent;\n } else if (zrUtil.isArray(range)) {\n if (range[0] > range[1]) {\n range.reverse();\n }\n\n range[0] = Math.max(range[0], dataExtent[0]);\n range[1] = Math.min(range[1], dataExtent[1]);\n }\n },\n\n /**\n * @protected\n * @override\n */\n completeVisualOption: function () {\n VisualMapModel.prototype.completeVisualOption.apply(this, arguments);\n zrUtil.each(this.stateList, function (state) {\n var symbolSize = this.option.controller[state].symbolSize;\n\n if (symbolSize && symbolSize[0] !== symbolSize[1]) {\n symbolSize[0] = 0; // For good looking.\n }\n }, this);\n },\n\n /**\n * @override\n */\n setSelected: function (selected) {\n this.option.range = selected.slice();\n\n this._resetRange();\n },\n\n /**\n * @public\n */\n getSelected: function () {\n var dataExtent = this.getExtent();\n var dataInterval = numberUtil.asc((this.get('range') || []).slice()); // Clamp\n\n dataInterval[0] > dataExtent[1] && (dataInterval[0] = dataExtent[1]);\n dataInterval[1] > dataExtent[1] && (dataInterval[1] = dataExtent[1]);\n dataInterval[0] < dataExtent[0] && (dataInterval[0] = dataExtent[0]);\n dataInterval[1] < dataExtent[0] && (dataInterval[1] = dataExtent[0]);\n return dataInterval;\n },\n\n /**\n * @override\n */\n getValueState: function (value) {\n var range = this.option.range;\n var dataExtent = this.getExtent(); // When range[0] === dataExtent[0], any value larger than dataExtent[0] maps to 'inRange'.\n // range[1] is processed likewise.\n\n return (range[0] <= dataExtent[0] || range[0] <= value) && (range[1] >= dataExtent[1] || value <= range[1]) ? 'inRange' : 'outOfRange';\n },\n\n /**\n * @params {Array.} range target value: range[0] <= value && value <= range[1]\n * @return {Array.} [{seriesId, dataIndices: >}, ...]\n */\n findTargetDataIndices: function (range) {\n var result = [];\n this.eachTargetSeries(function (seriesModel) {\n var dataIndices = [];\n var data = seriesModel.getData();\n data.each(this.getDataDimension(data), function (value, dataIndex) {\n range[0] <= value && value <= range[1] && dataIndices.push(dataIndex);\n }, this);\n result.push({\n seriesId: seriesModel.id,\n dataIndex: dataIndices\n });\n }, this);\n return result;\n },\n\n /**\n * @implement\n */\n getVisualMeta: function (getColorVisual) {\n var oVals = getColorStopValues(this, 'outOfRange', this.getExtent());\n var iVals = getColorStopValues(this, 'inRange', this.option.range.slice());\n var stops = [];\n\n function setStop(value, valueState) {\n stops.push({\n value: value,\n color: getColorVisual(value, valueState)\n });\n } // Format to: outOfRange -- inRange -- outOfRange.\n\n\n var iIdx = 0;\n var oIdx = 0;\n var iLen = iVals.length;\n var oLen = oVals.length;\n\n for (; oIdx < oLen && (!iVals.length || oVals[oIdx] <= iVals[0]); oIdx++) {\n // If oVal[oIdx] === iVals[iIdx], oVal[oIdx] should be ignored.\n if (oVals[oIdx] < iVals[iIdx]) {\n setStop(oVals[oIdx], 'outOfRange');\n }\n }\n\n for (var first = 1; iIdx < iLen; iIdx++, first = 0) {\n // If range is full, value beyond min, max will be clamped.\n // make a singularity\n first && stops.length && setStop(iVals[iIdx], 'outOfRange');\n setStop(iVals[iIdx], 'inRange');\n }\n\n for (var first = 1; oIdx < oLen; oIdx++) {\n if (!iVals.length || iVals[iVals.length - 1] < oVals[oIdx]) {\n // make a singularity\n if (first) {\n stops.length && setStop(stops[stops.length - 1].value, 'outOfRange');\n first = 0;\n }\n\n setStop(oVals[oIdx], 'outOfRange');\n }\n }\n\n var stopsLen = stops.length;\n return {\n stops: stops,\n outerColors: [stopsLen ? stops[0].color : 'transparent', stopsLen ? stops[stopsLen - 1].color : 'transparent']\n };\n }\n});\n\nfunction getColorStopValues(visualMapModel, valueState, dataExtent) {\n if (dataExtent[0] === dataExtent[1]) {\n return dataExtent.slice();\n } // When using colorHue mapping, it is not linear color any more.\n // Moreover, canvas gradient seems not to be accurate linear.\n // FIXME\n // Should be arbitrary value 100? or based on pixel size?\n\n\n var count = 200;\n var step = (dataExtent[1] - dataExtent[0]) / count;\n var value = dataExtent[0];\n var stopValues = [];\n\n for (var i = 0; i <= count && value < dataExtent[1]; i++) {\n stopValues.push(value);\n value += step;\n }\n\n stopValues.push(dataExtent[1]);\n return stopValues;\n}\n\nvar _default = ContinuousModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction dataToCoordSize(dataSize, dataItem) {\n // dataItem is necessary in log axis.\n var axis = this.getAxis();\n var val = dataItem instanceof Array ? dataItem[0] : dataItem;\n var halfSize = (dataSize instanceof Array ? dataSize[0] : dataSize) / 2;\n return axis.type === 'category' ? axis.getBandWidth() : Math.abs(axis.dataToCoord(val - halfSize) - axis.dataToCoord(val + halfSize));\n}\n\nfunction _default(coordSys) {\n var rect = coordSys.getRect();\n return {\n coordSys: {\n type: 'singleAxis',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n },\n api: {\n coord: function (val) {\n // do not provide \"out\" param\n return coordSys.dataToPoint(val);\n },\n size: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar List = require(\"../../data/List\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar markerHelper = require(\"./markerHelper\");\n\nvar LineDraw = require(\"../../chart/helper/LineDraw\");\n\nvar MarkerView = require(\"./MarkerView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar markLineTransform = function (seriesModel, coordSys, mlModel, item) {\n var data = seriesModel.getData(); // Special type markLine like 'min', 'max', 'average', 'median'\n\n var mlType = item.type;\n\n if (!zrUtil.isArray(item) && (mlType === 'min' || mlType === 'max' || mlType === 'average' || mlType === 'median' // In case\n // data: [{\n // yAxis: 10\n // }]\n || item.xAxis != null || item.yAxis != null)) {\n var valueAxis;\n var valueDataDim;\n var value;\n\n if (item.yAxis != null || item.xAxis != null) {\n valueDataDim = item.yAxis != null ? 'y' : 'x';\n valueAxis = coordSys.getAxis(valueDataDim);\n value = zrUtil.retrieve(item.yAxis, item.xAxis);\n } else {\n var axisInfo = markerHelper.getAxisInfo(item, data, coordSys, seriesModel);\n valueDataDim = axisInfo.valueDataDim;\n valueAxis = axisInfo.valueAxis;\n value = markerHelper.numCalculate(data, valueDataDim, mlType);\n }\n\n var valueIndex = valueDataDim === 'x' ? 0 : 1;\n var baseIndex = 1 - valueIndex;\n var mlFrom = zrUtil.clone(item);\n var mlTo = {};\n mlFrom.type = null;\n mlFrom.coord = [];\n mlTo.coord = [];\n mlFrom.coord[baseIndex] = -Infinity;\n mlTo.coord[baseIndex] = Infinity;\n var precision = mlModel.get('precision');\n\n if (precision >= 0 && typeof value === 'number') {\n value = +value.toFixed(Math.min(precision, 20));\n }\n\n mlFrom.coord[valueIndex] = mlTo.coord[valueIndex] = value;\n item = [mlFrom, mlTo, {\n // Extra option for tooltip and label\n type: mlType,\n valueIndex: item.valueIndex,\n // Force to use the value of calculated value.\n value: value\n }];\n }\n\n item = [markerHelper.dataTransform(seriesModel, item[0]), markerHelper.dataTransform(seriesModel, item[1]), zrUtil.extend({}, item[2])]; // Avoid line data type is extended by from(to) data type\n\n item[2].type = item[2].type || ''; // Merge from option and to option into line option\n\n zrUtil.merge(item[2], item[0]);\n zrUtil.merge(item[2], item[1]);\n return item;\n};\n\nfunction isInifinity(val) {\n return !isNaN(val) && !isFinite(val);\n} // If a markLine has one dim\n\n\nfunction ifMarkLineHasOnlyDim(dimIndex, fromCoord, toCoord, coordSys) {\n var otherDimIndex = 1 - dimIndex;\n var dimName = coordSys.dimensions[dimIndex];\n return isInifinity(fromCoord[otherDimIndex]) && isInifinity(toCoord[otherDimIndex]) && fromCoord[dimIndex] === toCoord[dimIndex] && coordSys.getAxis(dimName).containData(fromCoord[dimIndex]);\n}\n\nfunction markLineFilter(coordSys, item) {\n if (coordSys.type === 'cartesian2d') {\n var fromCoord = item[0].coord;\n var toCoord = item[1].coord; // In case\n // {\n // markLine: {\n // data: [{ yAxis: 2 }]\n // }\n // }\n\n if (fromCoord && toCoord && (ifMarkLineHasOnlyDim(1, fromCoord, toCoord, coordSys) || ifMarkLineHasOnlyDim(0, fromCoord, toCoord, coordSys))) {\n return true;\n }\n }\n\n return markerHelper.dataFilter(coordSys, item[0]) && markerHelper.dataFilter(coordSys, item[1]);\n}\n\nfunction updateSingleMarkerEndLayout(data, idx, isFrom, seriesModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var itemModel = data.getItemModel(idx);\n var point;\n var xPx = numberUtil.parsePercent(itemModel.get('x'), api.getWidth());\n var yPx = numberUtil.parsePercent(itemModel.get('y'), api.getHeight());\n\n if (!isNaN(xPx) && !isNaN(yPx)) {\n point = [xPx, yPx];\n } else {\n // Chart like bar may have there own marker positioning logic\n if (seriesModel.getMarkerPosition) {\n // Use the getMarkerPoisition\n point = seriesModel.getMarkerPosition(data.getValues(data.dimensions, idx));\n } else {\n var dims = coordSys.dimensions;\n var x = data.get(dims[0], idx);\n var y = data.get(dims[1], idx);\n point = coordSys.dataToPoint([x, y]);\n } // Expand line to the edge of grid if value on one axis is Inifnity\n // In case\n // markLine: {\n // data: [{\n // yAxis: 2\n // // or\n // type: 'average'\n // }]\n // }\n\n\n if (coordSys.type === 'cartesian2d') {\n var xAxis = coordSys.getAxis('x');\n var yAxis = coordSys.getAxis('y');\n var dims = coordSys.dimensions;\n\n if (isInifinity(data.get(dims[0], idx))) {\n point[0] = xAxis.toGlobalCoord(xAxis.getExtent()[isFrom ? 0 : 1]);\n } else if (isInifinity(data.get(dims[1], idx))) {\n point[1] = yAxis.toGlobalCoord(yAxis.getExtent()[isFrom ? 0 : 1]);\n }\n } // Use x, y if has any\n\n\n if (!isNaN(xPx)) {\n point[0] = xPx;\n }\n\n if (!isNaN(yPx)) {\n point[1] = yPx;\n }\n }\n\n data.setItemLayout(idx, point);\n}\n\nvar _default = MarkerView.extend({\n type: 'markLine',\n // updateLayout: function (markLineModel, ecModel, api) {\n // ecModel.eachSeries(function (seriesModel) {\n // var mlModel = seriesModel.markLineModel;\n // if (mlModel) {\n // var mlData = mlModel.getData();\n // var fromData = mlModel.__from;\n // var toData = mlModel.__to;\n // // Update visual and layout of from symbol and to symbol\n // fromData.each(function (idx) {\n // updateSingleMarkerEndLayout(fromData, idx, true, seriesModel, api);\n // updateSingleMarkerEndLayout(toData, idx, false, seriesModel, api);\n // });\n // // Update layout of line\n // mlData.each(function (idx) {\n // mlData.setItemLayout(idx, [\n // fromData.getItemLayout(idx),\n // toData.getItemLayout(idx)\n // ]);\n // });\n // this.markerGroupMap.get(seriesModel.id).updateLayout();\n // }\n // }, this);\n // },\n updateTransform: function (markLineModel, ecModel, api) {\n ecModel.eachSeries(function (seriesModel) {\n var mlModel = seriesModel.markLineModel;\n\n if (mlModel) {\n var mlData = mlModel.getData();\n var fromData = mlModel.__from;\n var toData = mlModel.__to; // Update visual and layout of from symbol and to symbol\n\n fromData.each(function (idx) {\n updateSingleMarkerEndLayout(fromData, idx, true, seriesModel, api);\n updateSingleMarkerEndLayout(toData, idx, false, seriesModel, api);\n }); // Update layout of line\n\n mlData.each(function (idx) {\n mlData.setItemLayout(idx, [fromData.getItemLayout(idx), toData.getItemLayout(idx)]);\n });\n this.markerGroupMap.get(seriesModel.id).updateLayout();\n }\n }, this);\n },\n renderSeries: function (seriesModel, mlModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var seriesId = seriesModel.id;\n var seriesData = seriesModel.getData();\n var lineDrawMap = this.markerGroupMap;\n var lineDraw = lineDrawMap.get(seriesId) || lineDrawMap.set(seriesId, new LineDraw());\n this.group.add(lineDraw.group);\n var mlData = createList(coordSys, seriesModel, mlModel);\n var fromData = mlData.from;\n var toData = mlData.to;\n var lineData = mlData.line;\n mlModel.__from = fromData;\n mlModel.__to = toData; // Line data for tooltip and formatter\n\n mlModel.setData(lineData);\n var symbolType = mlModel.get('symbol');\n var symbolSize = mlModel.get('symbolSize');\n\n if (!zrUtil.isArray(symbolType)) {\n symbolType = [symbolType, symbolType];\n }\n\n if (typeof symbolSize === 'number') {\n symbolSize = [symbolSize, symbolSize];\n } // Update visual and layout of from symbol and to symbol\n\n\n mlData.from.each(function (idx) {\n updateDataVisualAndLayout(fromData, idx, true);\n updateDataVisualAndLayout(toData, idx, false);\n }); // Update visual and layout of line\n\n lineData.each(function (idx) {\n var lineColor = lineData.getItemModel(idx).get('lineStyle.color');\n lineData.setItemVisual(idx, {\n color: lineColor || fromData.getItemVisual(idx, 'color')\n });\n lineData.setItemLayout(idx, [fromData.getItemLayout(idx), toData.getItemLayout(idx)]);\n lineData.setItemVisual(idx, {\n 'fromSymbolSize': fromData.getItemVisual(idx, 'symbolSize'),\n 'fromSymbol': fromData.getItemVisual(idx, 'symbol'),\n 'toSymbolSize': toData.getItemVisual(idx, 'symbolSize'),\n 'toSymbol': toData.getItemVisual(idx, 'symbol')\n });\n });\n lineDraw.updateData(lineData); // Set host model for tooltip\n // FIXME\n\n mlData.line.eachItemGraphicEl(function (el, idx) {\n el.traverse(function (child) {\n child.dataModel = mlModel;\n });\n });\n\n function updateDataVisualAndLayout(data, idx, isFrom) {\n var itemModel = data.getItemModel(idx);\n updateSingleMarkerEndLayout(data, idx, isFrom, seriesModel, api);\n data.setItemVisual(idx, {\n symbolSize: itemModel.get('symbolSize') || symbolSize[isFrom ? 0 : 1],\n symbol: itemModel.get('symbol', true) || symbolType[isFrom ? 0 : 1],\n color: itemModel.get('itemStyle.color') || seriesData.getVisual('color')\n });\n }\n\n lineDraw.__keep = true;\n lineDraw.group.silent = mlModel.get('silent') || seriesModel.get('silent');\n }\n});\n/**\n * @inner\n * @param {module:echarts/coord/*} coordSys\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Model} mpModel\n */\n\n\nfunction createList(coordSys, seriesModel, mlModel) {\n var coordDimsInfos;\n\n if (coordSys) {\n coordDimsInfos = zrUtil.map(coordSys && coordSys.dimensions, function (coordDim) {\n var info = seriesModel.getData().getDimensionInfo(seriesModel.getData().mapDimension(coordDim)) || {}; // In map series data don't have lng and lat dimension. Fallback to same with coordSys\n\n return zrUtil.defaults({\n name: coordDim\n }, info);\n });\n } else {\n coordDimsInfos = [{\n name: 'value',\n type: 'float'\n }];\n }\n\n var fromData = new List(coordDimsInfos, mlModel);\n var toData = new List(coordDimsInfos, mlModel); // No dimensions\n\n var lineData = new List([], mlModel);\n var optData = zrUtil.map(mlModel.get('data'), zrUtil.curry(markLineTransform, seriesModel, coordSys, mlModel));\n\n if (coordSys) {\n optData = zrUtil.filter(optData, zrUtil.curry(markLineFilter, coordSys));\n }\n\n var dimValueGetter = coordSys ? markerHelper.dimValueGetter : function (item) {\n return item.value;\n };\n fromData.initData(zrUtil.map(optData, function (item) {\n return item[0];\n }), null, dimValueGetter);\n toData.initData(zrUtil.map(optData, function (item) {\n return item[1];\n }), null, dimValueGetter);\n lineData.initData(zrUtil.map(optData, function (item) {\n return item[2];\n }));\n lineData.hasItemOption = true;\n return {\n from: fromData,\n to: toData,\n line: lineData\n };\n}\n\nmodule.exports = _default;","var util = require(\"../core/util\");\n\nvar _event = require(\"../core/event\");\n\nvar Dispatcher = _event.Dispatcher;\n\nvar requestAnimationFrame = require(\"./requestAnimationFrame\");\n\nvar Animator = require(\"./Animator\");\n\n/**\n * 动画主类, 调度和管理所有动画控制器\n *\n * @module zrender/animation/Animation\n * @author pissang(https://github.com/pissang)\n */\n// TODO Additive animation\n// http://iosoteric.com/additive-animations-animatewithduration-in-ios-8/\n// https://developer.apple.com/videos/wwdc2014/#236\n\n/**\n * @typedef {Object} IZRenderStage\n * @property {Function} update\n */\n\n/**\n * @alias module:zrender/animation/Animation\n * @constructor\n * @param {Object} [options]\n * @param {Function} [options.onframe]\n * @param {IZRenderStage} [options.stage]\n * @example\n * var animation = new Animation();\n * var obj = {\n * x: 100,\n * y: 100\n * };\n * animation.animate(node.position)\n * .when(1000, {\n * x: 500,\n * y: 500\n * })\n * .when(2000, {\n * x: 100,\n * y: 100\n * })\n * .start('spline');\n */\nvar Animation = function (options) {\n options = options || {};\n this.stage = options.stage || {};\n\n this.onframe = options.onframe || function () {}; // private properties\n\n\n this._clips = [];\n this._running = false;\n this._time;\n this._pausedTime;\n this._pauseStart;\n this._paused = false;\n Dispatcher.call(this);\n};\n\nAnimation.prototype = {\n constructor: Animation,\n\n /**\n * 添加 clip\n * @param {module:zrender/animation/Clip} clip\n */\n addClip: function (clip) {\n this._clips.push(clip);\n },\n\n /**\n * 添加 animator\n * @param {module:zrender/animation/Animator} animator\n */\n addAnimator: function (animator) {\n animator.animation = this;\n var clips = animator.getClips();\n\n for (var i = 0; i < clips.length; i++) {\n this.addClip(clips[i]);\n }\n },\n\n /**\n * 删除动画片段\n * @param {module:zrender/animation/Clip} clip\n */\n removeClip: function (clip) {\n var idx = util.indexOf(this._clips, clip);\n\n if (idx >= 0) {\n this._clips.splice(idx, 1);\n }\n },\n\n /**\n * 删除动画片段\n * @param {module:zrender/animation/Animator} animator\n */\n removeAnimator: function (animator) {\n var clips = animator.getClips();\n\n for (var i = 0; i < clips.length; i++) {\n this.removeClip(clips[i]);\n }\n\n animator.animation = null;\n },\n _update: function () {\n var time = new Date().getTime() - this._pausedTime;\n\n var delta = time - this._time;\n var clips = this._clips;\n var len = clips.length;\n var deferredEvents = [];\n var deferredClips = [];\n\n for (var i = 0; i < len; i++) {\n var clip = clips[i];\n var e = clip.step(time, delta); // Throw out the events need to be called after\n // stage.update, like destroy\n\n if (e) {\n deferredEvents.push(e);\n deferredClips.push(clip);\n }\n } // Remove the finished clip\n\n\n for (var i = 0; i < len;) {\n if (clips[i]._needsRemove) {\n clips[i] = clips[len - 1];\n clips.pop();\n len--;\n } else {\n i++;\n }\n }\n\n len = deferredEvents.length;\n\n for (var i = 0; i < len; i++) {\n deferredClips[i].fire(deferredEvents[i]);\n }\n\n this._time = time;\n this.onframe(delta); // 'frame' should be triggered before stage, because upper application\n // depends on the sequence (e.g., echarts-stream and finish\n // event judge)\n\n this.trigger('frame', delta);\n\n if (this.stage.update) {\n this.stage.update();\n }\n },\n _startLoop: function () {\n var self = this;\n this._running = true;\n\n function step() {\n if (self._running) {\n requestAnimationFrame(step);\n !self._paused && self._update();\n }\n }\n\n requestAnimationFrame(step);\n },\n\n /**\n * Start animation.\n */\n start: function () {\n this._time = new Date().getTime();\n this._pausedTime = 0;\n\n this._startLoop();\n },\n\n /**\n * Stop animation.\n */\n stop: function () {\n this._running = false;\n },\n\n /**\n * Pause animation.\n */\n pause: function () {\n if (!this._paused) {\n this._pauseStart = new Date().getTime();\n this._paused = true;\n }\n },\n\n /**\n * Resume animation.\n */\n resume: function () {\n if (this._paused) {\n this._pausedTime += new Date().getTime() - this._pauseStart;\n this._paused = false;\n }\n },\n\n /**\n * Clear animation.\n */\n clear: function () {\n this._clips = [];\n },\n\n /**\n * Whether animation finished.\n */\n isFinished: function () {\n return !this._clips.length;\n },\n\n /**\n * Creat animator for a target, whose props can be animated.\n *\n * @param {Object} target\n * @param {Object} options\n * @param {boolean} [options.loop=false] Whether loop animation.\n * @param {Function} [options.getter=null] Get value from target.\n * @param {Function} [options.setter=null] Set value to target.\n * @return {module:zrender/animation/Animation~Animator}\n */\n // TODO Gap\n animate: function (target, options) {\n options = options || {};\n var animator = new Animator(target, options.loop, options.getter, options.setter);\n this.addAnimator(animator);\n return animator;\n }\n};\nutil.mixin(Animation, Dispatcher);\nvar _default = Animation;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./sankey/SankeySeries\");\n\nrequire(\"./sankey/SankeyView\");\n\nrequire(\"./sankey/sankeyAction\");\n\nvar sankeyLayout = require(\"./sankey/sankeyLayout\");\n\nvar sankeyVisual = require(\"./sankey/sankeyVisual\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerLayout(sankeyLayout);\necharts.registerVisual(sankeyVisual);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _echarts = require(\"./lib/echarts\");\n\n(function () {\n for (var key in _echarts) {\n if (_echarts == null || !_echarts.hasOwnProperty(key) || key === 'default' || key === '__esModule') return;\n exports[key] = _echarts[key];\n }\n})();\n\nvar _export = require(\"./lib/export\");\n\n(function () {\n for (var key in _export) {\n if (_export == null || !_export.hasOwnProperty(key) || key === 'default' || key === '__esModule') return;\n exports[key] = _export[key];\n }\n})();\n\nrequire(\"./lib/component/dataset\");\n\nrequire(\"./lib/chart/line\");\n\nrequire(\"./lib/chart/bar\");\n\nrequire(\"./lib/chart/pie\");\n\nrequire(\"./lib/chart/scatter\");\n\nrequire(\"./lib/chart/radar\");\n\nrequire(\"./lib/chart/map\");\n\nrequire(\"./lib/chart/tree\");\n\nrequire(\"./lib/chart/treemap\");\n\nrequire(\"./lib/chart/graph\");\n\nrequire(\"./lib/chart/gauge\");\n\nrequire(\"./lib/chart/funnel\");\n\nrequire(\"./lib/chart/parallel\");\n\nrequire(\"./lib/chart/sankey\");\n\nrequire(\"./lib/chart/boxplot\");\n\nrequire(\"./lib/chart/candlestick\");\n\nrequire(\"./lib/chart/effectScatter\");\n\nrequire(\"./lib/chart/lines\");\n\nrequire(\"./lib/chart/heatmap\");\n\nrequire(\"./lib/chart/pictorialBar\");\n\nrequire(\"./lib/chart/themeRiver\");\n\nrequire(\"./lib/chart/sunburst\");\n\nrequire(\"./lib/chart/custom\");\n\nrequire(\"./lib/component/graphic\");\n\nrequire(\"./lib/component/grid\");\n\nrequire(\"./lib/component/legendScroll\");\n\nrequire(\"./lib/component/tooltip\");\n\nrequire(\"./lib/component/axisPointer\");\n\nrequire(\"./lib/component/polar\");\n\nrequire(\"./lib/component/geo\");\n\nrequire(\"./lib/component/parallel\");\n\nrequire(\"./lib/component/singleAxis\");\n\nrequire(\"./lib/component/brush\");\n\nrequire(\"./lib/component/calendar\");\n\nrequire(\"./lib/component/title\");\n\nrequire(\"./lib/component/dataZoom\");\n\nrequire(\"./lib/component/visualMap\");\n\nrequire(\"./lib/component/markPoint\");\n\nrequire(\"./lib/component/markLine\");\n\nrequire(\"./lib/component/markArea\");\n\nrequire(\"./lib/component/timeline\");\n\nrequire(\"./lib/component/toolbox\");\n\nrequire(\"zrender/lib/vml/vml\");\n\nrequire(\"zrender/lib/svg/svg\");","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Link lists and struct (graph or tree)\n */\nvar each = zrUtil.each;\nvar DATAS = '\\0__link_datas';\nvar MAIN_DATA = '\\0__link_mainData'; // Caution:\n// In most case, either list or its shallow clones (see list.cloneShallow)\n// is active in echarts process. So considering heap memory consumption,\n// we do not clone tree or graph, but share them among list and its shallow clones.\n// But in some rare case, we have to keep old list (like do animation in chart). So\n// please take care that both the old list and the new list share the same tree/graph.\n\n/**\n * @param {Object} opt\n * @param {module:echarts/data/List} opt.mainData\n * @param {Object} [opt.struct] For example, instance of Graph or Tree.\n * @param {string} [opt.structAttr] designation: list[structAttr] = struct;\n * @param {Object} [opt.datas] {dataType: data},\n * like: {node: nodeList, edge: edgeList}.\n * Should contain mainData.\n * @param {Object} [opt.datasAttr] {dataType: attr},\n * designation: struct[datasAttr[dataType]] = list;\n */\n\nfunction linkList(opt) {\n var mainData = opt.mainData;\n var datas = opt.datas;\n\n if (!datas) {\n datas = {\n main: mainData\n };\n opt.datasAttr = {\n main: 'data'\n };\n }\n\n opt.datas = opt.mainData = null;\n linkAll(mainData, datas, opt); // Porxy data original methods.\n\n each(datas, function (data) {\n each(mainData.TRANSFERABLE_METHODS, function (methodName) {\n data.wrapMethod(methodName, zrUtil.curry(transferInjection, opt));\n });\n }); // Beyond transfer, additional features should be added to `cloneShallow`.\n\n mainData.wrapMethod('cloneShallow', zrUtil.curry(cloneShallowInjection, opt)); // Only mainData trigger change, because struct.update may trigger\n // another changable methods, which may bring about dead lock.\n\n each(mainData.CHANGABLE_METHODS, function (methodName) {\n mainData.wrapMethod(methodName, zrUtil.curry(changeInjection, opt));\n }); // Make sure datas contains mainData.\n\n zrUtil.assert(datas[mainData.dataType] === mainData);\n}\n\nfunction transferInjection(opt, res) {\n if (isMainData(this)) {\n // Transfer datas to new main data.\n var datas = zrUtil.extend({}, this[DATAS]);\n datas[this.dataType] = res;\n linkAll(res, datas, opt);\n } else {\n // Modify the reference in main data to point newData.\n linkSingle(res, this.dataType, this[MAIN_DATA], opt);\n }\n\n return res;\n}\n\nfunction changeInjection(opt, res) {\n opt.struct && opt.struct.update(this);\n return res;\n}\n\nfunction cloneShallowInjection(opt, res) {\n // cloneShallow, which brings about some fragilities, may be inappropriate\n // to be exposed as an API. So for implementation simplicity we can make\n // the restriction that cloneShallow of not-mainData should not be invoked\n // outside, but only be invoked here.\n each(res[DATAS], function (data, dataType) {\n data !== res && linkSingle(data.cloneShallow(), dataType, res, opt);\n });\n return res;\n}\n/**\n * Supplement method to List.\n *\n * @public\n * @param {string} [dataType] If not specified, return mainData.\n * @return {module:echarts/data/List}\n */\n\n\nfunction getLinkedData(dataType) {\n var mainData = this[MAIN_DATA];\n return dataType == null || mainData == null ? mainData : mainData[DATAS][dataType];\n}\n\nfunction isMainData(data) {\n return data[MAIN_DATA] === data;\n}\n\nfunction linkAll(mainData, datas, opt) {\n mainData[DATAS] = {};\n each(datas, function (data, dataType) {\n linkSingle(data, dataType, mainData, opt);\n });\n}\n\nfunction linkSingle(data, dataType, mainData, opt) {\n mainData[DATAS][dataType] = data;\n data[MAIN_DATA] = mainData;\n data.dataType = dataType;\n\n if (opt.struct) {\n data[opt.structAttr] = opt.struct;\n opt.struct[opt.datasAttr[dataType]] = data;\n } // Supplement method.\n\n\n data.getLinkedData = getLinkedData;\n}\n\nvar _default = linkList;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Region = require(\"../Region\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Fix for 南海诸岛\nvar geoCoord = [126, 25];\nvar points = [[[0, 3.5], [7, 11.2], [15, 11.9], [30, 7], [42, 0.7], [52, 0.7], [56, 7.7], [59, 0.7], [64, 0.7], [64, 0], [5, 0], [0, 3.5]], [[13, 16.1], [19, 14.7], [16, 21.7], [11, 23.1], [13, 16.1]], [[12, 32.2], [14, 38.5], [15, 38.5], [13, 32.2], [12, 32.2]], [[16, 47.6], [12, 53.2], [13, 53.2], [18, 47.6], [16, 47.6]], [[6, 64.4], [8, 70], [9, 70], [8, 64.4], [6, 64.4]], [[23, 82.6], [29, 79.8], [30, 79.8], [25, 82.6], [23, 82.6]], [[37, 70.7], [43, 62.3], [44, 62.3], [39, 70.7], [37, 70.7]], [[48, 51.1], [51, 45.5], [53, 45.5], [50, 51.1], [48, 51.1]], [[51, 35], [51, 28.7], [53, 28.7], [53, 35], [51, 35]], [[52, 22.4], [55, 17.5], [56, 17.5], [53, 22.4], [52, 22.4]], [[58, 12.6], [62, 7], [63, 7], [60, 12.6], [58, 12.6]], [[0, 3.5], [0, 93.1], [64, 93.1], [64, 0], [63, 0], [63, 92.4], [1, 92.4], [1, 3.5], [0, 3.5]]];\n\nfor (var i = 0; i < points.length; i++) {\n for (var k = 0; k < points[i].length; k++) {\n points[i][k][0] /= 10.5;\n points[i][k][1] /= -10.5 / 0.75;\n points[i][k][0] += geoCoord[0];\n points[i][k][1] += geoCoord[1];\n }\n}\n\nfunction _default(mapType, regions) {\n if (mapType === 'china') {\n regions.push(new Region('南海诸岛', zrUtil.map(points, function (exterior) {\n return {\n type: 'polygon',\n exterior: exterior\n };\n }), geoCoord));\n }\n}\n\nmodule.exports = _default;","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n return $lastIndexOf.apply(aTypedArray(this), arguments);\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar DataZoomView = require(\"./DataZoomView\");\n\nvar sliderMove = require(\"../helper/sliderMove\");\n\nvar roams = require(\"./roams\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar bind = zrUtil.bind;\nvar InsideZoomView = DataZoomView.extend({\n type: 'dataZoom.inside',\n\n /**\n * @override\n */\n init: function (ecModel, api) {\n /**\n * 'throttle' is used in this.dispatchAction, so we save range\n * to avoid missing some 'pan' info.\n * @private\n * @type {Array.}\n */\n this._range;\n },\n\n /**\n * @override\n */\n render: function (dataZoomModel, ecModel, api, payload) {\n InsideZoomView.superApply(this, 'render', arguments); // Hance the `throttle` util ensures to preserve command order,\n // here simply updating range all the time will not cause missing\n // any of the the roam change.\n\n this._range = dataZoomModel.getPercentRange(); // Reset controllers.\n\n zrUtil.each(this.getTargetCoordInfo(), function (coordInfoList, coordSysName) {\n var allCoordIds = zrUtil.map(coordInfoList, function (coordInfo) {\n return roams.generateCoordId(coordInfo.model);\n });\n zrUtil.each(coordInfoList, function (coordInfo) {\n var coordModel = coordInfo.model;\n var getRange = {};\n zrUtil.each(['pan', 'zoom', 'scrollMove'], function (eventName) {\n getRange[eventName] = bind(roamHandlers[eventName], this, coordInfo, coordSysName);\n }, this);\n roams.register(api, {\n coordId: roams.generateCoordId(coordModel),\n allCoordIds: allCoordIds,\n containsPoint: function (e, x, y) {\n return coordModel.coordinateSystem.containPoint([x, y]);\n },\n dataZoomId: dataZoomModel.id,\n dataZoomModel: dataZoomModel,\n getRange: getRange\n });\n }, this);\n }, this);\n },\n\n /**\n * @override\n */\n dispose: function () {\n roams.unregister(this.api, this.dataZoomModel.id);\n InsideZoomView.superApply(this, 'dispose', arguments);\n this._range = null;\n }\n});\nvar roamHandlers = {\n /**\n * @this {module:echarts/component/dataZoom/InsideZoomView}\n */\n zoom: function (coordInfo, coordSysName, controller, e) {\n var lastRange = this._range;\n var range = lastRange.slice(); // Calculate transform by the first axis.\n\n var axisModel = coordInfo.axisModels[0];\n\n if (!axisModel) {\n return;\n }\n\n var directionInfo = getDirectionInfo[coordSysName](null, [e.originX, e.originY], axisModel, controller, coordInfo);\n var percentPoint = (directionInfo.signal > 0 ? directionInfo.pixelStart + directionInfo.pixelLength - directionInfo.pixel : directionInfo.pixel - directionInfo.pixelStart) / directionInfo.pixelLength * (range[1] - range[0]) + range[0];\n var scale = Math.max(1 / e.scale, 0);\n range[0] = (range[0] - percentPoint) * scale + percentPoint;\n range[1] = (range[1] - percentPoint) * scale + percentPoint; // Restrict range.\n\n var minMaxSpan = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();\n sliderMove(0, range, [0, 100], 0, minMaxSpan.minSpan, minMaxSpan.maxSpan);\n this._range = range;\n\n if (lastRange[0] !== range[0] || lastRange[1] !== range[1]) {\n return range;\n }\n },\n\n /**\n * @this {module:echarts/component/dataZoom/InsideZoomView}\n */\n pan: makeMover(function (range, axisModel, coordInfo, coordSysName, controller, e) {\n var directionInfo = getDirectionInfo[coordSysName]([e.oldX, e.oldY], [e.newX, e.newY], axisModel, controller, coordInfo);\n return directionInfo.signal * (range[1] - range[0]) * directionInfo.pixel / directionInfo.pixelLength;\n }),\n\n /**\n * @this {module:echarts/component/dataZoom/InsideZoomView}\n */\n scrollMove: makeMover(function (range, axisModel, coordInfo, coordSysName, controller, e) {\n var directionInfo = getDirectionInfo[coordSysName]([0, 0], [e.scrollDelta, e.scrollDelta], axisModel, controller, coordInfo);\n return directionInfo.signal * (range[1] - range[0]) * e.scrollDelta;\n })\n};\n\nfunction makeMover(getPercentDelta) {\n return function (coordInfo, coordSysName, controller, e) {\n var lastRange = this._range;\n var range = lastRange.slice(); // Calculate transform by the first axis.\n\n var axisModel = coordInfo.axisModels[0];\n\n if (!axisModel) {\n return;\n }\n\n var percentDelta = getPercentDelta(range, axisModel, coordInfo, coordSysName, controller, e);\n sliderMove(percentDelta, range, [0, 100], 'all');\n this._range = range;\n\n if (lastRange[0] !== range[0] || lastRange[1] !== range[1]) {\n return range;\n }\n };\n}\n\nvar getDirectionInfo = {\n grid: function (oldPoint, newPoint, axisModel, controller, coordInfo) {\n var axis = axisModel.axis;\n var ret = {};\n var rect = coordInfo.model.coordinateSystem.getRect();\n oldPoint = oldPoint || [0, 0];\n\n if (axis.dim === 'x') {\n ret.pixel = newPoint[0] - oldPoint[0];\n ret.pixelLength = rect.width;\n ret.pixelStart = rect.x;\n ret.signal = axis.inverse ? 1 : -1;\n } else {\n // axis.dim === 'y'\n ret.pixel = newPoint[1] - oldPoint[1];\n ret.pixelLength = rect.height;\n ret.pixelStart = rect.y;\n ret.signal = axis.inverse ? -1 : 1;\n }\n\n return ret;\n },\n polar: function (oldPoint, newPoint, axisModel, controller, coordInfo) {\n var axis = axisModel.axis;\n var ret = {};\n var polar = coordInfo.model.coordinateSystem;\n var radiusExtent = polar.getRadiusAxis().getExtent();\n var angleExtent = polar.getAngleAxis().getExtent();\n oldPoint = oldPoint ? polar.pointToCoord(oldPoint) : [0, 0];\n newPoint = polar.pointToCoord(newPoint);\n\n if (axisModel.mainType === 'radiusAxis') {\n ret.pixel = newPoint[0] - oldPoint[0]; // ret.pixelLength = Math.abs(radiusExtent[1] - radiusExtent[0]);\n // ret.pixelStart = Math.min(radiusExtent[0], radiusExtent[1]);\n\n ret.pixelLength = radiusExtent[1] - radiusExtent[0];\n ret.pixelStart = radiusExtent[0];\n ret.signal = axis.inverse ? 1 : -1;\n } else {\n // 'angleAxis'\n ret.pixel = newPoint[1] - oldPoint[1]; // ret.pixelLength = Math.abs(angleExtent[1] - angleExtent[0]);\n // ret.pixelStart = Math.min(angleExtent[0], angleExtent[1]);\n\n ret.pixelLength = angleExtent[1] - angleExtent[0];\n ret.pixelStart = angleExtent[0];\n ret.signal = axis.inverse ? -1 : 1;\n }\n\n return ret;\n },\n singleAxis: function (oldPoint, newPoint, axisModel, controller, coordInfo) {\n var axis = axisModel.axis;\n var rect = coordInfo.model.coordinateSystem.getRect();\n var ret = {};\n oldPoint = oldPoint || [0, 0];\n\n if (axis.orient === 'horizontal') {\n ret.pixel = newPoint[0] - oldPoint[0];\n ret.pixelLength = rect.width;\n ret.pixelStart = rect.x;\n ret.signal = axis.inverse ? 1 : -1;\n } else {\n // 'vertical'\n ret.pixel = newPoint[1] - oldPoint[1];\n ret.pixelLength = rect.height;\n ret.pixelStart = rect.y;\n ret.signal = axis.inverse ? -1 : 1;\n }\n\n return ret;\n }\n};\nvar _default = InsideZoomView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar List = require(\"../../data/List\");\n\nvar createDimensions = require(\"../../data/helper/createDimensions\");\n\nvar _sourceType = require(\"../../data/helper/sourceType\");\n\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\n\nvar _dimensionHelper = require(\"../../data/helper/dimensionHelper\");\n\nvar getDimensionTypeByAxis = _dimensionHelper.getDimensionTypeByAxis;\n\nvar _model = require(\"../../util/model\");\n\nvar getDataItemValue = _model.getDataItemValue;\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\nvar _referHelper = require(\"../../model/referHelper\");\n\nvar getCoordSysDefineBySeries = _referHelper.getCoordSysDefineBySeries;\n\nvar Source = require(\"../../data/Source\");\n\nvar _dataStackHelper = require(\"../../data/helper/dataStackHelper\");\n\nvar enableDataStack = _dataStackHelper.enableDataStack;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @param {module:echarts/data/Source|Array} source Or raw data.\n * @param {module:echarts/model/Series} seriesModel\n * @param {Object} [opt]\n * @param {string} [opt.generateCoord]\n */\nfunction createListFromArray(source, seriesModel, opt) {\n opt = opt || {};\n\n if (!Source.isInstance(source)) {\n source = Source.seriesDataToSource(source);\n }\n\n var coordSysName = seriesModel.get('coordinateSystem');\n var registeredCoordSys = CoordinateSystem.get(coordSysName);\n var coordSysDefine = getCoordSysDefineBySeries(seriesModel);\n var coordSysDimDefs;\n\n if (coordSysDefine) {\n coordSysDimDefs = zrUtil.map(coordSysDefine.coordSysDims, function (dim) {\n var dimInfo = {\n name: dim\n };\n var axisModel = coordSysDefine.axisMap.get(dim);\n\n if (axisModel) {\n var axisType = axisModel.get('type');\n dimInfo.type = getDimensionTypeByAxis(axisType); // dimInfo.stackable = isStackable(axisType);\n }\n\n return dimInfo;\n });\n }\n\n if (!coordSysDimDefs) {\n // Get dimensions from registered coordinate system\n coordSysDimDefs = registeredCoordSys && (registeredCoordSys.getDimensionsInfo ? registeredCoordSys.getDimensionsInfo() : registeredCoordSys.dimensions.slice()) || ['x', 'y'];\n }\n\n var dimInfoList = createDimensions(source, {\n coordDimensions: coordSysDimDefs,\n generateCoord: opt.generateCoord\n });\n var firstCategoryDimIndex;\n var hasNameEncode;\n coordSysDefine && zrUtil.each(dimInfoList, function (dimInfo, dimIndex) {\n var coordDim = dimInfo.coordDim;\n var categoryAxisModel = coordSysDefine.categoryAxisMap.get(coordDim);\n\n if (categoryAxisModel) {\n if (firstCategoryDimIndex == null) {\n firstCategoryDimIndex = dimIndex;\n }\n\n dimInfo.ordinalMeta = categoryAxisModel.getOrdinalMeta();\n }\n\n if (dimInfo.otherDims.itemName != null) {\n hasNameEncode = true;\n }\n });\n\n if (!hasNameEncode && firstCategoryDimIndex != null) {\n dimInfoList[firstCategoryDimIndex].otherDims.itemName = 0;\n }\n\n var stackCalculationInfo = enableDataStack(seriesModel, dimInfoList);\n var list = new List(dimInfoList, seriesModel);\n list.setCalculationInfo(stackCalculationInfo);\n var dimValueGetter = firstCategoryDimIndex != null && isNeedCompleteOrdinalData(source) ? function (itemOpt, dimName, dataIndex, dimIndex) {\n // Use dataIndex as ordinal value in categoryAxis\n return dimIndex === firstCategoryDimIndex ? dataIndex : this.defaultDimValueGetter(itemOpt, dimName, dataIndex, dimIndex);\n } : null;\n list.hasItemOption = false;\n list.initData(source, null, dimValueGetter);\n return list;\n}\n\nfunction isNeedCompleteOrdinalData(source) {\n if (source.sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var sampleItem = firstDataNotNull(source.data || []);\n return sampleItem != null && !zrUtil.isArray(getDataItemValue(sampleItem));\n }\n}\n\nfunction firstDataNotNull(data) {\n var i = 0;\n\n while (i < data.length && data[i] == null) {\n i++;\n }\n\n return data[i];\n}\n\nvar _default = createListFromArray;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\nvar isNumeric = _number.isNumeric;\n\nvar _helper = require(\"./helper\");\n\nvar setLabel = _helper.setLabel;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar BAR_BORDER_WIDTH_QUERY = ['itemStyle', 'borderWidth']; // index: +isHorizontal\n\nvar LAYOUT_ATTRS = [{\n xy: 'x',\n wh: 'width',\n index: 0,\n posDesc: ['left', 'right']\n}, {\n xy: 'y',\n wh: 'height',\n index: 1,\n posDesc: ['top', 'bottom']\n}];\nvar pathForLineWidth = new graphic.Circle();\nvar BarView = echarts.extendChartView({\n type: 'pictorialBar',\n render: function (seriesModel, ecModel, api) {\n var group = this.group;\n var data = seriesModel.getData();\n var oldData = this._data;\n var cartesian = seriesModel.coordinateSystem;\n var baseAxis = cartesian.getBaseAxis();\n var isHorizontal = !!baseAxis.isHorizontal();\n var coordSysRect = cartesian.grid.getRect();\n var opt = {\n ecSize: {\n width: api.getWidth(),\n height: api.getHeight()\n },\n seriesModel: seriesModel,\n coordSys: cartesian,\n coordSysExtent: [[coordSysRect.x, coordSysRect.x + coordSysRect.width], [coordSysRect.y, coordSysRect.y + coordSysRect.height]],\n isHorizontal: isHorizontal,\n valueDim: LAYOUT_ATTRS[+isHorizontal],\n categoryDim: LAYOUT_ATTRS[1 - isHorizontal]\n };\n data.diff(oldData).add(function (dataIndex) {\n if (!data.hasValue(dataIndex)) {\n return;\n }\n\n var itemModel = getItemModel(data, dataIndex);\n var symbolMeta = getSymbolMeta(data, dataIndex, itemModel, opt);\n var bar = createBar(data, opt, symbolMeta);\n data.setItemGraphicEl(dataIndex, bar);\n group.add(bar);\n updateCommon(bar, opt, symbolMeta);\n }).update(function (newIndex, oldIndex) {\n var bar = oldData.getItemGraphicEl(oldIndex);\n\n if (!data.hasValue(newIndex)) {\n group.remove(bar);\n return;\n }\n\n var itemModel = getItemModel(data, newIndex);\n var symbolMeta = getSymbolMeta(data, newIndex, itemModel, opt);\n var pictorialShapeStr = getShapeStr(data, symbolMeta);\n\n if (bar && pictorialShapeStr !== bar.__pictorialShapeStr) {\n group.remove(bar);\n data.setItemGraphicEl(newIndex, null);\n bar = null;\n }\n\n if (bar) {\n updateBar(bar, opt, symbolMeta);\n } else {\n bar = createBar(data, opt, symbolMeta, true);\n }\n\n data.setItemGraphicEl(newIndex, bar);\n bar.__pictorialSymbolMeta = symbolMeta; // Add back\n\n group.add(bar);\n updateCommon(bar, opt, symbolMeta);\n }).remove(function (dataIndex) {\n var bar = oldData.getItemGraphicEl(dataIndex);\n bar && removeBar(oldData, dataIndex, bar.__pictorialSymbolMeta.animationModel, bar);\n }).execute();\n this._data = data;\n return this.group;\n },\n dispose: zrUtil.noop,\n remove: function (ecModel, api) {\n var group = this.group;\n var data = this._data;\n\n if (ecModel.get('animation')) {\n if (data) {\n data.eachItemGraphicEl(function (bar) {\n removeBar(data, bar.dataIndex, ecModel, bar);\n });\n }\n } else {\n group.removeAll();\n }\n }\n}); // Set or calculate default value about symbol, and calculate layout info.\n\nfunction getSymbolMeta(data, dataIndex, itemModel, opt) {\n var layout = data.getItemLayout(dataIndex);\n var symbolRepeat = itemModel.get('symbolRepeat');\n var symbolClip = itemModel.get('symbolClip');\n var symbolPosition = itemModel.get('symbolPosition') || 'start';\n var symbolRotate = itemModel.get('symbolRotate');\n var rotation = (symbolRotate || 0) * Math.PI / 180 || 0;\n var symbolPatternSize = itemModel.get('symbolPatternSize') || 2;\n var isAnimationEnabled = itemModel.isAnimationEnabled();\n var symbolMeta = {\n dataIndex: dataIndex,\n layout: layout,\n itemModel: itemModel,\n symbolType: data.getItemVisual(dataIndex, 'symbol') || 'circle',\n color: data.getItemVisual(dataIndex, 'color'),\n symbolClip: symbolClip,\n symbolRepeat: symbolRepeat,\n symbolRepeatDirection: itemModel.get('symbolRepeatDirection'),\n symbolPatternSize: symbolPatternSize,\n rotation: rotation,\n animationModel: isAnimationEnabled ? itemModel : null,\n hoverAnimation: isAnimationEnabled && itemModel.get('hoverAnimation'),\n z2: itemModel.getShallow('z', true) || 0\n };\n prepareBarLength(itemModel, symbolRepeat, layout, opt, symbolMeta);\n prepareSymbolSize(data, dataIndex, layout, symbolRepeat, symbolClip, symbolMeta.boundingLength, symbolMeta.pxSign, symbolPatternSize, opt, symbolMeta);\n prepareLineWidth(itemModel, symbolMeta.symbolScale, rotation, opt, symbolMeta);\n var symbolSize = symbolMeta.symbolSize;\n var symbolOffset = itemModel.get('symbolOffset');\n\n if (zrUtil.isArray(symbolOffset)) {\n symbolOffset = [parsePercent(symbolOffset[0], symbolSize[0]), parsePercent(symbolOffset[1], symbolSize[1])];\n }\n\n prepareLayoutInfo(itemModel, symbolSize, layout, symbolRepeat, symbolClip, symbolOffset, symbolPosition, symbolMeta.valueLineWidth, symbolMeta.boundingLength, symbolMeta.repeatCutLength, opt, symbolMeta);\n return symbolMeta;\n} // bar length can be negative.\n\n\nfunction prepareBarLength(itemModel, symbolRepeat, layout, opt, output) {\n var valueDim = opt.valueDim;\n var symbolBoundingData = itemModel.get('symbolBoundingData');\n var valueAxis = opt.coordSys.getOtherAxis(opt.coordSys.getBaseAxis());\n var zeroPx = valueAxis.toGlobalCoord(valueAxis.dataToCoord(0));\n var pxSignIdx = 1 - +(layout[valueDim.wh] <= 0);\n var boundingLength;\n\n if (zrUtil.isArray(symbolBoundingData)) {\n var symbolBoundingExtent = [convertToCoordOnAxis(valueAxis, symbolBoundingData[0]) - zeroPx, convertToCoordOnAxis(valueAxis, symbolBoundingData[1]) - zeroPx];\n symbolBoundingExtent[1] < symbolBoundingExtent[0] && symbolBoundingExtent.reverse();\n boundingLength = symbolBoundingExtent[pxSignIdx];\n } else if (symbolBoundingData != null) {\n boundingLength = convertToCoordOnAxis(valueAxis, symbolBoundingData) - zeroPx;\n } else if (symbolRepeat) {\n boundingLength = opt.coordSysExtent[valueDim.index][pxSignIdx] - zeroPx;\n } else {\n boundingLength = layout[valueDim.wh];\n }\n\n output.boundingLength = boundingLength;\n\n if (symbolRepeat) {\n output.repeatCutLength = layout[valueDim.wh];\n }\n\n output.pxSign = boundingLength > 0 ? 1 : boundingLength < 0 ? -1 : 0;\n}\n\nfunction convertToCoordOnAxis(axis, value) {\n return axis.toGlobalCoord(axis.dataToCoord(axis.scale.parse(value)));\n} // Support ['100%', '100%']\n\n\nfunction prepareSymbolSize(data, dataIndex, layout, symbolRepeat, symbolClip, boundingLength, pxSign, symbolPatternSize, opt, output) {\n var valueDim = opt.valueDim;\n var categoryDim = opt.categoryDim;\n var categorySize = Math.abs(layout[categoryDim.wh]);\n var symbolSize = data.getItemVisual(dataIndex, 'symbolSize');\n\n if (zrUtil.isArray(symbolSize)) {\n symbolSize = symbolSize.slice();\n } else {\n if (symbolSize == null) {\n symbolSize = '100%';\n }\n\n symbolSize = [symbolSize, symbolSize];\n } // Note: percentage symbolSize (like '100%') do not consider lineWidth, because it is\n // to complicated to calculate real percent value if considering scaled lineWidth.\n // So the actual size will bigger than layout size if lineWidth is bigger than zero,\n // which can be tolerated in pictorial chart.\n\n\n symbolSize[categoryDim.index] = parsePercent(symbolSize[categoryDim.index], categorySize);\n symbolSize[valueDim.index] = parsePercent(symbolSize[valueDim.index], symbolRepeat ? categorySize : Math.abs(boundingLength));\n output.symbolSize = symbolSize; // If x or y is less than zero, show reversed shape.\n\n var symbolScale = output.symbolScale = [symbolSize[0] / symbolPatternSize, symbolSize[1] / symbolPatternSize]; // Follow convention, 'right' and 'top' is the normal scale.\n\n symbolScale[valueDim.index] *= (opt.isHorizontal ? -1 : 1) * pxSign;\n}\n\nfunction prepareLineWidth(itemModel, symbolScale, rotation, opt, output) {\n // In symbols are drawn with scale, so do not need to care about the case that width\n // or height are too small. But symbol use strokeNoScale, where acture lineWidth should\n // be calculated.\n var valueLineWidth = itemModel.get(BAR_BORDER_WIDTH_QUERY) || 0;\n\n if (valueLineWidth) {\n pathForLineWidth.attr({\n scale: symbolScale.slice(),\n rotation: rotation\n });\n pathForLineWidth.updateTransform();\n valueLineWidth /= pathForLineWidth.getLineScale();\n valueLineWidth *= symbolScale[opt.valueDim.index];\n }\n\n output.valueLineWidth = valueLineWidth;\n}\n\nfunction prepareLayoutInfo(itemModel, symbolSize, layout, symbolRepeat, symbolClip, symbolOffset, symbolPosition, valueLineWidth, boundingLength, repeatCutLength, opt, output) {\n var categoryDim = opt.categoryDim;\n var valueDim = opt.valueDim;\n var pxSign = output.pxSign;\n var unitLength = Math.max(symbolSize[valueDim.index] + valueLineWidth, 0);\n var pathLen = unitLength; // Note: rotation will not effect the layout of symbols, because user may\n // want symbols to rotate on its center, which should not be translated\n // when rotating.\n\n if (symbolRepeat) {\n var absBoundingLength = Math.abs(boundingLength);\n var symbolMargin = zrUtil.retrieve(itemModel.get('symbolMargin'), '15%') + '';\n var hasEndGap = false;\n\n if (symbolMargin.lastIndexOf('!') === symbolMargin.length - 1) {\n hasEndGap = true;\n symbolMargin = symbolMargin.slice(0, symbolMargin.length - 1);\n }\n\n symbolMargin = parsePercent(symbolMargin, symbolSize[valueDim.index]);\n var uLenWithMargin = Math.max(unitLength + symbolMargin * 2, 0); // When symbol margin is less than 0, margin at both ends will be subtracted\n // to ensure that all of the symbols will not be overflow the given area.\n\n var endFix = hasEndGap ? 0 : symbolMargin * 2; // Both final repeatTimes and final symbolMargin area calculated based on\n // boundingLength.\n\n var repeatSpecified = isNumeric(symbolRepeat);\n var repeatTimes = repeatSpecified ? symbolRepeat : toIntTimes((absBoundingLength + endFix) / uLenWithMargin); // Adjust calculate margin, to ensure each symbol is displayed\n // entirely in the given layout area.\n\n var mDiff = absBoundingLength - repeatTimes * unitLength;\n symbolMargin = mDiff / 2 / (hasEndGap ? repeatTimes : repeatTimes - 1);\n uLenWithMargin = unitLength + symbolMargin * 2;\n endFix = hasEndGap ? 0 : symbolMargin * 2; // Update repeatTimes when not all symbol will be shown.\n\n if (!repeatSpecified && symbolRepeat !== 'fixed') {\n repeatTimes = repeatCutLength ? toIntTimes((Math.abs(repeatCutLength) + endFix) / uLenWithMargin) : 0;\n }\n\n pathLen = repeatTimes * uLenWithMargin - endFix;\n output.repeatTimes = repeatTimes;\n output.symbolMargin = symbolMargin;\n }\n\n var sizeFix = pxSign * (pathLen / 2);\n var pathPosition = output.pathPosition = [];\n pathPosition[categoryDim.index] = layout[categoryDim.wh] / 2;\n pathPosition[valueDim.index] = symbolPosition === 'start' ? sizeFix : symbolPosition === 'end' ? boundingLength - sizeFix : boundingLength / 2; // 'center'\n\n if (symbolOffset) {\n pathPosition[0] += symbolOffset[0];\n pathPosition[1] += symbolOffset[1];\n }\n\n var bundlePosition = output.bundlePosition = [];\n bundlePosition[categoryDim.index] = layout[categoryDim.xy];\n bundlePosition[valueDim.index] = layout[valueDim.xy];\n var barRectShape = output.barRectShape = zrUtil.extend({}, layout);\n barRectShape[valueDim.wh] = pxSign * Math.max(Math.abs(layout[valueDim.wh]), Math.abs(pathPosition[valueDim.index] + sizeFix));\n barRectShape[categoryDim.wh] = layout[categoryDim.wh];\n var clipShape = output.clipShape = {}; // Consider that symbol may be overflow layout rect.\n\n clipShape[categoryDim.xy] = -layout[categoryDim.xy];\n clipShape[categoryDim.wh] = opt.ecSize[categoryDim.wh];\n clipShape[valueDim.xy] = 0;\n clipShape[valueDim.wh] = layout[valueDim.wh];\n}\n\nfunction createPath(symbolMeta) {\n var symbolPatternSize = symbolMeta.symbolPatternSize;\n var path = createSymbol( // Consider texture img, make a big size.\n symbolMeta.symbolType, -symbolPatternSize / 2, -symbolPatternSize / 2, symbolPatternSize, symbolPatternSize, symbolMeta.color);\n path.attr({\n culling: true\n });\n path.type !== 'image' && path.setStyle({\n strokeNoScale: true\n });\n return path;\n}\n\nfunction createOrUpdateRepeatSymbols(bar, opt, symbolMeta, isUpdate) {\n var bundle = bar.__pictorialBundle;\n var symbolSize = symbolMeta.symbolSize;\n var valueLineWidth = symbolMeta.valueLineWidth;\n var pathPosition = symbolMeta.pathPosition;\n var valueDim = opt.valueDim;\n var repeatTimes = symbolMeta.repeatTimes || 0;\n var index = 0;\n var unit = symbolSize[opt.valueDim.index] + valueLineWidth + symbolMeta.symbolMargin * 2;\n eachPath(bar, function (path) {\n path.__pictorialAnimationIndex = index;\n path.__pictorialRepeatTimes = repeatTimes;\n\n if (index < repeatTimes) {\n updateAttr(path, null, makeTarget(index), symbolMeta, isUpdate);\n } else {\n updateAttr(path, null, {\n scale: [0, 0]\n }, symbolMeta, isUpdate, function () {\n bundle.remove(path);\n });\n }\n\n updateHoverAnimation(path, symbolMeta);\n index++;\n });\n\n for (; index < repeatTimes; index++) {\n var path = createPath(symbolMeta);\n path.__pictorialAnimationIndex = index;\n path.__pictorialRepeatTimes = repeatTimes;\n bundle.add(path);\n var target = makeTarget(index);\n updateAttr(path, {\n position: target.position,\n scale: [0, 0]\n }, {\n scale: target.scale,\n rotation: target.rotation\n }, symbolMeta, isUpdate); // FIXME\n // If all emphasis/normal through action.\n\n path.on('mouseover', onMouseOver).on('mouseout', onMouseOut);\n updateHoverAnimation(path, symbolMeta);\n }\n\n function makeTarget(index) {\n var position = pathPosition.slice(); // (start && pxSign > 0) || (end && pxSign < 0): i = repeatTimes - index\n // Otherwise: i = index;\n\n var pxSign = symbolMeta.pxSign;\n var i = index;\n\n if (symbolMeta.symbolRepeatDirection === 'start' ? pxSign > 0 : pxSign < 0) {\n i = repeatTimes - 1 - index;\n }\n\n position[valueDim.index] = unit * (i - repeatTimes / 2 + 0.5) + pathPosition[valueDim.index];\n return {\n position: position,\n scale: symbolMeta.symbolScale.slice(),\n rotation: symbolMeta.rotation\n };\n }\n\n function onMouseOver() {\n eachPath(bar, function (path) {\n path.trigger('emphasis');\n });\n }\n\n function onMouseOut() {\n eachPath(bar, function (path) {\n path.trigger('normal');\n });\n }\n}\n\nfunction createOrUpdateSingleSymbol(bar, opt, symbolMeta, isUpdate) {\n var bundle = bar.__pictorialBundle;\n var mainPath = bar.__pictorialMainPath;\n\n if (!mainPath) {\n mainPath = bar.__pictorialMainPath = createPath(symbolMeta);\n bundle.add(mainPath);\n updateAttr(mainPath, {\n position: symbolMeta.pathPosition.slice(),\n scale: [0, 0],\n rotation: symbolMeta.rotation\n }, {\n scale: symbolMeta.symbolScale.slice()\n }, symbolMeta, isUpdate);\n mainPath.on('mouseover', onMouseOver).on('mouseout', onMouseOut);\n } else {\n updateAttr(mainPath, null, {\n position: symbolMeta.pathPosition.slice(),\n scale: symbolMeta.symbolScale.slice(),\n rotation: symbolMeta.rotation\n }, symbolMeta, isUpdate);\n }\n\n updateHoverAnimation(mainPath, symbolMeta);\n\n function onMouseOver() {\n this.trigger('emphasis');\n }\n\n function onMouseOut() {\n this.trigger('normal');\n }\n} // bar rect is used for label.\n\n\nfunction createOrUpdateBarRect(bar, symbolMeta, isUpdate) {\n var rectShape = zrUtil.extend({}, symbolMeta.barRectShape);\n var barRect = bar.__pictorialBarRect;\n\n if (!barRect) {\n barRect = bar.__pictorialBarRect = new graphic.Rect({\n z2: 2,\n shape: rectShape,\n silent: true,\n style: {\n stroke: 'transparent',\n fill: 'transparent',\n lineWidth: 0\n }\n });\n bar.add(barRect);\n } else {\n updateAttr(barRect, null, {\n shape: rectShape\n }, symbolMeta, isUpdate);\n }\n}\n\nfunction createOrUpdateClip(bar, opt, symbolMeta, isUpdate) {\n // If not clip, symbol will be remove and rebuilt.\n if (symbolMeta.symbolClip) {\n var clipPath = bar.__pictorialClipPath;\n var clipShape = zrUtil.extend({}, symbolMeta.clipShape);\n var valueDim = opt.valueDim;\n var animationModel = symbolMeta.animationModel;\n var dataIndex = symbolMeta.dataIndex;\n\n if (clipPath) {\n graphic.updateProps(clipPath, {\n shape: clipShape\n }, animationModel, dataIndex);\n } else {\n clipShape[valueDim.wh] = 0;\n clipPath = new graphic.Rect({\n shape: clipShape\n });\n\n bar.__pictorialBundle.setClipPath(clipPath);\n\n bar.__pictorialClipPath = clipPath;\n var target = {};\n target[valueDim.wh] = symbolMeta.clipShape[valueDim.wh];\n graphic[isUpdate ? 'updateProps' : 'initProps'](clipPath, {\n shape: target\n }, animationModel, dataIndex);\n }\n }\n}\n\nfunction getItemModel(data, dataIndex) {\n var itemModel = data.getItemModel(dataIndex);\n itemModel.getAnimationDelayParams = getAnimationDelayParams;\n itemModel.isAnimationEnabled = isAnimationEnabled;\n return itemModel;\n}\n\nfunction getAnimationDelayParams(path) {\n // The order is the same as the z-order, see `symbolRepeatDiretion`.\n return {\n index: path.__pictorialAnimationIndex,\n count: path.__pictorialRepeatTimes\n };\n}\n\nfunction isAnimationEnabled() {\n // `animation` prop can be set on itemModel in pictorial bar chart.\n return this.parentModel.isAnimationEnabled() && !!this.getShallow('animation');\n}\n\nfunction updateHoverAnimation(path, symbolMeta) {\n path.off('emphasis').off('normal');\n var scale = symbolMeta.symbolScale.slice();\n symbolMeta.hoverAnimation && path.on('emphasis', function () {\n this.animateTo({\n scale: [scale[0] * 1.1, scale[1] * 1.1]\n }, 400, 'elasticOut');\n }).on('normal', function () {\n this.animateTo({\n scale: scale.slice()\n }, 400, 'elasticOut');\n });\n}\n\nfunction createBar(data, opt, symbolMeta, isUpdate) {\n // bar is the main element for each data.\n var bar = new graphic.Group(); // bundle is used for location and clip.\n\n var bundle = new graphic.Group();\n bar.add(bundle);\n bar.__pictorialBundle = bundle;\n bundle.attr('position', symbolMeta.bundlePosition.slice());\n\n if (symbolMeta.symbolRepeat) {\n createOrUpdateRepeatSymbols(bar, opt, symbolMeta);\n } else {\n createOrUpdateSingleSymbol(bar, opt, symbolMeta);\n }\n\n createOrUpdateBarRect(bar, symbolMeta, isUpdate);\n createOrUpdateClip(bar, opt, symbolMeta, isUpdate);\n bar.__pictorialShapeStr = getShapeStr(data, symbolMeta);\n bar.__pictorialSymbolMeta = symbolMeta;\n return bar;\n}\n\nfunction updateBar(bar, opt, symbolMeta) {\n var animationModel = symbolMeta.animationModel;\n var dataIndex = symbolMeta.dataIndex;\n var bundle = bar.__pictorialBundle;\n graphic.updateProps(bundle, {\n position: symbolMeta.bundlePosition.slice()\n }, animationModel, dataIndex);\n\n if (symbolMeta.symbolRepeat) {\n createOrUpdateRepeatSymbols(bar, opt, symbolMeta, true);\n } else {\n createOrUpdateSingleSymbol(bar, opt, symbolMeta, true);\n }\n\n createOrUpdateBarRect(bar, symbolMeta, true);\n createOrUpdateClip(bar, opt, symbolMeta, true);\n}\n\nfunction removeBar(data, dataIndex, animationModel, bar) {\n // Not show text when animating\n var labelRect = bar.__pictorialBarRect;\n labelRect && (labelRect.style.text = null);\n var pathes = [];\n eachPath(bar, function (path) {\n pathes.push(path);\n });\n bar.__pictorialMainPath && pathes.push(bar.__pictorialMainPath); // I do not find proper remove animation for clip yet.\n\n bar.__pictorialClipPath && (animationModel = null);\n zrUtil.each(pathes, function (path) {\n graphic.updateProps(path, {\n scale: [0, 0]\n }, animationModel, dataIndex, function () {\n bar.parent && bar.parent.remove(bar);\n });\n });\n data.setItemGraphicEl(dataIndex, null);\n}\n\nfunction getShapeStr(data, symbolMeta) {\n return [data.getItemVisual(symbolMeta.dataIndex, 'symbol') || 'none', !!symbolMeta.symbolRepeat, !!symbolMeta.symbolClip].join(':');\n}\n\nfunction eachPath(bar, cb, context) {\n // Do not use Group#eachChild, because it do not support remove.\n zrUtil.each(bar.__pictorialBundle.children(), function (el) {\n el !== bar.__pictorialBarRect && cb.call(context, el);\n });\n}\n\nfunction updateAttr(el, immediateAttrs, animationAttrs, symbolMeta, isUpdate, cb) {\n immediateAttrs && el.attr(immediateAttrs); // when symbolCip used, only clip path has init animation, otherwise it would be weird effect.\n\n if (symbolMeta.symbolClip && !isUpdate) {\n animationAttrs && el.attr(animationAttrs);\n } else {\n animationAttrs && graphic[isUpdate ? 'updateProps' : 'initProps'](el, animationAttrs, symbolMeta.animationModel, symbolMeta.dataIndex, cb);\n }\n}\n\nfunction updateCommon(bar, opt, symbolMeta) {\n var color = symbolMeta.color;\n var dataIndex = symbolMeta.dataIndex;\n var itemModel = symbolMeta.itemModel; // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n var normalStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);\n var hoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n var cursorStyle = itemModel.getShallow('cursor');\n eachPath(bar, function (path) {\n // PENDING setColor should be before setStyle!!!\n path.setColor(color);\n path.setStyle(zrUtil.defaults({\n fill: color,\n opacity: symbolMeta.opacity\n }, normalStyle));\n graphic.setHoverStyle(path, hoverStyle);\n cursorStyle && (path.cursor = cursorStyle);\n path.z2 = symbolMeta.z2;\n });\n var barRectHoverStyle = {};\n var barPositionOutside = opt.valueDim.posDesc[+(symbolMeta.boundingLength > 0)];\n var barRect = bar.__pictorialBarRect;\n setLabel(barRect.style, barRectHoverStyle, itemModel, color, opt.seriesModel, dataIndex, barPositionOutside);\n graphic.setHoverStyle(barRect, barRectHoverStyle);\n}\n\nfunction toIntTimes(times) {\n var roundedTimes = Math.round(times); // Escapse accurate error\n\n return Math.abs(times - roundedTimes) < 1e-4 ? roundedTimes : Math.ceil(times);\n}\n\nvar _default = BarView;\nmodule.exports = _default;","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ChartView = require(\"../../view/Chart\");\n\nvar SunburstPiece = require(\"./SunburstPiece\");\n\nvar DataDiffer = require(\"../../data/DataDiffer\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar ROOT_TO_NODE_ACTION = 'sunburstRootToNode';\nvar SunburstView = ChartView.extend({\n type: 'sunburst',\n init: function () {},\n render: function (seriesModel, ecModel, api, payload) {\n var that = this;\n this.seriesModel = seriesModel;\n this.api = api;\n this.ecModel = ecModel;\n var data = seriesModel.getData();\n var virtualRoot = data.tree.root;\n var newRoot = seriesModel.getViewRoot();\n var group = this.group;\n var renderLabelForZeroData = seriesModel.get('renderLabelForZeroData');\n var newChildren = [];\n newRoot.eachNode(function (node) {\n newChildren.push(node);\n });\n var oldChildren = this._oldChildren || [];\n dualTravel(newChildren, oldChildren);\n renderRollUp(virtualRoot, newRoot);\n\n if (payload && payload.highlight && payload.highlight.piece) {\n var highlightPolicy = seriesModel.getShallow('highlightPolicy');\n payload.highlight.piece.onEmphasis(highlightPolicy);\n } else if (payload && payload.unhighlight) {\n var piece = this.virtualPiece;\n\n if (!piece && virtualRoot.children.length) {\n piece = virtualRoot.children[0].piece;\n }\n\n if (piece) {\n piece.onNormal();\n }\n }\n\n this._initEvents();\n\n this._oldChildren = newChildren;\n\n function dualTravel(newChildren, oldChildren) {\n if (newChildren.length === 0 && oldChildren.length === 0) {\n return;\n }\n\n new DataDiffer(oldChildren, newChildren, getKey, getKey).add(processNode).update(processNode).remove(zrUtil.curry(processNode, null)).execute();\n\n function getKey(node) {\n return node.getId();\n }\n\n function processNode(newId, oldId) {\n var newNode = newId == null ? null : newChildren[newId];\n var oldNode = oldId == null ? null : oldChildren[oldId];\n doRenderNode(newNode, oldNode);\n }\n }\n\n function doRenderNode(newNode, oldNode) {\n if (!renderLabelForZeroData && newNode && !newNode.getValue()) {\n // Not render data with value 0\n newNode = null;\n }\n\n if (newNode !== virtualRoot && oldNode !== virtualRoot) {\n if (oldNode && oldNode.piece) {\n if (newNode) {\n // Update\n oldNode.piece.updateData(false, newNode, 'normal', seriesModel, ecModel); // For tooltip\n\n data.setItemGraphicEl(newNode.dataIndex, oldNode.piece);\n } else {\n // Remove\n removeNode(oldNode);\n }\n } else if (newNode) {\n // Add\n var piece = new SunburstPiece(newNode, seriesModel, ecModel);\n group.add(piece); // For tooltip\n\n data.setItemGraphicEl(newNode.dataIndex, piece);\n }\n }\n }\n\n function removeNode(node) {\n if (!node) {\n return;\n }\n\n if (node.piece) {\n group.remove(node.piece);\n node.piece = null;\n }\n }\n\n function renderRollUp(virtualRoot, viewRoot) {\n if (viewRoot.depth > 0) {\n // Render\n if (that.virtualPiece) {\n // Update\n that.virtualPiece.updateData(false, virtualRoot, 'normal', seriesModel, ecModel);\n } else {\n // Add\n that.virtualPiece = new SunburstPiece(virtualRoot, seriesModel, ecModel);\n group.add(that.virtualPiece);\n }\n\n if (viewRoot.piece._onclickEvent) {\n viewRoot.piece.off('click', viewRoot.piece._onclickEvent);\n }\n\n var event = function (e) {\n that._rootToNode(viewRoot.parentNode);\n };\n\n viewRoot.piece._onclickEvent = event;\n that.virtualPiece.on('click', event);\n } else if (that.virtualPiece) {\n // Remove\n group.remove(that.virtualPiece);\n that.virtualPiece = null;\n }\n }\n },\n dispose: function () {},\n\n /**\n * @private\n */\n _initEvents: function () {\n var that = this;\n\n var event = function (e) {\n var targetFound = false;\n var viewRoot = that.seriesModel.getViewRoot();\n viewRoot.eachNode(function (node) {\n if (!targetFound && node.piece && node.piece.childAt(0) === e.target) {\n var nodeClick = node.getModel().get('nodeClick');\n\n if (nodeClick === 'rootToNode') {\n that._rootToNode(node);\n } else if (nodeClick === 'link') {\n var itemModel = node.getModel();\n var link = itemModel.get('link');\n\n if (link) {\n var linkTarget = itemModel.get('target', true) || '_blank';\n window.open(link, linkTarget);\n }\n }\n\n targetFound = true;\n }\n });\n };\n\n if (this.group._onclickEvent) {\n this.group.off('click', this.group._onclickEvent);\n }\n\n this.group.on('click', event);\n this.group._onclickEvent = event;\n },\n\n /**\n * @private\n */\n _rootToNode: function (node) {\n if (node !== this.seriesModel.getViewRoot()) {\n this.api.dispatchAction({\n type: ROOT_TO_NODE_ACTION,\n from: this.uid,\n seriesId: this.seriesModel.id,\n targetNode: node\n });\n }\n },\n\n /**\n * @implement\n */\n containPoint: function (point, seriesModel) {\n var treeRoot = seriesModel.getData();\n var itemLayout = treeRoot.getItemLayout(0);\n\n if (itemLayout) {\n var dx = point[0] - itemLayout.cx;\n var dy = point[1] - itemLayout.cy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n return radius <= itemLayout.r && radius >= itemLayout.r0;\n }\n }\n});\nvar _default = SunburstView;\nmodule.exports = _default;","var Path = require(\"../graphic/Path\");\n\nvar PathProxy = require(\"../core/PathProxy\");\n\nvar transformPath = require(\"./transformPath\");\n\n// command chars\n// var cc = [\n// 'm', 'M', 'l', 'L', 'v', 'V', 'h', 'H', 'z', 'Z',\n// 'c', 'C', 'q', 'Q', 't', 'T', 's', 'S', 'a', 'A'\n// ];\nvar mathSqrt = Math.sqrt;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI = Math.PI;\n\nvar vMag = function (v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n};\n\nvar vRatio = function (u, v) {\n return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));\n};\n\nvar vAngle = function (u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));\n};\n\nfunction processArc(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg, cmd, path) {\n var psi = psiDeg * (PI / 180.0);\n var xp = mathCos(psi) * (x1 - x2) / 2.0 + mathSin(psi) * (y1 - y2) / 2.0;\n var yp = -1 * mathSin(psi) * (x1 - x2) / 2.0 + mathCos(psi) * (y1 - y2) / 2.0;\n var lambda = xp * xp / (rx * rx) + yp * yp / (ry * ry);\n\n if (lambda > 1) {\n rx *= mathSqrt(lambda);\n ry *= mathSqrt(lambda);\n }\n\n var f = (fa === fs ? -1 : 1) * mathSqrt((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) / (rx * rx * (yp * yp) + ry * ry * (xp * xp))) || 0;\n var cxp = f * rx * yp / ry;\n var cyp = f * -ry * xp / rx;\n var cx = (x1 + x2) / 2.0 + mathCos(psi) * cxp - mathSin(psi) * cyp;\n var cy = (y1 + y2) / 2.0 + mathSin(psi) * cxp + mathCos(psi) * cyp;\n var theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);\n var u = [(xp - cxp) / rx, (yp - cyp) / ry];\n var v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];\n var dTheta = vAngle(u, v);\n\n if (vRatio(u, v) <= -1) {\n dTheta = PI;\n }\n\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n\n if (fs === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * PI;\n }\n\n if (fs === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * PI;\n }\n\n path.addData(cmd, cx, cy, rx, ry, theta, dTheta, psi, fs);\n}\n\nvar commandReg = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig; // Consider case:\n// (1) delimiter can be comma or space, where continuous commas\n// or spaces should be seen as one comma.\n// (2) value can be like:\n// '2e-4', 'l.5.9' (ignore 0), 'M-10-10', 'l-2.43e-1,34.9983',\n// 'l-.5E1,54', '121-23-44-11' (no delimiter)\n\nvar numberReg = /-?([0-9]*\\.)?[0-9]+([eE]-?[0-9]+)?/g; // var valueSplitReg = /[\\s,]+/;\n\nfunction createPathProxyFromString(data) {\n if (!data) {\n return new PathProxy();\n } // var data = data.replace(/-/g, ' -')\n // .replace(/ /g, ' ')\n // .replace(/ /g, ',')\n // .replace(/,,/g, ',');\n // var n;\n // create pipes so that we can split the data\n // for (n = 0; n < cc.length; n++) {\n // cs = cs.replace(new RegExp(cc[n], 'g'), '|' + cc[n]);\n // }\n // data = data.replace(/-/g, ',-');\n // create array\n // var arr = cs.split('|');\n // init context point\n\n\n var cpx = 0;\n var cpy = 0;\n var subpathX = cpx;\n var subpathY = cpy;\n var prevCmd;\n var path = new PathProxy();\n var CMD = PathProxy.CMD; // commandReg.lastIndex = 0;\n // var cmdResult;\n // while ((cmdResult = commandReg.exec(data)) != null) {\n // var cmdStr = cmdResult[1];\n // var cmdContent = cmdResult[2];\n\n var cmdList = data.match(commandReg);\n\n for (var l = 0; l < cmdList.length; l++) {\n var cmdText = cmdList[l];\n var cmdStr = cmdText.charAt(0);\n var cmd; // String#split is faster a little bit than String#replace or RegExp#exec.\n // var p = cmdContent.split(valueSplitReg);\n // var pLen = 0;\n // for (var i = 0; i < p.length; i++) {\n // // '' and other invalid str => NaN\n // var val = parseFloat(p[i]);\n // !isNaN(val) && (p[pLen++] = val);\n // }\n\n var p = cmdText.match(numberReg) || [];\n var pLen = p.length;\n\n for (var i = 0; i < pLen; i++) {\n p[i] = parseFloat(p[i]);\n }\n\n var off = 0;\n\n while (off < pLen) {\n var ctlPtx;\n var ctlPty;\n var rx;\n var ry;\n var psi;\n var fa;\n var fs;\n var x1 = cpx;\n var y1 = cpy; // convert l, H, h, V, and v to L\n\n switch (cmdStr) {\n case 'l':\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'L':\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'm':\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.M;\n path.addData(cmd, cpx, cpy);\n subpathX = cpx;\n subpathY = cpy;\n cmdStr = 'l';\n break;\n\n case 'M':\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.M;\n path.addData(cmd, cpx, cpy);\n subpathX = cpx;\n subpathY = cpy;\n cmdStr = 'L';\n break;\n\n case 'h':\n cpx += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'H':\n cpx = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'v':\n cpy += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'V':\n cpy = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'C':\n cmd = CMD.C;\n path.addData(cmd, p[off++], p[off++], p[off++], p[off++], p[off++], p[off++]);\n cpx = p[off - 2];\n cpy = p[off - 1];\n break;\n\n case 'c':\n cmd = CMD.C;\n path.addData(cmd, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy);\n cpx += p[off - 2];\n cpy += p[off - 1];\n break;\n\n case 'S':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.C) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cmd = CMD.C;\n x1 = p[off++];\n y1 = p[off++];\n cpx = p[off++];\n cpy = p[off++];\n path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);\n break;\n\n case 's':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.C) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cmd = CMD.C;\n x1 = cpx + p[off++];\n y1 = cpy + p[off++];\n cpx += p[off++];\n cpy += p[off++];\n path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);\n break;\n\n case 'Q':\n x1 = p[off++];\n y1 = p[off++];\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.Q;\n path.addData(cmd, x1, y1, cpx, cpy);\n break;\n\n case 'q':\n x1 = p[off++] + cpx;\n y1 = p[off++] + cpy;\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.Q;\n path.addData(cmd, x1, y1, cpx, cpy);\n break;\n\n case 'T':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.Q) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.Q;\n path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);\n break;\n\n case 't':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.Q) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.Q;\n path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);\n break;\n\n case 'A':\n rx = p[off++];\n ry = p[off++];\n psi = p[off++];\n fa = p[off++];\n fs = p[off++];\n x1 = cpx, y1 = cpy;\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.A;\n processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);\n break;\n\n case 'a':\n rx = p[off++];\n ry = p[off++];\n psi = p[off++];\n fa = p[off++];\n fs = p[off++];\n x1 = cpx, y1 = cpy;\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.A;\n processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);\n break;\n }\n }\n\n if (cmdStr === 'z' || cmdStr === 'Z') {\n cmd = CMD.Z;\n path.addData(cmd); // z may be in the middle of the path.\n\n cpx = subpathX;\n cpy = subpathY;\n }\n\n prevCmd = cmd;\n }\n\n path.toStatic();\n return path;\n} // TODO Optimize double memory cost problem\n\n\nfunction createPathOptions(str, opts) {\n var pathProxy = createPathProxyFromString(str);\n opts = opts || {};\n\n opts.buildPath = function (path) {\n if (path.setData) {\n path.setData(pathProxy.data); // Svg and vml renderer don't have context\n\n var ctx = path.getContext();\n\n if (ctx) {\n path.rebuildPath(ctx);\n }\n } else {\n var ctx = path;\n pathProxy.rebuildPath(ctx);\n }\n };\n\n opts.applyTransform = function (m) {\n transformPath(pathProxy, m);\n this.dirty(true);\n };\n\n return opts;\n}\n/**\n * Create a Path object from path string data\n * http://www.w3.org/TR/SVG/paths.html#PathData\n * @param {Object} opts Other options\n */\n\n\nfunction createFromString(str, opts) {\n return new Path(createPathOptions(str, opts));\n}\n/**\n * Create a Path class from path string data\n * @param {string} str\n * @param {Object} opts Other options\n */\n\n\nfunction extendFromString(str, opts) {\n return Path.extend(createPathOptions(str, opts));\n}\n/**\n * Merge multiple paths\n */\n// TODO Apply transform\n// TODO stroke dash\n// TODO Optimize double memory cost problem\n\n\nfunction mergePath(pathEls, opts) {\n var pathList = [];\n var len = pathEls.length;\n\n for (var i = 0; i < len; i++) {\n var pathEl = pathEls[i];\n\n if (!pathEl.path) {\n pathEl.createPathProxy();\n }\n\n if (pathEl.__dirtyPath) {\n pathEl.buildPath(pathEl.path, pathEl.shape, true);\n }\n\n pathList.push(pathEl.path);\n }\n\n var pathBundle = new Path(opts); // Need path proxy.\n\n pathBundle.createPathProxy();\n\n pathBundle.buildPath = function (path) {\n path.appendPath(pathList); // Svg and vml renderer don't have context\n\n var ctx = path.getContext();\n\n if (ctx) {\n path.rebuildPath(ctx);\n }\n };\n\n return pathBundle;\n}\n\nexports.createFromString = createFromString;\nexports.extendFromString = extendFromString;\nexports.mergePath = mergePath;","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar layout = require(\"../../util/layout\");\n\nvar TimelineView = require(\"./TimelineView\");\n\nvar TimelineAxis = require(\"./TimelineAxis\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar axisHelper = require(\"../../coord/axisHelper\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar bind = zrUtil.bind;\nvar each = zrUtil.each;\nvar PI = Math.PI;\n\nvar _default = TimelineView.extend({\n type: 'timeline.slider',\n init: function (ecModel, api) {\n this.api = api;\n /**\n * @private\n * @type {module:echarts/component/timeline/TimelineAxis}\n */\n\n this._axis;\n /**\n * @private\n * @type {module:zrender/core/BoundingRect}\n */\n\n this._viewRect;\n /**\n * @type {number}\n */\n\n this._timer;\n /**\n * @type {module:zrender/Element}\n */\n\n this._currentPointer;\n /**\n * @type {module:zrender/container/Group}\n */\n\n this._mainGroup;\n /**\n * @type {module:zrender/container/Group}\n */\n\n this._labelGroup;\n },\n\n /**\n * @override\n */\n render: function (timelineModel, ecModel, api, payload) {\n this.model = timelineModel;\n this.api = api;\n this.ecModel = ecModel;\n this.group.removeAll();\n\n if (timelineModel.get('show', true)) {\n var layoutInfo = this._layout(timelineModel, api);\n\n var mainGroup = this._createGroup('mainGroup');\n\n var labelGroup = this._createGroup('labelGroup');\n /**\n * @private\n * @type {module:echarts/component/timeline/TimelineAxis}\n */\n\n\n var axis = this._axis = this._createAxis(layoutInfo, timelineModel);\n\n timelineModel.formatTooltip = function (dataIndex) {\n return encodeHTML(axis.scale.getLabel(dataIndex));\n };\n\n each(['AxisLine', 'AxisTick', 'Control', 'CurrentPointer'], function (name) {\n this['_render' + name](layoutInfo, mainGroup, axis, timelineModel);\n }, this);\n\n this._renderAxisLabel(layoutInfo, labelGroup, axis, timelineModel);\n\n this._position(layoutInfo, timelineModel);\n }\n\n this._doPlayStop();\n },\n\n /**\n * @override\n */\n remove: function () {\n this._clearTimer();\n\n this.group.removeAll();\n },\n\n /**\n * @override\n */\n dispose: function () {\n this._clearTimer();\n },\n _layout: function (timelineModel, api) {\n var labelPosOpt = timelineModel.get('label.position');\n var orient = timelineModel.get('orient');\n var viewRect = getViewRect(timelineModel, api); // Auto label offset.\n\n if (labelPosOpt == null || labelPosOpt === 'auto') {\n labelPosOpt = orient === 'horizontal' ? viewRect.y + viewRect.height / 2 < api.getHeight() / 2 ? '-' : '+' : viewRect.x + viewRect.width / 2 < api.getWidth() / 2 ? '+' : '-';\n } else if (isNaN(labelPosOpt)) {\n labelPosOpt = {\n horizontal: {\n top: '-',\n bottom: '+'\n },\n vertical: {\n left: '-',\n right: '+'\n }\n }[orient][labelPosOpt];\n }\n\n var labelAlignMap = {\n horizontal: 'center',\n vertical: labelPosOpt >= 0 || labelPosOpt === '+' ? 'left' : 'right'\n };\n var labelBaselineMap = {\n horizontal: labelPosOpt >= 0 || labelPosOpt === '+' ? 'top' : 'bottom',\n vertical: 'middle'\n };\n var rotationMap = {\n horizontal: 0,\n vertical: PI / 2\n }; // Position\n\n var mainLength = orient === 'vertical' ? viewRect.height : viewRect.width;\n var controlModel = timelineModel.getModel('controlStyle');\n var showControl = controlModel.get('show', true);\n var controlSize = showControl ? controlModel.get('itemSize') : 0;\n var controlGap = showControl ? controlModel.get('itemGap') : 0;\n var sizePlusGap = controlSize + controlGap; // Special label rotate.\n\n var labelRotation = timelineModel.get('label.rotate') || 0;\n labelRotation = labelRotation * PI / 180; // To radian.\n\n var playPosition;\n var prevBtnPosition;\n var nextBtnPosition;\n var axisExtent;\n var controlPosition = controlModel.get('position', true);\n var showPlayBtn = showControl && controlModel.get('showPlayBtn', true);\n var showPrevBtn = showControl && controlModel.get('showPrevBtn', true);\n var showNextBtn = showControl && controlModel.get('showNextBtn', true);\n var xLeft = 0;\n var xRight = mainLength; // position[0] means left, position[1] means middle.\n\n if (controlPosition === 'left' || controlPosition === 'bottom') {\n showPlayBtn && (playPosition = [0, 0], xLeft += sizePlusGap);\n showPrevBtn && (prevBtnPosition = [xLeft, 0], xLeft += sizePlusGap);\n showNextBtn && (nextBtnPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);\n } else {\n // 'top' 'right'\n showPlayBtn && (playPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);\n showPrevBtn && (prevBtnPosition = [0, 0], xLeft += sizePlusGap);\n showNextBtn && (nextBtnPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);\n }\n\n axisExtent = [xLeft, xRight];\n\n if (timelineModel.get('inverse')) {\n axisExtent.reverse();\n }\n\n return {\n viewRect: viewRect,\n mainLength: mainLength,\n orient: orient,\n rotation: rotationMap[orient],\n labelRotation: labelRotation,\n labelPosOpt: labelPosOpt,\n labelAlign: timelineModel.get('label.align') || labelAlignMap[orient],\n labelBaseline: timelineModel.get('label.verticalAlign') || timelineModel.get('label.baseline') || labelBaselineMap[orient],\n // Based on mainGroup.\n playPosition: playPosition,\n prevBtnPosition: prevBtnPosition,\n nextBtnPosition: nextBtnPosition,\n axisExtent: axisExtent,\n controlSize: controlSize,\n controlGap: controlGap\n };\n },\n _position: function (layoutInfo, timelineModel) {\n // Position is be called finally, because bounding rect is needed for\n // adapt content to fill viewRect (auto adapt offset).\n // Timeline may be not all in the viewRect when 'offset' is specified\n // as a number, because it is more appropriate that label aligns at\n // 'offset' but not the other edge defined by viewRect.\n var mainGroup = this._mainGroup;\n var labelGroup = this._labelGroup;\n var viewRect = layoutInfo.viewRect;\n\n if (layoutInfo.orient === 'vertical') {\n // transform to horizontal, inverse rotate by left-top point.\n var m = matrix.create();\n var rotateOriginX = viewRect.x;\n var rotateOriginY = viewRect.y + viewRect.height;\n matrix.translate(m, m, [-rotateOriginX, -rotateOriginY]);\n matrix.rotate(m, m, -PI / 2);\n matrix.translate(m, m, [rotateOriginX, rotateOriginY]);\n viewRect = viewRect.clone();\n viewRect.applyTransform(m);\n }\n\n var viewBound = getBound(viewRect);\n var mainBound = getBound(mainGroup.getBoundingRect());\n var labelBound = getBound(labelGroup.getBoundingRect());\n var mainPosition = mainGroup.position;\n var labelsPosition = labelGroup.position;\n labelsPosition[0] = mainPosition[0] = viewBound[0][0];\n var labelPosOpt = layoutInfo.labelPosOpt;\n\n if (isNaN(labelPosOpt)) {\n // '+' or '-'\n var mainBoundIdx = labelPosOpt === '+' ? 0 : 1;\n toBound(mainPosition, mainBound, viewBound, 1, mainBoundIdx);\n toBound(labelsPosition, labelBound, viewBound, 1, 1 - mainBoundIdx);\n } else {\n var mainBoundIdx = labelPosOpt >= 0 ? 0 : 1;\n toBound(mainPosition, mainBound, viewBound, 1, mainBoundIdx);\n labelsPosition[1] = mainPosition[1] + labelPosOpt;\n }\n\n mainGroup.attr('position', mainPosition);\n labelGroup.attr('position', labelsPosition);\n mainGroup.rotation = labelGroup.rotation = layoutInfo.rotation;\n setOrigin(mainGroup);\n setOrigin(labelGroup);\n\n function setOrigin(targetGroup) {\n var pos = targetGroup.position;\n targetGroup.origin = [viewBound[0][0] - pos[0], viewBound[1][0] - pos[1]];\n }\n\n function getBound(rect) {\n // [[xmin, xmax], [ymin, ymax]]\n return [[rect.x, rect.x + rect.width], [rect.y, rect.y + rect.height]];\n }\n\n function toBound(fromPos, from, to, dimIdx, boundIdx) {\n fromPos[dimIdx] += to[dimIdx][boundIdx] - from[dimIdx][boundIdx];\n }\n },\n _createAxis: function (layoutInfo, timelineModel) {\n var data = timelineModel.getData();\n var axisType = timelineModel.get('axisType');\n var scale = axisHelper.createScaleByModel(timelineModel, axisType); // Customize scale. The `tickValue` is `dataIndex`.\n\n scale.getTicks = function () {\n return data.mapArray(['value'], function (value) {\n return value;\n });\n };\n\n var dataExtent = data.getDataExtent('value');\n scale.setExtent(dataExtent[0], dataExtent[1]);\n scale.niceTicks();\n var axis = new TimelineAxis('value', scale, layoutInfo.axisExtent, axisType);\n axis.model = timelineModel;\n return axis;\n },\n _createGroup: function (name) {\n var newGroup = this['_' + name] = new graphic.Group();\n this.group.add(newGroup);\n return newGroup;\n },\n _renderAxisLine: function (layoutInfo, group, axis, timelineModel) {\n var axisExtent = axis.getExtent();\n\n if (!timelineModel.get('lineStyle.show')) {\n return;\n }\n\n group.add(new graphic.Line({\n shape: {\n x1: axisExtent[0],\n y1: 0,\n x2: axisExtent[1],\n y2: 0\n },\n style: zrUtil.extend({\n lineCap: 'round'\n }, timelineModel.getModel('lineStyle').getLineStyle()),\n silent: true,\n z2: 1\n }));\n },\n\n /**\n * @private\n */\n _renderAxisTick: function (layoutInfo, group, axis, timelineModel) {\n var data = timelineModel.getData(); // Show all ticks, despite ignoring strategy.\n\n var ticks = axis.scale.getTicks(); // The value is dataIndex, see the costomized scale.\n\n each(ticks, function (value) {\n var tickCoord = axis.dataToCoord(value);\n var itemModel = data.getItemModel(value);\n var itemStyleModel = itemModel.getModel('itemStyle');\n var hoverStyleModel = itemModel.getModel('emphasis.itemStyle');\n var symbolOpt = {\n position: [tickCoord, 0],\n onclick: bind(this._changeTimeline, this, value)\n };\n var el = giveSymbol(itemModel, itemStyleModel, group, symbolOpt);\n graphic.setHoverStyle(el, hoverStyleModel.getItemStyle());\n\n if (itemModel.get('tooltip')) {\n el.dataIndex = value;\n el.dataModel = timelineModel;\n } else {\n el.dataIndex = el.dataModel = null;\n }\n }, this);\n },\n\n /**\n * @private\n */\n _renderAxisLabel: function (layoutInfo, group, axis, timelineModel) {\n var labelModel = axis.getLabelModel();\n\n if (!labelModel.get('show')) {\n return;\n }\n\n var data = timelineModel.getData();\n var labels = axis.getViewLabels();\n each(labels, function (labelItem) {\n // The tickValue is dataIndex, see the costomized scale.\n var dataIndex = labelItem.tickValue;\n var itemModel = data.getItemModel(dataIndex);\n var normalLabelModel = itemModel.getModel('label');\n var hoverLabelModel = itemModel.getModel('emphasis.label');\n var tickCoord = axis.dataToCoord(labelItem.tickValue);\n var textEl = new graphic.Text({\n position: [tickCoord, 0],\n rotation: layoutInfo.labelRotation - layoutInfo.rotation,\n onclick: bind(this._changeTimeline, this, dataIndex),\n silent: false\n });\n graphic.setTextStyle(textEl.style, normalLabelModel, {\n text: labelItem.formattedLabel,\n textAlign: layoutInfo.labelAlign,\n textVerticalAlign: layoutInfo.labelBaseline\n });\n group.add(textEl);\n graphic.setHoverStyle(textEl, graphic.setTextStyle({}, hoverLabelModel));\n }, this);\n },\n\n /**\n * @private\n */\n _renderControl: function (layoutInfo, group, axis, timelineModel) {\n var controlSize = layoutInfo.controlSize;\n var rotation = layoutInfo.rotation;\n var itemStyle = timelineModel.getModel('controlStyle').getItemStyle();\n var hoverStyle = timelineModel.getModel('emphasis.controlStyle').getItemStyle();\n var rect = [0, -controlSize / 2, controlSize, controlSize];\n var playState = timelineModel.getPlayState();\n var inverse = timelineModel.get('inverse', true);\n makeBtn(layoutInfo.nextBtnPosition, 'controlStyle.nextIcon', bind(this._changeTimeline, this, inverse ? '-' : '+'));\n makeBtn(layoutInfo.prevBtnPosition, 'controlStyle.prevIcon', bind(this._changeTimeline, this, inverse ? '+' : '-'));\n makeBtn(layoutInfo.playPosition, 'controlStyle.' + (playState ? 'stopIcon' : 'playIcon'), bind(this._handlePlayClick, this, !playState), true);\n\n function makeBtn(position, iconPath, onclick, willRotate) {\n if (!position) {\n return;\n }\n\n var opt = {\n position: position,\n origin: [controlSize / 2, 0],\n rotation: willRotate ? -rotation : 0,\n rectHover: true,\n style: itemStyle,\n onclick: onclick\n };\n var btn = makeIcon(timelineModel, iconPath, rect, opt);\n group.add(btn);\n graphic.setHoverStyle(btn, hoverStyle);\n }\n },\n _renderCurrentPointer: function (layoutInfo, group, axis, timelineModel) {\n var data = timelineModel.getData();\n var currentIndex = timelineModel.getCurrentIndex();\n var pointerModel = data.getItemModel(currentIndex).getModel('checkpointStyle');\n var me = this;\n var callback = {\n onCreate: function (pointer) {\n pointer.draggable = true;\n pointer.drift = bind(me._handlePointerDrag, me);\n pointer.ondragend = bind(me._handlePointerDragend, me);\n pointerMoveTo(pointer, currentIndex, axis, timelineModel, true);\n },\n onUpdate: function (pointer) {\n pointerMoveTo(pointer, currentIndex, axis, timelineModel);\n }\n }; // Reuse when exists, for animation and drag.\n\n this._currentPointer = giveSymbol(pointerModel, pointerModel, this._mainGroup, {}, this._currentPointer, callback);\n },\n _handlePlayClick: function (nextState) {\n this._clearTimer();\n\n this.api.dispatchAction({\n type: 'timelinePlayChange',\n playState: nextState,\n from: this.uid\n });\n },\n _handlePointerDrag: function (dx, dy, e) {\n this._clearTimer();\n\n this._pointerChangeTimeline([e.offsetX, e.offsetY]);\n },\n _handlePointerDragend: function (e) {\n this._pointerChangeTimeline([e.offsetX, e.offsetY], true);\n },\n _pointerChangeTimeline: function (mousePos, trigger) {\n var toCoord = this._toAxisCoord(mousePos)[0];\n\n var axis = this._axis;\n var axisExtent = numberUtil.asc(axis.getExtent().slice());\n toCoord > axisExtent[1] && (toCoord = axisExtent[1]);\n toCoord < axisExtent[0] && (toCoord = axisExtent[0]);\n this._currentPointer.position[0] = toCoord;\n\n this._currentPointer.dirty();\n\n var targetDataIndex = this._findNearestTick(toCoord);\n\n var timelineModel = this.model;\n\n if (trigger || targetDataIndex !== timelineModel.getCurrentIndex() && timelineModel.get('realtime')) {\n this._changeTimeline(targetDataIndex);\n }\n },\n _doPlayStop: function () {\n this._clearTimer();\n\n if (this.model.getPlayState()) {\n this._timer = setTimeout(bind(handleFrame, this), this.model.get('playInterval'));\n }\n\n function handleFrame() {\n // Do not cache\n var timelineModel = this.model;\n\n this._changeTimeline(timelineModel.getCurrentIndex() + (timelineModel.get('rewind', true) ? -1 : 1));\n }\n },\n _toAxisCoord: function (vertex) {\n var trans = this._mainGroup.getLocalTransform();\n\n return graphic.applyTransform(vertex, trans, true);\n },\n _findNearestTick: function (axisCoord) {\n var data = this.model.getData();\n var dist = Infinity;\n var targetDataIndex;\n var axis = this._axis;\n data.each(['value'], function (value, dataIndex) {\n var coord = axis.dataToCoord(value);\n var d = Math.abs(coord - axisCoord);\n\n if (d < dist) {\n dist = d;\n targetDataIndex = dataIndex;\n }\n });\n return targetDataIndex;\n },\n _clearTimer: function () {\n if (this._timer) {\n clearTimeout(this._timer);\n this._timer = null;\n }\n },\n _changeTimeline: function (nextIndex) {\n var currentIndex = this.model.getCurrentIndex();\n\n if (nextIndex === '+') {\n nextIndex = currentIndex + 1;\n } else if (nextIndex === '-') {\n nextIndex = currentIndex - 1;\n }\n\n this.api.dispatchAction({\n type: 'timelineChange',\n currentIndex: nextIndex,\n from: this.uid\n });\n }\n});\n\nfunction getViewRect(model, api) {\n return layout.getLayoutRect(model.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n }, model.get('padding'));\n}\n\nfunction makeIcon(timelineModel, objPath, rect, opts) {\n var icon = graphic.makePath(timelineModel.get(objPath).replace(/^path:\\/\\//, ''), zrUtil.clone(opts || {}), new BoundingRect(rect[0], rect[1], rect[2], rect[3]), 'center');\n return icon;\n}\n/**\n * Create symbol or update symbol\n * opt: basic position and event handlers\n */\n\n\nfunction giveSymbol(hostModel, itemStyleModel, group, opt, symbol, callback) {\n var color = itemStyleModel.get('color');\n\n if (!symbol) {\n var symbolType = hostModel.get('symbol');\n symbol = createSymbol(symbolType, -1, -1, 2, 2, color);\n symbol.setStyle('strokeNoScale', true);\n group.add(symbol);\n callback && callback.onCreate(symbol);\n } else {\n symbol.setColor(color);\n group.add(symbol); // Group may be new, also need to add.\n\n callback && callback.onUpdate(symbol);\n } // Style\n\n\n var itemStyle = itemStyleModel.getItemStyle(['color', 'symbol', 'symbolSize']);\n symbol.setStyle(itemStyle); // Transform and events.\n\n opt = zrUtil.merge({\n rectHover: true,\n z2: 100\n }, opt, true);\n var symbolSize = hostModel.get('symbolSize');\n symbolSize = symbolSize instanceof Array ? symbolSize.slice() : [+symbolSize, +symbolSize];\n symbolSize[0] /= 2;\n symbolSize[1] /= 2;\n opt.scale = symbolSize;\n var symbolOffset = hostModel.get('symbolOffset');\n\n if (symbolOffset) {\n var pos = opt.position = opt.position || [0, 0];\n pos[0] += numberUtil.parsePercent(symbolOffset[0], symbolSize[0]);\n pos[1] += numberUtil.parsePercent(symbolOffset[1], symbolSize[1]);\n }\n\n var symbolRotate = hostModel.get('symbolRotate');\n opt.rotation = (symbolRotate || 0) * Math.PI / 180 || 0;\n symbol.attr(opt); // FIXME\n // (1) When symbol.style.strokeNoScale is true and updateTransform is not performed,\n // getBoundingRect will return wrong result.\n // (This is supposed to be resolved in zrender, but it is a little difficult to\n // leverage performance and auto updateTransform)\n // (2) All of ancesters of symbol do not scale, so we can just updateTransform symbol.\n\n symbol.updateTransform();\n return symbol;\n}\n\nfunction pointerMoveTo(pointer, dataIndex, axis, timelineModel, noAnimation) {\n if (pointer.dragging) {\n return;\n }\n\n var pointerModel = timelineModel.getModel('checkpointStyle');\n var toCoord = axis.dataToCoord(timelineModel.getData().get(['value'], dataIndex));\n\n if (noAnimation || !pointerModel.get('animation', true)) {\n pointer.attr({\n position: [toCoord, 0]\n });\n } else {\n pointer.stopAnimation(true);\n pointer.animateTo({\n position: [toCoord, 0]\n }, pointerModel.get('animationDuration', true), pointerModel.get('animationEasing', true));\n }\n}\n\nmodule.exports = _default;","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar DataZoomModel = require(\"./DataZoomModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar SliderZoomModel = DataZoomModel.extend({\n type: 'dataZoom.slider',\n layoutMode: 'box',\n\n /**\n * @protected\n */\n defaultOption: {\n show: true,\n // ph => placeholder. Using placehoder here because\n // deault value can only be drived in view stage.\n right: 'ph',\n // Default align to grid rect.\n top: 'ph',\n // Default align to grid rect.\n width: 'ph',\n // Default align to grid rect.\n height: 'ph',\n // Default align to grid rect.\n left: null,\n // Default align to grid rect.\n bottom: null,\n // Default align to grid rect.\n backgroundColor: 'rgba(47,69,84,0)',\n // Background of slider zoom component.\n // dataBackgroundColor: '#ddd', // Background coor of data shadow and border of box,\n // highest priority, remain for compatibility of\n // previous version, but not recommended any more.\n dataBackground: {\n lineStyle: {\n color: '#2f4554',\n width: 0.5,\n opacity: 0.3\n },\n areaStyle: {\n color: 'rgba(47,69,84,0.3)',\n opacity: 0.3\n }\n },\n borderColor: '#ddd',\n // border color of the box. For compatibility,\n // if dataBackgroundColor is set, borderColor\n // is ignored.\n fillerColor: 'rgba(167,183,204,0.4)',\n // Color of selected area.\n // handleColor: 'rgba(89,170,216,0.95)', // Color of handle.\n // handleIcon: 'path://M4.9,17.8c0-1.4,4.5-10.5,5.5-12.4c0-0.1,0.6-1.1,0.9-1.1c0.4,0,0.9,1,0.9,1.1c1.1,2.2,5.4,11,5.4,12.4v17.8c0,1.5-0.6,2.1-1.3,2.1H6.1c-0.7,0-1.3-0.6-1.3-2.1V17.8z',\n\n /* eslint-disable */\n handleIcon: 'M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z',\n\n /* eslint-enable */\n // Percent of the slider height\n handleSize: '100%',\n handleStyle: {\n color: '#a7b7cc'\n },\n labelPrecision: null,\n labelFormatter: null,\n showDetail: true,\n showDataShadow: 'auto',\n // Default auto decision.\n realtime: true,\n zoomLock: false,\n // Whether disable zoom.\n textStyle: {\n color: '#333'\n }\n }\n});\nvar _default = SliderZoomModel;\nmodule.exports = _default;","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* A third-party license is embeded for some of the code in this file:\n* The method \"quantile\" was copied from \"d3.js\".\n* (See more details in the comment of the method below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\n* ).\n*/\nvar RADIAN_EPSILON = 1e-4;\n\nfunction _trim(str) {\n return str.replace(/^\\s+/, '').replace(/\\s+$/, '');\n}\n/**\n * Linear mapping a value from domain to range\n * @memberOf module:echarts/util/number\n * @param {(number|Array.)} val\n * @param {Array.} domain Domain extent domain[0] can be bigger than domain[1]\n * @param {Array.} range Range extent range[0] can be bigger than range[1]\n * @param {boolean} clamp\n * @return {(number|Array.}\n */\n\n\nfunction linearMap(val, domain, range, clamp) {\n var subDomain = domain[1] - domain[0];\n var subRange = range[1] - range[0];\n\n if (subDomain === 0) {\n return subRange === 0 ? range[0] : (range[0] + range[1]) / 2;\n } // Avoid accuracy problem in edge, such as\n // 146.39 - 62.83 === 83.55999999999999.\n // See echarts/test/ut/spec/util/number.js#linearMap#accuracyError\n // It is a little verbose for efficiency considering this method\n // is a hotspot.\n\n\n if (clamp) {\n if (subDomain > 0) {\n if (val <= domain[0]) {\n return range[0];\n } else if (val >= domain[1]) {\n return range[1];\n }\n } else {\n if (val >= domain[0]) {\n return range[0];\n } else if (val <= domain[1]) {\n return range[1];\n }\n }\n } else {\n if (val === domain[0]) {\n return range[0];\n }\n\n if (val === domain[1]) {\n return range[1];\n }\n }\n\n return (val - domain[0]) / subDomain * subRange + range[0];\n}\n/**\n * Convert a percent string to absolute number.\n * Returns NaN if percent is not a valid string or number\n * @memberOf module:echarts/util/number\n * @param {string|number} percent\n * @param {number} all\n * @return {number}\n */\n\n\nfunction parsePercent(percent, all) {\n switch (percent) {\n case 'center':\n case 'middle':\n percent = '50%';\n break;\n\n case 'left':\n case 'top':\n percent = '0%';\n break;\n\n case 'right':\n case 'bottom':\n percent = '100%';\n break;\n }\n\n if (typeof percent === 'string') {\n if (_trim(percent).match(/%$/)) {\n return parseFloat(percent) / 100 * all;\n }\n\n return parseFloat(percent);\n }\n\n return percent == null ? NaN : +percent;\n}\n/**\n * (1) Fix rounding error of float numbers.\n * (2) Support return string to avoid scientific notation like '3.5e-7'.\n *\n * @param {number} x\n * @param {number} [precision]\n * @param {boolean} [returnStr]\n * @return {number|string}\n */\n\n\nfunction round(x, precision, returnStr) {\n if (precision == null) {\n precision = 10;\n } // Avoid range error\n\n\n precision = Math.min(Math.max(0, precision), 20);\n x = (+x).toFixed(precision);\n return returnStr ? x : +x;\n}\n\nfunction asc(arr) {\n arr.sort(function (a, b) {\n return a - b;\n });\n return arr;\n}\n/**\n * Get precision\n * @param {number} val\n */\n\n\nfunction getPrecision(val) {\n val = +val;\n\n if (isNaN(val)) {\n return 0;\n } // It is much faster than methods converting number to string as follows\n // var tmp = val.toString();\n // return tmp.length - 1 - tmp.indexOf('.');\n // especially when precision is low\n\n\n var e = 1;\n var count = 0;\n\n while (Math.round(val * e) / e !== val) {\n e *= 10;\n count++;\n }\n\n return count;\n}\n/**\n * @param {string|number} val\n * @return {number}\n */\n\n\nfunction getPrecisionSafe(val) {\n var str = val.toString(); // Consider scientific notation: '3.4e-12' '3.4e+12'\n\n var eIndex = str.indexOf('e');\n\n if (eIndex > 0) {\n var precision = +str.slice(eIndex + 1);\n return precision < 0 ? -precision : 0;\n } else {\n var dotIndex = str.indexOf('.');\n return dotIndex < 0 ? 0 : str.length - 1 - dotIndex;\n }\n}\n/**\n * Minimal dicernible data precisioin according to a single pixel.\n *\n * @param {Array.} dataExtent\n * @param {Array.} pixelExtent\n * @return {number} precision\n */\n\n\nfunction getPixelPrecision(dataExtent, pixelExtent) {\n var log = Math.log;\n var LN10 = Math.LN10;\n var dataQuantity = Math.floor(log(dataExtent[1] - dataExtent[0]) / LN10);\n var sizeQuantity = Math.round(log(Math.abs(pixelExtent[1] - pixelExtent[0])) / LN10); // toFixed() digits argument must be between 0 and 20.\n\n var precision = Math.min(Math.max(-dataQuantity + sizeQuantity, 0), 20);\n return !isFinite(precision) ? 20 : precision;\n}\n/**\n * Get a data of given precision, assuring the sum of percentages\n * in valueList is 1.\n * The largest remainer method is used.\n * https://en.wikipedia.org/wiki/Largest_remainder_method\n *\n * @param {Array.} valueList a list of all data\n * @param {number} idx index of the data to be processed in valueList\n * @param {number} precision integer number showing digits of precision\n * @return {number} percent ranging from 0 to 100\n */\n\n\nfunction getPercentWithPrecision(valueList, idx, precision) {\n if (!valueList[idx]) {\n return 0;\n }\n\n var sum = zrUtil.reduce(valueList, function (acc, val) {\n return acc + (isNaN(val) ? 0 : val);\n }, 0);\n\n if (sum === 0) {\n return 0;\n }\n\n var digits = Math.pow(10, precision);\n var votesPerQuota = zrUtil.map(valueList, function (val) {\n return (isNaN(val) ? 0 : val) / sum * digits * 100;\n });\n var targetSeats = digits * 100;\n var seats = zrUtil.map(votesPerQuota, function (votes) {\n // Assign automatic seats.\n return Math.floor(votes);\n });\n var currentSum = zrUtil.reduce(seats, function (acc, val) {\n return acc + val;\n }, 0);\n var remainder = zrUtil.map(votesPerQuota, function (votes, idx) {\n return votes - seats[idx];\n }); // Has remainding votes.\n\n while (currentSum < targetSeats) {\n // Find next largest remainder.\n var max = Number.NEGATIVE_INFINITY;\n var maxId = null;\n\n for (var i = 0, len = remainder.length; i < len; ++i) {\n if (remainder[i] > max) {\n max = remainder[i];\n maxId = i;\n }\n } // Add a vote to max remainder.\n\n\n ++seats[maxId];\n remainder[maxId] = 0;\n ++currentSum;\n }\n\n return seats[idx] / digits;\n} // Number.MAX_SAFE_INTEGER, ie do not support.\n\n\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * To 0 - 2 * PI, considering negative radian.\n * @param {number} radian\n * @return {number}\n */\n\nfunction remRadian(radian) {\n var pi2 = Math.PI * 2;\n return (radian % pi2 + pi2) % pi2;\n}\n/**\n * @param {type} radian\n * @return {boolean}\n */\n\n\nfunction isRadianAroundZero(val) {\n return val > -RADIAN_EPSILON && val < RADIAN_EPSILON;\n}\n/* eslint-disable */\n\n\nvar TIME_REG = /^(?:(\\d{4})(?:[-\\/](\\d{1,2})(?:[-\\/](\\d{1,2})(?:[T ](\\d{1,2})(?::(\\d\\d)(?::(\\d\\d)(?:[.,](\\d+))?)?)?(Z|[\\+\\-]\\d\\d:?\\d\\d)?)?)?)?)?$/; // jshint ignore:line\n\n/* eslint-enable */\n\n/**\n * @param {string|Date|number} value These values can be accepted:\n * + An instance of Date, represent a time in its own time zone.\n * + Or string in a subset of ISO 8601, only including:\n * + only year, month, date: '2012-03', '2012-03-01', '2012-03-01 05', '2012-03-01 05:06',\n * + separated with T or space: '2012-03-01T12:22:33.123', '2012-03-01 12:22:33.123',\n * + time zone: '2012-03-01T12:22:33Z', '2012-03-01T12:22:33+8000', '2012-03-01T12:22:33-05:00',\n * all of which will be treated as local time if time zone is not specified\n * (see ).\n * + Or other string format, including (all of which will be treated as loacal time):\n * '2012', '2012-3-1', '2012/3/1', '2012/03/01',\n * '2009/6/12 2:00', '2009/6/12 2:05:08', '2009/6/12 2:05:08.123'\n * + a timestamp, which represent a time in UTC.\n * @return {Date} date\n */\n\nfunction parseDate(value) {\n if (value instanceof Date) {\n return value;\n } else if (typeof value === 'string') {\n // Different browsers parse date in different way, so we parse it manually.\n // Some other issues:\n // new Date('1970-01-01') is UTC,\n // new Date('1970/01/01') and new Date('1970-1-01') is local.\n // See issue #3623\n var match = TIME_REG.exec(value);\n\n if (!match) {\n // return Invalid Date.\n return new Date(NaN);\n } // Use local time when no timezone offset specifed.\n\n\n if (!match[8]) {\n // match[n] can only be string or undefined.\n // But take care of '12' + 1 => '121'.\n return new Date(+match[1], +(match[2] || 1) - 1, +match[3] || 1, +match[4] || 0, +(match[5] || 0), +match[6] || 0, +match[7] || 0);\n } // Timezoneoffset of Javascript Date has considered DST (Daylight Saving Time,\n // https://tc39.github.io/ecma262/#sec-daylight-saving-time-adjustment).\n // For example, system timezone is set as \"Time Zone: America/Toronto\",\n // then these code will get different result:\n // `new Date(1478411999999).getTimezoneOffset(); // get 240`\n // `new Date(1478412000000).getTimezoneOffset(); // get 300`\n // So we should not use `new Date`, but use `Date.UTC`.\n else {\n var hour = +match[4] || 0;\n\n if (match[8].toUpperCase() !== 'Z') {\n hour -= match[8].slice(0, 3);\n }\n\n return new Date(Date.UTC(+match[1], +(match[2] || 1) - 1, +match[3] || 1, hour, +(match[5] || 0), +match[6] || 0, +match[7] || 0));\n }\n } else if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(Math.round(value));\n}\n/**\n * Quantity of a number. e.g. 0.1, 1, 10, 100\n *\n * @param {number} val\n * @return {number}\n */\n\n\nfunction quantity(val) {\n return Math.pow(10, quantityExponent(val));\n}\n\nfunction quantityExponent(val) {\n return Math.floor(Math.log(val) / Math.LN10);\n}\n/**\n * find a “nice” number approximately equal to x. Round the number if round = true,\n * take ceiling if round = false. The primary observation is that the “nicest”\n * numbers in decimal are 1, 2, and 5, and all power-of-ten multiples of these numbers.\n *\n * See \"Nice Numbers for Graph Labels\" of Graphic Gems.\n *\n * @param {number} val Non-negative value.\n * @param {boolean} round\n * @return {number}\n */\n\n\nfunction nice(val, round) {\n var exponent = quantityExponent(val);\n var exp10 = Math.pow(10, exponent);\n var f = val / exp10; // 1 <= f < 10\n\n var nf;\n\n if (round) {\n if (f < 1.5) {\n nf = 1;\n } else if (f < 2.5) {\n nf = 2;\n } else if (f < 4) {\n nf = 3;\n } else if (f < 7) {\n nf = 5;\n } else {\n nf = 10;\n }\n } else {\n if (f < 1) {\n nf = 1;\n } else if (f < 2) {\n nf = 2;\n } else if (f < 3) {\n nf = 3;\n } else if (f < 5) {\n nf = 5;\n } else {\n nf = 10;\n }\n }\n\n val = nf * exp10; // Fix 3 * 0.1 === 0.30000000000000004 issue (see IEEE 754).\n // 20 is the uppper bound of toFixed.\n\n return exponent >= -20 ? +val.toFixed(exponent < 0 ? -exponent : 0) : val;\n}\n/**\n * This code was copied from \"d3.js\"\n * .\n * See the license statement at the head of this file.\n * @param {Array.} ascArr\n */\n\n\nfunction quantile(ascArr, p) {\n var H = (ascArr.length - 1) * p + 1;\n var h = Math.floor(H);\n var v = +ascArr[h - 1];\n var e = H - h;\n return e ? v + e * (ascArr[h] - v) : v;\n}\n/**\n * Order intervals asc, and split them when overlap.\n * expect(numberUtil.reformIntervals([\n * {interval: [18, 62], close: [1, 1]},\n * {interval: [-Infinity, -70], close: [0, 0]},\n * {interval: [-70, -26], close: [1, 1]},\n * {interval: [-26, 18], close: [1, 1]},\n * {interval: [62, 150], close: [1, 1]},\n * {interval: [106, 150], close: [1, 1]},\n * {interval: [150, Infinity], close: [0, 0]}\n * ])).toEqual([\n * {interval: [-Infinity, -70], close: [0, 0]},\n * {interval: [-70, -26], close: [1, 1]},\n * {interval: [-26, 18], close: [0, 1]},\n * {interval: [18, 62], close: [0, 1]},\n * {interval: [62, 150], close: [0, 1]},\n * {interval: [150, Infinity], close: [0, 0]}\n * ]);\n * @param {Array.} list, where `close` mean open or close\n * of the interval, and Infinity can be used.\n * @return {Array.} The origin list, which has been reformed.\n */\n\n\nfunction reformIntervals(list) {\n list.sort(function (a, b) {\n return littleThan(a, b, 0) ? -1 : 1;\n });\n var curr = -Infinity;\n var currClose = 1;\n\n for (var i = 0; i < list.length;) {\n var interval = list[i].interval;\n var close = list[i].close;\n\n for (var lg = 0; lg < 2; lg++) {\n if (interval[lg] <= curr) {\n interval[lg] = curr;\n close[lg] = !lg ? 1 - currClose : 1;\n }\n\n curr = interval[lg];\n currClose = close[lg];\n }\n\n if (interval[0] === interval[1] && close[0] * close[1] !== 1) {\n list.splice(i, 1);\n } else {\n i++;\n }\n }\n\n return list;\n\n function littleThan(a, b, lg) {\n return a.interval[lg] < b.interval[lg] || a.interval[lg] === b.interval[lg] && (a.close[lg] - b.close[lg] === (!lg ? 1 : -1) || !lg && littleThan(a, b, 1));\n }\n}\n/**\n * parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n * ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n * subtraction forces infinities to NaN\n *\n * @param {*} v\n * @return {boolean}\n */\n\n\nfunction isNumeric(v) {\n return v - parseFloat(v) >= 0;\n}\n\nexports.linearMap = linearMap;\nexports.parsePercent = parsePercent;\nexports.round = round;\nexports.asc = asc;\nexports.getPrecision = getPrecision;\nexports.getPrecisionSafe = getPrecisionSafe;\nexports.getPixelPrecision = getPixelPrecision;\nexports.getPercentWithPrecision = getPercentWithPrecision;\nexports.MAX_SAFE_INTEGER = MAX_SAFE_INTEGER;\nexports.remRadian = remRadian;\nexports.isRadianAroundZero = isRadianAroundZero;\nexports.parseDate = parseDate;\nexports.quantity = quantity;\nexports.nice = nice;\nexports.quantile = quantile;\nexports.reformIntervals = reformIntervals;\nexports.isNumeric = isNumeric;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _dataProvider = require(\"../../data/helper/dataProvider\");\n\nvar retrieveRawValue = _dataProvider.retrieveRawValue;\n\nvar _format = require(\"../../util/format\");\n\nvar getTooltipMarker = _format.getTooltipMarker;\nvar formatTpl = _format.formatTpl;\n\nvar _model = require(\"../../util/model\");\n\nvar getTooltipRenderMode = _model.getTooltipRenderMode;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar DIMENSION_LABEL_REG = /\\{@(.+?)\\}/g; // PENDING A little ugly\n\nvar _default = {\n /**\n * Get params for formatter\n * @param {number} dataIndex\n * @param {string} [dataType]\n * @return {Object}\n */\n getDataParams: function (dataIndex, dataType) {\n var data = this.getData(dataType);\n var rawValue = this.getRawValue(dataIndex, dataType);\n var rawDataIndex = data.getRawIndex(dataIndex);\n var name = data.getName(dataIndex);\n var itemOpt = data.getRawDataItem(dataIndex);\n var color = data.getItemVisual(dataIndex, 'color');\n var tooltipModel = this.ecModel.getComponent('tooltip');\n var renderModeOption = tooltipModel && tooltipModel.get('renderMode');\n var renderMode = getTooltipRenderMode(renderModeOption);\n var mainType = this.mainType;\n var isSeries = mainType === 'series';\n return {\n componentType: mainType,\n componentSubType: this.subType,\n componentIndex: this.componentIndex,\n seriesType: isSeries ? this.subType : null,\n seriesIndex: this.seriesIndex,\n seriesId: isSeries ? this.id : null,\n seriesName: isSeries ? this.name : null,\n name: name,\n dataIndex: rawDataIndex,\n data: itemOpt,\n dataType: dataType,\n value: rawValue,\n color: color,\n marker: getTooltipMarker({\n color: color,\n renderMode: renderMode\n }),\n // Param name list for mapping `a`, `b`, `c`, `d`, `e`\n $vars: ['seriesName', 'name', 'value']\n };\n },\n\n /**\n * Format label\n * @param {number} dataIndex\n * @param {string} [status='normal'] 'normal' or 'emphasis'\n * @param {string} [dataType]\n * @param {number} [dimIndex]\n * @param {string} [labelProp='label']\n * @return {string} If not formatter, return null/undefined\n */\n getFormattedLabel: function (dataIndex, status, dataType, dimIndex, labelProp) {\n status = status || 'normal';\n var data = this.getData(dataType);\n var itemModel = data.getItemModel(dataIndex);\n var params = this.getDataParams(dataIndex, dataType);\n\n if (dimIndex != null && params.value instanceof Array) {\n params.value = params.value[dimIndex];\n }\n\n var formatter = itemModel.get(status === 'normal' ? [labelProp || 'label', 'formatter'] : [status, labelProp || 'label', 'formatter']);\n\n if (typeof formatter === 'function') {\n params.status = status;\n return formatter(params);\n } else if (typeof formatter === 'string') {\n var str = formatTpl(formatter, params); // Support 'aaa{@[3]}bbb{@product}ccc'.\n // Do not support '}' in dim name util have to.\n\n return str.replace(DIMENSION_LABEL_REG, function (origin, dim) {\n var len = dim.length;\n\n if (dim.charAt(0) === '[' && dim.charAt(len - 1) === ']') {\n dim = +dim.slice(1, len - 1); // Also: '[]' => 0\n }\n\n return retrieveRawValue(data, dataIndex, dim);\n });\n }\n },\n\n /**\n * Get raw value in option\n * @param {number} idx\n * @param {string} [dataType]\n * @return {Array|number|string}\n */\n getRawValue: function (idx, dataType) {\n return retrieveRawValue(this.getData(dataType), idx);\n },\n\n /**\n * Should be implemented.\n * @param {number} dataIndex\n * @param {boolean} [multipleSeries=false]\n * @param {number} [dataType]\n * @return {string} tooltip string\n */\n formatTooltip: function () {// Empty function\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar makeStyleMapper = require(\"./makeStyleMapper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar getLineStyle = makeStyleMapper([['lineWidth', 'width'], ['stroke', 'color'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor']]);\nvar _default = {\n getLineStyle: function (excludes) {\n var style = getLineStyle(this, excludes);\n var lineDash = this.getLineDash(style.lineWidth);\n lineDash && (style.lineDash = lineDash);\n return style;\n },\n getLineDash: function (lineWidth) {\n if (lineWidth == null) {\n lineWidth = 1;\n }\n\n var lineType = this.get('type');\n var dotSize = Math.max(lineWidth, 2);\n var dashSize = lineWidth * 4;\n return lineType === 'solid' || lineType == null ? null : lineType === 'dashed' ? [dashSize, dashSize] : [dotSize, dotSize];\n }\n};\nmodule.exports = _default;","var _util = require(\"../core/util\");\n\nvar inherits = _util.inherits;\n\nvar Displayble = require(\"./Displayable\");\n\nvar BoundingRect = require(\"../core/BoundingRect\");\n\n/**\n * Displayable for incremental rendering. It will be rendered in a separate layer\n * IncrementalDisplay have two main methods. `clearDisplayables` and `addDisplayables`\n * addDisplayables will render the added displayables incremetally.\n *\n * It use a not clearFlag to tell the painter don't clear the layer if it's the first element.\n */\n// TODO Style override ?\nfunction IncrementalDisplayble(opts) {\n Displayble.call(this, opts);\n this._displayables = [];\n this._temporaryDisplayables = [];\n this._cursor = 0;\n this.notClear = true;\n}\n\nIncrementalDisplayble.prototype.incremental = true;\n\nIncrementalDisplayble.prototype.clearDisplaybles = function () {\n this._displayables = [];\n this._temporaryDisplayables = [];\n this._cursor = 0;\n this.dirty();\n this.notClear = false;\n};\n\nIncrementalDisplayble.prototype.addDisplayable = function (displayable, notPersistent) {\n if (notPersistent) {\n this._temporaryDisplayables.push(displayable);\n } else {\n this._displayables.push(displayable);\n }\n\n this.dirty();\n};\n\nIncrementalDisplayble.prototype.addDisplayables = function (displayables, notPersistent) {\n notPersistent = notPersistent || false;\n\n for (var i = 0; i < displayables.length; i++) {\n this.addDisplayable(displayables[i], notPersistent);\n }\n};\n\nIncrementalDisplayble.prototype.eachPendingDisplayable = function (cb) {\n for (var i = this._cursor; i < this._displayables.length; i++) {\n cb && cb(this._displayables[i]);\n }\n\n for (var i = 0; i < this._temporaryDisplayables.length; i++) {\n cb && cb(this._temporaryDisplayables[i]);\n }\n};\n\nIncrementalDisplayble.prototype.update = function () {\n this.updateTransform();\n\n for (var i = this._cursor; i < this._displayables.length; i++) {\n var displayable = this._displayables[i]; // PENDING\n\n displayable.parent = this;\n displayable.update();\n displayable.parent = null;\n }\n\n for (var i = 0; i < this._temporaryDisplayables.length; i++) {\n var displayable = this._temporaryDisplayables[i]; // PENDING\n\n displayable.parent = this;\n displayable.update();\n displayable.parent = null;\n }\n};\n\nIncrementalDisplayble.prototype.brush = function (ctx, prevEl) {\n // Render persistant displayables.\n for (var i = this._cursor; i < this._displayables.length; i++) {\n var displayable = this._displayables[i];\n displayable.beforeBrush && displayable.beforeBrush(ctx);\n displayable.brush(ctx, i === this._cursor ? null : this._displayables[i - 1]);\n displayable.afterBrush && displayable.afterBrush(ctx);\n }\n\n this._cursor = i; // Render temporary displayables.\n\n for (var i = 0; i < this._temporaryDisplayables.length; i++) {\n var displayable = this._temporaryDisplayables[i];\n displayable.beforeBrush && displayable.beforeBrush(ctx);\n displayable.brush(ctx, i === 0 ? null : this._temporaryDisplayables[i - 1]);\n displayable.afterBrush && displayable.afterBrush(ctx);\n }\n\n this._temporaryDisplayables = [];\n this.notClear = true;\n};\n\nvar m = [];\n\nIncrementalDisplayble.prototype.getBoundingRect = function () {\n if (!this._rect) {\n var rect = new BoundingRect(Infinity, Infinity, -Infinity, -Infinity);\n\n for (var i = 0; i < this._displayables.length; i++) {\n var displayable = this._displayables[i];\n var childRect = displayable.getBoundingRect().clone();\n\n if (displayable.needLocalTransform()) {\n childRect.applyTransform(displayable.getLocalTransform(m));\n }\n\n rect.union(childRect);\n }\n\n this._rect = rect;\n }\n\n return this._rect;\n};\n\nIncrementalDisplayble.prototype.contain = function (x, y) {\n var localPos = this.transformCoordToLocal(x, y);\n var rect = this.getBoundingRect();\n\n if (rect.contain(localPos[0], localPos[1])) {\n for (var i = 0; i < this._displayables.length; i++) {\n var displayable = this._displayables[i];\n\n if (displayable.contain(x, y)) {\n return true;\n }\n }\n }\n\n return false;\n};\n\ninherits(IncrementalDisplayble, Displayble);\nvar _default = IncrementalDisplayble;\nmodule.exports = _default;","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\necharts.registerAction({\n type: 'timelineChange',\n event: 'timelineChanged',\n update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n var timelineModel = ecModel.getComponent('timeline');\n\n if (timelineModel && payload.currentIndex != null) {\n timelineModel.setCurrentIndex(payload.currentIndex);\n\n if (!timelineModel.get('loop', true) && timelineModel.isIndexMax()) {\n timelineModel.setPlayState(false);\n }\n } // Set normalized currentIndex to payload.\n\n\n ecModel.resetOption('timeline');\n return zrUtil.defaults({\n currentIndex: timelineModel.option.currentIndex\n }, payload);\n});\necharts.registerAction({\n type: 'timelinePlayChange',\n event: 'timelinePlayChanged',\n update: 'update'\n}, function (payload, ecModel) {\n var timelineModel = ecModel.getComponent('timeline');\n\n if (timelineModel && payload.playState != null) {\n timelineModel.setPlayState(payload.playState);\n }\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createListFromArray = require(\"../helper/createListFromArray\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = SeriesModel.extend({\n type: 'series.heatmap',\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this, {\n generateCoord: 'value'\n });\n },\n preventIncremental: function () {\n var coordSysCreator = CoordinateSystem.get(this.get('coordinateSystem'));\n\n if (coordSysCreator && coordSysCreator.dimensions) {\n return coordSysCreator.dimensions[0] === 'lng' && coordSysCreator.dimensions[1] === 'lat';\n }\n },\n defaultOption: {\n // Cartesian2D or geo\n coordinateSystem: 'cartesian2d',\n zlevel: 0,\n z: 2,\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // Geo coordinate system\n geoIndex: 0,\n blurSize: 30,\n pointSize: 20,\n maxOpacity: 1,\n minOpacity: 0\n }\n});\n\nmodule.exports = _default;","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar helper = require(\"./helper\");\n\nvar AxisProxy = require(\"./AxisProxy\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar each = zrUtil.each;\nvar eachAxisDim = helper.eachAxisDim;\nvar DataZoomModel = echarts.extendComponentModel({\n type: 'dataZoom',\n dependencies: ['xAxis', 'yAxis', 'zAxis', 'radiusAxis', 'angleAxis', 'singleAxis', 'series'],\n\n /**\n * @protected\n */\n defaultOption: {\n zlevel: 0,\n z: 4,\n // Higher than normal component (z: 2).\n orient: null,\n // Default auto by axisIndex. Possible value: 'horizontal', 'vertical'.\n xAxisIndex: null,\n // Default the first horizontal category axis.\n yAxisIndex: null,\n // Default the first vertical category axis.\n filterMode: 'filter',\n // Possible values: 'filter' or 'empty' or 'weakFilter'.\n // 'filter': data items which are out of window will be removed. This option is\n // applicable when filtering outliers. For each data item, it will be\n // filtered if one of the relevant dimensions is out of the window.\n // 'weakFilter': data items which are out of window will be removed. This option\n // is applicable when filtering outliers. For each data item, it will be\n // filtered only if all of the relevant dimensions are out of the same\n // side of the window.\n // 'empty': data items which are out of window will be set to empty.\n // This option is applicable when user should not neglect\n // that there are some data items out of window.\n // 'none': Do not filter.\n // Taking line chart as an example, line will be broken in\n // the filtered points when filterModel is set to 'empty', but\n // be connected when set to 'filter'.\n throttle: null,\n // Dispatch action by the fixed rate, avoid frequency.\n // default 100. Do not throttle when use null/undefined.\n // If animation === true and animationDurationUpdate > 0,\n // default value is 100, otherwise 20.\n start: 0,\n // Start percent. 0 ~ 100\n end: 100,\n // End percent. 0 ~ 100\n startValue: null,\n // Start value. If startValue specified, start is ignored.\n endValue: null,\n // End value. If endValue specified, end is ignored.\n minSpan: null,\n // 0 ~ 100\n maxSpan: null,\n // 0 ~ 100\n minValueSpan: null,\n // The range of dataZoom can not be smaller than that.\n maxValueSpan: null,\n // The range of dataZoom can not be larger than that.\n rangeMode: null // Array, can be 'value' or 'percent'.\n\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel) {\n /**\n * key like x_0, y_1\n * @private\n * @type {Object}\n */\n this._dataIntervalByAxis = {};\n /**\n * @private\n */\n\n this._dataInfo = {};\n /**\n * key like x_0, y_1\n * @private\n */\n\n this._axisProxies = {};\n /**\n * @readOnly\n */\n\n this.textStyleModel;\n /**\n * @private\n */\n\n this._autoThrottle = true;\n /**\n * 'percent' or 'value'\n * @private\n */\n\n this._rangePropMode = ['percent', 'percent'];\n var rawOption = retrieveRaw(option);\n this.mergeDefaultAndTheme(option, ecModel);\n this.doInit(rawOption);\n },\n\n /**\n * @override\n */\n mergeOption: function (newOption) {\n var rawOption = retrieveRaw(newOption); //FIX #2591\n\n zrUtil.merge(this.option, newOption, true);\n this.doInit(rawOption);\n },\n\n /**\n * @protected\n */\n doInit: function (rawOption) {\n var thisOption = this.option; // Disable realtime view update if canvas is not supported.\n\n if (!env.canvasSupported) {\n thisOption.realtime = false;\n }\n\n this._setDefaultThrottle(rawOption);\n\n updateRangeUse(this, rawOption);\n each([['start', 'startValue'], ['end', 'endValue']], function (names, index) {\n // start/end has higher priority over startValue/endValue if they\n // both set, but we should make chart.setOption({endValue: 1000})\n // effective, rather than chart.setOption({endValue: 1000, end: null}).\n if (this._rangePropMode[index] === 'value') {\n thisOption[names[0]] = null;\n } // Otherwise do nothing and use the merge result.\n\n }, this);\n this.textStyleModel = this.getModel('textStyle');\n\n this._resetTarget();\n\n this._giveAxisProxies();\n },\n\n /**\n * @private\n */\n _giveAxisProxies: function () {\n var axisProxies = this._axisProxies;\n this.eachTargetAxis(function (dimNames, axisIndex, dataZoomModel, ecModel) {\n var axisModel = this.dependentModels[dimNames.axis][axisIndex]; // If exists, share axisProxy with other dataZoomModels.\n\n var axisProxy = axisModel.__dzAxisProxy || ( // Use the first dataZoomModel as the main model of axisProxy.\n axisModel.__dzAxisProxy = new AxisProxy(dimNames.name, axisIndex, this, ecModel)); // FIXME\n // dispose __dzAxisProxy\n\n axisProxies[dimNames.name + '_' + axisIndex] = axisProxy;\n }, this);\n },\n\n /**\n * @private\n */\n _resetTarget: function () {\n var thisOption = this.option;\n\n var autoMode = this._judgeAutoMode();\n\n eachAxisDim(function (dimNames) {\n var axisIndexName = dimNames.axisIndex;\n thisOption[axisIndexName] = modelUtil.normalizeToArray(thisOption[axisIndexName]);\n }, this);\n\n if (autoMode === 'axisIndex') {\n this._autoSetAxisIndex();\n } else if (autoMode === 'orient') {\n this._autoSetOrient();\n }\n },\n\n /**\n * @private\n */\n _judgeAutoMode: function () {\n // Auto set only works for setOption at the first time.\n // The following is user's reponsibility. So using merged\n // option is OK.\n var thisOption = this.option;\n var hasIndexSpecified = false;\n eachAxisDim(function (dimNames) {\n // When user set axisIndex as a empty array, we think that user specify axisIndex\n // but do not want use auto mode. Because empty array may be encountered when\n // some error occured.\n if (thisOption[dimNames.axisIndex] != null) {\n hasIndexSpecified = true;\n }\n }, this);\n var orient = thisOption.orient;\n\n if (orient == null && hasIndexSpecified) {\n return 'orient';\n } else if (!hasIndexSpecified) {\n if (orient == null) {\n thisOption.orient = 'horizontal';\n }\n\n return 'axisIndex';\n }\n },\n\n /**\n * @private\n */\n _autoSetAxisIndex: function () {\n var autoAxisIndex = true;\n var orient = this.get('orient', true);\n var thisOption = this.option;\n var dependentModels = this.dependentModels;\n\n if (autoAxisIndex) {\n // Find axis that parallel to dataZoom as default.\n var dimName = orient === 'vertical' ? 'y' : 'x';\n\n if (dependentModels[dimName + 'Axis'].length) {\n thisOption[dimName + 'AxisIndex'] = [0];\n autoAxisIndex = false;\n } else {\n each(dependentModels.singleAxis, function (singleAxisModel) {\n if (autoAxisIndex && singleAxisModel.get('orient', true) === orient) {\n thisOption.singleAxisIndex = [singleAxisModel.componentIndex];\n autoAxisIndex = false;\n }\n });\n }\n }\n\n if (autoAxisIndex) {\n // Find the first category axis as default. (consider polar)\n eachAxisDim(function (dimNames) {\n if (!autoAxisIndex) {\n return;\n }\n\n var axisIndices = [];\n var axisModels = this.dependentModels[dimNames.axis];\n\n if (axisModels.length && !axisIndices.length) {\n for (var i = 0, len = axisModels.length; i < len; i++) {\n if (axisModels[i].get('type') === 'category') {\n axisIndices.push(i);\n }\n }\n }\n\n thisOption[dimNames.axisIndex] = axisIndices;\n\n if (axisIndices.length) {\n autoAxisIndex = false;\n }\n }, this);\n }\n\n if (autoAxisIndex) {\n // FIXME\n // 这里是兼容ec2的写法(没指定xAxisIndex和yAxisIndex时把scatter和双数值轴折柱纳入dataZoom控制),\n // 但是实际是否需要Grid.js#getScaleByOption来判断(考虑time,log等axis type)?\n // If both dataZoom.xAxisIndex and dataZoom.yAxisIndex is not specified,\n // dataZoom component auto adopts series that reference to\n // both xAxis and yAxis which type is 'value'.\n this.ecModel.eachSeries(function (seriesModel) {\n if (this._isSeriesHasAllAxesTypeOf(seriesModel, 'value')) {\n eachAxisDim(function (dimNames) {\n var axisIndices = thisOption[dimNames.axisIndex];\n var axisIndex = seriesModel.get(dimNames.axisIndex);\n var axisId = seriesModel.get(dimNames.axisId);\n var axisModel = seriesModel.ecModel.queryComponents({\n mainType: dimNames.axis,\n index: axisIndex,\n id: axisId\n })[0];\n axisIndex = axisModel.componentIndex;\n\n if (zrUtil.indexOf(axisIndices, axisIndex) < 0) {\n axisIndices.push(axisIndex);\n }\n });\n }\n }, this);\n }\n },\n\n /**\n * @private\n */\n _autoSetOrient: function () {\n var dim; // Find the first axis\n\n this.eachTargetAxis(function (dimNames) {\n !dim && (dim = dimNames.name);\n }, this);\n this.option.orient = dim === 'y' ? 'vertical' : 'horizontal';\n },\n\n /**\n * @private\n */\n _isSeriesHasAllAxesTypeOf: function (seriesModel, axisType) {\n // FIXME\n // 需要series的xAxisIndex和yAxisIndex都首先自动设置上。\n // 例如series.type === scatter时。\n var is = true;\n eachAxisDim(function (dimNames) {\n var seriesAxisIndex = seriesModel.get(dimNames.axisIndex);\n var axisModel = this.dependentModels[dimNames.axis][seriesAxisIndex];\n\n if (!axisModel || axisModel.get('type') !== axisType) {\n is = false;\n }\n }, this);\n return is;\n },\n\n /**\n * @private\n */\n _setDefaultThrottle: function (rawOption) {\n // When first time user set throttle, auto throttle ends.\n if (rawOption.hasOwnProperty('throttle')) {\n this._autoThrottle = false;\n }\n\n if (this._autoThrottle) {\n var globalOption = this.ecModel.option;\n this.option.throttle = globalOption.animation && globalOption.animationDurationUpdate > 0 ? 100 : 20;\n }\n },\n\n /**\n * @public\n */\n getFirstTargetAxisModel: function () {\n var firstAxisModel;\n eachAxisDim(function (dimNames) {\n if (firstAxisModel == null) {\n var indices = this.get(dimNames.axisIndex);\n\n if (indices.length) {\n firstAxisModel = this.dependentModels[dimNames.axis][indices[0]];\n }\n }\n }, this);\n return firstAxisModel;\n },\n\n /**\n * @public\n * @param {Function} callback param: axisModel, dimNames, axisIndex, dataZoomModel, ecModel\n */\n eachTargetAxis: function (callback, context) {\n var ecModel = this.ecModel;\n eachAxisDim(function (dimNames) {\n each(this.get(dimNames.axisIndex), function (axisIndex) {\n callback.call(context, dimNames, axisIndex, this, ecModel);\n }, this);\n }, this);\n },\n\n /**\n * @param {string} dimName\n * @param {number} axisIndex\n * @return {module:echarts/component/dataZoom/AxisProxy} If not found, return null/undefined.\n */\n getAxisProxy: function (dimName, axisIndex) {\n return this._axisProxies[dimName + '_' + axisIndex];\n },\n\n /**\n * @param {string} dimName\n * @param {number} axisIndex\n * @return {module:echarts/model/Model} If not found, return null/undefined.\n */\n getAxisModel: function (dimName, axisIndex) {\n var axisProxy = this.getAxisProxy(dimName, axisIndex);\n return axisProxy && axisProxy.getAxisModel();\n },\n\n /**\n * If not specified, set to undefined.\n *\n * @public\n * @param {Object} opt\n * @param {number} [opt.start]\n * @param {number} [opt.end]\n * @param {number} [opt.startValue]\n * @param {number} [opt.endValue]\n * @param {boolean} [ignoreUpdateRangeUsg=false]\n */\n setRawRange: function (opt, ignoreUpdateRangeUsg) {\n var option = this.option;\n each([['start', 'startValue'], ['end', 'endValue']], function (names) {\n // If only one of 'start' and 'startValue' is not null/undefined, the other\n // should be cleared, which enable clear the option.\n // If both of them are not set, keep option with the original value, which\n // enable use only set start but not set end when calling `dispatchAction`.\n // The same as 'end' and 'endValue'.\n if (opt[names[0]] != null || opt[names[1]] != null) {\n option[names[0]] = opt[names[0]];\n option[names[1]] = opt[names[1]];\n }\n }, this);\n !ignoreUpdateRangeUsg && updateRangeUse(this, opt);\n },\n\n /**\n * @public\n * @return {Array.} [startPercent, endPercent]\n */\n getPercentRange: function () {\n var axisProxy = this.findRepresentativeAxisProxy();\n\n if (axisProxy) {\n return axisProxy.getDataPercentWindow();\n }\n },\n\n /**\n * @public\n * For example, chart.getModel().getComponent('dataZoom').getValueRange('y', 0);\n *\n * @param {string} [axisDimName]\n * @param {number} [axisIndex]\n * @return {Array.} [startValue, endValue] value can only be '-' or finite number.\n */\n getValueRange: function (axisDimName, axisIndex) {\n if (axisDimName == null && axisIndex == null) {\n var axisProxy = this.findRepresentativeAxisProxy();\n\n if (axisProxy) {\n return axisProxy.getDataValueWindow();\n }\n } else {\n return this.getAxisProxy(axisDimName, axisIndex).getDataValueWindow();\n }\n },\n\n /**\n * @public\n * @param {module:echarts/model/Model} [axisModel] If axisModel given, find axisProxy\n * corresponding to the axisModel\n * @return {module:echarts/component/dataZoom/AxisProxy}\n */\n findRepresentativeAxisProxy: function (axisModel) {\n if (axisModel) {\n return axisModel.__dzAxisProxy;\n } // Find the first hosted axisProxy\n\n\n var axisProxies = this._axisProxies;\n\n for (var key in axisProxies) {\n if (axisProxies.hasOwnProperty(key) && axisProxies[key].hostedBy(this)) {\n return axisProxies[key];\n }\n } // If no hosted axis find not hosted axisProxy.\n // Consider this case: dataZoomModel1 and dataZoomModel2 control the same axis,\n // and the option.start or option.end settings are different. The percentRange\n // should follow axisProxy.\n // (We encounter this problem in toolbox data zoom.)\n\n\n for (var key in axisProxies) {\n if (axisProxies.hasOwnProperty(key) && !axisProxies[key].hostedBy(this)) {\n return axisProxies[key];\n }\n }\n },\n\n /**\n * @return {Array.}\n */\n getRangePropMode: function () {\n return this._rangePropMode.slice();\n }\n});\n\nfunction retrieveRaw(option) {\n var ret = {};\n each(['start', 'end', 'startValue', 'endValue', 'throttle'], function (name) {\n option.hasOwnProperty(name) && (ret[name] = option[name]);\n });\n return ret;\n}\n\nfunction updateRangeUse(dataZoomModel, rawOption) {\n var rangePropMode = dataZoomModel._rangePropMode;\n var rangeModeInOption = dataZoomModel.get('rangeMode');\n each([['start', 'startValue'], ['end', 'endValue']], function (names, index) {\n var percentSpecified = rawOption[names[0]] != null;\n var valueSpecified = rawOption[names[1]] != null;\n\n if (percentSpecified && !valueSpecified) {\n rangePropMode[index] = 'percent';\n } else if (!percentSpecified && valueSpecified) {\n rangePropMode[index] = 'value';\n } else if (rangeModeInOption) {\n rangePropMode[index] = rangeModeInOption[index];\n } else if (percentSpecified) {\n // percentSpecified && valueSpecified\n rangePropMode[index] = 'percent';\n } // else remain its original setting.\n\n });\n}\n\nvar _default = DataZoomModel;\nmodule.exports = _default;","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function(key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function(key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n if (!sourceAndTargetTypesMatch) {\n return cloneIfNecessary(source, optionsArgument)\n } else if (sourceIsArray) {\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n return arrayMerge(target, source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar LinearGradient = require(\"zrender/lib/graphic/LinearGradient\");\n\nvar eventTool = require(\"zrender/lib/core/event\");\n\nvar VisualMapView = require(\"./VisualMapView\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar sliderMove = require(\"../helper/sliderMove\");\n\nvar helper = require(\"./helper\");\n\nvar modelUtil = require(\"../../util/model\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar linearMap = numberUtil.linearMap;\nvar each = zrUtil.each;\nvar mathMin = Math.min;\nvar mathMax = Math.max; // Arbitrary value\n\nvar HOVER_LINK_SIZE = 12;\nvar HOVER_LINK_OUT = 6; // Notice:\n// Any \"interval\" should be by the order of [low, high].\n// \"handle0\" (handleIndex === 0) maps to\n// low data value: this._dataInterval[0] and has low coord.\n// \"handle1\" (handleIndex === 1) maps to\n// high data value: this._dataInterval[1] and has high coord.\n// The logic of transform is implemented in this._createBarGroup.\n\nvar ContinuousView = VisualMapView.extend({\n type: 'visualMap.continuous',\n\n /**\n * @override\n */\n init: function () {\n ContinuousView.superApply(this, 'init', arguments);\n /**\n * @private\n */\n\n this._shapes = {};\n /**\n * @private\n */\n\n this._dataInterval = [];\n /**\n * @private\n */\n\n this._handleEnds = [];\n /**\n * @private\n */\n\n this._orient;\n /**\n * @private\n */\n\n this._useHandle;\n /**\n * @private\n */\n\n this._hoverLinkDataIndices = [];\n /**\n * @private\n */\n\n this._dragging;\n /**\n * @private\n */\n\n this._hovering;\n },\n\n /**\n * @protected\n * @override\n */\n doRender: function (visualMapModel, ecModel, api, payload) {\n if (!payload || payload.type !== 'selectDataRange' || payload.from !== this.uid) {\n this._buildView();\n }\n },\n\n /**\n * @private\n */\n _buildView: function () {\n this.group.removeAll();\n var visualMapModel = this.visualMapModel;\n var thisGroup = this.group;\n this._orient = visualMapModel.get('orient');\n this._useHandle = visualMapModel.get('calculable');\n\n this._resetInterval();\n\n this._renderBar(thisGroup);\n\n var dataRangeText = visualMapModel.get('text');\n\n this._renderEndsText(thisGroup, dataRangeText, 0);\n\n this._renderEndsText(thisGroup, dataRangeText, 1); // Do this for background size calculation.\n\n\n this._updateView(true); // After updating view, inner shapes is built completely,\n // and then background can be rendered.\n\n\n this.renderBackground(thisGroup); // Real update view\n\n this._updateView();\n\n this._enableHoverLinkToSeries();\n\n this._enableHoverLinkFromSeries();\n\n this.positionGroup(thisGroup);\n },\n\n /**\n * @private\n */\n _renderEndsText: function (group, dataRangeText, endsIndex) {\n if (!dataRangeText) {\n return;\n } // Compatible with ec2, text[0] map to high value, text[1] map low value.\n\n\n var text = dataRangeText[1 - endsIndex];\n text = text != null ? text + '' : '';\n var visualMapModel = this.visualMapModel;\n var textGap = visualMapModel.get('textGap');\n var itemSize = visualMapModel.itemSize;\n var barGroup = this._shapes.barGroup;\n\n var position = this._applyTransform([itemSize[0] / 2, endsIndex === 0 ? -textGap : itemSize[1] + textGap], barGroup);\n\n var align = this._applyTransform(endsIndex === 0 ? 'bottom' : 'top', barGroup);\n\n var orient = this._orient;\n var textStyleModel = this.visualMapModel.textStyleModel;\n this.group.add(new graphic.Text({\n style: {\n x: position[0],\n y: position[1],\n textVerticalAlign: orient === 'horizontal' ? 'middle' : align,\n textAlign: orient === 'horizontal' ? align : 'center',\n text: text,\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n }));\n },\n\n /**\n * @private\n */\n _renderBar: function (targetGroup) {\n var visualMapModel = this.visualMapModel;\n var shapes = this._shapes;\n var itemSize = visualMapModel.itemSize;\n var orient = this._orient;\n var useHandle = this._useHandle;\n var itemAlign = helper.getItemAlign(visualMapModel, this.api, itemSize);\n\n var barGroup = shapes.barGroup = this._createBarGroup(itemAlign); // Bar\n\n\n barGroup.add(shapes.outOfRange = createPolygon());\n barGroup.add(shapes.inRange = createPolygon(null, useHandle ? getCursor(this._orient) : null, zrUtil.bind(this._dragHandle, this, 'all', false), zrUtil.bind(this._dragHandle, this, 'all', true)));\n var textRect = visualMapModel.textStyleModel.getTextRect('国');\n var textSize = mathMax(textRect.width, textRect.height); // Handle\n\n if (useHandle) {\n shapes.handleThumbs = [];\n shapes.handleLabels = [];\n shapes.handleLabelPoints = [];\n\n this._createHandle(barGroup, 0, itemSize, textSize, orient, itemAlign);\n\n this._createHandle(barGroup, 1, itemSize, textSize, orient, itemAlign);\n }\n\n this._createIndicator(barGroup, itemSize, textSize, orient);\n\n targetGroup.add(barGroup);\n },\n\n /**\n * @private\n */\n _createHandle: function (barGroup, handleIndex, itemSize, textSize, orient) {\n var onDrift = zrUtil.bind(this._dragHandle, this, handleIndex, false);\n var onDragEnd = zrUtil.bind(this._dragHandle, this, handleIndex, true);\n var handleThumb = createPolygon(createHandlePoints(handleIndex, textSize), getCursor(this._orient), onDrift, onDragEnd);\n handleThumb.position[0] = itemSize[0];\n barGroup.add(handleThumb); // Text is always horizontal layout but should not be effected by\n // transform (orient/inverse). So label is built separately but not\n // use zrender/graphic/helper/RectText, and is located based on view\n // group (according to handleLabelPoint) but not barGroup.\n\n var textStyleModel = this.visualMapModel.textStyleModel;\n var handleLabel = new graphic.Text({\n draggable: true,\n drift: onDrift,\n onmousemove: function (e) {\n // Fot mobile devicem, prevent screen slider on the button.\n eventTool.stop(e.event);\n },\n ondragend: onDragEnd,\n style: {\n x: 0,\n y: 0,\n text: '',\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n });\n this.group.add(handleLabel);\n var handleLabelPoint = [orient === 'horizontal' ? textSize / 2 : textSize * 1.5, orient === 'horizontal' ? handleIndex === 0 ? -(textSize * 1.5) : textSize * 1.5 : handleIndex === 0 ? -textSize / 2 : textSize / 2];\n var shapes = this._shapes;\n shapes.handleThumbs[handleIndex] = handleThumb;\n shapes.handleLabelPoints[handleIndex] = handleLabelPoint;\n shapes.handleLabels[handleIndex] = handleLabel;\n },\n\n /**\n * @private\n */\n _createIndicator: function (barGroup, itemSize, textSize, orient) {\n var indicator = createPolygon([[0, 0]], 'move');\n indicator.position[0] = itemSize[0];\n indicator.attr({\n invisible: true,\n silent: true\n });\n barGroup.add(indicator);\n var textStyleModel = this.visualMapModel.textStyleModel;\n var indicatorLabel = new graphic.Text({\n silent: true,\n invisible: true,\n style: {\n x: 0,\n y: 0,\n text: '',\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n });\n this.group.add(indicatorLabel);\n var indicatorLabelPoint = [orient === 'horizontal' ? textSize / 2 : HOVER_LINK_OUT + 3, 0];\n var shapes = this._shapes;\n shapes.indicator = indicator;\n shapes.indicatorLabel = indicatorLabel;\n shapes.indicatorLabelPoint = indicatorLabelPoint;\n },\n\n /**\n * @private\n */\n _dragHandle: function (handleIndex, isEnd, dx, dy) {\n if (!this._useHandle) {\n return;\n }\n\n this._dragging = !isEnd;\n\n if (!isEnd) {\n // Transform dx, dy to bar coordination.\n var vertex = this._applyTransform([dx, dy], this._shapes.barGroup, true);\n\n this._updateInterval(handleIndex, vertex[1]); // Considering realtime, update view should be executed\n // before dispatch action.\n\n\n this._updateView();\n } // dragEnd do not dispatch action when realtime.\n\n\n if (isEnd === !this.visualMapModel.get('realtime')) {\n // jshint ignore:line\n this.api.dispatchAction({\n type: 'selectDataRange',\n from: this.uid,\n visualMapId: this.visualMapModel.id,\n selected: this._dataInterval.slice()\n });\n }\n\n if (isEnd) {\n !this._hovering && this._clearHoverLinkToSeries();\n } else if (useHoverLinkOnHandle(this.visualMapModel)) {\n this._doHoverLinkToSeries(this._handleEnds[handleIndex], false);\n }\n },\n\n /**\n * @private\n */\n _resetInterval: function () {\n var visualMapModel = this.visualMapModel;\n var dataInterval = this._dataInterval = visualMapModel.getSelected();\n var dataExtent = visualMapModel.getExtent();\n var sizeExtent = [0, visualMapModel.itemSize[1]];\n this._handleEnds = [linearMap(dataInterval[0], dataExtent, sizeExtent, true), linearMap(dataInterval[1], dataExtent, sizeExtent, true)];\n },\n\n /**\n * @private\n * @param {(number|string)} handleIndex 0 or 1 or 'all'\n * @param {number} dx\n * @param {number} dy\n */\n _updateInterval: function (handleIndex, delta) {\n delta = delta || 0;\n var visualMapModel = this.visualMapModel;\n var handleEnds = this._handleEnds;\n var sizeExtent = [0, visualMapModel.itemSize[1]];\n sliderMove(delta, handleEnds, sizeExtent, handleIndex, // cross is forbiden\n 0);\n var dataExtent = visualMapModel.getExtent(); // Update data interval.\n\n this._dataInterval = [linearMap(handleEnds[0], sizeExtent, dataExtent, true), linearMap(handleEnds[1], sizeExtent, dataExtent, true)];\n },\n\n /**\n * @private\n */\n _updateView: function (forSketch) {\n var visualMapModel = this.visualMapModel;\n var dataExtent = visualMapModel.getExtent();\n var shapes = this._shapes;\n var outOfRangeHandleEnds = [0, visualMapModel.itemSize[1]];\n var inRangeHandleEnds = forSketch ? outOfRangeHandleEnds : this._handleEnds;\n\n var visualInRange = this._createBarVisual(this._dataInterval, dataExtent, inRangeHandleEnds, 'inRange');\n\n var visualOutOfRange = this._createBarVisual(dataExtent, dataExtent, outOfRangeHandleEnds, 'outOfRange');\n\n shapes.inRange.setStyle({\n fill: visualInRange.barColor,\n opacity: visualInRange.opacity\n }).setShape('points', visualInRange.barPoints);\n shapes.outOfRange.setStyle({\n fill: visualOutOfRange.barColor,\n opacity: visualOutOfRange.opacity\n }).setShape('points', visualOutOfRange.barPoints);\n\n this._updateHandle(inRangeHandleEnds, visualInRange);\n },\n\n /**\n * @private\n */\n _createBarVisual: function (dataInterval, dataExtent, handleEnds, forceState) {\n var opts = {\n forceState: forceState,\n convertOpacityToAlpha: true\n };\n\n var colorStops = this._makeColorGradient(dataInterval, opts);\n\n var symbolSizes = [this.getControllerVisual(dataInterval[0], 'symbolSize', opts), this.getControllerVisual(dataInterval[1], 'symbolSize', opts)];\n\n var barPoints = this._createBarPoints(handleEnds, symbolSizes);\n\n return {\n barColor: new LinearGradient(0, 0, 0, 1, colorStops),\n barPoints: barPoints,\n handlesColor: [colorStops[0].color, colorStops[colorStops.length - 1].color]\n };\n },\n\n /**\n * @private\n */\n _makeColorGradient: function (dataInterval, opts) {\n // Considering colorHue, which is not linear, so we have to sample\n // to calculate gradient color stops, but not only caculate head\n // and tail.\n var sampleNumber = 100; // Arbitrary value.\n\n var colorStops = [];\n var step = (dataInterval[1] - dataInterval[0]) / sampleNumber;\n colorStops.push({\n color: this.getControllerVisual(dataInterval[0], 'color', opts),\n offset: 0\n });\n\n for (var i = 1; i < sampleNumber; i++) {\n var currValue = dataInterval[0] + step * i;\n\n if (currValue > dataInterval[1]) {\n break;\n }\n\n colorStops.push({\n color: this.getControllerVisual(currValue, 'color', opts),\n offset: i / sampleNumber\n });\n }\n\n colorStops.push({\n color: this.getControllerVisual(dataInterval[1], 'color', opts),\n offset: 1\n });\n return colorStops;\n },\n\n /**\n * @private\n */\n _createBarPoints: function (handleEnds, symbolSizes) {\n var itemSize = this.visualMapModel.itemSize;\n return [[itemSize[0] - symbolSizes[0], handleEnds[0]], [itemSize[0], handleEnds[0]], [itemSize[0], handleEnds[1]], [itemSize[0] - symbolSizes[1], handleEnds[1]]];\n },\n\n /**\n * @private\n */\n _createBarGroup: function (itemAlign) {\n var orient = this._orient;\n var inverse = this.visualMapModel.get('inverse');\n return new graphic.Group(orient === 'horizontal' && !inverse ? {\n scale: itemAlign === 'bottom' ? [1, 1] : [-1, 1],\n rotation: Math.PI / 2\n } : orient === 'horizontal' && inverse ? {\n scale: itemAlign === 'bottom' ? [-1, 1] : [1, 1],\n rotation: -Math.PI / 2\n } : orient === 'vertical' && !inverse ? {\n scale: itemAlign === 'left' ? [1, -1] : [-1, -1]\n } : {\n scale: itemAlign === 'left' ? [1, 1] : [-1, 1]\n });\n },\n\n /**\n * @private\n */\n _updateHandle: function (handleEnds, visualInRange) {\n if (!this._useHandle) {\n return;\n }\n\n var shapes = this._shapes;\n var visualMapModel = this.visualMapModel;\n var handleThumbs = shapes.handleThumbs;\n var handleLabels = shapes.handleLabels;\n each([0, 1], function (handleIndex) {\n var handleThumb = handleThumbs[handleIndex];\n handleThumb.setStyle('fill', visualInRange.handlesColor[handleIndex]);\n handleThumb.position[1] = handleEnds[handleIndex]; // Update handle label position.\n\n var textPoint = graphic.applyTransform(shapes.handleLabelPoints[handleIndex], graphic.getTransform(handleThumb, this.group));\n handleLabels[handleIndex].setStyle({\n x: textPoint[0],\n y: textPoint[1],\n text: visualMapModel.formatValueText(this._dataInterval[handleIndex]),\n textVerticalAlign: 'middle',\n textAlign: this._applyTransform(this._orient === 'horizontal' ? handleIndex === 0 ? 'bottom' : 'top' : 'left', shapes.barGroup)\n });\n }, this);\n },\n\n /**\n * @private\n * @param {number} cursorValue\n * @param {number} textValue\n * @param {string} [rangeSymbol]\n * @param {number} [halfHoverLinkSize]\n */\n _showIndicator: function (cursorValue, textValue, rangeSymbol, halfHoverLinkSize) {\n var visualMapModel = this.visualMapModel;\n var dataExtent = visualMapModel.getExtent();\n var itemSize = visualMapModel.itemSize;\n var sizeExtent = [0, itemSize[1]];\n var pos = linearMap(cursorValue, dataExtent, sizeExtent, true);\n var shapes = this._shapes;\n var indicator = shapes.indicator;\n\n if (!indicator) {\n return;\n }\n\n indicator.position[1] = pos;\n indicator.attr('invisible', false);\n indicator.setShape('points', createIndicatorPoints(!!rangeSymbol, halfHoverLinkSize, pos, itemSize[1]));\n var opts = {\n convertOpacityToAlpha: true\n };\n var color = this.getControllerVisual(cursorValue, 'color', opts);\n indicator.setStyle('fill', color); // Update handle label position.\n\n var textPoint = graphic.applyTransform(shapes.indicatorLabelPoint, graphic.getTransform(indicator, this.group));\n var indicatorLabel = shapes.indicatorLabel;\n indicatorLabel.attr('invisible', false);\n\n var align = this._applyTransform('left', shapes.barGroup);\n\n var orient = this._orient;\n indicatorLabel.setStyle({\n text: (rangeSymbol ? rangeSymbol : '') + visualMapModel.formatValueText(textValue),\n textVerticalAlign: orient === 'horizontal' ? align : 'middle',\n textAlign: orient === 'horizontal' ? 'center' : align,\n x: textPoint[0],\n y: textPoint[1]\n });\n },\n\n /**\n * @private\n */\n _enableHoverLinkToSeries: function () {\n var self = this;\n\n this._shapes.barGroup.on('mousemove', function (e) {\n self._hovering = true;\n\n if (!self._dragging) {\n var itemSize = self.visualMapModel.itemSize;\n\n var pos = self._applyTransform([e.offsetX, e.offsetY], self._shapes.barGroup, true, true); // For hover link show when hover handle, which might be\n // below or upper than sizeExtent.\n\n\n pos[1] = mathMin(mathMax(0, pos[1]), itemSize[1]);\n\n self._doHoverLinkToSeries(pos[1], 0 <= pos[0] && pos[0] <= itemSize[0]);\n }\n }).on('mouseout', function () {\n // When mouse is out of handle, hoverLink still need\n // to be displayed when realtime is set as false.\n self._hovering = false;\n !self._dragging && self._clearHoverLinkToSeries();\n });\n },\n\n /**\n * @private\n */\n _enableHoverLinkFromSeries: function () {\n var zr = this.api.getZr();\n\n if (this.visualMapModel.option.hoverLink) {\n zr.on('mouseover', this._hoverLinkFromSeriesMouseOver, this);\n zr.on('mouseout', this._hideIndicator, this);\n } else {\n this._clearHoverLinkFromSeries();\n }\n },\n\n /**\n * @private\n */\n _doHoverLinkToSeries: function (cursorPos, hoverOnBar) {\n var visualMapModel = this.visualMapModel;\n var itemSize = visualMapModel.itemSize;\n\n if (!visualMapModel.option.hoverLink) {\n return;\n }\n\n var sizeExtent = [0, itemSize[1]];\n var dataExtent = visualMapModel.getExtent(); // For hover link show when hover handle, which might be below or upper than sizeExtent.\n\n cursorPos = mathMin(mathMax(sizeExtent[0], cursorPos), sizeExtent[1]);\n var halfHoverLinkSize = getHalfHoverLinkSize(visualMapModel, dataExtent, sizeExtent);\n var hoverRange = [cursorPos - halfHoverLinkSize, cursorPos + halfHoverLinkSize];\n var cursorValue = linearMap(cursorPos, sizeExtent, dataExtent, true);\n var valueRange = [linearMap(hoverRange[0], sizeExtent, dataExtent, true), linearMap(hoverRange[1], sizeExtent, dataExtent, true)]; // Consider data range is out of visualMap range, see test/visualMap-continuous.html,\n // where china and india has very large population.\n\n hoverRange[0] < sizeExtent[0] && (valueRange[0] = -Infinity);\n hoverRange[1] > sizeExtent[1] && (valueRange[1] = Infinity); // Do not show indicator when mouse is over handle,\n // otherwise labels overlap, especially when dragging.\n\n if (hoverOnBar) {\n if (valueRange[0] === -Infinity) {\n this._showIndicator(cursorValue, valueRange[1], '< ', halfHoverLinkSize);\n } else if (valueRange[1] === Infinity) {\n this._showIndicator(cursorValue, valueRange[0], '> ', halfHoverLinkSize);\n } else {\n this._showIndicator(cursorValue, cursorValue, '≈ ', halfHoverLinkSize);\n }\n } // When realtime is set as false, handles, which are in barGroup,\n // also trigger hoverLink, which help user to realize where they\n // focus on when dragging. (see test/heatmap-large.html)\n // When realtime is set as true, highlight will not show when hover\n // handle, because the label on handle, which displays a exact value\n // but not range, might mislead users.\n\n\n var oldBatch = this._hoverLinkDataIndices;\n var newBatch = [];\n\n if (hoverOnBar || useHoverLinkOnHandle(visualMapModel)) {\n newBatch = this._hoverLinkDataIndices = visualMapModel.findTargetDataIndices(valueRange);\n }\n\n var resultBatches = modelUtil.compressBatches(oldBatch, newBatch);\n\n this._dispatchHighDown('downplay', helper.convertDataIndex(resultBatches[0]));\n\n this._dispatchHighDown('highlight', helper.convertDataIndex(resultBatches[1]));\n },\n\n /**\n * @private\n */\n _hoverLinkFromSeriesMouseOver: function (e) {\n var el = e.target;\n var visualMapModel = this.visualMapModel;\n\n if (!el || el.dataIndex == null) {\n return;\n }\n\n var dataModel = this.ecModel.getSeriesByIndex(el.seriesIndex);\n\n if (!visualMapModel.isTargetSeries(dataModel)) {\n return;\n }\n\n var data = dataModel.getData(el.dataType);\n var value = data.get(visualMapModel.getDataDimension(data), el.dataIndex, true);\n\n if (!isNaN(value)) {\n this._showIndicator(value, value);\n }\n },\n\n /**\n * @private\n */\n _hideIndicator: function () {\n var shapes = this._shapes;\n shapes.indicator && shapes.indicator.attr('invisible', true);\n shapes.indicatorLabel && shapes.indicatorLabel.attr('invisible', true);\n },\n\n /**\n * @private\n */\n _clearHoverLinkToSeries: function () {\n this._hideIndicator();\n\n var indices = this._hoverLinkDataIndices;\n\n this._dispatchHighDown('downplay', helper.convertDataIndex(indices));\n\n indices.length = 0;\n },\n\n /**\n * @private\n */\n _clearHoverLinkFromSeries: function () {\n this._hideIndicator();\n\n var zr = this.api.getZr();\n zr.off('mouseover', this._hoverLinkFromSeriesMouseOver);\n zr.off('mouseout', this._hideIndicator);\n },\n\n /**\n * @private\n */\n _applyTransform: function (vertex, element, inverse, global) {\n var transform = graphic.getTransform(element, global ? null : this.group);\n return graphic[zrUtil.isArray(vertex) ? 'applyTransform' : 'transformDirection'](vertex, transform, inverse);\n },\n\n /**\n * @private\n */\n _dispatchHighDown: function (type, batch) {\n batch && batch.length && this.api.dispatchAction({\n type: type,\n batch: batch\n });\n },\n\n /**\n * @override\n */\n dispose: function () {\n this._clearHoverLinkFromSeries();\n\n this._clearHoverLinkToSeries();\n },\n\n /**\n * @override\n */\n remove: function () {\n this._clearHoverLinkFromSeries();\n\n this._clearHoverLinkToSeries();\n }\n});\n\nfunction createPolygon(points, cursor, onDrift, onDragEnd) {\n return new graphic.Polygon({\n shape: {\n points: points\n },\n draggable: !!onDrift,\n cursor: cursor,\n drift: onDrift,\n onmousemove: function (e) {\n // Fot mobile devicem, prevent screen slider on the button.\n eventTool.stop(e.event);\n },\n ondragend: onDragEnd\n });\n}\n\nfunction createHandlePoints(handleIndex, textSize) {\n return handleIndex === 0 ? [[0, 0], [textSize, 0], [textSize, -textSize]] : [[0, 0], [textSize, 0], [textSize, textSize]];\n}\n\nfunction createIndicatorPoints(isRange, halfHoverLinkSize, pos, extentMax) {\n return isRange ? [// indicate range\n [0, -mathMin(halfHoverLinkSize, mathMax(pos, 0))], [HOVER_LINK_OUT, 0], [0, mathMin(halfHoverLinkSize, mathMax(extentMax - pos, 0))]] : [// indicate single value\n [0, 0], [5, -5], [5, 5]];\n}\n\nfunction getHalfHoverLinkSize(visualMapModel, dataExtent, sizeExtent) {\n var halfHoverLinkSize = HOVER_LINK_SIZE / 2;\n var hoverLinkDataSize = visualMapModel.get('hoverLinkDataSize');\n\n if (hoverLinkDataSize) {\n halfHoverLinkSize = linearMap(hoverLinkDataSize, dataExtent, sizeExtent, true) / 2;\n }\n\n return halfHoverLinkSize;\n}\n\nfunction useHoverLinkOnHandle(visualMapModel) {\n var hoverLinkOnHandle = visualMapModel.get('hoverLinkOnHandle');\n return !!(hoverLinkOnHandle == null ? visualMapModel.get('realtime') : hoverLinkOnHandle);\n}\n\nfunction getCursor(orient) {\n return orient === 'vertical' ? 'ns-resize' : 'ew-resize';\n}\n\nvar _default = ContinuousView;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"./config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrender = require(\"zrender/lib/zrender\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar colorTool = require(\"zrender/lib/tool/color\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar timsort = require(\"zrender/lib/core/timsort\");\n\nvar Eventful = require(\"zrender/lib/mixin/Eventful\");\n\nvar GlobalModel = require(\"./model/Global\");\n\nvar ExtensionAPI = require(\"./ExtensionAPI\");\n\nvar CoordinateSystemManager = require(\"./CoordinateSystem\");\n\nvar OptionManager = require(\"./model/OptionManager\");\n\nvar backwardCompat = require(\"./preprocessor/backwardCompat\");\n\nvar dataStack = require(\"./processor/dataStack\");\n\nvar ComponentModel = require(\"./model/Component\");\n\nvar SeriesModel = require(\"./model/Series\");\n\nvar ComponentView = require(\"./view/Component\");\n\nvar ChartView = require(\"./view/Chart\");\n\nvar graphic = require(\"./util/graphic\");\n\nvar modelUtil = require(\"./util/model\");\n\nvar _throttle = require(\"./util/throttle\");\n\nvar throttle = _throttle.throttle;\n\nvar seriesColor = require(\"./visual/seriesColor\");\n\nvar aria = require(\"./visual/aria\");\n\nvar loadingDefault = require(\"./loading/default\");\n\nvar Scheduler = require(\"./stream/Scheduler\");\n\nvar lightTheme = require(\"./theme/light\");\n\nvar darkTheme = require(\"./theme/dark\");\n\nrequire(\"./component/dataset\");\n\nvar mapDataStorage = require(\"./coord/geo/mapDataStorage\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar assert = zrUtil.assert;\nvar each = zrUtil.each;\nvar isFunction = zrUtil.isFunction;\nvar isObject = zrUtil.isObject;\nvar parseClassType = ComponentModel.parseClassType;\nvar version = '4.2.1';\nvar dependencies = {\n zrender: '4.0.6'\n};\nvar TEST_FRAME_REMAIN_TIME = 1;\nvar PRIORITY_PROCESSOR_FILTER = 1000;\nvar PRIORITY_PROCESSOR_STATISTIC = 5000;\nvar PRIORITY_VISUAL_LAYOUT = 1000;\nvar PRIORITY_VISUAL_GLOBAL = 2000;\nvar PRIORITY_VISUAL_CHART = 3000;\nvar PRIORITY_VISUAL_COMPONENT = 4000; // FIXME\n// necessary?\n\nvar PRIORITY_VISUAL_BRUSH = 5000;\nvar PRIORITY = {\n PROCESSOR: {\n FILTER: PRIORITY_PROCESSOR_FILTER,\n STATISTIC: PRIORITY_PROCESSOR_STATISTIC\n },\n VISUAL: {\n LAYOUT: PRIORITY_VISUAL_LAYOUT,\n GLOBAL: PRIORITY_VISUAL_GLOBAL,\n CHART: PRIORITY_VISUAL_CHART,\n COMPONENT: PRIORITY_VISUAL_COMPONENT,\n BRUSH: PRIORITY_VISUAL_BRUSH\n }\n}; // Main process have three entries: `setOption`, `dispatchAction` and `resize`,\n// where they must not be invoked nestedly, except the only case: invoke\n// dispatchAction with updateMethod \"none\" in main process.\n// This flag is used to carry out this rule.\n// All events will be triggered out side main process (i.e. when !this[IN_MAIN_PROCESS]).\n\nvar IN_MAIN_PROCESS = '__flagInMainProcess';\nvar OPTION_UPDATED = '__optionUpdated';\nvar ACTION_REG = /^[a-zA-Z0-9_]+$/;\n\nfunction createRegisterEventWithLowercaseName(method) {\n return function (eventName, handler, context) {\n // Event name is all lowercase\n eventName = eventName && eventName.toLowerCase();\n Eventful.prototype[method].call(this, eventName, handler, context);\n };\n}\n/**\n * @module echarts~MessageCenter\n */\n\n\nfunction MessageCenter() {\n Eventful.call(this);\n}\n\nMessageCenter.prototype.on = createRegisterEventWithLowercaseName('on');\nMessageCenter.prototype.off = createRegisterEventWithLowercaseName('off');\nMessageCenter.prototype.one = createRegisterEventWithLowercaseName('one');\nzrUtil.mixin(MessageCenter, Eventful);\n/**\n * @module echarts~ECharts\n */\n\nfunction ECharts(dom, theme, opts) {\n opts = opts || {}; // Get theme by name\n\n if (typeof theme === 'string') {\n theme = themeStorage[theme];\n }\n /**\n * @type {string}\n */\n\n\n this.id;\n /**\n * Group id\n * @type {string}\n */\n\n this.group;\n /**\n * @type {HTMLElement}\n * @private\n */\n\n this._dom = dom;\n var defaultRenderer = 'canvas';\n\n /**\n * @type {module:zrender/ZRender}\n * @private\n */\n var zr = this._zr = zrender.init(dom, {\n renderer: opts.renderer || defaultRenderer,\n devicePixelRatio: opts.devicePixelRatio,\n width: opts.width,\n height: opts.height\n });\n /**\n * Expect 60 pfs.\n * @type {Function}\n * @private\n */\n\n this._throttledZrFlush = throttle(zrUtil.bind(zr.flush, zr), 17);\n var theme = zrUtil.clone(theme);\n theme && backwardCompat(theme, true);\n /**\n * @type {Object}\n * @private\n */\n\n this._theme = theme;\n /**\n * @type {Array.}\n * @private\n */\n\n this._chartsViews = [];\n /**\n * @type {Object.}\n * @private\n */\n\n this._chartsMap = {};\n /**\n * @type {Array.}\n * @private\n */\n\n this._componentsViews = [];\n /**\n * @type {Object.}\n * @private\n */\n\n this._componentsMap = {};\n /**\n * @type {module:echarts/CoordinateSystem}\n * @private\n */\n\n this._coordSysMgr = new CoordinateSystemManager();\n /**\n * @type {module:echarts/ExtensionAPI}\n * @private\n */\n\n var api = this._api = createExtensionAPI(this); // Sort on demand\n\n function prioritySortFunc(a, b) {\n return a.__prio - b.__prio;\n }\n\n timsort(visualFuncs, prioritySortFunc);\n timsort(dataProcessorFuncs, prioritySortFunc);\n /**\n * @type {module:echarts/stream/Scheduler}\n */\n\n this._scheduler = new Scheduler(this, api, dataProcessorFuncs, visualFuncs);\n Eventful.call(this, this._ecEventProcessor = new EventProcessor());\n /**\n * @type {module:echarts~MessageCenter}\n * @private\n */\n\n this._messageCenter = new MessageCenter(); // Init mouse events\n\n this._initEvents(); // In case some people write `window.onresize = chart.resize`\n\n\n this.resize = zrUtil.bind(this.resize, this); // Can't dispatch action during rendering procedure\n\n this._pendingActions = [];\n zr.animation.on('frame', this._onframe, this);\n bindRenderedEvent(zr, this); // ECharts instance can be used as value.\n\n zrUtil.setAsPrimitive(this);\n}\n\nvar echartsProto = ECharts.prototype;\n\nechartsProto._onframe = function () {\n if (this._disposed) {\n return;\n }\n\n var scheduler = this._scheduler; // Lazy update\n\n if (this[OPTION_UPDATED]) {\n var silent = this[OPTION_UPDATED].silent;\n this[IN_MAIN_PROCESS] = true;\n prepare(this);\n updateMethods.update.call(this);\n this[IN_MAIN_PROCESS] = false;\n this[OPTION_UPDATED] = false;\n flushPendingActions.call(this, silent);\n triggerUpdatedEvent.call(this, silent);\n } // Avoid do both lazy update and progress in one frame.\n else if (scheduler.unfinished) {\n // Stream progress.\n var remainTime = TEST_FRAME_REMAIN_TIME;\n var ecModel = this._model;\n var api = this._api;\n scheduler.unfinished = false;\n\n do {\n var startTime = +new Date();\n scheduler.performSeriesTasks(ecModel); // Currently dataProcessorFuncs do not check threshold.\n\n scheduler.performDataProcessorTasks(ecModel);\n updateStreamModes(this, ecModel); // Do not update coordinate system here. Because that coord system update in\n // each frame is not a good user experience. So we follow the rule that\n // the extent of the coordinate system is determin in the first frame (the\n // frame is executed immedietely after task reset.\n // this._coordSysMgr.update(ecModel, api);\n // console.log('--- ec frame visual ---', remainTime);\n\n scheduler.performVisualTasks(ecModel);\n renderSeries(this, this._model, api, 'remain');\n remainTime -= +new Date() - startTime;\n } while (remainTime > 0 && scheduler.unfinished); // Call flush explicitly for trigger finished event.\n\n\n if (!scheduler.unfinished) {\n this._zr.flush();\n } // Else, zr flushing be ensue within the same frame,\n // because zr flushing is after onframe event.\n\n }\n};\n/**\n * @return {HTMLElement}\n */\n\n\nechartsProto.getDom = function () {\n return this._dom;\n};\n/**\n * @return {module:zrender~ZRender}\n */\n\n\nechartsProto.getZr = function () {\n return this._zr;\n};\n/**\n * Usage:\n * chart.setOption(option, notMerge, lazyUpdate);\n * chart.setOption(option, {\n * notMerge: ...,\n * lazyUpdate: ...,\n * silent: ...\n * });\n *\n * @param {Object} option\n * @param {Object|boolean} [opts] opts or notMerge.\n * @param {boolean} [opts.notMerge=false]\n * @param {boolean} [opts.lazyUpdate=false] Useful when setOption frequently.\n */\n\n\nechartsProto.setOption = function (option, notMerge, lazyUpdate) {\n var silent;\n\n if (isObject(notMerge)) {\n lazyUpdate = notMerge.lazyUpdate;\n silent = notMerge.silent;\n notMerge = notMerge.notMerge;\n }\n\n this[IN_MAIN_PROCESS] = true;\n\n if (!this._model || notMerge) {\n var optionManager = new OptionManager(this._api);\n var theme = this._theme;\n var ecModel = this._model = new GlobalModel(null, null, theme, optionManager);\n ecModel.scheduler = this._scheduler;\n ecModel.init(null, null, theme, optionManager);\n }\n\n this._model.setOption(option, optionPreprocessorFuncs);\n\n if (lazyUpdate) {\n this[OPTION_UPDATED] = {\n silent: silent\n };\n this[IN_MAIN_PROCESS] = false;\n } else {\n prepare(this);\n updateMethods.update.call(this); // Ensure zr refresh sychronously, and then pixel in canvas can be\n // fetched after `setOption`.\n\n this._zr.flush();\n\n this[OPTION_UPDATED] = false;\n this[IN_MAIN_PROCESS] = false;\n flushPendingActions.call(this, silent);\n triggerUpdatedEvent.call(this, silent);\n }\n};\n/**\n * @DEPRECATED\n */\n\n\nechartsProto.setTheme = function () {\n console.error('ECharts#setTheme() is DEPRECATED in ECharts 3.0');\n};\n/**\n * @return {module:echarts/model/Global}\n */\n\n\nechartsProto.getModel = function () {\n return this._model;\n};\n/**\n * @return {Object}\n */\n\n\nechartsProto.getOption = function () {\n return this._model && this._model.getOption();\n};\n/**\n * @return {number}\n */\n\n\nechartsProto.getWidth = function () {\n return this._zr.getWidth();\n};\n/**\n * @return {number}\n */\n\n\nechartsProto.getHeight = function () {\n return this._zr.getHeight();\n};\n/**\n * @return {number}\n */\n\n\nechartsProto.getDevicePixelRatio = function () {\n return this._zr.painter.dpr || window.devicePixelRatio || 1;\n};\n/**\n * Get canvas which has all thing rendered\n * @param {Object} opts\n * @param {string} [opts.backgroundColor]\n * @return {string}\n */\n\n\nechartsProto.getRenderedCanvas = function (opts) {\n if (!env.canvasSupported) {\n return;\n }\n\n opts = opts || {};\n opts.pixelRatio = opts.pixelRatio || 1;\n opts.backgroundColor = opts.backgroundColor || this._model.get('backgroundColor');\n var zr = this._zr; // var list = zr.storage.getDisplayList();\n // Stop animations\n // Never works before in init animation, so remove it.\n // zrUtil.each(list, function (el) {\n // el.stopAnimation(true);\n // });\n\n return zr.painter.getRenderedCanvas(opts);\n};\n/**\n * Get svg data url\n * @return {string}\n */\n\n\nechartsProto.getSvgDataUrl = function () {\n if (!env.svgSupported) {\n return;\n }\n\n var zr = this._zr;\n var list = zr.storage.getDisplayList(); // Stop animations\n\n zrUtil.each(list, function (el) {\n el.stopAnimation(true);\n });\n return zr.painter.pathToDataUrl();\n};\n/**\n * @return {string}\n * @param {Object} opts\n * @param {string} [opts.type='png']\n * @param {string} [opts.pixelRatio=1]\n * @param {string} [opts.backgroundColor]\n * @param {string} [opts.excludeComponents]\n */\n\n\nechartsProto.getDataURL = function (opts) {\n opts = opts || {};\n var excludeComponents = opts.excludeComponents;\n var ecModel = this._model;\n var excludesComponentViews = [];\n var self = this;\n each(excludeComponents, function (componentType) {\n ecModel.eachComponent({\n mainType: componentType\n }, function (component) {\n var view = self._componentsMap[component.__viewId];\n\n if (!view.group.ignore) {\n excludesComponentViews.push(view);\n view.group.ignore = true;\n }\n });\n });\n var url = this._zr.painter.getType() === 'svg' ? this.getSvgDataUrl() : this.getRenderedCanvas(opts).toDataURL('image/' + (opts && opts.type || 'png'));\n each(excludesComponentViews, function (view) {\n view.group.ignore = false;\n });\n return url;\n};\n/**\n * @return {string}\n * @param {Object} opts\n * @param {string} [opts.type='png']\n * @param {string} [opts.pixelRatio=1]\n * @param {string} [opts.backgroundColor]\n */\n\n\nechartsProto.getConnectedDataURL = function (opts) {\n if (!env.canvasSupported) {\n return;\n }\n\n var groupId = this.group;\n var mathMin = Math.min;\n var mathMax = Math.max;\n var MAX_NUMBER = Infinity;\n\n if (connectedGroups[groupId]) {\n var left = MAX_NUMBER;\n var top = MAX_NUMBER;\n var right = -MAX_NUMBER;\n var bottom = -MAX_NUMBER;\n var canvasList = [];\n var dpr = opts && opts.pixelRatio || 1;\n zrUtil.each(instances, function (chart, id) {\n if (chart.group === groupId) {\n var canvas = chart.getRenderedCanvas(zrUtil.clone(opts));\n var boundingRect = chart.getDom().getBoundingClientRect();\n left = mathMin(boundingRect.left, left);\n top = mathMin(boundingRect.top, top);\n right = mathMax(boundingRect.right, right);\n bottom = mathMax(boundingRect.bottom, bottom);\n canvasList.push({\n dom: canvas,\n left: boundingRect.left,\n top: boundingRect.top\n });\n }\n });\n left *= dpr;\n top *= dpr;\n right *= dpr;\n bottom *= dpr;\n var width = right - left;\n var height = bottom - top;\n var targetCanvas = zrUtil.createCanvas();\n targetCanvas.width = width;\n targetCanvas.height = height;\n var zr = zrender.init(targetCanvas);\n each(canvasList, function (item) {\n var img = new graphic.Image({\n style: {\n x: item.left * dpr - left,\n y: item.top * dpr - top,\n image: item.dom\n }\n });\n zr.add(img);\n });\n zr.refreshImmediately();\n return targetCanvas.toDataURL('image/' + (opts && opts.type || 'png'));\n } else {\n return this.getDataURL(opts);\n }\n};\n/**\n * Convert from logical coordinate system to pixel coordinate system.\n * See CoordinateSystem#convertToPixel.\n * @param {string|Object} finder\n * If string, e.g., 'geo', means {geoIndex: 0}.\n * If Object, could contain some of these properties below:\n * {\n * seriesIndex / seriesId / seriesName,\n * geoIndex / geoId, geoName,\n * bmapIndex / bmapId / bmapName,\n * xAxisIndex / xAxisId / xAxisName,\n * yAxisIndex / yAxisId / yAxisName,\n * gridIndex / gridId / gridName,\n * ... (can be extended)\n * }\n * @param {Array|number} value\n * @return {Array|number} result\n */\n\n\nechartsProto.convertToPixel = zrUtil.curry(doConvertPixel, 'convertToPixel');\n/**\n * Convert from pixel coordinate system to logical coordinate system.\n * See CoordinateSystem#convertFromPixel.\n * @param {string|Object} finder\n * If string, e.g., 'geo', means {geoIndex: 0}.\n * If Object, could contain some of these properties below:\n * {\n * seriesIndex / seriesId / seriesName,\n * geoIndex / geoId / geoName,\n * bmapIndex / bmapId / bmapName,\n * xAxisIndex / xAxisId / xAxisName,\n * yAxisIndex / yAxisId / yAxisName\n * gridIndex / gridId / gridName,\n * ... (can be extended)\n * }\n * @param {Array|number} value\n * @return {Array|number} result\n */\n\nechartsProto.convertFromPixel = zrUtil.curry(doConvertPixel, 'convertFromPixel');\n\nfunction doConvertPixel(methodName, finder, value) {\n var ecModel = this._model;\n\n var coordSysList = this._coordSysMgr.getCoordinateSystems();\n\n var result;\n finder = modelUtil.parseFinder(ecModel, finder);\n\n for (var i = 0; i < coordSysList.length; i++) {\n var coordSys = coordSysList[i];\n\n if (coordSys[methodName] && (result = coordSys[methodName](ecModel, finder, value)) != null) {\n return result;\n }\n }\n}\n/**\n * Is the specified coordinate systems or components contain the given pixel point.\n * @param {string|Object} finder\n * If string, e.g., 'geo', means {geoIndex: 0}.\n * If Object, could contain some of these properties below:\n * {\n * seriesIndex / seriesId / seriesName,\n * geoIndex / geoId / geoName,\n * bmapIndex / bmapId / bmapName,\n * xAxisIndex / xAxisId / xAxisName,\n * yAxisIndex / yAxisId / yAxisName,\n * gridIndex / gridId / gridName,\n * ... (can be extended)\n * }\n * @param {Array|number} value\n * @return {boolean} result\n */\n\n\nechartsProto.containPixel = function (finder, value) {\n var ecModel = this._model;\n var result;\n finder = modelUtil.parseFinder(ecModel, finder);\n zrUtil.each(finder, function (models, key) {\n key.indexOf('Models') >= 0 && zrUtil.each(models, function (model) {\n var coordSys = model.coordinateSystem;\n\n if (coordSys && coordSys.containPoint) {\n result |= !!coordSys.containPoint(value);\n } else if (key === 'seriesModels') {\n var view = this._chartsMap[model.__viewId];\n\n if (view && view.containPoint) {\n result |= view.containPoint(value, model);\n } else {}\n } else {}\n }, this);\n }, this);\n return !!result;\n};\n/**\n * Get visual from series or data.\n * @param {string|Object} finder\n * If string, e.g., 'series', means {seriesIndex: 0}.\n * If Object, could contain some of these properties below:\n * {\n * seriesIndex / seriesId / seriesName,\n * dataIndex / dataIndexInside\n * }\n * If dataIndex is not specified, series visual will be fetched,\n * but not data item visual.\n * If all of seriesIndex, seriesId, seriesName are not specified,\n * visual will be fetched from first series.\n * @param {string} visualType 'color', 'symbol', 'symbolSize'\n */\n\n\nechartsProto.getVisual = function (finder, visualType) {\n var ecModel = this._model;\n finder = modelUtil.parseFinder(ecModel, finder, {\n defaultMainType: 'series'\n });\n var seriesModel = finder.seriesModel;\n var data = seriesModel.getData();\n var dataIndexInside = finder.hasOwnProperty('dataIndexInside') ? finder.dataIndexInside : finder.hasOwnProperty('dataIndex') ? data.indexOfRawIndex(finder.dataIndex) : null;\n return dataIndexInside != null ? data.getItemVisual(dataIndexInside, visualType) : data.getVisual(visualType);\n};\n/**\n * Get view of corresponding component model\n * @param {module:echarts/model/Component} componentModel\n * @return {module:echarts/view/Component}\n */\n\n\nechartsProto.getViewOfComponentModel = function (componentModel) {\n return this._componentsMap[componentModel.__viewId];\n};\n/**\n * Get view of corresponding series model\n * @param {module:echarts/model/Series} seriesModel\n * @return {module:echarts/view/Chart}\n */\n\n\nechartsProto.getViewOfSeriesModel = function (seriesModel) {\n return this._chartsMap[seriesModel.__viewId];\n};\n\nvar updateMethods = {\n prepareAndUpdate: function (payload) {\n prepare(this);\n updateMethods.update.call(this, payload);\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n update: function (payload) {\n // console.profile && console.profile('update');\n var ecModel = this._model;\n var api = this._api;\n var zr = this._zr;\n var coordSysMgr = this._coordSysMgr;\n var scheduler = this._scheduler; // update before setOption\n\n if (!ecModel) {\n return;\n }\n\n scheduler.restoreData(ecModel, payload);\n scheduler.performSeriesTasks(ecModel); // TODO\n // Save total ecModel here for undo/redo (after restoring data and before processing data).\n // Undo (restoration of total ecModel) can be carried out in 'action' or outside API call.\n // Create new coordinate system each update\n // In LineView may save the old coordinate system and use it to get the orignal point\n\n coordSysMgr.create(ecModel, api);\n scheduler.performDataProcessorTasks(ecModel, payload); // Current stream render is not supported in data process. So we can update\n // stream modes after data processing, where the filtered data is used to\n // deteming whether use progressive rendering.\n\n updateStreamModes(this, ecModel); // We update stream modes before coordinate system updated, then the modes info\n // can be fetched when coord sys updating (consider the barGrid extent fix). But\n // the drawback is the full coord info can not be fetched. Fortunately this full\n // coord is not requied in stream mode updater currently.\n\n coordSysMgr.update(ecModel, api);\n clearColorPalette(ecModel);\n scheduler.performVisualTasks(ecModel, payload);\n render(this, ecModel, api, payload); // Set background\n\n var backgroundColor = ecModel.get('backgroundColor') || 'transparent'; // In IE8\n\n if (!env.canvasSupported) {\n var colorArr = colorTool.parse(backgroundColor);\n backgroundColor = colorTool.stringify(colorArr, 'rgb');\n\n if (colorArr[3] === 0) {\n backgroundColor = 'transparent';\n }\n } else {\n zr.setBackgroundColor(backgroundColor);\n }\n\n performPostUpdateFuncs(ecModel, api); // console.profile && console.profileEnd('update');\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n updateTransform: function (payload) {\n var ecModel = this._model;\n var ecIns = this;\n var api = this._api; // update before setOption\n\n if (!ecModel) {\n return;\n } // ChartView.markUpdateMethod(payload, 'updateTransform');\n\n\n var componentDirtyList = [];\n ecModel.eachComponent(function (componentType, componentModel) {\n var componentView = ecIns.getViewOfComponentModel(componentModel);\n\n if (componentView && componentView.__alive) {\n if (componentView.updateTransform) {\n var result = componentView.updateTransform(componentModel, ecModel, api, payload);\n result && result.update && componentDirtyList.push(componentView);\n } else {\n componentDirtyList.push(componentView);\n }\n }\n });\n var seriesDirtyMap = zrUtil.createHashMap();\n ecModel.eachSeries(function (seriesModel) {\n var chartView = ecIns._chartsMap[seriesModel.__viewId];\n\n if (chartView.updateTransform) {\n var result = chartView.updateTransform(seriesModel, ecModel, api, payload);\n result && result.update && seriesDirtyMap.set(seriesModel.uid, 1);\n } else {\n seriesDirtyMap.set(seriesModel.uid, 1);\n }\n });\n clearColorPalette(ecModel); // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n // this._scheduler.performVisualTasks(ecModel, payload, 'layout', true);\n\n this._scheduler.performVisualTasks(ecModel, payload, {\n setDirty: true,\n dirtyMap: seriesDirtyMap\n }); // Currently, not call render of components. Geo render cost a lot.\n // renderComponents(ecIns, ecModel, api, payload, componentDirtyList);\n\n\n renderSeries(ecIns, ecModel, api, payload, seriesDirtyMap);\n performPostUpdateFuncs(ecModel, this._api);\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n updateView: function (payload) {\n var ecModel = this._model; // update before setOption\n\n if (!ecModel) {\n return;\n }\n\n ChartView.markUpdateMethod(payload, 'updateView');\n clearColorPalette(ecModel); // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n\n this._scheduler.performVisualTasks(ecModel, payload, {\n setDirty: true\n });\n\n render(this, this._model, this._api, payload);\n performPostUpdateFuncs(ecModel, this._api);\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n updateVisual: function (payload) {\n updateMethods.update.call(this, payload); // var ecModel = this._model;\n // // update before setOption\n // if (!ecModel) {\n // return;\n // }\n // ChartView.markUpdateMethod(payload, 'updateVisual');\n // clearColorPalette(ecModel);\n // // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n // this._scheduler.performVisualTasks(ecModel, payload, {visualType: 'visual', setDirty: true});\n // render(this, this._model, this._api, payload);\n // performPostUpdateFuncs(ecModel, this._api);\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n updateLayout: function (payload) {\n updateMethods.update.call(this, payload); // var ecModel = this._model;\n // // update before setOption\n // if (!ecModel) {\n // return;\n // }\n // ChartView.markUpdateMethod(payload, 'updateLayout');\n // // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n // // this._scheduler.performVisualTasks(ecModel, payload, 'layout', true);\n // this._scheduler.performVisualTasks(ecModel, payload, {setDirty: true});\n // render(this, this._model, this._api, payload);\n // performPostUpdateFuncs(ecModel, this._api);\n }\n};\n\nfunction prepare(ecIns) {\n var ecModel = ecIns._model;\n var scheduler = ecIns._scheduler;\n scheduler.restorePipelines(ecModel);\n scheduler.prepareStageTasks();\n prepareView(ecIns, 'component', ecModel, scheduler);\n prepareView(ecIns, 'chart', ecModel, scheduler);\n scheduler.plan();\n}\n/**\n * @private\n */\n\n\nfunction updateDirectly(ecIns, method, payload, mainType, subType) {\n var ecModel = ecIns._model; // broadcast\n\n if (!mainType) {\n // FIXME\n // Chart will not be update directly here, except set dirty.\n // But there is no such scenario now.\n each(ecIns._componentsViews.concat(ecIns._chartsViews), callView);\n return;\n }\n\n var query = {};\n query[mainType + 'Id'] = payload[mainType + 'Id'];\n query[mainType + 'Index'] = payload[mainType + 'Index'];\n query[mainType + 'Name'] = payload[mainType + 'Name'];\n var condition = {\n mainType: mainType,\n query: query\n };\n subType && (condition.subType = subType); // subType may be '' by parseClassType;\n\n var excludeSeriesId = payload.excludeSeriesId;\n\n if (excludeSeriesId != null) {\n excludeSeriesId = zrUtil.createHashMap(modelUtil.normalizeToArray(excludeSeriesId));\n } // If dispatchAction before setOption, do nothing.\n\n\n ecModel && ecModel.eachComponent(condition, function (model) {\n if (!excludeSeriesId || excludeSeriesId.get(model.id) == null) {\n callView(ecIns[mainType === 'series' ? '_chartsMap' : '_componentsMap'][model.__viewId]);\n }\n }, ecIns);\n\n function callView(view) {\n view && view.__alive && view[method] && view[method](view.__model, ecModel, ecIns._api, payload);\n }\n}\n/**\n * Resize the chart\n * @param {Object} opts\n * @param {number} [opts.width] Can be 'auto' (the same as null/undefined)\n * @param {number} [opts.height] Can be 'auto' (the same as null/undefined)\n * @param {boolean} [opts.silent=false]\n */\n\n\nechartsProto.resize = function (opts) {\n this._zr.resize(opts);\n\n var ecModel = this._model; // Resize loading effect\n\n this._loadingFX && this._loadingFX.resize();\n\n if (!ecModel) {\n return;\n }\n\n var optionChanged = ecModel.resetOption('media');\n var silent = opts && opts.silent;\n this[IN_MAIN_PROCESS] = true;\n optionChanged && prepare(this);\n updateMethods.update.call(this);\n this[IN_MAIN_PROCESS] = false;\n flushPendingActions.call(this, silent);\n triggerUpdatedEvent.call(this, silent);\n};\n\nfunction updateStreamModes(ecIns, ecModel) {\n var chartsMap = ecIns._chartsMap;\n var scheduler = ecIns._scheduler;\n ecModel.eachSeries(function (seriesModel) {\n scheduler.updateStreamModes(seriesModel, chartsMap[seriesModel.__viewId]);\n });\n}\n/**\n * Show loading effect\n * @param {string} [name='default']\n * @param {Object} [cfg]\n */\n\n\nechartsProto.showLoading = function (name, cfg) {\n if (isObject(name)) {\n cfg = name;\n name = '';\n }\n\n name = name || 'default';\n this.hideLoading();\n\n if (!loadingEffects[name]) {\n return;\n }\n\n var el = loadingEffects[name](this._api, cfg);\n var zr = this._zr;\n this._loadingFX = el;\n zr.add(el);\n};\n/**\n * Hide loading effect\n */\n\n\nechartsProto.hideLoading = function () {\n this._loadingFX && this._zr.remove(this._loadingFX);\n this._loadingFX = null;\n};\n/**\n * @param {Object} eventObj\n * @return {Object}\n */\n\n\nechartsProto.makeActionFromEvent = function (eventObj) {\n var payload = zrUtil.extend({}, eventObj);\n payload.type = eventActionMap[eventObj.type];\n return payload;\n};\n/**\n * @pubilc\n * @param {Object} payload\n * @param {string} [payload.type] Action type\n * @param {Object|boolean} [opt] If pass boolean, means opt.silent\n * @param {boolean} [opt.silent=false] Whether trigger events.\n * @param {boolean} [opt.flush=undefined]\n * true: Flush immediately, and then pixel in canvas can be fetched\n * immediately. Caution: it might affect performance.\n * false: Not not flush.\n * undefined: Auto decide whether perform flush.\n */\n\n\nechartsProto.dispatchAction = function (payload, opt) {\n if (!isObject(opt)) {\n opt = {\n silent: !!opt\n };\n }\n\n if (!actions[payload.type]) {\n return;\n } // Avoid dispatch action before setOption. Especially in `connect`.\n\n\n if (!this._model) {\n return;\n } // May dispatchAction in rendering procedure\n\n\n if (this[IN_MAIN_PROCESS]) {\n this._pendingActions.push(payload);\n\n return;\n }\n\n doDispatchAction.call(this, payload, opt.silent);\n\n if (opt.flush) {\n this._zr.flush(true);\n } else if (opt.flush !== false && env.browser.weChat) {\n // In WeChat embeded browser, `requestAnimationFrame` and `setInterval`\n // hang when sliding page (on touch event), which cause that zr does not\n // refresh util user interaction finished, which is not expected.\n // But `dispatchAction` may be called too frequently when pan on touch\n // screen, which impacts performance if do not throttle them.\n this._throttledZrFlush();\n }\n\n flushPendingActions.call(this, opt.silent);\n triggerUpdatedEvent.call(this, opt.silent);\n};\n\nfunction doDispatchAction(payload, silent) {\n var payloadType = payload.type;\n var escapeConnect = payload.escapeConnect;\n var actionWrap = actions[payloadType];\n var actionInfo = actionWrap.actionInfo;\n var cptType = (actionInfo.update || 'update').split(':');\n var updateMethod = cptType.pop();\n cptType = cptType[0] != null && parseClassType(cptType[0]);\n this[IN_MAIN_PROCESS] = true;\n var payloads = [payload];\n var batched = false; // Batch action\n\n if (payload.batch) {\n batched = true;\n payloads = zrUtil.map(payload.batch, function (item) {\n item = zrUtil.defaults(zrUtil.extend({}, item), payload);\n item.batch = null;\n return item;\n });\n }\n\n var eventObjBatch = [];\n var eventObj;\n var isHighDown = payloadType === 'highlight' || payloadType === 'downplay';\n each(payloads, function (batchItem) {\n // Action can specify the event by return it.\n eventObj = actionWrap.action(batchItem, this._model, this._api); // Emit event outside\n\n eventObj = eventObj || zrUtil.extend({}, batchItem); // Convert type to eventType\n\n eventObj.type = actionInfo.event || eventObj.type;\n eventObjBatch.push(eventObj); // light update does not perform data process, layout and visual.\n\n if (isHighDown) {\n // method, payload, mainType, subType\n updateDirectly(this, updateMethod, batchItem, 'series');\n } else if (cptType) {\n updateDirectly(this, updateMethod, batchItem, cptType.main, cptType.sub);\n }\n }, this);\n\n if (updateMethod !== 'none' && !isHighDown && !cptType) {\n // Still dirty\n if (this[OPTION_UPDATED]) {\n // FIXME Pass payload ?\n prepare(this);\n updateMethods.update.call(this, payload);\n this[OPTION_UPDATED] = false;\n } else {\n updateMethods[updateMethod].call(this, payload);\n }\n } // Follow the rule of action batch\n\n\n if (batched) {\n eventObj = {\n type: actionInfo.event || payloadType,\n escapeConnect: escapeConnect,\n batch: eventObjBatch\n };\n } else {\n eventObj = eventObjBatch[0];\n }\n\n this[IN_MAIN_PROCESS] = false;\n !silent && this._messageCenter.trigger(eventObj.type, eventObj);\n}\n\nfunction flushPendingActions(silent) {\n var pendingActions = this._pendingActions;\n\n while (pendingActions.length) {\n var payload = pendingActions.shift();\n doDispatchAction.call(this, payload, silent);\n }\n}\n\nfunction triggerUpdatedEvent(silent) {\n !silent && this.trigger('updated');\n}\n/**\n * Event `rendered` is triggered when zr\n * rendered. It is useful for realtime\n * snapshot (reflect animation).\n *\n * Event `finished` is triggered when:\n * (1) zrender rendering finished.\n * (2) initial animation finished.\n * (3) progressive rendering finished.\n * (4) no pending action.\n * (5) no delayed setOption needs to be processed.\n */\n\n\nfunction bindRenderedEvent(zr, ecIns) {\n zr.on('rendered', function () {\n ecIns.trigger('rendered'); // The `finished` event should not be triggered repeatly,\n // so it should only be triggered when rendering indeed happend\n // in zrender. (Consider the case that dipatchAction is keep\n // triggering when mouse move).\n\n if ( // Although zr is dirty if initial animation is not finished\n // and this checking is called on frame, we also check\n // animation finished for robustness.\n zr.animation.isFinished() && !ecIns[OPTION_UPDATED] && !ecIns._scheduler.unfinished && !ecIns._pendingActions.length) {\n ecIns.trigger('finished');\n }\n });\n}\n/**\n * @param {Object} params\n * @param {number} params.seriesIndex\n * @param {Array|TypedArray} params.data\n */\n\n\nechartsProto.appendData = function (params) {\n var seriesIndex = params.seriesIndex;\n var ecModel = this.getModel();\n var seriesModel = ecModel.getSeriesByIndex(seriesIndex);\n seriesModel.appendData(params); // Note: `appendData` does not support that update extent of coordinate\n // system, util some scenario require that. In the expected usage of\n // `appendData`, the initial extent of coordinate system should better\n // be fixed by axis `min`/`max` setting or initial data, otherwise if\n // the extent changed while `appendData`, the location of the painted\n // graphic elements have to be changed, which make the usage of\n // `appendData` meaningless.\n\n this._scheduler.unfinished = true;\n};\n/**\n * Register event\n * @method\n */\n\n\nechartsProto.on = createRegisterEventWithLowercaseName('on');\nechartsProto.off = createRegisterEventWithLowercaseName('off');\nechartsProto.one = createRegisterEventWithLowercaseName('one');\n/**\n * Prepare view instances of charts and components\n * @param {module:echarts/model/Global} ecModel\n * @private\n */\n\nfunction prepareView(ecIns, type, ecModel, scheduler) {\n var isComponent = type === 'component';\n var viewList = isComponent ? ecIns._componentsViews : ecIns._chartsViews;\n var viewMap = isComponent ? ecIns._componentsMap : ecIns._chartsMap;\n var zr = ecIns._zr;\n var api = ecIns._api;\n\n for (var i = 0; i < viewList.length; i++) {\n viewList[i].__alive = false;\n }\n\n isComponent ? ecModel.eachComponent(function (componentType, model) {\n componentType !== 'series' && doPrepare(model);\n }) : ecModel.eachSeries(doPrepare);\n\n function doPrepare(model) {\n // Consider: id same and type changed.\n var viewId = '_ec_' + model.id + '_' + model.type;\n var view = viewMap[viewId];\n\n if (!view) {\n var classType = parseClassType(model.type);\n var Clazz = isComponent ? ComponentView.getClass(classType.main, classType.sub) : ChartView.getClass(classType.sub);\n view = new Clazz();\n view.init(ecModel, api);\n viewMap[viewId] = view;\n viewList.push(view);\n zr.add(view.group);\n }\n\n model.__viewId = view.__id = viewId;\n view.__alive = true;\n view.__model = model;\n view.group.__ecComponentInfo = {\n mainType: model.mainType,\n index: model.componentIndex\n };\n !isComponent && scheduler.prepareView(view, model, ecModel, api);\n }\n\n for (var i = 0; i < viewList.length;) {\n var view = viewList[i];\n\n if (!view.__alive) {\n !isComponent && view.renderTask.dispose();\n zr.remove(view.group);\n view.dispose(ecModel, api);\n viewList.splice(i, 1);\n delete viewMap[view.__id];\n view.__id = view.group.__ecComponentInfo = null;\n } else {\n i++;\n }\n }\n} // /**\n// * Encode visual infomation from data after data processing\n// *\n// * @param {module:echarts/model/Global} ecModel\n// * @param {object} layout\n// * @param {boolean} [layoutFilter] `true`: only layout,\n// * `false`: only not layout,\n// * `null`/`undefined`: all.\n// * @param {string} taskBaseTag\n// * @private\n// */\n// function startVisualEncoding(ecIns, ecModel, api, payload, layoutFilter) {\n// each(visualFuncs, function (visual, index) {\n// var isLayout = visual.isLayout;\n// if (layoutFilter == null\n// || (layoutFilter === false && !isLayout)\n// || (layoutFilter === true && isLayout)\n// ) {\n// visual.func(ecModel, api, payload);\n// }\n// });\n// }\n\n\nfunction clearColorPalette(ecModel) {\n ecModel.clearColorPalette();\n ecModel.eachSeries(function (seriesModel) {\n seriesModel.clearColorPalette();\n });\n}\n\nfunction render(ecIns, ecModel, api, payload) {\n renderComponents(ecIns, ecModel, api, payload);\n each(ecIns._chartsViews, function (chart) {\n chart.__alive = false;\n });\n renderSeries(ecIns, ecModel, api, payload); // Remove groups of unrendered charts\n\n each(ecIns._chartsViews, function (chart) {\n if (!chart.__alive) {\n chart.remove(ecModel, api);\n }\n });\n}\n\nfunction renderComponents(ecIns, ecModel, api, payload, dirtyList) {\n each(dirtyList || ecIns._componentsViews, function (componentView) {\n var componentModel = componentView.__model;\n componentView.render(componentModel, ecModel, api, payload);\n updateZ(componentModel, componentView);\n });\n}\n/**\n * Render each chart and component\n * @private\n */\n\n\nfunction renderSeries(ecIns, ecModel, api, payload, dirtyMap) {\n // Render all charts\n var scheduler = ecIns._scheduler;\n var unfinished;\n ecModel.eachSeries(function (seriesModel) {\n var chartView = ecIns._chartsMap[seriesModel.__viewId];\n chartView.__alive = true;\n var renderTask = chartView.renderTask;\n scheduler.updatePayload(renderTask, payload);\n\n if (dirtyMap && dirtyMap.get(seriesModel.uid)) {\n renderTask.dirty();\n }\n\n unfinished |= renderTask.perform(scheduler.getPerformArgs(renderTask));\n chartView.group.silent = !!seriesModel.get('silent');\n updateZ(seriesModel, chartView);\n updateBlend(seriesModel, chartView);\n });\n scheduler.unfinished |= unfinished; // If use hover layer\n\n updateHoverLayerStatus(ecIns._zr, ecModel); // Add aria\n\n aria(ecIns._zr.dom, ecModel);\n}\n\nfunction performPostUpdateFuncs(ecModel, api) {\n each(postUpdateFuncs, function (func) {\n func(ecModel, api);\n });\n}\n\nvar MOUSE_EVENT_NAMES = ['click', 'dblclick', 'mouseover', 'mouseout', 'mousemove', 'mousedown', 'mouseup', 'globalout', 'contextmenu'];\n/**\n * @private\n */\n\nechartsProto._initEvents = function () {\n each(MOUSE_EVENT_NAMES, function (eveName) {\n var handler = function (e) {\n var ecModel = this.getModel();\n var el = e.target;\n var params;\n var isGlobalOut = eveName === 'globalout'; // no e.target when 'globalout'.\n\n if (isGlobalOut) {\n params = {};\n } else if (el && el.dataIndex != null) {\n var dataModel = el.dataModel || ecModel.getSeriesByIndex(el.seriesIndex);\n params = dataModel && dataModel.getDataParams(el.dataIndex, el.dataType, el) || {};\n } // If element has custom eventData of components\n else if (el && el.eventData) {\n params = zrUtil.extend({}, el.eventData);\n } // Contract: if params prepared in mouse event,\n // these properties must be specified:\n // {\n // componentType: string (component main type)\n // componentIndex: number\n // }\n // Otherwise event query can not work.\n\n\n if (params) {\n var componentType = params.componentType;\n var componentIndex = params.componentIndex; // Special handling for historic reason: when trigger by\n // markLine/markPoint/markArea, the componentType is\n // 'markLine'/'markPoint'/'markArea', but we should better\n // enable them to be queried by seriesIndex, since their\n // option is set in each series.\n\n if (componentType === 'markLine' || componentType === 'markPoint' || componentType === 'markArea') {\n componentType = 'series';\n componentIndex = params.seriesIndex;\n }\n\n var model = componentType && componentIndex != null && ecModel.getComponent(componentType, componentIndex);\n var view = model && this[model.mainType === 'series' ? '_chartsMap' : '_componentsMap'][model.__viewId];\n params.event = e;\n params.type = eveName;\n this._ecEventProcessor.eventInfo = {\n targetEl: el,\n packedEvent: params,\n model: model,\n view: view\n };\n this.trigger(eveName, params);\n }\n }; // Consider that some component (like tooltip, brush, ...)\n // register zr event handler, but user event handler might\n // do anything, such as call `setOption` or `dispatchAction`,\n // which probably update any of the content and probably\n // cause problem if it is called previous other inner handlers.\n\n\n handler.zrEventfulCallAtLast = true;\n\n this._zr.on(eveName, handler, this);\n }, this);\n each(eventActionMap, function (actionType, eventType) {\n this._messageCenter.on(eventType, function (event) {\n this.trigger(eventType, event);\n }, this);\n }, this);\n};\n/**\n * @return {boolean}\n */\n\n\nechartsProto.isDisposed = function () {\n return this._disposed;\n};\n/**\n * Clear\n */\n\n\nechartsProto.clear = function () {\n this.setOption({\n series: []\n }, true);\n};\n/**\n * Dispose instance\n */\n\n\nechartsProto.dispose = function () {\n if (this._disposed) {\n return;\n }\n\n this._disposed = true;\n modelUtil.setAttribute(this.getDom(), DOM_ATTRIBUTE_KEY, '');\n var api = this._api;\n var ecModel = this._model;\n each(this._componentsViews, function (component) {\n component.dispose(ecModel, api);\n });\n each(this._chartsViews, function (chart) {\n chart.dispose(ecModel, api);\n }); // Dispose after all views disposed\n\n this._zr.dispose();\n\n delete instances[this.id];\n};\n\nzrUtil.mixin(ECharts, Eventful);\n\nfunction updateHoverLayerStatus(zr, ecModel) {\n var storage = zr.storage;\n var elCount = 0;\n storage.traverse(function (el) {\n if (!el.isGroup) {\n elCount++;\n }\n });\n\n if (elCount > ecModel.get('hoverLayerThreshold') && !env.node) {\n storage.traverse(function (el) {\n if (!el.isGroup) {\n // Don't switch back.\n el.useHoverLayer = true;\n }\n });\n }\n}\n/**\n * Update chart progressive and blend.\n * @param {module:echarts/model/Series|module:echarts/model/Component} model\n * @param {module:echarts/view/Component|module:echarts/view/Chart} view\n */\n\n\nfunction updateBlend(seriesModel, chartView) {\n var blendMode = seriesModel.get('blendMode') || null;\n chartView.group.traverse(function (el) {\n // FIXME marker and other components\n if (!el.isGroup) {\n // Only set if blendMode is changed. In case element is incremental and don't wan't to rerender.\n if (el.style.blend !== blendMode) {\n el.setStyle('blend', blendMode);\n }\n }\n\n if (el.eachPendingDisplayable) {\n el.eachPendingDisplayable(function (displayable) {\n displayable.setStyle('blend', blendMode);\n });\n }\n });\n}\n/**\n * @param {module:echarts/model/Series|module:echarts/model/Component} model\n * @param {module:echarts/view/Component|module:echarts/view/Chart} view\n */\n\n\nfunction updateZ(model, view) {\n var z = model.get('z');\n var zlevel = model.get('zlevel'); // Set z and zlevel\n\n view.group.traverse(function (el) {\n if (el.type !== 'group') {\n z != null && (el.z = z);\n zlevel != null && (el.zlevel = zlevel);\n }\n });\n}\n\nfunction createExtensionAPI(ecInstance) {\n var coordSysMgr = ecInstance._coordSysMgr;\n return zrUtil.extend(new ExtensionAPI(ecInstance), {\n // Inject methods\n getCoordinateSystems: zrUtil.bind(coordSysMgr.getCoordinateSystems, coordSysMgr),\n getComponentByElement: function (el) {\n while (el) {\n var modelInfo = el.__ecComponentInfo;\n\n if (modelInfo != null) {\n return ecInstance._model.getComponent(modelInfo.mainType, modelInfo.index);\n }\n\n el = el.parent;\n }\n }\n });\n}\n/**\n * @class\n * Usage of query:\n * `chart.on('click', query, handler);`\n * The `query` can be:\n * + The component type query string, only `mainType` or `mainType.subType`,\n * like: 'xAxis', 'series', 'xAxis.category' or 'series.line'.\n * + The component query object, like:\n * `{seriesIndex: 2}`, `{seriesName: 'xx'}`, `{seriesId: 'some'}`,\n * `{xAxisIndex: 2}`, `{xAxisName: 'xx'}`, `{xAxisId: 'some'}`.\n * + The data query object, like:\n * `{dataIndex: 123}`, `{dataType: 'link'}`, `{name: 'some'}`.\n * + The other query object (cmponent customized query), like:\n * `{element: 'some'}` (only available in custom series).\n *\n * Caveat: If a prop in the `query` object is `null/undefined`, it is the\n * same as there is no such prop in the `query` object.\n */\n\n\nfunction EventProcessor() {\n // These info required: targetEl, packedEvent, model, view\n this.eventInfo;\n}\n\nEventProcessor.prototype = {\n constructor: EventProcessor,\n normalizeQuery: function (query) {\n var cptQuery = {};\n var dataQuery = {};\n var otherQuery = {}; // `query` is `mainType` or `mainType.subType` of component.\n\n if (zrUtil.isString(query)) {\n var condCptType = parseClassType(query); // `.main` and `.sub` may be ''.\n\n cptQuery.mainType = condCptType.main || null;\n cptQuery.subType = condCptType.sub || null;\n } // `query` is an object, convert to {mainType, index, name, id}.\n else {\n // `xxxIndex`, `xxxName`, `xxxId`, `name`, `dataIndex`, `dataType` is reserved,\n // can not be used in `compomentModel.filterForExposedEvent`.\n var suffixes = ['Index', 'Name', 'Id'];\n var dataKeys = {\n name: 1,\n dataIndex: 1,\n dataType: 1\n };\n zrUtil.each(query, function (val, key) {\n var reserved = false;\n\n for (var i = 0; i < suffixes.length; i++) {\n var propSuffix = suffixes[i];\n var suffixPos = key.lastIndexOf(propSuffix);\n\n if (suffixPos > 0 && suffixPos === key.length - propSuffix.length) {\n var mainType = key.slice(0, suffixPos); // Consider `dataIndex`.\n\n if (mainType !== 'data') {\n cptQuery.mainType = mainType;\n cptQuery[propSuffix.toLowerCase()] = val;\n reserved = true;\n }\n }\n }\n\n if (dataKeys.hasOwnProperty(key)) {\n dataQuery[key] = val;\n reserved = true;\n }\n\n if (!reserved) {\n otherQuery[key] = val;\n }\n });\n }\n\n return {\n cptQuery: cptQuery,\n dataQuery: dataQuery,\n otherQuery: otherQuery\n };\n },\n filter: function (eventType, query, args) {\n // They should be assigned before each trigger call.\n var eventInfo = this.eventInfo;\n\n if (!eventInfo) {\n return true;\n }\n\n var targetEl = eventInfo.targetEl;\n var packedEvent = eventInfo.packedEvent;\n var model = eventInfo.model;\n var view = eventInfo.view; // For event like 'globalout'.\n\n if (!model || !view) {\n return true;\n }\n\n var cptQuery = query.cptQuery;\n var dataQuery = query.dataQuery;\n return check(cptQuery, model, 'mainType') && check(cptQuery, model, 'subType') && check(cptQuery, model, 'index', 'componentIndex') && check(cptQuery, model, 'name') && check(cptQuery, model, 'id') && check(dataQuery, packedEvent, 'name') && check(dataQuery, packedEvent, 'dataIndex') && check(dataQuery, packedEvent, 'dataType') && (!view.filterForExposedEvent || view.filterForExposedEvent(eventType, query.otherQuery, targetEl, packedEvent));\n\n function check(query, host, prop, propOnHost) {\n return query[prop] == null || host[propOnHost || prop] === query[prop];\n }\n },\n afterTrigger: function () {\n // Make sure the eventInfo wont be used in next trigger.\n this.eventInfo = null;\n }\n};\n/**\n * @type {Object} key: actionType.\n * @inner\n */\n\nvar actions = {};\n/**\n * Map eventType to actionType\n * @type {Object}\n */\n\nvar eventActionMap = {};\n/**\n * Data processor functions of each stage\n * @type {Array.>}\n * @inner\n */\n\nvar dataProcessorFuncs = [];\n/**\n * @type {Array.}\n * @inner\n */\n\nvar optionPreprocessorFuncs = [];\n/**\n * @type {Array.}\n * @inner\n */\n\nvar postUpdateFuncs = [];\n/**\n * Visual encoding functions of each stage\n * @type {Array.>}\n */\n\nvar visualFuncs = [];\n/**\n * Theme storage\n * @type {Object.}\n */\n\nvar themeStorage = {};\n/**\n * Loading effects\n */\n\nvar loadingEffects = {};\nvar instances = {};\nvar connectedGroups = {};\nvar idBase = new Date() - 0;\nvar groupIdBase = new Date() - 0;\nvar DOM_ATTRIBUTE_KEY = '_echarts_instance_';\n\nfunction enableConnect(chart) {\n var STATUS_PENDING = 0;\n var STATUS_UPDATING = 1;\n var STATUS_UPDATED = 2;\n var STATUS_KEY = '__connectUpdateStatus';\n\n function updateConnectedChartsStatus(charts, status) {\n for (var i = 0; i < charts.length; i++) {\n var otherChart = charts[i];\n otherChart[STATUS_KEY] = status;\n }\n }\n\n each(eventActionMap, function (actionType, eventType) {\n chart._messageCenter.on(eventType, function (event) {\n if (connectedGroups[chart.group] && chart[STATUS_KEY] !== STATUS_PENDING) {\n if (event && event.escapeConnect) {\n return;\n }\n\n var action = chart.makeActionFromEvent(event);\n var otherCharts = [];\n each(instances, function (otherChart) {\n if (otherChart !== chart && otherChart.group === chart.group) {\n otherCharts.push(otherChart);\n }\n });\n updateConnectedChartsStatus(otherCharts, STATUS_PENDING);\n each(otherCharts, function (otherChart) {\n if (otherChart[STATUS_KEY] !== STATUS_UPDATING) {\n otherChart.dispatchAction(action);\n }\n });\n updateConnectedChartsStatus(otherCharts, STATUS_UPDATED);\n }\n });\n });\n}\n/**\n * @param {HTMLElement} dom\n * @param {Object} [theme]\n * @param {Object} opts\n * @param {number} [opts.devicePixelRatio] Use window.devicePixelRatio by default\n * @param {string} [opts.renderer] Currently only 'canvas' is supported.\n * @param {number} [opts.width] Use clientWidth of the input `dom` by default.\n * Can be 'auto' (the same as null/undefined)\n * @param {number} [opts.height] Use clientHeight of the input `dom` by default.\n * Can be 'auto' (the same as null/undefined)\n */\n\n\nfunction init(dom, theme, opts) {\n var existInstance = getInstanceByDom(dom);\n\n if (existInstance) {\n return existInstance;\n }\n\n var chart = new ECharts(dom, theme, opts);\n chart.id = 'ec_' + idBase++;\n instances[chart.id] = chart;\n modelUtil.setAttribute(dom, DOM_ATTRIBUTE_KEY, chart.id);\n enableConnect(chart);\n return chart;\n}\n/**\n * @return {string|Array.} groupId\n */\n\n\nfunction connect(groupId) {\n // Is array of charts\n if (zrUtil.isArray(groupId)) {\n var charts = groupId;\n groupId = null; // If any chart has group\n\n each(charts, function (chart) {\n if (chart.group != null) {\n groupId = chart.group;\n }\n });\n groupId = groupId || 'g_' + groupIdBase++;\n each(charts, function (chart) {\n chart.group = groupId;\n });\n }\n\n connectedGroups[groupId] = true;\n return groupId;\n}\n/**\n * @DEPRECATED\n * @return {string} groupId\n */\n\n\nfunction disConnect(groupId) {\n connectedGroups[groupId] = false;\n}\n/**\n * @return {string} groupId\n */\n\n\nvar disconnect = disConnect;\n/**\n * Dispose a chart instance\n * @param {module:echarts~ECharts|HTMLDomElement|string} chart\n */\n\nfunction dispose(chart) {\n if (typeof chart === 'string') {\n chart = instances[chart];\n } else if (!(chart instanceof ECharts)) {\n // Try to treat as dom\n chart = getInstanceByDom(chart);\n }\n\n if (chart instanceof ECharts && !chart.isDisposed()) {\n chart.dispose();\n }\n}\n/**\n * @param {HTMLElement} dom\n * @return {echarts~ECharts}\n */\n\n\nfunction getInstanceByDom(dom) {\n return instances[modelUtil.getAttribute(dom, DOM_ATTRIBUTE_KEY)];\n}\n/**\n * @param {string} key\n * @return {echarts~ECharts}\n */\n\n\nfunction getInstanceById(key) {\n return instances[key];\n}\n/**\n * Register theme\n */\n\n\nfunction registerTheme(name, theme) {\n themeStorage[name] = theme;\n}\n/**\n * Register option preprocessor\n * @param {Function} preprocessorFunc\n */\n\n\nfunction registerPreprocessor(preprocessorFunc) {\n optionPreprocessorFuncs.push(preprocessorFunc);\n}\n/**\n * @param {number} [priority=1000]\n * @param {Object|Function} processor\n */\n\n\nfunction registerProcessor(priority, processor) {\n normalizeRegister(dataProcessorFuncs, priority, processor, PRIORITY_PROCESSOR_FILTER);\n}\n/**\n * Register postUpdater\n * @param {Function} postUpdateFunc\n */\n\n\nfunction registerPostUpdate(postUpdateFunc) {\n postUpdateFuncs.push(postUpdateFunc);\n}\n/**\n * Usage:\n * registerAction('someAction', 'someEvent', function () { ... });\n * registerAction('someAction', function () { ... });\n * registerAction(\n * {type: 'someAction', event: 'someEvent', update: 'updateView'},\n * function () { ... }\n * );\n *\n * @param {(string|Object)} actionInfo\n * @param {string} actionInfo.type\n * @param {string} [actionInfo.event]\n * @param {string} [actionInfo.update]\n * @param {string} [eventName]\n * @param {Function} action\n */\n\n\nfunction registerAction(actionInfo, eventName, action) {\n if (typeof eventName === 'function') {\n action = eventName;\n eventName = '';\n }\n\n var actionType = isObject(actionInfo) ? actionInfo.type : [actionInfo, actionInfo = {\n event: eventName\n }][0]; // Event name is all lowercase\n\n actionInfo.event = (actionInfo.event || actionType).toLowerCase();\n eventName = actionInfo.event; // Validate action type and event name.\n\n assert(ACTION_REG.test(actionType) && ACTION_REG.test(eventName));\n\n if (!actions[actionType]) {\n actions[actionType] = {\n action: action,\n actionInfo: actionInfo\n };\n }\n\n eventActionMap[eventName] = actionType;\n}\n/**\n * @param {string} type\n * @param {*} CoordinateSystem\n */\n\n\nfunction registerCoordinateSystem(type, CoordinateSystem) {\n CoordinateSystemManager.register(type, CoordinateSystem);\n}\n/**\n * Get dimensions of specified coordinate system.\n * @param {string} type\n * @return {Array.}\n */\n\n\nfunction getCoordinateSystemDimensions(type) {\n var coordSysCreator = CoordinateSystemManager.get(type);\n\n if (coordSysCreator) {\n return coordSysCreator.getDimensionsInfo ? coordSysCreator.getDimensionsInfo() : coordSysCreator.dimensions.slice();\n }\n}\n/**\n * Layout is a special stage of visual encoding\n * Most visual encoding like color are common for different chart\n * But each chart has it's own layout algorithm\n *\n * @param {number} [priority=1000]\n * @param {Function} layoutTask\n */\n\n\nfunction registerLayout(priority, layoutTask) {\n normalizeRegister(visualFuncs, priority, layoutTask, PRIORITY_VISUAL_LAYOUT, 'layout');\n}\n/**\n * @param {number} [priority=3000]\n * @param {module:echarts/stream/Task} visualTask\n */\n\n\nfunction registerVisual(priority, visualTask) {\n normalizeRegister(visualFuncs, priority, visualTask, PRIORITY_VISUAL_CHART, 'visual');\n}\n/**\n * @param {Object|Function} fn: {seriesType, createOnAllSeries, performRawSeries, reset}\n */\n\n\nfunction normalizeRegister(targetList, priority, fn, defaultPriority, visualType) {\n if (isFunction(priority) || isObject(priority)) {\n fn = priority;\n priority = defaultPriority;\n }\n\n var stageHandler = Scheduler.wrapStageHandler(fn, visualType);\n stageHandler.__prio = priority;\n stageHandler.__raw = fn;\n targetList.push(stageHandler);\n return stageHandler;\n}\n/**\n * @param {string} name\n */\n\n\nfunction registerLoading(name, loadingFx) {\n loadingEffects[name] = loadingFx;\n}\n/**\n * @param {Object} opts\n * @param {string} [superClass]\n */\n\n\nfunction extendComponentModel(opts\n/*, superClass*/\n) {\n // var Clazz = ComponentModel;\n // if (superClass) {\n // var classType = parseClassType(superClass);\n // Clazz = ComponentModel.getClass(classType.main, classType.sub, true);\n // }\n return ComponentModel.extend(opts);\n}\n/**\n * @param {Object} opts\n * @param {string} [superClass]\n */\n\n\nfunction extendComponentView(opts\n/*, superClass*/\n) {\n // var Clazz = ComponentView;\n // if (superClass) {\n // var classType = parseClassType(superClass);\n // Clazz = ComponentView.getClass(classType.main, classType.sub, true);\n // }\n return ComponentView.extend(opts);\n}\n/**\n * @param {Object} opts\n * @param {string} [superClass]\n */\n\n\nfunction extendSeriesModel(opts\n/*, superClass*/\n) {\n // var Clazz = SeriesModel;\n // if (superClass) {\n // superClass = 'series.' + superClass.replace('series.', '');\n // var classType = parseClassType(superClass);\n // Clazz = ComponentModel.getClass(classType.main, classType.sub, true);\n // }\n return SeriesModel.extend(opts);\n}\n/**\n * @param {Object} opts\n * @param {string} [superClass]\n */\n\n\nfunction extendChartView(opts\n/*, superClass*/\n) {\n // var Clazz = ChartView;\n // if (superClass) {\n // superClass = superClass.replace('series.', '');\n // var classType = parseClassType(superClass);\n // Clazz = ChartView.getClass(classType.main, true);\n // }\n return ChartView.extend(opts);\n}\n/**\n * ZRender need a canvas context to do measureText.\n * But in node environment canvas may be created by node-canvas.\n * So we need to specify how to create a canvas instead of using document.createElement('canvas')\n *\n * Be careful of using it in the browser.\n *\n * @param {Function} creator\n * @example\n * var Canvas = require('canvas');\n * var echarts = require('echarts');\n * echarts.setCanvasCreator(function () {\n * // Small size is enough.\n * return new Canvas(32, 32);\n * });\n */\n\n\nfunction setCanvasCreator(creator) {\n zrUtil.$override('createCanvas', creator);\n}\n/**\n * @param {string} mapName\n * @param {Array.|Object|string} geoJson\n * @param {Object} [specialAreas]\n *\n * @example GeoJSON\n * $.get('USA.json', function (geoJson) {\n * echarts.registerMap('USA', geoJson);\n * // Or\n * echarts.registerMap('USA', {\n * geoJson: geoJson,\n * specialAreas: {}\n * })\n * });\n *\n * $.get('airport.svg', function (svg) {\n * echarts.registerMap('airport', {\n * svg: svg\n * }\n * });\n *\n * echarts.registerMap('eu', [\n * {svg: eu-topographic.svg},\n * {geoJSON: eu.json}\n * ])\n */\n\n\nfunction registerMap(mapName, geoJson, specialAreas) {\n mapDataStorage.registerMap(mapName, geoJson, specialAreas);\n}\n/**\n * @param {string} mapName\n * @return {Object}\n */\n\n\nfunction getMap(mapName) {\n // For backward compatibility, only return the first one.\n var records = mapDataStorage.retrieveMap(mapName);\n return records && records[0] && {\n geoJson: records[0].geoJSON,\n specialAreas: records[0].specialAreas\n };\n}\n\nregisterVisual(PRIORITY_VISUAL_GLOBAL, seriesColor);\nregisterPreprocessor(backwardCompat);\nregisterProcessor(PRIORITY_PROCESSOR_STATISTIC, dataStack);\nregisterLoading('default', loadingDefault); // Default actions\n\nregisterAction({\n type: 'highlight',\n event: 'highlight',\n update: 'highlight'\n}, zrUtil.noop);\nregisterAction({\n type: 'downplay',\n event: 'downplay',\n update: 'downplay'\n}, zrUtil.noop); // Default theme\n\nregisterTheme('light', lightTheme);\nregisterTheme('dark', darkTheme); // For backward compatibility, where the namespace `dataTool` will\n// be mounted on `echarts` is the extension `dataTool` is imported.\n\nvar dataTool = {};\nexports.version = version;\nexports.dependencies = dependencies;\nexports.PRIORITY = PRIORITY;\nexports.init = init;\nexports.connect = connect;\nexports.disConnect = disConnect;\nexports.disconnect = disconnect;\nexports.dispose = dispose;\nexports.getInstanceByDom = getInstanceByDom;\nexports.getInstanceById = getInstanceById;\nexports.registerTheme = registerTheme;\nexports.registerPreprocessor = registerPreprocessor;\nexports.registerProcessor = registerProcessor;\nexports.registerPostUpdate = registerPostUpdate;\nexports.registerAction = registerAction;\nexports.registerCoordinateSystem = registerCoordinateSystem;\nexports.getCoordinateSystemDimensions = getCoordinateSystemDimensions;\nexports.registerLayout = registerLayout;\nexports.registerVisual = registerVisual;\nexports.registerLoading = registerLoading;\nexports.extendComponentModel = extendComponentModel;\nexports.extendComponentView = extendComponentView;\nexports.extendSeriesModel = extendSeriesModel;\nexports.extendChartView = extendChartView;\nexports.setCanvasCreator = setCanvasCreator;\nexports.registerMap = registerMap;\nexports.getMap = getMap;\nexports.dataTool = dataTool;\nvar ___ec_export = require(\"./export\");\n(function () {\n for (var key in ___ec_export) {\n if (___ec_export.hasOwnProperty(key)) {\n exports[key] = ___ec_export[key];\n }\n }\n})();","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","module.exports = {};\n","var _core = require(\"./core\");\n\nvar createElement = _core.createElement;\n\nvar PathProxy = require(\"../core/PathProxy\");\n\nvar BoundingRect = require(\"../core/BoundingRect\");\n\nvar matrix = require(\"../core/matrix\");\n\nvar textContain = require(\"../contain/text\");\n\nvar textHelper = require(\"../graphic/helper/text\");\n\nvar Text = require(\"../graphic/Text\");\n\n// TODO\n// 1. shadow\n// 2. Image: sx, sy, sw, sh\nvar CMD = PathProxy.CMD;\nvar arrayJoin = Array.prototype.join;\nvar NONE = 'none';\nvar mathRound = Math.round;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI = Math.PI;\nvar PI2 = Math.PI * 2;\nvar degree = 180 / PI;\nvar EPSILON = 1e-4;\n\nfunction round4(val) {\n return mathRound(val * 1e4) / 1e4;\n}\n\nfunction isAroundZero(val) {\n return val < EPSILON && val > -EPSILON;\n}\n\nfunction pathHasFill(style, isText) {\n var fill = isText ? style.textFill : style.fill;\n return fill != null && fill !== NONE;\n}\n\nfunction pathHasStroke(style, isText) {\n var stroke = isText ? style.textStroke : style.stroke;\n return stroke != null && stroke !== NONE;\n}\n\nfunction setTransform(svgEl, m) {\n if (m) {\n attr(svgEl, 'transform', 'matrix(' + arrayJoin.call(m, ',') + ')');\n }\n}\n\nfunction attr(el, key, val) {\n if (!val || val.type !== 'linear' && val.type !== 'radial') {\n // Don't set attribute for gradient, since it need new dom nodes\n el.setAttribute(key, val);\n }\n}\n\nfunction attrXLink(el, key, val) {\n el.setAttributeNS('http://www.w3.org/1999/xlink', key, val);\n}\n\nfunction bindStyle(svgEl, style, isText, el) {\n if (pathHasFill(style, isText)) {\n var fill = isText ? style.textFill : style.fill;\n fill = fill === 'transparent' ? NONE : fill;\n /**\n * FIXME:\n * This is a temporary fix for Chrome's clipping bug\n * that happens when a clip-path is referring another one.\n * This fix should be used before Chrome's bug is fixed.\n * For an element that has clip-path, and fill is none,\n * set it to be \"rgba(0, 0, 0, 0.002)\" will hide the element.\n * Otherwise, it will show black fill color.\n * 0.002 is used because this won't work for alpha values smaller\n * than 0.002.\n *\n * See\n * https://bugs.chromium.org/p/chromium/issues/detail?id=659790\n * for more information.\n */\n\n if (svgEl.getAttribute('clip-path') !== 'none' && fill === NONE) {\n fill = 'rgba(0, 0, 0, 0.002)';\n }\n\n attr(svgEl, 'fill', fill);\n attr(svgEl, 'fill-opacity', style.fillOpacity != null ? style.fillOpacity * style.opacity : style.opacity);\n } else {\n attr(svgEl, 'fill', NONE);\n }\n\n if (pathHasStroke(style, isText)) {\n var stroke = isText ? style.textStroke : style.stroke;\n stroke = stroke === 'transparent' ? NONE : stroke;\n attr(svgEl, 'stroke', stroke);\n var strokeWidth = isText ? style.textStrokeWidth : style.lineWidth;\n var strokeScale = !isText && style.strokeNoScale ? el.getLineScale() : 1;\n attr(svgEl, 'stroke-width', strokeWidth / strokeScale); // stroke then fill for text; fill then stroke for others\n\n attr(svgEl, 'paint-order', isText ? 'stroke' : 'fill');\n attr(svgEl, 'stroke-opacity', style.strokeOpacity != null ? style.strokeOpacity : style.opacity);\n var lineDash = style.lineDash;\n\n if (lineDash) {\n attr(svgEl, 'stroke-dasharray', style.lineDash.join(','));\n attr(svgEl, 'stroke-dashoffset', mathRound(style.lineDashOffset || 0));\n } else {\n attr(svgEl, 'stroke-dasharray', '');\n } // PENDING\n\n\n style.lineCap && attr(svgEl, 'stroke-linecap', style.lineCap);\n style.lineJoin && attr(svgEl, 'stroke-linejoin', style.lineJoin);\n style.miterLimit && attr(svgEl, 'stroke-miterlimit', style.miterLimit);\n } else {\n attr(svgEl, 'stroke', NONE);\n }\n}\n/***************************************************\n * PATH\n **************************************************/\n\n\nfunction pathDataToString(path) {\n var str = [];\n var data = path.data;\n var dataLength = path.len();\n\n for (var i = 0; i < dataLength;) {\n var cmd = data[i++];\n var cmdStr = '';\n var nData = 0;\n\n switch (cmd) {\n case CMD.M:\n cmdStr = 'M';\n nData = 2;\n break;\n\n case CMD.L:\n cmdStr = 'L';\n nData = 2;\n break;\n\n case CMD.Q:\n cmdStr = 'Q';\n nData = 4;\n break;\n\n case CMD.C:\n cmdStr = 'C';\n nData = 6;\n break;\n\n case CMD.A:\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var theta = data[i++];\n var dTheta = data[i++];\n var psi = data[i++];\n var clockwise = data[i++];\n var dThetaPositive = Math.abs(dTheta);\n var isCircle = isAroundZero(dThetaPositive - PI2) && !isAroundZero(dThetaPositive);\n var large = false;\n\n if (dThetaPositive >= PI2) {\n large = true;\n } else if (isAroundZero(dThetaPositive)) {\n large = false;\n } else {\n large = (dTheta > -PI && dTheta < 0 || dTheta > PI) === !!clockwise;\n }\n\n var x0 = round4(cx + rx * mathCos(theta));\n var y0 = round4(cy + ry * mathSin(theta)); // It will not draw if start point and end point are exactly the same\n // We need to shift the end point with a small value\n // FIXME A better way to draw circle ?\n\n if (isCircle) {\n if (clockwise) {\n dTheta = PI2 - 1e-4;\n } else {\n dTheta = -PI2 + 1e-4;\n }\n\n large = true;\n\n if (i === 9) {\n // Move to (x0, y0) only when CMD.A comes at the\n // first position of a shape.\n // For instance, when drawing a ring, CMD.A comes\n // after CMD.M, so it's unnecessary to move to\n // (x0, y0).\n str.push('M', x0, y0);\n }\n }\n\n var x = round4(cx + rx * mathCos(theta + dTheta));\n var y = round4(cy + ry * mathSin(theta + dTheta)); // FIXME Ellipse\n\n str.push('A', round4(rx), round4(ry), mathRound(psi * degree), +large, +clockwise, x, y);\n break;\n\n case CMD.Z:\n cmdStr = 'Z';\n break;\n\n case CMD.R:\n var x = round4(data[i++]);\n var y = round4(data[i++]);\n var w = round4(data[i++]);\n var h = round4(data[i++]);\n str.push('M', x, y, 'L', x + w, y, 'L', x + w, y + h, 'L', x, y + h, 'L', x, y);\n break;\n }\n\n cmdStr && str.push(cmdStr);\n\n for (var j = 0; j < nData; j++) {\n // PENDING With scale\n str.push(round4(data[i++]));\n }\n }\n\n return str.join(' ');\n}\n\nvar svgPath = {};\n\nsvgPath.brush = function (el) {\n var style = el.style;\n var svgEl = el.__svgEl;\n\n if (!svgEl) {\n svgEl = createElement('path');\n el.__svgEl = svgEl;\n }\n\n if (!el.path) {\n el.createPathProxy();\n }\n\n var path = el.path;\n\n if (el.__dirtyPath) {\n path.beginPath();\n path.subPixelOptimize = false;\n el.buildPath(path, el.shape);\n el.__dirtyPath = false;\n var pathStr = pathDataToString(path);\n\n if (pathStr.indexOf('NaN') < 0) {\n // Ignore illegal path, which may happen such in out-of-range\n // data in Calendar series.\n attr(svgEl, 'd', pathStr);\n }\n }\n\n bindStyle(svgEl, style, false, el);\n setTransform(svgEl, el.transform);\n\n if (style.text != null) {\n svgTextDrawRectText(el, el.getBoundingRect());\n }\n};\n/***************************************************\n * IMAGE\n **************************************************/\n\n\nvar svgImage = {};\n\nsvgImage.brush = function (el) {\n var style = el.style;\n var image = style.image;\n\n if (image instanceof HTMLImageElement) {\n var src = image.src;\n image = src;\n }\n\n if (!image) {\n return;\n }\n\n var x = style.x || 0;\n var y = style.y || 0;\n var dw = style.width;\n var dh = style.height;\n var svgEl = el.__svgEl;\n\n if (!svgEl) {\n svgEl = createElement('image');\n el.__svgEl = svgEl;\n }\n\n if (image !== el.__imageSrc) {\n attrXLink(svgEl, 'href', image); // Caching image src\n\n el.__imageSrc = image;\n }\n\n attr(svgEl, 'width', dw);\n attr(svgEl, 'height', dh);\n attr(svgEl, 'x', x);\n attr(svgEl, 'y', y);\n setTransform(svgEl, el.transform);\n\n if (style.text != null) {\n svgTextDrawRectText(el, el.getBoundingRect());\n }\n};\n/***************************************************\n * TEXT\n **************************************************/\n\n\nvar svgText = {};\nvar tmpRect = new BoundingRect();\n\nvar svgTextDrawRectText = function (el, rect, textRect) {\n var style = el.style;\n el.__dirty && textHelper.normalizeTextStyle(style, true);\n var text = style.text; // Convert to string\n\n if (text == null) {\n // Draw no text only when text is set to null, but not ''\n return;\n } else {\n text += '';\n }\n\n var textSvgEl = el.__textSvgEl;\n\n if (!textSvgEl) {\n textSvgEl = createElement('text');\n el.__textSvgEl = textSvgEl;\n }\n\n var x;\n var y;\n var textPosition = style.textPosition;\n var distance = style.textDistance;\n var align = style.textAlign || 'left';\n\n if (typeof style.fontSize === 'number') {\n style.fontSize += 'px';\n }\n\n var font = style.font || [style.fontStyle || '', style.fontWeight || '', style.fontSize || '', style.fontFamily || ''].join(' ') || textContain.DEFAULT_FONT;\n var verticalAlign = getVerticalAlignForSvg(style.textVerticalAlign);\n textRect = textContain.getBoundingRect(text, font, align, verticalAlign, style.textPadding, style.textLineHeight);\n var lineHeight = textRect.lineHeight; // Text position represented by coord\n\n if (textPosition instanceof Array) {\n x = rect.x + textPosition[0];\n y = rect.y + textPosition[1];\n } else {\n var newPos = textContain.adjustTextPositionOnRect(textPosition, rect, distance);\n x = newPos.x;\n y = newPos.y;\n verticalAlign = getVerticalAlignForSvg(newPos.textVerticalAlign);\n align = newPos.textAlign;\n }\n\n attr(textSvgEl, 'alignment-baseline', verticalAlign);\n\n if (font) {\n textSvgEl.style.font = font;\n }\n\n var textPadding = style.textPadding; // Make baseline top\n\n attr(textSvgEl, 'x', x);\n attr(textSvgEl, 'y', y);\n bindStyle(textSvgEl, style, true, el);\n\n if (el instanceof Text || el.style.transformText) {\n // Transform text with element\n setTransform(textSvgEl, el.transform);\n } else {\n if (el.transform) {\n tmpRect.copy(rect);\n tmpRect.applyTransform(el.transform);\n rect = tmpRect;\n } else {\n var pos = el.transformCoordToGlobal(rect.x, rect.y);\n rect.x = pos[0];\n rect.y = pos[1];\n el.transform = matrix.identity(matrix.create());\n } // Text rotation, but no element transform\n\n\n var origin = style.textOrigin;\n\n if (origin === 'center') {\n x = textRect.width / 2 + x;\n y = textRect.height / 2 + y;\n } else if (origin) {\n x = origin[0] + x;\n y = origin[1] + y;\n }\n\n var rotate = -style.textRotation || 0;\n var transform = matrix.create(); // Apply textRotate to element matrix\n\n matrix.rotate(transform, transform, rotate);\n var pos = [el.transform[4], el.transform[5]];\n matrix.translate(transform, transform, pos);\n setTransform(textSvgEl, transform);\n }\n\n var textLines = text.split('\\n');\n var nTextLines = textLines.length;\n var textAnchor = align; // PENDING\n\n if (textAnchor === 'left') {\n textAnchor = 'start';\n textPadding && (x += textPadding[3]);\n } else if (textAnchor === 'right') {\n textAnchor = 'end';\n textPadding && (x -= textPadding[1]);\n } else if (textAnchor === 'center') {\n textAnchor = 'middle';\n textPadding && (x += (textPadding[3] - textPadding[1]) / 2);\n }\n\n var dy = 0;\n\n if (verticalAlign === 'after-edge') {\n dy = -textRect.height + lineHeight;\n textPadding && (dy -= textPadding[2]);\n } else if (verticalAlign === 'middle') {\n dy = (-textRect.height + lineHeight) / 2;\n textPadding && (y += (textPadding[0] - textPadding[2]) / 2);\n } else {\n textPadding && (dy += textPadding[0]);\n } // Font may affect position of each tspan elements\n\n\n if (el.__text !== text || el.__textFont !== font) {\n var tspanList = el.__tspanList || [];\n el.__tspanList = tspanList;\n\n for (var i = 0; i < nTextLines; i++) {\n // Using cached tspan elements\n var tspan = tspanList[i];\n\n if (!tspan) {\n tspan = tspanList[i] = createElement('tspan');\n textSvgEl.appendChild(tspan);\n attr(tspan, 'alignment-baseline', verticalAlign);\n attr(tspan, 'text-anchor', textAnchor);\n } else {\n tspan.innerHTML = '';\n }\n\n attr(tspan, 'x', x);\n attr(tspan, 'y', y + i * lineHeight + dy);\n tspan.appendChild(document.createTextNode(textLines[i]));\n } // Remove unsed tspan elements\n\n\n for (; i < tspanList.length; i++) {\n textSvgEl.removeChild(tspanList[i]);\n }\n\n tspanList.length = nTextLines;\n el.__text = text;\n el.__textFont = font;\n } else if (el.__tspanList.length) {\n // Update span x and y\n var len = el.__tspanList.length;\n\n for (var i = 0; i < len; ++i) {\n var tspan = el.__tspanList[i];\n\n if (tspan) {\n attr(tspan, 'x', x);\n attr(tspan, 'y', y + i * lineHeight + dy);\n }\n }\n }\n};\n\nfunction getVerticalAlignForSvg(verticalAlign) {\n if (verticalAlign === 'middle') {\n return 'middle';\n } else if (verticalAlign === 'bottom') {\n return 'after-edge';\n } else {\n return 'hanging';\n }\n}\n\nsvgText.drawRectText = svgTextDrawRectText;\n\nsvgText.brush = function (el) {\n var style = el.style;\n\n if (style.text != null) {\n // 强制设置 textPosition\n style.textPosition = [0, 0];\n svgTextDrawRectText(el, {\n x: style.x || 0,\n y: style.y || 0,\n width: 0,\n height: 0\n }, el.getBoundingRect());\n }\n};\n\nexports.path = svgPath;\nexports.image = svgImage;\nexports.text = svgText;","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","'use strict';\n\nexports.__esModule = true;\nexports.removeResizeListener = exports.addResizeListener = undefined;\n\nvar _resizeObserverPolyfill = require('resize-observer-polyfill');\n\nvar _resizeObserverPolyfill2 = _interopRequireDefault(_resizeObserverPolyfill);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = typeof window === 'undefined';\n\n/* istanbul ignore next */\nvar resizeHandler = function resizeHandler(entries) {\n for (var _iterator = entries, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n var _ref;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref = _iterator[_i++];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref = _i.value;\n }\n\n var entry = _ref;\n\n var listeners = entry.target.__resizeListeners__ || [];\n if (listeners.length) {\n listeners.forEach(function (fn) {\n fn();\n });\n }\n }\n};\n\n/* istanbul ignore next */\nvar addResizeListener = exports.addResizeListener = function addResizeListener(element, fn) {\n if (isServer) return;\n if (!element.__resizeListeners__) {\n element.__resizeListeners__ = [];\n element.__ro__ = new _resizeObserverPolyfill2.default(resizeHandler);\n element.__ro__.observe(element);\n }\n element.__resizeListeners__.push(fn);\n};\n\n/* istanbul ignore next */\nvar removeResizeListener = exports.removeResizeListener = function removeResizeListener(element, fn) {\n if (!element || !element.__resizeListeners__) return;\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n if (!element.__resizeListeners__.length) {\n element.__ro__.disconnect();\n }\n};","var ArrayCtor = typeof Float32Array === 'undefined' ? Array : Float32Array;\n/**\n * 创建一个向量\n * @param {number} [x=0]\n * @param {number} [y=0]\n * @return {Vector2}\n */\n\nfunction create(x, y) {\n var out = new ArrayCtor(2);\n\n if (x == null) {\n x = 0;\n }\n\n if (y == null) {\n y = 0;\n }\n\n out[0] = x;\n out[1] = y;\n return out;\n}\n/**\n * 复制向量数据\n * @param {Vector2} out\n * @param {Vector2} v\n * @return {Vector2}\n */\n\n\nfunction copy(out, v) {\n out[0] = v[0];\n out[1] = v[1];\n return out;\n}\n/**\n * 克隆一个向量\n * @param {Vector2} v\n * @return {Vector2}\n */\n\n\nfunction clone(v) {\n var out = new ArrayCtor(2);\n out[0] = v[0];\n out[1] = v[1];\n return out;\n}\n/**\n * 设置向量的两个项\n * @param {Vector2} out\n * @param {number} a\n * @param {number} b\n * @return {Vector2} 结果\n */\n\n\nfunction set(out, a, b) {\n out[0] = a;\n out[1] = b;\n return out;\n}\n/**\n * 向量相加\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction add(out, v1, v2) {\n out[0] = v1[0] + v2[0];\n out[1] = v1[1] + v2[1];\n return out;\n}\n/**\n * 向量缩放后相加\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @param {number} a\n */\n\n\nfunction scaleAndAdd(out, v1, v2, a) {\n out[0] = v1[0] + v2[0] * a;\n out[1] = v1[1] + v2[1] * a;\n return out;\n}\n/**\n * 向量相减\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction sub(out, v1, v2) {\n out[0] = v1[0] - v2[0];\n out[1] = v1[1] - v2[1];\n return out;\n}\n/**\n * 向量长度\n * @param {Vector2} v\n * @return {number}\n */\n\n\nfunction len(v) {\n return Math.sqrt(lenSquare(v));\n}\n\nvar length = len; // jshint ignore:line\n\n/**\n * 向量长度平方\n * @param {Vector2} v\n * @return {number}\n */\n\nfunction lenSquare(v) {\n return v[0] * v[0] + v[1] * v[1];\n}\n\nvar lengthSquare = lenSquare;\n/**\n * 向量乘法\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\nfunction mul(out, v1, v2) {\n out[0] = v1[0] * v2[0];\n out[1] = v1[1] * v2[1];\n return out;\n}\n/**\n * 向量除法\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction div(out, v1, v2) {\n out[0] = v1[0] / v2[0];\n out[1] = v1[1] / v2[1];\n return out;\n}\n/**\n * 向量点乘\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @return {number}\n */\n\n\nfunction dot(v1, v2) {\n return v1[0] * v2[0] + v1[1] * v2[1];\n}\n/**\n * 向量缩放\n * @param {Vector2} out\n * @param {Vector2} v\n * @param {number} s\n */\n\n\nfunction scale(out, v, s) {\n out[0] = v[0] * s;\n out[1] = v[1] * s;\n return out;\n}\n/**\n * 向量归一化\n * @param {Vector2} out\n * @param {Vector2} v\n */\n\n\nfunction normalize(out, v) {\n var d = len(v);\n\n if (d === 0) {\n out[0] = 0;\n out[1] = 0;\n } else {\n out[0] = v[0] / d;\n out[1] = v[1] / d;\n }\n\n return out;\n}\n/**\n * 计算向量间距离\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @return {number}\n */\n\n\nfunction distance(v1, v2) {\n return Math.sqrt((v1[0] - v2[0]) * (v1[0] - v2[0]) + (v1[1] - v2[1]) * (v1[1] - v2[1]));\n}\n\nvar dist = distance;\n/**\n * 向量距离平方\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @return {number}\n */\n\nfunction distanceSquare(v1, v2) {\n return (v1[0] - v2[0]) * (v1[0] - v2[0]) + (v1[1] - v2[1]) * (v1[1] - v2[1]);\n}\n\nvar distSquare = distanceSquare;\n/**\n * 求负向量\n * @param {Vector2} out\n * @param {Vector2} v\n */\n\nfunction negate(out, v) {\n out[0] = -v[0];\n out[1] = -v[1];\n return out;\n}\n/**\n * 插值两个点\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n * @param {number} t\n */\n\n\nfunction lerp(out, v1, v2, t) {\n out[0] = v1[0] + t * (v2[0] - v1[0]);\n out[1] = v1[1] + t * (v2[1] - v1[1]);\n return out;\n}\n/**\n * 矩阵左乘向量\n * @param {Vector2} out\n * @param {Vector2} v\n * @param {Vector2} m\n */\n\n\nfunction applyTransform(out, v, m) {\n var x = v[0];\n var y = v[1];\n out[0] = m[0] * x + m[2] * y + m[4];\n out[1] = m[1] * x + m[3] * y + m[5];\n return out;\n}\n/**\n * 求两个向量最小值\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction min(out, v1, v2) {\n out[0] = Math.min(v1[0], v2[0]);\n out[1] = Math.min(v1[1], v2[1]);\n return out;\n}\n/**\n * 求两个向量最大值\n * @param {Vector2} out\n * @param {Vector2} v1\n * @param {Vector2} v2\n */\n\n\nfunction max(out, v1, v2) {\n out[0] = Math.max(v1[0], v2[0]);\n out[1] = Math.max(v1[1], v2[1]);\n return out;\n}\n\nexports.create = create;\nexports.copy = copy;\nexports.clone = clone;\nexports.set = set;\nexports.add = add;\nexports.scaleAndAdd = scaleAndAdd;\nexports.sub = sub;\nexports.len = len;\nexports.length = length;\nexports.lenSquare = lenSquare;\nexports.lengthSquare = lengthSquare;\nexports.mul = mul;\nexports.div = div;\nexports.dot = dot;\nexports.scale = scale;\nexports.normalize = normalize;\nexports.distance = distance;\nexports.dist = dist;\nexports.distanceSquare = distanceSquare;\nexports.distSquare = distSquare;\nexports.negate = negate;\nexports.lerp = lerp;\nexports.applyTransform = applyTransform;\nexports.min = min;\nexports.max = max;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar DataZoomModel = require(\"./DataZoomModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = DataZoomModel.extend({\n type: 'dataZoom.select'\n});\n\nmodule.exports = _default;","'use strict';\n\nexports.__esModule = true;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _dom = require('element-ui/lib/utils/dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar nodeList = [];\nvar ctx = '@@clickoutsideContext';\n\nvar startClick = void 0;\nvar seed = 0;\n\n!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mousedown', function (e) {\n return startClick = e;\n});\n\n!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mouseup', function (e) {\n nodeList.forEach(function (node) {\n return node[ctx].documentHandler(e, startClick);\n });\n});\n\nfunction createDocumentHandler(el, binding, vnode) {\n return function () {\n var mouseup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var mousedown = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!vnode || !vnode.context || !mouseup.target || !mousedown.target || el.contains(mouseup.target) || el.contains(mousedown.target) || el === mouseup.target || vnode.context.popperElm && (vnode.context.popperElm.contains(mouseup.target) || vnode.context.popperElm.contains(mousedown.target))) return;\n\n if (binding.expression && el[ctx].methodName && vnode.context[el[ctx].methodName]) {\n vnode.context[el[ctx].methodName]();\n } else {\n el[ctx].bindingFn && el[ctx].bindingFn();\n }\n };\n}\n\n/**\n * v-clickoutside\n * @desc 点击元素外面才会触发的事件\n * @example\n * ```vue\n *
\n * ```\n */\nexports.default = {\n bind: function bind(el, binding, vnode) {\n nodeList.push(el);\n var id = seed++;\n el[ctx] = {\n id: id,\n documentHandler: createDocumentHandler(el, binding, vnode),\n methodName: binding.expression,\n bindingFn: binding.value\n };\n },\n update: function update(el, binding, vnode) {\n el[ctx].documentHandler = createDocumentHandler(el, binding, vnode);\n el[ctx].methodName = binding.expression;\n el[ctx].bindingFn = binding.value;\n },\n unbind: function unbind(el) {\n var len = nodeList.length;\n\n for (var i = 0; i < len; i++) {\n if (nodeList[i][ctx].id === el[ctx].id) {\n nodeList.splice(i, 1);\n break;\n }\n }\n delete el[ctx];\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};","var LRU = require(\"../core/LRU\");\n\nvar kCSSColorTable = {\n 'transparent': [0, 0, 0, 0],\n 'aliceblue': [240, 248, 255, 1],\n 'antiquewhite': [250, 235, 215, 1],\n 'aqua': [0, 255, 255, 1],\n 'aquamarine': [127, 255, 212, 1],\n 'azure': [240, 255, 255, 1],\n 'beige': [245, 245, 220, 1],\n 'bisque': [255, 228, 196, 1],\n 'black': [0, 0, 0, 1],\n 'blanchedalmond': [255, 235, 205, 1],\n 'blue': [0, 0, 255, 1],\n 'blueviolet': [138, 43, 226, 1],\n 'brown': [165, 42, 42, 1],\n 'burlywood': [222, 184, 135, 1],\n 'cadetblue': [95, 158, 160, 1],\n 'chartreuse': [127, 255, 0, 1],\n 'chocolate': [210, 105, 30, 1],\n 'coral': [255, 127, 80, 1],\n 'cornflowerblue': [100, 149, 237, 1],\n 'cornsilk': [255, 248, 220, 1],\n 'crimson': [220, 20, 60, 1],\n 'cyan': [0, 255, 255, 1],\n 'darkblue': [0, 0, 139, 1],\n 'darkcyan': [0, 139, 139, 1],\n 'darkgoldenrod': [184, 134, 11, 1],\n 'darkgray': [169, 169, 169, 1],\n 'darkgreen': [0, 100, 0, 1],\n 'darkgrey': [169, 169, 169, 1],\n 'darkkhaki': [189, 183, 107, 1],\n 'darkmagenta': [139, 0, 139, 1],\n 'darkolivegreen': [85, 107, 47, 1],\n 'darkorange': [255, 140, 0, 1],\n 'darkorchid': [153, 50, 204, 1],\n 'darkred': [139, 0, 0, 1],\n 'darksalmon': [233, 150, 122, 1],\n 'darkseagreen': [143, 188, 143, 1],\n 'darkslateblue': [72, 61, 139, 1],\n 'darkslategray': [47, 79, 79, 1],\n 'darkslategrey': [47, 79, 79, 1],\n 'darkturquoise': [0, 206, 209, 1],\n 'darkviolet': [148, 0, 211, 1],\n 'deeppink': [255, 20, 147, 1],\n 'deepskyblue': [0, 191, 255, 1],\n 'dimgray': [105, 105, 105, 1],\n 'dimgrey': [105, 105, 105, 1],\n 'dodgerblue': [30, 144, 255, 1],\n 'firebrick': [178, 34, 34, 1],\n 'floralwhite': [255, 250, 240, 1],\n 'forestgreen': [34, 139, 34, 1],\n 'fuchsia': [255, 0, 255, 1],\n 'gainsboro': [220, 220, 220, 1],\n 'ghostwhite': [248, 248, 255, 1],\n 'gold': [255, 215, 0, 1],\n 'goldenrod': [218, 165, 32, 1],\n 'gray': [128, 128, 128, 1],\n 'green': [0, 128, 0, 1],\n 'greenyellow': [173, 255, 47, 1],\n 'grey': [128, 128, 128, 1],\n 'honeydew': [240, 255, 240, 1],\n 'hotpink': [255, 105, 180, 1],\n 'indianred': [205, 92, 92, 1],\n 'indigo': [75, 0, 130, 1],\n 'ivory': [255, 255, 240, 1],\n 'khaki': [240, 230, 140, 1],\n 'lavender': [230, 230, 250, 1],\n 'lavenderblush': [255, 240, 245, 1],\n 'lawngreen': [124, 252, 0, 1],\n 'lemonchiffon': [255, 250, 205, 1],\n 'lightblue': [173, 216, 230, 1],\n 'lightcoral': [240, 128, 128, 1],\n 'lightcyan': [224, 255, 255, 1],\n 'lightgoldenrodyellow': [250, 250, 210, 1],\n 'lightgray': [211, 211, 211, 1],\n 'lightgreen': [144, 238, 144, 1],\n 'lightgrey': [211, 211, 211, 1],\n 'lightpink': [255, 182, 193, 1],\n 'lightsalmon': [255, 160, 122, 1],\n 'lightseagreen': [32, 178, 170, 1],\n 'lightskyblue': [135, 206, 250, 1],\n 'lightslategray': [119, 136, 153, 1],\n 'lightslategrey': [119, 136, 153, 1],\n 'lightsteelblue': [176, 196, 222, 1],\n 'lightyellow': [255, 255, 224, 1],\n 'lime': [0, 255, 0, 1],\n 'limegreen': [50, 205, 50, 1],\n 'linen': [250, 240, 230, 1],\n 'magenta': [255, 0, 255, 1],\n 'maroon': [128, 0, 0, 1],\n 'mediumaquamarine': [102, 205, 170, 1],\n 'mediumblue': [0, 0, 205, 1],\n 'mediumorchid': [186, 85, 211, 1],\n 'mediumpurple': [147, 112, 219, 1],\n 'mediumseagreen': [60, 179, 113, 1],\n 'mediumslateblue': [123, 104, 238, 1],\n 'mediumspringgreen': [0, 250, 154, 1],\n 'mediumturquoise': [72, 209, 204, 1],\n 'mediumvioletred': [199, 21, 133, 1],\n 'midnightblue': [25, 25, 112, 1],\n 'mintcream': [245, 255, 250, 1],\n 'mistyrose': [255, 228, 225, 1],\n 'moccasin': [255, 228, 181, 1],\n 'navajowhite': [255, 222, 173, 1],\n 'navy': [0, 0, 128, 1],\n 'oldlace': [253, 245, 230, 1],\n 'olive': [128, 128, 0, 1],\n 'olivedrab': [107, 142, 35, 1],\n 'orange': [255, 165, 0, 1],\n 'orangered': [255, 69, 0, 1],\n 'orchid': [218, 112, 214, 1],\n 'palegoldenrod': [238, 232, 170, 1],\n 'palegreen': [152, 251, 152, 1],\n 'paleturquoise': [175, 238, 238, 1],\n 'palevioletred': [219, 112, 147, 1],\n 'papayawhip': [255, 239, 213, 1],\n 'peachpuff': [255, 218, 185, 1],\n 'peru': [205, 133, 63, 1],\n 'pink': [255, 192, 203, 1],\n 'plum': [221, 160, 221, 1],\n 'powderblue': [176, 224, 230, 1],\n 'purple': [128, 0, 128, 1],\n 'red': [255, 0, 0, 1],\n 'rosybrown': [188, 143, 143, 1],\n 'royalblue': [65, 105, 225, 1],\n 'saddlebrown': [139, 69, 19, 1],\n 'salmon': [250, 128, 114, 1],\n 'sandybrown': [244, 164, 96, 1],\n 'seagreen': [46, 139, 87, 1],\n 'seashell': [255, 245, 238, 1],\n 'sienna': [160, 82, 45, 1],\n 'silver': [192, 192, 192, 1],\n 'skyblue': [135, 206, 235, 1],\n 'slateblue': [106, 90, 205, 1],\n 'slategray': [112, 128, 144, 1],\n 'slategrey': [112, 128, 144, 1],\n 'snow': [255, 250, 250, 1],\n 'springgreen': [0, 255, 127, 1],\n 'steelblue': [70, 130, 180, 1],\n 'tan': [210, 180, 140, 1],\n 'teal': [0, 128, 128, 1],\n 'thistle': [216, 191, 216, 1],\n 'tomato': [255, 99, 71, 1],\n 'turquoise': [64, 224, 208, 1],\n 'violet': [238, 130, 238, 1],\n 'wheat': [245, 222, 179, 1],\n 'white': [255, 255, 255, 1],\n 'whitesmoke': [245, 245, 245, 1],\n 'yellow': [255, 255, 0, 1],\n 'yellowgreen': [154, 205, 50, 1]\n};\n\nfunction clampCssByte(i) {\n // Clamp to integer 0 .. 255.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clampCssAngle(i) {\n // Clamp to integer 0 .. 360.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n\n return i < 0 ? 0 : i > 360 ? 360 : i;\n}\n\nfunction clampCssFloat(f) {\n // Clamp to float 0.0 .. 1.0.\n return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parseCssInt(str) {\n // int or percentage.\n if (str.length && str.charAt(str.length - 1) === '%') {\n return clampCssByte(parseFloat(str) / 100 * 255);\n }\n\n return clampCssByte(parseInt(str, 10));\n}\n\nfunction parseCssFloat(str) {\n // float or percentage.\n if (str.length && str.charAt(str.length - 1) === '%') {\n return clampCssFloat(parseFloat(str) / 100);\n }\n\n return clampCssFloat(parseFloat(str));\n}\n\nfunction cssHueToRgb(m1, m2, h) {\n if (h < 0) {\n h += 1;\n } else if (h > 1) {\n h -= 1;\n }\n\n if (h * 6 < 1) {\n return m1 + (m2 - m1) * h * 6;\n }\n\n if (h * 2 < 1) {\n return m2;\n }\n\n if (h * 3 < 2) {\n return m1 + (m2 - m1) * (2 / 3 - h) * 6;\n }\n\n return m1;\n}\n\nfunction lerpNumber(a, b, p) {\n return a + (b - a) * p;\n}\n\nfunction setRgba(out, r, g, b, a) {\n out[0] = r;\n out[1] = g;\n out[2] = b;\n out[3] = a;\n return out;\n}\n\nfunction copyRgba(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n}\n\nvar colorCache = new LRU(20);\nvar lastRemovedArr = null;\n\nfunction putToCache(colorStr, rgbaArr) {\n // Reuse removed array\n if (lastRemovedArr) {\n copyRgba(lastRemovedArr, rgbaArr);\n }\n\n lastRemovedArr = colorCache.put(colorStr, lastRemovedArr || rgbaArr.slice());\n}\n/**\n * @param {string} colorStr\n * @param {Array.} out\n * @return {Array.}\n * @memberOf module:zrender/util/color\n */\n\n\nfunction parse(colorStr, rgbaArr) {\n if (!colorStr) {\n return;\n }\n\n rgbaArr = rgbaArr || [];\n var cached = colorCache.get(colorStr);\n\n if (cached) {\n return copyRgba(rgbaArr, cached);\n } // colorStr may be not string\n\n\n colorStr = colorStr + ''; // Remove all whitespace, not compliant, but should just be more accepting.\n\n var str = colorStr.replace(/ /g, '').toLowerCase(); // Color keywords (and transparent) lookup.\n\n if (str in kCSSColorTable) {\n copyRgba(rgbaArr, kCSSColorTable[str]);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n } // #abc and #abc123 syntax.\n\n\n if (str.charAt(0) === '#') {\n if (str.length === 4) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n\n if (!(iv >= 0 && iv <= 0xfff)) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return; // Covers NaN.\n }\n\n setRgba(rgbaArr, (iv & 0xf00) >> 4 | (iv & 0xf00) >> 8, iv & 0xf0 | (iv & 0xf0) >> 4, iv & 0xf | (iv & 0xf) << 4, 1);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n } else if (str.length === 7) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n\n if (!(iv >= 0 && iv <= 0xffffff)) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return; // Covers NaN.\n }\n\n setRgba(rgbaArr, (iv & 0xff0000) >> 16, (iv & 0xff00) >> 8, iv & 0xff, 1);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n }\n\n return;\n }\n\n var op = str.indexOf('(');\n var ep = str.indexOf(')');\n\n if (op !== -1 && ep + 1 === str.length) {\n var fname = str.substr(0, op);\n var params = str.substr(op + 1, ep - (op + 1)).split(',');\n var alpha = 1; // To allow case fallthrough.\n\n switch (fname) {\n case 'rgba':\n if (params.length !== 4) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n\n alpha = parseCssFloat(params.pop());\n // jshint ignore:line\n // Fall through.\n\n case 'rgb':\n if (params.length !== 3) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n\n setRgba(rgbaArr, parseCssInt(params[0]), parseCssInt(params[1]), parseCssInt(params[2]), alpha);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n\n case 'hsla':\n if (params.length !== 4) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n\n params[3] = parseCssFloat(params[3]);\n hsla2rgba(params, rgbaArr);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n\n case 'hsl':\n if (params.length !== 3) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n\n hsla2rgba(params, rgbaArr);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n\n default:\n return;\n }\n }\n\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n}\n/**\n * @param {Array.} hsla\n * @param {Array.} rgba\n * @return {Array.} rgba\n */\n\n\nfunction hsla2rgba(hsla, rgba) {\n var h = (parseFloat(hsla[0]) % 360 + 360) % 360 / 360; // 0 .. 1\n // NOTE(deanm): According to the CSS spec s/l should only be\n // percentages, but we don't bother and let float or percentage.\n\n var s = parseCssFloat(hsla[1]);\n var l = parseCssFloat(hsla[2]);\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var m1 = l * 2 - m2;\n rgba = rgba || [];\n setRgba(rgba, clampCssByte(cssHueToRgb(m1, m2, h + 1 / 3) * 255), clampCssByte(cssHueToRgb(m1, m2, h) * 255), clampCssByte(cssHueToRgb(m1, m2, h - 1 / 3) * 255), 1);\n\n if (hsla.length === 4) {\n rgba[3] = hsla[3];\n }\n\n return rgba;\n}\n/**\n * @param {Array.} rgba\n * @return {Array.} hsla\n */\n\n\nfunction rgba2hsla(rgba) {\n if (!rgba) {\n return;\n } // RGB from 0 to 255\n\n\n var R = rgba[0] / 255;\n var G = rgba[1] / 255;\n var B = rgba[2] / 255;\n var vMin = Math.min(R, G, B); // Min. value of RGB\n\n var vMax = Math.max(R, G, B); // Max. value of RGB\n\n var delta = vMax - vMin; // Delta RGB value\n\n var L = (vMax + vMin) / 2;\n var H;\n var S; // HSL results from 0 to 1\n\n if (delta === 0) {\n H = 0;\n S = 0;\n } else {\n if (L < 0.5) {\n S = delta / (vMax + vMin);\n } else {\n S = delta / (2 - vMax - vMin);\n }\n\n var deltaR = ((vMax - R) / 6 + delta / 2) / delta;\n var deltaG = ((vMax - G) / 6 + delta / 2) / delta;\n var deltaB = ((vMax - B) / 6 + delta / 2) / delta;\n\n if (R === vMax) {\n H = deltaB - deltaG;\n } else if (G === vMax) {\n H = 1 / 3 + deltaR - deltaB;\n } else if (B === vMax) {\n H = 2 / 3 + deltaG - deltaR;\n }\n\n if (H < 0) {\n H += 1;\n }\n\n if (H > 1) {\n H -= 1;\n }\n }\n\n var hsla = [H * 360, S, L];\n\n if (rgba[3] != null) {\n hsla.push(rgba[3]);\n }\n\n return hsla;\n}\n/**\n * @param {string} color\n * @param {number} level\n * @return {string}\n * @memberOf module:zrender/util/color\n */\n\n\nfunction lift(color, level) {\n var colorArr = parse(color);\n\n if (colorArr) {\n for (var i = 0; i < 3; i++) {\n if (level < 0) {\n colorArr[i] = colorArr[i] * (1 - level) | 0;\n } else {\n colorArr[i] = (255 - colorArr[i]) * level + colorArr[i] | 0;\n }\n\n if (colorArr[i] > 255) {\n colorArr[i] = 255;\n } else if (color[i] < 0) {\n colorArr[i] = 0;\n }\n }\n\n return stringify(colorArr, colorArr.length === 4 ? 'rgba' : 'rgb');\n }\n}\n/**\n * @param {string} color\n * @return {string}\n * @memberOf module:zrender/util/color\n */\n\n\nfunction toHex(color) {\n var colorArr = parse(color);\n\n if (colorArr) {\n return ((1 << 24) + (colorArr[0] << 16) + (colorArr[1] << 8) + +colorArr[2]).toString(16).slice(1);\n }\n}\n/**\n * Map value to color. Faster than lerp methods because color is represented by rgba array.\n * @param {number} normalizedValue A float between 0 and 1.\n * @param {Array.>} colors List of rgba color array\n * @param {Array.} [out] Mapped gba color array\n * @return {Array.} will be null/undefined if input illegal.\n */\n\n\nfunction fastLerp(normalizedValue, colors, out) {\n if (!(colors && colors.length) || !(normalizedValue >= 0 && normalizedValue <= 1)) {\n return;\n }\n\n out = out || [];\n var value = normalizedValue * (colors.length - 1);\n var leftIndex = Math.floor(value);\n var rightIndex = Math.ceil(value);\n var leftColor = colors[leftIndex];\n var rightColor = colors[rightIndex];\n var dv = value - leftIndex;\n out[0] = clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv));\n out[1] = clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv));\n out[2] = clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv));\n out[3] = clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv));\n return out;\n}\n/**\n * @deprecated\n */\n\n\nvar fastMapToColor = fastLerp;\n/**\n * @param {number} normalizedValue A float between 0 and 1.\n * @param {Array.} colors Color list.\n * @param {boolean=} fullOutput Default false.\n * @return {(string|Object)} Result color. If fullOutput,\n * return {color: ..., leftIndex: ..., rightIndex: ..., value: ...},\n * @memberOf module:zrender/util/color\n */\n\nfunction lerp(normalizedValue, colors, fullOutput) {\n if (!(colors && colors.length) || !(normalizedValue >= 0 && normalizedValue <= 1)) {\n return;\n }\n\n var value = normalizedValue * (colors.length - 1);\n var leftIndex = Math.floor(value);\n var rightIndex = Math.ceil(value);\n var leftColor = parse(colors[leftIndex]);\n var rightColor = parse(colors[rightIndex]);\n var dv = value - leftIndex;\n var color = stringify([clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv)), clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv)), clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv)), clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv))], 'rgba');\n return fullOutput ? {\n color: color,\n leftIndex: leftIndex,\n rightIndex: rightIndex,\n value: value\n } : color;\n}\n/**\n * @deprecated\n */\n\n\nvar mapToColor = lerp;\n/**\n * @param {string} color\n * @param {number=} h 0 ~ 360, ignore when null.\n * @param {number=} s 0 ~ 1, ignore when null.\n * @param {number=} l 0 ~ 1, ignore when null.\n * @return {string} Color string in rgba format.\n * @memberOf module:zrender/util/color\n */\n\nfunction modifyHSL(color, h, s, l) {\n color = parse(color);\n\n if (color) {\n color = rgba2hsla(color);\n h != null && (color[0] = clampCssAngle(h));\n s != null && (color[1] = parseCssFloat(s));\n l != null && (color[2] = parseCssFloat(l));\n return stringify(hsla2rgba(color), 'rgba');\n }\n}\n/**\n * @param {string} color\n * @param {number=} alpha 0 ~ 1\n * @return {string} Color string in rgba format.\n * @memberOf module:zrender/util/color\n */\n\n\nfunction modifyAlpha(color, alpha) {\n color = parse(color);\n\n if (color && alpha != null) {\n color[3] = clampCssFloat(alpha);\n return stringify(color, 'rgba');\n }\n}\n/**\n * @param {Array.} arrColor like [12,33,44,0.4]\n * @param {string} type 'rgba', 'hsva', ...\n * @return {string} Result color. (If input illegal, return undefined).\n */\n\n\nfunction stringify(arrColor, type) {\n if (!arrColor || !arrColor.length) {\n return;\n }\n\n var colorStr = arrColor[0] + ',' + arrColor[1] + ',' + arrColor[2];\n\n if (type === 'rgba' || type === 'hsva' || type === 'hsla') {\n colorStr += ',' + arrColor[3];\n }\n\n return type + '(' + colorStr + ')';\n}\n\nexports.parse = parse;\nexports.lift = lift;\nexports.toHex = toHex;\nexports.fastLerp = fastLerp;\nexports.fastMapToColor = fastMapToColor;\nexports.lerp = lerp;\nexports.mapToColor = mapToColor;\nexports.modifyHSL = modifyHSL;\nexports.modifyAlpha = modifyAlpha;\nexports.stringify = stringify;","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.isVNode = isVNode;\n\nvar _util = require('element-ui/lib/utils/util');\n\nfunction isVNode(node) {\n return node !== null && (typeof node === 'undefined' ? 'undefined' : _typeof(node)) === 'object' && (0, _util.hasOwn)(node, 'componentOptions');\n};","var global = require('../internals/global');\n\nmodule.exports = global;\n","/**\n * @param {Array.} colorStops\n */\nvar Gradient = function (colorStops) {\n this.colorStops = colorStops || [];\n};\n\nGradient.prototype = {\n constructor: Gradient,\n addColorStop: function (offset, color) {\n this.colorStops.push({\n offset: offset,\n color: color\n });\n }\n};\nvar _default = Gradient;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar TooltipContent = require(\"./TooltipContent\");\n\nvar TooltipRichContent = require(\"./TooltipRichContent\");\n\nvar formatUtil = require(\"../../util/format\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar findPointFromSeries = require(\"../axisPointer/findPointFromSeries\");\n\nvar layoutUtil = require(\"../../util/layout\");\n\nvar Model = require(\"../../model/Model\");\n\nvar globalListener = require(\"../axisPointer/globalListener\");\n\nvar axisHelper = require(\"../../coord/axisHelper\");\n\nvar axisPointerViewHelper = require(\"../axisPointer/viewHelper\");\n\nvar _model = require(\"../../util/model\");\n\nvar getTooltipRenderMode = _model.getTooltipRenderMode;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar bind = zrUtil.bind;\nvar each = zrUtil.each;\nvar parsePercent = numberUtil.parsePercent;\nvar proxyRect = new graphic.Rect({\n shape: {\n x: -1,\n y: -1,\n width: 2,\n height: 2\n }\n});\n\nvar _default = echarts.extendComponentView({\n type: 'tooltip',\n init: function (ecModel, api) {\n if (env.node) {\n return;\n }\n\n var tooltipModel = ecModel.getComponent('tooltip');\n var renderMode = tooltipModel.get('renderMode');\n this._renderMode = getTooltipRenderMode(renderMode);\n var tooltipContent;\n\n if (this._renderMode === 'html') {\n tooltipContent = new TooltipContent(api.getDom(), api);\n this._newLine = '
';\n } else {\n tooltipContent = new TooltipRichContent(api);\n this._newLine = '\\n';\n }\n\n this._tooltipContent = tooltipContent;\n },\n render: function (tooltipModel, ecModel, api) {\n if (env.node) {\n return;\n } // Reset\n\n\n this.group.removeAll();\n /**\n * @private\n * @type {module:echarts/component/tooltip/TooltipModel}\n */\n\n this._tooltipModel = tooltipModel;\n /**\n * @private\n * @type {module:echarts/model/Global}\n */\n\n this._ecModel = ecModel;\n /**\n * @private\n * @type {module:echarts/ExtensionAPI}\n */\n\n this._api = api;\n /**\n * Should be cleaned when render.\n * @private\n * @type {Array.>}\n */\n\n this._lastDataByCoordSys = null;\n /**\n * @private\n * @type {boolean}\n */\n\n this._alwaysShowContent = tooltipModel.get('alwaysShowContent');\n var tooltipContent = this._tooltipContent;\n tooltipContent.update();\n tooltipContent.setEnterable(tooltipModel.get('enterable'));\n\n this._initGlobalListener();\n\n this._keepShow();\n },\n _initGlobalListener: function () {\n var tooltipModel = this._tooltipModel;\n var triggerOn = tooltipModel.get('triggerOn');\n globalListener.register('itemTooltip', this._api, bind(function (currTrigger, e, dispatchAction) {\n // If 'none', it is not controlled by mouse totally.\n if (triggerOn !== 'none') {\n if (triggerOn.indexOf(currTrigger) >= 0) {\n this._tryShow(e, dispatchAction);\n } else if (currTrigger === 'leave') {\n this._hide(dispatchAction);\n }\n }\n }, this));\n },\n _keepShow: function () {\n var tooltipModel = this._tooltipModel;\n var ecModel = this._ecModel;\n var api = this._api; // Try to keep the tooltip show when refreshing\n\n if (this._lastX != null && this._lastY != null // When user is willing to control tooltip totally using API,\n // self.manuallyShowTip({x, y}) might cause tooltip hide,\n // which is not expected.\n && tooltipModel.get('triggerOn') !== 'none') {\n var self = this;\n clearTimeout(this._refreshUpdateTimeout);\n this._refreshUpdateTimeout = setTimeout(function () {\n // Show tip next tick after other charts are rendered\n // In case highlight action has wrong result\n // FIXME\n self.manuallyShowTip(tooltipModel, ecModel, api, {\n x: self._lastX,\n y: self._lastY\n });\n });\n }\n },\n\n /**\n * Show tip manually by\n * dispatchAction({\n * type: 'showTip',\n * x: 10,\n * y: 10\n * });\n * Or\n * dispatchAction({\n * type: 'showTip',\n * seriesIndex: 0,\n * dataIndex or dataIndexInside or name\n * });\n *\n * TODO Batch\n */\n manuallyShowTip: function (tooltipModel, ecModel, api, payload) {\n if (payload.from === this.uid || env.node) {\n return;\n }\n\n var dispatchAction = makeDispatchAction(payload, api); // Reset ticket\n\n this._ticket = ''; // When triggered from axisPointer.\n\n var dataByCoordSys = payload.dataByCoordSys;\n\n if (payload.tooltip && payload.x != null && payload.y != null) {\n var el = proxyRect;\n el.position = [payload.x, payload.y];\n el.update();\n el.tooltip = payload.tooltip; // Manually show tooltip while view is not using zrender elements.\n\n this._tryShow({\n offsetX: payload.x,\n offsetY: payload.y,\n target: el\n }, dispatchAction);\n } else if (dataByCoordSys) {\n this._tryShow({\n offsetX: payload.x,\n offsetY: payload.y,\n position: payload.position,\n event: {},\n dataByCoordSys: payload.dataByCoordSys,\n tooltipOption: payload.tooltipOption\n }, dispatchAction);\n } else if (payload.seriesIndex != null) {\n if (this._manuallyAxisShowTip(tooltipModel, ecModel, api, payload)) {\n return;\n }\n\n var pointInfo = findPointFromSeries(payload, ecModel);\n var cx = pointInfo.point[0];\n var cy = pointInfo.point[1];\n\n if (cx != null && cy != null) {\n this._tryShow({\n offsetX: cx,\n offsetY: cy,\n position: payload.position,\n target: pointInfo.el,\n event: {}\n }, dispatchAction);\n }\n } else if (payload.x != null && payload.y != null) {\n // FIXME\n // should wrap dispatchAction like `axisPointer/globalListener` ?\n api.dispatchAction({\n type: 'updateAxisPointer',\n x: payload.x,\n y: payload.y\n });\n\n this._tryShow({\n offsetX: payload.x,\n offsetY: payload.y,\n position: payload.position,\n target: api.getZr().findHover(payload.x, payload.y).target,\n event: {}\n }, dispatchAction);\n }\n },\n manuallyHideTip: function (tooltipModel, ecModel, api, payload) {\n var tooltipContent = this._tooltipContent;\n\n if (!this._alwaysShowContent && this._tooltipModel) {\n tooltipContent.hideLater(this._tooltipModel.get('hideDelay'));\n }\n\n this._lastX = this._lastY = null;\n\n if (payload.from !== this.uid) {\n this._hide(makeDispatchAction(payload, api));\n }\n },\n // Be compatible with previous design, that is, when tooltip.type is 'axis' and\n // dispatchAction 'showTip' with seriesIndex and dataIndex will trigger axis pointer\n // and tooltip.\n _manuallyAxisShowTip: function (tooltipModel, ecModel, api, payload) {\n var seriesIndex = payload.seriesIndex;\n var dataIndex = payload.dataIndex;\n var coordSysAxesInfo = ecModel.getComponent('axisPointer').coordSysAxesInfo;\n\n if (seriesIndex == null || dataIndex == null || coordSysAxesInfo == null) {\n return;\n }\n\n var seriesModel = ecModel.getSeriesByIndex(seriesIndex);\n\n if (!seriesModel) {\n return;\n }\n\n var data = seriesModel.getData();\n var tooltipModel = buildTooltipModel([data.getItemModel(dataIndex), seriesModel, (seriesModel.coordinateSystem || {}).model, tooltipModel]);\n\n if (tooltipModel.get('trigger') !== 'axis') {\n return;\n }\n\n api.dispatchAction({\n type: 'updateAxisPointer',\n seriesIndex: seriesIndex,\n dataIndex: dataIndex,\n position: payload.position\n });\n return true;\n },\n _tryShow: function (e, dispatchAction) {\n var el = e.target;\n var tooltipModel = this._tooltipModel;\n\n if (!tooltipModel) {\n return;\n } // Save mouse x, mouse y. So we can try to keep showing the tip if chart is refreshed\n\n\n this._lastX = e.offsetX;\n this._lastY = e.offsetY;\n var dataByCoordSys = e.dataByCoordSys;\n\n if (dataByCoordSys && dataByCoordSys.length) {\n this._showAxisTooltip(dataByCoordSys, e);\n } // Always show item tooltip if mouse is on the element with dataIndex\n else if (el && el.dataIndex != null) {\n this._lastDataByCoordSys = null;\n\n this._showSeriesItemTooltip(e, el, dispatchAction);\n } // Tooltip provided directly. Like legend.\n else if (el && el.tooltip) {\n this._lastDataByCoordSys = null;\n\n this._showComponentItemTooltip(e, el, dispatchAction);\n } else {\n this._lastDataByCoordSys = null;\n\n this._hide(dispatchAction);\n }\n },\n _showOrMove: function (tooltipModel, cb) {\n // showDelay is used in this case: tooltip.enterable is set\n // as true. User intent to move mouse into tooltip and click\n // something. `showDelay` makes it easyer to enter the content\n // but tooltip do not move immediately.\n var delay = tooltipModel.get('showDelay');\n cb = zrUtil.bind(cb, this);\n clearTimeout(this._showTimout);\n delay > 0 ? this._showTimout = setTimeout(cb, delay) : cb();\n },\n _showAxisTooltip: function (dataByCoordSys, e) {\n var ecModel = this._ecModel;\n var globalTooltipModel = this._tooltipModel;\n var point = [e.offsetX, e.offsetY];\n var singleDefaultHTML = [];\n var singleParamsList = [];\n var singleTooltipModel = buildTooltipModel([e.tooltipOption, globalTooltipModel]);\n var renderMode = this._renderMode;\n var newLine = this._newLine;\n var markers = {};\n each(dataByCoordSys, function (itemCoordSys) {\n // var coordParamList = [];\n // var coordDefaultHTML = [];\n // var coordTooltipModel = buildTooltipModel([\n // e.tooltipOption,\n // itemCoordSys.tooltipOption,\n // ecModel.getComponent(itemCoordSys.coordSysMainType, itemCoordSys.coordSysIndex),\n // globalTooltipModel\n // ]);\n // var displayMode = coordTooltipModel.get('displayMode');\n // var paramsList = displayMode === 'single' ? singleParamsList : [];\n each(itemCoordSys.dataByAxis, function (item) {\n var axisModel = ecModel.getComponent(item.axisDim + 'Axis', item.axisIndex);\n var axisValue = item.value;\n var seriesDefaultHTML = [];\n\n if (!axisModel || axisValue == null) {\n return;\n }\n\n var valueLabel = axisPointerViewHelper.getValueLabel(axisValue, axisModel.axis, ecModel, item.seriesDataIndices, item.valueLabelOpt);\n zrUtil.each(item.seriesDataIndices, function (idxItem) {\n var series = ecModel.getSeriesByIndex(idxItem.seriesIndex);\n var dataIndex = idxItem.dataIndexInside;\n var dataParams = series && series.getDataParams(dataIndex);\n dataParams.axisDim = item.axisDim;\n dataParams.axisIndex = item.axisIndex;\n dataParams.axisType = item.axisType;\n dataParams.axisId = item.axisId;\n dataParams.axisValue = axisHelper.getAxisRawValue(axisModel.axis, axisValue);\n dataParams.axisValueLabel = valueLabel;\n\n if (dataParams) {\n singleParamsList.push(dataParams);\n var seriesTooltip = series.formatTooltip(dataIndex, true, null, renderMode);\n var html;\n\n if (zrUtil.isObject(seriesTooltip)) {\n html = seriesTooltip.html;\n var newMarkers = seriesTooltip.markers;\n zrUtil.merge(markers, newMarkers);\n } else {\n html = seriesTooltip;\n }\n\n seriesDefaultHTML.push(html);\n }\n }); // Default tooltip content\n // FIXME\n // (1) shold be the first data which has name?\n // (2) themeRiver, firstDataIndex is array, and first line is unnecessary.\n\n var firstLine = valueLabel;\n\n if (renderMode !== 'html') {\n singleDefaultHTML.push(seriesDefaultHTML.join(newLine));\n } else {\n singleDefaultHTML.push((firstLine ? formatUtil.encodeHTML(firstLine) + newLine : '') + seriesDefaultHTML.join(newLine));\n }\n });\n }, this); // In most case, the second axis is shown upper than the first one.\n\n singleDefaultHTML.reverse();\n singleDefaultHTML = singleDefaultHTML.join(this._newLine + this._newLine);\n var positionExpr = e.position;\n\n this._showOrMove(singleTooltipModel, function () {\n if (this._updateContentNotChangedOnAxis(dataByCoordSys)) {\n this._updatePosition(singleTooltipModel, positionExpr, point[0], point[1], this._tooltipContent, singleParamsList);\n } else {\n this._showTooltipContent(singleTooltipModel, singleDefaultHTML, singleParamsList, Math.random(), point[0], point[1], positionExpr, undefined, markers);\n }\n }); // Do not trigger events here, because this branch only be entered\n // from dispatchAction.\n\n },\n _showSeriesItemTooltip: function (e, el, dispatchAction) {\n var ecModel = this._ecModel; // Use dataModel in element if possible\n // Used when mouseover on a element like markPoint or edge\n // In which case, the data is not main data in series.\n\n var seriesIndex = el.seriesIndex;\n var seriesModel = ecModel.getSeriesByIndex(seriesIndex); // For example, graph link.\n\n var dataModel = el.dataModel || seriesModel;\n var dataIndex = el.dataIndex;\n var dataType = el.dataType;\n var data = dataModel.getData();\n var tooltipModel = buildTooltipModel([data.getItemModel(dataIndex), dataModel, seriesModel && (seriesModel.coordinateSystem || {}).model, this._tooltipModel]);\n var tooltipTrigger = tooltipModel.get('trigger');\n\n if (tooltipTrigger != null && tooltipTrigger !== 'item') {\n return;\n }\n\n var params = dataModel.getDataParams(dataIndex, dataType);\n var seriesTooltip = dataModel.formatTooltip(dataIndex, false, dataType, this._renderMode);\n var defaultHtml;\n var markers;\n\n if (zrUtil.isObject(seriesTooltip)) {\n defaultHtml = seriesTooltip.html;\n markers = seriesTooltip.markers;\n } else {\n defaultHtml = seriesTooltip;\n markers = null;\n }\n\n var asyncTicket = 'item_' + dataModel.name + '_' + dataIndex;\n\n this._showOrMove(tooltipModel, function () {\n this._showTooltipContent(tooltipModel, defaultHtml, params, asyncTicket, e.offsetX, e.offsetY, e.position, e.target, markers);\n }); // FIXME\n // duplicated showtip if manuallyShowTip is called from dispatchAction.\n\n\n dispatchAction({\n type: 'showTip',\n dataIndexInside: dataIndex,\n dataIndex: data.getRawIndex(dataIndex),\n seriesIndex: seriesIndex,\n from: this.uid\n });\n },\n _showComponentItemTooltip: function (e, el, dispatchAction) {\n var tooltipOpt = el.tooltip;\n\n if (typeof tooltipOpt === 'string') {\n var content = tooltipOpt;\n tooltipOpt = {\n content: content,\n // Fixed formatter\n formatter: content\n };\n }\n\n var subTooltipModel = new Model(tooltipOpt, this._tooltipModel, this._ecModel);\n var defaultHtml = subTooltipModel.get('content');\n var asyncTicket = Math.random(); // Do not check whether `trigger` is 'none' here, because `trigger`\n // only works on cooridinate system. In fact, we have not found case\n // that requires setting `trigger` nothing on component yet.\n\n this._showOrMove(subTooltipModel, function () {\n this._showTooltipContent(subTooltipModel, defaultHtml, subTooltipModel.get('formatterParams') || {}, asyncTicket, e.offsetX, e.offsetY, e.position, el);\n }); // If not dispatch showTip, tip may be hide triggered by axis.\n\n\n dispatchAction({\n type: 'showTip',\n from: this.uid\n });\n },\n _showTooltipContent: function (tooltipModel, defaultHtml, params, asyncTicket, x, y, positionExpr, el, markers) {\n // Reset ticket\n this._ticket = '';\n\n if (!tooltipModel.get('showContent') || !tooltipModel.get('show')) {\n return;\n }\n\n var tooltipContent = this._tooltipContent;\n var formatter = tooltipModel.get('formatter');\n positionExpr = positionExpr || tooltipModel.get('position');\n var html = defaultHtml;\n\n if (formatter && typeof formatter === 'string') {\n html = formatUtil.formatTpl(formatter, params, true);\n } else if (typeof formatter === 'function') {\n var callback = bind(function (cbTicket, html) {\n if (cbTicket === this._ticket) {\n tooltipContent.setContent(html, markers, tooltipModel);\n\n this._updatePosition(tooltipModel, positionExpr, x, y, tooltipContent, params, el);\n }\n }, this);\n this._ticket = asyncTicket;\n html = formatter(params, asyncTicket, callback);\n }\n\n tooltipContent.setContent(html, markers, tooltipModel);\n tooltipContent.show(tooltipModel);\n\n this._updatePosition(tooltipModel, positionExpr, x, y, tooltipContent, params, el);\n },\n\n /**\n * @param {string|Function|Array.|Object} positionExpr\n * @param {number} x Mouse x\n * @param {number} y Mouse y\n * @param {boolean} confine Whether confine tooltip content in view rect.\n * @param {Object|} params\n * @param {module:zrender/Element} el target element\n * @param {module:echarts/ExtensionAPI} api\n * @return {Array.}\n */\n _updatePosition: function (tooltipModel, positionExpr, x, y, content, params, el) {\n var viewWidth = this._api.getWidth();\n\n var viewHeight = this._api.getHeight();\n\n positionExpr = positionExpr || tooltipModel.get('position');\n var contentSize = content.getSize();\n var align = tooltipModel.get('align');\n var vAlign = tooltipModel.get('verticalAlign');\n var rect = el && el.getBoundingRect().clone();\n el && rect.applyTransform(el.transform);\n\n if (typeof positionExpr === 'function') {\n // Callback of position can be an array or a string specify the position\n positionExpr = positionExpr([x, y], params, content.el, rect, {\n viewSize: [viewWidth, viewHeight],\n contentSize: contentSize.slice()\n });\n }\n\n if (zrUtil.isArray(positionExpr)) {\n x = parsePercent(positionExpr[0], viewWidth);\n y = parsePercent(positionExpr[1], viewHeight);\n } else if (zrUtil.isObject(positionExpr)) {\n positionExpr.width = contentSize[0];\n positionExpr.height = contentSize[1];\n var layoutRect = layoutUtil.getLayoutRect(positionExpr, {\n width: viewWidth,\n height: viewHeight\n });\n x = layoutRect.x;\n y = layoutRect.y;\n align = null; // When positionExpr is left/top/right/bottom,\n // align and verticalAlign will not work.\n\n vAlign = null;\n } // Specify tooltip position by string 'top' 'bottom' 'left' 'right' around graphic element\n else if (typeof positionExpr === 'string' && el) {\n var pos = calcTooltipPosition(positionExpr, rect, contentSize);\n x = pos[0];\n y = pos[1];\n } else {\n var pos = refixTooltipPosition(x, y, content, viewWidth, viewHeight, align ? null : 20, vAlign ? null : 20);\n x = pos[0];\n y = pos[1];\n }\n\n align && (x -= isCenterAlign(align) ? contentSize[0] / 2 : align === 'right' ? contentSize[0] : 0);\n vAlign && (y -= isCenterAlign(vAlign) ? contentSize[1] / 2 : vAlign === 'bottom' ? contentSize[1] : 0);\n\n if (tooltipModel.get('confine')) {\n var pos = confineTooltipPosition(x, y, content, viewWidth, viewHeight);\n x = pos[0];\n y = pos[1];\n }\n\n content.moveTo(x, y);\n },\n // FIXME\n // Should we remove this but leave this to user?\n _updateContentNotChangedOnAxis: function (dataByCoordSys) {\n var lastCoordSys = this._lastDataByCoordSys;\n var contentNotChanged = !!lastCoordSys && lastCoordSys.length === dataByCoordSys.length;\n contentNotChanged && each(lastCoordSys, function (lastItemCoordSys, indexCoordSys) {\n var lastDataByAxis = lastItemCoordSys.dataByAxis || {};\n var thisItemCoordSys = dataByCoordSys[indexCoordSys] || {};\n var thisDataByAxis = thisItemCoordSys.dataByAxis || [];\n contentNotChanged &= lastDataByAxis.length === thisDataByAxis.length;\n contentNotChanged && each(lastDataByAxis, function (lastItem, indexAxis) {\n var thisItem = thisDataByAxis[indexAxis] || {};\n var lastIndices = lastItem.seriesDataIndices || [];\n var newIndices = thisItem.seriesDataIndices || [];\n contentNotChanged &= lastItem.value === thisItem.value && lastItem.axisType === thisItem.axisType && lastItem.axisId === thisItem.axisId && lastIndices.length === newIndices.length;\n contentNotChanged && each(lastIndices, function (lastIdxItem, j) {\n var newIdxItem = newIndices[j];\n contentNotChanged &= lastIdxItem.seriesIndex === newIdxItem.seriesIndex && lastIdxItem.dataIndex === newIdxItem.dataIndex;\n });\n });\n });\n this._lastDataByCoordSys = dataByCoordSys;\n return !!contentNotChanged;\n },\n _hide: function (dispatchAction) {\n // Do not directly hideLater here, because this behavior may be prevented\n // in dispatchAction when showTip is dispatched.\n // FIXME\n // duplicated hideTip if manuallyHideTip is called from dispatchAction.\n this._lastDataByCoordSys = null;\n dispatchAction({\n type: 'hideTip',\n from: this.uid\n });\n },\n dispose: function (ecModel, api) {\n if (env.node) {\n return;\n }\n\n this._tooltipContent.hide();\n\n globalListener.unregister('itemTooltip', api);\n }\n});\n/**\n * @param {Array.} modelCascade\n * From top to bottom. (the last one should be globalTooltipModel);\n */\n\n\nfunction buildTooltipModel(modelCascade) {\n var resultModel = modelCascade.pop();\n\n while (modelCascade.length) {\n var tooltipOpt = modelCascade.pop();\n\n if (tooltipOpt) {\n if (Model.isInstance(tooltipOpt)) {\n tooltipOpt = tooltipOpt.get('tooltip', true);\n } // In each data item tooltip can be simply write:\n // {\n // value: 10,\n // tooltip: 'Something you need to know'\n // }\n\n\n if (typeof tooltipOpt === 'string') {\n tooltipOpt = {\n formatter: tooltipOpt\n };\n }\n\n resultModel = new Model(tooltipOpt, resultModel, resultModel.ecModel);\n }\n }\n\n return resultModel;\n}\n\nfunction makeDispatchAction(payload, api) {\n return payload.dispatchAction || zrUtil.bind(api.dispatchAction, api);\n}\n\nfunction refixTooltipPosition(x, y, content, viewWidth, viewHeight, gapH, gapV) {\n var size = content.getOuterSize();\n var width = size.width;\n var height = size.height;\n\n if (gapH != null) {\n if (x + width + gapH > viewWidth) {\n x -= width + gapH;\n } else {\n x += gapH;\n }\n }\n\n if (gapV != null) {\n if (y + height + gapV > viewHeight) {\n y -= height + gapV;\n } else {\n y += gapV;\n }\n }\n\n return [x, y];\n}\n\nfunction confineTooltipPosition(x, y, content, viewWidth, viewHeight) {\n var size = content.getOuterSize();\n var width = size.width;\n var height = size.height;\n x = Math.min(x + width, viewWidth) - width;\n y = Math.min(y + height, viewHeight) - height;\n x = Math.max(x, 0);\n y = Math.max(y, 0);\n return [x, y];\n}\n\nfunction calcTooltipPosition(position, rect, contentSize) {\n var domWidth = contentSize[0];\n var domHeight = contentSize[1];\n var gap = 5;\n var x = 0;\n var y = 0;\n var rectWidth = rect.width;\n var rectHeight = rect.height;\n\n switch (position) {\n case 'inside':\n x = rect.x + rectWidth / 2 - domWidth / 2;\n y = rect.y + rectHeight / 2 - domHeight / 2;\n break;\n\n case 'top':\n x = rect.x + rectWidth / 2 - domWidth / 2;\n y = rect.y - domHeight - gap;\n break;\n\n case 'bottom':\n x = rect.x + rectWidth / 2 - domWidth / 2;\n y = rect.y + rectHeight + gap;\n break;\n\n case 'left':\n x = rect.x - domWidth - gap;\n y = rect.y + rectHeight / 2 - domHeight / 2;\n break;\n\n case 'right':\n x = rect.x + rectWidth + gap;\n y = rect.y + rectHeight / 2 - domHeight / 2;\n }\n\n return [x, y];\n}\n\nfunction isCenterAlign(align) {\n return align === 'center' || align === 'middle';\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar _model = require(\"../util/model\");\n\nvar makeInner = _model.makeInner;\n\nvar _clazz = require(\"../util/clazz\");\n\nvar enableClassExtend = _clazz.enableClassExtend;\nvar enableClassCheck = _clazz.enableClassCheck;\n\nvar lineStyleMixin = require(\"./mixin/lineStyle\");\n\nvar areaStyleMixin = require(\"./mixin/areaStyle\");\n\nvar textStyleMixin = require(\"./mixin/textStyle\");\n\nvar itemStyleMixin = require(\"./mixin/itemStyle\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/model/Model\n */\nvar mixin = zrUtil.mixin;\nvar inner = makeInner();\n/**\n * @alias module:echarts/model/Model\n * @constructor\n * @param {Object} [option]\n * @param {module:echarts/model/Model} [parentModel]\n * @param {module:echarts/model/Global} [ecModel]\n */\n\nfunction Model(option, parentModel, ecModel) {\n /**\n * @type {module:echarts/model/Model}\n * @readOnly\n */\n this.parentModel = parentModel;\n /**\n * @type {module:echarts/model/Global}\n * @readOnly\n */\n\n this.ecModel = ecModel;\n /**\n * @type {Object}\n * @protected\n */\n\n this.option = option; // Simple optimization\n // if (this.init) {\n // if (arguments.length <= 4) {\n // this.init(option, parentModel, ecModel, extraOpt);\n // }\n // else {\n // this.init.apply(this, arguments);\n // }\n // }\n}\n\nModel.prototype = {\n constructor: Model,\n\n /**\n * Model 的初始化函数\n * @param {Object} option\n */\n init: null,\n\n /**\n * 从新的 Option merge\n */\n mergeOption: function (option) {\n zrUtil.merge(this.option, option, true);\n },\n\n /**\n * @param {string|Array.} path\n * @param {boolean} [ignoreParent=false]\n * @return {*}\n */\n get: function (path, ignoreParent) {\n if (path == null) {\n return this.option;\n }\n\n return doGet(this.option, this.parsePath(path), !ignoreParent && getParent(this, path));\n },\n\n /**\n * @param {string} key\n * @param {boolean} [ignoreParent=false]\n * @return {*}\n */\n getShallow: function (key, ignoreParent) {\n var option = this.option;\n var val = option == null ? option : option[key];\n var parentModel = !ignoreParent && getParent(this, key);\n\n if (val == null && parentModel) {\n val = parentModel.getShallow(key);\n }\n\n return val;\n },\n\n /**\n * @param {string|Array.} [path]\n * @param {module:echarts/model/Model} [parentModel]\n * @return {module:echarts/model/Model}\n */\n getModel: function (path, parentModel) {\n var obj = path == null ? this.option : doGet(this.option, path = this.parsePath(path));\n var thisParentModel;\n parentModel = parentModel || (thisParentModel = getParent(this, path)) && thisParentModel.getModel(path);\n return new Model(obj, parentModel, this.ecModel);\n },\n\n /**\n * If model has option\n */\n isEmpty: function () {\n return this.option == null;\n },\n restoreData: function () {},\n // Pending\n clone: function () {\n var Ctor = this.constructor;\n return new Ctor(zrUtil.clone(this.option));\n },\n setReadOnly: function (properties) {// clazzUtil.setReadOnly(this, properties);\n },\n // If path is null/undefined, return null/undefined.\n parsePath: function (path) {\n if (typeof path === 'string') {\n path = path.split('.');\n }\n\n return path;\n },\n\n /**\n * @param {Function} getParentMethod\n * param {Array.|string} path\n * return {module:echarts/model/Model}\n */\n customizeGetParent: function (getParentMethod) {\n inner(this).getParent = getParentMethod;\n },\n isAnimationEnabled: function () {\n if (!env.node) {\n if (this.option.animation != null) {\n return !!this.option.animation;\n } else if (this.parentModel) {\n return this.parentModel.isAnimationEnabled();\n }\n }\n }\n};\n\nfunction doGet(obj, pathArr, parentModel) {\n for (var i = 0; i < pathArr.length; i++) {\n // Ignore empty\n if (!pathArr[i]) {\n continue;\n } // obj could be number/string/... (like 0)\n\n\n obj = obj && typeof obj === 'object' ? obj[pathArr[i]] : null;\n\n if (obj == null) {\n break;\n }\n }\n\n if (obj == null && parentModel) {\n obj = parentModel.get(pathArr);\n }\n\n return obj;\n} // `path` can be null/undefined\n\n\nfunction getParent(model, path) {\n var getParentMethod = inner(model).getParent;\n return getParentMethod ? getParentMethod.call(model, path) : model.parentModel;\n} // Enable Model.extend.\n\n\nenableClassExtend(Model);\nenableClassCheck(Model);\nmixin(Model, lineStyleMixin);\nmixin(Model, areaStyleMixin);\nmixin(Model, textStyleMixin);\nmixin(Model, itemStyleMixin);\nvar _default = Model;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar Single = require(\"./Single\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Single coordinate system creator.\n */\n\n/**\n * Create single coordinate system and inject it into seriesModel.\n *\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @return {Array.}\n */\nfunction create(ecModel, api) {\n var singles = [];\n ecModel.eachComponent('singleAxis', function (axisModel, idx) {\n var single = new Single(axisModel, ecModel, api);\n single.name = 'single_' + idx;\n single.resize(axisModel, api);\n axisModel.coordinateSystem = single;\n singles.push(single);\n });\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') === 'singleAxis') {\n var singleAxisModel = ecModel.queryComponents({\n mainType: 'singleAxis',\n index: seriesModel.get('singleAxisIndex'),\n id: seriesModel.get('singleAxisId')\n })[0];\n seriesModel.coordinateSystem = singleAxisModel && singleAxisModel.coordinateSystem;\n }\n });\n return singles;\n}\n\nCoordinateSystem.register('single', {\n create: create,\n dimensions: Single.prototype.dimensions\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar MarkerModel = require(\"./MarkerModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = MarkerModel.extend({\n type: 'markArea',\n defaultOption: {\n zlevel: 0,\n // PENDING\n z: 1,\n tooltip: {\n trigger: 'item'\n },\n // markArea should fixed on the coordinate system\n animation: false,\n label: {\n show: true,\n position: 'top'\n },\n itemStyle: {\n // color and borderColor default to use color from series\n // color: 'auto'\n // borderColor: 'auto'\n borderWidth: 0\n },\n emphasis: {\n label: {\n show: true,\n position: 'top'\n }\n }\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar helper = require(\"../helper/treeHelper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @file Treemap action\n */\nvar noop = function () {};\n\nvar actionTypes = ['treemapZoomToNode', 'treemapRender', 'treemapMove'];\n\nfor (var i = 0; i < actionTypes.length; i++) {\n echarts.registerAction({\n type: actionTypes[i],\n update: 'updateView'\n }, noop);\n}\n\necharts.registerAction({\n type: 'treemapRootToNode',\n update: 'updateView'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n subType: 'treemap',\n query: payload\n }, handleRootToNode);\n\n function handleRootToNode(model, index) {\n var types = ['treemapZoomToNode', 'treemapRootToNode'];\n var targetInfo = helper.retrieveTargetInfo(payload, types, model);\n\n if (targetInfo) {\n var originViewRoot = model.getViewRoot();\n\n if (originViewRoot) {\n payload.direction = helper.aboveViewRoot(originViewRoot, targetInfo.node) ? 'rollUp' : 'drillDown';\n }\n\n model.resetViewRoot(targetInfo.node);\n }\n }\n});","var easingFuncs = require(\"./easing\");\n\n/**\n * 动画主控制器\n * @config target 动画对象,可以是数组,如果是数组的话会批量分发onframe等事件\n * @config life(1000) 动画时长\n * @config delay(0) 动画延迟时间\n * @config loop(true)\n * @config gap(0) 循环的间隔时间\n * @config onframe\n * @config easing(optional)\n * @config ondestroy(optional)\n * @config onrestart(optional)\n *\n * TODO pause\n */\nfunction Clip(options) {\n this._target = options.target; // 生命周期\n\n this._life = options.life || 1000; // 延时\n\n this._delay = options.delay || 0; // 开始时间\n // this._startTime = new Date().getTime() + this._delay;// 单位毫秒\n\n this._initialized = false; // 是否循环\n\n this.loop = options.loop == null ? false : options.loop;\n this.gap = options.gap || 0;\n this.easing = options.easing || 'Linear';\n this.onframe = options.onframe;\n this.ondestroy = options.ondestroy;\n this.onrestart = options.onrestart;\n this._pausedTime = 0;\n this._paused = false;\n}\n\nClip.prototype = {\n constructor: Clip,\n step: function (globalTime, deltaTime) {\n // Set startTime on first step, or _startTime may has milleseconds different between clips\n // PENDING\n if (!this._initialized) {\n this._startTime = globalTime + this._delay;\n this._initialized = true;\n }\n\n if (this._paused) {\n this._pausedTime += deltaTime;\n return;\n }\n\n var percent = (globalTime - this._startTime - this._pausedTime) / this._life; // 还没开始\n\n if (percent < 0) {\n return;\n }\n\n percent = Math.min(percent, 1);\n var easing = this.easing;\n var easingFunc = typeof easing === 'string' ? easingFuncs[easing] : easing;\n var schedule = typeof easingFunc === 'function' ? easingFunc(percent) : percent;\n this.fire('frame', schedule); // 结束\n\n if (percent === 1) {\n if (this.loop) {\n this.restart(globalTime); // 重新开始周期\n // 抛出而不是直接调用事件直到 stage.update 后再统一调用这些事件\n\n return 'restart';\n } // 动画完成将这个控制器标识为待删除\n // 在Animation.update中进行批量删除\n\n\n this._needsRemove = true;\n return 'destroy';\n }\n\n return null;\n },\n restart: function (globalTime) {\n var remainder = (globalTime - this._startTime - this._pausedTime) % this._life;\n this._startTime = globalTime - remainder + this.gap;\n this._pausedTime = 0;\n this._needsRemove = false;\n },\n fire: function (eventType, arg) {\n eventType = 'on' + eventType;\n\n if (this[eventType]) {\n this[eventType](this._target, arg);\n }\n },\n pause: function () {\n this._paused = true;\n },\n resume: function () {\n this._paused = false;\n }\n};\nvar _default = Clip;\nmodule.exports = _default;","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar helper = require(\"../helper/treeHelper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @file Sunburst action\n */\nvar ROOT_TO_NODE_ACTION = 'sunburstRootToNode';\necharts.registerAction({\n type: ROOT_TO_NODE_ACTION,\n update: 'updateView'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n subType: 'sunburst',\n query: payload\n }, handleRootToNode);\n\n function handleRootToNode(model, index) {\n var targetInfo = helper.retrieveTargetInfo(payload, [ROOT_TO_NODE_ACTION], model);\n\n if (targetInfo) {\n var originViewRoot = model.getViewRoot();\n\n if (originViewRoot) {\n payload.direction = helper.aboveViewRoot(originViewRoot, targetInfo.node) ? 'rollUp' : 'drillDown';\n }\n\n model.resetViewRoot(targetInfo.node);\n }\n }\n});\nvar HIGHLIGHT_ACTION = 'sunburstHighlight';\necharts.registerAction({\n type: HIGHLIGHT_ACTION,\n update: 'updateView'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n subType: 'sunburst',\n query: payload\n }, handleHighlight);\n\n function handleHighlight(model, index) {\n var targetInfo = helper.retrieveTargetInfo(payload, [HIGHLIGHT_ACTION], model);\n\n if (targetInfo) {\n payload.highlight = targetInfo.node;\n }\n }\n});\nvar UNHIGHLIGHT_ACTION = 'sunburstUnhighlight';\necharts.registerAction({\n type: UNHIGHLIGHT_ACTION,\n update: 'updateView'\n}, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'series',\n subType: 'sunburst',\n query: payload\n }, handleUnhighlight);\n\n function handleUnhighlight(model, index) {\n payload.unhighlight = true;\n }\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @module echarts/chart/helper/Line\n */\n\n/**\n * @constructor\n * @extends {module:zrender/graphic/Group}\n * @alias {module:echarts/chart/helper/Polyline}\n */\nfunction Polyline(lineData, idx, seriesScope) {\n graphic.Group.call(this);\n\n this._createPolyline(lineData, idx, seriesScope);\n}\n\nvar polylineProto = Polyline.prototype;\n\npolylineProto._createPolyline = function (lineData, idx, seriesScope) {\n // var seriesModel = lineData.hostModel;\n var points = lineData.getItemLayout(idx);\n var line = new graphic.Polyline({\n shape: {\n points: points\n }\n });\n this.add(line);\n\n this._updateCommonStl(lineData, idx, seriesScope);\n};\n\npolylineProto.updateData = function (lineData, idx, seriesScope) {\n var seriesModel = lineData.hostModel;\n var line = this.childAt(0);\n var target = {\n shape: {\n points: lineData.getItemLayout(idx)\n }\n };\n graphic.updateProps(line, target, seriesModel, idx);\n\n this._updateCommonStl(lineData, idx, seriesScope);\n};\n\npolylineProto._updateCommonStl = function (lineData, idx, seriesScope) {\n var line = this.childAt(0);\n var itemModel = lineData.getItemModel(idx);\n var visualColor = lineData.getItemVisual(idx, 'color');\n var lineStyle = seriesScope && seriesScope.lineStyle;\n var hoverLineStyle = seriesScope && seriesScope.hoverLineStyle;\n\n if (!seriesScope || lineData.hasItemOption) {\n lineStyle = itemModel.getModel('lineStyle').getLineStyle();\n hoverLineStyle = itemModel.getModel('emphasis.lineStyle').getLineStyle();\n }\n\n line.useStyle(zrUtil.defaults({\n strokeNoScale: true,\n fill: 'none',\n stroke: visualColor\n }, lineStyle));\n line.hoverStyle = hoverLineStyle;\n graphic.setHoverStyle(this);\n};\n\npolylineProto.updateLayout = function (lineData, idx) {\n var polyline = this.childAt(0);\n polyline.setShape('points', lineData.getItemLayout(idx));\n};\n\nzrUtil.inherits(Polyline, graphic.Group);\nvar _default = Polyline;\nmodule.exports = _default;","var Path = require(\"../Path\");\n\n/**\n * 圆环\n * @module zrender/graphic/shape/Ring\n */\nvar _default = Path.extend({\n type: 'ring',\n shape: {\n cx: 0,\n cy: 0,\n r: 0,\n r0: 0\n },\n buildPath: function (ctx, shape) {\n var x = shape.cx;\n var y = shape.cy;\n var PI2 = Math.PI * 2;\n ctx.moveTo(x + shape.r, y);\n ctx.arc(x, y, shape.r, 0, PI2, false);\n ctx.moveTo(x + shape.r0, y);\n ctx.arc(x, y, shape.r0, 0, PI2, true);\n }\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction legendSelectActionHandler(methodName, payload, ecModel) {\n var selectedMap = {};\n var isToggleSelect = methodName === 'toggleSelected';\n var isSelected; // Update all legend components\n\n ecModel.eachComponent('legend', function (legendModel) {\n if (isToggleSelect && isSelected != null) {\n // Force other legend has same selected status\n // Or the first is toggled to true and other are toggled to false\n // In the case one legend has some item unSelected in option. And if other legend\n // doesn't has the item, they will assume it is selected.\n legendModel[isSelected ? 'select' : 'unSelect'](payload.name);\n } else {\n legendModel[methodName](payload.name);\n isSelected = legendModel.isSelected(payload.name);\n }\n\n var legendData = legendModel.getData();\n zrUtil.each(legendData, function (model) {\n var name = model.get('name'); // Wrap element\n\n if (name === '\\n' || name === '') {\n return;\n }\n\n var isItemSelected = legendModel.isSelected(name);\n\n if (selectedMap.hasOwnProperty(name)) {\n // Unselected if any legend is unselected\n selectedMap[name] = selectedMap[name] && isItemSelected;\n } else {\n selectedMap[name] = isItemSelected;\n }\n });\n }); // Return the event explicitly\n\n return {\n name: payload.name,\n selected: selectedMap\n };\n}\n/**\n * @event legendToggleSelect\n * @type {Object}\n * @property {string} type 'legendToggleSelect'\n * @property {string} [from]\n * @property {string} name Series name or data item name\n */\n\n\necharts.registerAction('legendToggleSelect', 'legendselectchanged', zrUtil.curry(legendSelectActionHandler, 'toggleSelected'));\n/**\n * @event legendSelect\n * @type {Object}\n * @property {string} type 'legendSelect'\n * @property {string} name Series name or data item name\n */\n\necharts.registerAction('legendSelect', 'legendselected', zrUtil.curry(legendSelectActionHandler, 'select'));\n/**\n * @event legendUnSelect\n * @type {Object}\n * @property {string} type 'legendUnSelect'\n * @property {string} name Series name or data item name\n */\n\necharts.registerAction('legendUnSelect', 'legendunselected', zrUtil.curry(legendSelectActionHandler, 'unSelect'));","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(coordSys) {\n var rect = coordSys.getRect();\n var rangeInfo = coordSys.getRangeInfo();\n return {\n coordSys: {\n type: 'calendar',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n cellWidth: coordSys.getCellWidth(),\n cellHeight: coordSys.getCellHeight(),\n rangeInfo: {\n start: rangeInfo.start,\n end: rangeInfo.end,\n weeks: rangeInfo.weeks,\n dayCount: rangeInfo.allDay\n }\n },\n api: {\n coord: function (data, clamp) {\n return coordSys.dataToPoint(data, clamp);\n }\n }\n };\n}\n\nmodule.exports = _default;","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 59);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 15:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/scrollbar\");\n\n/***/ }),\n\n/***/ 19:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/checkbox\");\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/shared\");\n\n/***/ }),\n\n/***/ 26:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"babel-helper-vue-jsx-merge-props\");\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/scroll-into-view\");\n\n/***/ }),\n\n/***/ 40:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/aria-utils\");\n\n/***/ }),\n\n/***/ 51:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/radio\");\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&\nvar cascader_panelvue_type_template_id_34932346_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n class: [\"el-cascader-panel\", _vm.border && \"is-bordered\"],\n on: { keydown: _vm.handleKeyDown }\n },\n _vm._l(_vm.menus, function(menu, index) {\n return _c(\"cascader-menu\", {\n key: index,\n ref: \"menu\",\n refInFor: true,\n attrs: { index: index, nodes: menu }\n })\n }),\n 1\n )\n}\nvar staticRenderFns = []\ncascader_panelvue_type_template_id_34932346_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&\n\n// EXTERNAL MODULE: external \"babel-helper-vue-jsx-merge-props\"\nvar external_babel_helper_vue_jsx_merge_props_ = __webpack_require__(26);\nvar external_babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(external_babel_helper_vue_jsx_merge_props_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/scrollbar\"\nvar scrollbar_ = __webpack_require__(15);\nvar scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/checkbox\"\nvar checkbox_ = __webpack_require__(19);\nvar checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/radio\"\nvar radio_ = __webpack_require__(51);\nvar radio_default = /*#__PURE__*/__webpack_require__.n(radio_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&\n\n\n\n\n\n\nvar stopPropagation = function stopPropagation(e) {\n return e.stopPropagation();\n};\n\n/* harmony default export */ var cascader_nodevue_type_script_lang_js_ = ({\n inject: ['panel'],\n\n components: {\n ElCheckbox: checkbox_default.a,\n ElRadio: radio_default.a\n },\n\n props: {\n node: {\n required: true\n },\n nodeId: String\n },\n\n computed: {\n config: function config() {\n return this.panel.config;\n },\n isLeaf: function isLeaf() {\n return this.node.isLeaf;\n },\n isDisabled: function isDisabled() {\n return this.node.isDisabled;\n },\n checkedValue: function checkedValue() {\n return this.panel.checkedValue;\n },\n isChecked: function isChecked() {\n return this.node.isSameNode(this.checkedValue);\n },\n inActivePath: function inActivePath() {\n return this.isInPath(this.panel.activePath);\n },\n inCheckedPath: function inCheckedPath() {\n var _this = this;\n\n if (!this.config.checkStrictly) return false;\n\n return this.panel.checkedNodePaths.some(function (checkedPath) {\n return _this.isInPath(checkedPath);\n });\n },\n value: function value() {\n return this.node.getValueByOption();\n }\n },\n\n methods: {\n handleExpand: function handleExpand() {\n var _this2 = this;\n\n var panel = this.panel,\n node = this.node,\n isDisabled = this.isDisabled,\n config = this.config;\n var multiple = config.multiple,\n checkStrictly = config.checkStrictly;\n\n\n if (!checkStrictly && isDisabled || node.loading) return;\n\n if (config.lazy && !node.loaded) {\n panel.lazyLoad(node, function () {\n // do not use cached leaf value here, invoke this.isLeaf to get new value.\n var isLeaf = _this2.isLeaf;\n\n\n if (!isLeaf) _this2.handleExpand();\n if (multiple) {\n // if leaf sync checked state, else clear checked state\n var checked = isLeaf ? node.checked : false;\n _this2.handleMultiCheckChange(checked);\n }\n });\n } else {\n panel.handleExpand(node);\n }\n },\n handleCheckChange: function handleCheckChange() {\n var panel = this.panel,\n value = this.value,\n node = this.node;\n\n panel.handleCheckChange(value);\n panel.handleExpand(node);\n },\n handleMultiCheckChange: function handleMultiCheckChange(checked) {\n this.node.doCheck(checked);\n this.panel.calculateMultiCheckedValue();\n },\n isInPath: function isInPath(pathNodes) {\n var node = this.node;\n\n var selectedPathNode = pathNodes[node.level - 1] || {};\n return selectedPathNode.uid === node.uid;\n },\n renderPrefix: function renderPrefix(h) {\n var isLeaf = this.isLeaf,\n isChecked = this.isChecked,\n config = this.config;\n var checkStrictly = config.checkStrictly,\n multiple = config.multiple;\n\n\n if (multiple) {\n return this.renderCheckbox(h);\n } else if (checkStrictly) {\n return this.renderRadio(h);\n } else if (isLeaf && isChecked) {\n return this.renderCheckIcon(h);\n }\n\n return null;\n },\n renderPostfix: function renderPostfix(h) {\n var node = this.node,\n isLeaf = this.isLeaf;\n\n\n if (node.loading) {\n return this.renderLoadingIcon(h);\n } else if (!isLeaf) {\n return this.renderExpandIcon(h);\n }\n\n return null;\n },\n renderCheckbox: function renderCheckbox(h) {\n var node = this.node,\n config = this.config,\n isDisabled = this.isDisabled;\n\n var events = {\n on: { change: this.handleMultiCheckChange },\n nativeOn: {}\n };\n\n if (config.checkStrictly) {\n // when every node is selectable, click event should not trigger expand event.\n events.nativeOn.click = stopPropagation;\n }\n\n return h('el-checkbox', external_babel_helper_vue_jsx_merge_props_default()([{\n attrs: {\n value: node.checked,\n indeterminate: node.indeterminate,\n disabled: isDisabled\n }\n }, events]));\n },\n renderRadio: function renderRadio(h) {\n var checkedValue = this.checkedValue,\n value = this.value,\n isDisabled = this.isDisabled;\n\n // to keep same reference if value cause radio's checked state is calculated by reference comparision;\n\n if (Object(util_[\"isEqual\"])(value, checkedValue)) {\n value = checkedValue;\n }\n\n return h(\n 'el-radio',\n {\n attrs: {\n value: checkedValue,\n label: value,\n disabled: isDisabled\n },\n on: {\n 'change': this.handleCheckChange\n },\n nativeOn: {\n 'click': stopPropagation\n }\n },\n [h('span')]\n );\n },\n renderCheckIcon: function renderCheckIcon(h) {\n return h('i', { 'class': 'el-icon-check el-cascader-node__prefix' });\n },\n renderLoadingIcon: function renderLoadingIcon(h) {\n return h('i', { 'class': 'el-icon-loading el-cascader-node__postfix' });\n },\n renderExpandIcon: function renderExpandIcon(h) {\n return h('i', { 'class': 'el-icon-arrow-right el-cascader-node__postfix' });\n },\n renderContent: function renderContent(h) {\n var panel = this.panel,\n node = this.node;\n\n var render = panel.renderLabelFn;\n var vnode = render ? render({ node: node, data: node.data }) : null;\n\n return h(\n 'span',\n { 'class': 'el-cascader-node__label' },\n [vnode || node.label]\n );\n }\n },\n\n render: function render(h) {\n var _this3 = this;\n\n var inActivePath = this.inActivePath,\n inCheckedPath = this.inCheckedPath,\n isChecked = this.isChecked,\n isLeaf = this.isLeaf,\n isDisabled = this.isDisabled,\n config = this.config,\n nodeId = this.nodeId;\n var expandTrigger = config.expandTrigger,\n checkStrictly = config.checkStrictly,\n multiple = config.multiple;\n\n var disabled = !checkStrictly && isDisabled;\n var events = { on: {} };\n\n if (expandTrigger === 'click') {\n events.on.click = this.handleExpand;\n } else {\n events.on.mouseenter = function (e) {\n _this3.handleExpand();\n _this3.$emit('expand', e);\n };\n events.on.focus = function (e) {\n _this3.handleExpand();\n _this3.$emit('expand', e);\n };\n }\n if (isLeaf && !isDisabled && !checkStrictly && !multiple) {\n events.on.click = this.handleCheckChange;\n }\n\n return h(\n 'li',\n external_babel_helper_vue_jsx_merge_props_default()([{\n attrs: {\n role: 'menuitem',\n id: nodeId,\n 'aria-expanded': inActivePath,\n tabindex: disabled ? null : -1\n },\n 'class': {\n 'el-cascader-node': true,\n 'is-selectable': checkStrictly,\n 'in-active-path': inActivePath,\n 'in-checked-path': inCheckedPath,\n 'is-active': isChecked,\n 'is-disabled': disabled\n }\n }, events]),\n [this.renderPrefix(h), this.renderContent(h), this.renderPostfix(h)]\n );\n }\n});\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_cascader_nodevue_type_script_lang_js_ = (cascader_nodevue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue\nvar cascader_node_render, cascader_node_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_cascader_nodevue_type_script_lang_js_,\n cascader_node_render,\n cascader_node_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/cascader-panel/src/cascader-node.vue\"\n/* harmony default export */ var cascader_node = (component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\nvar locale_ = __webpack_require__(6);\nvar locale_default = /*#__PURE__*/__webpack_require__.n(locale_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&\n\n\n\n\n\n\n\n/* harmony default export */ var cascader_menuvue_type_script_lang_js_ = ({\n name: 'ElCascaderMenu',\n\n mixins: [locale_default.a],\n\n inject: ['panel'],\n\n components: {\n ElScrollbar: scrollbar_default.a,\n CascaderNode: cascader_node\n },\n\n props: {\n nodes: {\n type: Array,\n required: true\n },\n index: Number\n },\n\n data: function data() {\n return {\n activeNode: null,\n hoverTimer: null,\n id: Object(util_[\"generateId\"])()\n };\n },\n\n\n computed: {\n isEmpty: function isEmpty() {\n return !this.nodes.length;\n },\n menuId: function menuId() {\n return 'cascader-menu-' + this.id + '-' + this.index;\n }\n },\n\n methods: {\n handleExpand: function handleExpand(e) {\n this.activeNode = e.target;\n },\n handleMouseMove: function handleMouseMove(e) {\n var activeNode = this.activeNode,\n hoverTimer = this.hoverTimer;\n var hoverZone = this.$refs.hoverZone;\n\n\n if (!activeNode || !hoverZone) return;\n\n if (activeNode.contains(e.target)) {\n clearTimeout(hoverTimer);\n\n var _$el$getBoundingClien = this.$el.getBoundingClientRect(),\n left = _$el$getBoundingClien.left;\n\n var startX = e.clientX - left;\n var _$el = this.$el,\n offsetWidth = _$el.offsetWidth,\n offsetHeight = _$el.offsetHeight;\n\n var top = activeNode.offsetTop;\n var bottom = top + activeNode.offsetHeight;\n\n hoverZone.innerHTML = '\\n \\n \\n ';\n } else if (!hoverTimer) {\n this.hoverTimer = setTimeout(this.clearHoverZone, this.panel.config.hoverThreshold);\n }\n },\n clearHoverZone: function clearHoverZone() {\n var hoverZone = this.$refs.hoverZone;\n\n if (!hoverZone) return;\n hoverZone.innerHTML = '';\n },\n renderEmptyText: function renderEmptyText(h) {\n return h(\n 'div',\n { 'class': 'el-cascader-menu__empty-text' },\n [this.t('el.cascader.noData')]\n );\n },\n renderNodeList: function renderNodeList(h) {\n var menuId = this.menuId;\n var isHoverMenu = this.panel.isHoverMenu;\n\n var events = { on: {} };\n\n if (isHoverMenu) {\n events.on.expand = this.handleExpand;\n }\n\n var nodes = this.nodes.map(function (node, index) {\n var hasChildren = node.hasChildren;\n\n return h('cascader-node', external_babel_helper_vue_jsx_merge_props_default()([{\n key: node.uid,\n attrs: { node: node,\n 'node-id': menuId + '-' + index,\n 'aria-haspopup': hasChildren,\n 'aria-owns': hasChildren ? menuId : null\n }\n }, events]));\n });\n\n return [].concat(nodes, [isHoverMenu ? h('svg', { ref: 'hoverZone', 'class': 'el-cascader-menu__hover-zone' }) : null]);\n }\n },\n\n render: function render(h) {\n var isEmpty = this.isEmpty,\n menuId = this.menuId;\n\n var events = { nativeOn: {} };\n\n // optimize hover to expand experience (#8010)\n if (this.panel.isHoverMenu) {\n events.nativeOn.mousemove = this.handleMouseMove;\n // events.nativeOn.mouseleave = this.clearHoverZone;\n }\n\n return h(\n 'el-scrollbar',\n external_babel_helper_vue_jsx_merge_props_default()([{\n attrs: {\n tag: 'ul',\n role: 'menu',\n id: menuId,\n\n 'wrap-class': 'el-cascader-menu__wrap',\n 'view-class': {\n 'el-cascader-menu__list': true,\n 'is-empty': isEmpty\n }\n },\n 'class': 'el-cascader-menu' }, events]),\n [isEmpty ? this.renderEmptyText(h) : this.renderNodeList(h)]\n );\n }\n});\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_cascader_menuvue_type_script_lang_js_ = (cascader_menuvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue\nvar cascader_menu_render, cascader_menu_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar cascader_menu_component = Object(componentNormalizer[\"a\" /* default */])(\n src_cascader_menuvue_type_script_lang_js_,\n cascader_menu_render,\n cascader_menu_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var cascader_menu_api; }\ncascader_menu_component.options.__file = \"packages/cascader-panel/src/cascader-menu.vue\"\n/* harmony default export */ var cascader_menu = (cascader_menu_component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\nvar shared_ = __webpack_require__(21);\n\n// CONCATENATED MODULE: ./packages/cascader-panel/src/node.js\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\nvar uid = 0;\n\nvar node_Node = function () {\n function Node(data, config, parentNode) {\n _classCallCheck(this, Node);\n\n this.data = data;\n this.config = config;\n this.parent = parentNode || null;\n this.level = !this.parent ? 1 : this.parent.level + 1;\n this.uid = uid++;\n\n this.initState();\n this.initChildren();\n }\n\n Node.prototype.initState = function initState() {\n var _config = this.config,\n valueKey = _config.value,\n labelKey = _config.label;\n\n\n this.value = this.data[valueKey];\n this.label = this.data[labelKey];\n this.pathNodes = this.calculatePathNodes();\n this.path = this.pathNodes.map(function (node) {\n return node.value;\n });\n this.pathLabels = this.pathNodes.map(function (node) {\n return node.label;\n });\n\n // lazy load\n this.loading = false;\n this.loaded = false;\n };\n\n Node.prototype.initChildren = function initChildren() {\n var _this = this;\n\n var config = this.config;\n\n var childrenKey = config.children;\n var childrenData = this.data[childrenKey];\n this.hasChildren = Array.isArray(childrenData);\n this.children = (childrenData || []).map(function (child) {\n return new Node(child, config, _this);\n });\n };\n\n Node.prototype.calculatePathNodes = function calculatePathNodes() {\n var nodes = [this];\n var parent = this.parent;\n\n while (parent) {\n nodes.unshift(parent);\n parent = parent.parent;\n }\n\n return nodes;\n };\n\n Node.prototype.getPath = function getPath() {\n return this.path;\n };\n\n Node.prototype.getValue = function getValue() {\n return this.value;\n };\n\n Node.prototype.getValueByOption = function getValueByOption() {\n return this.config.emitPath ? this.getPath() : this.getValue();\n };\n\n Node.prototype.getText = function getText(allLevels, separator) {\n return allLevels ? this.pathLabels.join(separator) : this.label;\n };\n\n Node.prototype.isSameNode = function isSameNode(checkedValue) {\n var value = this.getValueByOption();\n return this.config.multiple && Array.isArray(checkedValue) ? checkedValue.some(function (val) {\n return Object(util_[\"isEqual\"])(val, value);\n }) : Object(util_[\"isEqual\"])(checkedValue, value);\n };\n\n Node.prototype.broadcast = function broadcast(event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var handlerName = 'onParent' + Object(util_[\"capitalize\"])(event);\n\n this.children.forEach(function (child) {\n if (child) {\n // bottom up\n child.broadcast.apply(child, [event].concat(args));\n child[handlerName] && child[handlerName].apply(child, args);\n }\n });\n };\n\n Node.prototype.emit = function emit(event) {\n var parent = this.parent;\n\n var handlerName = 'onChild' + Object(util_[\"capitalize\"])(event);\n if (parent) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n parent[handlerName] && parent[handlerName].apply(parent, args);\n parent.emit.apply(parent, [event].concat(args));\n }\n };\n\n Node.prototype.onParentCheck = function onParentCheck(checked) {\n if (!this.isDisabled) {\n this.setCheckState(checked);\n }\n };\n\n Node.prototype.onChildCheck = function onChildCheck() {\n var children = this.children;\n\n var validChildren = children.filter(function (child) {\n return !child.isDisabled;\n });\n var checked = validChildren.length ? validChildren.every(function (child) {\n return child.checked;\n }) : false;\n\n this.setCheckState(checked);\n };\n\n Node.prototype.setCheckState = function setCheckState(checked) {\n var totalNum = this.children.length;\n var checkedNum = this.children.reduce(function (c, p) {\n var num = p.checked ? 1 : p.indeterminate ? 0.5 : 0;\n return c + num;\n }, 0);\n\n this.checked = checked;\n this.indeterminate = checkedNum !== totalNum && checkedNum > 0;\n };\n\n Node.prototype.syncCheckState = function syncCheckState(checkedValue) {\n var value = this.getValueByOption();\n var checked = this.isSameNode(checkedValue, value);\n\n this.doCheck(checked);\n };\n\n Node.prototype.doCheck = function doCheck(checked) {\n if (this.checked !== checked) {\n if (this.config.checkStrictly) {\n this.checked = checked;\n } else {\n // bottom up to unify the calculation of the indeterminate state\n this.broadcast('check', checked);\n this.setCheckState(checked);\n this.emit('check');\n }\n }\n };\n\n _createClass(Node, [{\n key: 'isDisabled',\n get: function get() {\n var data = this.data,\n parent = this.parent,\n config = this.config;\n\n var disabledKey = config.disabled;\n var checkStrictly = config.checkStrictly;\n\n return data[disabledKey] || !checkStrictly && parent && parent.isDisabled;\n }\n }, {\n key: 'isLeaf',\n get: function get() {\n var data = this.data,\n loaded = this.loaded,\n hasChildren = this.hasChildren,\n children = this.children;\n var _config2 = this.config,\n lazy = _config2.lazy,\n leafKey = _config2.leaf;\n\n if (lazy) {\n var isLeaf = Object(shared_[\"isDef\"])(data[leafKey]) ? data[leafKey] : loaded ? !children.length : false;\n this.hasChildren = !isLeaf;\n return isLeaf;\n }\n return !hasChildren;\n }\n }]);\n\n return Node;\n}();\n\n/* harmony default export */ var src_node = (node_Node);\n// CONCATENATED MODULE: ./packages/cascader-panel/src/store.js\nfunction store_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\nvar flatNodes = function flatNodes(data, leafOnly) {\n return data.reduce(function (res, node) {\n if (node.isLeaf) {\n res.push(node);\n } else {\n !leafOnly && res.push(node);\n res = res.concat(flatNodes(node.children, leafOnly));\n }\n return res;\n }, []);\n};\n\nvar store_Store = function () {\n function Store(data, config) {\n store_classCallCheck(this, Store);\n\n this.config = config;\n this.initNodes(data);\n }\n\n Store.prototype.initNodes = function initNodes(data) {\n var _this = this;\n\n data = Object(util_[\"coerceTruthyValueToArray\"])(data);\n this.nodes = data.map(function (nodeData) {\n return new src_node(nodeData, _this.config);\n });\n this.flattedNodes = this.getFlattedNodes(false, false);\n this.leafNodes = this.getFlattedNodes(true, false);\n };\n\n Store.prototype.appendNode = function appendNode(nodeData, parentNode) {\n var node = new src_node(nodeData, this.config, parentNode);\n var children = parentNode ? parentNode.children : this.nodes;\n\n children.push(node);\n };\n\n Store.prototype.appendNodes = function appendNodes(nodeDataList, parentNode) {\n var _this2 = this;\n\n nodeDataList = Object(util_[\"coerceTruthyValueToArray\"])(nodeDataList);\n nodeDataList.forEach(function (nodeData) {\n return _this2.appendNode(nodeData, parentNode);\n });\n };\n\n Store.prototype.getNodes = function getNodes() {\n return this.nodes;\n };\n\n Store.prototype.getFlattedNodes = function getFlattedNodes(leafOnly) {\n var cached = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var cachedNodes = leafOnly ? this.leafNodes : this.flattedNodes;\n return cached ? cachedNodes : flatNodes(this.nodes, leafOnly);\n };\n\n Store.prototype.getNodeByValue = function getNodeByValue(value) {\n var nodes = this.getFlattedNodes(false, !this.config.lazy).filter(function (node) {\n return Object(util_[\"valueEquals\"])(node.path, value) || node.value === value;\n });\n return nodes && nodes.length ? nodes[0] : null;\n };\n\n return Store;\n}();\n\n/* harmony default export */ var src_store = (store_Store);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/merge\"\nvar merge_ = __webpack_require__(9);\nvar merge_default = /*#__PURE__*/__webpack_require__.n(merge_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/aria-utils\"\nvar aria_utils_ = __webpack_require__(40);\nvar aria_utils_default = /*#__PURE__*/__webpack_require__.n(aria_utils_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/scroll-into-view\"\nvar scroll_into_view_ = __webpack_require__(31);\nvar scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\nvar KeyCode = aria_utils_default.a.keys;\n\nvar DefaultProps = {\n expandTrigger: 'click', // or hover\n multiple: false,\n checkStrictly: false, // whether all nodes can be selected\n emitPath: true, // wether to emit an array of all levels value in which node is located\n lazy: false,\n lazyLoad: util_[\"noop\"],\n value: 'value',\n label: 'label',\n children: 'children',\n leaf: 'leaf',\n disabled: 'disabled',\n hoverThreshold: 500\n};\n\nvar cascader_panelvue_type_script_lang_js_isLeaf = function isLeaf(el) {\n return !el.getAttribute('aria-owns');\n};\n\nvar getSibling = function getSibling(el, distance) {\n var parentNode = el.parentNode;\n\n if (parentNode) {\n var siblings = parentNode.querySelectorAll('.el-cascader-node[tabindex=\"-1\"]');\n var index = Array.prototype.indexOf.call(siblings, el);\n return siblings[index + distance] || null;\n }\n return null;\n};\n\nvar getMenuIndex = function getMenuIndex(el, distance) {\n if (!el) return;\n var pieces = el.id.split('-');\n return Number(pieces[pieces.length - 2]);\n};\n\nvar focusNode = function focusNode(el) {\n if (!el) return;\n el.focus();\n !cascader_panelvue_type_script_lang_js_isLeaf(el) && el.click();\n};\n\nvar checkNode = function checkNode(el) {\n if (!el) return;\n\n var input = el.querySelector('input');\n if (input) {\n input.click();\n } else if (cascader_panelvue_type_script_lang_js_isLeaf(el)) {\n el.click();\n }\n};\n\n/* harmony default export */ var cascader_panelvue_type_script_lang_js_ = ({\n name: 'ElCascaderPanel',\n\n components: {\n CascaderMenu: cascader_menu\n },\n\n props: {\n value: {},\n options: Array,\n props: Object,\n border: {\n type: Boolean,\n default: true\n },\n renderLabel: Function\n },\n\n provide: function provide() {\n return {\n panel: this\n };\n },\n data: function data() {\n return {\n checkedValue: null,\n checkedNodePaths: [],\n store: [],\n menus: [],\n activePath: [],\n loadCount: 0\n };\n },\n\n\n computed: {\n config: function config() {\n return merge_default()(_extends({}, DefaultProps), this.props || {});\n },\n multiple: function multiple() {\n return this.config.multiple;\n },\n checkStrictly: function checkStrictly() {\n return this.config.checkStrictly;\n },\n leafOnly: function leafOnly() {\n return !this.checkStrictly;\n },\n isHoverMenu: function isHoverMenu() {\n return this.config.expandTrigger === 'hover';\n },\n renderLabelFn: function renderLabelFn() {\n return this.renderLabel || this.$scopedSlots.default;\n }\n },\n\n watch: {\n options: {\n handler: function handler() {\n this.initStore();\n },\n immediate: true,\n deep: true\n },\n value: function value() {\n this.syncCheckedValue();\n this.checkStrictly && this.calculateCheckedNodePaths();\n },\n checkedValue: function checkedValue(val) {\n if (!Object(util_[\"isEqual\"])(val, this.value)) {\n this.checkStrictly && this.calculateCheckedNodePaths();\n this.$emit('input', val);\n this.$emit('change', val);\n }\n }\n },\n\n mounted: function mounted() {\n if (!this.isEmptyValue(this.value)) {\n this.syncCheckedValue();\n }\n },\n\n\n methods: {\n initStore: function initStore() {\n var config = this.config,\n options = this.options;\n\n if (config.lazy && Object(util_[\"isEmpty\"])(options)) {\n this.lazyLoad();\n } else {\n this.store = new src_store(options, config);\n this.menus = [this.store.getNodes()];\n this.syncMenuState();\n }\n },\n syncCheckedValue: function syncCheckedValue() {\n var value = this.value,\n checkedValue = this.checkedValue;\n\n if (!Object(util_[\"isEqual\"])(value, checkedValue)) {\n this.activePath = [];\n this.checkedValue = value;\n this.syncMenuState();\n }\n },\n syncMenuState: function syncMenuState() {\n var multiple = this.multiple,\n checkStrictly = this.checkStrictly;\n\n this.syncActivePath();\n multiple && this.syncMultiCheckState();\n checkStrictly && this.calculateCheckedNodePaths();\n this.$nextTick(this.scrollIntoView);\n },\n syncMultiCheckState: function syncMultiCheckState() {\n var _this = this;\n\n var nodes = this.getFlattedNodes(this.leafOnly);\n\n nodes.forEach(function (node) {\n node.syncCheckState(_this.checkedValue);\n });\n },\n isEmptyValue: function isEmptyValue(val) {\n var multiple = this.multiple,\n config = this.config;\n var emitPath = config.emitPath;\n\n if (multiple || emitPath) {\n return Object(util_[\"isEmpty\"])(val);\n }\n return false;\n },\n syncActivePath: function syncActivePath() {\n var _this2 = this;\n\n var store = this.store,\n multiple = this.multiple,\n activePath = this.activePath,\n checkedValue = this.checkedValue;\n\n\n if (!Object(util_[\"isEmpty\"])(activePath)) {\n var nodes = activePath.map(function (node) {\n return _this2.getNodeByValue(node.getValue());\n });\n this.expandNodes(nodes);\n } else if (!this.isEmptyValue(checkedValue)) {\n var value = multiple ? checkedValue[0] : checkedValue;\n var checkedNode = this.getNodeByValue(value) || {};\n var _nodes = (checkedNode.pathNodes || []).slice(0, -1);\n this.expandNodes(_nodes);\n } else {\n this.activePath = [];\n this.menus = [store.getNodes()];\n }\n },\n expandNodes: function expandNodes(nodes) {\n var _this3 = this;\n\n nodes.forEach(function (node) {\n return _this3.handleExpand(node, true /* silent */);\n });\n },\n calculateCheckedNodePaths: function calculateCheckedNodePaths() {\n var _this4 = this;\n\n var checkedValue = this.checkedValue,\n multiple = this.multiple;\n\n var checkedValues = multiple ? Object(util_[\"coerceTruthyValueToArray\"])(checkedValue) : [checkedValue];\n this.checkedNodePaths = checkedValues.map(function (v) {\n var checkedNode = _this4.getNodeByValue(v);\n return checkedNode ? checkedNode.pathNodes : [];\n });\n },\n handleKeyDown: function handleKeyDown(e) {\n var target = e.target,\n keyCode = e.keyCode;\n\n\n switch (keyCode) {\n case KeyCode.up:\n var prev = getSibling(target, -1);\n focusNode(prev);\n break;\n case KeyCode.down:\n var next = getSibling(target, 1);\n focusNode(next);\n break;\n case KeyCode.left:\n var preMenu = this.$refs.menu[getMenuIndex(target) - 1];\n if (preMenu) {\n var expandedNode = preMenu.$el.querySelector('.el-cascader-node[aria-expanded=\"true\"]');\n focusNode(expandedNode);\n }\n break;\n case KeyCode.right:\n var nextMenu = this.$refs.menu[getMenuIndex(target) + 1];\n if (nextMenu) {\n var firstNode = nextMenu.$el.querySelector('.el-cascader-node[tabindex=\"-1\"]');\n focusNode(firstNode);\n }\n break;\n case KeyCode.enter:\n checkNode(target);\n break;\n case KeyCode.esc:\n case KeyCode.tab:\n this.$emit('close');\n break;\n default:\n return;\n }\n },\n handleExpand: function handleExpand(node, silent) {\n var activePath = this.activePath;\n var level = node.level;\n\n var path = activePath.slice(0, level - 1);\n var menus = this.menus.slice(0, level);\n\n if (!node.isLeaf) {\n path.push(node);\n menus.push(node.children);\n }\n\n this.activePath = path;\n this.menus = menus;\n\n if (!silent) {\n var pathValues = path.map(function (node) {\n return node.getValue();\n });\n var activePathValues = activePath.map(function (node) {\n return node.getValue();\n });\n if (!Object(util_[\"valueEquals\"])(pathValues, activePathValues)) {\n this.$emit('active-item-change', pathValues); // Deprecated\n this.$emit('expand-change', pathValues);\n }\n }\n },\n handleCheckChange: function handleCheckChange(value) {\n this.checkedValue = value;\n },\n lazyLoad: function lazyLoad(node, onFullfiled) {\n var _this5 = this;\n\n var config = this.config;\n\n if (!node) {\n node = node || { root: true, level: 0 };\n this.store = new src_store([], config);\n this.menus = [this.store.getNodes()];\n }\n node.loading = true;\n var resolve = function resolve(dataList) {\n var parent = node.root ? null : node;\n dataList && dataList.length && _this5.store.appendNodes(dataList, parent);\n node.loading = false;\n node.loaded = true;\n\n // dispose default value on lazy load mode\n if (Array.isArray(_this5.checkedValue)) {\n var nodeValue = _this5.checkedValue[_this5.loadCount++];\n var valueKey = _this5.config.value;\n var leafKey = _this5.config.leaf;\n\n if (Array.isArray(dataList) && dataList.filter(function (item) {\n return item[valueKey] === nodeValue;\n }).length > 0) {\n var checkedNode = _this5.store.getNodeByValue(nodeValue);\n\n if (!checkedNode.data[leafKey]) {\n _this5.lazyLoad(checkedNode, function () {\n _this5.handleExpand(checkedNode);\n });\n }\n\n if (_this5.loadCount === _this5.checkedValue.length) {\n _this5.$parent.computePresentText();\n }\n }\n }\n\n onFullfiled && onFullfiled(dataList);\n };\n config.lazyLoad(node, resolve);\n },\n\n\n /**\n * public methods\n */\n calculateMultiCheckedValue: function calculateMultiCheckedValue() {\n this.checkedValue = this.getCheckedNodes(this.leafOnly).map(function (node) {\n return node.getValueByOption();\n });\n },\n scrollIntoView: function scrollIntoView() {\n if (this.$isServer) return;\n\n var menus = this.$refs.menu || [];\n menus.forEach(function (menu) {\n var menuElement = menu.$el;\n if (menuElement) {\n var container = menuElement.querySelector('.el-scrollbar__wrap');\n var activeNode = menuElement.querySelector('.el-cascader-node.is-active') || menuElement.querySelector('.el-cascader-node.in-active-path');\n scroll_into_view_default()(container, activeNode);\n }\n });\n },\n getNodeByValue: function getNodeByValue(val) {\n return this.store.getNodeByValue(val);\n },\n getFlattedNodes: function getFlattedNodes(leafOnly) {\n var cached = !this.config.lazy;\n return this.store.getFlattedNodes(leafOnly, cached);\n },\n getCheckedNodes: function getCheckedNodes(leafOnly) {\n var checkedValue = this.checkedValue,\n multiple = this.multiple;\n\n if (multiple) {\n var nodes = this.getFlattedNodes(leafOnly);\n return nodes.filter(function (node) {\n return node.checked;\n });\n } else {\n return this.isEmptyValue(checkedValue) ? [] : [this.getNodeByValue(checkedValue)];\n }\n },\n clearCheckedNodes: function clearCheckedNodes() {\n var config = this.config,\n leafOnly = this.leafOnly;\n var multiple = config.multiple,\n emitPath = config.emitPath;\n\n if (multiple) {\n this.getCheckedNodes(leafOnly).filter(function (node) {\n return !node.isDisabled;\n }).forEach(function (node) {\n return node.doCheck(false);\n });\n this.calculateMultiCheckedValue();\n } else {\n this.checkedValue = emitPath ? [] : null;\n }\n }\n }\n});\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_cascader_panelvue_type_script_lang_js_ = (cascader_panelvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue\n\n\n\n\n\n/* normalize component */\n\nvar cascader_panel_component = Object(componentNormalizer[\"a\" /* default */])(\n src_cascader_panelvue_type_script_lang_js_,\n cascader_panelvue_type_template_id_34932346_render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var cascader_panel_api; }\ncascader_panel_component.options.__file = \"packages/cascader-panel/src/cascader-panel.vue\"\n/* harmony default export */ var cascader_panel = (cascader_panel_component.exports);\n// CONCATENATED MODULE: ./packages/cascader-panel/index.js\n\n\n/* istanbul ignore next */\ncascader_panel.install = function (Vue) {\n Vue.component(cascader_panel.name, cascader_panel);\n};\n\n/* harmony default export */ var packages_cascader_panel = __webpack_exports__[\"default\"] = (cascader_panel);\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/locale\");\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/merge\");\n\n/***/ })\n\n/******/ });","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\nvar SymbolDraw = require(\"../helper/SymbolDraw\");\n\nvar EffectSymbol = require(\"../helper/EffectSymbol\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar pointsLayout = require(\"../../layout/points\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = echarts.extendChartView({\n type: 'effectScatter',\n init: function () {\n this._symbolDraw = new SymbolDraw(EffectSymbol);\n },\n render: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var effectSymbolDraw = this._symbolDraw;\n effectSymbolDraw.updateData(data);\n this.group.add(effectSymbolDraw.group);\n },\n updateTransform: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n this.group.dirty();\n var res = pointsLayout().reset(seriesModel);\n\n if (res.progress) {\n res.progress({\n start: 0,\n end: data.count()\n }, data);\n }\n\n this._symbolDraw.updateLayout(data);\n },\n _updateGroupTransform: function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.getRoamTransform) {\n this.group.transform = matrix.clone(coordSys.getRoamTransform());\n this.group.decomposeTransform();\n }\n },\n remove: function (ecModel, api) {\n this._symbolDraw && this._symbolDraw.remove(api);\n },\n dispose: function () {}\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar HeatmapLayer = require(\"./HeatmapLayer\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction getIsInPiecewiseRange(dataExtent, pieceList, selected) {\n var dataSpan = dataExtent[1] - dataExtent[0];\n pieceList = zrUtil.map(pieceList, function (piece) {\n return {\n interval: [(piece.interval[0] - dataExtent[0]) / dataSpan, (piece.interval[1] - dataExtent[0]) / dataSpan]\n };\n });\n var len = pieceList.length;\n var lastIndex = 0;\n return function (val) {\n // Try to find in the location of the last found\n for (var i = lastIndex; i < len; i++) {\n var interval = pieceList[i].interval;\n\n if (interval[0] <= val && val <= interval[1]) {\n lastIndex = i;\n break;\n }\n }\n\n if (i === len) {\n // Not found, back interation\n for (var i = lastIndex - 1; i >= 0; i--) {\n var interval = pieceList[i].interval;\n\n if (interval[0] <= val && val <= interval[1]) {\n lastIndex = i;\n break;\n }\n }\n }\n\n return i >= 0 && i < len && selected[i];\n };\n}\n\nfunction getIsInContinuousRange(dataExtent, range) {\n var dataSpan = dataExtent[1] - dataExtent[0];\n range = [(range[0] - dataExtent[0]) / dataSpan, (range[1] - dataExtent[0]) / dataSpan];\n return function (val) {\n return val >= range[0] && val <= range[1];\n };\n}\n\nfunction isGeoCoordSys(coordSys) {\n var dimensions = coordSys.dimensions; // Not use coorSys.type === 'geo' because coordSys maybe extended\n\n return dimensions[0] === 'lng' && dimensions[1] === 'lat';\n}\n\nvar _default = echarts.extendChartView({\n type: 'heatmap',\n render: function (seriesModel, ecModel, api) {\n var visualMapOfThisSeries;\n ecModel.eachComponent('visualMap', function (visualMap) {\n visualMap.eachTargetSeries(function (targetSeries) {\n if (targetSeries === seriesModel) {\n visualMapOfThisSeries = visualMap;\n }\n });\n });\n this.group.removeAll();\n this._incrementalDisplayable = null;\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys.type === 'cartesian2d' || coordSys.type === 'calendar') {\n this._renderOnCartesianAndCalendar(seriesModel, api, 0, seriesModel.getData().count());\n } else if (isGeoCoordSys(coordSys)) {\n this._renderOnGeo(coordSys, seriesModel, visualMapOfThisSeries, api);\n }\n },\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this.group.removeAll();\n },\n incrementalRender: function (params, seriesModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys) {\n this._renderOnCartesianAndCalendar(seriesModel, api, params.start, params.end, true);\n }\n },\n _renderOnCartesianAndCalendar: function (seriesModel, api, start, end, incremental) {\n var coordSys = seriesModel.coordinateSystem;\n var width;\n var height;\n\n if (coordSys.type === 'cartesian2d') {\n var xAxis = coordSys.getAxis('x');\n var yAxis = coordSys.getAxis('y');\n width = xAxis.getBandWidth();\n height = yAxis.getBandWidth();\n }\n\n var group = this.group;\n var data = seriesModel.getData();\n var itemStyleQuery = 'itemStyle';\n var hoverItemStyleQuery = 'emphasis.itemStyle';\n var labelQuery = 'label';\n var hoverLabelQuery = 'emphasis.label';\n var style = seriesModel.getModel(itemStyleQuery).getItemStyle(['color']);\n var hoverStl = seriesModel.getModel(hoverItemStyleQuery).getItemStyle();\n var labelModel = seriesModel.getModel(labelQuery);\n var hoverLabelModel = seriesModel.getModel(hoverLabelQuery);\n var coordSysType = coordSys.type;\n var dataDims = coordSysType === 'cartesian2d' ? [data.mapDimension('x'), data.mapDimension('y'), data.mapDimension('value')] : [data.mapDimension('time'), data.mapDimension('value')];\n\n for (var idx = start; idx < end; idx++) {\n var rect;\n\n if (coordSysType === 'cartesian2d') {\n // Ignore empty data\n if (isNaN(data.get(dataDims[2], idx))) {\n continue;\n }\n\n var point = coordSys.dataToPoint([data.get(dataDims[0], idx), data.get(dataDims[1], idx)]);\n rect = new graphic.Rect({\n shape: {\n x: point[0] - width / 2,\n y: point[1] - height / 2,\n width: width,\n height: height\n },\n style: {\n fill: data.getItemVisual(idx, 'color'),\n opacity: data.getItemVisual(idx, 'opacity')\n }\n });\n } else {\n // Ignore empty data\n if (isNaN(data.get(dataDims[1], idx))) {\n continue;\n }\n\n rect = new graphic.Rect({\n z2: 1,\n shape: coordSys.dataToRect([data.get(dataDims[0], idx)]).contentShape,\n style: {\n fill: data.getItemVisual(idx, 'color'),\n opacity: data.getItemVisual(idx, 'opacity')\n }\n });\n }\n\n var itemModel = data.getItemModel(idx); // Optimization for large datset\n\n if (data.hasItemOption) {\n style = itemModel.getModel(itemStyleQuery).getItemStyle(['color']);\n hoverStl = itemModel.getModel(hoverItemStyleQuery).getItemStyle();\n labelModel = itemModel.getModel(labelQuery);\n hoverLabelModel = itemModel.getModel(hoverLabelQuery);\n }\n\n var rawValue = seriesModel.getRawValue(idx);\n var defaultText = '-';\n\n if (rawValue && rawValue[2] != null) {\n defaultText = rawValue[2];\n }\n\n graphic.setLabelStyle(style, hoverStl, labelModel, hoverLabelModel, {\n labelFetcher: seriesModel,\n labelDataIndex: idx,\n defaultText: defaultText,\n isRectText: true\n });\n rect.setStyle(style);\n graphic.setHoverStyle(rect, data.hasItemOption ? hoverStl : zrUtil.extend({}, hoverStl));\n rect.incremental = incremental; // PENDING\n\n if (incremental) {\n // Rect must use hover layer if it's incremental.\n rect.useHoverLayer = true;\n }\n\n group.add(rect);\n data.setItemGraphicEl(idx, rect);\n }\n },\n _renderOnGeo: function (geo, seriesModel, visualMapModel, api) {\n var inRangeVisuals = visualMapModel.targetVisuals.inRange;\n var outOfRangeVisuals = visualMapModel.targetVisuals.outOfRange; // if (!visualMapping) {\n // throw new Error('Data range must have color visuals');\n // }\n\n var data = seriesModel.getData();\n var hmLayer = this._hmLayer || this._hmLayer || new HeatmapLayer();\n hmLayer.blurSize = seriesModel.get('blurSize');\n hmLayer.pointSize = seriesModel.get('pointSize');\n hmLayer.minOpacity = seriesModel.get('minOpacity');\n hmLayer.maxOpacity = seriesModel.get('maxOpacity');\n var rect = geo.getViewRect().clone();\n var roamTransform = geo.getRoamTransform();\n rect.applyTransform(roamTransform); // Clamp on viewport\n\n var x = Math.max(rect.x, 0);\n var y = Math.max(rect.y, 0);\n var x2 = Math.min(rect.width + rect.x, api.getWidth());\n var y2 = Math.min(rect.height + rect.y, api.getHeight());\n var width = x2 - x;\n var height = y2 - y;\n var dims = [data.mapDimension('lng'), data.mapDimension('lat'), data.mapDimension('value')];\n var points = data.mapArray(dims, function (lng, lat, value) {\n var pt = geo.dataToPoint([lng, lat]);\n pt[0] -= x;\n pt[1] -= y;\n pt.push(value);\n return pt;\n });\n var dataExtent = visualMapModel.getExtent();\n var isInRange = visualMapModel.type === 'visualMap.continuous' ? getIsInContinuousRange(dataExtent, visualMapModel.option.range) : getIsInPiecewiseRange(dataExtent, visualMapModel.getPieceList(), visualMapModel.option.selected);\n hmLayer.update(points, width, height, inRangeVisuals.color.getNormalizer(), {\n inRange: inRangeVisuals.color.getColorMapper(),\n outOfRange: outOfRangeVisuals.color.getColorMapper()\n }, isInRange);\n var img = new graphic.Image({\n style: {\n width: width,\n height: height,\n x: x,\n y: y,\n image: hmLayer.canvas\n },\n silent: true\n });\n this.group.add(img);\n },\n dispose: function () {}\n});\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar curveTool = require(\"zrender/lib/core/curve\");\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar v1 = [];\nvar v2 = [];\nvar v3 = [];\nvar quadraticAt = curveTool.quadraticAt;\nvar v2DistSquare = vec2.distSquare;\nvar mathAbs = Math.abs;\n\nfunction intersectCurveCircle(curvePoints, center, radius) {\n var p0 = curvePoints[0];\n var p1 = curvePoints[1];\n var p2 = curvePoints[2];\n var d = Infinity;\n var t;\n var radiusSquare = radius * radius;\n var interval = 0.1;\n\n for (var _t = 0.1; _t <= 0.9; _t += 0.1) {\n v1[0] = quadraticAt(p0[0], p1[0], p2[0], _t);\n v1[1] = quadraticAt(p0[1], p1[1], p2[1], _t);\n var diff = mathAbs(v2DistSquare(v1, center) - radiusSquare);\n\n if (diff < d) {\n d = diff;\n t = _t;\n }\n } // Assume the segment is monotone,Find root through Bisection method\n // At most 32 iteration\n\n\n for (var i = 0; i < 32; i++) {\n // var prev = t - interval;\n var next = t + interval; // v1[0] = quadraticAt(p0[0], p1[0], p2[0], prev);\n // v1[1] = quadraticAt(p0[1], p1[1], p2[1], prev);\n\n v2[0] = quadraticAt(p0[0], p1[0], p2[0], t);\n v2[1] = quadraticAt(p0[1], p1[1], p2[1], t);\n v3[0] = quadraticAt(p0[0], p1[0], p2[0], next);\n v3[1] = quadraticAt(p0[1], p1[1], p2[1], next);\n var diff = v2DistSquare(v2, center) - radiusSquare;\n\n if (mathAbs(diff) < 1e-2) {\n break;\n } // var prevDiff = v2DistSquare(v1, center) - radiusSquare;\n\n\n var nextDiff = v2DistSquare(v3, center) - radiusSquare;\n interval /= 2;\n\n if (diff < 0) {\n if (nextDiff >= 0) {\n t = t + interval;\n } else {\n t = t - interval;\n }\n } else {\n if (nextDiff >= 0) {\n t = t - interval;\n } else {\n t = t + interval;\n }\n }\n }\n\n return t;\n} // Adjust edge to avoid\n\n\nfunction _default(graph, scale) {\n var tmp0 = [];\n var quadraticSubdivide = curveTool.quadraticSubdivide;\n var pts = [[], [], []];\n var pts2 = [[], []];\n var v = [];\n scale /= 2;\n\n function getSymbolSize(node) {\n var symbolSize = node.getVisual('symbolSize');\n\n if (symbolSize instanceof Array) {\n symbolSize = (symbolSize[0] + symbolSize[1]) / 2;\n }\n\n return symbolSize;\n }\n\n graph.eachEdge(function (edge, idx) {\n var linePoints = edge.getLayout();\n var fromSymbol = edge.getVisual('fromSymbol');\n var toSymbol = edge.getVisual('toSymbol');\n\n if (!linePoints.__original) {\n linePoints.__original = [vec2.clone(linePoints[0]), vec2.clone(linePoints[1])];\n\n if (linePoints[2]) {\n linePoints.__original.push(vec2.clone(linePoints[2]));\n }\n }\n\n var originalPoints = linePoints.__original; // Quadratic curve\n\n if (linePoints[2] != null) {\n vec2.copy(pts[0], originalPoints[0]);\n vec2.copy(pts[1], originalPoints[2]);\n vec2.copy(pts[2], originalPoints[1]);\n\n if (fromSymbol && fromSymbol !== 'none') {\n var symbolSize = getSymbolSize(edge.node1);\n var t = intersectCurveCircle(pts, originalPoints[0], symbolSize * scale); // Subdivide and get the second\n\n quadraticSubdivide(pts[0][0], pts[1][0], pts[2][0], t, tmp0);\n pts[0][0] = tmp0[3];\n pts[1][0] = tmp0[4];\n quadraticSubdivide(pts[0][1], pts[1][1], pts[2][1], t, tmp0);\n pts[0][1] = tmp0[3];\n pts[1][1] = tmp0[4];\n }\n\n if (toSymbol && toSymbol !== 'none') {\n var symbolSize = getSymbolSize(edge.node2);\n var t = intersectCurveCircle(pts, originalPoints[1], symbolSize * scale); // Subdivide and get the first\n\n quadraticSubdivide(pts[0][0], pts[1][0], pts[2][0], t, tmp0);\n pts[1][0] = tmp0[1];\n pts[2][0] = tmp0[2];\n quadraticSubdivide(pts[0][1], pts[1][1], pts[2][1], t, tmp0);\n pts[1][1] = tmp0[1];\n pts[2][1] = tmp0[2];\n } // Copy back to layout\n\n\n vec2.copy(linePoints[0], pts[0]);\n vec2.copy(linePoints[1], pts[2]);\n vec2.copy(linePoints[2], pts[1]);\n } // Line\n else {\n vec2.copy(pts2[0], originalPoints[0]);\n vec2.copy(pts2[1], originalPoints[1]);\n vec2.sub(v, pts2[1], pts2[0]);\n vec2.normalize(v, v);\n\n if (fromSymbol && fromSymbol !== 'none') {\n var symbolSize = getSymbolSize(edge.node1);\n vec2.scaleAndAdd(pts2[0], pts2[0], v, symbolSize * scale);\n }\n\n if (toSymbol && toSymbol !== 'none') {\n var symbolSize = getSymbolSize(edge.node2);\n vec2.scaleAndAdd(pts2[1], pts2[1], v, -symbolSize * scale);\n }\n\n vec2.copy(linePoints[0], pts2[0]);\n vec2.copy(linePoints[1], pts2[1]);\n }\n });\n}\n\nmodule.exports = _default;","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var isObject = require('../internals/is-object');\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (pref !== 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.i18n = exports.use = exports.t = undefined;\n\nvar _zhCN = require('element-ui/lib/locale/lang/zh-CN');\n\nvar _zhCN2 = _interopRequireDefault(_zhCN);\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _deepmerge = require('deepmerge');\n\nvar _deepmerge2 = _interopRequireDefault(_deepmerge);\n\nvar _format = require('./format');\n\nvar _format2 = _interopRequireDefault(_format);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar format = (0, _format2.default)(_vue2.default);\nvar lang = _zhCN2.default;\nvar merged = false;\nvar i18nHandler = function i18nHandler() {\n var vuei18n = Object.getPrototypeOf(this || _vue2.default).$t;\n if (typeof vuei18n === 'function' && !!_vue2.default.locale) {\n if (!merged) {\n merged = true;\n _vue2.default.locale(_vue2.default.config.lang, (0, _deepmerge2.default)(lang, _vue2.default.locale(_vue2.default.config.lang) || {}, { clone: true }));\n }\n return vuei18n.apply(this, arguments);\n }\n};\n\nvar t = exports.t = function t(path, options) {\n var value = i18nHandler.apply(this, arguments);\n if (value !== null && value !== undefined) return value;\n\n var array = path.split('.');\n var current = lang;\n\n for (var i = 0, j = array.length; i < j; i++) {\n var property = array[i];\n value = current[property];\n if (i === j - 1) return format(value, options);\n if (!value) return '';\n current = value;\n }\n return '';\n};\n\nvar use = exports.use = function use(l) {\n lang = l || lang;\n};\n\nvar i18n = exports.i18n = function i18n(fn) {\n i18nHandler = fn || i18nHandler;\n};\n\nexports.default = { use: use, t: t, i18n: i18n };","var zrUtil = require(\"../core/util\");\n\nvar Gradient = require(\"./Gradient\");\n\n/**\n * x, y, x2, y2 are all percent from 0 to 1\n * @param {number} [x=0]\n * @param {number} [y=0]\n * @param {number} [x2=1]\n * @param {number} [y2=0]\n * @param {Array.} colorStops\n * @param {boolean} [globalCoord=false]\n */\nvar LinearGradient = function (x, y, x2, y2, colorStops, globalCoord) {\n // Should do nothing more in this constructor. Because gradient can be\n // declard by `color: {type: 'linear', colorStops: ...}`, where\n // this constructor will not be called.\n this.x = x == null ? 0 : x;\n this.y = y == null ? 0 : y;\n this.x2 = x2 == null ? 1 : x2;\n this.y2 = y2 == null ? 0 : y2; // Can be cloned\n\n this.type = 'linear'; // If use global coord\n\n this.global = globalCoord || false;\n Gradient.call(this, colorStops);\n};\n\nLinearGradient.prototype = {\n constructor: LinearGradient\n};\nzrUtil.inherits(LinearGradient, Gradient);\nvar _default = LinearGradient;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../../echarts\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar AxisPointerModel = echarts.extendComponentModel({\n type: 'axisPointer',\n coordSysAxesInfo: null,\n defaultOption: {\n // 'auto' means that show when triggered by tooltip or handle.\n show: 'auto',\n // 'click' | 'mousemove' | 'none'\n triggerOn: null,\n // set default in AxisPonterView.js\n zlevel: 0,\n z: 50,\n type: 'line',\n // 'line' 'shadow' 'cross' 'none'.\n // axispointer triggered by tootip determine snap automatically,\n // see `modelHelper`.\n snap: false,\n triggerTooltip: true,\n value: null,\n status: null,\n // Init value depends on whether handle is used.\n // [group0, group1, ...]\n // Each group can be: {\n // mapper: function () {},\n // singleTooltip: 'multiple', // 'multiple' or 'single'\n // xAxisId: ...,\n // yAxisName: ...,\n // angleAxisIndex: ...\n // }\n // mapper: can be ignored.\n // input: {axisInfo, value}\n // output: {axisInfo, value}\n link: [],\n // Do not set 'auto' here, otherwise global animation: false\n // will not effect at this axispointer.\n animation: null,\n animationDurationUpdate: 200,\n lineStyle: {\n color: '#aaa',\n width: 1,\n type: 'solid'\n },\n shadowStyle: {\n color: 'rgba(150,150,150,0.3)'\n },\n label: {\n show: true,\n formatter: null,\n // string | Function\n precision: 'auto',\n // Or a number like 0, 1, 2 ...\n margin: 3,\n color: '#fff',\n padding: [5, 7, 5, 7],\n backgroundColor: 'auto',\n // default: axis line color\n borderColor: null,\n borderWidth: 0,\n shadowBlur: 3,\n shadowColor: '#aaa' // Considering applicability, common style should\n // better not have shadowOffset.\n // shadowOffsetX: 0,\n // shadowOffsetY: 2\n\n },\n handle: {\n show: false,\n\n /* eslint-disable */\n icon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z',\n // jshint ignore:line\n\n /* eslint-enable */\n size: 45,\n // handle margin is from symbol center to axis, which is stable when circular move.\n margin: 50,\n // color: '#1b8bbd'\n // color: '#2f4554'\n color: '#333',\n shadowBlur: 3,\n shadowColor: '#aaa',\n shadowOffsetX: 0,\n shadowOffsetY: 2,\n // For mobile performance\n throttle: 40\n }\n }\n});\nvar _default = AxisPointerModel;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar axisModelCreator = require(\"../axisModelCreator\");\n\nvar axisModelCommonMixin = require(\"../axisModelCommonMixin\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar AxisModel = ComponentModel.extend({\n type: 'cartesian2dAxis',\n\n /**\n * @type {module:echarts/coord/cartesian/Axis2D}\n */\n axis: null,\n\n /**\n * @override\n */\n init: function () {\n AxisModel.superApply(this, 'init', arguments);\n this.resetRange();\n },\n\n /**\n * @override\n */\n mergeOption: function () {\n AxisModel.superApply(this, 'mergeOption', arguments);\n this.resetRange();\n },\n\n /**\n * @override\n */\n restoreData: function () {\n AxisModel.superApply(this, 'restoreData', arguments);\n this.resetRange();\n },\n\n /**\n * @override\n * @return {module:echarts/model/Component}\n */\n getCoordSysModel: function () {\n return this.ecModel.queryComponents({\n mainType: 'grid',\n index: this.option.gridIndex,\n id: this.option.gridId\n })[0];\n }\n});\n\nfunction getAxisType(axisDim, option) {\n // Default axis with data is category axis\n return option.type || (option.data ? 'category' : 'value');\n}\n\nzrUtil.merge(AxisModel.prototype, axisModelCommonMixin);\nvar extraOption = {\n // gridIndex: 0,\n // gridId: '',\n // Offset is for multiple axis on the same position\n offset: 0\n};\naxisModelCreator('x', AxisModel, getAxisType, extraOption);\naxisModelCreator('y', AxisModel, getAxisType, extraOption);\nvar _default = AxisModel;\nmodule.exports = _default;","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var _config = require(\"../config\");\n\nvar debugMode = _config.debugMode;\n\nvar log = function () {};\n\nif (debugMode === 1) {\n log = function () {\n for (var k in arguments) {\n throw new Error(arguments[k]);\n }\n };\n} else if (debugMode > 1) {\n log = function () {\n for (var k in arguments) {\n console.log(arguments[k]);\n }\n };\n}\n\nvar _default = log;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _roamHelper = require(\"./roamHelper\");\n\nvar updateCenterAndZoom = _roamHelper.updateCenterAndZoom;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @payload\n * @property {string} [componentType=series]\n * @property {number} [dx]\n * @property {number} [dy]\n * @property {number} [zoom]\n * @property {number} [originX]\n * @property {number} [originY]\n */\necharts.registerAction({\n type: 'geoRoam',\n event: 'geoRoam',\n update: 'updateTransform'\n}, function (payload, ecModel) {\n var componentType = payload.componentType || 'series';\n ecModel.eachComponent({\n mainType: componentType,\n query: payload\n }, function (componentModel) {\n var geo = componentModel.coordinateSystem;\n\n if (geo.type !== 'geo') {\n return;\n }\n\n var res = updateCenterAndZoom(geo, payload, componentModel.get('scaleLimit'));\n componentModel.setCenter && componentModel.setCenter(res.center);\n componentModel.setZoom && componentModel.setZoom(res.zoom); // All map series with same `map` use the same geo coordinate system\n // So the center and zoom must be in sync. Include the series not selected by legend\n\n if (componentType === 'series') {\n zrUtil.each(componentModel.seriesGroup, function (seriesModel) {\n seriesModel.setCenter(res.center);\n seriesModel.setZoom(res.zoom);\n });\n }\n });\n});","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Eventful = require(\"zrender/lib/mixin/Eventful\");\n\nvar eventTool = require(\"zrender/lib/core/event\");\n\nvar interactionMutex = require(\"./interactionMutex\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @alias module:echarts/component/helper/RoamController\n * @constructor\n * @mixin {module:zrender/mixin/Eventful}\n *\n * @param {module:zrender/zrender~ZRender} zr\n */\nfunction RoamController(zr) {\n /**\n * @type {Function}\n */\n this.pointerChecker;\n /**\n * @type {module:zrender}\n */\n\n this._zr = zr;\n /**\n * @type {Object}\n */\n\n this._opt = {}; // Avoid two roamController bind the same handler\n\n var bind = zrUtil.bind;\n var mousedownHandler = bind(mousedown, this);\n var mousemoveHandler = bind(mousemove, this);\n var mouseupHandler = bind(mouseup, this);\n var mousewheelHandler = bind(mousewheel, this);\n var pinchHandler = bind(pinch, this);\n Eventful.call(this);\n /**\n * @param {Function} pointerChecker\n * input: x, y\n * output: boolean\n */\n\n this.setPointerChecker = function (pointerChecker) {\n this.pointerChecker = pointerChecker;\n };\n /**\n * Notice: only enable needed types. For example, if 'zoom'\n * is not needed, 'zoom' should not be enabled, otherwise\n * default mousewheel behaviour (scroll page) will be disabled.\n *\n * @param {boolean|string} [controlType=true] Specify the control type,\n * which can be null/undefined or true/false\n * or 'pan/move' or 'zoom'/'scale'\n * @param {Object} [opt]\n * @param {Object} [opt.zoomOnMouseWheel=true] The value can be: true / false / 'shift' / 'ctrl' / 'alt'.\n * @param {Object} [opt.moveOnMouseMove=true] The value can be: true / false / 'shift' / 'ctrl' / 'alt'.\n * @param {Object} [opt.moveOnMouseWheel=false] The value can be: true / false / 'shift' / 'ctrl' / 'alt'.\n * @param {Object} [opt.preventDefaultMouseMove=true] When pan.\n */\n\n\n this.enable = function (controlType, opt) {\n // Disable previous first\n this.disable();\n this._opt = zrUtil.defaults(zrUtil.clone(opt) || {}, {\n zoomOnMouseWheel: true,\n moveOnMouseMove: true,\n // By default, wheel do not trigger move.\n moveOnMouseWheel: false,\n preventDefaultMouseMove: true\n });\n\n if (controlType == null) {\n controlType = true;\n }\n\n if (controlType === true || controlType === 'move' || controlType === 'pan') {\n zr.on('mousedown', mousedownHandler);\n zr.on('mousemove', mousemoveHandler);\n zr.on('mouseup', mouseupHandler);\n }\n\n if (controlType === true || controlType === 'scale' || controlType === 'zoom') {\n zr.on('mousewheel', mousewheelHandler);\n zr.on('pinch', pinchHandler);\n }\n };\n\n this.disable = function () {\n zr.off('mousedown', mousedownHandler);\n zr.off('mousemove', mousemoveHandler);\n zr.off('mouseup', mouseupHandler);\n zr.off('mousewheel', mousewheelHandler);\n zr.off('pinch', pinchHandler);\n };\n\n this.dispose = this.disable;\n\n this.isDragging = function () {\n return this._dragging;\n };\n\n this.isPinching = function () {\n return this._pinching;\n };\n}\n\nzrUtil.mixin(RoamController, Eventful);\n\nfunction mousedown(e) {\n if (eventTool.isMiddleOrRightButtonOnMouseUpDown(e) || e.target && e.target.draggable) {\n return;\n }\n\n var x = e.offsetX;\n var y = e.offsetY; // Only check on mosedown, but not mousemove.\n // Mouse can be out of target when mouse moving.\n\n if (this.pointerChecker && this.pointerChecker(e, x, y)) {\n this._x = x;\n this._y = y;\n this._dragging = true;\n }\n}\n\nfunction mousemove(e) {\n if (!this._dragging || !isAvailableBehavior('moveOnMouseMove', e, this._opt) || e.gestureEvent === 'pinch' || interactionMutex.isTaken(this._zr, 'globalPan')) {\n return;\n }\n\n var x = e.offsetX;\n var y = e.offsetY;\n var oldX = this._x;\n var oldY = this._y;\n var dx = x - oldX;\n var dy = y - oldY;\n this._x = x;\n this._y = y;\n this._opt.preventDefaultMouseMove && eventTool.stop(e.event);\n trigger(this, 'pan', 'moveOnMouseMove', e, {\n dx: dx,\n dy: dy,\n oldX: oldX,\n oldY: oldY,\n newX: x,\n newY: y\n });\n}\n\nfunction mouseup(e) {\n if (!eventTool.isMiddleOrRightButtonOnMouseUpDown(e)) {\n this._dragging = false;\n }\n}\n\nfunction mousewheel(e) {\n var shouldZoom = isAvailableBehavior('zoomOnMouseWheel', e, this._opt);\n var shouldMove = isAvailableBehavior('moveOnMouseWheel', e, this._opt);\n var wheelDelta = e.wheelDelta;\n var absWheelDeltaDelta = Math.abs(wheelDelta);\n var originX = e.offsetX;\n var originY = e.offsetY; // wheelDelta maybe -0 in chrome mac.\n\n if (wheelDelta === 0 || !shouldZoom && !shouldMove) {\n return;\n } // If both `shouldZoom` and `shouldMove` is true, trigger\n // their event both, and the final behavior is determined\n // by event listener themselves.\n\n\n if (shouldZoom) {\n // Convenience:\n // Mac and VM Windows on Mac: scroll up: zoom out.\n // Windows: scroll up: zoom in.\n // FIXME: Should do more test in different environment.\n // wheelDelta is too complicated in difference nvironment\n // (https://developer.mozilla.org/en-US/docs/Web/Events/mousewheel),\n // although it has been normallized by zrender.\n // wheelDelta of mouse wheel is bigger than touch pad.\n var factor = absWheelDeltaDelta > 3 ? 1.4 : absWheelDeltaDelta > 1 ? 1.2 : 1.1;\n var scale = wheelDelta > 0 ? factor : 1 / factor;\n checkPointerAndTrigger(this, 'zoom', 'zoomOnMouseWheel', e, {\n scale: scale,\n originX: originX,\n originY: originY\n });\n }\n\n if (shouldMove) {\n // FIXME: Should do more test in different environment.\n var absDelta = Math.abs(wheelDelta); // wheelDelta of mouse wheel is bigger than touch pad.\n\n var scrollDelta = (wheelDelta > 0 ? 1 : -1) * (absDelta > 3 ? 0.4 : absDelta > 1 ? 0.15 : 0.05);\n checkPointerAndTrigger(this, 'scrollMove', 'moveOnMouseWheel', e, {\n scrollDelta: scrollDelta,\n originX: originX,\n originY: originY\n });\n }\n}\n\nfunction pinch(e) {\n if (interactionMutex.isTaken(this._zr, 'globalPan')) {\n return;\n }\n\n var scale = e.pinchScale > 1 ? 1.1 : 1 / 1.1;\n checkPointerAndTrigger(this, 'zoom', null, e, {\n scale: scale,\n originX: e.pinchX,\n originY: e.pinchY\n });\n}\n\nfunction checkPointerAndTrigger(controller, eventName, behaviorToCheck, e, contollerEvent) {\n if (controller.pointerChecker && controller.pointerChecker(e, contollerEvent.originX, contollerEvent.originY)) {\n // When mouse is out of roamController rect,\n // default befavoius should not be be disabled, otherwise\n // page sliding is disabled, contrary to expectation.\n eventTool.stop(e.event);\n trigger(controller, eventName, behaviorToCheck, e, contollerEvent);\n }\n}\n\nfunction trigger(controller, eventName, behaviorToCheck, e, contollerEvent) {\n // Also provide behavior checker for event listener, for some case that\n // multiple components share one listener.\n contollerEvent.isAvailableBehavior = zrUtil.bind(isAvailableBehavior, null, behaviorToCheck, e);\n controller.trigger(eventName, contollerEvent);\n} // settings: {\n// zoomOnMouseWheel\n// moveOnMouseMove\n// moveOnMouseWheel\n// }\n// The value can be: true / false / 'shift' / 'ctrl' / 'alt'.\n\n\nfunction isAvailableBehavior(behaviorToCheck, e, settings) {\n var setting = settings[behaviorToCheck];\n return !behaviorToCheck || setting && (!zrUtil.isString(setting) || e.event[setting + 'Key']);\n}\n\nvar _default = RoamController;\nmodule.exports = _default;","var _vector = require(\"./vector\");\n\nvar v2Create = _vector.create;\nvar v2DistSquare = _vector.distSquare;\n\n/**\n * 曲线辅助模块\n * @module zrender/core/curve\n * @author pissang(https://www.github.com/pissang)\n */\nvar mathPow = Math.pow;\nvar mathSqrt = Math.sqrt;\nvar EPSILON = 1e-8;\nvar EPSILON_NUMERIC = 1e-4;\nvar THREE_SQRT = mathSqrt(3);\nvar ONE_THIRD = 1 / 3; // 临时变量\n\nvar _v0 = v2Create();\n\nvar _v1 = v2Create();\n\nvar _v2 = v2Create();\n\nfunction isAroundZero(val) {\n return val > -EPSILON && val < EPSILON;\n}\n\nfunction isNotAroundZero(val) {\n return val > EPSILON || val < -EPSILON;\n}\n/**\n * 计算三次贝塞尔值\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} t\n * @return {number}\n */\n\n\nfunction cubicAt(p0, p1, p2, p3, t) {\n var onet = 1 - t;\n return onet * onet * (onet * p0 + 3 * t * p1) + t * t * (t * p3 + 3 * onet * p2);\n}\n/**\n * 计算三次贝塞尔导数值\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} t\n * @return {number}\n */\n\n\nfunction cubicDerivativeAt(p0, p1, p2, p3, t) {\n var onet = 1 - t;\n return 3 * (((p1 - p0) * onet + 2 * (p2 - p1) * t) * onet + (p3 - p2) * t * t);\n}\n/**\n * 计算三次贝塞尔方程根,使用盛金公式\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} val\n * @param {Array.} roots\n * @return {number} 有效根数目\n */\n\n\nfunction cubicRootAt(p0, p1, p2, p3, val, roots) {\n // Evaluate roots of cubic functions\n var a = p3 + 3 * (p1 - p2) - p0;\n var b = 3 * (p2 - p1 * 2 + p0);\n var c = 3 * (p1 - p0);\n var d = p0 - val;\n var A = b * b - 3 * a * c;\n var B = b * c - 9 * a * d;\n var C = c * c - 3 * b * d;\n var n = 0;\n\n if (isAroundZero(A) && isAroundZero(B)) {\n if (isAroundZero(b)) {\n roots[0] = 0;\n } else {\n var t1 = -c / b; //t1, t2, t3, b is not zero\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n }\n } else {\n var disc = B * B - 4 * A * C;\n\n if (isAroundZero(disc)) {\n var K = B / A;\n var t1 = -b / a + K; // t1, a is not zero\n\n var t2 = -K / 2; // t2, t3\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n\n if (t2 >= 0 && t2 <= 1) {\n roots[n++] = t2;\n }\n } else if (disc > 0) {\n var discSqrt = mathSqrt(disc);\n var Y1 = A * b + 1.5 * a * (-B + discSqrt);\n var Y2 = A * b + 1.5 * a * (-B - discSqrt);\n\n if (Y1 < 0) {\n Y1 = -mathPow(-Y1, ONE_THIRD);\n } else {\n Y1 = mathPow(Y1, ONE_THIRD);\n }\n\n if (Y2 < 0) {\n Y2 = -mathPow(-Y2, ONE_THIRD);\n } else {\n Y2 = mathPow(Y2, ONE_THIRD);\n }\n\n var t1 = (-b - (Y1 + Y2)) / (3 * a);\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n } else {\n var T = (2 * A * b - 3 * a * B) / (2 * mathSqrt(A * A * A));\n var theta = Math.acos(T) / 3;\n var ASqrt = mathSqrt(A);\n var tmp = Math.cos(theta);\n var t1 = (-b - 2 * ASqrt * tmp) / (3 * a);\n var t2 = (-b + ASqrt * (tmp + THREE_SQRT * Math.sin(theta))) / (3 * a);\n var t3 = (-b + ASqrt * (tmp - THREE_SQRT * Math.sin(theta))) / (3 * a);\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n\n if (t2 >= 0 && t2 <= 1) {\n roots[n++] = t2;\n }\n\n if (t3 >= 0 && t3 <= 1) {\n roots[n++] = t3;\n }\n }\n }\n\n return n;\n}\n/**\n * 计算三次贝塞尔方程极限值的位置\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {Array.} extrema\n * @return {number} 有效数目\n */\n\n\nfunction cubicExtrema(p0, p1, p2, p3, extrema) {\n var b = 6 * p2 - 12 * p1 + 6 * p0;\n var a = 9 * p1 + 3 * p3 - 3 * p0 - 9 * p2;\n var c = 3 * p1 - 3 * p0;\n var n = 0;\n\n if (isAroundZero(a)) {\n if (isNotAroundZero(b)) {\n var t1 = -c / b;\n\n if (t1 >= 0 && t1 <= 1) {\n extrema[n++] = t1;\n }\n }\n } else {\n var disc = b * b - 4 * a * c;\n\n if (isAroundZero(disc)) {\n extrema[0] = -b / (2 * a);\n } else if (disc > 0) {\n var discSqrt = mathSqrt(disc);\n var t1 = (-b + discSqrt) / (2 * a);\n var t2 = (-b - discSqrt) / (2 * a);\n\n if (t1 >= 0 && t1 <= 1) {\n extrema[n++] = t1;\n }\n\n if (t2 >= 0 && t2 <= 1) {\n extrema[n++] = t2;\n }\n }\n }\n\n return n;\n}\n/**\n * 细分三次贝塞尔曲线\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} t\n * @param {Array.} out\n */\n\n\nfunction cubicSubdivide(p0, p1, p2, p3, t, out) {\n var p01 = (p1 - p0) * t + p0;\n var p12 = (p2 - p1) * t + p1;\n var p23 = (p3 - p2) * t + p2;\n var p012 = (p12 - p01) * t + p01;\n var p123 = (p23 - p12) * t + p12;\n var p0123 = (p123 - p012) * t + p012; // Seg0\n\n out[0] = p0;\n out[1] = p01;\n out[2] = p012;\n out[3] = p0123; // Seg1\n\n out[4] = p0123;\n out[5] = p123;\n out[6] = p23;\n out[7] = p3;\n}\n/**\n * 投射点到三次贝塞尔曲线上,返回投射距离。\n * 投射点有可能会有一个或者多个,这里只返回其中距离最短的一个。\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x3\n * @param {number} y3\n * @param {number} x\n * @param {number} y\n * @param {Array.} [out] 投射点\n * @return {number}\n */\n\n\nfunction cubicProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, x, y, out) {\n // http://pomax.github.io/bezierinfo/#projections\n var t;\n var interval = 0.005;\n var d = Infinity;\n var prev;\n var next;\n var d1;\n var d2;\n _v0[0] = x;\n _v0[1] = y; // 先粗略估计一下可能的最小距离的 t 值\n // PENDING\n\n for (var _t = 0; _t < 1; _t += 0.05) {\n _v1[0] = cubicAt(x0, x1, x2, x3, _t);\n _v1[1] = cubicAt(y0, y1, y2, y3, _t);\n d1 = v2DistSquare(_v0, _v1);\n\n if (d1 < d) {\n t = _t;\n d = d1;\n }\n }\n\n d = Infinity; // At most 32 iteration\n\n for (var i = 0; i < 32; i++) {\n if (interval < EPSILON_NUMERIC) {\n break;\n }\n\n prev = t - interval;\n next = t + interval; // t - interval\n\n _v1[0] = cubicAt(x0, x1, x2, x3, prev);\n _v1[1] = cubicAt(y0, y1, y2, y3, prev);\n d1 = v2DistSquare(_v1, _v0);\n\n if (prev >= 0 && d1 < d) {\n t = prev;\n d = d1;\n } else {\n // t + interval\n _v2[0] = cubicAt(x0, x1, x2, x3, next);\n _v2[1] = cubicAt(y0, y1, y2, y3, next);\n d2 = v2DistSquare(_v2, _v0);\n\n if (next <= 1 && d2 < d) {\n t = next;\n d = d2;\n } else {\n interval *= 0.5;\n }\n }\n } // t\n\n\n if (out) {\n out[0] = cubicAt(x0, x1, x2, x3, t);\n out[1] = cubicAt(y0, y1, y2, y3, t);\n } // console.log(interval, i);\n\n\n return mathSqrt(d);\n}\n/**\n * 计算二次方贝塞尔值\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} t\n * @return {number}\n */\n\n\nfunction quadraticAt(p0, p1, p2, t) {\n var onet = 1 - t;\n return onet * (onet * p0 + 2 * t * p1) + t * t * p2;\n}\n/**\n * 计算二次方贝塞尔导数值\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} t\n * @return {number}\n */\n\n\nfunction quadraticDerivativeAt(p0, p1, p2, t) {\n return 2 * ((1 - t) * (p1 - p0) + t * (p2 - p1));\n}\n/**\n * 计算二次方贝塞尔方程根\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} t\n * @param {Array.} roots\n * @return {number} 有效根数目\n */\n\n\nfunction quadraticRootAt(p0, p1, p2, val, roots) {\n var a = p0 - 2 * p1 + p2;\n var b = 2 * (p1 - p0);\n var c = p0 - val;\n var n = 0;\n\n if (isAroundZero(a)) {\n if (isNotAroundZero(b)) {\n var t1 = -c / b;\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n }\n } else {\n var disc = b * b - 4 * a * c;\n\n if (isAroundZero(disc)) {\n var t1 = -b / (2 * a);\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n } else if (disc > 0) {\n var discSqrt = mathSqrt(disc);\n var t1 = (-b + discSqrt) / (2 * a);\n var t2 = (-b - discSqrt) / (2 * a);\n\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n\n if (t2 >= 0 && t2 <= 1) {\n roots[n++] = t2;\n }\n }\n }\n\n return n;\n}\n/**\n * 计算二次贝塞尔方程极限值\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @return {number}\n */\n\n\nfunction quadraticExtremum(p0, p1, p2) {\n var divider = p0 + p2 - 2 * p1;\n\n if (divider === 0) {\n // p1 is center of p0 and p2\n return 0.5;\n } else {\n return (p0 - p1) / divider;\n }\n}\n/**\n * 细分二次贝塞尔曲线\n * @memberOf module:zrender/core/curve\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} t\n * @param {Array.} out\n */\n\n\nfunction quadraticSubdivide(p0, p1, p2, t, out) {\n var p01 = (p1 - p0) * t + p0;\n var p12 = (p2 - p1) * t + p1;\n var p012 = (p12 - p01) * t + p01; // Seg0\n\n out[0] = p0;\n out[1] = p01;\n out[2] = p012; // Seg1\n\n out[3] = p012;\n out[4] = p12;\n out[5] = p2;\n}\n/**\n * 投射点到二次贝塞尔曲线上,返回投射距离。\n * 投射点有可能会有一个或者多个,这里只返回其中距离最短的一个。\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x\n * @param {number} y\n * @param {Array.} out 投射点\n * @return {number}\n */\n\n\nfunction quadraticProjectPoint(x0, y0, x1, y1, x2, y2, x, y, out) {\n // http://pomax.github.io/bezierinfo/#projections\n var t;\n var interval = 0.005;\n var d = Infinity;\n _v0[0] = x;\n _v0[1] = y; // 先粗略估计一下可能的最小距离的 t 值\n // PENDING\n\n for (var _t = 0; _t < 1; _t += 0.05) {\n _v1[0] = quadraticAt(x0, x1, x2, _t);\n _v1[1] = quadraticAt(y0, y1, y2, _t);\n var d1 = v2DistSquare(_v0, _v1);\n\n if (d1 < d) {\n t = _t;\n d = d1;\n }\n }\n\n d = Infinity; // At most 32 iteration\n\n for (var i = 0; i < 32; i++) {\n if (interval < EPSILON_NUMERIC) {\n break;\n }\n\n var prev = t - interval;\n var next = t + interval; // t - interval\n\n _v1[0] = quadraticAt(x0, x1, x2, prev);\n _v1[1] = quadraticAt(y0, y1, y2, prev);\n var d1 = v2DistSquare(_v1, _v0);\n\n if (prev >= 0 && d1 < d) {\n t = prev;\n d = d1;\n } else {\n // t + interval\n _v2[0] = quadraticAt(x0, x1, x2, next);\n _v2[1] = quadraticAt(y0, y1, y2, next);\n var d2 = v2DistSquare(_v2, _v0);\n\n if (next <= 1 && d2 < d) {\n t = next;\n d = d2;\n } else {\n interval *= 0.5;\n }\n }\n } // t\n\n\n if (out) {\n out[0] = quadraticAt(x0, x1, x2, t);\n out[1] = quadraticAt(y0, y1, y2, t);\n } // console.log(interval, i);\n\n\n return mathSqrt(d);\n}\n\nexports.cubicAt = cubicAt;\nexports.cubicDerivativeAt = cubicDerivativeAt;\nexports.cubicRootAt = cubicRootAt;\nexports.cubicExtrema = cubicExtrema;\nexports.cubicSubdivide = cubicSubdivide;\nexports.cubicProjectPoint = cubicProjectPoint;\nexports.quadraticAt = quadraticAt;\nexports.quadraticDerivativeAt = quadraticDerivativeAt;\nexports.quadraticRootAt = quadraticRootAt;\nexports.quadraticExtremum = quadraticExtremum;\nexports.quadraticSubdivide = quadraticSubdivide;\nexports.quadraticProjectPoint = quadraticProjectPoint;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar BaseAxisPointer = require(\"./BaseAxisPointer\");\n\nvar viewHelper = require(\"./viewHelper\");\n\nvar cartesianAxisHelper = require(\"../../coord/cartesian/cartesianAxisHelper\");\n\nvar AxisView = require(\"../axis/AxisView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar CartesianAxisPointer = BaseAxisPointer.extend({\n /**\n * @override\n */\n makeElOption: function (elOption, value, axisModel, axisPointerModel, api) {\n var axis = axisModel.axis;\n var grid = axis.grid;\n var axisPointerType = axisPointerModel.get('type');\n var otherExtent = getCartesian(grid, axis).getOtherAxis(axis).getGlobalExtent();\n var pixelValue = axis.toGlobalCoord(axis.dataToCoord(value, true));\n\n if (axisPointerType && axisPointerType !== 'none') {\n var elStyle = viewHelper.buildElStyle(axisPointerModel);\n var pointerOption = pointerShapeBuilder[axisPointerType](axis, pixelValue, otherExtent, elStyle);\n pointerOption.style = elStyle;\n elOption.graphicKey = pointerOption.type;\n elOption.pointer = pointerOption;\n }\n\n var layoutInfo = cartesianAxisHelper.layout(grid.model, axisModel);\n viewHelper.buildCartesianSingleLabelElOption(value, elOption, layoutInfo, axisModel, axisPointerModel, api);\n },\n\n /**\n * @override\n */\n getHandleTransform: function (value, axisModel, axisPointerModel) {\n var layoutInfo = cartesianAxisHelper.layout(axisModel.axis.grid.model, axisModel, {\n labelInside: false\n });\n layoutInfo.labelMargin = axisPointerModel.get('handle.margin');\n return {\n position: viewHelper.getTransformedPosition(axisModel.axis, value, layoutInfo),\n rotation: layoutInfo.rotation + (layoutInfo.labelDirection < 0 ? Math.PI : 0)\n };\n },\n\n /**\n * @override\n */\n updateHandleTransform: function (transform, delta, axisModel, axisPointerModel) {\n var axis = axisModel.axis;\n var grid = axis.grid;\n var axisExtent = axis.getGlobalExtent(true);\n var otherExtent = getCartesian(grid, axis).getOtherAxis(axis).getGlobalExtent();\n var dimIndex = axis.dim === 'x' ? 0 : 1;\n var currPosition = transform.position;\n currPosition[dimIndex] += delta[dimIndex];\n currPosition[dimIndex] = Math.min(axisExtent[1], currPosition[dimIndex]);\n currPosition[dimIndex] = Math.max(axisExtent[0], currPosition[dimIndex]);\n var cursorOtherValue = (otherExtent[1] + otherExtent[0]) / 2;\n var cursorPoint = [cursorOtherValue, cursorOtherValue];\n cursorPoint[dimIndex] = currPosition[dimIndex]; // Make tooltip do not overlap axisPointer and in the middle of the grid.\n\n var tooltipOptions = [{\n verticalAlign: 'middle'\n }, {\n align: 'center'\n }];\n return {\n position: currPosition,\n rotation: transform.rotation,\n cursorPoint: cursorPoint,\n tooltipOption: tooltipOptions[dimIndex]\n };\n }\n});\n\nfunction getCartesian(grid, axis) {\n var opt = {};\n opt[axis.dim + 'AxisIndex'] = axis.index;\n return grid.getCartesian(opt);\n}\n\nvar pointerShapeBuilder = {\n line: function (axis, pixelValue, otherExtent, elStyle) {\n var targetShape = viewHelper.makeLineShape([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getAxisDimIndex(axis));\n graphic.subPixelOptimizeLine({\n shape: targetShape,\n style: elStyle\n });\n return {\n type: 'Line',\n shape: targetShape\n };\n },\n shadow: function (axis, pixelValue, otherExtent, elStyle) {\n var bandWidth = Math.max(1, axis.getBandWidth());\n var span = otherExtent[1] - otherExtent[0];\n return {\n type: 'Rect',\n shape: viewHelper.makeRectShape([pixelValue - bandWidth / 2, otherExtent[0]], [bandWidth, span], getAxisDimIndex(axis))\n };\n }\n};\n\nfunction getAxisDimIndex(axis) {\n return axis.dim === 'x' ? 0 : 1;\n}\n\nAxisView.registerAxisPointerClass('CartesianAxisPointer', CartesianAxisPointer);\nvar _default = CartesianAxisPointer;\nmodule.exports = _default;","var Path = require(\"../Path\");\n\nvar fixClipWithShadow = require(\"../helper/fixClipWithShadow\");\n\n/**\n * 扇形\n * @module zrender/graphic/shape/Sector\n */\nvar _default = Path.extend({\n type: 'sector',\n shape: {\n cx: 0,\n cy: 0,\n r0: 0,\n r: 0,\n startAngle: 0,\n endAngle: Math.PI * 2,\n clockwise: true\n },\n brush: fixClipWithShadow(Path.prototype.brush),\n buildPath: function (ctx, shape) {\n var x = shape.cx;\n var y = shape.cy;\n var r0 = Math.max(shape.r0 || 0, 0);\n var r = Math.max(shape.r, 0);\n var startAngle = shape.startAngle;\n var endAngle = shape.endAngle;\n var clockwise = shape.clockwise;\n var unitX = Math.cos(startAngle);\n var unitY = Math.sin(startAngle);\n ctx.moveTo(unitX * r0 + x, unitY * r0 + y);\n ctx.lineTo(unitX * r + x, unitY * r + y);\n ctx.arc(x, y, r, startAngle, endAngle, !clockwise);\n ctx.lineTo(Math.cos(endAngle) * r0 + x, Math.sin(endAngle) * r0 + y);\n\n if (r0 !== 0) {\n ctx.arc(x, y, r0, endAngle, startAngle, clockwise);\n }\n\n ctx.closePath();\n }\n});\n\nmodule.exports = _default;","var _core = require(\"../core\");\n\nvar createElement = _core.createElement;\n\nvar zrUtil = require(\"../../core/util\");\n\nvar Path = require(\"../../graphic/Path\");\n\nvar ZImage = require(\"../../graphic/Image\");\n\nvar ZText = require(\"../../graphic/Text\");\n\nvar _graphic = require(\"../graphic\");\n\nvar svgPath = _graphic.path;\nvar svgImage = _graphic.image;\nvar svgText = _graphic.text;\n\n/**\n * @file Manages elements that can be defined in in SVG,\n * e.g., gradients, clip path, etc.\n * @author Zhang Wenli\n */\nvar MARK_UNUSED = '0';\nvar MARK_USED = '1';\n/**\n * Manages elements that can be defined in in SVG,\n * e.g., gradients, clip path, etc.\n *\n * @class\n * @param {number} zrId zrender instance id\n * @param {SVGElement} svgRoot root of SVG document\n * @param {string|string[]} tagNames possible tag names\n * @param {string} markLabel label name to make if the element\n * is used\n */\n\nfunction Definable(zrId, svgRoot, tagNames, markLabel, domName) {\n this._zrId = zrId;\n this._svgRoot = svgRoot;\n this._tagNames = typeof tagNames === 'string' ? [tagNames] : tagNames;\n this._markLabel = markLabel;\n this._domName = domName || '_dom';\n this.nextId = 0;\n}\n\nDefinable.prototype.createElement = createElement;\n/**\n * Get the tag for svgRoot; optionally creates one if not exists.\n *\n * @param {boolean} isForceCreating if need to create when not exists\n * @return {SVGDefsElement} SVG element, null if it doesn't\n * exist and isForceCreating is false\n */\n\nDefinable.prototype.getDefs = function (isForceCreating) {\n var svgRoot = this._svgRoot;\n\n var defs = this._svgRoot.getElementsByTagName('defs');\n\n if (defs.length === 0) {\n // Not exist\n if (isForceCreating) {\n defs = svgRoot.insertBefore(this.createElement('defs'), // Create new tag\n svgRoot.firstChild // Insert in the front of svg\n );\n\n if (!defs.contains) {\n // IE doesn't support contains method\n defs.contains = function (el) {\n var children = defs.children;\n\n if (!children) {\n return false;\n }\n\n for (var i = children.length - 1; i >= 0; --i) {\n if (children[i] === el) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n return defs;\n } else {\n return null;\n }\n } else {\n return defs[0];\n }\n};\n/**\n * Update DOM element if necessary.\n *\n * @param {Object|string} element style element. e.g., for gradient,\n * it may be '#ccc' or {type: 'linear', ...}\n * @param {Function|undefined} onUpdate update callback\n */\n\n\nDefinable.prototype.update = function (element, onUpdate) {\n if (!element) {\n return;\n }\n\n var defs = this.getDefs(false);\n\n if (element[this._domName] && defs.contains(element[this._domName])) {\n // Update DOM\n if (typeof onUpdate === 'function') {\n onUpdate(element);\n }\n } else {\n // No previous dom, create new\n var dom = this.add(element);\n\n if (dom) {\n element[this._domName] = dom;\n }\n }\n};\n/**\n * Add gradient dom to defs\n *\n * @param {SVGElement} dom DOM to be added to \n */\n\n\nDefinable.prototype.addDom = function (dom) {\n var defs = this.getDefs(true);\n defs.appendChild(dom);\n};\n/**\n * Remove DOM of a given element.\n *\n * @param {SVGElement} element element to remove dom\n */\n\n\nDefinable.prototype.removeDom = function (element) {\n var defs = this.getDefs(false);\n\n if (defs && element[this._domName]) {\n defs.removeChild(element[this._domName]);\n element[this._domName] = null;\n }\n};\n/**\n * Get DOMs of this element.\n *\n * @return {HTMLDomElement} doms of this defineable elements in \n */\n\n\nDefinable.prototype.getDoms = function () {\n var defs = this.getDefs(false);\n\n if (!defs) {\n // No dom when defs is not defined\n return [];\n }\n\n var doms = [];\n zrUtil.each(this._tagNames, function (tagName) {\n var tags = defs.getElementsByTagName(tagName); // Note that tags is HTMLCollection, which is array-like\n // rather than real array.\n // So `doms.concat(tags)` add tags as one object.\n\n doms = doms.concat([].slice.call(tags));\n });\n return doms;\n};\n/**\n * Mark DOMs to be unused before painting, and clear unused ones at the end\n * of the painting.\n */\n\n\nDefinable.prototype.markAllUnused = function () {\n var doms = this.getDoms();\n var that = this;\n zrUtil.each(doms, function (dom) {\n dom[that._markLabel] = MARK_UNUSED;\n });\n};\n/**\n * Mark a single DOM to be used.\n *\n * @param {SVGElement} dom DOM to mark\n */\n\n\nDefinable.prototype.markUsed = function (dom) {\n if (dom) {\n dom[this._markLabel] = MARK_USED;\n }\n};\n/**\n * Remove unused DOMs defined in \n */\n\n\nDefinable.prototype.removeUnused = function () {\n var defs = this.getDefs(false);\n\n if (!defs) {\n // Nothing to remove\n return;\n }\n\n var doms = this.getDoms();\n var that = this;\n zrUtil.each(doms, function (dom) {\n if (dom[that._markLabel] !== MARK_USED) {\n // Remove gradient\n defs.removeChild(dom);\n }\n });\n};\n/**\n * Get SVG proxy.\n *\n * @param {Displayable} displayable displayable element\n * @return {Path|Image|Text} svg proxy of given element\n */\n\n\nDefinable.prototype.getSvgProxy = function (displayable) {\n if (displayable instanceof Path) {\n return svgPath;\n } else if (displayable instanceof ZImage) {\n return svgImage;\n } else if (displayable instanceof ZText) {\n return svgText;\n } else {\n return svgPath;\n }\n};\n/**\n * Get text SVG element.\n *\n * @param {Displayable} displayable displayable element\n * @return {SVGElement} SVG element of text\n */\n\n\nDefinable.prototype.getTextSvgElement = function (displayable) {\n return displayable.__textSvgEl;\n};\n/**\n * Get SVG element.\n *\n * @param {Displayable} displayable displayable element\n * @return {SVGElement} SVG element\n */\n\n\nDefinable.prototype.getSvgElement = function (displayable) {\n return displayable.__svgEl;\n};\n\nvar _default = Definable;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar DataZoomView = require(\"./DataZoomView\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar _default = DataZoomView.extend({\n type: 'dataZoom.select'\n});\n\nmodule.exports = _default;","'use strict';\n\nexports.__esModule = true;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _dom = require('element-ui/lib/utils/dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hasModal = false;\nvar hasInitZIndex = false;\nvar zIndex = void 0;\n\nvar getModal = function getModal() {\n if (_vue2.default.prototype.$isServer) return;\n var modalDom = PopupManager.modalDom;\n if (modalDom) {\n hasModal = true;\n } else {\n hasModal = false;\n modalDom = document.createElement('div');\n PopupManager.modalDom = modalDom;\n\n modalDom.addEventListener('touchmove', function (event) {\n event.preventDefault();\n event.stopPropagation();\n });\n\n modalDom.addEventListener('click', function () {\n PopupManager.doOnModalClick && PopupManager.doOnModalClick();\n });\n }\n\n return modalDom;\n};\n\nvar instances = {};\n\nvar PopupManager = {\n modalFade: true,\n\n getInstance: function getInstance(id) {\n return instances[id];\n },\n\n register: function register(id, instance) {\n if (id && instance) {\n instances[id] = instance;\n }\n },\n\n deregister: function deregister(id) {\n if (id) {\n instances[id] = null;\n delete instances[id];\n }\n },\n\n nextZIndex: function nextZIndex() {\n return PopupManager.zIndex++;\n },\n\n modalStack: [],\n\n doOnModalClick: function doOnModalClick() {\n var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n if (!topItem) return;\n\n var instance = PopupManager.getInstance(topItem.id);\n if (instance && instance.closeOnClickModal) {\n instance.close();\n }\n },\n\n openModal: function openModal(id, zIndex, dom, modalClass, modalFade) {\n if (_vue2.default.prototype.$isServer) return;\n if (!id || zIndex === undefined) return;\n this.modalFade = modalFade;\n\n var modalStack = this.modalStack;\n\n for (var i = 0, j = modalStack.length; i < j; i++) {\n var item = modalStack[i];\n if (item.id === id) {\n return;\n }\n }\n\n var modalDom = getModal();\n\n (0, _dom.addClass)(modalDom, 'v-modal');\n if (this.modalFade && !hasModal) {\n (0, _dom.addClass)(modalDom, 'v-modal-enter');\n }\n if (modalClass) {\n var classArr = modalClass.trim().split(/\\s+/);\n classArr.forEach(function (item) {\n return (0, _dom.addClass)(modalDom, item);\n });\n }\n setTimeout(function () {\n (0, _dom.removeClass)(modalDom, 'v-modal-enter');\n }, 200);\n\n if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {\n dom.parentNode.appendChild(modalDom);\n } else {\n document.body.appendChild(modalDom);\n }\n\n if (zIndex) {\n modalDom.style.zIndex = zIndex;\n }\n modalDom.tabIndex = 0;\n modalDom.style.display = '';\n\n this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });\n },\n\n closeModal: function closeModal(id) {\n var modalStack = this.modalStack;\n var modalDom = getModal();\n\n if (modalStack.length > 0) {\n var topItem = modalStack[modalStack.length - 1];\n if (topItem.id === id) {\n if (topItem.modalClass) {\n var classArr = topItem.modalClass.trim().split(/\\s+/);\n classArr.forEach(function (item) {\n return (0, _dom.removeClass)(modalDom, item);\n });\n }\n\n modalStack.pop();\n if (modalStack.length > 0) {\n modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;\n }\n } else {\n for (var i = modalStack.length - 1; i >= 0; i--) {\n if (modalStack[i].id === id) {\n modalStack.splice(i, 1);\n break;\n }\n }\n }\n }\n\n if (modalStack.length === 0) {\n if (this.modalFade) {\n (0, _dom.addClass)(modalDom, 'v-modal-leave');\n }\n setTimeout(function () {\n if (modalStack.length === 0) {\n if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);\n modalDom.style.display = 'none';\n PopupManager.modalDom = undefined;\n }\n (0, _dom.removeClass)(modalDom, 'v-modal-leave');\n }, 200);\n }\n }\n};\n\nObject.defineProperty(PopupManager, 'zIndex', {\n configurable: true,\n get: function get() {\n if (!hasInitZIndex) {\n zIndex = zIndex || (_vue2.default.prototype.$ELEMENT || {}).zIndex || 2000;\n hasInitZIndex = true;\n }\n return zIndex;\n },\n set: function set(value) {\n zIndex = value;\n }\n});\n\nvar getTopPopup = function getTopPopup() {\n if (_vue2.default.prototype.$isServer) return;\n if (PopupManager.modalStack.length > 0) {\n var topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n if (!topPopup) return;\n var instance = PopupManager.getInstance(topPopup.id);\n\n return instance;\n }\n};\n\nif (!_vue2.default.prototype.$isServer) {\n // handle `esc` key when the popup is shown\n window.addEventListener('keydown', function (event) {\n if (event.keyCode === 27) {\n var topPopup = getTopPopup();\n\n if (topPopup && topPopup.closeOnPressEscape) {\n topPopup.handleClose ? topPopup.handleClose() : topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close();\n }\n }\n });\n}\n\nexports.default = PopupManager;","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar SingleAxis = require(\"./SingleAxis\");\n\nvar axisHelper = require(\"../axisHelper\");\n\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Single coordinates system.\n */\n\n/**\n * Create a single coordinates system.\n *\n * @param {module:echarts/coord/single/AxisModel} axisModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\nfunction Single(axisModel, ecModel, api) {\n /**\n * @type {string}\n * @readOnly\n */\n this.dimension = 'single';\n /**\n * Add it just for draw tooltip.\n *\n * @type {Array.}\n * @readOnly\n */\n\n this.dimensions = ['single'];\n /**\n * @private\n * @type {module:echarts/coord/single/SingleAxis}.\n */\n\n this._axis = null;\n /**\n * @private\n * @type {module:zrender/core/BoundingRect}\n */\n\n this._rect;\n\n this._init(axisModel, ecModel, api);\n /**\n * @type {module:echarts/coord/single/AxisModel}\n */\n\n\n this.model = axisModel;\n}\n\nSingle.prototype = {\n type: 'singleAxis',\n axisPointerEnabled: true,\n constructor: Single,\n\n /**\n * Initialize single coordinate system.\n *\n * @param {module:echarts/coord/single/AxisModel} axisModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @private\n */\n _init: function (axisModel, ecModel, api) {\n var dim = this.dimension;\n var axis = new SingleAxis(dim, axisHelper.createScaleByModel(axisModel), [0, 0], axisModel.get('type'), axisModel.get('position'));\n var isCategory = axis.type === 'category';\n axis.onBand = isCategory && axisModel.get('boundaryGap');\n axis.inverse = axisModel.get('inverse');\n axis.orient = axisModel.get('orient');\n axisModel.axis = axis;\n axis.model = axisModel;\n axis.coordinateSystem = this;\n this._axis = axis;\n },\n\n /**\n * Update axis scale after data processed\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n update: function (ecModel, api) {\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.coordinateSystem === this) {\n var data = seriesModel.getData();\n each(data.mapDimension(this.dimension, true), function (dim) {\n this._axis.scale.unionExtentFromData(data, dim);\n }, this);\n axisHelper.niceScaleExtent(this._axis.scale, this._axis.model);\n }\n }, this);\n },\n\n /**\n * Resize the single coordinate system.\n *\n * @param {module:echarts/coord/single/AxisModel} axisModel\n * @param {module:echarts/ExtensionAPI} api\n */\n resize: function (axisModel, api) {\n this._rect = getLayoutRect({\n left: axisModel.get('left'),\n top: axisModel.get('top'),\n right: axisModel.get('right'),\n bottom: axisModel.get('bottom'),\n width: axisModel.get('width'),\n height: axisModel.get('height')\n }, {\n width: api.getWidth(),\n height: api.getHeight()\n });\n\n this._adjustAxis();\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getRect: function () {\n return this._rect;\n },\n\n /**\n * @private\n */\n _adjustAxis: function () {\n var rect = this._rect;\n var axis = this._axis;\n var isHorizontal = axis.isHorizontal();\n var extent = isHorizontal ? [0, rect.width] : [0, rect.height];\n var idx = axis.reverse ? 1 : 0;\n axis.setExtent(extent[idx], extent[1 - idx]);\n\n this._updateAxisTransform(axis, isHorizontal ? rect.x : rect.y);\n },\n\n /**\n * @param {module:echarts/coord/single/SingleAxis} axis\n * @param {number} coordBase\n */\n _updateAxisTransform: function (axis, coordBase) {\n var axisExtent = axis.getExtent();\n var extentSum = axisExtent[0] + axisExtent[1];\n var isHorizontal = axis.isHorizontal();\n axis.toGlobalCoord = isHorizontal ? function (coord) {\n return coord + coordBase;\n } : function (coord) {\n return extentSum - coord + coordBase;\n };\n axis.toLocalCoord = isHorizontal ? function (coord) {\n return coord - coordBase;\n } : function (coord) {\n return extentSum - coord + coordBase;\n };\n },\n\n /**\n * Get axis.\n *\n * @return {module:echarts/coord/single/SingleAxis}\n */\n getAxis: function () {\n return this._axis;\n },\n\n /**\n * Get axis, add it just for draw tooltip.\n *\n * @return {[type]} [description]\n */\n getBaseAxis: function () {\n return this._axis;\n },\n\n /**\n * @return {Array.}\n */\n getAxes: function () {\n return [this._axis];\n },\n\n /**\n * @return {Object} {baseAxes: [], otherAxes: []}\n */\n getTooltipAxes: function () {\n return {\n baseAxes: [this.getAxis()]\n };\n },\n\n /**\n * If contain point.\n *\n * @param {Array.} point\n * @return {boolean}\n */\n containPoint: function (point) {\n var rect = this.getRect();\n var axis = this.getAxis();\n var orient = axis.orient;\n\n if (orient === 'horizontal') {\n return axis.contain(axis.toLocalCoord(point[0])) && point[1] >= rect.y && point[1] <= rect.y + rect.height;\n } else {\n return axis.contain(axis.toLocalCoord(point[1])) && point[0] >= rect.y && point[0] <= rect.y + rect.height;\n }\n },\n\n /**\n * @param {Array.} point\n * @return {Array.}\n */\n pointToData: function (point) {\n var axis = this.getAxis();\n return [axis.coordToData(axis.toLocalCoord(point[axis.orient === 'horizontal' ? 0 : 1]))];\n },\n\n /**\n * Convert the series data to concrete point.\n *\n * @param {number|Array.} val\n * @return {Array.}\n */\n dataToPoint: function (val) {\n var axis = this.getAxis();\n var rect = this.getRect();\n var pt = [];\n var idx = axis.orient === 'horizontal' ? 0 : 1;\n\n if (val instanceof Array) {\n val = val[0];\n }\n\n pt[idx] = axis.toGlobalCoord(axis.dataToCoord(+val));\n pt[1 - idx] = idx === 0 ? rect.y + rect.height / 2 : rect.x + rect.width / 2;\n return pt;\n }\n};\nvar _default = Single;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\n\nvar parseGeoJson = require(\"./parseGeoJson\");\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\n\nvar fixNanhai = require(\"./fix/nanhai\");\n\nvar fixTextCoord = require(\"./fix/textCoord\");\n\nvar fixGeoCoord = require(\"./fix/geoCoord\");\n\nvar fixDiaoyuIsland = require(\"./fix/diaoyuIsland\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Built-in GEO fixer.\nvar inner = makeInner();\nvar _default = {\n /**\n * @param {string} mapName\n * @param {Object} mapRecord {specialAreas, geoJSON}\n * @return {Object} {regions, boundingRect}\n */\n load: function (mapName, mapRecord) {\n var parsed = inner(mapRecord).parsed;\n\n if (parsed) {\n return parsed;\n }\n\n var specialAreas = mapRecord.specialAreas || {};\n var geoJSON = mapRecord.geoJSON;\n var regions; // https://jsperf.com/try-catch-performance-overhead\n\n try {\n regions = geoJSON ? parseGeoJson(geoJSON) : [];\n } catch (e) {\n throw new Error('Invalid geoJson format\\n' + e.message);\n }\n\n each(regions, function (region) {\n var regionName = region.name;\n fixTextCoord(mapName, region);\n fixGeoCoord(mapName, region);\n fixDiaoyuIsland(mapName, region); // Some area like Alaska in USA map needs to be tansformed\n // to look better\n\n var specialArea = specialAreas[regionName];\n\n if (specialArea) {\n region.transformTo(specialArea.left, specialArea.top, specialArea.width, specialArea.height);\n }\n });\n fixNanhai(mapName, regions);\n return inner(mapRecord).parsed = {\n regions: regions,\n boundingRect: getBoundingRect(regions)\n };\n }\n};\n\nfunction getBoundingRect(regions) {\n var rect;\n\n for (var i = 0; i < regions.length; i++) {\n var regionRect = regions[i].getBoundingRect();\n rect = rect || regionRect.clone();\n rect.union(regionRect);\n }\n\n return rect;\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar createRenderPlanner = require(\"../helper/createRenderPlanner\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar positiveBorderColorQuery = ['itemStyle', 'borderColor'];\nvar negativeBorderColorQuery = ['itemStyle', 'borderColor0'];\nvar positiveColorQuery = ['itemStyle', 'color'];\nvar negativeColorQuery = ['itemStyle', 'color0'];\nvar _default = {\n seriesType: 'candlestick',\n plan: createRenderPlanner(),\n // For legend.\n performRawSeries: true,\n reset: function (seriesModel, ecModel) {\n var data = seriesModel.getData();\n var isLargeRender = seriesModel.pipelineContext.large;\n data.setVisual({\n legendSymbol: 'roundRect',\n colorP: getColor(1, seriesModel),\n colorN: getColor(-1, seriesModel),\n borderColorP: getBorderColor(1, seriesModel),\n borderColorN: getBorderColor(-1, seriesModel)\n }); // Only visible series has each data be visual encoded\n\n if (ecModel.isSeriesFiltered(seriesModel)) {\n return;\n }\n\n return !isLargeRender && {\n progress: progress\n };\n\n function progress(params, data) {\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var itemModel = data.getItemModel(dataIndex);\n var sign = data.getItemLayout(dataIndex).sign;\n data.setItemVisual(dataIndex, {\n color: getColor(sign, itemModel),\n borderColor: getBorderColor(sign, itemModel)\n });\n }\n }\n\n function getColor(sign, model) {\n return model.get(sign > 0 ? positiveColorQuery : negativeColorQuery);\n }\n\n function getBorderColor(sign, model) {\n return model.get(sign > 0 ? positiveBorderColorQuery : negativeBorderColorQuery);\n }\n }\n};\nmodule.exports = _default;","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ChartView = require(\"../../view/Chart\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Piece of pie including Sector, Label, LabelLine\n * @constructor\n * @extends {module:zrender/graphic/Group}\n */\nfunction FunnelPiece(data, idx) {\n graphic.Group.call(this);\n var polygon = new graphic.Polygon();\n var labelLine = new graphic.Polyline();\n var text = new graphic.Text();\n this.add(polygon);\n this.add(labelLine);\n this.add(text);\n this.updateData(data, idx, true); // Hover to change label and labelLine\n\n function onEmphasis() {\n labelLine.ignore = labelLine.hoverIgnore;\n text.ignore = text.hoverIgnore;\n }\n\n function onNormal() {\n labelLine.ignore = labelLine.normalIgnore;\n text.ignore = text.normalIgnore;\n }\n\n this.on('emphasis', onEmphasis).on('normal', onNormal).on('mouseover', onEmphasis).on('mouseout', onNormal);\n}\n\nvar funnelPieceProto = FunnelPiece.prototype;\nvar opacityAccessPath = ['itemStyle', 'opacity'];\n\nfunnelPieceProto.updateData = function (data, idx, firstCreate) {\n var polygon = this.childAt(0);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var opacity = data.getItemModel(idx).get(opacityAccessPath);\n opacity = opacity == null ? 1 : opacity; // Reset style\n\n polygon.useStyle({});\n\n if (firstCreate) {\n polygon.setShape({\n points: layout.points\n });\n polygon.setStyle({\n opacity: 0\n });\n graphic.initProps(polygon, {\n style: {\n opacity: opacity\n }\n }, seriesModel, idx);\n } else {\n graphic.updateProps(polygon, {\n style: {\n opacity: opacity\n },\n shape: {\n points: layout.points\n }\n }, seriesModel, idx);\n } // Update common style\n\n\n var itemStyleModel = itemModel.getModel('itemStyle');\n var visualColor = data.getItemVisual(idx, 'color');\n polygon.setStyle(zrUtil.defaults({\n lineJoin: 'round',\n fill: visualColor\n }, itemStyleModel.getItemStyle(['opacity'])));\n polygon.hoverStyle = itemStyleModel.getModel('emphasis').getItemStyle();\n\n this._updateLabel(data, idx);\n\n graphic.setHoverStyle(this);\n};\n\nfunnelPieceProto._updateLabel = function (data, idx) {\n var labelLine = this.childAt(1);\n var labelText = this.childAt(2);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var labelLayout = layout.label;\n var visualColor = data.getItemVisual(idx, 'color');\n graphic.updateProps(labelLine, {\n shape: {\n points: labelLayout.linePoints || labelLayout.linePoints\n }\n }, seriesModel, idx);\n graphic.updateProps(labelText, {\n style: {\n x: labelLayout.x,\n y: labelLayout.y\n }\n }, seriesModel, idx);\n labelText.attr({\n rotation: labelLayout.rotation,\n origin: [labelLayout.x, labelLayout.y],\n z2: 10\n });\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n var labelLineModel = itemModel.getModel('labelLine');\n var labelLineHoverModel = itemModel.getModel('emphasis.labelLine');\n var visualColor = data.getItemVisual(idx, 'color');\n graphic.setLabelStyle(labelText.style, labelText.hoverStyle = {}, labelModel, labelHoverModel, {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n defaultText: data.getName(idx),\n autoColor: visualColor,\n useInsideStyle: !!labelLayout.inside\n }, {\n textAlign: labelLayout.textAlign,\n textVerticalAlign: labelLayout.verticalAlign\n });\n labelText.ignore = labelText.normalIgnore = !labelModel.get('show');\n labelText.hoverIgnore = !labelHoverModel.get('show');\n labelLine.ignore = labelLine.normalIgnore = !labelLineModel.get('show');\n labelLine.hoverIgnore = !labelLineHoverModel.get('show'); // Default use item visual color\n\n labelLine.setStyle({\n stroke: visualColor\n });\n labelLine.setStyle(labelLineModel.getModel('lineStyle').getLineStyle());\n labelLine.hoverStyle = labelLineHoverModel.getModel('lineStyle').getLineStyle();\n};\n\nzrUtil.inherits(FunnelPiece, graphic.Group);\nvar FunnelView = ChartView.extend({\n type: 'funnel',\n render: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var oldData = this._data;\n var group = this.group;\n data.diff(oldData).add(function (idx) {\n var funnelPiece = new FunnelPiece(data, idx);\n data.setItemGraphicEl(idx, funnelPiece);\n group.add(funnelPiece);\n }).update(function (newIdx, oldIdx) {\n var piePiece = oldData.getItemGraphicEl(oldIdx);\n piePiece.updateData(data, newIdx);\n group.add(piePiece);\n data.setItemGraphicEl(newIdx, piePiece);\n }).remove(function (idx) {\n var piePiece = oldData.getItemGraphicEl(idx);\n group.remove(piePiece);\n }).execute();\n this._data = data;\n },\n remove: function () {\n this.group.removeAll();\n this._data = null;\n },\n dispose: function () {}\n});\nvar _default = FunnelView;\nmodule.exports = _default;","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\n// TODO: Use only propper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = string.charAt(index);\n if (chr === '\\\\') {\n result += chr + string.charAt(++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = {};\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = string.charAt(index);\n if (chr === '\\\\') {\n chr = chr + string.charAt(++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (IS_NCG.test(string.slice(index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || has(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named.push([groupname, groupid]);\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || pattern instanceof RegExpWrapper) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = 'flags' in rawPattern ? rawPattern.flags : getFlags.call(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && flags.indexOf('s') > -1;\n if (dotAll) flags = flags.replace(/s/g, '');\n }\n\n rawFlags = flags;\n\n if (UNSUPPORTED_Y && 'sticky' in re1) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxy(keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar createListSimply = require(\"../helper/createListSimply\");\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar GaugeSeries = SeriesModel.extend({\n type: 'series.gauge',\n getInitialData: function (option, ecModel) {\n var dataOpt = option.data || [];\n\n if (!zrUtil.isArray(dataOpt)) {\n dataOpt = [dataOpt];\n }\n\n option.data = dataOpt;\n return createListSimply(this, ['value']);\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n // 默认全局居中\n center: ['50%', '50%'],\n legendHoverLink: true,\n radius: '75%',\n startAngle: 225,\n endAngle: -45,\n clockwise: true,\n // 最小值\n min: 0,\n // 最大值\n max: 100,\n // 分割段数,默认为10\n splitNumber: 10,\n // 坐标轴线\n axisLine: {\n // 默认显示,属性show控制显示与否\n show: true,\n lineStyle: {\n // 属性lineStyle控制线条样式\n color: [[0.2, '#91c7ae'], [0.8, '#63869e'], [1, '#c23531']],\n width: 30\n }\n },\n // 分隔线\n splitLine: {\n // 默认显示,属性show控制显示与否\n show: true,\n // 属性length控制线长\n length: 30,\n // 属性lineStyle(详见lineStyle)控制线条样式\n lineStyle: {\n color: '#eee',\n width: 2,\n type: 'solid'\n }\n },\n // 坐标轴小标记\n axisTick: {\n // 属性show控制显示与否,默认不显示\n show: true,\n // 每份split细分多少段\n splitNumber: 5,\n // 属性length控制线长\n length: 8,\n // 属性lineStyle控制线条样式\n lineStyle: {\n color: '#eee',\n width: 1,\n type: 'solid'\n }\n },\n axisLabel: {\n show: true,\n distance: 5,\n // formatter: null,\n color: 'auto'\n },\n pointer: {\n show: true,\n length: '80%',\n width: 8\n },\n itemStyle: {\n color: 'auto'\n },\n title: {\n show: true,\n // x, y,单位px\n offsetCenter: [0, '-40%'],\n // 其余属性默认使用全局文本样式,详见TEXTSTYLE\n color: '#333',\n fontSize: 15\n },\n detail: {\n show: true,\n backgroundColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n borderColor: '#ccc',\n width: 100,\n height: null,\n // self-adaption\n padding: [5, 10],\n // x, y,单位px\n offsetCenter: [0, '40%'],\n // formatter: null,\n // 其余属性默认使用全局文本样式,详见TEXTSTYLE\n color: 'auto',\n fontSize: 30\n }\n }\n});\nvar _default = GaugeSeries;\nmodule.exports = _default;","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// (1) The code `if (__DEV__) ...` can be removed by build tool.\n// (2) If intend to use `__DEV__`, this module should be imported. Use a global\n// variable `__DEV__` may cause that miss the declaration (see #6535), or the\n// declaration is behind of the using position (for example in `Model.extent`,\n// And tools like rollup can not analysis the dependency if not import).\nvar dev; // In browser\n\nif (typeof window !== 'undefined') {\n dev = window.__DEV__;\n} // In node\nelse if (typeof global !== 'undefined') {\n dev = global.__DEV__;\n }\n\nif (typeof dev === 'undefined') {\n dev = true;\n}\n\nvar __DEV__ = dev;\nexports.__DEV__ = __DEV__;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar createListSimply = require(\"../helper/createListSimply\");\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\nvar addCommas = _format.addCommas;\n\nvar dataSelectableMixin = require(\"../../component/helper/selectableMixin\");\n\nvar _dataProvider = require(\"../../data/helper/dataProvider\");\n\nvar retrieveRawAttr = _dataProvider.retrieveRawAttr;\n\nvar geoSourceManager = require(\"../../coord/geo/geoSourceManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar MapSeries = SeriesModel.extend({\n type: 'series.map',\n dependencies: ['geo'],\n layoutMode: 'box',\n\n /**\n * Only first map series of same mapType will drawMap\n * @type {boolean}\n */\n needsDrawMap: false,\n\n /**\n * Group of all map series with same mapType\n * @type {boolean}\n */\n seriesGroup: [],\n getInitialData: function (option) {\n var data = createListSimply(this, ['value']);\n var valueDim = data.mapDimension('value');\n var dataNameMap = zrUtil.createHashMap();\n var selectTargetList = [];\n var toAppendNames = [];\n\n for (var i = 0, len = data.count(); i < len; i++) {\n var name = data.getName(i);\n dataNameMap.set(name, true);\n selectTargetList.push({\n name: name,\n value: data.get(valueDim, i),\n selected: retrieveRawAttr(data, i, 'selected')\n });\n }\n\n var geoSource = geoSourceManager.load(this.getMapType(), this.option.nameMap);\n zrUtil.each(geoSource.regions, function (region) {\n var name = region.name;\n\n if (!dataNameMap.get(name)) {\n selectTargetList.push({\n name: name\n });\n toAppendNames.push(name);\n }\n });\n this.updateSelectedMap(selectTargetList); // Complete data with missing regions. The consequent processes (like visual\n // map and render) can not be performed without a \"full data\". For example,\n // find `dataIndex` by name.\n\n data.appendValues([], toAppendNames);\n return data;\n },\n\n /**\n * If no host geo model, return null, which means using a\n * inner exclusive geo model.\n */\n getHostGeoModel: function () {\n var geoIndex = this.option.geoIndex;\n return geoIndex != null ? this.dependentModels.geo[geoIndex] : null;\n },\n getMapType: function () {\n return (this.getHostGeoModel() || this).option.map;\n },\n // _fillOption: function (option, mapName) {\n // Shallow clone\n // option = zrUtil.extend({}, option);\n // option.data = geoCreator.getFilledRegions(option.data, mapName, option.nameMap);\n // return option;\n // },\n getRawValue: function (dataIndex) {\n // Use value stored in data instead because it is calculated from multiple series\n // FIXME Provide all value of multiple series ?\n var data = this.getData();\n return data.get(data.mapDimension('value'), dataIndex);\n },\n\n /**\n * Get model of region\n * @param {string} name\n * @return {module:echarts/model/Model}\n */\n getRegionModel: function (regionName) {\n var data = this.getData();\n return data.getItemModel(data.indexOfName(regionName));\n },\n\n /**\n * Map tooltip formatter\n *\n * @param {number} dataIndex\n */\n formatTooltip: function (dataIndex) {\n // FIXME orignalData and data is a bit confusing\n var data = this.getData();\n var formattedValue = addCommas(this.getRawValue(dataIndex));\n var name = data.getName(dataIndex);\n var seriesGroup = this.seriesGroup;\n var seriesNames = [];\n\n for (var i = 0; i < seriesGroup.length; i++) {\n var otherIndex = seriesGroup[i].originalData.indexOfName(name);\n var valueDim = data.mapDimension('value');\n\n if (!isNaN(seriesGroup[i].originalData.get(valueDim, otherIndex))) {\n seriesNames.push(encodeHTML(seriesGroup[i].name));\n }\n }\n\n return seriesNames.join(', ') + '
' + encodeHTML(name + ' : ' + formattedValue);\n },\n\n /**\n * @implement\n */\n getTooltipPosition: function (dataIndex) {\n if (dataIndex != null) {\n var name = this.getData().getName(dataIndex);\n var geo = this.coordinateSystem;\n var region = geo.getRegion(name);\n return region && geo.dataToPoint(region.center);\n }\n },\n setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n },\n defaultOption: {\n // 一级层叠\n zlevel: 0,\n // 二级层叠\n z: 2,\n coordinateSystem: 'geo',\n // map should be explicitly specified since ec3.\n map: '',\n // If `geoIndex` is not specified, a exclusive geo will be\n // created. Otherwise use the specified geo component, and\n // `map` and `mapType` are ignored.\n // geoIndex: 0,\n // 'center' | 'left' | 'right' | 'x%' | {number}\n left: 'center',\n // 'center' | 'top' | 'bottom' | 'x%' | {number}\n top: 'center',\n // right\n // bottom\n // width:\n // height\n // Aspect is width / height. Inited to be geoJson bbox aspect\n // This parameter is used for scale this aspect\n aspectScale: 0.75,\n ///// Layout with center and size\n // If you wan't to put map in a fixed size box with right aspect ratio\n // This two properties may more conveninet\n // layoutCenter: [50%, 50%]\n // layoutSize: 100\n // 数值合并方式,默认加和,可选为:\n // 'sum' | 'average' | 'max' | 'min'\n // mapValueCalculation: 'sum',\n // 地图数值计算结果小数精度\n // mapValuePrecision: 0,\n // 显示图例颜色标识(系列标识的小圆点),图例开启时有效\n showLegendSymbol: true,\n // 选择模式,默认关闭,可选single,multiple\n // selectedMode: false,\n dataRangeHoverLink: true,\n // 是否开启缩放及漫游模式\n // roam: false,\n // Define left-top, right-bottom coords to control view\n // For example, [ [180, 90], [-180, -90] ],\n // higher priority than center and zoom\n boundingCoords: null,\n // Default on center of map\n center: null,\n zoom: 1,\n scaleLimit: null,\n label: {\n show: false,\n color: '#000'\n },\n // scaleLimit: null,\n itemStyle: {\n borderWidth: 0.5,\n borderColor: '#444',\n areaColor: '#eee'\n },\n emphasis: {\n label: {\n show: true,\n color: 'rgb(100,0,0)'\n },\n itemStyle: {\n areaColor: 'rgba(255,215,0,0.8)'\n }\n }\n }\n});\nzrUtil.mixin(MapSeries, dataSelectableMixin);\nvar _default = MapSeries;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar NodeHighlightPolicy = {\n NONE: 'none',\n // not downplay others\n DESCENDANT: 'descendant',\n ANCESTOR: 'ancestor',\n SELF: 'self'\n};\nvar DEFAULT_SECTOR_Z = 2;\nvar DEFAULT_TEXT_Z = 4;\n/**\n * Sunburstce of Sunburst including Sector, Label, LabelLine\n * @constructor\n * @extends {module:zrender/graphic/Group}\n */\n\nfunction SunburstPiece(node, seriesModel, ecModel) {\n graphic.Group.call(this);\n var sector = new graphic.Sector({\n z2: DEFAULT_SECTOR_Z\n });\n sector.seriesIndex = seriesModel.seriesIndex;\n var text = new graphic.Text({\n z2: DEFAULT_TEXT_Z,\n silent: node.getModel('label').get('silent')\n });\n this.add(sector);\n this.add(text);\n this.updateData(true, node, 'normal', seriesModel, ecModel); // Hover to change label and labelLine\n\n function onEmphasis() {\n text.ignore = text.hoverIgnore;\n }\n\n function onNormal() {\n text.ignore = text.normalIgnore;\n }\n\n this.on('emphasis', onEmphasis).on('normal', onNormal).on('mouseover', onEmphasis).on('mouseout', onNormal);\n}\n\nvar SunburstPieceProto = SunburstPiece.prototype;\n\nSunburstPieceProto.updateData = function (firstCreate, node, state, seriesModel, ecModel) {\n this.node = node;\n node.piece = this;\n seriesModel = seriesModel || this._seriesModel;\n ecModel = ecModel || this._ecModel;\n var sector = this.childAt(0);\n sector.dataIndex = node.dataIndex;\n var itemModel = node.getModel();\n var layout = node.getLayout(); // if (!layout) {\n // console.log(node.getLayout());\n // }\n\n var sectorShape = zrUtil.extend({}, layout);\n sectorShape.label = null;\n var visualColor = getNodeColor(node, seriesModel, ecModel);\n fillDefaultColor(node, seriesModel, visualColor);\n var normalStyle = itemModel.getModel('itemStyle').getItemStyle();\n var style;\n\n if (state === 'normal') {\n style = normalStyle;\n } else {\n var stateStyle = itemModel.getModel(state + '.itemStyle').getItemStyle();\n style = zrUtil.merge(stateStyle, normalStyle);\n }\n\n style = zrUtil.defaults({\n lineJoin: 'bevel',\n fill: style.fill || visualColor\n }, style);\n\n if (firstCreate) {\n sector.setShape(sectorShape);\n sector.shape.r = layout.r0;\n graphic.updateProps(sector, {\n shape: {\n r: layout.r\n }\n }, seriesModel, node.dataIndex);\n sector.useStyle(style);\n } else if (typeof style.fill === 'object' && style.fill.type || typeof sector.style.fill === 'object' && sector.style.fill.type) {\n // Disable animation for gradient since no interpolation method\n // is supported for gradient\n graphic.updateProps(sector, {\n shape: sectorShape\n }, seriesModel);\n sector.useStyle(style);\n } else {\n graphic.updateProps(sector, {\n shape: sectorShape,\n style: style\n }, seriesModel);\n }\n\n this._updateLabel(seriesModel, visualColor, state);\n\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && sector.attr('cursor', cursorStyle);\n\n if (firstCreate) {\n var highlightPolicy = seriesModel.getShallow('highlightPolicy');\n\n this._initEvents(sector, node, seriesModel, highlightPolicy);\n }\n\n this._seriesModel = seriesModel || this._seriesModel;\n this._ecModel = ecModel || this._ecModel;\n};\n\nSunburstPieceProto.onEmphasis = function (highlightPolicy) {\n var that = this;\n this.node.hostTree.root.eachNode(function (n) {\n if (n.piece) {\n if (that.node === n) {\n n.piece.updateData(false, n, 'emphasis');\n } else if (isNodeHighlighted(n, that.node, highlightPolicy)) {\n n.piece.childAt(0).trigger('highlight');\n } else if (highlightPolicy !== NodeHighlightPolicy.NONE) {\n n.piece.childAt(0).trigger('downplay');\n }\n }\n });\n};\n\nSunburstPieceProto.onNormal = function () {\n this.node.hostTree.root.eachNode(function (n) {\n if (n.piece) {\n n.piece.updateData(false, n, 'normal');\n }\n });\n};\n\nSunburstPieceProto.onHighlight = function () {\n this.updateData(false, this.node, 'highlight');\n};\n\nSunburstPieceProto.onDownplay = function () {\n this.updateData(false, this.node, 'downplay');\n};\n\nSunburstPieceProto._updateLabel = function (seriesModel, visualColor, state) {\n var itemModel = this.node.getModel();\n var normalModel = itemModel.getModel('label');\n var labelModel = state === 'normal' || state === 'emphasis' ? normalModel : itemModel.getModel(state + '.label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n var text = zrUtil.retrieve(seriesModel.getFormattedLabel(this.node.dataIndex, 'normal', null, null, 'label'), this.node.name);\n\n if (getLabelAttr('show') === false) {\n text = '';\n }\n\n var layout = this.node.getLayout();\n var labelMinAngle = labelModel.get('minAngle');\n\n if (labelMinAngle == null) {\n labelMinAngle = normalModel.get('minAngle');\n }\n\n labelMinAngle = labelMinAngle / 180 * Math.PI;\n var angle = layout.endAngle - layout.startAngle;\n\n if (labelMinAngle != null && Math.abs(angle) < labelMinAngle) {\n // Not displaying text when angle is too small\n text = '';\n }\n\n var label = this.childAt(1);\n graphic.setLabelStyle(label.style, label.hoverStyle || {}, normalModel, labelHoverModel, {\n defaultText: labelModel.getShallow('show') ? text : null,\n autoColor: visualColor,\n useInsideStyle: true\n });\n var midAngle = (layout.startAngle + layout.endAngle) / 2;\n var dx = Math.cos(midAngle);\n var dy = Math.sin(midAngle);\n var r;\n var labelPosition = getLabelAttr('position');\n var labelPadding = getLabelAttr('distance') || 0;\n var textAlign = getLabelAttr('align');\n\n if (labelPosition === 'outside') {\n r = layout.r + labelPadding;\n textAlign = midAngle > Math.PI / 2 ? 'right' : 'left';\n } else {\n if (!textAlign || textAlign === 'center') {\n r = (layout.r + layout.r0) / 2;\n textAlign = 'center';\n } else if (textAlign === 'left') {\n r = layout.r0 + labelPadding;\n\n if (midAngle > Math.PI / 2) {\n textAlign = 'right';\n }\n } else if (textAlign === 'right') {\n r = layout.r - labelPadding;\n\n if (midAngle > Math.PI / 2) {\n textAlign = 'left';\n }\n }\n }\n\n label.attr('style', {\n text: text,\n textAlign: textAlign,\n textVerticalAlign: getLabelAttr('verticalAlign') || 'middle',\n opacity: getLabelAttr('opacity')\n });\n var textX = r * dx + layout.cx;\n var textY = r * dy + layout.cy;\n label.attr('position', [textX, textY]);\n var rotateType = getLabelAttr('rotate');\n var rotate = 0;\n\n if (rotateType === 'radial') {\n rotate = -midAngle;\n\n if (rotate < -Math.PI / 2) {\n rotate += Math.PI;\n }\n } else if (rotateType === 'tangential') {\n rotate = Math.PI / 2 - midAngle;\n\n if (rotate > Math.PI / 2) {\n rotate -= Math.PI;\n } else if (rotate < -Math.PI / 2) {\n rotate += Math.PI;\n }\n } else if (typeof rotateType === 'number') {\n rotate = rotateType * Math.PI / 180;\n }\n\n label.attr('rotation', rotate);\n\n function getLabelAttr(name) {\n var stateAttr = labelModel.get(name);\n\n if (stateAttr == null) {\n return normalModel.get(name);\n } else {\n return stateAttr;\n }\n }\n};\n\nSunburstPieceProto._initEvents = function (sector, node, seriesModel, highlightPolicy) {\n sector.off('mouseover').off('mouseout').off('emphasis').off('normal');\n var that = this;\n\n var onEmphasis = function () {\n that.onEmphasis(highlightPolicy);\n };\n\n var onNormal = function () {\n that.onNormal();\n };\n\n var onDownplay = function () {\n that.onDownplay();\n };\n\n var onHighlight = function () {\n that.onHighlight();\n };\n\n if (seriesModel.isAnimationEnabled()) {\n sector.on('mouseover', onEmphasis).on('mouseout', onNormal).on('emphasis', onEmphasis).on('normal', onNormal).on('downplay', onDownplay).on('highlight', onHighlight);\n }\n};\n\nzrUtil.inherits(SunburstPiece, graphic.Group);\nvar _default = SunburstPiece;\n/**\n * Get node color\n *\n * @param {TreeNode} node the node to get color\n * @param {module:echarts/model/Series} seriesModel series\n * @param {module:echarts/model/Global} ecModel echarts defaults\n */\n\nfunction getNodeColor(node, seriesModel, ecModel) {\n // Color from visualMap\n var visualColor = node.getVisual('color');\n var visualMetaList = node.getVisual('visualMeta');\n\n if (!visualMetaList || visualMetaList.length === 0) {\n // Use first-generation color if has no visualMap\n visualColor = null;\n } // Self color or level color\n\n\n var color = node.getModel('itemStyle').get('color');\n\n if (color) {\n return color;\n } else if (visualColor) {\n // Color mapping\n return visualColor;\n } else if (node.depth === 0) {\n // Virtual root node\n return ecModel.option.color[0];\n } else {\n // First-generation color\n var length = ecModel.option.color.length;\n color = ecModel.option.color[getRootId(node) % length];\n }\n\n return color;\n}\n/**\n * Get index of root in sorted order\n *\n * @param {TreeNode} node current node\n * @return {number} index in root\n */\n\n\nfunction getRootId(node) {\n var ancestor = node;\n\n while (ancestor.depth > 1) {\n ancestor = ancestor.parentNode;\n }\n\n var virtualRoot = node.getAncestors()[0];\n return zrUtil.indexOf(virtualRoot.children, ancestor);\n}\n\nfunction isNodeHighlighted(node, activeNode, policy) {\n if (policy === NodeHighlightPolicy.NONE) {\n return false;\n } else if (policy === NodeHighlightPolicy.SELF) {\n return node === activeNode;\n } else if (policy === NodeHighlightPolicy.ANCESTOR) {\n return node === activeNode || node.isAncestorOf(activeNode);\n } else {\n return node === activeNode || node.isDescendantOf(activeNode);\n }\n} // Fix tooltip callback function params.color incorrect when pick a default color\n\n\nfunction fillDefaultColor(node, seriesModel, color) {\n var data = seriesModel.getData();\n data.setItemVisual(node.dataIndex, 'color', color);\n}\n\nmodule.exports = _default;","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 61);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 10:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/input\");\n\n/***/ }),\n\n/***/ 12:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/clickoutside\");\n\n/***/ }),\n\n/***/ 15:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/scrollbar\");\n\n/***/ }),\n\n/***/ 16:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/resize-event\");\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"throttle-debounce/debounce\");\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/shared\");\n\n/***/ }),\n\n/***/ 22:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/focus\");\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/scroll-into-view\");\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=template&id=7a44c642&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.visible,\n expression: \"visible\"\n }\n ],\n staticClass: \"el-select-dropdown__item\",\n class: {\n selected: _vm.itemSelected,\n \"is-disabled\": _vm.disabled || _vm.groupDisabled || _vm.limitReached,\n hover: _vm.hover\n },\n on: {\n mouseenter: _vm.hoverItem,\n click: function($event) {\n $event.stopPropagation()\n return _vm.selectOptionClick($event)\n }\n }\n },\n [_vm._t(\"default\", [_c(\"span\", [_vm._v(_vm._s(_vm.currentLabel))])])],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=template&id=7a44c642&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/option.vue?vue&type=script&lang=js&\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ var optionvue_type_script_lang_js_ = ({\n mixins: [emitter_default.a],\n\n name: 'ElOption',\n\n componentName: 'ElOption',\n\n inject: ['select'],\n\n props: {\n value: {\n required: true\n },\n label: [String, Number],\n created: Boolean,\n disabled: {\n type: Boolean,\n default: false\n }\n },\n\n data: function data() {\n return {\n index: -1,\n groupDisabled: false,\n visible: true,\n hitState: false,\n hover: false\n };\n },\n\n\n computed: {\n isObject: function isObject() {\n return Object.prototype.toString.call(this.value).toLowerCase() === '[object object]';\n },\n currentLabel: function currentLabel() {\n return this.label || (this.isObject ? '' : this.value);\n },\n currentValue: function currentValue() {\n return this.value || this.label || '';\n },\n itemSelected: function itemSelected() {\n if (!this.select.multiple) {\n return this.isEqual(this.value, this.select.value);\n } else {\n return this.contains(this.select.value, this.value);\n }\n },\n limitReached: function limitReached() {\n if (this.select.multiple) {\n return !this.itemSelected && (this.select.value || []).length >= this.select.multipleLimit && this.select.multipleLimit > 0;\n } else {\n return false;\n }\n }\n },\n\n watch: {\n currentLabel: function currentLabel() {\n if (!this.created && !this.select.remote) this.dispatch('ElSelect', 'setSelected');\n },\n value: function value(val, oldVal) {\n var _select = this.select,\n remote = _select.remote,\n valueKey = _select.valueKey;\n\n if (!this.created && !remote) {\n if (valueKey && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && (typeof oldVal === 'undefined' ? 'undefined' : _typeof(oldVal)) === 'object' && val[valueKey] === oldVal[valueKey]) {\n return;\n }\n this.dispatch('ElSelect', 'setSelected');\n }\n }\n },\n\n methods: {\n isEqual: function isEqual(a, b) {\n if (!this.isObject) {\n return a === b;\n } else {\n var valueKey = this.select.valueKey;\n return Object(util_[\"getValueByPath\"])(a, valueKey) === Object(util_[\"getValueByPath\"])(b, valueKey);\n }\n },\n contains: function contains() {\n var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var target = arguments[1];\n\n if (!this.isObject) {\n return arr && arr.indexOf(target) > -1;\n } else {\n var valueKey = this.select.valueKey;\n return arr && arr.some(function (item) {\n return Object(util_[\"getValueByPath\"])(item, valueKey) === Object(util_[\"getValueByPath\"])(target, valueKey);\n });\n }\n },\n handleGroupDisabled: function handleGroupDisabled(val) {\n this.groupDisabled = val;\n },\n hoverItem: function hoverItem() {\n if (!this.disabled && !this.groupDisabled) {\n this.select.hoverIndex = this.select.options.indexOf(this);\n }\n },\n selectOptionClick: function selectOptionClick() {\n if (this.disabled !== true && this.groupDisabled !== true) {\n this.dispatch('ElSelect', 'handleOptionClick', [this, true]);\n }\n },\n queryChange: function queryChange(query) {\n this.visible = new RegExp(Object(util_[\"escapeRegexpString\"])(query), 'i').test(this.currentLabel) || this.created;\n if (!this.visible) {\n this.select.filteredOptionsCount--;\n }\n }\n },\n\n created: function created() {\n this.select.options.push(this);\n this.select.cachedOptions.push(this);\n this.select.optionsCount++;\n this.select.filteredOptionsCount++;\n\n this.$on('queryChange', this.queryChange);\n this.$on('handleGroupDisabled', this.handleGroupDisabled);\n },\n beforeDestroy: function beforeDestroy() {\n var _select2 = this.select,\n selected = _select2.selected,\n multiple = _select2.multiple;\n\n var selectedOptions = multiple ? selected : [selected];\n var index = this.select.cachedOptions.indexOf(this);\n var selectedIndex = selectedOptions.indexOf(this);\n\n // if option is not selected, remove it from cache\n if (index > -1 && selectedIndex < 0) {\n this.select.cachedOptions.splice(index, 1);\n }\n this.select.onOptionDestroy(this.select.options.indexOf(this));\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/option.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_optionvue_type_script_lang_js_ = (optionvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/select/src/option.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_optionvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/select/src/option.vue\"\n/* harmony default export */ var src_option = __webpack_exports__[\"a\"] = (component.exports);\n\n/***/ }),\n\n/***/ 37:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/tag\");\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n\n/***/ 5:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/vue-popper\");\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/locale\");\n\n/***/ }),\n\n/***/ 61:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=template&id=0e4aade6&\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"clickoutside\",\n rawName: \"v-clickoutside\",\n value: _vm.handleClose,\n expression: \"handleClose\"\n }\n ],\n staticClass: \"el-select\",\n class: [_vm.selectSize ? \"el-select--\" + _vm.selectSize : \"\"],\n on: {\n click: function($event) {\n $event.stopPropagation()\n return _vm.toggleMenu($event)\n }\n }\n },\n [\n _vm.multiple\n ? _c(\n \"div\",\n {\n ref: \"tags\",\n staticClass: \"el-select__tags\",\n style: { \"max-width\": _vm.inputWidth - 32 + \"px\", width: \"100%\" }\n },\n [\n _vm.collapseTags && _vm.selected.length\n ? _c(\n \"span\",\n [\n _c(\n \"el-tag\",\n {\n attrs: {\n closable: !_vm.selectDisabled,\n size: _vm.collapseTagSize,\n hit: _vm.selected[0].hitState,\n type: \"info\",\n \"disable-transitions\": \"\"\n },\n on: {\n close: function($event) {\n _vm.deleteTag($event, _vm.selected[0])\n }\n }\n },\n [\n _c(\"span\", { staticClass: \"el-select__tags-text\" }, [\n _vm._v(_vm._s(_vm.selected[0].currentLabel))\n ])\n ]\n ),\n _vm.selected.length > 1\n ? _c(\n \"el-tag\",\n {\n attrs: {\n closable: false,\n size: _vm.collapseTagSize,\n type: \"info\",\n \"disable-transitions\": \"\"\n }\n },\n [\n _c(\n \"span\",\n { staticClass: \"el-select__tags-text\" },\n [_vm._v(\"+ \" + _vm._s(_vm.selected.length - 1))]\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n !_vm.collapseTags\n ? _c(\n \"transition-group\",\n { on: { \"after-leave\": _vm.resetInputHeight } },\n _vm._l(_vm.selected, function(item) {\n return _c(\n \"el-tag\",\n {\n key: _vm.getValueKey(item),\n attrs: {\n closable: !_vm.selectDisabled,\n size: _vm.collapseTagSize,\n hit: item.hitState,\n type: \"info\",\n \"disable-transitions\": \"\"\n },\n on: {\n close: function($event) {\n _vm.deleteTag($event, item)\n }\n }\n },\n [\n _c(\"span\", { staticClass: \"el-select__tags-text\" }, [\n _vm._v(_vm._s(item.currentLabel))\n ])\n ]\n )\n }),\n 1\n )\n : _vm._e(),\n _vm.filterable\n ? _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.query,\n expression: \"query\"\n }\n ],\n ref: \"input\",\n staticClass: \"el-select__input\",\n class: [_vm.selectSize ? \"is-\" + _vm.selectSize : \"\"],\n style: {\n \"flex-grow\": \"1\",\n width: _vm.inputLength / (_vm.inputWidth - 32) + \"%\",\n \"max-width\": _vm.inputWidth - 42 + \"px\"\n },\n attrs: {\n type: \"text\",\n disabled: _vm.selectDisabled,\n autocomplete: _vm.autoComplete || _vm.autocomplete\n },\n domProps: { value: _vm.query },\n on: {\n focus: _vm.handleFocus,\n blur: function($event) {\n _vm.softFocus = false\n },\n keyup: _vm.managePlaceholder,\n keydown: [\n _vm.resetInputState,\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n $event.preventDefault()\n _vm.navigateOptions(\"next\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\n \"Up\",\n \"ArrowUp\"\n ])\n ) {\n return null\n }\n $event.preventDefault()\n _vm.navigateOptions(\"prev\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k(\n $event.keyCode,\n \"enter\",\n 13,\n $event.key,\n \"Enter\"\n )\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.selectOption($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"esc\", 27, $event.key, [\n \"Esc\",\n \"Escape\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.visible = false\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k(\n $event.keyCode,\n \"delete\",\n [8, 46],\n $event.key,\n [\"Backspace\", \"Delete\", \"Del\"]\n )\n ) {\n return null\n }\n return _vm.deletePrevTag($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n _vm.visible = false\n }\n ],\n compositionstart: _vm.handleComposition,\n compositionupdate: _vm.handleComposition,\n compositionend: _vm.handleComposition,\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.query = $event.target.value\n },\n _vm.debouncedQueryChange\n ]\n }\n })\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"el-input\",\n {\n ref: \"reference\",\n class: { \"is-focus\": _vm.visible },\n attrs: {\n type: \"text\",\n placeholder: _vm.currentPlaceholder,\n name: _vm.name,\n id: _vm.id,\n autocomplete: _vm.autoComplete || _vm.autocomplete,\n size: _vm.selectSize,\n disabled: _vm.selectDisabled,\n readonly: _vm.readonly,\n \"validate-event\": false,\n tabindex: _vm.multiple && _vm.filterable ? \"-1\" : null\n },\n on: {\n focus: _vm.handleFocus,\n blur: _vm.handleBlur,\n input: _vm.debouncedOnInputChange\n },\n nativeOn: {\n keydown: [\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.navigateOptions(\"next\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\n \"Up\",\n \"ArrowUp\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.navigateOptions(\"prev\")\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n $event.preventDefault()\n return _vm.selectOption($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"esc\", 27, $event.key, [\n \"Esc\",\n \"Escape\"\n ])\n ) {\n return null\n }\n $event.stopPropagation()\n $event.preventDefault()\n _vm.visible = false\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n _vm.visible = false\n }\n ],\n mouseenter: function($event) {\n _vm.inputHovering = true\n },\n mouseleave: function($event) {\n _vm.inputHovering = false\n }\n },\n model: {\n value: _vm.selectedLabel,\n callback: function($$v) {\n _vm.selectedLabel = $$v\n },\n expression: \"selectedLabel\"\n }\n },\n [\n _vm.$slots.prefix\n ? _c(\"template\", { slot: \"prefix\" }, [_vm._t(\"prefix\")], 2)\n : _vm._e(),\n _c(\"template\", { slot: \"suffix\" }, [\n _c(\"i\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.showClose,\n expression: \"!showClose\"\n }\n ],\n class: [\n \"el-select__caret\",\n \"el-input__icon\",\n \"el-icon-\" + _vm.iconClass\n ]\n }),\n _vm.showClose\n ? _c(\"i\", {\n staticClass:\n \"el-select__caret el-input__icon el-icon-circle-close\",\n on: { click: _vm.handleClearClick }\n })\n : _vm._e()\n ])\n ],\n 2\n ),\n _c(\n \"transition\",\n {\n attrs: { name: \"el-zoom-in-top\" },\n on: {\n \"before-enter\": _vm.handleMenuEnter,\n \"after-leave\": _vm.doDestroy\n }\n },\n [\n _c(\n \"el-select-menu\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.visible && _vm.emptyText !== false,\n expression: \"visible && emptyText !== false\"\n }\n ],\n ref: \"popper\",\n attrs: { \"append-to-body\": _vm.popperAppendToBody }\n },\n [\n _c(\n \"el-scrollbar\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.options.length > 0 && !_vm.loading,\n expression: \"options.length > 0 && !loading\"\n }\n ],\n ref: \"scrollbar\",\n class: {\n \"is-empty\":\n !_vm.allowCreate &&\n _vm.query &&\n _vm.filteredOptionsCount === 0\n },\n attrs: {\n tag: \"ul\",\n \"wrap-class\": \"el-select-dropdown__wrap\",\n \"view-class\": \"el-select-dropdown__list\"\n }\n },\n [\n _vm.showNewOption\n ? _c(\"el-option\", {\n attrs: { value: _vm.query, created: \"\" }\n })\n : _vm._e(),\n _vm._t(\"default\")\n ],\n 2\n ),\n _vm.emptyText &&\n (!_vm.allowCreate ||\n _vm.loading ||\n (_vm.allowCreate && _vm.options.length === 0))\n ? [\n _vm.$slots.empty\n ? _vm._t(\"empty\")\n : _c(\"p\", { staticClass: \"el-select-dropdown__empty\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.emptyText) +\n \"\\n \"\n )\n ])\n ]\n : _vm._e()\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=template&id=0e4aade6&\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(4);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/focus\"\nvar focus_ = __webpack_require__(22);\nvar focus_default = /*#__PURE__*/__webpack_require__.n(focus_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\nvar locale_ = __webpack_require__(6);\nvar locale_default = /*#__PURE__*/__webpack_require__.n(locale_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/input\"\nvar input_ = __webpack_require__(10);\nvar input_default = /*#__PURE__*/__webpack_require__.n(input_);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748&\nvar select_dropdownvue_type_template_id_06828748_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"el-select-dropdown el-popper\",\n class: [{ \"is-multiple\": _vm.$parent.multiple }, _vm.popperClass],\n style: { minWidth: _vm.minWidth }\n },\n [_vm._t(\"default\")],\n 2\n )\n}\nvar select_dropdownvue_type_template_id_06828748_staticRenderFns = []\nselect_dropdownvue_type_template_id_06828748_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=template&id=06828748&\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_ = __webpack_require__(5);\nvar vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select-dropdown.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var select_dropdownvue_type_script_lang_js_ = ({\n name: 'ElSelectDropdown',\n\n componentName: 'ElSelectDropdown',\n\n mixins: [vue_popper_default.a],\n\n props: {\n placement: {\n default: 'bottom-start'\n },\n\n boundariesPadding: {\n default: 0\n },\n\n popperOptions: {\n default: function _default() {\n return {\n gpuAcceleration: false\n };\n }\n },\n\n visibleArrow: {\n default: true\n },\n\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n\n data: function data() {\n return {\n minWidth: ''\n };\n },\n\n\n computed: {\n popperClass: function popperClass() {\n return this.$parent.popperClass;\n }\n },\n\n watch: {\n '$parent.inputWidth': function $parentInputWidth() {\n this.minWidth = this.$parent.$el.getBoundingClientRect().width + 'px';\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n this.referenceElm = this.$parent.$refs.reference.$el;\n this.$parent.popperElm = this.popperElm = this.$el;\n this.$on('updatePopper', function () {\n if (_this.$parent.visible) _this.updatePopper();\n });\n this.$on('destroyPopper', this.destroyPopper);\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_select_dropdownvue_type_script_lang_js_ = (select_dropdownvue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/select/src/select-dropdown.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_select_dropdownvue_type_script_lang_js_,\n select_dropdownvue_type_template_id_06828748_render,\n select_dropdownvue_type_template_id_06828748_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/select/src/select-dropdown.vue\"\n/* harmony default export */ var select_dropdown = (component.exports);\n// EXTERNAL MODULE: ./packages/select/src/option.vue + 4 modules\nvar src_option = __webpack_require__(33);\n\n// EXTERNAL MODULE: external \"element-ui/lib/tag\"\nvar tag_ = __webpack_require__(37);\nvar tag_default = /*#__PURE__*/__webpack_require__.n(tag_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/scrollbar\"\nvar scrollbar_ = __webpack_require__(15);\nvar scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);\n\n// EXTERNAL MODULE: external \"throttle-debounce/debounce\"\nvar debounce_ = __webpack_require__(18);\nvar debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/clickoutside\"\nvar clickoutside_ = __webpack_require__(12);\nvar clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/resize-event\"\nvar resize_event_ = __webpack_require__(16);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/scroll-into-view\"\nvar scroll_into_view_ = __webpack_require__(31);\nvar scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./packages/select/src/navigation-mixin.js\n/* harmony default export */ var navigation_mixin = ({\n data: function data() {\n return {\n hoverOption: -1\n };\n },\n\n\n computed: {\n optionsAllDisabled: function optionsAllDisabled() {\n return this.options.filter(function (option) {\n return option.visible;\n }).every(function (option) {\n return option.disabled;\n });\n }\n },\n\n watch: {\n hoverIndex: function hoverIndex(val) {\n var _this = this;\n\n if (typeof val === 'number' && val > -1) {\n this.hoverOption = this.options[val] || {};\n }\n this.options.forEach(function (option) {\n option.hover = _this.hoverOption === option;\n });\n }\n },\n\n methods: {\n navigateOptions: function navigateOptions(direction) {\n var _this2 = this;\n\n if (!this.visible) {\n this.visible = true;\n return;\n }\n if (this.options.length === 0 || this.filteredOptionsCount === 0) return;\n if (!this.optionsAllDisabled) {\n if (direction === 'next') {\n this.hoverIndex++;\n if (this.hoverIndex === this.options.length) {\n this.hoverIndex = 0;\n }\n } else if (direction === 'prev') {\n this.hoverIndex--;\n if (this.hoverIndex < 0) {\n this.hoverIndex = this.options.length - 1;\n }\n }\n var option = this.options[this.hoverIndex];\n if (option.disabled === true || option.groupDisabled === true || !option.visible) {\n this.navigateOptions(direction);\n }\n this.$nextTick(function () {\n return _this2.scrollToOption(_this2.hoverOption);\n });\n }\n }\n }\n});\n// EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\nvar shared_ = __webpack_require__(21);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/select/src/select.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var selectvue_type_script_lang_js_ = ({\n mixins: [emitter_default.a, locale_default.a, focus_default()('reference'), navigation_mixin],\n\n name: 'ElSelect',\n\n componentName: 'ElSelect',\n\n inject: {\n elForm: {\n default: ''\n },\n\n elFormItem: {\n default: ''\n }\n },\n\n provide: function provide() {\n return {\n 'select': this\n };\n },\n\n\n computed: {\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n readonly: function readonly() {\n return !this.filterable || this.multiple || !Object(util_[\"isIE\"])() && !Object(util_[\"isEdge\"])() && !this.visible;\n },\n showClose: function showClose() {\n var hasValue = this.multiple ? Array.isArray(this.value) && this.value.length > 0 : this.value !== undefined && this.value !== null && this.value !== '';\n var criteria = this.clearable && !this.selectDisabled && this.inputHovering && hasValue;\n return criteria;\n },\n iconClass: function iconClass() {\n return this.remote && this.filterable ? '' : this.visible ? 'arrow-up is-reverse' : 'arrow-up';\n },\n debounce: function debounce() {\n return this.remote ? 300 : 0;\n },\n emptyText: function emptyText() {\n if (this.loading) {\n return this.loadingText || this.t('el.select.loading');\n } else {\n if (this.remote && this.query === '' && this.options.length === 0) return false;\n if (this.filterable && this.query && this.options.length > 0 && this.filteredOptionsCount === 0) {\n return this.noMatchText || this.t('el.select.noMatch');\n }\n if (this.options.length === 0) {\n return this.noDataText || this.t('el.select.noData');\n }\n }\n return null;\n },\n showNewOption: function showNewOption() {\n var _this = this;\n\n var hasExistingOption = this.options.filter(function (option) {\n return !option.created;\n }).some(function (option) {\n return option.currentLabel === _this.query;\n });\n return this.filterable && this.allowCreate && this.query !== '' && !hasExistingOption;\n },\n selectSize: function selectSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n selectDisabled: function selectDisabled() {\n return this.disabled || (this.elForm || {}).disabled;\n },\n collapseTagSize: function collapseTagSize() {\n return ['small', 'mini'].indexOf(this.selectSize) > -1 ? 'mini' : 'small';\n },\n propPlaceholder: function propPlaceholder() {\n return typeof this.placeholder !== 'undefined' ? this.placeholder : this.t('el.select.placeholder');\n }\n },\n\n components: {\n ElInput: input_default.a,\n ElSelectMenu: select_dropdown,\n ElOption: src_option[\"a\" /* default */],\n ElTag: tag_default.a,\n ElScrollbar: scrollbar_default.a\n },\n\n directives: { Clickoutside: clickoutside_default.a },\n\n props: {\n name: String,\n id: String,\n value: {\n required: true\n },\n autocomplete: {\n type: String,\n default: 'off'\n },\n /** @Deprecated in next major version */\n autoComplete: {\n type: String,\n validator: function validator(val) {\n false && false;\n return true;\n }\n },\n automaticDropdown: Boolean,\n size: String,\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n allowCreate: Boolean,\n loading: Boolean,\n popperClass: String,\n remote: Boolean,\n loadingText: String,\n noMatchText: String,\n noDataText: String,\n remoteMethod: Function,\n filterMethod: Function,\n multiple: Boolean,\n multipleLimit: {\n type: Number,\n default: 0\n },\n placeholder: {\n type: String,\n required: false\n },\n defaultFirstOption: Boolean,\n reserveKeyword: Boolean,\n valueKey: {\n type: String,\n default: 'value'\n },\n collapseTags: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: true\n }\n },\n\n data: function data() {\n return {\n options: [],\n cachedOptions: [],\n createdLabel: null,\n createdSelected: false,\n selected: this.multiple ? [] : {},\n inputLength: 20,\n inputWidth: 0,\n initialInputHeight: 0,\n cachedPlaceHolder: '',\n optionsCount: 0,\n filteredOptionsCount: 0,\n visible: false,\n softFocus: false,\n selectedLabel: '',\n hoverIndex: -1,\n query: '',\n previousQuery: null,\n inputHovering: false,\n currentPlaceholder: '',\n menuVisibleOnFocus: false,\n isOnComposition: false,\n isSilentBlur: false\n };\n },\n\n\n watch: {\n selectDisabled: function selectDisabled() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.resetInputHeight();\n });\n },\n propPlaceholder: function propPlaceholder(val) {\n this.cachedPlaceHolder = this.currentPlaceholder = val;\n },\n value: function value(val, oldVal) {\n if (this.multiple) {\n this.resetInputHeight();\n if (val && val.length > 0 || this.$refs.input && this.query !== '') {\n this.currentPlaceholder = '';\n } else {\n this.currentPlaceholder = this.cachedPlaceHolder;\n }\n if (this.filterable && !this.reserveKeyword) {\n this.query = '';\n this.handleQueryChange(this.query);\n }\n }\n this.setSelected();\n if (this.filterable && !this.multiple) {\n this.inputLength = 20;\n }\n if (!Object(util_[\"valueEquals\"])(val, oldVal)) {\n this.dispatch('ElFormItem', 'el.form.change', val);\n }\n },\n visible: function visible(val) {\n var _this3 = this;\n\n if (!val) {\n this.broadcast('ElSelectDropdown', 'destroyPopper');\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n this.query = '';\n this.previousQuery = null;\n this.selectedLabel = '';\n this.inputLength = 20;\n this.menuVisibleOnFocus = false;\n this.resetHoverIndex();\n this.$nextTick(function () {\n if (_this3.$refs.input && _this3.$refs.input.value === '' && _this3.selected.length === 0) {\n _this3.currentPlaceholder = _this3.cachedPlaceHolder;\n }\n });\n if (!this.multiple) {\n if (this.selected) {\n if (this.filterable && this.allowCreate && this.createdSelected && this.createdLabel) {\n this.selectedLabel = this.createdLabel;\n } else {\n this.selectedLabel = this.selected.currentLabel;\n }\n if (this.filterable) this.query = this.selectedLabel;\n }\n\n if (this.filterable) {\n this.currentPlaceholder = this.cachedPlaceHolder;\n }\n }\n } else {\n this.broadcast('ElSelectDropdown', 'updatePopper');\n if (this.filterable) {\n this.query = this.remote ? '' : this.selectedLabel;\n this.handleQueryChange(this.query);\n if (this.multiple) {\n this.$refs.input.focus();\n } else {\n if (!this.remote) {\n this.broadcast('ElOption', 'queryChange', '');\n this.broadcast('ElOptionGroup', 'queryChange');\n }\n\n if (this.selectedLabel) {\n this.currentPlaceholder = this.selectedLabel;\n this.selectedLabel = '';\n }\n }\n }\n }\n this.$emit('visible-change', val);\n },\n options: function options() {\n var _this4 = this;\n\n if (this.$isServer) return;\n this.$nextTick(function () {\n _this4.broadcast('ElSelectDropdown', 'updatePopper');\n });\n if (this.multiple) {\n this.resetInputHeight();\n }\n var inputs = this.$el.querySelectorAll('input');\n if ([].indexOf.call(inputs, document.activeElement) === -1) {\n this.setSelected();\n }\n if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {\n this.checkDefaultFirstOption();\n }\n }\n },\n\n methods: {\n handleComposition: function handleComposition(event) {\n var _this5 = this;\n\n var text = event.target.value;\n if (event.type === 'compositionend') {\n this.isOnComposition = false;\n this.$nextTick(function (_) {\n return _this5.handleQueryChange(text);\n });\n } else {\n var lastCharacter = text[text.length - 1] || '';\n this.isOnComposition = !Object(shared_[\"isKorean\"])(lastCharacter);\n }\n },\n handleQueryChange: function handleQueryChange(val) {\n var _this6 = this;\n\n if (this.previousQuery === val || this.isOnComposition) return;\n if (this.previousQuery === null && (typeof this.filterMethod === 'function' || typeof this.remoteMethod === 'function')) {\n this.previousQuery = val;\n return;\n }\n this.previousQuery = val;\n this.$nextTick(function () {\n if (_this6.visible) _this6.broadcast('ElSelectDropdown', 'updatePopper');\n });\n this.hoverIndex = -1;\n if (this.multiple && this.filterable) {\n this.$nextTick(function () {\n var length = _this6.$refs.input.value.length * 15 + 20;\n _this6.inputLength = _this6.collapseTags ? Math.min(50, length) : length;\n _this6.managePlaceholder();\n _this6.resetInputHeight();\n });\n }\n if (this.remote && typeof this.remoteMethod === 'function') {\n this.hoverIndex = -1;\n this.remoteMethod(val);\n } else if (typeof this.filterMethod === 'function') {\n this.filterMethod(val);\n this.broadcast('ElOptionGroup', 'queryChange');\n } else {\n this.filteredOptionsCount = this.optionsCount;\n this.broadcast('ElOption', 'queryChange', val);\n this.broadcast('ElOptionGroup', 'queryChange');\n }\n if (this.defaultFirstOption && (this.filterable || this.remote) && this.filteredOptionsCount) {\n this.checkDefaultFirstOption();\n }\n },\n scrollToOption: function scrollToOption(option) {\n var target = Array.isArray(option) && option[0] ? option[0].$el : option.$el;\n if (this.$refs.popper && target) {\n var menu = this.$refs.popper.$el.querySelector('.el-select-dropdown__wrap');\n scroll_into_view_default()(menu, target);\n }\n this.$refs.scrollbar && this.$refs.scrollbar.handleScroll();\n },\n handleMenuEnter: function handleMenuEnter() {\n var _this7 = this;\n\n this.$nextTick(function () {\n return _this7.scrollToOption(_this7.selected);\n });\n },\n emitChange: function emitChange(val) {\n if (!Object(util_[\"valueEquals\"])(this.value, val)) {\n this.$emit('change', val);\n }\n },\n getOption: function getOption(value) {\n var option = void 0;\n var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';\n var isNull = Object.prototype.toString.call(value).toLowerCase() === '[object null]';\n var isUndefined = Object.prototype.toString.call(value).toLowerCase() === '[object undefined]';\n\n for (var i = this.cachedOptions.length - 1; i >= 0; i--) {\n var cachedOption = this.cachedOptions[i];\n var isEqual = isObject ? Object(util_[\"getValueByPath\"])(cachedOption.value, this.valueKey) === Object(util_[\"getValueByPath\"])(value, this.valueKey) : cachedOption.value === value;\n if (isEqual) {\n option = cachedOption;\n break;\n }\n }\n if (option) return option;\n var label = !isObject && !isNull && !isUndefined ? String(value) : '';\n var newOption = {\n value: value,\n currentLabel: label\n };\n if (this.multiple) {\n newOption.hitState = false;\n }\n return newOption;\n },\n setSelected: function setSelected() {\n var _this8 = this;\n\n if (!this.multiple) {\n var option = this.getOption(this.value);\n if (option.created) {\n this.createdLabel = option.currentLabel;\n this.createdSelected = true;\n } else {\n this.createdSelected = false;\n }\n this.selectedLabel = option.currentLabel;\n this.selected = option;\n if (this.filterable) this.query = this.selectedLabel;\n return;\n }\n var result = [];\n if (Array.isArray(this.value)) {\n this.value.forEach(function (value) {\n result.push(_this8.getOption(value));\n });\n }\n this.selected = result;\n this.$nextTick(function () {\n _this8.resetInputHeight();\n });\n },\n handleFocus: function handleFocus(event) {\n if (!this.softFocus) {\n if (this.automaticDropdown || this.filterable) {\n this.visible = true;\n if (this.filterable) {\n this.menuVisibleOnFocus = true;\n }\n }\n this.$emit('focus', event);\n } else {\n this.softFocus = false;\n }\n },\n blur: function blur() {\n this.visible = false;\n this.$refs.reference.blur();\n },\n handleBlur: function handleBlur(event) {\n var _this9 = this;\n\n setTimeout(function () {\n if (_this9.isSilentBlur) {\n _this9.isSilentBlur = false;\n } else {\n _this9.$emit('blur', event);\n }\n }, 50);\n this.softFocus = false;\n },\n handleClearClick: function handleClearClick(event) {\n this.deleteSelected(event);\n },\n doDestroy: function doDestroy() {\n this.$refs.popper && this.$refs.popper.doDestroy();\n },\n handleClose: function handleClose() {\n this.visible = false;\n },\n toggleLastOptionHitState: function toggleLastOptionHitState(hit) {\n if (!Array.isArray(this.selected)) return;\n var option = this.selected[this.selected.length - 1];\n if (!option) return;\n\n if (hit === true || hit === false) {\n option.hitState = hit;\n return hit;\n }\n\n option.hitState = !option.hitState;\n return option.hitState;\n },\n deletePrevTag: function deletePrevTag(e) {\n if (e.target.value.length <= 0 && !this.toggleLastOptionHitState()) {\n var value = this.value.slice();\n value.pop();\n this.$emit('input', value);\n this.emitChange(value);\n }\n },\n managePlaceholder: function managePlaceholder() {\n if (this.currentPlaceholder !== '') {\n this.currentPlaceholder = this.$refs.input.value ? '' : this.cachedPlaceHolder;\n }\n },\n resetInputState: function resetInputState(e) {\n if (e.keyCode !== 8) this.toggleLastOptionHitState(false);\n this.inputLength = this.$refs.input.value.length * 15 + 20;\n this.resetInputHeight();\n },\n resetInputHeight: function resetInputHeight() {\n var _this10 = this;\n\n if (this.collapseTags && !this.filterable) return;\n this.$nextTick(function () {\n if (!_this10.$refs.reference) return;\n var inputChildNodes = _this10.$refs.reference.$el.childNodes;\n var input = [].filter.call(inputChildNodes, function (item) {\n return item.tagName === 'INPUT';\n })[0];\n var tags = _this10.$refs.tags;\n var tagsHeight = tags ? Math.round(tags.getBoundingClientRect().height) : 0;\n var sizeInMap = _this10.initialInputHeight || 40;\n input.style.height = _this10.selected.length === 0 ? sizeInMap + 'px' : Math.max(tags ? tagsHeight + (tagsHeight > sizeInMap ? 6 : 0) : 0, sizeInMap) + 'px';\n if (_this10.visible && _this10.emptyText !== false) {\n _this10.broadcast('ElSelectDropdown', 'updatePopper');\n }\n });\n },\n resetHoverIndex: function resetHoverIndex() {\n var _this11 = this;\n\n setTimeout(function () {\n if (!_this11.multiple) {\n _this11.hoverIndex = _this11.options.indexOf(_this11.selected);\n } else {\n if (_this11.selected.length > 0) {\n _this11.hoverIndex = Math.min.apply(null, _this11.selected.map(function (item) {\n return _this11.options.indexOf(item);\n }));\n } else {\n _this11.hoverIndex = -1;\n }\n }\n }, 300);\n },\n handleOptionSelect: function handleOptionSelect(option, byClick) {\n var _this12 = this;\n\n if (this.multiple) {\n var value = (this.value || []).slice();\n var optionIndex = this.getValueIndex(value, option.value);\n if (optionIndex > -1) {\n value.splice(optionIndex, 1);\n } else if (this.multipleLimit <= 0 || value.length < this.multipleLimit) {\n value.push(option.value);\n }\n this.$emit('input', value);\n this.emitChange(value);\n if (option.created) {\n this.query = '';\n this.handleQueryChange('');\n this.inputLength = 20;\n }\n if (this.filterable) this.$refs.input.focus();\n } else {\n this.$emit('input', option.value);\n this.emitChange(option.value);\n this.visible = false;\n }\n this.isSilentBlur = byClick;\n this.setSoftFocus();\n if (this.visible) return;\n this.$nextTick(function () {\n _this12.scrollToOption(option);\n });\n },\n setSoftFocus: function setSoftFocus() {\n this.softFocus = true;\n var input = this.$refs.input || this.$refs.reference;\n if (input) {\n input.focus();\n }\n },\n getValueIndex: function getValueIndex() {\n var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var value = arguments[1];\n\n var isObject = Object.prototype.toString.call(value).toLowerCase() === '[object object]';\n if (!isObject) {\n return arr.indexOf(value);\n } else {\n var valueKey = this.valueKey;\n var index = -1;\n arr.some(function (item, i) {\n if (Object(util_[\"getValueByPath\"])(item, valueKey) === Object(util_[\"getValueByPath\"])(value, valueKey)) {\n index = i;\n return true;\n }\n return false;\n });\n return index;\n }\n },\n toggleMenu: function toggleMenu() {\n if (!this.selectDisabled) {\n if (this.menuVisibleOnFocus) {\n this.menuVisibleOnFocus = false;\n } else {\n this.visible = !this.visible;\n }\n if (this.visible) {\n (this.$refs.input || this.$refs.reference).focus();\n }\n }\n },\n selectOption: function selectOption() {\n if (!this.visible) {\n this.toggleMenu();\n } else {\n if (this.options[this.hoverIndex]) {\n this.handleOptionSelect(this.options[this.hoverIndex]);\n }\n }\n },\n deleteSelected: function deleteSelected(event) {\n event.stopPropagation();\n var value = this.multiple ? [] : '';\n this.$emit('input', value);\n this.emitChange(value);\n this.visible = false;\n this.$emit('clear');\n },\n deleteTag: function deleteTag(event, tag) {\n var index = this.selected.indexOf(tag);\n if (index > -1 && !this.selectDisabled) {\n var value = this.value.slice();\n value.splice(index, 1);\n this.$emit('input', value);\n this.emitChange(value);\n this.$emit('remove-tag', tag.value);\n }\n event.stopPropagation();\n },\n onInputChange: function onInputChange() {\n if (this.filterable && this.query !== this.selectedLabel) {\n this.query = this.selectedLabel;\n this.handleQueryChange(this.query);\n }\n },\n onOptionDestroy: function onOptionDestroy(index) {\n if (index > -1) {\n this.optionsCount--;\n this.filteredOptionsCount--;\n this.options.splice(index, 1);\n }\n },\n resetInputWidth: function resetInputWidth() {\n this.inputWidth = this.$refs.reference.$el.getBoundingClientRect().width;\n },\n handleResize: function handleResize() {\n this.resetInputWidth();\n if (this.multiple) this.resetInputHeight();\n },\n checkDefaultFirstOption: function checkDefaultFirstOption() {\n this.hoverIndex = -1;\n // highlight the created option\n var hasCreated = false;\n for (var i = this.options.length - 1; i >= 0; i--) {\n if (this.options[i].created) {\n hasCreated = true;\n this.hoverIndex = i;\n break;\n }\n }\n if (hasCreated) return;\n for (var _i = 0; _i !== this.options.length; ++_i) {\n var option = this.options[_i];\n if (this.query) {\n // highlight first options that passes the filter\n if (!option.disabled && !option.groupDisabled && option.visible) {\n this.hoverIndex = _i;\n break;\n }\n } else {\n // highlight currently selected option\n if (option.itemSelected) {\n this.hoverIndex = _i;\n break;\n }\n }\n }\n },\n getValueKey: function getValueKey(item) {\n if (Object.prototype.toString.call(item.value).toLowerCase() !== '[object object]') {\n return item.value;\n } else {\n return Object(util_[\"getValueByPath\"])(item.value, this.valueKey);\n }\n }\n },\n\n created: function created() {\n var _this13 = this;\n\n this.cachedPlaceHolder = this.currentPlaceholder = this.propPlaceholder;\n if (this.multiple && !Array.isArray(this.value)) {\n this.$emit('input', []);\n }\n if (!this.multiple && Array.isArray(this.value)) {\n this.$emit('input', '');\n }\n\n this.debouncedOnInputChange = debounce_default()(this.debounce, function () {\n _this13.onInputChange();\n });\n\n this.debouncedQueryChange = debounce_default()(this.debounce, function (e) {\n _this13.handleQueryChange(e.target.value);\n });\n\n this.$on('handleOptionClick', this.handleOptionSelect);\n this.$on('setSelected', this.setSelected);\n },\n mounted: function mounted() {\n var _this14 = this;\n\n if (this.multiple && Array.isArray(this.value) && this.value.length > 0) {\n this.currentPlaceholder = '';\n }\n Object(resize_event_[\"addResizeListener\"])(this.$el, this.handleResize);\n\n var reference = this.$refs.reference;\n if (reference && reference.$el) {\n var sizeMap = {\n medium: 36,\n small: 32,\n mini: 28\n };\n var input = reference.$el.querySelector('input');\n this.initialInputHeight = input.getBoundingClientRect().height || sizeMap[this.selectSize];\n }\n if (this.remote && this.multiple) {\n this.resetInputHeight();\n }\n this.$nextTick(function () {\n if (reference && reference.$el) {\n _this14.inputWidth = reference.$el.getBoundingClientRect().width;\n }\n });\n this.setSelected();\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$el && this.handleResize) Object(resize_event_[\"removeResizeListener\"])(this.$el, this.handleResize);\n }\n});\n// CONCATENATED MODULE: ./packages/select/src/select.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_selectvue_type_script_lang_js_ = (selectvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/select/src/select.vue\n\n\n\n\n\n/* normalize component */\n\nvar select_component = Object(componentNormalizer[\"a\" /* default */])(\n src_selectvue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var select_api; }\nselect_component.options.__file = \"packages/select/src/select.vue\"\n/* harmony default export */ var src_select = (select_component.exports);\n// CONCATENATED MODULE: ./packages/select/index.js\n\n\n/* istanbul ignore next */\nsrc_select.install = function (Vue) {\n Vue.component(src_select.name, src_select);\n};\n\n/* harmony default export */ var packages_select = __webpack_exports__[\"default\"] = (src_select);\n\n/***/ })\n\n/******/ });","require('./_wks-define')('observable');\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar lang = require(\"../../../lang\");\n\nvar featureManager = require(\"../featureManager\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/* global Uint8Array */\nvar saveAsImageLang = lang.toolbox.saveAsImage;\n\nfunction SaveAsImage(model) {\n this.model = model;\n}\n\nSaveAsImage.defaultOption = {\n show: true,\n icon: 'M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0',\n title: saveAsImageLang.title,\n type: 'png',\n // Default use option.backgroundColor\n // backgroundColor: '#fff',\n name: '',\n excludeComponents: ['toolbox'],\n pixelRatio: 1,\n lang: saveAsImageLang.lang.slice()\n};\nSaveAsImage.prototype.unusable = !env.canvasSupported;\nvar proto = SaveAsImage.prototype;\n\nproto.onclick = function (ecModel, api) {\n var model = this.model;\n var title = model.get('name') || ecModel.get('title.0.text') || 'echarts';\n var $a = document.createElement('a');\n var type = model.get('type', true) || 'png';\n $a.download = title + '.' + type;\n $a.target = '_blank';\n var url = api.getConnectedDataURL({\n type: type,\n backgroundColor: model.get('backgroundColor', true) || ecModel.get('backgroundColor') || '#fff',\n excludeComponents: model.get('excludeComponents'),\n pixelRatio: model.get('pixelRatio')\n });\n $a.href = url; // Chrome and Firefox\n\n if (typeof MouseEvent === 'function' && !env.browser.ie && !env.browser.edge) {\n var evt = new MouseEvent('click', {\n view: window,\n bubbles: true,\n cancelable: false\n });\n $a.dispatchEvent(evt);\n } // IE\n else {\n if (window.navigator.msSaveOrOpenBlob) {\n var bstr = atob(url.split(',')[1]);\n var n = bstr.length;\n var u8arr = new Uint8Array(n);\n\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n\n var blob = new Blob([u8arr]);\n window.navigator.msSaveOrOpenBlob(blob, title + '.' + type);\n } else {\n var lang = model.get('lang');\n var html = '' + '' + '' + '';\n var tab = window.open();\n tab.document.write(html);\n }\n }\n};\n\nfeatureManager.register('saveAsImage', SaveAsImage);\nvar _default = SaveAsImage;\nmodule.exports = _default;","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar _format = require(\"../util/format\");\n\nvar formatTime = _format.formatTime;\nvar encodeHTML = _format.encodeHTML;\nvar addCommas = _format.addCommas;\nvar getTooltipMarker = _format.getTooltipMarker;\n\nvar modelUtil = require(\"../util/model\");\n\nvar ComponentModel = require(\"./Component\");\n\nvar colorPaletteMixin = require(\"./mixin/colorPalette\");\n\nvar dataFormatMixin = require(\"../model/mixin/dataFormat\");\n\nvar _layout = require(\"../util/layout\");\n\nvar getLayoutParams = _layout.getLayoutParams;\nvar mergeLayoutParam = _layout.mergeLayoutParam;\n\nvar _task = require(\"../stream/task\");\n\nvar createTask = _task.createTask;\n\nvar _sourceHelper = require(\"../data/helper/sourceHelper\");\n\nvar prepareSource = _sourceHelper.prepareSource;\nvar getSource = _sourceHelper.getSource;\n\nvar _dataProvider = require(\"../data/helper/dataProvider\");\n\nvar retrieveRawValue = _dataProvider.retrieveRawValue;\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar inner = modelUtil.makeInner();\nvar SeriesModel = ComponentModel.extend({\n type: 'series.__base__',\n\n /**\n * @readOnly\n */\n seriesIndex: 0,\n // coodinateSystem will be injected in the echarts/CoordinateSystem\n coordinateSystem: null,\n\n /**\n * @type {Object}\n * @protected\n */\n defaultOption: null,\n\n /**\n * Data provided for legend\n * @type {Function}\n */\n // PENDING\n legendDataProvider: null,\n\n /**\n * Access path of color for visual\n */\n visualColorAccessPath: 'itemStyle.color',\n\n /**\n * Support merge layout params.\n * Only support 'box' now (left/right/top/bottom/width/height).\n * @type {string|Object} Object can be {ignoreSize: true}\n * @readOnly\n */\n layoutMode: null,\n init: function (option, parentModel, ecModel, extraOpt) {\n /**\n * @type {number}\n * @readOnly\n */\n this.seriesIndex = this.componentIndex;\n this.dataTask = createTask({\n count: dataTaskCount,\n reset: dataTaskReset\n });\n this.dataTask.context = {\n model: this\n };\n this.mergeDefaultAndTheme(option, ecModel);\n prepareSource(this);\n var data = this.getInitialData(option, ecModel);\n wrapData(data, this);\n this.dataTask.context.data = data;\n\n /**\n * @type {module:echarts/data/List|module:echarts/data/Tree|module:echarts/data/Graph}\n * @private\n */\n inner(this).dataBeforeProcessed = data; // If we reverse the order (make data firstly, and then make\n // dataBeforeProcessed by cloneShallow), cloneShallow will\n // cause data.graph.data !== data when using\n // module:echarts/data/Graph or module:echarts/data/Tree.\n // See module:echarts/data/helper/linkList\n // Theoretically, it is unreasonable to call `seriesModel.getData()` in the model\n // init or merge stage, because the data can be restored. So we do not `restoreData`\n // and `setData` here, which forbids calling `seriesModel.getData()` in this stage.\n // Call `seriesModel.getRawData()` instead.\n // this.restoreData();\n\n autoSeriesName(this);\n },\n\n /**\n * Util for merge default and theme to option\n * @param {Object} option\n * @param {module:echarts/model/Global} ecModel\n */\n mergeDefaultAndTheme: function (option, ecModel) {\n var layoutMode = this.layoutMode;\n var inputPositionParams = layoutMode ? getLayoutParams(option) : {}; // Backward compat: using subType on theme.\n // But if name duplicate between series subType\n // (for example: parallel) add component mainType,\n // add suffix 'Series'.\n\n var themeSubType = this.subType;\n\n if (ComponentModel.hasClass(themeSubType)) {\n themeSubType += 'Series';\n }\n\n zrUtil.merge(option, ecModel.getTheme().get(this.subType));\n zrUtil.merge(option, this.getDefaultOption()); // Default label emphasis `show`\n\n modelUtil.defaultEmphasis(option, 'label', ['show']);\n this.fillDataTextStyle(option.data);\n\n if (layoutMode) {\n mergeLayoutParam(option, inputPositionParams, layoutMode);\n }\n },\n mergeOption: function (newSeriesOption, ecModel) {\n // this.settingTask.dirty();\n newSeriesOption = zrUtil.merge(this.option, newSeriesOption, true);\n this.fillDataTextStyle(newSeriesOption.data);\n var layoutMode = this.layoutMode;\n\n if (layoutMode) {\n mergeLayoutParam(this.option, newSeriesOption, layoutMode);\n }\n\n prepareSource(this);\n var data = this.getInitialData(newSeriesOption, ecModel);\n wrapData(data, this);\n this.dataTask.dirty();\n this.dataTask.context.data = data;\n inner(this).dataBeforeProcessed = data;\n autoSeriesName(this);\n },\n fillDataTextStyle: function (data) {\n // Default data label emphasis `show`\n // FIXME Tree structure data ?\n // FIXME Performance ?\n if (data && !zrUtil.isTypedArray(data)) {\n var props = ['show'];\n\n for (var i = 0; i < data.length; i++) {\n if (data[i] && data[i].label) {\n modelUtil.defaultEmphasis(data[i], 'label', props);\n }\n }\n }\n },\n\n /**\n * Init a data structure from data related option in series\n * Must be overwritten\n */\n getInitialData: function () {},\n\n /**\n * Append data to list\n * @param {Object} params\n * @param {Array|TypedArray} params.data\n */\n appendData: function (params) {\n // FIXME ???\n // (1) If data from dataset, forbidden append.\n // (2) support append data of dataset.\n var data = this.getRawData();\n data.appendData(params.data);\n },\n\n /**\n * Consider some method like `filter`, `map` need make new data,\n * We should make sure that `seriesModel.getData()` get correct\n * data in the stream procedure. So we fetch data from upstream\n * each time `task.perform` called.\n * @param {string} [dataType]\n * @return {module:echarts/data/List}\n */\n getData: function (dataType) {\n var task = getCurrentTask(this);\n\n if (task) {\n var data = task.context.data;\n return dataType == null ? data : data.getLinkedData(dataType);\n } else {\n // When series is not alive (that may happen when click toolbox\n // restore or setOption with not merge mode), series data may\n // be still need to judge animation or something when graphic\n // elements want to know whether fade out.\n return inner(this).data;\n }\n },\n\n /**\n * @param {module:echarts/data/List} data\n */\n setData: function (data) {\n var task = getCurrentTask(this);\n\n if (task) {\n var context = task.context; // Consider case: filter, data sample.\n\n if (context.data !== data && task.modifyOutputEnd) {\n task.setOutputEnd(data.count());\n }\n\n context.outputData = data; // Caution: setData should update context.data,\n // Because getData may be called multiply in a\n // single stage and expect to get the data just\n // set. (For example, AxisProxy, x y both call\n // getData and setDate sequentially).\n // So the context.data should be fetched from\n // upstream each time when a stage starts to be\n // performed.\n\n if (task !== this.dataTask) {\n context.data = data;\n }\n }\n\n inner(this).data = data;\n },\n\n /**\n * @see {module:echarts/data/helper/sourceHelper#getSource}\n * @return {module:echarts/data/Source} source\n */\n getSource: function () {\n return getSource(this);\n },\n\n /**\n * Get data before processed\n * @return {module:echarts/data/List}\n */\n getRawData: function () {\n return inner(this).dataBeforeProcessed;\n },\n\n /**\n * Get base axis if has coordinate system and has axis.\n * By default use coordSys.getBaseAxis();\n * Can be overrided for some chart.\n * @return {type} description\n */\n getBaseAxis: function () {\n var coordSys = this.coordinateSystem;\n return coordSys && coordSys.getBaseAxis && coordSys.getBaseAxis();\n },\n // FIXME\n\n /**\n * Default tooltip formatter\n *\n * @param {number} dataIndex\n * @param {boolean} [multipleSeries=false]\n * @param {number} [dataType]\n * @param {string} [renderMode='html'] valid values: 'html' and 'richText'.\n * 'html' is used for rendering tooltip in extra DOM form, and the result\n * string is used as DOM HTML content.\n * 'richText' is used for rendering tooltip in rich text form, for those where\n * DOM operation is not supported.\n * @return {Object} formatted tooltip with `html` and `markers`\n */\n formatTooltip: function (dataIndex, multipleSeries, dataType, renderMode) {\n var series = this;\n renderMode = renderMode || 'html';\n var newLine = renderMode === 'html' ? '
' : '\\n';\n var isRichText = renderMode === 'richText';\n var markers = {};\n var markerId = 0;\n\n function formatArrayValue(value) {\n // ??? TODO refactor these logic.\n // check: category-no-encode-has-axis-data in dataset.html\n var vertially = zrUtil.reduce(value, function (vertially, val, idx) {\n var dimItem = data.getDimensionInfo(idx);\n return vertially |= dimItem && dimItem.tooltip !== false && dimItem.displayName != null;\n }, 0);\n var result = [];\n tooltipDims.length ? zrUtil.each(tooltipDims, function (dim) {\n setEachItem(retrieveRawValue(data, dataIndex, dim), dim);\n }) // By default, all dims is used on tooltip.\n : zrUtil.each(value, setEachItem);\n\n function setEachItem(val, dim) {\n var dimInfo = data.getDimensionInfo(dim); // If `dimInfo.tooltip` is not set, show tooltip.\n\n if (!dimInfo || dimInfo.otherDims.tooltip === false) {\n return;\n }\n\n var dimType = dimInfo.type;\n var markName = 'sub' + series.seriesIndex + 'at' + markerId;\n var dimHead = getTooltipMarker({\n color: color,\n type: 'subItem',\n renderMode: renderMode,\n markerId: markName\n });\n var dimHeadStr = typeof dimHead === 'string' ? dimHead : dimHead.content;\n var valStr = (vertially ? dimHeadStr + encodeHTML(dimInfo.displayName || '-') + ': ' : '') + // FIXME should not format time for raw data?\n encodeHTML(dimType === 'ordinal' ? val + '' : dimType === 'time' ? multipleSeries ? '' : formatTime('yyyy/MM/dd hh:mm:ss', val) : addCommas(val));\n valStr && result.push(valStr);\n\n if (isRichText) {\n markers[markName] = color;\n ++markerId;\n }\n }\n\n var newLine = vertially ? isRichText ? '\\n' : '
' : '';\n var content = newLine + result.join(newLine || ', ');\n return {\n renderMode: renderMode,\n content: content,\n style: markers\n };\n }\n\n function formatSingleValue(val) {\n // return encodeHTML(addCommas(val));\n return {\n renderMode: renderMode,\n content: encodeHTML(addCommas(val)),\n style: markers\n };\n }\n\n var data = this.getData();\n var tooltipDims = data.mapDimension('defaultedTooltip', true);\n var tooltipDimLen = tooltipDims.length;\n var value = this.getRawValue(dataIndex);\n var isValueArr = zrUtil.isArray(value);\n var color = data.getItemVisual(dataIndex, 'color');\n\n if (zrUtil.isObject(color) && color.colorStops) {\n color = (color.colorStops[0] || {}).color;\n }\n\n color = color || 'transparent'; // Complicated rule for pretty tooltip.\n\n var formattedValue = tooltipDimLen > 1 || isValueArr && !tooltipDimLen ? formatArrayValue(value) : tooltipDimLen ? formatSingleValue(retrieveRawValue(data, dataIndex, tooltipDims[0])) : formatSingleValue(isValueArr ? value[0] : value);\n var content = formattedValue.content;\n var markName = series.seriesIndex + 'at' + markerId;\n var colorEl = getTooltipMarker({\n color: color,\n type: 'item',\n renderMode: renderMode,\n markerId: markName\n });\n markers[markName] = color;\n ++markerId;\n var name = data.getName(dataIndex);\n var seriesName = this.name;\n\n if (!modelUtil.isNameSpecified(this)) {\n seriesName = '';\n }\n\n seriesName = seriesName ? encodeHTML(seriesName) + (!multipleSeries ? newLine : ': ') : '';\n var colorStr = typeof colorEl === 'string' ? colorEl : colorEl.content;\n var html = !multipleSeries ? seriesName + colorStr + (name ? encodeHTML(name) + ': ' + content : content) : colorStr + seriesName + content;\n return {\n html: html,\n markers: markers\n };\n },\n\n /**\n * @return {boolean}\n */\n isAnimationEnabled: function () {\n if (env.node) {\n return false;\n }\n\n var animationEnabled = this.getShallow('animation');\n\n if (animationEnabled) {\n if (this.getData().count() > this.getShallow('animationThreshold')) {\n animationEnabled = false;\n }\n }\n\n return animationEnabled;\n },\n restoreData: function () {\n this.dataTask.dirty();\n },\n getColorFromPalette: function (name, scope, requestColorNum) {\n var ecModel = this.ecModel; // PENDING\n\n var color = colorPaletteMixin.getColorFromPalette.call(this, name, scope, requestColorNum);\n\n if (!color) {\n color = ecModel.getColorFromPalette(name, scope, requestColorNum);\n }\n\n return color;\n },\n\n /**\n * Use `data.mapDimension(coordDim, true)` instead.\n * @deprecated\n */\n coordDimToDataDim: function (coordDim) {\n return this.getRawData().mapDimension(coordDim, true);\n },\n\n /**\n * Get progressive rendering count each step\n * @return {number}\n */\n getProgressive: function () {\n return this.get('progressive');\n },\n\n /**\n * Get progressive rendering count each step\n * @return {number}\n */\n getProgressiveThreshold: function () {\n return this.get('progressiveThreshold');\n },\n\n /**\n * Get data indices for show tooltip content. See tooltip.\n * @abstract\n * @param {Array.|string} dim\n * @param {Array.} value\n * @param {module:echarts/coord/single/SingleAxis} baseAxis\n * @return {Object} {dataIndices, nestestValue}.\n */\n getAxisTooltipData: null,\n\n /**\n * See tooltip.\n * @abstract\n * @param {number} dataIndex\n * @return {Array.} Point of tooltip. null/undefined can be returned.\n */\n getTooltipPosition: null,\n\n /**\n * @see {module:echarts/stream/Scheduler}\n */\n pipeTask: null,\n\n /**\n * Convinient for override in extended class.\n * @protected\n * @type {Function}\n */\n preventIncremental: null,\n\n /**\n * @public\n * @readOnly\n * @type {Object}\n */\n pipelineContext: null\n});\nzrUtil.mixin(SeriesModel, dataFormatMixin);\nzrUtil.mixin(SeriesModel, colorPaletteMixin);\n/**\n * MUST be called after `prepareSource` called\n * Here we need to make auto series, especially for auto legend. But we\n * do not modify series.name in option to avoid side effects.\n */\n\nfunction autoSeriesName(seriesModel) {\n // User specified name has higher priority, otherwise it may cause\n // series can not be queried unexpectedly.\n var name = seriesModel.name;\n\n if (!modelUtil.isNameSpecified(seriesModel)) {\n seriesModel.name = getSeriesAutoName(seriesModel) || name;\n }\n}\n\nfunction getSeriesAutoName(seriesModel) {\n var data = seriesModel.getRawData();\n var dataDims = data.mapDimension('seriesName', true);\n var nameArr = [];\n zrUtil.each(dataDims, function (dataDim) {\n var dimInfo = data.getDimensionInfo(dataDim);\n dimInfo.displayName && nameArr.push(dimInfo.displayName);\n });\n return nameArr.join(' ');\n}\n\nfunction dataTaskCount(context) {\n return context.model.getRawData().count();\n}\n\nfunction dataTaskReset(context) {\n var seriesModel = context.model;\n seriesModel.setData(seriesModel.getRawData().cloneShallow());\n return dataTaskProgress;\n}\n\nfunction dataTaskProgress(param, context) {\n // Avoid repead cloneShallow when data just created in reset.\n if (param.end > context.outputData.count()) {\n context.model.getRawData().cloneShallow(context.outputData);\n }\n} // TODO refactor\n\n\nfunction wrapData(data, seriesModel) {\n zrUtil.each(data.CHANGABLE_METHODS, function (methodName) {\n data.wrapMethod(methodName, zrUtil.curry(onDataSelfChange, seriesModel));\n });\n}\n\nfunction onDataSelfChange(seriesModel) {\n var task = getCurrentTask(seriesModel);\n\n if (task) {\n // Consider case: filter, selectRange\n task.setOutputEnd(this.count());\n }\n}\n\nfunction getCurrentTask(seriesModel) {\n var scheduler = (seriesModel.ecModel || {}).scheduler;\n var pipeline = scheduler && scheduler.getPipeline(seriesModel.uid);\n\n if (pipeline) {\n // When pipline finished, the currrentTask keep the last\n // task (renderTask).\n var task = pipeline.currentTask;\n\n if (task) {\n var agentStubMap = task.agentStubMap;\n\n if (agentStubMap) {\n task = agentStubMap.get(seriesModel.uid);\n }\n }\n\n return task;\n }\n}\n\nvar _default = SeriesModel;\nmodule.exports = _default;","var smoothSpline = require(\"./smoothSpline\");\n\nvar smoothBezier = require(\"./smoothBezier\");\n\nfunction buildPath(ctx, shape, closePath) {\n var points = shape.points;\n var smooth = shape.smooth;\n\n if (points && points.length >= 2) {\n if (smooth && smooth !== 'spline') {\n var controlPoints = smoothBezier(points, smooth, closePath, shape.smoothConstraint);\n ctx.moveTo(points[0][0], points[0][1]);\n var len = points.length;\n\n for (var i = 0; i < (closePath ? len : len - 1); i++) {\n var cp1 = controlPoints[i * 2];\n var cp2 = controlPoints[i * 2 + 1];\n var p = points[(i + 1) % len];\n ctx.bezierCurveTo(cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]);\n }\n } else {\n if (smooth === 'spline') {\n points = smoothSpline(points, closePath);\n }\n\n ctx.moveTo(points[0][0], points[0][1]);\n\n for (var i = 1, l = points.length; i < l; i++) {\n ctx.lineTo(points[i][0], points[i][1]);\n }\n }\n\n closePath && ctx.closePath();\n }\n}\n\nexports.buildPath = buildPath;","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar formatUtil = require(\"../../util/format\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar AXIS_DIMS = ['x', 'y', 'z', 'radius', 'angle', 'single']; // Supported coords.\n\nvar COORDS = ['cartesian2d', 'polar', 'singleAxis'];\n/**\n * @param {string} coordType\n * @return {boolean}\n */\n\nfunction isCoordSupported(coordType) {\n return zrUtil.indexOf(COORDS, coordType) >= 0;\n}\n/**\n * Create \"each\" method to iterate names.\n *\n * @pubilc\n * @param {Array.} names\n * @param {Array.=} attrs\n * @return {Function}\n */\n\n\nfunction createNameEach(names, attrs) {\n names = names.slice();\n var capitalNames = zrUtil.map(names, formatUtil.capitalFirst);\n attrs = (attrs || []).slice();\n var capitalAttrs = zrUtil.map(attrs, formatUtil.capitalFirst);\n return function (callback, context) {\n zrUtil.each(names, function (name, index) {\n var nameObj = {\n name: name,\n capital: capitalNames[index]\n };\n\n for (var j = 0; j < attrs.length; j++) {\n nameObj[attrs[j]] = name + capitalAttrs[j];\n }\n\n callback.call(context, nameObj);\n });\n };\n}\n/**\n * Iterate each dimension name.\n *\n * @public\n * @param {Function} callback The parameter is like:\n * {\n * name: 'angle',\n * capital: 'Angle',\n * axis: 'angleAxis',\n * axisIndex: 'angleAixs',\n * index: 'angleIndex'\n * }\n * @param {Object} context\n */\n\n\nvar eachAxisDim = createNameEach(AXIS_DIMS, ['axisIndex', 'axis', 'index', 'id']);\n/**\n * If tow dataZoomModels has the same axis controlled, we say that they are 'linked'.\n * dataZoomModels and 'links' make up one or more graphics.\n * This function finds the graphic where the source dataZoomModel is in.\n *\n * @public\n * @param {Function} forEachNode Node iterator.\n * @param {Function} forEachEdgeType edgeType iterator\n * @param {Function} edgeIdGetter Giving node and edgeType, return an array of edge id.\n * @return {Function} Input: sourceNode, Output: Like {nodes: [], dims: {}}\n */\n\nfunction createLinkedNodesFinder(forEachNode, forEachEdgeType, edgeIdGetter) {\n return function (sourceNode) {\n var result = {\n nodes: [],\n records: {} // key: edgeType.name, value: Object (key: edge id, value: boolean).\n\n };\n forEachEdgeType(function (edgeType) {\n result.records[edgeType.name] = {};\n });\n\n if (!sourceNode) {\n return result;\n }\n\n absorb(sourceNode, result);\n var existsLink;\n\n do {\n existsLink = false;\n forEachNode(processSingleNode);\n } while (existsLink);\n\n function processSingleNode(node) {\n if (!isNodeAbsorded(node, result) && isLinked(node, result)) {\n absorb(node, result);\n existsLink = true;\n }\n }\n\n return result;\n };\n\n function isNodeAbsorded(node, result) {\n return zrUtil.indexOf(result.nodes, node) >= 0;\n }\n\n function isLinked(node, result) {\n var hasLink = false;\n forEachEdgeType(function (edgeType) {\n zrUtil.each(edgeIdGetter(node, edgeType) || [], function (edgeId) {\n result.records[edgeType.name][edgeId] && (hasLink = true);\n });\n });\n return hasLink;\n }\n\n function absorb(node, result) {\n result.nodes.push(node);\n forEachEdgeType(function (edgeType) {\n zrUtil.each(edgeIdGetter(node, edgeType) || [], function (edgeId) {\n result.records[edgeType.name][edgeId] = true;\n });\n });\n }\n}\n\nexports.isCoordSupported = isCoordSupported;\nexports.createNameEach = createNameEach;\nexports.eachAxisDim = eachAxisDim;\nexports.createLinkedNodesFinder = createLinkedNodesFinder;","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","'use strict';\n\nexports.__esModule = true;\nexports.PopupManager = undefined;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _merge = require('element-ui/lib/utils/merge');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _popupManager = require('element-ui/lib/utils/popup/popup-manager');\n\nvar _popupManager2 = _interopRequireDefault(_popupManager);\n\nvar _scrollbarWidth = require('../scrollbar-width');\n\nvar _scrollbarWidth2 = _interopRequireDefault(_scrollbarWidth);\n\nvar _dom = require('../dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar idSeed = 1;\n\nvar scrollBarWidth = void 0;\n\nexports.default = {\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n openDelay: {},\n closeDelay: {},\n zIndex: {},\n modal: {\n type: Boolean,\n default: false\n },\n modalFade: {\n type: Boolean,\n default: true\n },\n modalClass: {},\n modalAppendToBody: {\n type: Boolean,\n default: false\n },\n lockScroll: {\n type: Boolean,\n default: true\n },\n closeOnPressEscape: {\n type: Boolean,\n default: false\n },\n closeOnClickModal: {\n type: Boolean,\n default: false\n }\n },\n\n beforeMount: function beforeMount() {\n this._popupId = 'popup-' + idSeed++;\n _popupManager2.default.register(this._popupId, this);\n },\n beforeDestroy: function beforeDestroy() {\n _popupManager2.default.deregister(this._popupId);\n _popupManager2.default.closeModal(this._popupId);\n\n this.restoreBodyStyle();\n },\n data: function data() {\n return {\n opened: false,\n bodyPaddingRight: null,\n computedBodyPaddingRight: 0,\n withoutHiddenClass: true,\n rendered: false\n };\n },\n\n\n watch: {\n visible: function visible(val) {\n var _this = this;\n\n if (val) {\n if (this._opening) return;\n if (!this.rendered) {\n this.rendered = true;\n _vue2.default.nextTick(function () {\n _this.open();\n });\n } else {\n this.open();\n }\n } else {\n this.close();\n }\n }\n },\n\n methods: {\n open: function open(options) {\n var _this2 = this;\n\n if (!this.rendered) {\n this.rendered = true;\n }\n\n var props = (0, _merge2.default)({}, this.$props || this, options);\n\n if (this._closeTimer) {\n clearTimeout(this._closeTimer);\n this._closeTimer = null;\n }\n clearTimeout(this._openTimer);\n\n var openDelay = Number(props.openDelay);\n if (openDelay > 0) {\n this._openTimer = setTimeout(function () {\n _this2._openTimer = null;\n _this2.doOpen(props);\n }, openDelay);\n } else {\n this.doOpen(props);\n }\n },\n doOpen: function doOpen(props) {\n if (this.$isServer) return;\n if (this.willOpen && !this.willOpen()) return;\n if (this.opened) return;\n\n this._opening = true;\n\n var dom = this.$el;\n\n var modal = props.modal;\n\n var zIndex = props.zIndex;\n if (zIndex) {\n _popupManager2.default.zIndex = zIndex;\n }\n\n if (modal) {\n if (this._closing) {\n _popupManager2.default.closeModal(this._popupId);\n this._closing = false;\n }\n _popupManager2.default.openModal(this._popupId, _popupManager2.default.nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade);\n if (props.lockScroll) {\n this.withoutHiddenClass = !(0, _dom.hasClass)(document.body, 'el-popup-parent--hidden');\n if (this.withoutHiddenClass) {\n this.bodyPaddingRight = document.body.style.paddingRight;\n this.computedBodyPaddingRight = parseInt((0, _dom.getStyle)(document.body, 'paddingRight'), 10);\n }\n scrollBarWidth = (0, _scrollbarWidth2.default)();\n var bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;\n var bodyOverflowY = (0, _dom.getStyle)(document.body, 'overflowY');\n if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll') && this.withoutHiddenClass) {\n document.body.style.paddingRight = this.computedBodyPaddingRight + scrollBarWidth + 'px';\n }\n (0, _dom.addClass)(document.body, 'el-popup-parent--hidden');\n }\n }\n\n if (getComputedStyle(dom).position === 'static') {\n dom.style.position = 'absolute';\n }\n\n dom.style.zIndex = _popupManager2.default.nextZIndex();\n this.opened = true;\n\n this.onOpen && this.onOpen();\n\n this.doAfterOpen();\n },\n doAfterOpen: function doAfterOpen() {\n this._opening = false;\n },\n close: function close() {\n var _this3 = this;\n\n if (this.willClose && !this.willClose()) return;\n\n if (this._openTimer !== null) {\n clearTimeout(this._openTimer);\n this._openTimer = null;\n }\n clearTimeout(this._closeTimer);\n\n var closeDelay = Number(this.closeDelay);\n\n if (closeDelay > 0) {\n this._closeTimer = setTimeout(function () {\n _this3._closeTimer = null;\n _this3.doClose();\n }, closeDelay);\n } else {\n this.doClose();\n }\n },\n doClose: function doClose() {\n this._closing = true;\n\n this.onClose && this.onClose();\n\n if (this.lockScroll) {\n setTimeout(this.restoreBodyStyle, 200);\n }\n\n this.opened = false;\n\n this.doAfterClose();\n },\n doAfterClose: function doAfterClose() {\n _popupManager2.default.closeModal(this._popupId);\n this._closing = false;\n },\n restoreBodyStyle: function restoreBodyStyle() {\n if (this.modal && this.withoutHiddenClass) {\n document.body.style.paddingRight = this.bodyPaddingRight;\n (0, _dom.removeClass)(document.body, 'el-popup-parent--hidden');\n }\n this.withoutHiddenClass = true;\n }\n }\n};\nexports.PopupManager = _popupManager2.default;","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar numberUtil = require(\"../../util/number\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @file Using layout algorithm transform the raw data to layout information.\n * @author Deqing Li(annong035@gmail.com)\n */\nfunction _default(ecModel, api) {\n ecModel.eachSeriesByType('themeRiver', function (seriesModel) {\n var data = seriesModel.getData();\n var single = seriesModel.coordinateSystem;\n var layoutInfo = {}; // use the axis boundingRect for view\n\n var rect = single.getRect();\n layoutInfo.rect = rect;\n var boundaryGap = seriesModel.get('boundaryGap');\n var axis = single.getAxis();\n layoutInfo.boundaryGap = boundaryGap;\n\n if (axis.orient === 'horizontal') {\n boundaryGap[0] = numberUtil.parsePercent(boundaryGap[0], rect.height);\n boundaryGap[1] = numberUtil.parsePercent(boundaryGap[1], rect.height);\n var height = rect.height - boundaryGap[0] - boundaryGap[1];\n themeRiverLayout(data, seriesModel, height);\n } else {\n boundaryGap[0] = numberUtil.parsePercent(boundaryGap[0], rect.width);\n boundaryGap[1] = numberUtil.parsePercent(boundaryGap[1], rect.width);\n var width = rect.width - boundaryGap[0] - boundaryGap[1];\n themeRiverLayout(data, seriesModel, width);\n }\n\n data.setLayout('layoutInfo', layoutInfo);\n });\n}\n/**\n * The layout information about themeriver\n *\n * @param {module:echarts/data/List} data data in the series\n * @param {module:echarts/model/Series} seriesModel the model object of themeRiver series\n * @param {number} height value used to compute every series height\n */\n\n\nfunction themeRiverLayout(data, seriesModel, height) {\n if (!data.count()) {\n return;\n }\n\n var coordSys = seriesModel.coordinateSystem; // the data in each layer are organized into a series.\n\n var layerSeries = seriesModel.getLayerSeries(); // the points in each layer.\n\n var timeDim = data.mapDimension('single');\n var valueDim = data.mapDimension('value');\n var layerPoints = zrUtil.map(layerSeries, function (singleLayer) {\n return zrUtil.map(singleLayer.indices, function (idx) {\n var pt = coordSys.dataToPoint(data.get(timeDim, idx));\n pt[1] = data.get(valueDim, idx);\n return pt;\n });\n });\n var base = computeBaseline(layerPoints);\n var baseLine = base.y0;\n var ky = height / base.max; // set layout information for each item.\n\n var n = layerSeries.length;\n var m = layerSeries[0].indices.length;\n var baseY0;\n\n for (var j = 0; j < m; ++j) {\n baseY0 = baseLine[j] * ky;\n data.setItemLayout(layerSeries[0].indices[j], {\n layerIndex: 0,\n x: layerPoints[0][j][0],\n y0: baseY0,\n y: layerPoints[0][j][1] * ky\n });\n\n for (var i = 1; i < n; ++i) {\n baseY0 += layerPoints[i - 1][j][1] * ky;\n data.setItemLayout(layerSeries[i].indices[j], {\n layerIndex: i,\n x: layerPoints[i][j][0],\n y0: baseY0,\n y: layerPoints[i][j][1] * ky\n });\n }\n }\n}\n/**\n * Compute the baseLine of the rawdata\n * Inspired by Lee Byron's paper Stacked Graphs - Geometry & Aesthetics\n *\n * @param {Array.} data the points in each layer\n * @return {Object}\n */\n\n\nfunction computeBaseline(data) {\n var layerNum = data.length;\n var pointNum = data[0].length;\n var sums = [];\n var y0 = [];\n var max = 0;\n var temp;\n var base = {};\n\n for (var i = 0; i < pointNum; ++i) {\n for (var j = 0, temp = 0; j < layerNum; ++j) {\n temp += data[j][i][1];\n }\n\n if (temp > max) {\n max = temp;\n }\n\n sums.push(temp);\n }\n\n for (var k = 0; k < pointNum; ++k) {\n y0[k] = (max - sums[k]) / 2;\n }\n\n max = 0;\n\n for (var l = 0; l < pointNum; ++l) {\n var sum = sums[l] + y0[l];\n\n if (sum > max) {\n max = sum;\n }\n }\n\n base.y0 = y0;\n base.max = max;\n return base;\n}\n\nmodule.exports = _default;","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue === 'string' &&\n replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1 &&\n replaceValue.indexOf('$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = toString(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"./visualMapContinuous\");\n\nrequire(\"./visualMapPiecewise\");","'use strict';\n\nexports.__esModule = true;\n\nvar _dom = require('element-ui/lib/utils/dom');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Transition = function () {\n function Transition() {\n _classCallCheck(this, Transition);\n }\n\n Transition.prototype.beforeEnter = function beforeEnter(el) {\n (0, _dom.addClass)(el, 'collapse-transition');\n if (!el.dataset) el.dataset = {};\n\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n\n el.style.height = '0';\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n };\n\n Transition.prototype.enter = function enter(el) {\n el.dataset.oldOverflow = el.style.overflow;\n if (el.scrollHeight !== 0) {\n el.style.height = el.scrollHeight + 'px';\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n } else {\n el.style.height = '';\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n }\n\n el.style.overflow = 'hidden';\n };\n\n Transition.prototype.afterEnter = function afterEnter(el) {\n // for safari: remove class then reset height is necessary\n (0, _dom.removeClass)(el, 'collapse-transition');\n el.style.height = '';\n el.style.overflow = el.dataset.oldOverflow;\n };\n\n Transition.prototype.beforeLeave = function beforeLeave(el) {\n if (!el.dataset) el.dataset = {};\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n el.dataset.oldOverflow = el.style.overflow;\n\n el.style.height = el.scrollHeight + 'px';\n el.style.overflow = 'hidden';\n };\n\n Transition.prototype.leave = function leave(el) {\n if (el.scrollHeight !== 0) {\n // for safari: add class after set height, or it will jump to zero height suddenly, weired\n (0, _dom.addClass)(el, 'collapse-transition');\n el.style.height = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n }\n };\n\n Transition.prototype.afterLeave = function afterLeave(el) {\n (0, _dom.removeClass)(el, 'collapse-transition');\n el.style.height = '';\n el.style.overflow = el.dataset.oldOverflow;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n };\n\n return Transition;\n}();\n\nexports.default = {\n name: 'ElCollapseTransition',\n functional: true,\n render: function render(h, _ref) {\n var children = _ref.children;\n\n var data = {\n on: new Transition()\n };\n\n return h('transition', data, children);\n }\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('map', function (seriesModel) {\n var colorList = seriesModel.get('color');\n var itemStyleModel = seriesModel.getModel('itemStyle');\n var areaColor = itemStyleModel.get('areaColor');\n var color = itemStyleModel.get('color') || colorList[seriesModel.seriesIndex % colorList.length];\n seriesModel.getData().setVisual({\n 'areaColor': areaColor,\n 'color': color\n });\n });\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar makeStyleMapper = require(\"./makeStyleMapper\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar getItemStyle = makeStyleMapper([['fill', 'color'], ['stroke', 'borderColor'], ['lineWidth', 'borderWidth'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor'], ['textPosition'], ['textAlign']]);\nvar _default = {\n getItemStyle: function (excludes, includes) {\n var style = getItemStyle(this, excludes, includes);\n var lineDash = this.getBorderLineDash();\n lineDash && (style.lineDash = lineDash);\n return style;\n },\n getBorderLineDash: function () {\n var lineType = this.get('borderType');\n return lineType === 'solid' || lineType == null ? null : lineType === 'dashed' ? [5, 5] : [1, 1];\n }\n};\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nrequire(\"../coord/radar/Radar\");\n\nrequire(\"../coord/radar/RadarModel\");\n\nrequire(\"./radar/RadarView\");","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar RoamController = require(\"../../component/helper/RoamController\");\n\nvar throttleUtil = require(\"../../util/throttle\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n// Only create one roam controller for each coordinate system.\n// one roam controller might be refered by two inside data zoom\n// components (for example, one for x and one for y). When user\n// pan or zoom, only dispatch one action for those data zoom\n// components.\nvar ATTR = '\\0_ec_dataZoom_roams';\n/**\n * @public\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} dataZoomInfo\n * @param {string} dataZoomInfo.coordId\n * @param {Function} dataZoomInfo.containsPoint\n * @param {Array.} dataZoomInfo.allCoordIds\n * @param {string} dataZoomInfo.dataZoomId\n * @param {Object} dataZoomInfo.getRange\n * @param {Function} dataZoomInfo.getRange.pan\n * @param {Function} dataZoomInfo.getRange.zoom\n * @param {Function} dataZoomInfo.getRange.scrollMove\n * @param {boolean} dataZoomInfo.dataZoomModel\n */\n\nfunction register(api, dataZoomInfo) {\n var store = giveStore(api);\n var theDataZoomId = dataZoomInfo.dataZoomId;\n var theCoordId = dataZoomInfo.coordId; // Do clean when a dataZoom changes its target coordnate system.\n // Avoid memory leak, dispose all not-used-registered.\n\n zrUtil.each(store, function (record, coordId) {\n var dataZoomInfos = record.dataZoomInfos;\n\n if (dataZoomInfos[theDataZoomId] && zrUtil.indexOf(dataZoomInfo.allCoordIds, theCoordId) < 0) {\n delete dataZoomInfos[theDataZoomId];\n record.count--;\n }\n });\n cleanStore(store);\n var record = store[theCoordId]; // Create if needed.\n\n if (!record) {\n record = store[theCoordId] = {\n coordId: theCoordId,\n dataZoomInfos: {},\n count: 0\n };\n record.controller = createController(api, record);\n record.dispatchAction = zrUtil.curry(dispatchAction, api);\n } // Update reference of dataZoom.\n\n\n !record.dataZoomInfos[theDataZoomId] && record.count++;\n record.dataZoomInfos[theDataZoomId] = dataZoomInfo;\n var controllerParams = mergeControllerParams(record.dataZoomInfos);\n record.controller.enable(controllerParams.controlType, controllerParams.opt); // Consider resize, area should be always updated.\n\n record.controller.setPointerChecker(dataZoomInfo.containsPoint); // Update throttle.\n\n throttleUtil.createOrUpdate(record, 'dispatchAction', dataZoomInfo.dataZoomModel.get('throttle', true), 'fixRate');\n}\n/**\n * @public\n * @param {module:echarts/ExtensionAPI} api\n * @param {string} dataZoomId\n */\n\n\nfunction unregister(api, dataZoomId) {\n var store = giveStore(api);\n zrUtil.each(store, function (record) {\n record.controller.dispose();\n var dataZoomInfos = record.dataZoomInfos;\n\n if (dataZoomInfos[dataZoomId]) {\n delete dataZoomInfos[dataZoomId];\n record.count--;\n }\n });\n cleanStore(store);\n}\n/**\n * @public\n */\n\n\nfunction generateCoordId(coordModel) {\n return coordModel.type + '\\0_' + coordModel.id;\n}\n/**\n * Key: coordId, value: {dataZoomInfos: [], count, controller}\n * @type {Array.}\n */\n\n\nfunction giveStore(api) {\n // Mount store on zrender instance, so that we do not\n // need to worry about dispose.\n var zr = api.getZr();\n return zr[ATTR] || (zr[ATTR] = {});\n}\n\nfunction createController(api, newRecord) {\n var controller = new RoamController(api.getZr());\n zrUtil.each(['pan', 'zoom', 'scrollMove'], function (eventName) {\n controller.on(eventName, function (event) {\n var batch = [];\n zrUtil.each(newRecord.dataZoomInfos, function (info) {\n // Check whether the behaviors (zoomOnMouseWheel, moveOnMouseMove,\n // moveOnMouseWheel, ...) enabled.\n if (!event.isAvailableBehavior(info.dataZoomModel.option)) {\n return;\n }\n\n var method = (info.getRange || {})[eventName];\n var range = method && method(newRecord.controller, event);\n !info.dataZoomModel.get('disabled', true) && range && batch.push({\n dataZoomId: info.dataZoomId,\n start: range[0],\n end: range[1]\n });\n });\n batch.length && newRecord.dispatchAction(batch);\n });\n });\n return controller;\n}\n\nfunction cleanStore(store) {\n zrUtil.each(store, function (record, coordId) {\n if (!record.count) {\n record.controller.dispose();\n delete store[coordId];\n }\n });\n}\n/**\n * This action will be throttled.\n */\n\n\nfunction dispatchAction(api, batch) {\n api.dispatchAction({\n type: 'dataZoom',\n batch: batch\n });\n}\n/**\n * Merge roamController settings when multiple dataZooms share one roamController.\n */\n\n\nfunction mergeControllerParams(dataZoomInfos) {\n var controlType; // DO NOT use reserved word (true, false, undefined) as key literally. Even if encapsulated\n // as string, it is probably revert to reserved word by compress tool. See #7411.\n\n var prefix = 'type_';\n var typePriority = {\n 'type_true': 2,\n 'type_move': 1,\n 'type_false': 0,\n 'type_undefined': -1\n };\n var preventDefaultMouseMove = true;\n zrUtil.each(dataZoomInfos, function (dataZoomInfo) {\n var dataZoomModel = dataZoomInfo.dataZoomModel;\n var oneType = dataZoomModel.get('disabled', true) ? false : dataZoomModel.get('zoomLock', true) ? 'move' : true;\n\n if (typePriority[prefix + oneType] > typePriority[prefix + controlType]) {\n controlType = oneType;\n } // Prevent default move event by default. If one false, do not prevent. Otherwise\n // users may be confused why it does not work when multiple insideZooms exist.\n\n\n preventDefaultMouseMove &= dataZoomModel.get('preventDefaultMouseMove', true);\n });\n return {\n controlType: controlType,\n opt: {\n // RoamController will enable all of these functionalities,\n // and the final behavior is determined by its event listener\n // provided by each inside zoom.\n zoomOnMouseWheel: true,\n moveOnMouseMove: true,\n moveOnMouseWheel: true,\n preventDefaultMouseMove: !!preventDefaultMouseMove\n }\n };\n}\n\nexports.register = register;\nexports.unregister = unregister;\nexports.generateCoordId = generateCoordId;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction retrieveTargetInfo(payload, validPayloadTypes, seriesModel) {\n if (payload && zrUtil.indexOf(validPayloadTypes, payload.type) >= 0) {\n var root = seriesModel.getData().tree.root;\n var targetNode = payload.targetNode;\n\n if (typeof targetNode === 'string') {\n targetNode = root.getNodeById(targetNode);\n }\n\n if (targetNode && root.contains(targetNode)) {\n return {\n node: targetNode\n };\n }\n\n var targetNodeId = payload.targetNodeId;\n\n if (targetNodeId != null && (targetNode = root.getNodeById(targetNodeId))) {\n return {\n node: targetNode\n };\n }\n }\n} // Not includes the given node at the last item.\n\n\nfunction getPathToRoot(node) {\n var path = [];\n\n while (node) {\n node = node.parentNode;\n node && path.push(node);\n }\n\n return path.reverse();\n}\n\nfunction aboveViewRoot(viewRoot, node) {\n var viewPath = getPathToRoot(viewRoot);\n return zrUtil.indexOf(viewPath, node) >= 0;\n} // From root to the input node (the input node will be included).\n\n\nfunction wrapTreePathInfo(node, seriesModel) {\n var treePathInfo = [];\n\n while (node) {\n var nodeDataIndex = node.dataIndex;\n treePathInfo.push({\n name: node.name,\n dataIndex: nodeDataIndex,\n value: seriesModel.getRawValue(nodeDataIndex)\n });\n node = node.parentNode;\n }\n\n treePathInfo.reverse();\n return treePathInfo;\n}\n\nexports.retrieveTargetInfo = retrieveTargetInfo;\nexports.getPathToRoot = getPathToRoot;\nexports.aboveViewRoot = aboveViewRoot;\nexports.wrapTreePathInfo = wrapTreePathInfo;","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.16.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","/**\n * @param {Object} ctx\n * @param {Object} shape\n * @param {number} shape.x\n * @param {number} shape.y\n * @param {number} shape.width\n * @param {number} shape.height\n * @param {number} shape.r\n */\nfunction buildPath(ctx, shape) {\n var x = shape.x;\n var y = shape.y;\n var width = shape.width;\n var height = shape.height;\n var r = shape.r;\n var r1;\n var r2;\n var r3;\n var r4; // Convert width and height to positive for better borderRadius\n\n if (width < 0) {\n x = x + width;\n width = -width;\n }\n\n if (height < 0) {\n y = y + height;\n height = -height;\n }\n\n if (typeof r === 'number') {\n r1 = r2 = r3 = r4 = r;\n } else if (r instanceof Array) {\n if (r.length === 1) {\n r1 = r2 = r3 = r4 = r[0];\n } else if (r.length === 2) {\n r1 = r3 = r[0];\n r2 = r4 = r[1];\n } else if (r.length === 3) {\n r1 = r[0];\n r2 = r4 = r[1];\n r3 = r[2];\n } else {\n r1 = r[0];\n r2 = r[1];\n r3 = r[2];\n r4 = r[3];\n }\n } else {\n r1 = r2 = r3 = r4 = 0;\n }\n\n var total;\n\n if (r1 + r2 > width) {\n total = r1 + r2;\n r1 *= width / total;\n r2 *= width / total;\n }\n\n if (r3 + r4 > width) {\n total = r3 + r4;\n r3 *= width / total;\n r4 *= width / total;\n }\n\n if (r2 + r3 > height) {\n total = r2 + r3;\n r2 *= height / total;\n r3 *= height / total;\n }\n\n if (r1 + r4 > height) {\n total = r1 + r4;\n r1 *= height / total;\n r4 *= height / total;\n }\n\n ctx.moveTo(x + r1, y);\n ctx.lineTo(x + width - r2, y);\n r2 !== 0 && ctx.arc(x + width - r2, y + r2, r2, -Math.PI / 2, 0);\n ctx.lineTo(x + width, y + height - r3);\n r3 !== 0 && ctx.arc(x + width - r3, y + height - r3, r3, 0, Math.PI / 2);\n ctx.lineTo(x + r4, y + height);\n r4 !== 0 && ctx.arc(x + r4, y + height - r4, r4, Math.PI / 2, Math.PI);\n ctx.lineTo(x, y + r1);\n r1 !== 0 && ctx.arc(x + r1, y + r1, r1, Math.PI, Math.PI * 1.5);\n}\n\nexports.buildPath = buildPath;","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var isSymbol = require('../internals/is-symbol');\n\nmodule.exports = function (argument) {\n if (isSymbol(argument)) throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _forceHelper = require(\"./forceHelper\");\n\nvar forceLayout = _forceHelper.forceLayout;\n\nvar _simpleLayoutHelper = require(\"./simpleLayoutHelper\");\n\nvar simpleLayout = _simpleLayoutHelper.simpleLayout;\n\nvar _circularLayoutHelper = require(\"./circularLayoutHelper\");\n\nvar circularLayout = _circularLayoutHelper.circularLayout;\n\nvar _number = require(\"../../util/number\");\n\nvar linearMap = _number.linearMap;\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('graph', function (graphSeries) {\n var coordSys = graphSeries.coordinateSystem;\n\n if (coordSys && coordSys.type !== 'view') {\n return;\n }\n\n if (graphSeries.get('layout') === 'force') {\n var preservedPoints = graphSeries.preservedPoints || {};\n var graph = graphSeries.getGraph();\n var nodeData = graph.data;\n var edgeData = graph.edgeData;\n var forceModel = graphSeries.getModel('force');\n var initLayout = forceModel.get('initLayout');\n\n if (graphSeries.preservedPoints) {\n nodeData.each(function (idx) {\n var id = nodeData.getId(idx);\n nodeData.setItemLayout(idx, preservedPoints[id] || [NaN, NaN]);\n });\n } else if (!initLayout || initLayout === 'none') {\n simpleLayout(graphSeries);\n } else if (initLayout === 'circular') {\n circularLayout(graphSeries);\n }\n\n var nodeDataExtent = nodeData.getDataExtent('value');\n var edgeDataExtent = edgeData.getDataExtent('value'); // var edgeDataExtent = edgeData.getDataExtent('value');\n\n var repulsion = forceModel.get('repulsion');\n var edgeLength = forceModel.get('edgeLength');\n\n if (!zrUtil.isArray(repulsion)) {\n repulsion = [repulsion, repulsion];\n }\n\n if (!zrUtil.isArray(edgeLength)) {\n edgeLength = [edgeLength, edgeLength];\n } // Larger value has smaller length\n\n\n edgeLength = [edgeLength[1], edgeLength[0]];\n var nodes = nodeData.mapArray('value', function (value, idx) {\n var point = nodeData.getItemLayout(idx);\n var rep = linearMap(value, nodeDataExtent, repulsion);\n\n if (isNaN(rep)) {\n rep = (repulsion[0] + repulsion[1]) / 2;\n }\n\n return {\n w: rep,\n rep: rep,\n fixed: nodeData.getItemModel(idx).get('fixed'),\n p: !point || isNaN(point[0]) || isNaN(point[1]) ? null : point\n };\n });\n var edges = edgeData.mapArray('value', function (value, idx) {\n var edge = graph.getEdgeByIndex(idx);\n var d = linearMap(value, edgeDataExtent, edgeLength);\n\n if (isNaN(d)) {\n d = (edgeLength[0] + edgeLength[1]) / 2;\n }\n\n return {\n n1: nodes[edge.node1.dataIndex],\n n2: nodes[edge.node2.dataIndex],\n d: d,\n curveness: edge.getModel().get('lineStyle.curveness') || 0\n };\n });\n var coordSys = graphSeries.coordinateSystem;\n var rect = coordSys.getBoundingRect();\n var forceInstance = forceLayout(nodes, edges, {\n rect: rect,\n gravity: forceModel.get('gravity')\n });\n var oldStep = forceInstance.step;\n\n forceInstance.step = function (cb) {\n for (var i = 0, l = nodes.length; i < l; i++) {\n if (nodes[i].fixed) {\n // Write back to layout instance\n vec2.copy(nodes[i].p, graph.getNodeByIndex(i).getLayout());\n }\n }\n\n oldStep(function (nodes, edges, stopped) {\n for (var i = 0, l = nodes.length; i < l; i++) {\n if (!nodes[i].fixed) {\n graph.getNodeByIndex(i).setLayout(nodes[i].p);\n }\n\n preservedPoints[nodeData.getId(i)] = nodes[i].p;\n }\n\n for (var i = 0, l = edges.length; i < l; i++) {\n var e = edges[i];\n var edge = graph.getEdgeByIndex(i);\n var p1 = e.n1.p;\n var p2 = e.n2.p;\n var points = edge.getLayout();\n points = points ? points.slice() : [];\n points[0] = points[0] || [];\n points[1] = points[1] || [];\n vec2.copy(points[0], p1);\n vec2.copy(points[1], p2);\n\n if (+e.curveness) {\n points[2] = [(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * e.curveness, (p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * e.curveness];\n }\n\n edge.setLayout(points);\n } // Update layout\n\n\n cb && cb(stopped);\n });\n };\n\n graphSeries.forceLayout = forceInstance;\n graphSeries.preservedPoints = preservedPoints; // Step to get the layout\n\n forceInstance.step();\n } else {\n // Remove prev injected forceLayout instance\n graphSeries.forceLayout = null;\n }\n });\n}\n\nmodule.exports = _default;","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.isInContainer = exports.getScrollContainer = exports.isScroll = exports.getStyle = exports.once = exports.off = exports.on = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /* istanbul ignore next */\n\nexports.hasClass = hasClass;\nexports.addClass = addClass;\nexports.removeClass = removeClass;\nexports.setStyle = setStyle;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = _vue2.default.prototype.$isServer;\nvar SPECIAL_CHARS_REGEXP = /([\\:\\-\\_]+(.))/g;\nvar MOZ_HACK_REGEXP = /^moz([A-Z])/;\nvar ieVersion = isServer ? 0 : Number(document.documentMode);\n\n/* istanbul ignore next */\nvar trim = function trim(string) {\n return (string || '').replace(/^[\\s\\uFEFF]+|[\\s\\uFEFF]+$/g, '');\n};\n/* istanbul ignore next */\nvar camelCase = function camelCase(name) {\n return name.replace(SPECIAL_CHARS_REGEXP, function (_, separator, letter, offset) {\n return offset ? letter.toUpperCase() : letter;\n }).replace(MOZ_HACK_REGEXP, 'Moz$1');\n};\n\n/* istanbul ignore next */\nvar on = exports.on = function () {\n if (!isServer && document.addEventListener) {\n return function (element, event, handler) {\n if (element && event && handler) {\n element.addEventListener(event, handler, false);\n }\n };\n } else {\n return function (element, event, handler) {\n if (element && event && handler) {\n element.attachEvent('on' + event, handler);\n }\n };\n }\n}();\n\n/* istanbul ignore next */\nvar off = exports.off = function () {\n if (!isServer && document.removeEventListener) {\n return function (element, event, handler) {\n if (element && event) {\n element.removeEventListener(event, handler, false);\n }\n };\n } else {\n return function (element, event, handler) {\n if (element && event) {\n element.detachEvent('on' + event, handler);\n }\n };\n }\n}();\n\n/* istanbul ignore next */\nvar once = exports.once = function once(el, event, fn) {\n var listener = function listener() {\n if (fn) {\n fn.apply(this, arguments);\n }\n off(el, event, listener);\n };\n on(el, event, listener);\n};\n\n/* istanbul ignore next */\nfunction hasClass(el, cls) {\n if (!el || !cls) return false;\n if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');\n if (el.classList) {\n return el.classList.contains(cls);\n } else {\n return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;\n }\n};\n\n/* istanbul ignore next */\nfunction addClass(el, cls) {\n if (!el) return;\n var curClass = el.className;\n var classes = (cls || '').split(' ');\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n el.classList.add(clsName);\n } else if (!hasClass(el, clsName)) {\n curClass += ' ' + clsName;\n }\n }\n if (!el.classList) {\n el.setAttribute('class', curClass);\n }\n};\n\n/* istanbul ignore next */\nfunction removeClass(el, cls) {\n if (!el || !cls) return;\n var classes = cls.split(' ');\n var curClass = ' ' + el.className + ' ';\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n el.classList.remove(clsName);\n } else if (hasClass(el, clsName)) {\n curClass = curClass.replace(' ' + clsName + ' ', ' ');\n }\n }\n if (!el.classList) {\n el.setAttribute('class', trim(curClass));\n }\n};\n\n/* istanbul ignore next */\nvar getStyle = exports.getStyle = ieVersion < 9 ? function (element, styleName) {\n if (isServer) return;\n if (!element || !styleName) return null;\n styleName = camelCase(styleName);\n if (styleName === 'float') {\n styleName = 'styleFloat';\n }\n try {\n switch (styleName) {\n case 'opacity':\n try {\n return element.filters.item('alpha').opacity / 100;\n } catch (e) {\n return 1.0;\n }\n default:\n return element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null;\n }\n } catch (e) {\n return element.style[styleName];\n }\n} : function (element, styleName) {\n if (isServer) return;\n if (!element || !styleName) return null;\n styleName = camelCase(styleName);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n try {\n var computed = document.defaultView.getComputedStyle(element, '');\n return element.style[styleName] || computed ? computed[styleName] : null;\n } catch (e) {\n return element.style[styleName];\n }\n};\n\n/* istanbul ignore next */\nfunction setStyle(element, styleName, value) {\n if (!element || !styleName) return;\n\n if ((typeof styleName === 'undefined' ? 'undefined' : _typeof(styleName)) === 'object') {\n for (var prop in styleName) {\n if (styleName.hasOwnProperty(prop)) {\n setStyle(element, prop, styleName[prop]);\n }\n }\n } else {\n styleName = camelCase(styleName);\n if (styleName === 'opacity' && ieVersion < 9) {\n element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')';\n } else {\n element.style[styleName] = value;\n }\n }\n};\n\nvar isScroll = exports.isScroll = function isScroll(el, vertical) {\n if (isServer) return;\n\n var determinedDirection = vertical !== null && vertical !== undefined;\n var overflow = determinedDirection ? vertical ? getStyle(el, 'overflow-y') : getStyle(el, 'overflow-x') : getStyle(el, 'overflow');\n\n return overflow.match(/(scroll|auto|overlay)/);\n};\n\nvar getScrollContainer = exports.getScrollContainer = function getScrollContainer(el, vertical) {\n if (isServer) return;\n\n var parent = el;\n while (parent) {\n if ([window, document, document.documentElement].includes(parent)) {\n return window;\n }\n if (isScroll(parent, vertical)) {\n return parent;\n }\n parent = parent.parentNode;\n }\n\n return parent;\n};\n\nvar isInContainer = exports.isInContainer = function isInContainer(el, container) {\n if (isServer || !el || !container) return false;\n\n var elRect = el.getBoundingClientRect();\n var containerRect = void 0;\n\n if ([window, document, document.documentElement, null, undefined].includes(container)) {\n containerRect = {\n top: 0,\n right: window.innerWidth,\n bottom: window.innerHeight,\n left: 0\n };\n } else {\n containerRect = container.getBoundingClientRect();\n }\n\n return elRect.top < containerRect.bottom && elRect.bottom > containerRect.top && elRect.right > containerRect.left && elRect.left < containerRect.right;\n};","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [noTrailing] Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n * the internal counter is reset)\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the throttled-function is executed.\n * @param {Boolean} [debounceMode] If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n * schedule `callback` to execute after `delay` ms.\n *\n * @return {Function} A new, throttled, function.\n */\nmodule.exports = function ( delay, noTrailing, callback, debounceMode ) {\n\n\t// After wrapper has stopped being called, this timeout ensures that\n\t// `callback` is executed at the proper times in `throttle` and `end`\n\t// debounce modes.\n\tvar timeoutID;\n\n\t// Keep track of the last time `callback` was executed.\n\tvar lastExec = 0;\n\n\t// `noTrailing` defaults to falsy.\n\tif ( typeof noTrailing !== 'boolean' ) {\n\t\tdebounceMode = callback;\n\t\tcallback = noTrailing;\n\t\tnoTrailing = undefined;\n\t}\n\n\t// The `wrapper` function encapsulates all of the throttling / debouncing\n\t// functionality and when executed will limit the rate at which `callback`\n\t// is executed.\n\tfunction wrapper () {\n\n\t\tvar self = this;\n\t\tvar elapsed = Number(new Date()) - lastExec;\n\t\tvar args = arguments;\n\n\t\t// Execute `callback` and update the `lastExec` timestamp.\n\t\tfunction exec () {\n\t\t\tlastExec = Number(new Date());\n\t\t\tcallback.apply(self, args);\n\t\t}\n\n\t\t// If `debounceMode` is true (at begin) this is used to clear the flag\n\t\t// to allow future `callback` executions.\n\t\tfunction clear () {\n\t\t\ttimeoutID = undefined;\n\t\t}\n\n\t\tif ( debounceMode && !timeoutID ) {\n\t\t\t// Since `wrapper` is being called for the first time and\n\t\t\t// `debounceMode` is true (at begin), execute `callback`.\n\t\t\texec();\n\t\t}\n\n\t\t// Clear any existing timeout.\n\t\tif ( timeoutID ) {\n\t\t\tclearTimeout(timeoutID);\n\t\t}\n\n\t\tif ( debounceMode === undefined && elapsed > delay ) {\n\t\t\t// In throttle mode, if `delay` time has been exceeded, execute\n\t\t\t// `callback`.\n\t\t\texec();\n\n\t\t} else if ( noTrailing !== true ) {\n\t\t\t// In trailing throttle mode, since `delay` time has not been\n\t\t\t// exceeded, schedule `callback` to execute `delay` ms after most\n\t\t\t// recent execution.\n\t\t\t//\n\t\t\t// If `debounceMode` is true (at begin), schedule `clear` to execute\n\t\t\t// after `delay` ms.\n\t\t\t//\n\t\t\t// If `debounceMode` is false (at end), schedule `callback` to\n\t\t\t// execute after `delay` ms.\n\t\t\ttimeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n\t\t}\n\n\t}\n\n\t// Return the wrapper function.\n\treturn wrapper;\n\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar isObject = _util.isObject;\nvar each = _util.each;\nvar map = _util.map;\nvar indexOf = _util.indexOf;\nvar retrieve = _util.retrieve;\n\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\n\nvar _axisHelper = require(\"../../coord/axisHelper\");\n\nvar createScaleByModel = _axisHelper.createScaleByModel;\nvar ifAxisCrossZero = _axisHelper.ifAxisCrossZero;\nvar niceScaleExtent = _axisHelper.niceScaleExtent;\nvar estimateLabelUnionRect = _axisHelper.estimateLabelUnionRect;\n\nvar Cartesian2D = require(\"./Cartesian2D\");\n\nvar Axis2D = require(\"./Axis2D\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\nvar _dataStackHelper = require(\"../../data/helper/dataStackHelper\");\n\nvar getStackedDimension = _dataStackHelper.getStackedDimension;\n\nrequire(\"./GridModel\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * Grid is a region which contains at most 4 cartesian systems\n *\n * TODO Default cartesian\n */\n// Depends on GridModel, AxisModel, which performs preprocess.\n\n/**\n * Check if the axis is used in the specified grid\n * @inner\n */\nfunction isAxisUsedInTheGrid(axisModel, gridModel, ecModel) {\n return axisModel.getCoordSysModel() === gridModel;\n}\n\nfunction Grid(gridModel, ecModel, api) {\n /**\n * @type {Object.}\n * @private\n */\n this._coordsMap = {};\n /**\n * @type {Array.}\n * @private\n */\n\n this._coordsList = [];\n /**\n * @type {Object.}\n * @private\n */\n\n this._axesMap = {};\n /**\n * @type {Array.}\n * @private\n */\n\n this._axesList = [];\n\n this._initCartesian(gridModel, ecModel, api);\n\n this.model = gridModel;\n}\n\nvar gridProto = Grid.prototype;\ngridProto.type = 'grid';\ngridProto.axisPointerEnabled = true;\n\ngridProto.getRect = function () {\n return this._rect;\n};\n\ngridProto.update = function (ecModel, api) {\n var axesMap = this._axesMap;\n\n this._updateScale(ecModel, this.model);\n\n each(axesMap.x, function (xAxis) {\n niceScaleExtent(xAxis.scale, xAxis.model);\n });\n each(axesMap.y, function (yAxis) {\n niceScaleExtent(yAxis.scale, yAxis.model);\n }); // Key: axisDim_axisIndex, value: boolean, whether onZero target.\n\n var onZeroRecords = {};\n each(axesMap.x, function (xAxis) {\n fixAxisOnZero(axesMap, 'y', xAxis, onZeroRecords);\n });\n each(axesMap.y, function (yAxis) {\n fixAxisOnZero(axesMap, 'x', yAxis, onZeroRecords);\n }); // Resize again if containLabel is enabled\n // FIXME It may cause getting wrong grid size in data processing stage\n\n this.resize(this.model, api);\n};\n\nfunction fixAxisOnZero(axesMap, otherAxisDim, axis, onZeroRecords) {\n axis.getAxesOnZeroOf = function () {\n // TODO: onZero of multiple axes.\n return otherAxisOnZeroOf ? [otherAxisOnZeroOf] : [];\n }; // onZero can not be enabled in these two situations:\n // 1. When any other axis is a category axis.\n // 2. When no axis is cross 0 point.\n\n\n var otherAxes = axesMap[otherAxisDim];\n var otherAxisOnZeroOf;\n var axisModel = axis.model;\n var onZero = axisModel.get('axisLine.onZero');\n var onZeroAxisIndex = axisModel.get('axisLine.onZeroAxisIndex');\n\n if (!onZero) {\n return;\n } // If target axis is specified.\n\n\n if (onZeroAxisIndex != null) {\n if (canOnZeroToAxis(otherAxes[onZeroAxisIndex])) {\n otherAxisOnZeroOf = otherAxes[onZeroAxisIndex];\n }\n } else {\n // Find the first available other axis.\n for (var idx in otherAxes) {\n if (otherAxes.hasOwnProperty(idx) && canOnZeroToAxis(otherAxes[idx]) // Consider that two Y axes on one value axis,\n // if both onZero, the two Y axes overlap.\n && !onZeroRecords[getOnZeroRecordKey(otherAxes[idx])]) {\n otherAxisOnZeroOf = otherAxes[idx];\n break;\n }\n }\n }\n\n if (otherAxisOnZeroOf) {\n onZeroRecords[getOnZeroRecordKey(otherAxisOnZeroOf)] = true;\n }\n\n function getOnZeroRecordKey(axis) {\n return axis.dim + '_' + axis.index;\n }\n}\n\nfunction canOnZeroToAxis(axis) {\n return axis && axis.type !== 'category' && axis.type !== 'time' && ifAxisCrossZero(axis);\n}\n/**\n * Resize the grid\n * @param {module:echarts/coord/cartesian/GridModel} gridModel\n * @param {module:echarts/ExtensionAPI} api\n */\n\n\ngridProto.resize = function (gridModel, api, ignoreContainLabel) {\n var gridRect = getLayoutRect(gridModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n this._rect = gridRect;\n var axesList = this._axesList;\n adjustAxes(); // Minus label size\n\n if (!ignoreContainLabel && gridModel.get('containLabel')) {\n each(axesList, function (axis) {\n if (!axis.model.get('axisLabel.inside')) {\n var labelUnionRect = estimateLabelUnionRect(axis);\n\n if (labelUnionRect) {\n var dim = axis.isHorizontal() ? 'height' : 'width';\n var margin = axis.model.get('axisLabel.margin');\n gridRect[dim] -= labelUnionRect[dim] + margin;\n\n if (axis.position === 'top') {\n gridRect.y += labelUnionRect.height + margin;\n } else if (axis.position === 'left') {\n gridRect.x += labelUnionRect.width + margin;\n }\n }\n }\n });\n adjustAxes();\n }\n\n function adjustAxes() {\n each(axesList, function (axis) {\n var isHorizontal = axis.isHorizontal();\n var extent = isHorizontal ? [0, gridRect.width] : [0, gridRect.height];\n var idx = axis.inverse ? 1 : 0;\n axis.setExtent(extent[idx], extent[1 - idx]);\n updateAxisTransform(axis, isHorizontal ? gridRect.x : gridRect.y);\n });\n }\n};\n/**\n * @param {string} axisType\n * @param {number} [axisIndex]\n */\n\n\ngridProto.getAxis = function (axisType, axisIndex) {\n var axesMapOnDim = this._axesMap[axisType];\n\n if (axesMapOnDim != null) {\n if (axisIndex == null) {\n // Find first axis\n for (var name in axesMapOnDim) {\n if (axesMapOnDim.hasOwnProperty(name)) {\n return axesMapOnDim[name];\n }\n }\n }\n\n return axesMapOnDim[axisIndex];\n }\n};\n/**\n * @return {Array.}\n */\n\n\ngridProto.getAxes = function () {\n return this._axesList.slice();\n};\n/**\n * Usage:\n * grid.getCartesian(xAxisIndex, yAxisIndex);\n * grid.getCartesian(xAxisIndex);\n * grid.getCartesian(null, yAxisIndex);\n * grid.getCartesian({xAxisIndex: ..., yAxisIndex: ...});\n *\n * @param {number|Object} [xAxisIndex]\n * @param {number} [yAxisIndex]\n */\n\n\ngridProto.getCartesian = function (xAxisIndex, yAxisIndex) {\n if (xAxisIndex != null && yAxisIndex != null) {\n var key = 'x' + xAxisIndex + 'y' + yAxisIndex;\n return this._coordsMap[key];\n }\n\n if (isObject(xAxisIndex)) {\n yAxisIndex = xAxisIndex.yAxisIndex;\n xAxisIndex = xAxisIndex.xAxisIndex;\n } // When only xAxisIndex or yAxisIndex given, find its first cartesian.\n\n\n for (var i = 0, coordList = this._coordsList; i < coordList.length; i++) {\n if (coordList[i].getAxis('x').index === xAxisIndex || coordList[i].getAxis('y').index === yAxisIndex) {\n return coordList[i];\n }\n }\n};\n\ngridProto.getCartesians = function () {\n return this._coordsList.slice();\n};\n/**\n * @implements\n * see {module:echarts/CoodinateSystem}\n */\n\n\ngridProto.convertToPixel = function (ecModel, finder, value) {\n var target = this._findConvertTarget(ecModel, finder);\n\n return target.cartesian ? target.cartesian.dataToPoint(value) : target.axis ? target.axis.toGlobalCoord(target.axis.dataToCoord(value)) : null;\n};\n/**\n * @implements\n * see {module:echarts/CoodinateSystem}\n */\n\n\ngridProto.convertFromPixel = function (ecModel, finder, value) {\n var target = this._findConvertTarget(ecModel, finder);\n\n return target.cartesian ? target.cartesian.pointToData(value) : target.axis ? target.axis.coordToData(target.axis.toLocalCoord(value)) : null;\n};\n/**\n * @inner\n */\n\n\ngridProto._findConvertTarget = function (ecModel, finder) {\n var seriesModel = finder.seriesModel;\n var xAxisModel = finder.xAxisModel || seriesModel && seriesModel.getReferringComponents('xAxis')[0];\n var yAxisModel = finder.yAxisModel || seriesModel && seriesModel.getReferringComponents('yAxis')[0];\n var gridModel = finder.gridModel;\n var coordsList = this._coordsList;\n var cartesian;\n var axis;\n\n if (seriesModel) {\n cartesian = seriesModel.coordinateSystem;\n indexOf(coordsList, cartesian) < 0 && (cartesian = null);\n } else if (xAxisModel && yAxisModel) {\n cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n } else if (xAxisModel) {\n axis = this.getAxis('x', xAxisModel.componentIndex);\n } else if (yAxisModel) {\n axis = this.getAxis('y', yAxisModel.componentIndex);\n } // Lowest priority.\n else if (gridModel) {\n var grid = gridModel.coordinateSystem;\n\n if (grid === this) {\n cartesian = this._coordsList[0];\n }\n }\n\n return {\n cartesian: cartesian,\n axis: axis\n };\n};\n/**\n * @implements\n * see {module:echarts/CoodinateSystem}\n */\n\n\ngridProto.containPoint = function (point) {\n var coord = this._coordsList[0];\n\n if (coord) {\n return coord.containPoint(point);\n }\n};\n/**\n * Initialize cartesian coordinate systems\n * @private\n */\n\n\ngridProto._initCartesian = function (gridModel, ecModel, api) {\n var axisPositionUsed = {\n left: false,\n right: false,\n top: false,\n bottom: false\n };\n var axesMap = {\n x: {},\n y: {}\n };\n var axesCount = {\n x: 0,\n y: 0\n }; /// Create axis\n\n ecModel.eachComponent('xAxis', createAxisCreator('x'), this);\n ecModel.eachComponent('yAxis', createAxisCreator('y'), this);\n\n if (!axesCount.x || !axesCount.y) {\n // Roll back when there no either x or y axis\n this._axesMap = {};\n this._axesList = [];\n return;\n }\n\n this._axesMap = axesMap; /// Create cartesian2d\n\n each(axesMap.x, function (xAxis, xAxisIndex) {\n each(axesMap.y, function (yAxis, yAxisIndex) {\n var key = 'x' + xAxisIndex + 'y' + yAxisIndex;\n var cartesian = new Cartesian2D(key);\n cartesian.grid = this;\n cartesian.model = gridModel;\n this._coordsMap[key] = cartesian;\n\n this._coordsList.push(cartesian);\n\n cartesian.addAxis(xAxis);\n cartesian.addAxis(yAxis);\n }, this);\n }, this);\n\n function createAxisCreator(axisType) {\n return function (axisModel, idx) {\n if (!isAxisUsedInTheGrid(axisModel, gridModel, ecModel)) {\n return;\n }\n\n var axisPosition = axisModel.get('position');\n\n if (axisType === 'x') {\n // Fix position\n if (axisPosition !== 'top' && axisPosition !== 'bottom') {\n // Default bottom of X\n axisPosition = 'bottom';\n\n if (axisPositionUsed[axisPosition]) {\n axisPosition = axisPosition === 'top' ? 'bottom' : 'top';\n }\n }\n } else {\n // Fix position\n if (axisPosition !== 'left' && axisPosition !== 'right') {\n // Default left of Y\n axisPosition = 'left';\n\n if (axisPositionUsed[axisPosition]) {\n axisPosition = axisPosition === 'left' ? 'right' : 'left';\n }\n }\n }\n\n axisPositionUsed[axisPosition] = true;\n var axis = new Axis2D(axisType, createScaleByModel(axisModel), [0, 0], axisModel.get('type'), axisPosition);\n var isCategory = axis.type === 'category';\n axis.onBand = isCategory && axisModel.get('boundaryGap');\n axis.inverse = axisModel.get('inverse'); // Inject axis into axisModel\n\n axisModel.axis = axis; // Inject axisModel into axis\n\n axis.model = axisModel; // Inject grid info axis\n\n axis.grid = this; // Index of axis, can be used as key\n\n axis.index = idx;\n\n this._axesList.push(axis);\n\n axesMap[axisType][idx] = axis;\n axesCount[axisType]++;\n };\n }\n};\n/**\n * Update cartesian properties from series\n * @param {module:echarts/model/Option} option\n * @private\n */\n\n\ngridProto._updateScale = function (ecModel, gridModel) {\n // Reset scale\n each(this._axesList, function (axis) {\n axis.scale.setExtent(Infinity, -Infinity);\n });\n ecModel.eachSeries(function (seriesModel) {\n if (isCartesian2D(seriesModel)) {\n var axesModels = findAxesModels(seriesModel, ecModel);\n var xAxisModel = axesModels[0];\n var yAxisModel = axesModels[1];\n\n if (!isAxisUsedInTheGrid(xAxisModel, gridModel, ecModel) || !isAxisUsedInTheGrid(yAxisModel, gridModel, ecModel)) {\n return;\n }\n\n var cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n var data = seriesModel.getData();\n var xAxis = cartesian.getAxis('x');\n var yAxis = cartesian.getAxis('y');\n\n if (data.type === 'list') {\n unionExtent(data, xAxis, seriesModel);\n unionExtent(data, yAxis, seriesModel);\n }\n }\n }, this);\n\n function unionExtent(data, axis, seriesModel) {\n each(data.mapDimension(axis.dim, true), function (dim) {\n axis.scale.unionExtentFromData( // For example, the extent of the orginal dimension\n // is [0.1, 0.5], the extent of the `stackResultDimension`\n // is [7, 9], the final extent should not include [0.1, 0.5].\n data, getStackedDimension(data, dim));\n });\n }\n};\n/**\n * @param {string} [dim] 'x' or 'y' or 'auto' or null/undefined\n * @return {Object} {baseAxes: [], otherAxes: []}\n */\n\n\ngridProto.getTooltipAxes = function (dim) {\n var baseAxes = [];\n var otherAxes = [];\n each(this.getCartesians(), function (cartesian) {\n var baseAxis = dim != null && dim !== 'auto' ? cartesian.getAxis(dim) : cartesian.getBaseAxis();\n var otherAxis = cartesian.getOtherAxis(baseAxis);\n indexOf(baseAxes, baseAxis) < 0 && baseAxes.push(baseAxis);\n indexOf(otherAxes, otherAxis) < 0 && otherAxes.push(otherAxis);\n });\n return {\n baseAxes: baseAxes,\n otherAxes: otherAxes\n };\n};\n/**\n * @inner\n */\n\n\nfunction updateAxisTransform(axis, coordBase) {\n var axisExtent = axis.getExtent();\n var axisExtentSum = axisExtent[0] + axisExtent[1]; // Fast transform\n\n axis.toGlobalCoord = axis.dim === 'x' ? function (coord) {\n return coord + coordBase;\n } : function (coord) {\n return axisExtentSum - coord + coordBase;\n };\n axis.toLocalCoord = axis.dim === 'x' ? function (coord) {\n return coord - coordBase;\n } : function (coord) {\n return axisExtentSum - coord + coordBase;\n };\n}\n\nvar axesTypes = ['xAxis', 'yAxis'];\n/**\n * @inner\n */\n\nfunction findAxesModels(seriesModel, ecModel) {\n return map(axesTypes, function (axisType) {\n var axisModel = seriesModel.getReferringComponents(axisType)[0];\n return axisModel;\n });\n}\n/**\n * @inner\n */\n\n\nfunction isCartesian2D(seriesModel) {\n return seriesModel.get('coordinateSystem') === 'cartesian2d';\n}\n\nGrid.create = function (ecModel, api) {\n var grids = [];\n ecModel.eachComponent('grid', function (gridModel, idx) {\n var grid = new Grid(gridModel, ecModel, api);\n grid.name = 'grid_' + idx; // dataSampling requires axis extent, so resize\n // should be performed in create stage.\n\n grid.resize(gridModel, api, true);\n gridModel.coordinateSystem = grid;\n grids.push(grid);\n }); // Inject the coordinateSystems into seriesModel\n\n ecModel.eachSeries(function (seriesModel) {\n if (!isCartesian2D(seriesModel)) {\n return;\n }\n\n var axesModels = findAxesModels(seriesModel, ecModel);\n var xAxisModel = axesModels[0];\n var yAxisModel = axesModels[1];\n var gridModel = xAxisModel.getCoordSysModel();\n var grid = gridModel.coordinateSystem;\n seriesModel.coordinateSystem = grid.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n });\n return grids;\n}; // For deciding which dimensions to use when creating list data\n\n\nGrid.dimensions = Grid.prototype.dimensions = Cartesian2D.prototype.dimensions;\nCoordinateSystem.register('cartesian2d', Grid);\nvar _default = Grid;\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * @file The file used to draw sankey view\n * @author Deqing Li(annong035@gmail.com)\n */\nvar nodeOpacityPath = ['itemStyle', 'opacity'];\nvar lineOpacityPath = ['lineStyle', 'opacity'];\n\nfunction getItemOpacity(item, opacityPath) {\n return item.getVisual('opacity') || item.getModel().get(opacityPath);\n}\n\nfunction fadeOutItem(item, opacityPath, opacityRatio) {\n var el = item.getGraphicEl();\n var opacity = getItemOpacity(item, opacityPath);\n\n if (opacityRatio != null) {\n opacity == null && (opacity = 1);\n opacity *= opacityRatio;\n }\n\n el.downplay && el.downplay();\n el.traverse(function (child) {\n if (child.type !== 'group') {\n child.setStyle('opacity', opacity);\n }\n });\n}\n\nfunction fadeInItem(item, opacityPath) {\n var opacity = getItemOpacity(item, opacityPath);\n var el = item.getGraphicEl();\n el.highlight && el.highlight();\n el.traverse(function (child) {\n if (child.type !== 'group') {\n child.setStyle('opacity', opacity);\n }\n });\n}\n\nvar SankeyShape = graphic.extendShape({\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n cpx1: 0,\n cpy1: 0,\n cpx2: 0,\n cpy2: 0,\n extent: 0,\n orient: ''\n },\n buildPath: function (ctx, shape) {\n var extent = shape.extent;\n var orient = shape.orient;\n\n if (orient === 'vertical') {\n ctx.moveTo(shape.x1, shape.y1);\n ctx.bezierCurveTo(shape.cpx1, shape.cpy1, shape.cpx2, shape.cpy2, shape.x2, shape.y2);\n ctx.lineTo(shape.x2 + extent, shape.y2);\n ctx.bezierCurveTo(shape.cpx2 + extent, shape.cpy2, shape.cpx1 + extent, shape.cpy1, shape.x1 + extent, shape.y1);\n } else {\n ctx.moveTo(shape.x1, shape.y1);\n ctx.bezierCurveTo(shape.cpx1, shape.cpy1, shape.cpx2, shape.cpy2, shape.x2, shape.y2);\n ctx.lineTo(shape.x2, shape.y2 + extent);\n ctx.bezierCurveTo(shape.cpx2, shape.cpy2 + extent, shape.cpx1, shape.cpy1 + extent, shape.x1, shape.y1 + extent);\n }\n\n ctx.closePath();\n }\n});\n\nvar _default = echarts.extendChartView({\n type: 'sankey',\n\n /**\n * @private\n * @type {module:echarts/chart/sankey/SankeySeries}\n */\n _model: null,\n\n /**\n * @private\n * @type {boolean}\n */\n _focusAdjacencyDisabled: false,\n render: function (seriesModel, ecModel, api) {\n var sankeyView = this;\n var graph = seriesModel.getGraph();\n var group = this.group;\n var layoutInfo = seriesModel.layoutInfo; // view width\n\n var width = layoutInfo.width; // view height\n\n var height = layoutInfo.height;\n var nodeData = seriesModel.getData();\n var edgeData = seriesModel.getData('edge');\n var orient = seriesModel.get('orient');\n this._model = seriesModel;\n group.removeAll();\n group.attr('position', [layoutInfo.x, layoutInfo.y]); // generate a bezire Curve for each edge\n\n graph.eachEdge(function (edge) {\n var curve = new SankeyShape();\n curve.dataIndex = edge.dataIndex;\n curve.seriesIndex = seriesModel.seriesIndex;\n curve.dataType = 'edge';\n var lineStyleModel = edge.getModel('lineStyle');\n var curvature = lineStyleModel.get('curveness');\n var n1Layout = edge.node1.getLayout();\n var node1Model = edge.node1.getModel();\n var dragX1 = node1Model.get('localX');\n var dragY1 = node1Model.get('localY');\n var n2Layout = edge.node2.getLayout();\n var node2Model = edge.node2.getModel();\n var dragX2 = node2Model.get('localX');\n var dragY2 = node2Model.get('localY');\n var edgeLayout = edge.getLayout();\n var x1;\n var y1;\n var x2;\n var y2;\n var cpx1;\n var cpy1;\n var cpx2;\n var cpy2;\n curve.shape.extent = Math.max(1, edgeLayout.dy);\n curve.shape.orient = orient;\n\n if (orient === 'vertical') {\n x1 = (dragX1 != null ? dragX1 * width : n1Layout.x) + edgeLayout.sy;\n y1 = (dragY1 != null ? dragY1 * height : n1Layout.y) + n1Layout.dy;\n x2 = (dragX2 != null ? dragX2 * width : n2Layout.x) + edgeLayout.ty;\n y2 = dragY2 != null ? dragY2 * height : n2Layout.y;\n cpx1 = x1;\n cpy1 = y1 * (1 - curvature) + y2 * curvature;\n cpx2 = x2;\n cpy2 = y1 * curvature + y2 * (1 - curvature);\n } else {\n x1 = (dragX1 != null ? dragX1 * width : n1Layout.x) + n1Layout.dx;\n y1 = (dragY1 != null ? dragY1 * height : n1Layout.y) + edgeLayout.sy;\n x2 = dragX2 != null ? dragX2 * width : n2Layout.x;\n y2 = (dragY2 != null ? dragY2 * height : n2Layout.y) + edgeLayout.ty;\n cpx1 = x1 * (1 - curvature) + x2 * curvature;\n cpy1 = y1;\n cpx2 = x1 * curvature + x2 * (1 - curvature);\n cpy2 = y2;\n }\n\n curve.setShape({\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2,\n cpx1: cpx1,\n cpy1: cpy1,\n cpx2: cpx2,\n cpy2: cpy2\n });\n curve.setStyle(lineStyleModel.getItemStyle()); // Special color, use source node color or target node color\n\n switch (curve.style.fill) {\n case 'source':\n curve.style.fill = edge.node1.getVisual('color');\n break;\n\n case 'target':\n curve.style.fill = edge.node2.getVisual('color');\n break;\n }\n\n graphic.setHoverStyle(curve, edge.getModel('emphasis.lineStyle').getItemStyle());\n group.add(curve);\n edgeData.setItemGraphicEl(edge.dataIndex, curve);\n }); // Generate a rect for each node\n\n graph.eachNode(function (node) {\n var layout = node.getLayout();\n var itemModel = node.getModel();\n var dragX = itemModel.get('localX');\n var dragY = itemModel.get('localY');\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n var rect = new graphic.Rect({\n shape: {\n x: dragX != null ? dragX * width : layout.x,\n y: dragY != null ? dragY * height : layout.y,\n width: layout.dx,\n height: layout.dy\n },\n style: itemModel.getModel('itemStyle').getItemStyle()\n });\n var hoverStyle = node.getModel('emphasis.itemStyle').getItemStyle();\n graphic.setLabelStyle(rect.style, hoverStyle, labelModel, labelHoverModel, {\n labelFetcher: seriesModel,\n labelDataIndex: node.dataIndex,\n defaultText: node.id,\n isRectText: true\n });\n rect.setStyle('fill', node.getVisual('color'));\n graphic.setHoverStyle(rect, hoverStyle);\n group.add(rect);\n nodeData.setItemGraphicEl(node.dataIndex, rect);\n rect.dataType = 'node';\n });\n nodeData.eachItemGraphicEl(function (el, dataIndex) {\n var itemModel = nodeData.getItemModel(dataIndex);\n\n if (itemModel.get('draggable')) {\n el.drift = function (dx, dy) {\n sankeyView._focusAdjacencyDisabled = true;\n this.shape.x += dx;\n this.shape.y += dy;\n this.dirty();\n api.dispatchAction({\n type: 'dragNode',\n seriesId: seriesModel.id,\n dataIndex: nodeData.getRawIndex(dataIndex),\n localX: this.shape.x / width,\n localY: this.shape.y / height\n });\n };\n\n el.ondragend = function () {\n sankeyView._focusAdjacencyDisabled = false;\n };\n\n el.draggable = true;\n el.cursor = 'move';\n }\n\n if (itemModel.get('focusNodeAdjacency')) {\n el.off('mouseover').on('mouseover', function () {\n if (!sankeyView._focusAdjacencyDisabled) {\n api.dispatchAction({\n type: 'focusNodeAdjacency',\n seriesId: seriesModel.id,\n dataIndex: el.dataIndex\n });\n }\n });\n el.off('mouseout').on('mouseout', function () {\n if (!sankeyView._focusAdjacencyDisabled) {\n api.dispatchAction({\n type: 'unfocusNodeAdjacency',\n seriesId: seriesModel.id\n });\n }\n });\n }\n });\n edgeData.eachItemGraphicEl(function (el, dataIndex) {\n var edgeModel = edgeData.getItemModel(dataIndex);\n\n if (edgeModel.get('focusNodeAdjacency')) {\n el.off('mouseover').on('mouseover', function () {\n if (!sankeyView._focusAdjacencyDisabled) {\n api.dispatchAction({\n type: 'focusNodeAdjacency',\n seriesId: seriesModel.id,\n edgeDataIndex: el.dataIndex\n });\n }\n });\n el.off('mouseout').on('mouseout', function () {\n if (!sankeyView._focusAdjacencyDisabled) {\n api.dispatchAction({\n type: 'unfocusNodeAdjacency',\n seriesId: seriesModel.id\n });\n }\n });\n }\n });\n\n if (!this._data && seriesModel.get('animation')) {\n group.setClipPath(createGridClipShape(group.getBoundingRect(), seriesModel, function () {\n group.removeClipPath();\n }));\n }\n\n this._data = seriesModel.getData();\n },\n dispose: function () {},\n focusNodeAdjacency: function (seriesModel, ecModel, api, payload) {\n var data = this._model.getData();\n\n var graph = data.graph;\n var dataIndex = payload.dataIndex;\n var itemModel = data.getItemModel(dataIndex);\n var edgeDataIndex = payload.edgeDataIndex;\n\n if (dataIndex == null && edgeDataIndex == null) {\n return;\n }\n\n var node = graph.getNodeByIndex(dataIndex);\n var edge = graph.getEdgeByIndex(edgeDataIndex);\n graph.eachNode(function (node) {\n fadeOutItem(node, nodeOpacityPath, 0.1);\n });\n graph.eachEdge(function (edge) {\n fadeOutItem(edge, lineOpacityPath, 0.1);\n });\n\n if (node) {\n fadeInItem(node, nodeOpacityPath);\n var focusNodeAdj = itemModel.get('focusNodeAdjacency');\n\n if (focusNodeAdj === 'outEdges') {\n zrUtil.each(node.outEdges, function (edge) {\n if (edge.dataIndex < 0) {\n return;\n }\n\n fadeInItem(edge, lineOpacityPath);\n fadeInItem(edge.node2, nodeOpacityPath);\n });\n } else if (focusNodeAdj === 'inEdges') {\n zrUtil.each(node.inEdges, function (edge) {\n if (edge.dataIndex < 0) {\n return;\n }\n\n fadeInItem(edge, lineOpacityPath);\n fadeInItem(edge.node1, nodeOpacityPath);\n });\n } else if (focusNodeAdj === 'allEdges') {\n zrUtil.each(node.edges, function (edge) {\n if (edge.dataIndex < 0) {\n return;\n }\n\n fadeInItem(edge, lineOpacityPath);\n fadeInItem(edge.node1, nodeOpacityPath);\n fadeInItem(edge.node2, nodeOpacityPath);\n });\n }\n }\n\n if (edge) {\n fadeInItem(edge, lineOpacityPath);\n fadeInItem(edge.node1, nodeOpacityPath);\n fadeInItem(edge.node2, nodeOpacityPath);\n }\n },\n unfocusNodeAdjacency: function (seriesModel, ecModel, api, payload) {\n var graph = this._model.getGraph();\n\n graph.eachNode(function (node) {\n fadeOutItem(node, nodeOpacityPath);\n });\n graph.eachEdge(function (edge) {\n fadeOutItem(edge, lineOpacityPath);\n });\n }\n}); // Add animation to the view\n\n\nfunction createGridClipShape(rect, seriesModel, cb) {\n var rectEl = new graphic.Rect({\n shape: {\n x: rect.x - 10,\n y: rect.y - 10,\n width: 0,\n height: rect.height + 20\n }\n });\n graphic.initProps(rectEl, {\n shape: {\n width: rect.width + 20,\n height: rect.height + 20\n }\n }, seriesModel, cb);\n return rectEl;\n}\n\nmodule.exports = _default;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar createHashMap = _util.createHashMap;\n\nvar mapDataStorage = require(\"./mapDataStorage\");\n\nvar geoJSONLoader = require(\"./geoJSONLoader\");\n\nvar geoSVGLoader = require(\"./geoSVGLoader\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nvar loaders = {\n geoJSON: geoJSONLoader,\n svg: geoSVGLoader\n};\nvar _default = {\n /**\n * @param {string} mapName\n * @param {Object} nameMap\n * @return {Object} source {regions, regionsMap, nameCoordMap, boundingRect}\n */\n load: function (mapName, nameMap) {\n var regions = [];\n var regionsMap = createHashMap();\n var nameCoordMap = createHashMap();\n var boundingRect;\n var mapRecords = retrieveMap(mapName);\n each(mapRecords, function (record) {\n var singleSource = loaders[record.type].load(mapName, record);\n each(singleSource.regions, function (region) {\n var regionName = region.name; // Try use the alias in geoNameMap\n\n if (nameMap && nameMap.hasOwnProperty(regionName)) {\n region = region.cloneShallow(regionName = nameMap[regionName]);\n }\n\n regions.push(region);\n regionsMap.set(regionName, region);\n nameCoordMap.set(regionName, region.center);\n });\n var rect = singleSource.boundingRect;\n\n if (rect) {\n boundingRect ? boundingRect.union(rect) : boundingRect = rect.clone();\n }\n });\n return {\n regions: regions,\n regionsMap: regionsMap,\n nameCoordMap: nameCoordMap,\n // FIXME Always return new ?\n boundingRect: boundingRect || new BoundingRect(0, 0, 0, 0)\n };\n },\n\n /**\n * @param {string} mapName\n * @param {string} hostKey For cache.\n * @return {Array.} Roots.\n */\n makeGraphic: makeInvoker('makeGraphic'),\n\n /**\n * @param {string} mapName\n * @param {string} hostKey For cache.\n */\n removeGraphic: makeInvoker('removeGraphic')\n};\n\nfunction makeInvoker(methodName) {\n return function (mapName, hostKey) {\n var mapRecords = retrieveMap(mapName);\n var results = [];\n each(mapRecords, function (record) {\n var method = loaders[record.type][methodName];\n method && results.push(method(mapName, record, hostKey));\n });\n return results;\n };\n}\n\nfunction mapNotExistsError(mapName) {}\n\nfunction retrieveMap(mapName) {\n var mapRecords = mapDataStorage.retrieveMap(mapName) || [];\n return mapRecords;\n}\n\nmodule.exports = _default;","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 45);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/date-util\");\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/dom\");\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/emitter\");\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/locale\");\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/vue-popper\");\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"vue\");\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/merge\");\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/input\");\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/migrating\");\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/clickoutside\");\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/popup\");\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/locale\");\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/button\");\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/resize-event\");\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/types\");\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"throttle-debounce/debounce\");\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/checkbox\");\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/scrollbar\");\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/shared\");\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/date\");\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/transitions/collapse-transition\");\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/vdom\");\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/focus\");\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"babel-helper-vue-jsx-merge-props\");\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"throttle-debounce/throttle\");\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/tooltip\");\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/scroll-into-view\");\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/button-group\");\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/tag\");\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/scrollbar-width\");\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/checkbox-group\");\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/after-leave\");\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/progress\");\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/aria-utils\");\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"throttle-debounce\");\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/select\");\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/option\");\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"normalize-wheel\");\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/aria-dialog\");\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"async-validator\");\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/input-number\");\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/cascader-panel\");\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/radio\");\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/popover\");\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(46);\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/pagination/src/pager.vue?vue&type=template&id=7274f267&\nvar pagervue_type_template_id_7274f267_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"ul\",\n { staticClass: \"el-pager\", on: { click: _vm.onPagerClick } },\n [\n _vm.pageCount > 0\n ? _c(\n \"li\",\n {\n staticClass: \"number\",\n class: { active: _vm.currentPage === 1, disabled: _vm.disabled }\n },\n [_vm._v(\"1\")]\n )\n : _vm._e(),\n _vm.showPrevMore\n ? _c(\"li\", {\n staticClass: \"el-icon more btn-quickprev\",\n class: [_vm.quickprevIconClass, { disabled: _vm.disabled }],\n on: {\n mouseenter: function($event) {\n _vm.onMouseenter(\"left\")\n },\n mouseleave: function($event) {\n _vm.quickprevIconClass = \"el-icon-more\"\n }\n }\n })\n : _vm._e(),\n _vm._l(_vm.pagers, function(pager) {\n return _c(\n \"li\",\n {\n key: pager,\n staticClass: \"number\",\n class: { active: _vm.currentPage === pager, disabled: _vm.disabled }\n },\n [_vm._v(_vm._s(pager))]\n )\n }),\n _vm.showNextMore\n ? _c(\"li\", {\n staticClass: \"el-icon more btn-quicknext\",\n class: [_vm.quicknextIconClass, { disabled: _vm.disabled }],\n on: {\n mouseenter: function($event) {\n _vm.onMouseenter(\"right\")\n },\n mouseleave: function($event) {\n _vm.quicknextIconClass = \"el-icon-more\"\n }\n }\n })\n : _vm._e(),\n _vm.pageCount > 1\n ? _c(\n \"li\",\n {\n staticClass: \"number\",\n class: {\n active: _vm.currentPage === _vm.pageCount,\n disabled: _vm.disabled\n }\n },\n [_vm._v(_vm._s(_vm.pageCount))]\n )\n : _vm._e()\n ],\n 2\n )\n}\nvar staticRenderFns = []\npagervue_type_template_id_7274f267_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/pagination/src/pager.vue?vue&type=template&id=7274f267&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/pagination/src/pager.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var pagervue_type_script_lang_js_ = ({\n name: 'ElPager',\n\n props: {\n currentPage: Number,\n\n pageCount: Number,\n\n pagerCount: Number,\n\n disabled: Boolean\n },\n\n watch: {\n showPrevMore: function showPrevMore(val) {\n if (!val) this.quickprevIconClass = 'el-icon-more';\n },\n showNextMore: function showNextMore(val) {\n if (!val) this.quicknextIconClass = 'el-icon-more';\n }\n },\n\n methods: {\n onPagerClick: function onPagerClick(event) {\n var target = event.target;\n if (target.tagName === 'UL' || this.disabled) {\n return;\n }\n\n var newPage = Number(event.target.textContent);\n var pageCount = this.pageCount;\n var currentPage = this.currentPage;\n var pagerCountOffset = this.pagerCount - 2;\n\n if (target.className.indexOf('more') !== -1) {\n if (target.className.indexOf('quickprev') !== -1) {\n newPage = currentPage - pagerCountOffset;\n } else if (target.className.indexOf('quicknext') !== -1) {\n newPage = currentPage + pagerCountOffset;\n }\n }\n\n /* istanbul ignore if */\n if (!isNaN(newPage)) {\n if (newPage < 1) {\n newPage = 1;\n }\n\n if (newPage > pageCount) {\n newPage = pageCount;\n }\n }\n\n if (newPage !== currentPage) {\n this.$emit('change', newPage);\n }\n },\n onMouseenter: function onMouseenter(direction) {\n if (this.disabled) return;\n if (direction === 'left') {\n this.quickprevIconClass = 'el-icon-d-arrow-left';\n } else {\n this.quicknextIconClass = 'el-icon-d-arrow-right';\n }\n }\n },\n\n computed: {\n pagers: function pagers() {\n var pagerCount = this.pagerCount;\n var halfPagerCount = (pagerCount - 1) / 2;\n\n var currentPage = Number(this.currentPage);\n var pageCount = Number(this.pageCount);\n\n var showPrevMore = false;\n var showNextMore = false;\n\n if (pageCount > pagerCount) {\n if (currentPage > pagerCount - halfPagerCount) {\n showPrevMore = true;\n }\n\n if (currentPage < pageCount - halfPagerCount) {\n showNextMore = true;\n }\n }\n\n var array = [];\n\n if (showPrevMore && !showNextMore) {\n var startPage = pageCount - (pagerCount - 2);\n for (var i = startPage; i < pageCount; i++) {\n array.push(i);\n }\n } else if (!showPrevMore && showNextMore) {\n for (var _i = 2; _i < pagerCount; _i++) {\n array.push(_i);\n }\n } else if (showPrevMore && showNextMore) {\n var offset = Math.floor(pagerCount / 2) - 1;\n for (var _i2 = currentPage - offset; _i2 <= currentPage + offset; _i2++) {\n array.push(_i2);\n }\n } else {\n for (var _i3 = 2; _i3 < pageCount; _i3++) {\n array.push(_i3);\n }\n }\n\n this.showPrevMore = showPrevMore;\n this.showNextMore = showNextMore;\n\n return array;\n }\n },\n\n data: function data() {\n return {\n current: null,\n showPrevMore: false,\n showNextMore: false,\n quicknextIconClass: 'el-icon-more',\n quickprevIconClass: 'el-icon-more'\n };\n }\n});\n// CONCATENATED MODULE: ./packages/pagination/src/pager.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_pagervue_type_script_lang_js_ = (pagervue_type_script_lang_js_); \n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n// CONCATENATED MODULE: ./packages/pagination/src/pager.vue\n\n\n\n\n\n/* normalize component */\n\nvar component = normalizeComponent(\n src_pagervue_type_script_lang_js_,\n pagervue_type_template_id_7274f267_render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/pagination/src/pager.vue\"\n/* harmony default export */ var pager = (component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/select\"\nvar select_ = __webpack_require__(36);\nvar select_default = /*#__PURE__*/__webpack_require__.n(select_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/option\"\nvar option_ = __webpack_require__(37);\nvar option_default = /*#__PURE__*/__webpack_require__.n(option_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/input\"\nvar input_ = __webpack_require__(8);\nvar input_default = /*#__PURE__*/__webpack_require__.n(input_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\nvar locale_ = __webpack_require__(4);\nvar locale_default = /*#__PURE__*/__webpack_require__.n(locale_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(2);\n\n// CONCATENATED MODULE: ./packages/pagination/src/pagination.js\n\n\n\n\n\n\n\n/* harmony default export */ var pagination = ({\n name: 'ElPagination',\n\n props: {\n pageSize: {\n type: Number,\n default: 10\n },\n\n small: Boolean,\n\n total: Number,\n\n pageCount: Number,\n\n pagerCount: {\n type: Number,\n validator: function validator(value) {\n return (value | 0) === value && value > 4 && value < 22 && value % 2 === 1;\n },\n\n default: 7\n },\n\n currentPage: {\n type: Number,\n default: 1\n },\n\n layout: {\n default: 'prev, pager, next, jumper, ->, total'\n },\n\n pageSizes: {\n type: Array,\n default: function _default() {\n return [10, 20, 30, 40, 50, 100];\n }\n },\n\n popperClass: String,\n\n prevText: String,\n\n nextText: String,\n\n background: Boolean,\n\n disabled: Boolean,\n\n hideOnSinglePage: Boolean\n },\n\n data: function data() {\n return {\n internalCurrentPage: 1,\n internalPageSize: 0,\n lastEmittedPage: -1,\n userChangePageSize: false\n };\n },\n render: function render(h) {\n var layout = this.layout;\n if (!layout) return null;\n if (this.hideOnSinglePage && (!this.internalPageCount || this.internalPageCount === 1)) return null;\n\n var template = h('div', { 'class': ['el-pagination', {\n 'is-background': this.background,\n 'el-pagination--small': this.small\n }] });\n var TEMPLATE_MAP = {\n prev: h('prev'),\n jumper: h('jumper'),\n pager: h('pager', {\n attrs: { currentPage: this.internalCurrentPage, pageCount: this.internalPageCount, pagerCount: this.pagerCount, disabled: this.disabled },\n on: {\n 'change': this.handleCurrentChange\n }\n }),\n next: h('next'),\n sizes: h('sizes', {\n attrs: { pageSizes: this.pageSizes }\n }),\n slot: h('slot', [this.$slots.default ? this.$slots.default : '']),\n total: h('total')\n };\n var components = layout.split(',').map(function (item) {\n return item.trim();\n });\n var rightWrapper = h('div', { 'class': 'el-pagination__rightwrapper' });\n var haveRightWrapper = false;\n\n template.children = template.children || [];\n rightWrapper.children = rightWrapper.children || [];\n components.forEach(function (compo) {\n if (compo === '->') {\n haveRightWrapper = true;\n return;\n }\n\n if (!haveRightWrapper) {\n template.children.push(TEMPLATE_MAP[compo]);\n } else {\n rightWrapper.children.push(TEMPLATE_MAP[compo]);\n }\n });\n\n if (haveRightWrapper) {\n template.children.unshift(rightWrapper);\n }\n\n return template;\n },\n\n\n components: {\n Prev: {\n render: function render(h) {\n return h(\n 'button',\n {\n attrs: {\n type: 'button',\n\n disabled: this.$parent.disabled || this.$parent.internalCurrentPage <= 1\n },\n 'class': 'btn-prev', on: {\n 'click': this.$parent.prev\n }\n },\n [this.$parent.prevText ? h('span', [this.$parent.prevText]) : h('i', { 'class': 'el-icon el-icon-arrow-left' })]\n );\n }\n },\n\n Next: {\n render: function render(h) {\n return h(\n 'button',\n {\n attrs: {\n type: 'button',\n\n disabled: this.$parent.disabled || this.$parent.internalCurrentPage === this.$parent.internalPageCount || this.$parent.internalPageCount === 0\n },\n 'class': 'btn-next', on: {\n 'click': this.$parent.next\n }\n },\n [this.$parent.nextText ? h('span', [this.$parent.nextText]) : h('i', { 'class': 'el-icon el-icon-arrow-right' })]\n );\n }\n },\n\n Sizes: {\n mixins: [locale_default.a],\n\n props: {\n pageSizes: Array\n },\n\n watch: {\n pageSizes: {\n immediate: true,\n handler: function handler(newVal, oldVal) {\n if (Object(util_[\"valueEquals\"])(newVal, oldVal)) return;\n if (Array.isArray(newVal)) {\n this.$parent.internalPageSize = newVal.indexOf(this.$parent.pageSize) > -1 ? this.$parent.pageSize : this.pageSizes[0];\n }\n }\n }\n },\n\n render: function render(h) {\n var _this = this;\n\n return h(\n 'span',\n { 'class': 'el-pagination__sizes' },\n [h(\n 'el-select',\n {\n attrs: {\n value: this.$parent.internalPageSize,\n popperClass: this.$parent.popperClass || '',\n size: 'mini',\n\n disabled: this.$parent.disabled },\n on: {\n 'input': this.handleChange\n }\n },\n [this.pageSizes.map(function (item) {\n return h('el-option', {\n attrs: {\n value: item,\n label: item + _this.t('el.pagination.pagesize') }\n });\n })]\n )]\n );\n },\n\n\n components: {\n ElSelect: select_default.a,\n ElOption: option_default.a\n },\n\n methods: {\n handleChange: function handleChange(val) {\n if (val !== this.$parent.internalPageSize) {\n this.$parent.internalPageSize = val = parseInt(val, 10);\n this.$parent.userChangePageSize = true;\n this.$parent.$emit('update:pageSize', val);\n this.$parent.$emit('size-change', val);\n }\n }\n }\n },\n\n Jumper: {\n mixins: [locale_default.a],\n\n components: { ElInput: input_default.a },\n\n data: function data() {\n return {\n userInput: null\n };\n },\n\n\n watch: {\n '$parent.internalCurrentPage': function $parentInternalCurrentPage() {\n this.userInput = null;\n }\n },\n\n methods: {\n handleKeyup: function handleKeyup(_ref) {\n var keyCode = _ref.keyCode,\n target = _ref.target;\n\n // Chrome, Safari, Firefox triggers change event on Enter\n // Hack for IE: https://github.com/ElemeFE/element/issues/11710\n // Drop this method when we no longer supports IE\n if (keyCode === 13) {\n this.handleChange(target.value);\n }\n },\n handleInput: function handleInput(value) {\n this.userInput = value;\n },\n handleChange: function handleChange(value) {\n this.$parent.internalCurrentPage = this.$parent.getValidCurrentPage(value);\n this.$parent.emitChange();\n this.userInput = null;\n }\n },\n\n render: function render(h) {\n return h(\n 'span',\n { 'class': 'el-pagination__jump' },\n [this.t('el.pagination.goto'), h('el-input', {\n 'class': 'el-pagination__editor is-in-pagination',\n attrs: { min: 1,\n max: this.$parent.internalPageCount,\n value: this.userInput !== null ? this.userInput : this.$parent.internalCurrentPage,\n type: 'number',\n disabled: this.$parent.disabled\n },\n nativeOn: {\n 'keyup': this.handleKeyup\n },\n on: {\n 'input': this.handleInput,\n 'change': this.handleChange\n }\n }), this.t('el.pagination.pageClassifier')]\n );\n }\n },\n\n Total: {\n mixins: [locale_default.a],\n\n render: function render(h) {\n return typeof this.$parent.total === 'number' ? h(\n 'span',\n { 'class': 'el-pagination__total' },\n [this.t('el.pagination.total', { total: this.$parent.total })]\n ) : '';\n }\n },\n\n Pager: pager\n },\n\n methods: {\n handleCurrentChange: function handleCurrentChange(val) {\n this.internalCurrentPage = this.getValidCurrentPage(val);\n this.userChangePageSize = true;\n this.emitChange();\n },\n prev: function prev() {\n if (this.disabled) return;\n var newVal = this.internalCurrentPage - 1;\n this.internalCurrentPage = this.getValidCurrentPage(newVal);\n this.$emit('prev-click', this.internalCurrentPage);\n this.emitChange();\n },\n next: function next() {\n if (this.disabled) return;\n var newVal = this.internalCurrentPage + 1;\n this.internalCurrentPage = this.getValidCurrentPage(newVal);\n this.$emit('next-click', this.internalCurrentPage);\n this.emitChange();\n },\n getValidCurrentPage: function getValidCurrentPage(value) {\n value = parseInt(value, 10);\n\n var havePageCount = typeof this.internalPageCount === 'number';\n\n var resetValue = void 0;\n if (!havePageCount) {\n if (isNaN(value) || value < 1) resetValue = 1;\n } else {\n if (value < 1) {\n resetValue = 1;\n } else if (value > this.internalPageCount) {\n resetValue = this.internalPageCount;\n }\n }\n\n if (resetValue === undefined && isNaN(value)) {\n resetValue = 1;\n } else if (resetValue === 0) {\n resetValue = 1;\n }\n\n return resetValue === undefined ? value : resetValue;\n },\n emitChange: function emitChange() {\n var _this2 = this;\n\n this.$nextTick(function () {\n if (_this2.internalCurrentPage !== _this2.lastEmittedPage || _this2.userChangePageSize) {\n _this2.$emit('current-change', _this2.internalCurrentPage);\n _this2.lastEmittedPage = _this2.internalCurrentPage;\n _this2.userChangePageSize = false;\n }\n });\n }\n },\n\n computed: {\n internalPageCount: function internalPageCount() {\n if (typeof this.total === 'number') {\n return Math.max(1, Math.ceil(this.total / this.internalPageSize));\n } else if (typeof this.pageCount === 'number') {\n return Math.max(1, this.pageCount);\n }\n return null;\n }\n },\n\n watch: {\n currentPage: {\n immediate: true,\n handler: function handler(val) {\n this.internalCurrentPage = this.getValidCurrentPage(val);\n }\n },\n\n pageSize: {\n immediate: true,\n handler: function handler(val) {\n this.internalPageSize = isNaN(val) ? 10 : val;\n }\n },\n\n internalCurrentPage: {\n immediate: true,\n handler: function handler(newVal) {\n this.$emit('update:currentPage', newVal);\n this.lastEmittedPage = -1;\n }\n },\n\n internalPageCount: function internalPageCount(newVal) {\n /* istanbul ignore if */\n var oldPage = this.internalCurrentPage;\n if (newVal > 0 && oldPage === 0) {\n this.internalCurrentPage = 1;\n } else if (oldPage > newVal) {\n this.internalCurrentPage = newVal === 0 ? 1 : newVal;\n this.userChangePageSize && this.emitChange();\n }\n this.userChangePageSize = false;\n }\n }\n});\n// CONCATENATED MODULE: ./packages/pagination/index.js\n\n\n/* istanbul ignore next */\npagination.install = function (Vue) {\n Vue.component(pagination.name, pagination);\n};\n\n/* harmony default export */ var packages_pagination = (pagination);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/component.vue?vue&type=template&id=60140e62&\nvar componentvue_type_template_id_60140e62_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"transition\",\n {\n attrs: { name: \"dialog-fade\" },\n on: { \"after-enter\": _vm.afterEnter, \"after-leave\": _vm.afterLeave }\n },\n [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.visible,\n expression: \"visible\"\n }\n ],\n staticClass: \"el-dialog__wrapper\",\n on: {\n click: function($event) {\n if ($event.target !== $event.currentTarget) {\n return null\n }\n return _vm.handleWrapperClick($event)\n }\n }\n },\n [\n _c(\n \"div\",\n {\n key: _vm.key,\n ref: \"dialog\",\n class: [\n \"el-dialog\",\n {\n \"is-fullscreen\": _vm.fullscreen,\n \"el-dialog--center\": _vm.center\n },\n _vm.customClass\n ],\n style: _vm.style,\n attrs: {\n role: \"dialog\",\n \"aria-modal\": \"true\",\n \"aria-label\": _vm.title || \"dialog\"\n }\n },\n [\n _c(\n \"div\",\n { staticClass: \"el-dialog__header\" },\n [\n _vm._t(\"title\", [\n _c(\"span\", { staticClass: \"el-dialog__title\" }, [\n _vm._v(_vm._s(_vm.title))\n ])\n ]),\n _vm.showClose\n ? _c(\n \"button\",\n {\n staticClass: \"el-dialog__headerbtn\",\n attrs: { type: \"button\", \"aria-label\": \"Close\" },\n on: { click: _vm.handleClose }\n },\n [\n _c(\"i\", {\n staticClass:\n \"el-dialog__close el-icon el-icon-close\"\n })\n ]\n )\n : _vm._e()\n ],\n 2\n ),\n _vm.rendered\n ? _c(\n \"div\",\n { staticClass: \"el-dialog__body\" },\n [_vm._t(\"default\")],\n 2\n )\n : _vm._e(),\n _vm.$slots.footer\n ? _c(\n \"div\",\n { staticClass: \"el-dialog__footer\" },\n [_vm._t(\"footer\")],\n 2\n )\n : _vm._e()\n ]\n )\n ]\n )\n ]\n )\n}\nvar componentvue_type_template_id_60140e62_staticRenderFns = []\ncomponentvue_type_template_id_60140e62_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=template&id=60140e62&\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/popup\"\nvar popup_ = __webpack_require__(11);\nvar popup_default = /*#__PURE__*/__webpack_require__.n(popup_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/migrating\"\nvar migrating_ = __webpack_require__(9);\nvar migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/emitter\"\nvar emitter_ = __webpack_require__(3);\nvar emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dialog/src/component.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ var componentvue_type_script_lang_js_ = ({\n name: 'ElDialog',\n\n mixins: [popup_default.a, emitter_default.a, migrating_default.a],\n\n props: {\n title: {\n type: String,\n default: ''\n },\n\n modal: {\n type: Boolean,\n default: true\n },\n\n modalAppendToBody: {\n type: Boolean,\n default: true\n },\n\n appendToBody: {\n type: Boolean,\n default: false\n },\n\n lockScroll: {\n type: Boolean,\n default: true\n },\n\n closeOnClickModal: {\n type: Boolean,\n default: true\n },\n\n closeOnPressEscape: {\n type: Boolean,\n default: true\n },\n\n showClose: {\n type: Boolean,\n default: true\n },\n\n width: String,\n\n fullscreen: Boolean,\n\n customClass: {\n type: String,\n default: ''\n },\n\n top: {\n type: String,\n default: '15vh'\n },\n beforeClose: Function,\n center: {\n type: Boolean,\n default: false\n },\n\n destroyOnClose: Boolean\n },\n\n data: function data() {\n return {\n closed: false,\n key: 0\n };\n },\n\n\n watch: {\n visible: function visible(val) {\n var _this = this;\n\n if (val) {\n this.closed = false;\n this.$emit('open');\n this.$el.addEventListener('scroll', this.updatePopper);\n this.$nextTick(function () {\n _this.$refs.dialog.scrollTop = 0;\n });\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n } else {\n this.$el.removeEventListener('scroll', this.updatePopper);\n if (!this.closed) this.$emit('close');\n if (this.destroyOnClose) {\n this.$nextTick(function () {\n _this.key++;\n });\n }\n }\n }\n },\n\n computed: {\n style: function style() {\n var style = {};\n if (!this.fullscreen) {\n style.marginTop = this.top;\n if (this.width) {\n style.width = this.width;\n }\n }\n return style;\n }\n },\n\n methods: {\n getMigratingConfig: function getMigratingConfig() {\n return {\n props: {\n 'size': 'size is removed.'\n }\n };\n },\n handleWrapperClick: function handleWrapperClick() {\n if (!this.closeOnClickModal) return;\n this.handleClose();\n },\n handleClose: function handleClose() {\n if (typeof this.beforeClose === 'function') {\n this.beforeClose(this.hide);\n } else {\n this.hide();\n }\n },\n hide: function hide(cancel) {\n if (cancel !== false) {\n this.$emit('update:visible', false);\n this.$emit('close');\n this.closed = true;\n }\n },\n updatePopper: function updatePopper() {\n this.broadcast('ElSelectDropdown', 'updatePopper');\n this.broadcast('ElDropdownMenu', 'updatePopper');\n },\n afterEnter: function afterEnter() {\n this.$emit('opened');\n },\n afterLeave: function afterLeave() {\n this.$emit('closed');\n }\n },\n\n mounted: function mounted() {\n if (this.visible) {\n this.rendered = true;\n this.open();\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n }\n },\n destroyed: function destroyed() {\n // if appendToBody is true, remove DOM node after destroy\n if (this.appendToBody && this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/dialog/src/component.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_componentvue_type_script_lang_js_ = (componentvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/dialog/src/component.vue\n\n\n\n\n\n/* normalize component */\n\nvar component_component = normalizeComponent(\n src_componentvue_type_script_lang_js_,\n componentvue_type_template_id_60140e62_render,\n componentvue_type_template_id_60140e62_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var component_api; }\ncomponent_component.options.__file = \"packages/dialog/src/component.vue\"\n/* harmony default export */ var src_component = (component_component.exports);\n// CONCATENATED MODULE: ./packages/dialog/index.js\n\n\n/* istanbul ignore next */\nsrc_component.install = function (Vue) {\n Vue.component(src_component.name, src_component);\n};\n\n/* harmony default export */ var dialog = (src_component);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete.vue?vue&type=template&id=152f2ee6&\nvar autocompletevue_type_template_id_152f2ee6_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"clickoutside\",\n rawName: \"v-clickoutside\",\n value: _vm.close,\n expression: \"close\"\n }\n ],\n staticClass: \"el-autocomplete\",\n attrs: {\n \"aria-haspopup\": \"listbox\",\n role: \"combobox\",\n \"aria-expanded\": _vm.suggestionVisible,\n \"aria-owns\": _vm.id\n }\n },\n [\n _c(\n \"el-input\",\n _vm._b(\n {\n ref: \"input\",\n on: {\n input: _vm.handleInput,\n change: _vm.handleChange,\n focus: _vm.handleFocus,\n blur: _vm.handleBlur,\n clear: _vm.handleClear\n },\n nativeOn: {\n keydown: [\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"up\", 38, $event.key, [\n \"Up\",\n \"ArrowUp\"\n ])\n ) {\n return null\n }\n $event.preventDefault()\n _vm.highlight(_vm.highlightedIndex - 1)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"down\", 40, $event.key, [\n \"Down\",\n \"ArrowDown\"\n ])\n ) {\n return null\n }\n $event.preventDefault()\n _vm.highlight(_vm.highlightedIndex + 1)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.handleKeyEnter($event)\n },\n function($event) {\n if (\n !(\"button\" in $event) &&\n _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")\n ) {\n return null\n }\n return _vm.close($event)\n }\n ]\n }\n },\n \"el-input\",\n [_vm.$props, _vm.$attrs],\n false\n ),\n [\n _vm.$slots.prepend\n ? _c(\"template\", { slot: \"prepend\" }, [_vm._t(\"prepend\")], 2)\n : _vm._e(),\n _vm.$slots.append\n ? _c(\"template\", { slot: \"append\" }, [_vm._t(\"append\")], 2)\n : _vm._e(),\n _vm.$slots.prefix\n ? _c(\"template\", { slot: \"prefix\" }, [_vm._t(\"prefix\")], 2)\n : _vm._e(),\n _vm.$slots.suffix\n ? _c(\"template\", { slot: \"suffix\" }, [_vm._t(\"suffix\")], 2)\n : _vm._e()\n ],\n 2\n ),\n _c(\n \"el-autocomplete-suggestions\",\n {\n ref: \"suggestions\",\n class: [_vm.popperClass ? _vm.popperClass : \"\"],\n attrs: {\n \"visible-arrow\": \"\",\n \"popper-options\": _vm.popperOptions,\n \"append-to-body\": _vm.popperAppendToBody,\n placement: _vm.placement,\n id: _vm.id\n }\n },\n _vm._l(_vm.suggestions, function(item, index) {\n return _c(\n \"li\",\n {\n key: index,\n class: { highlighted: _vm.highlightedIndex === index },\n attrs: {\n id: _vm.id + \"-item-\" + index,\n role: \"option\",\n \"aria-selected\": _vm.highlightedIndex === index\n },\n on: {\n click: function($event) {\n _vm.select(item)\n }\n }\n },\n [\n _vm._t(\n \"default\",\n [\n _vm._v(\"\\n \" + _vm._s(item[_vm.valueKey]) + \"\\n \")\n ],\n { item: item }\n )\n ],\n 2\n )\n }),\n 0\n )\n ],\n 1\n )\n}\nvar autocompletevue_type_template_id_152f2ee6_staticRenderFns = []\nautocompletevue_type_template_id_152f2ee6_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue?vue&type=template&id=152f2ee6&\n\n// EXTERNAL MODULE: external \"throttle-debounce/debounce\"\nvar debounce_ = __webpack_require__(16);\nvar debounce_default = /*#__PURE__*/__webpack_require__.n(debounce_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/clickoutside\"\nvar clickoutside_ = __webpack_require__(10);\nvar clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=template&id=cd10dcf0&\nvar autocomplete_suggestionsvue_type_template_id_cd10dcf0_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"transition\",\n { attrs: { name: \"el-zoom-in-top\" }, on: { \"after-leave\": _vm.doDestroy } },\n [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showPopper,\n expression: \"showPopper\"\n }\n ],\n staticClass: \"el-autocomplete-suggestion el-popper\",\n class: {\n \"is-loading\": !_vm.parent.hideLoading && _vm.parent.loading\n },\n style: { width: _vm.dropdownWidth },\n attrs: { role: \"region\" }\n },\n [\n _c(\n \"el-scrollbar\",\n {\n attrs: {\n tag: \"ul\",\n \"wrap-class\": \"el-autocomplete-suggestion__wrap\",\n \"view-class\": \"el-autocomplete-suggestion__list\"\n }\n },\n [\n !_vm.parent.hideLoading && _vm.parent.loading\n ? _c(\"li\", [_c(\"i\", { staticClass: \"el-icon-loading\" })])\n : _vm._t(\"default\")\n ],\n 2\n )\n ],\n 1\n )\n ]\n )\n}\nvar autocomplete_suggestionsvue_type_template_id_cd10dcf0_staticRenderFns = []\nautocomplete_suggestionsvue_type_template_id_cd10dcf0_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=template&id=cd10dcf0&\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/vue-popper\"\nvar vue_popper_ = __webpack_require__(5);\nvar vue_popper_default = /*#__PURE__*/__webpack_require__.n(vue_popper_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/scrollbar\"\nvar scrollbar_ = __webpack_require__(18);\nvar scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ var autocomplete_suggestionsvue_type_script_lang_js_ = ({\n components: { ElScrollbar: scrollbar_default.a },\n mixins: [vue_popper_default.a, emitter_default.a],\n\n componentName: 'ElAutocompleteSuggestions',\n\n data: function data() {\n return {\n parent: this.$parent,\n dropdownWidth: ''\n };\n },\n\n\n props: {\n options: {\n default: function _default() {\n return {\n gpuAcceleration: false\n };\n }\n },\n id: String\n },\n\n methods: {\n select: function select(item) {\n this.dispatch('ElAutocomplete', 'item-click', item);\n }\n },\n\n updated: function updated() {\n var _this = this;\n\n this.$nextTick(function (_) {\n _this.popperJS && _this.updatePopper();\n });\n },\n mounted: function mounted() {\n this.$parent.popperElm = this.popperElm = this.$el;\n this.referenceElm = this.$parent.$refs.input.$refs.input || this.$parent.$refs.input.$refs.textarea;\n this.referenceList = this.$el.querySelector('.el-autocomplete-suggestion__list');\n this.referenceList.setAttribute('role', 'listbox');\n this.referenceList.setAttribute('id', this.id);\n },\n created: function created() {\n var _this2 = this;\n\n this.$on('visible', function (val, inputWidth) {\n _this2.dropdownWidth = inputWidth + 'px';\n _this2.showPopper = val;\n });\n }\n});\n// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_autocomplete_suggestionsvue_type_script_lang_js_ = (autocomplete_suggestionsvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete-suggestions.vue\n\n\n\n\n\n/* normalize component */\n\nvar autocomplete_suggestions_component = normalizeComponent(\n src_autocomplete_suggestionsvue_type_script_lang_js_,\n autocomplete_suggestionsvue_type_template_id_cd10dcf0_render,\n autocomplete_suggestionsvue_type_template_id_cd10dcf0_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var autocomplete_suggestions_api; }\nautocomplete_suggestions_component.options.__file = \"packages/autocomplete/src/autocomplete-suggestions.vue\"\n/* harmony default export */ var autocomplete_suggestions = (autocomplete_suggestions_component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/focus\"\nvar focus_ = __webpack_require__(23);\nvar focus_default = /*#__PURE__*/__webpack_require__.n(focus_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/autocomplete/src/autocomplete.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var autocompletevue_type_script_lang_js_ = ({\n name: 'ElAutocomplete',\n\n mixins: [emitter_default.a, focus_default()('input'), migrating_default.a],\n\n inheritAttrs: false,\n\n componentName: 'ElAutocomplete',\n\n components: {\n ElInput: input_default.a,\n ElAutocompleteSuggestions: autocomplete_suggestions\n },\n\n directives: { Clickoutside: clickoutside_default.a },\n\n props: {\n valueKey: {\n type: String,\n default: 'value'\n },\n popperClass: String,\n popperOptions: Object,\n placeholder: String,\n clearable: {\n type: Boolean,\n default: false\n },\n disabled: Boolean,\n name: String,\n size: String,\n value: String,\n maxlength: Number,\n minlength: Number,\n autofocus: Boolean,\n fetchSuggestions: Function,\n triggerOnFocus: {\n type: Boolean,\n default: true\n },\n customItem: String,\n selectWhenUnmatched: {\n type: Boolean,\n default: false\n },\n prefixIcon: String,\n suffixIcon: String,\n label: String,\n debounce: {\n type: Number,\n default: 300\n },\n placement: {\n type: String,\n default: 'bottom-start'\n },\n hideLoading: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: true\n },\n highlightFirstItem: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n activated: false,\n suggestions: [],\n loading: false,\n highlightedIndex: -1,\n suggestionDisabled: false\n };\n },\n\n computed: {\n suggestionVisible: function suggestionVisible() {\n var suggestions = this.suggestions;\n var isValidData = Array.isArray(suggestions) && suggestions.length > 0;\n return (isValidData || this.loading) && this.activated;\n },\n id: function id() {\n return 'el-autocomplete-' + Object(util_[\"generateId\"])();\n }\n },\n watch: {\n suggestionVisible: function suggestionVisible(val) {\n var $input = this.getInput();\n if ($input) {\n this.broadcast('ElAutocompleteSuggestions', 'visible', [val, $input.offsetWidth]);\n }\n }\n },\n methods: {\n getMigratingConfig: function getMigratingConfig() {\n return {\n props: {\n 'custom-item': 'custom-item is removed, use scoped slot instead.',\n 'props': 'props is removed, use value-key instead.'\n }\n };\n },\n getData: function getData(queryString) {\n var _this = this;\n\n if (this.suggestionDisabled) {\n return;\n }\n this.loading = true;\n this.fetchSuggestions(queryString, function (suggestions) {\n _this.loading = false;\n if (_this.suggestionDisabled) {\n return;\n }\n if (Array.isArray(suggestions)) {\n _this.suggestions = suggestions;\n _this.highlightedIndex = _this.highlightFirstItem ? 0 : -1;\n } else {\n console.error('[Element Error][Autocomplete]autocomplete suggestions must be an array');\n }\n });\n },\n handleInput: function handleInput(value) {\n this.$emit('input', value);\n this.suggestionDisabled = false;\n if (!this.triggerOnFocus && !value) {\n this.suggestionDisabled = true;\n this.suggestions = [];\n return;\n }\n this.debouncedGetData(value);\n },\n handleChange: function handleChange(value) {\n this.$emit('change', value);\n },\n handleFocus: function handleFocus(event) {\n this.activated = true;\n this.$emit('focus', event);\n if (this.triggerOnFocus) {\n this.debouncedGetData(this.value);\n }\n },\n handleBlur: function handleBlur(event) {\n this.$emit('blur', event);\n },\n handleClear: function handleClear() {\n this.activated = false;\n this.$emit('clear');\n },\n close: function close(e) {\n this.activated = false;\n },\n handleKeyEnter: function handleKeyEnter(e) {\n var _this2 = this;\n\n if (this.suggestionVisible && this.highlightedIndex >= 0 && this.highlightedIndex < this.suggestions.length) {\n e.preventDefault();\n this.select(this.suggestions[this.highlightedIndex]);\n } else if (this.selectWhenUnmatched) {\n this.$emit('select', { value: this.value });\n this.$nextTick(function (_) {\n _this2.suggestions = [];\n _this2.highlightedIndex = -1;\n });\n }\n },\n select: function select(item) {\n var _this3 = this;\n\n this.$emit('input', item[this.valueKey]);\n this.$emit('select', item);\n this.$nextTick(function (_) {\n _this3.suggestions = [];\n _this3.highlightedIndex = -1;\n });\n },\n highlight: function highlight(index) {\n if (!this.suggestionVisible || this.loading) {\n return;\n }\n if (index < 0) {\n this.highlightedIndex = -1;\n return;\n }\n if (index >= this.suggestions.length) {\n index = this.suggestions.length - 1;\n }\n var suggestion = this.$refs.suggestions.$el.querySelector('.el-autocomplete-suggestion__wrap');\n var suggestionList = suggestion.querySelectorAll('.el-autocomplete-suggestion__list li');\n\n var highlightItem = suggestionList[index];\n var scrollTop = suggestion.scrollTop;\n var offsetTop = highlightItem.offsetTop;\n\n if (offsetTop + highlightItem.scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += highlightItem.scrollHeight;\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= highlightItem.scrollHeight;\n }\n this.highlightedIndex = index;\n var $input = this.getInput();\n $input.setAttribute('aria-activedescendant', this.id + '-item-' + this.highlightedIndex);\n },\n getInput: function getInput() {\n return this.$refs.input.getInput();\n }\n },\n mounted: function mounted() {\n var _this4 = this;\n\n this.debouncedGetData = debounce_default()(this.debounce, this.getData);\n this.$on('item-click', function (item) {\n _this4.select(item);\n });\n var $input = this.getInput();\n $input.setAttribute('role', 'textbox');\n $input.setAttribute('aria-autocomplete', 'list');\n $input.setAttribute('aria-controls', 'id');\n $input.setAttribute('aria-activedescendant', this.id + '-item-' + this.highlightedIndex);\n },\n beforeDestroy: function beforeDestroy() {\n this.$refs.suggestions.$destroy();\n }\n});\n// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_autocompletevue_type_script_lang_js_ = (autocompletevue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/autocomplete/src/autocomplete.vue\n\n\n\n\n\n/* normalize component */\n\nvar autocomplete_component = normalizeComponent(\n src_autocompletevue_type_script_lang_js_,\n autocompletevue_type_template_id_152f2ee6_render,\n autocompletevue_type_template_id_152f2ee6_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var autocomplete_api; }\nautocomplete_component.options.__file = \"packages/autocomplete/src/autocomplete.vue\"\n/* harmony default export */ var autocomplete = (autocomplete_component.exports);\n// CONCATENATED MODULE: ./packages/autocomplete/index.js\n\n\n/* istanbul ignore next */\nautocomplete.install = function (Vue) {\n Vue.component(autocomplete.name, autocomplete);\n};\n\n/* harmony default export */ var packages_autocomplete = (autocomplete);\n// EXTERNAL MODULE: external \"element-ui/lib/button\"\nvar button_ = __webpack_require__(13);\nvar button_default = /*#__PURE__*/__webpack_require__.n(button_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/button-group\"\nvar button_group_ = __webpack_require__(28);\nvar button_group_default = /*#__PURE__*/__webpack_require__.n(button_group_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown.vue?vue&type=script&lang=js&\n\n\n\n\n\n\n\n\n/* harmony default export */ var dropdownvue_type_script_lang_js_ = ({\n name: 'ElDropdown',\n\n componentName: 'ElDropdown',\n\n mixins: [emitter_default.a, migrating_default.a],\n\n directives: { Clickoutside: clickoutside_default.a },\n\n components: {\n ElButton: button_default.a,\n ElButtonGroup: button_group_default.a\n },\n\n provide: function provide() {\n return {\n dropdown: this\n };\n },\n\n\n props: {\n trigger: {\n type: String,\n default: 'hover'\n },\n type: String,\n size: {\n type: String,\n default: ''\n },\n splitButton: Boolean,\n hideOnClick: {\n type: Boolean,\n default: true\n },\n placement: {\n type: String,\n default: 'bottom-end'\n },\n visibleArrow: {\n default: true\n },\n showTimeout: {\n type: Number,\n default: 250\n },\n hideTimeout: {\n type: Number,\n default: 150\n },\n tabindex: {\n type: Number,\n default: 0\n }\n },\n\n data: function data() {\n return {\n timeout: null,\n visible: false,\n triggerElm: null,\n menuItems: null,\n menuItemsArray: null,\n dropdownElm: null,\n focusing: false,\n listId: 'dropdown-menu-' + Object(util_[\"generateId\"])()\n };\n },\n\n\n computed: {\n dropdownSize: function dropdownSize() {\n return this.size || (this.$ELEMENT || {}).size;\n }\n },\n\n mounted: function mounted() {\n this.$on('menu-item-click', this.handleMenuItemClick);\n },\n\n\n watch: {\n visible: function visible(val) {\n this.broadcast('ElDropdownMenu', 'visible', val);\n this.$emit('visible-change', val);\n },\n focusing: function focusing(val) {\n var selfDefine = this.$el.querySelector('.el-dropdown-selfdefine');\n if (selfDefine) {\n // 自定义\n if (val) {\n selfDefine.className += ' focusing';\n } else {\n selfDefine.className = selfDefine.className.replace('focusing', '');\n }\n }\n }\n },\n\n methods: {\n getMigratingConfig: function getMigratingConfig() {\n return {\n props: {\n 'menu-align': 'menu-align is renamed to placement.'\n }\n };\n },\n show: function show() {\n var _this = this;\n\n if (this.triggerElm.disabled) return;\n clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n _this.visible = true;\n }, this.trigger === 'click' ? 0 : this.showTimeout);\n },\n hide: function hide() {\n var _this2 = this;\n\n if (this.triggerElm.disabled) return;\n this.removeTabindex();\n if (this.tabindex >= 0) {\n this.resetTabindex(this.triggerElm);\n }\n clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n _this2.visible = false;\n }, this.trigger === 'click' ? 0 : this.hideTimeout);\n },\n handleClick: function handleClick() {\n if (this.triggerElm.disabled) return;\n if (this.visible) {\n this.hide();\n } else {\n this.show();\n }\n },\n handleTriggerKeyDown: function handleTriggerKeyDown(ev) {\n var keyCode = ev.keyCode;\n if ([38, 40].indexOf(keyCode) > -1) {\n // up/down\n this.removeTabindex();\n this.resetTabindex(this.menuItems[0]);\n this.menuItems[0].focus();\n ev.preventDefault();\n ev.stopPropagation();\n } else if (keyCode === 13) {\n // space enter选中\n this.handleClick();\n } else if ([9, 27].indexOf(keyCode) > -1) {\n // tab || esc\n this.hide();\n }\n },\n handleItemKeyDown: function handleItemKeyDown(ev) {\n var keyCode = ev.keyCode;\n var target = ev.target;\n var currentIndex = this.menuItemsArray.indexOf(target);\n var max = this.menuItemsArray.length - 1;\n var nextIndex = void 0;\n if ([38, 40].indexOf(keyCode) > -1) {\n // up/down\n if (keyCode === 38) {\n // up\n nextIndex = currentIndex !== 0 ? currentIndex - 1 : 0;\n } else {\n // down\n nextIndex = currentIndex < max ? currentIndex + 1 : max;\n }\n this.removeTabindex();\n this.resetTabindex(this.menuItems[nextIndex]);\n this.menuItems[nextIndex].focus();\n ev.preventDefault();\n ev.stopPropagation();\n } else if (keyCode === 13) {\n // enter选中\n this.triggerElmFocus();\n target.click();\n if (this.hideOnClick) {\n // click关闭\n this.visible = false;\n }\n } else if ([9, 27].indexOf(keyCode) > -1) {\n // tab // esc\n this.hide();\n this.triggerElmFocus();\n }\n },\n resetTabindex: function resetTabindex(ele) {\n // 下次tab时组件聚焦元素\n this.removeTabindex();\n ele.setAttribute('tabindex', '0'); // 下次期望的聚焦元素\n },\n removeTabindex: function removeTabindex() {\n this.triggerElm.setAttribute('tabindex', '-1');\n this.menuItemsArray.forEach(function (item) {\n item.setAttribute('tabindex', '-1');\n });\n },\n initAria: function initAria() {\n this.dropdownElm.setAttribute('id', this.listId);\n this.triggerElm.setAttribute('aria-haspopup', 'list');\n this.triggerElm.setAttribute('aria-controls', this.listId);\n\n if (!this.splitButton) {\n // 自定义\n this.triggerElm.setAttribute('role', 'button');\n this.triggerElm.setAttribute('tabindex', this.tabindex);\n this.triggerElm.setAttribute('class', (this.triggerElm.getAttribute('class') || '') + ' el-dropdown-selfdefine'); // 控制\n }\n },\n initEvent: function initEvent() {\n var _this3 = this;\n\n var trigger = this.trigger,\n show = this.show,\n hide = this.hide,\n handleClick = this.handleClick,\n splitButton = this.splitButton,\n handleTriggerKeyDown = this.handleTriggerKeyDown,\n handleItemKeyDown = this.handleItemKeyDown;\n\n this.triggerElm = splitButton ? this.$refs.trigger.$el : this.$slots.default[0].elm;\n\n var dropdownElm = this.dropdownElm;\n\n this.triggerElm.addEventListener('keydown', handleTriggerKeyDown); // triggerElm keydown\n dropdownElm.addEventListener('keydown', handleItemKeyDown, true); // item keydown\n // 控制自定义元素的样式\n if (!splitButton) {\n this.triggerElm.addEventListener('focus', function () {\n _this3.focusing = true;\n });\n this.triggerElm.addEventListener('blur', function () {\n _this3.focusing = false;\n });\n this.triggerElm.addEventListener('click', function () {\n _this3.focusing = false;\n });\n }\n if (trigger === 'hover') {\n this.triggerElm.addEventListener('mouseenter', show);\n this.triggerElm.addEventListener('mouseleave', hide);\n dropdownElm.addEventListener('mouseenter', show);\n dropdownElm.addEventListener('mouseleave', hide);\n } else if (trigger === 'click') {\n this.triggerElm.addEventListener('click', handleClick);\n }\n },\n handleMenuItemClick: function handleMenuItemClick(command, instance) {\n if (this.hideOnClick) {\n this.visible = false;\n }\n this.$emit('command', command, instance);\n },\n triggerElmFocus: function triggerElmFocus() {\n this.triggerElm.focus && this.triggerElm.focus();\n },\n initDomOperation: function initDomOperation() {\n this.dropdownElm = this.popperElm;\n this.menuItems = this.dropdownElm.querySelectorAll(\"[tabindex='-1']\");\n this.menuItemsArray = [].slice.call(this.menuItems);\n\n this.initEvent();\n this.initAria();\n }\n },\n\n render: function render(h) {\n var _this4 = this;\n\n var hide = this.hide,\n splitButton = this.splitButton,\n type = this.type,\n dropdownSize = this.dropdownSize;\n\n\n var handleMainButtonClick = function handleMainButtonClick(event) {\n _this4.$emit('click', event);\n hide();\n };\n\n var triggerElm = !splitButton ? this.$slots.default : h('el-button-group', [h(\n 'el-button',\n {\n attrs: { type: type, size: dropdownSize },\n nativeOn: {\n 'click': handleMainButtonClick\n }\n },\n [this.$slots.default]\n ), h(\n 'el-button',\n { ref: 'trigger', attrs: { type: type, size: dropdownSize },\n 'class': 'el-dropdown__caret-button' },\n [h('i', { 'class': 'el-dropdown__icon el-icon-arrow-down' })]\n )]);\n\n return h(\n 'div',\n { 'class': 'el-dropdown', directives: [{\n name: 'clickoutside',\n value: hide\n }]\n },\n [triggerElm, this.$slots.dropdown]\n );\n }\n});\n// CONCATENATED MODULE: ./packages/dropdown/src/dropdown.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_dropdownvue_type_script_lang_js_ = (dropdownvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/dropdown/src/dropdown.vue\nvar dropdown_render, dropdown_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar dropdown_component = normalizeComponent(\n src_dropdownvue_type_script_lang_js_,\n dropdown_render,\n dropdown_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var dropdown_api; }\ndropdown_component.options.__file = \"packages/dropdown/src/dropdown.vue\"\n/* harmony default export */ var dropdown = (dropdown_component.exports);\n// CONCATENATED MODULE: ./packages/dropdown/index.js\n\n\n/* istanbul ignore next */\ndropdown.install = function (Vue) {\n Vue.component(dropdown.name, dropdown);\n};\n\n/* harmony default export */ var packages_dropdown = (dropdown);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-menu.vue?vue&type=template&id=0da6b714&\nvar dropdown_menuvue_type_template_id_0da6b714_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"transition\",\n { attrs: { name: \"el-zoom-in-top\" }, on: { \"after-leave\": _vm.doDestroy } },\n [\n _c(\n \"ul\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showPopper,\n expression: \"showPopper\"\n }\n ],\n staticClass: \"el-dropdown-menu el-popper\",\n class: [_vm.size && \"el-dropdown-menu--\" + _vm.size]\n },\n [_vm._t(\"default\")],\n 2\n )\n ]\n )\n}\nvar dropdown_menuvue_type_template_id_0da6b714_staticRenderFns = []\ndropdown_menuvue_type_template_id_0da6b714_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue?vue&type=template&id=0da6b714&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-menu.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var dropdown_menuvue_type_script_lang_js_ = ({\n name: 'ElDropdownMenu',\n\n componentName: 'ElDropdownMenu',\n\n mixins: [vue_popper_default.a],\n\n props: {\n visibleArrow: {\n type: Boolean,\n default: true\n },\n arrowOffset: {\n type: Number,\n default: 0\n }\n },\n\n data: function data() {\n return {\n size: this.dropdown.dropdownSize\n };\n },\n\n\n inject: ['dropdown'],\n\n created: function created() {\n var _this = this;\n\n this.$on('updatePopper', function () {\n if (_this.showPopper) _this.updatePopper();\n });\n this.$on('visible', function (val) {\n _this.showPopper = val;\n });\n },\n mounted: function mounted() {\n this.dropdown.popperElm = this.popperElm = this.$el;\n this.referenceElm = this.dropdown.$el;\n // compatible with 2.6 new v-slot syntax\n // issue link https://github.com/ElemeFE/element/issues/14345\n this.dropdown.initDomOperation();\n },\n\n\n watch: {\n 'dropdown.placement': {\n immediate: true,\n handler: function handler(val) {\n this.currentPlacement = val;\n }\n }\n }\n});\n// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_dropdown_menuvue_type_script_lang_js_ = (dropdown_menuvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-menu.vue\n\n\n\n\n\n/* normalize component */\n\nvar dropdown_menu_component = normalizeComponent(\n src_dropdown_menuvue_type_script_lang_js_,\n dropdown_menuvue_type_template_id_0da6b714_render,\n dropdown_menuvue_type_template_id_0da6b714_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var dropdown_menu_api; }\ndropdown_menu_component.options.__file = \"packages/dropdown/src/dropdown-menu.vue\"\n/* harmony default export */ var dropdown_menu = (dropdown_menu_component.exports);\n// CONCATENATED MODULE: ./packages/dropdown-menu/index.js\n\n\n/* istanbul ignore next */\ndropdown_menu.install = function (Vue) {\n Vue.component(dropdown_menu.name, dropdown_menu);\n};\n\n/* harmony default export */ var packages_dropdown_menu = (dropdown_menu);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-item.vue?vue&type=template&id=6359102a&\nvar dropdown_itemvue_type_template_id_6359102a_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n {\n staticClass: \"el-dropdown-menu__item\",\n class: {\n \"is-disabled\": _vm.disabled,\n \"el-dropdown-menu__item--divided\": _vm.divided\n },\n attrs: {\n \"aria-disabled\": _vm.disabled,\n tabindex: _vm.disabled ? null : -1\n },\n on: { click: _vm.handleClick }\n },\n [_vm.icon ? _c(\"i\", { class: _vm.icon }) : _vm._e(), _vm._t(\"default\")],\n 2\n )\n}\nvar dropdown_itemvue_type_template_id_6359102a_staticRenderFns = []\ndropdown_itemvue_type_template_id_6359102a_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-item.vue?vue&type=template&id=6359102a&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/dropdown/src/dropdown-item.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ var dropdown_itemvue_type_script_lang_js_ = ({\n name: 'ElDropdownItem',\n\n mixins: [emitter_default.a],\n\n props: {\n command: {},\n disabled: Boolean,\n divided: Boolean,\n icon: String\n },\n\n methods: {\n handleClick: function handleClick(e) {\n this.dispatch('ElDropdown', 'menu-item-click', [this.command, this]);\n }\n }\n});\n// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-item.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_dropdown_itemvue_type_script_lang_js_ = (dropdown_itemvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/dropdown/src/dropdown-item.vue\n\n\n\n\n\n/* normalize component */\n\nvar dropdown_item_component = normalizeComponent(\n src_dropdown_itemvue_type_script_lang_js_,\n dropdown_itemvue_type_template_id_6359102a_render,\n dropdown_itemvue_type_template_id_6359102a_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var dropdown_item_api; }\ndropdown_item_component.options.__file = \"packages/dropdown/src/dropdown-item.vue\"\n/* harmony default export */ var dropdown_item = (dropdown_item_component.exports);\n// CONCATENATED MODULE: ./packages/dropdown-item/index.js\n\n\n/* istanbul ignore next */\ndropdown_item.install = function (Vue) {\n Vue.component(dropdown_item.name, dropdown_item);\n};\n\n/* harmony default export */ var packages_dropdown_item = (dropdown_item);\n// CONCATENATED MODULE: ./src/utils/aria-utils.js\nvar aria = aria || {};\n\naria.Utils = aria.Utils || {};\n\n/**\n * @desc Set focus on descendant nodes until the first focusable element is\n * found.\n * @param element\n * DOM node for which to find the first focusable descendant.\n * @returns\n * true if a focusable element is found and focus is set.\n */\naria.Utils.focusFirstDescendant = function (element) {\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n if (aria.Utils.attemptFocus(child) || aria.Utils.focusFirstDescendant(child)) {\n return true;\n }\n }\n return false;\n};\n\n/**\n * @desc Find the last descendant node that is focusable.\n * @param element\n * DOM node for which to find the last focusable descendant.\n * @returns\n * true if a focusable element is found and focus is set.\n */\n\naria.Utils.focusLastDescendant = function (element) {\n for (var i = element.childNodes.length - 1; i >= 0; i--) {\n var child = element.childNodes[i];\n if (aria.Utils.attemptFocus(child) || aria.Utils.focusLastDescendant(child)) {\n return true;\n }\n }\n return false;\n};\n\n/**\n * @desc Set Attempt to set focus on the current node.\n * @param element\n * The node to attempt to focus on.\n * @returns\n * true if element is focused.\n */\naria.Utils.attemptFocus = function (element) {\n if (!aria.Utils.isFocusable(element)) {\n return false;\n }\n aria.Utils.IgnoreUtilFocusChanges = true;\n try {\n element.focus();\n } catch (e) {}\n aria.Utils.IgnoreUtilFocusChanges = false;\n return document.activeElement === element;\n};\n\naria.Utils.isFocusable = function (element) {\n if (element.tabIndex > 0 || element.tabIndex === 0 && element.getAttribute('tabIndex') !== null) {\n return true;\n }\n\n if (element.disabled) {\n return false;\n }\n\n switch (element.nodeName) {\n case 'A':\n return !!element.href && element.rel !== 'ignore';\n case 'INPUT':\n return element.type !== 'hidden' && element.type !== 'file';\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA':\n return true;\n default:\n return false;\n }\n};\n\n/**\n * 触发一个事件\n * mouseenter, mouseleave, mouseover, keyup, change, click 等\n * @param {Element} elm\n * @param {String} name\n * @param {*} opts\n */\naria.Utils.triggerEvent = function (elm, name) {\n var eventName = void 0;\n\n if (/^mouse|click/.test(name)) {\n eventName = 'MouseEvents';\n } else if (/^key/.test(name)) {\n eventName = 'KeyboardEvent';\n } else {\n eventName = 'HTMLEvents';\n }\n var evt = document.createEvent(eventName);\n\n for (var _len = arguments.length, opts = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n opts[_key - 2] = arguments[_key];\n }\n\n evt.initEvent.apply(evt, [name].concat(opts));\n elm.dispatchEvent ? elm.dispatchEvent(evt) : elm.fireEvent('on' + name, evt);\n\n return elm;\n};\n\naria.Utils.keys = {\n tab: 9,\n enter: 13,\n space: 32,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n esc: 27\n};\n\n/* harmony default export */ var aria_utils = (aria.Utils);\n// CONCATENATED MODULE: ./src/utils/menu/aria-submenu.js\n\n\nvar SubMenu = function SubMenu(parent, domNode) {\n this.domNode = domNode;\n this.parent = parent;\n this.subMenuItems = [];\n this.subIndex = 0;\n this.init();\n};\n\nSubMenu.prototype.init = function () {\n this.subMenuItems = this.domNode.querySelectorAll('li');\n this.addListeners();\n};\n\nSubMenu.prototype.gotoSubIndex = function (idx) {\n if (idx === this.subMenuItems.length) {\n idx = 0;\n } else if (idx < 0) {\n idx = this.subMenuItems.length - 1;\n }\n this.subMenuItems[idx].focus();\n this.subIndex = idx;\n};\n\nSubMenu.prototype.addListeners = function () {\n var _this = this;\n\n var keys = aria_utils.keys;\n var parentNode = this.parent.domNode;\n Array.prototype.forEach.call(this.subMenuItems, function (el) {\n el.addEventListener('keydown', function (event) {\n var prevDef = false;\n switch (event.keyCode) {\n case keys.down:\n _this.gotoSubIndex(_this.subIndex + 1);\n prevDef = true;\n break;\n case keys.up:\n _this.gotoSubIndex(_this.subIndex - 1);\n prevDef = true;\n break;\n case keys.tab:\n aria_utils.triggerEvent(parentNode, 'mouseleave');\n break;\n case keys.enter:\n case keys.space:\n prevDef = true;\n event.currentTarget.click();\n break;\n }\n if (prevDef) {\n event.preventDefault();\n event.stopPropagation();\n }\n return false;\n });\n });\n};\n\n/* harmony default export */ var aria_submenu = (SubMenu);\n// CONCATENATED MODULE: ./src/utils/menu/aria-menuitem.js\n\n\n\nvar MenuItem = function MenuItem(domNode) {\n this.domNode = domNode;\n this.submenu = null;\n this.init();\n};\n\nMenuItem.prototype.init = function () {\n this.domNode.setAttribute('tabindex', '0');\n var menuChild = this.domNode.querySelector('.el-menu');\n if (menuChild) {\n this.submenu = new aria_submenu(this, menuChild);\n }\n this.addListeners();\n};\n\nMenuItem.prototype.addListeners = function () {\n var _this = this;\n\n var keys = aria_utils.keys;\n this.domNode.addEventListener('keydown', function (event) {\n var prevDef = false;\n switch (event.keyCode) {\n case keys.down:\n aria_utils.triggerEvent(event.currentTarget, 'mouseenter');\n _this.submenu && _this.submenu.gotoSubIndex(0);\n prevDef = true;\n break;\n case keys.up:\n aria_utils.triggerEvent(event.currentTarget, 'mouseenter');\n _this.submenu && _this.submenu.gotoSubIndex(_this.submenu.subMenuItems.length - 1);\n prevDef = true;\n break;\n case keys.tab:\n aria_utils.triggerEvent(event.currentTarget, 'mouseleave');\n break;\n case keys.enter:\n case keys.space:\n prevDef = true;\n event.currentTarget.click();\n break;\n }\n if (prevDef) {\n event.preventDefault();\n }\n });\n};\n\n/* harmony default export */ var aria_menuitem = (MenuItem);\n// CONCATENATED MODULE: ./src/utils/menu/aria-menubar.js\n\n\nvar Menu = function Menu(domNode) {\n this.domNode = domNode;\n this.init();\n};\n\nMenu.prototype.init = function () {\n var menuChildren = this.domNode.childNodes;\n [].filter.call(menuChildren, function (child) {\n return child.nodeType === 1;\n }).forEach(function (child) {\n new aria_menuitem(child); // eslint-disable-line\n });\n};\n/* harmony default export */ var aria_menubar = (Menu);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/dom\"\nvar dom_ = __webpack_require__(1);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu.vue?vue&type=script&lang=js&\n\n\n\n\n\n\n/* harmony default export */ var menuvue_type_script_lang_js_ = ({\n name: 'ElMenu',\n\n render: function render(h) {\n var component = h(\n 'ul',\n {\n attrs: {\n role: 'menubar'\n },\n key: +this.collapse,\n style: { backgroundColor: this.backgroundColor || '' },\n 'class': {\n 'el-menu--horizontal': this.mode === 'horizontal',\n 'el-menu--collapse': this.collapse,\n \"el-menu\": true\n }\n },\n [this.$slots.default]\n );\n\n if (this.collapseTransition) {\n return h('el-menu-collapse-transition', [component]);\n } else {\n return component;\n }\n },\n\n\n componentName: 'ElMenu',\n\n mixins: [emitter_default.a, migrating_default.a],\n\n provide: function provide() {\n return {\n rootMenu: this\n };\n },\n\n\n components: {\n 'el-menu-collapse-transition': {\n functional: true,\n render: function render(createElement, context) {\n var data = {\n props: {\n mode: 'out-in'\n },\n on: {\n beforeEnter: function beforeEnter(el) {\n el.style.opacity = 0.2;\n },\n enter: function enter(el) {\n Object(dom_[\"addClass\"])(el, 'el-opacity-transition');\n el.style.opacity = 1;\n },\n afterEnter: function afterEnter(el) {\n Object(dom_[\"removeClass\"])(el, 'el-opacity-transition');\n el.style.opacity = '';\n },\n beforeLeave: function beforeLeave(el) {\n if (!el.dataset) el.dataset = {};\n\n if (Object(dom_[\"hasClass\"])(el, 'el-menu--collapse')) {\n Object(dom_[\"removeClass\"])(el, 'el-menu--collapse');\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth;\n Object(dom_[\"addClass\"])(el, 'el-menu--collapse');\n } else {\n Object(dom_[\"addClass\"])(el, 'el-menu--collapse');\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth;\n Object(dom_[\"removeClass\"])(el, 'el-menu--collapse');\n }\n\n el.style.width = el.scrollWidth + 'px';\n el.style.overflow = 'hidden';\n },\n leave: function leave(el) {\n Object(dom_[\"addClass\"])(el, 'horizontal-collapse-transition');\n el.style.width = el.dataset.scrollWidth + 'px';\n }\n }\n };\n return createElement('transition', data, context.children);\n }\n }\n },\n\n props: {\n mode: {\n type: String,\n default: 'vertical'\n },\n defaultActive: {\n type: String,\n default: ''\n },\n defaultOpeneds: Array,\n uniqueOpened: Boolean,\n router: Boolean,\n menuTrigger: {\n type: String,\n default: 'hover'\n },\n collapse: Boolean,\n backgroundColor: String,\n textColor: String,\n activeTextColor: String,\n collapseTransition: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n activeIndex: this.defaultActive,\n openedMenus: this.defaultOpeneds && !this.collapse ? this.defaultOpeneds.slice(0) : [],\n items: {},\n submenus: {}\n };\n },\n\n computed: {\n hoverBackground: function hoverBackground() {\n return this.backgroundColor ? this.mixColor(this.backgroundColor, 0.2) : '';\n },\n isMenuPopup: function isMenuPopup() {\n return this.mode === 'horizontal' || this.mode === 'vertical' && this.collapse;\n }\n },\n watch: {\n defaultActive: function defaultActive(value) {\n if (!this.items[value]) {\n this.activeIndex = null;\n }\n this.updateActiveIndex(value);\n },\n defaultOpeneds: function defaultOpeneds(value) {\n if (!this.collapse) {\n this.openedMenus = value;\n }\n },\n collapse: function collapse(value) {\n if (value) this.openedMenus = [];\n this.broadcast('ElSubmenu', 'toggle-collapse', value);\n }\n },\n methods: {\n updateActiveIndex: function updateActiveIndex(val) {\n var item = this.items[val] || this.items[this.activeIndex] || this.items[this.defaultActive];\n if (item) {\n this.activeIndex = item.index;\n this.initOpenedMenu();\n } else {\n this.activeIndex = null;\n }\n },\n getMigratingConfig: function getMigratingConfig() {\n return {\n props: {\n 'theme': 'theme is removed.'\n }\n };\n },\n getColorChannels: function getColorChannels(color) {\n color = color.replace('#', '');\n if (/^[0-9a-fA-F]{3}$/.test(color)) {\n color = color.split('');\n for (var i = 2; i >= 0; i--) {\n color.splice(i, 0, color[i]);\n }\n color = color.join('');\n }\n if (/^[0-9a-fA-F]{6}$/.test(color)) {\n return {\n red: parseInt(color.slice(0, 2), 16),\n green: parseInt(color.slice(2, 4), 16),\n blue: parseInt(color.slice(4, 6), 16)\n };\n } else {\n return {\n red: 255,\n green: 255,\n blue: 255\n };\n }\n },\n mixColor: function mixColor(color, percent) {\n var _getColorChannels = this.getColorChannels(color),\n red = _getColorChannels.red,\n green = _getColorChannels.green,\n blue = _getColorChannels.blue;\n\n if (percent > 0) {\n // shade given color\n red *= 1 - percent;\n green *= 1 - percent;\n blue *= 1 - percent;\n } else {\n // tint given color\n red += (255 - red) * percent;\n green += (255 - green) * percent;\n blue += (255 - blue) * percent;\n }\n return 'rgb(' + Math.round(red) + ', ' + Math.round(green) + ', ' + Math.round(blue) + ')';\n },\n addItem: function addItem(item) {\n this.$set(this.items, item.index, item);\n },\n removeItem: function removeItem(item) {\n delete this.items[item.index];\n },\n addSubmenu: function addSubmenu(item) {\n this.$set(this.submenus, item.index, item);\n },\n removeSubmenu: function removeSubmenu(item) {\n delete this.submenus[item.index];\n },\n openMenu: function openMenu(index, indexPath) {\n var openedMenus = this.openedMenus;\n if (openedMenus.indexOf(index) !== -1) return;\n // 将不在该菜单路径下的其余菜单收起\n // collapse all menu that are not under current menu item\n if (this.uniqueOpened) {\n this.openedMenus = openedMenus.filter(function (index) {\n return indexPath.indexOf(index) !== -1;\n });\n }\n this.openedMenus.push(index);\n },\n closeMenu: function closeMenu(index) {\n var i = this.openedMenus.indexOf(index);\n if (i !== -1) {\n this.openedMenus.splice(i, 1);\n }\n },\n handleSubmenuClick: function handleSubmenuClick(submenu) {\n var index = submenu.index,\n indexPath = submenu.indexPath;\n\n var isOpened = this.openedMenus.indexOf(index) !== -1;\n\n if (isOpened) {\n this.closeMenu(index);\n this.$emit('close', index, indexPath);\n } else {\n this.openMenu(index, indexPath);\n this.$emit('open', index, indexPath);\n }\n },\n handleItemClick: function handleItemClick(item) {\n var _this = this;\n\n var index = item.index,\n indexPath = item.indexPath;\n\n var oldActiveIndex = this.activeIndex;\n var hasIndex = item.index !== null;\n\n if (hasIndex) {\n this.activeIndex = item.index;\n }\n\n this.$emit('select', index, indexPath, item);\n\n if (this.mode === 'horizontal' || this.collapse) {\n this.openedMenus = [];\n }\n\n if (this.router && hasIndex) {\n this.routeToItem(item, function (error) {\n _this.activeIndex = oldActiveIndex;\n if (error) {\n // vue-router 3.1.0+ push/replace cause NavigationDuplicated error \n // https://github.com/ElemeFE/element/issues/17044\n if (error.name === 'NavigationDuplicated') return;\n console.error(error);\n }\n });\n }\n },\n\n // 初始化展开菜单\n // initialize opened menu\n initOpenedMenu: function initOpenedMenu() {\n var _this2 = this;\n\n var index = this.activeIndex;\n var activeItem = this.items[index];\n if (!activeItem || this.mode === 'horizontal' || this.collapse) return;\n\n var indexPath = activeItem.indexPath;\n\n // 展开该菜单项的路径上所有子菜单\n // expand all submenus of the menu item\n indexPath.forEach(function (index) {\n var submenu = _this2.submenus[index];\n submenu && _this2.openMenu(index, submenu.indexPath);\n });\n },\n routeToItem: function routeToItem(item, onError) {\n var route = item.route || item.index;\n try {\n this.$router.push(route, function () {}, onError);\n } catch (e) {\n console.error(e);\n }\n },\n open: function open(index) {\n var _this3 = this;\n\n var indexPath = this.submenus[index.toString()].indexPath;\n\n indexPath.forEach(function (i) {\n return _this3.openMenu(i, indexPath);\n });\n },\n close: function close(index) {\n this.closeMenu(index);\n }\n },\n mounted: function mounted() {\n this.initOpenedMenu();\n this.$on('item-click', this.handleItemClick);\n this.$on('submenu-click', this.handleSubmenuClick);\n if (this.mode === 'horizontal') {\n new aria_menubar(this.$el); // eslint-disable-line\n }\n this.$watch('items', this.updateActiveIndex);\n }\n});\n// CONCATENATED MODULE: ./packages/menu/src/menu.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_menuvue_type_script_lang_js_ = (menuvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/menu/src/menu.vue\nvar menu_render, menu_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar menu_component = normalizeComponent(\n src_menuvue_type_script_lang_js_,\n menu_render,\n menu_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var menu_api; }\nmenu_component.options.__file = \"packages/menu/src/menu.vue\"\n/* harmony default export */ var src_menu = (menu_component.exports);\n// CONCATENATED MODULE: ./packages/menu/index.js\n\n\n/* istanbul ignore next */\nsrc_menu.install = function (Vue) {\n Vue.component(src_menu.name, src_menu);\n};\n\n/* harmony default export */ var packages_menu = (src_menu);\n// EXTERNAL MODULE: external \"element-ui/lib/transitions/collapse-transition\"\nvar collapse_transition_ = __webpack_require__(21);\nvar collapse_transition_default = /*#__PURE__*/__webpack_require__.n(collapse_transition_);\n\n// CONCATENATED MODULE: ./packages/menu/src/menu-mixin.js\n/* harmony default export */ var menu_mixin = ({\n inject: ['rootMenu'],\n computed: {\n indexPath: function indexPath() {\n var path = [this.index];\n var parent = this.$parent;\n while (parent.$options.componentName !== 'ElMenu') {\n if (parent.index) {\n path.unshift(parent.index);\n }\n parent = parent.$parent;\n }\n return path;\n },\n parentMenu: function parentMenu() {\n var parent = this.$parent;\n while (parent && ['ElMenu', 'ElSubmenu'].indexOf(parent.$options.componentName) === -1) {\n parent = parent.$parent;\n }\n return parent;\n },\n paddingStyle: function paddingStyle() {\n if (this.rootMenu.mode !== 'vertical') return {};\n\n var padding = 20;\n var parent = this.$parent;\n\n if (this.rootMenu.collapse) {\n padding = 20;\n } else {\n while (parent && parent.$options.componentName !== 'ElMenu') {\n if (parent.$options.componentName === 'ElSubmenu') {\n padding += 20;\n }\n parent = parent.$parent;\n }\n }\n return { paddingLeft: padding + 'px' };\n }\n }\n});\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/submenu.vue?vue&type=script&lang=js&\n\n\n\n\n\n\nvar poperMixins = {\n props: {\n transformOrigin: {\n type: [Boolean, String],\n default: false\n },\n offset: vue_popper_default.a.props.offset,\n boundariesPadding: vue_popper_default.a.props.boundariesPadding,\n popperOptions: vue_popper_default.a.props.popperOptions\n },\n data: vue_popper_default.a.data,\n methods: vue_popper_default.a.methods,\n beforeDestroy: vue_popper_default.a.beforeDestroy,\n deactivated: vue_popper_default.a.deactivated\n};\n\n/* harmony default export */ var submenuvue_type_script_lang_js_ = ({\n name: 'ElSubmenu',\n\n componentName: 'ElSubmenu',\n\n mixins: [menu_mixin, emitter_default.a, poperMixins],\n\n components: { ElCollapseTransition: collapse_transition_default.a },\n\n props: {\n index: {\n type: String,\n required: true\n },\n showTimeout: {\n type: Number,\n default: 300\n },\n hideTimeout: {\n type: Number,\n default: 300\n },\n popperClass: String,\n disabled: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: undefined\n }\n },\n\n data: function data() {\n return {\n popperJS: null,\n timeout: null,\n items: {},\n submenus: {},\n mouseInChild: false\n };\n },\n\n watch: {\n opened: function opened(val) {\n var _this = this;\n\n if (this.isMenuPopup) {\n this.$nextTick(function (_) {\n _this.updatePopper();\n });\n }\n }\n },\n computed: {\n // popper option\n appendToBody: function appendToBody() {\n return this.popperAppendToBody === undefined ? this.isFirstLevel : this.popperAppendToBody;\n },\n menuTransitionName: function menuTransitionName() {\n return this.rootMenu.collapse ? 'el-zoom-in-left' : 'el-zoom-in-top';\n },\n opened: function opened() {\n return this.rootMenu.openedMenus.indexOf(this.index) > -1;\n },\n active: function active() {\n var isActive = false;\n var submenus = this.submenus;\n var items = this.items;\n\n Object.keys(items).forEach(function (index) {\n if (items[index].active) {\n isActive = true;\n }\n });\n\n Object.keys(submenus).forEach(function (index) {\n if (submenus[index].active) {\n isActive = true;\n }\n });\n\n return isActive;\n },\n hoverBackground: function hoverBackground() {\n return this.rootMenu.hoverBackground;\n },\n backgroundColor: function backgroundColor() {\n return this.rootMenu.backgroundColor || '';\n },\n activeTextColor: function activeTextColor() {\n return this.rootMenu.activeTextColor || '';\n },\n textColor: function textColor() {\n return this.rootMenu.textColor || '';\n },\n mode: function mode() {\n return this.rootMenu.mode;\n },\n isMenuPopup: function isMenuPopup() {\n return this.rootMenu.isMenuPopup;\n },\n titleStyle: function titleStyle() {\n if (this.mode !== 'horizontal') {\n return {\n color: this.textColor\n };\n }\n return {\n borderBottomColor: this.active ? this.rootMenu.activeTextColor ? this.activeTextColor : '' : 'transparent',\n color: this.active ? this.activeTextColor : this.textColor\n };\n },\n isFirstLevel: function isFirstLevel() {\n var isFirstLevel = true;\n var parent = this.$parent;\n while (parent && parent !== this.rootMenu) {\n if (['ElSubmenu', 'ElMenuItemGroup'].indexOf(parent.$options.componentName) > -1) {\n isFirstLevel = false;\n break;\n } else {\n parent = parent.$parent;\n }\n }\n return isFirstLevel;\n }\n },\n methods: {\n handleCollapseToggle: function handleCollapseToggle(value) {\n if (value) {\n this.initPopper();\n } else {\n this.doDestroy();\n }\n },\n addItem: function addItem(item) {\n this.$set(this.items, item.index, item);\n },\n removeItem: function removeItem(item) {\n delete this.items[item.index];\n },\n addSubmenu: function addSubmenu(item) {\n this.$set(this.submenus, item.index, item);\n },\n removeSubmenu: function removeSubmenu(item) {\n delete this.submenus[item.index];\n },\n handleClick: function handleClick() {\n var rootMenu = this.rootMenu,\n disabled = this.disabled;\n\n if (rootMenu.menuTrigger === 'hover' && rootMenu.mode === 'horizontal' || rootMenu.collapse && rootMenu.mode === 'vertical' || disabled) {\n return;\n }\n this.dispatch('ElMenu', 'submenu-click', this);\n },\n handleMouseenter: function handleMouseenter(event) {\n var _this2 = this;\n\n var showTimeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.showTimeout;\n\n\n if (!('ActiveXObject' in window) && event.type === 'focus' && !event.relatedTarget) {\n return;\n }\n var rootMenu = this.rootMenu,\n disabled = this.disabled;\n\n if (rootMenu.menuTrigger === 'click' && rootMenu.mode === 'horizontal' || !rootMenu.collapse && rootMenu.mode === 'vertical' || disabled) {\n return;\n }\n this.dispatch('ElSubmenu', 'mouse-enter-child');\n clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n _this2.rootMenu.openMenu(_this2.index, _this2.indexPath);\n }, showTimeout);\n\n if (this.appendToBody) {\n this.$parent.$el.dispatchEvent(new MouseEvent('mouseenter'));\n }\n },\n handleMouseleave: function handleMouseleave() {\n var _this3 = this;\n\n var deepDispatch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var rootMenu = this.rootMenu;\n\n if (rootMenu.menuTrigger === 'click' && rootMenu.mode === 'horizontal' || !rootMenu.collapse && rootMenu.mode === 'vertical') {\n return;\n }\n this.dispatch('ElSubmenu', 'mouse-leave-child');\n clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n !_this3.mouseInChild && _this3.rootMenu.closeMenu(_this3.index);\n }, this.hideTimeout);\n\n if (this.appendToBody && deepDispatch) {\n if (this.$parent.$options.name === 'ElSubmenu') {\n this.$parent.handleMouseleave(true);\n }\n }\n },\n handleTitleMouseenter: function handleTitleMouseenter() {\n if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return;\n var title = this.$refs['submenu-title'];\n title && (title.style.backgroundColor = this.rootMenu.hoverBackground);\n },\n handleTitleMouseleave: function handleTitleMouseleave() {\n if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return;\n var title = this.$refs['submenu-title'];\n title && (title.style.backgroundColor = this.rootMenu.backgroundColor || '');\n },\n updatePlacement: function updatePlacement() {\n this.currentPlacement = this.mode === 'horizontal' && this.isFirstLevel ? 'bottom-start' : 'right-start';\n },\n initPopper: function initPopper() {\n this.referenceElm = this.$el;\n this.popperElm = this.$refs.menu;\n this.updatePlacement();\n }\n },\n created: function created() {\n var _this4 = this;\n\n this.$on('toggle-collapse', this.handleCollapseToggle);\n this.$on('mouse-enter-child', function () {\n _this4.mouseInChild = true;\n clearTimeout(_this4.timeout);\n });\n this.$on('mouse-leave-child', function () {\n _this4.mouseInChild = false;\n clearTimeout(_this4.timeout);\n });\n },\n mounted: function mounted() {\n this.parentMenu.addSubmenu(this);\n this.rootMenu.addSubmenu(this);\n this.initPopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.parentMenu.removeSubmenu(this);\n this.rootMenu.removeSubmenu(this);\n },\n render: function render(h) {\n var _this5 = this;\n\n var active = this.active,\n opened = this.opened,\n paddingStyle = this.paddingStyle,\n titleStyle = this.titleStyle,\n backgroundColor = this.backgroundColor,\n rootMenu = this.rootMenu,\n currentPlacement = this.currentPlacement,\n menuTransitionName = this.menuTransitionName,\n mode = this.mode,\n disabled = this.disabled,\n popperClass = this.popperClass,\n $slots = this.$slots,\n isFirstLevel = this.isFirstLevel;\n\n\n var popupMenu = h(\n 'transition',\n {\n attrs: { name: menuTransitionName }\n },\n [h(\n 'div',\n {\n ref: 'menu',\n directives: [{\n name: 'show',\n value: opened\n }],\n\n 'class': ['el-menu--' + mode, popperClass],\n on: {\n 'mouseenter': function mouseenter($event) {\n return _this5.handleMouseenter($event, 100);\n },\n 'mouseleave': function mouseleave() {\n return _this5.handleMouseleave(true);\n },\n 'focus': function focus($event) {\n return _this5.handleMouseenter($event, 100);\n }\n }\n },\n [h(\n 'ul',\n {\n attrs: {\n role: 'menu'\n },\n 'class': ['el-menu el-menu--popup', 'el-menu--popup-' + currentPlacement],\n style: { backgroundColor: rootMenu.backgroundColor || '' } },\n [$slots.default]\n )]\n )]\n );\n\n var inlineMenu = h('el-collapse-transition', [h(\n 'ul',\n {\n attrs: {\n role: 'menu'\n },\n 'class': 'el-menu el-menu--inline',\n directives: [{\n name: 'show',\n value: opened\n }],\n\n style: { backgroundColor: rootMenu.backgroundColor || '' } },\n [$slots.default]\n )]);\n\n var submenuTitleIcon = rootMenu.mode === 'horizontal' && isFirstLevel || rootMenu.mode === 'vertical' && !rootMenu.collapse ? 'el-icon-arrow-down' : 'el-icon-arrow-right';\n\n return h(\n 'li',\n {\n 'class': {\n 'el-submenu': true,\n 'is-active': active,\n 'is-opened': opened,\n 'is-disabled': disabled\n },\n attrs: { role: 'menuitem',\n 'aria-haspopup': 'true',\n 'aria-expanded': opened\n },\n on: {\n 'mouseenter': this.handleMouseenter,\n 'mouseleave': function mouseleave() {\n return _this5.handleMouseleave(false);\n },\n 'focus': this.handleMouseenter\n }\n },\n [h(\n 'div',\n {\n 'class': 'el-submenu__title',\n ref: 'submenu-title',\n on: {\n 'click': this.handleClick,\n 'mouseenter': this.handleTitleMouseenter,\n 'mouseleave': this.handleTitleMouseleave\n },\n\n style: [paddingStyle, titleStyle, { backgroundColor: backgroundColor }]\n },\n [$slots.title, h('i', { 'class': ['el-submenu__icon-arrow', submenuTitleIcon] })]\n ), this.isMenuPopup ? popupMenu : inlineMenu]\n );\n }\n});\n// CONCATENATED MODULE: ./packages/menu/src/submenu.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_submenuvue_type_script_lang_js_ = (submenuvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/menu/src/submenu.vue\nvar submenu_render, submenu_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar submenu_component = normalizeComponent(\n src_submenuvue_type_script_lang_js_,\n submenu_render,\n submenu_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var submenu_api; }\nsubmenu_component.options.__file = \"packages/menu/src/submenu.vue\"\n/* harmony default export */ var submenu = (submenu_component.exports);\n// CONCATENATED MODULE: ./packages/submenu/index.js\n\n\n/* istanbul ignore next */\nsubmenu.install = function (Vue) {\n Vue.component(submenu.name, submenu);\n};\n\n/* harmony default export */ var packages_submenu = (submenu);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item.vue?vue&type=template&id=2a5dbfea&\nvar menu_itemvue_type_template_id_2a5dbfea_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"li\",\n {\n staticClass: \"el-menu-item\",\n class: {\n \"is-active\": _vm.active,\n \"is-disabled\": _vm.disabled\n },\n style: [\n _vm.paddingStyle,\n _vm.itemStyle,\n { backgroundColor: _vm.backgroundColor }\n ],\n attrs: { role: \"menuitem\", tabindex: \"-1\" },\n on: {\n click: _vm.handleClick,\n mouseenter: _vm.onMouseEnter,\n focus: _vm.onMouseEnter,\n blur: _vm.onMouseLeave,\n mouseleave: _vm.onMouseLeave\n }\n },\n [\n _vm.parentMenu.$options.componentName === \"ElMenu\" &&\n _vm.rootMenu.collapse &&\n _vm.$slots.title\n ? _c(\"el-tooltip\", { attrs: { effect: \"dark\", placement: \"right\" } }, [\n _c(\n \"div\",\n { attrs: { slot: \"content\" }, slot: \"content\" },\n [_vm._t(\"title\")],\n 2\n ),\n _c(\n \"div\",\n {\n staticStyle: {\n position: \"absolute\",\n left: \"0\",\n top: \"0\",\n height: \"100%\",\n width: \"100%\",\n display: \"inline-block\",\n \"box-sizing\": \"border-box\",\n padding: \"0 20px\"\n }\n },\n [_vm._t(\"default\")],\n 2\n )\n ])\n : [_vm._t(\"default\"), _vm._t(\"title\")]\n ],\n 2\n )\n}\nvar menu_itemvue_type_template_id_2a5dbfea_staticRenderFns = []\nmenu_itemvue_type_template_id_2a5dbfea_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/menu/src/menu-item.vue?vue&type=template&id=2a5dbfea&\n\n// EXTERNAL MODULE: external \"element-ui/lib/tooltip\"\nvar tooltip_ = __webpack_require__(26);\nvar tooltip_default = /*#__PURE__*/__webpack_require__.n(tooltip_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ var menu_itemvue_type_script_lang_js_ = ({\n name: 'ElMenuItem',\n\n componentName: 'ElMenuItem',\n\n mixins: [menu_mixin, emitter_default.a],\n\n components: { ElTooltip: tooltip_default.a },\n\n props: {\n index: {\n default: null,\n validator: function validator(val) {\n return typeof val === 'string' || val === null;\n }\n },\n route: [String, Object],\n disabled: Boolean\n },\n computed: {\n active: function active() {\n return this.index === this.rootMenu.activeIndex;\n },\n hoverBackground: function hoverBackground() {\n return this.rootMenu.hoverBackground;\n },\n backgroundColor: function backgroundColor() {\n return this.rootMenu.backgroundColor || '';\n },\n activeTextColor: function activeTextColor() {\n return this.rootMenu.activeTextColor || '';\n },\n textColor: function textColor() {\n return this.rootMenu.textColor || '';\n },\n mode: function mode() {\n return this.rootMenu.mode;\n },\n itemStyle: function itemStyle() {\n var style = {\n color: this.active ? this.activeTextColor : this.textColor\n };\n if (this.mode === 'horizontal' && !this.isNested) {\n style.borderBottomColor = this.active ? this.rootMenu.activeTextColor ? this.activeTextColor : '' : 'transparent';\n }\n return style;\n },\n isNested: function isNested() {\n return this.parentMenu !== this.rootMenu;\n }\n },\n methods: {\n onMouseEnter: function onMouseEnter() {\n if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return;\n this.$el.style.backgroundColor = this.hoverBackground;\n },\n onMouseLeave: function onMouseLeave() {\n if (this.mode === 'horizontal' && !this.rootMenu.backgroundColor) return;\n this.$el.style.backgroundColor = this.backgroundColor;\n },\n handleClick: function handleClick() {\n if (!this.disabled) {\n this.dispatch('ElMenu', 'item-click', this);\n this.$emit('click', this);\n }\n }\n },\n mounted: function mounted() {\n this.parentMenu.addItem(this);\n this.rootMenu.addItem(this);\n },\n beforeDestroy: function beforeDestroy() {\n this.parentMenu.removeItem(this);\n this.rootMenu.removeItem(this);\n }\n});\n// CONCATENATED MODULE: ./packages/menu/src/menu-item.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_menu_itemvue_type_script_lang_js_ = (menu_itemvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/menu/src/menu-item.vue\n\n\n\n\n\n/* normalize component */\n\nvar menu_item_component = normalizeComponent(\n src_menu_itemvue_type_script_lang_js_,\n menu_itemvue_type_template_id_2a5dbfea_render,\n menu_itemvue_type_template_id_2a5dbfea_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var menu_item_api; }\nmenu_item_component.options.__file = \"packages/menu/src/menu-item.vue\"\n/* harmony default export */ var menu_item = (menu_item_component.exports);\n// CONCATENATED MODULE: ./packages/menu-item/index.js\n\n\n/* istanbul ignore next */\nmenu_item.install = function (Vue) {\n Vue.component(menu_item.name, menu_item);\n};\n\n/* harmony default export */ var packages_menu_item = (menu_item);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item-group.vue?vue&type=template&id=543b7bdc&\nvar menu_item_groupvue_type_template_id_543b7bdc_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"li\", { staticClass: \"el-menu-item-group\" }, [\n _c(\n \"div\",\n {\n staticClass: \"el-menu-item-group__title\",\n style: { paddingLeft: _vm.levelPadding + \"px\" }\n },\n [!_vm.$slots.title ? [_vm._v(_vm._s(_vm.title))] : _vm._t(\"title\")],\n 2\n ),\n _c(\"ul\", [_vm._t(\"default\")], 2)\n ])\n}\nvar menu_item_groupvue_type_template_id_543b7bdc_staticRenderFns = []\nmenu_item_groupvue_type_template_id_543b7bdc_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue?vue&type=template&id=543b7bdc&\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu-item-group.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ var menu_item_groupvue_type_script_lang_js_ = ({\n name: 'ElMenuItemGroup',\n\n componentName: 'ElMenuItemGroup',\n\n inject: ['rootMenu'],\n props: {\n title: {\n type: String\n }\n },\n data: function data() {\n return {\n paddingLeft: 20\n };\n },\n\n computed: {\n levelPadding: function levelPadding() {\n var padding = 20;\n var parent = this.$parent;\n if (this.rootMenu.collapse) return 20;\n while (parent && parent.$options.componentName !== 'ElMenu') {\n if (parent.$options.componentName === 'ElSubmenu') {\n padding += 20;\n }\n parent = parent.$parent;\n }\n return padding;\n }\n }\n});\n// CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_menu_item_groupvue_type_script_lang_js_ = (menu_item_groupvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/menu/src/menu-item-group.vue\n\n\n\n\n\n/* normalize component */\n\nvar menu_item_group_component = normalizeComponent(\n src_menu_item_groupvue_type_script_lang_js_,\n menu_item_groupvue_type_template_id_543b7bdc_render,\n menu_item_groupvue_type_template_id_543b7bdc_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var menu_item_group_api; }\nmenu_item_group_component.options.__file = \"packages/menu/src/menu-item-group.vue\"\n/* harmony default export */ var menu_item_group = (menu_item_group_component.exports);\n// CONCATENATED MODULE: ./packages/menu-item-group/index.js\n\n\n/* istanbul ignore next */\nmenu_item_group.install = function (Vue) {\n Vue.component(menu_item_group.name, menu_item_group);\n};\n\n/* harmony default export */ var packages_menu_item_group = (menu_item_group);\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=template&id=343dd774&\nvar inputvue_type_template_id_343dd774_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n class: [\n _vm.type === \"textarea\" ? \"el-textarea\" : \"el-input\",\n _vm.inputSize ? \"el-input--\" + _vm.inputSize : \"\",\n {\n \"is-disabled\": _vm.inputDisabled,\n \"is-exceed\": _vm.inputExceed,\n \"el-input-group\": _vm.$slots.prepend || _vm.$slots.append,\n \"el-input-group--append\": _vm.$slots.append,\n \"el-input-group--prepend\": _vm.$slots.prepend,\n \"el-input--prefix\": _vm.$slots.prefix || _vm.prefixIcon,\n \"el-input--suffix\":\n _vm.$slots.suffix ||\n _vm.suffixIcon ||\n _vm.clearable ||\n _vm.showPassword\n }\n ],\n on: {\n mouseenter: function($event) {\n _vm.hovering = true\n },\n mouseleave: function($event) {\n _vm.hovering = false\n }\n }\n },\n [\n _vm.type !== \"textarea\"\n ? [\n _vm.$slots.prepend\n ? _c(\n \"div\",\n { staticClass: \"el-input-group__prepend\" },\n [_vm._t(\"prepend\")],\n 2\n )\n : _vm._e(),\n _vm.type !== \"textarea\"\n ? _c(\n \"input\",\n _vm._b(\n {\n ref: \"input\",\n staticClass: \"el-input__inner\",\n attrs: {\n tabindex: _vm.tabindex,\n type: _vm.showPassword\n ? _vm.passwordVisible\n ? \"text\"\n : \"password\"\n : _vm.type,\n disabled: _vm.inputDisabled,\n readonly: _vm.readonly,\n autocomplete: _vm.autoComplete || _vm.autocomplete,\n \"aria-label\": _vm.label\n },\n on: {\n compositionstart: _vm.handleCompositionStart,\n compositionupdate: _vm.handleCompositionUpdate,\n compositionend: _vm.handleCompositionEnd,\n input: _vm.handleInput,\n focus: _vm.handleFocus,\n blur: _vm.handleBlur,\n change: _vm.handleChange\n }\n },\n \"input\",\n _vm.$attrs,\n false\n )\n )\n : _vm._e(),\n _vm.$slots.prefix || _vm.prefixIcon\n ? _c(\n \"span\",\n { staticClass: \"el-input__prefix\" },\n [\n _vm._t(\"prefix\"),\n _vm.prefixIcon\n ? _c(\"i\", {\n staticClass: \"el-input__icon\",\n class: _vm.prefixIcon\n })\n : _vm._e()\n ],\n 2\n )\n : _vm._e(),\n _vm.getSuffixVisible()\n ? _c(\"span\", { staticClass: \"el-input__suffix\" }, [\n _c(\n \"span\",\n { staticClass: \"el-input__suffix-inner\" },\n [\n !_vm.showClear ||\n !_vm.showPwdVisible ||\n !_vm.isWordLimitVisible\n ? [\n _vm._t(\"suffix\"),\n _vm.suffixIcon\n ? _c(\"i\", {\n staticClass: \"el-input__icon\",\n class: _vm.suffixIcon\n })\n : _vm._e()\n ]\n : _vm._e(),\n _vm.showClear\n ? _c(\"i\", {\n staticClass:\n \"el-input__icon el-icon-circle-close el-input__clear\",\n on: {\n mousedown: function($event) {\n $event.preventDefault()\n },\n click: _vm.clear\n }\n })\n : _vm._e(),\n _vm.showPwdVisible\n ? _c(\"i\", {\n staticClass:\n \"el-input__icon el-icon-view el-input__clear\",\n on: { click: _vm.handlePasswordVisible }\n })\n : _vm._e(),\n _vm.isWordLimitVisible\n ? _c(\"span\", { staticClass: \"el-input__count\" }, [\n _c(\n \"span\",\n { staticClass: \"el-input__count-inner\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.textLength) +\n \"/\" +\n _vm._s(_vm.upperLimit) +\n \"\\n \"\n )\n ]\n )\n ])\n : _vm._e()\n ],\n 2\n ),\n _vm.validateState\n ? _c(\"i\", {\n staticClass: \"el-input__icon\",\n class: [\"el-input__validateIcon\", _vm.validateIcon]\n })\n : _vm._e()\n ])\n : _vm._e(),\n _vm.$slots.append\n ? _c(\n \"div\",\n { staticClass: \"el-input-group__append\" },\n [_vm._t(\"append\")],\n 2\n )\n : _vm._e()\n ]\n : _c(\n \"textarea\",\n _vm._b(\n {\n ref: \"textarea\",\n staticClass: \"el-textarea__inner\",\n style: _vm.textareaStyle,\n attrs: {\n tabindex: _vm.tabindex,\n disabled: _vm.inputDisabled,\n readonly: _vm.readonly,\n autocomplete: _vm.autoComplete || _vm.autocomplete,\n \"aria-label\": _vm.label\n },\n on: {\n compositionstart: _vm.handleCompositionStart,\n compositionupdate: _vm.handleCompositionUpdate,\n compositionend: _vm.handleCompositionEnd,\n input: _vm.handleInput,\n focus: _vm.handleFocus,\n blur: _vm.handleBlur,\n change: _vm.handleChange\n }\n },\n \"textarea\",\n _vm.$attrs,\n false\n )\n ),\n _vm.isWordLimitVisible && _vm.type === \"textarea\"\n ? _c(\"span\", { staticClass: \"el-input__count\" }, [\n _vm._v(_vm._s(_vm.textLength) + \"/\" + _vm._s(_vm.upperLimit))\n ])\n : _vm._e()\n ],\n 2\n )\n}\nvar inputvue_type_template_id_343dd774_staticRenderFns = []\ninputvue_type_template_id_343dd774_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/input/src/input.vue?vue&type=template&id=343dd774&\n\n// CONCATENATED MODULE: ./packages/input/src/calcTextareaHeight.js\nvar hiddenTextarea = void 0;\n\nvar HIDDEN_STYLE = '\\n height:0 !important;\\n visibility:hidden !important;\\n overflow:hidden !important;\\n position:absolute !important;\\n z-index:-1000 !important;\\n top:0 !important;\\n right:0 !important\\n';\n\nvar CONTEXT_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing'];\n\nfunction calculateNodeStyling(targetElement) {\n var style = window.getComputedStyle(targetElement);\n\n var boxSizing = style.getPropertyValue('box-sizing');\n\n var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));\n\n var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));\n\n var contextStyle = CONTEXT_STYLE.map(function (name) {\n return name + ':' + style.getPropertyValue(name);\n }).join(';');\n\n return { contextStyle: contextStyle, paddingSize: paddingSize, borderSize: borderSize, boxSizing: boxSizing };\n}\n\nfunction calcTextareaHeight(targetElement) {\n var minRows = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var maxRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n document.body.appendChild(hiddenTextarea);\n }\n\n var _calculateNodeStyling = calculateNodeStyling(targetElement),\n paddingSize = _calculateNodeStyling.paddingSize,\n borderSize = _calculateNodeStyling.borderSize,\n boxSizing = _calculateNodeStyling.boxSizing,\n contextStyle = _calculateNodeStyling.contextStyle;\n\n hiddenTextarea.setAttribute('style', contextStyle + ';' + HIDDEN_STYLE);\n hiddenTextarea.value = targetElement.value || targetElement.placeholder || '';\n\n var height = hiddenTextarea.scrollHeight;\n var result = {};\n\n if (boxSizing === 'border-box') {\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n height = height - paddingSize;\n }\n\n hiddenTextarea.value = '';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null) {\n var minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n result.minHeight = minHeight + 'px';\n }\n if (maxRows !== null) {\n var maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n result.height = height + 'px';\n hiddenTextarea.parentNode && hiddenTextarea.parentNode.removeChild(hiddenTextarea);\n hiddenTextarea = null;\n return result;\n};\n// EXTERNAL MODULE: external \"element-ui/lib/utils/merge\"\nvar merge_ = __webpack_require__(7);\nvar merge_default = /*#__PURE__*/__webpack_require__.n(merge_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\nvar shared_ = __webpack_require__(19);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/input/src/input.vue?vue&type=script&lang=js&\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ var inputvue_type_script_lang_js_ = ({\n name: 'ElInput',\n\n componentName: 'ElInput',\n\n mixins: [emitter_default.a, migrating_default.a],\n\n inheritAttrs: false,\n\n inject: {\n elForm: {\n default: ''\n },\n elFormItem: {\n default: ''\n }\n },\n\n data: function data() {\n return {\n textareaCalcStyle: {},\n hovering: false,\n focused: false,\n isComposing: false,\n passwordVisible: false\n };\n },\n\n\n props: {\n value: [String, Number],\n size: String,\n resize: String,\n form: String,\n disabled: Boolean,\n readonly: Boolean,\n type: {\n type: String,\n default: 'text'\n },\n autosize: {\n type: [Boolean, Object],\n default: false\n },\n autocomplete: {\n type: String,\n default: 'off'\n },\n /** @Deprecated in next major version */\n autoComplete: {\n type: String,\n validator: function validator(val) {\n false && false;\n return true;\n }\n },\n validateEvent: {\n type: Boolean,\n default: true\n },\n suffixIcon: String,\n prefixIcon: String,\n label: String,\n clearable: {\n type: Boolean,\n default: false\n },\n showPassword: {\n type: Boolean,\n default: false\n },\n showWordLimit: {\n type: Boolean,\n default: false\n },\n tabindex: String\n },\n\n computed: {\n _elFormItemSize: function _elFormItemSize() {\n return (this.elFormItem || {}).elFormItemSize;\n },\n validateState: function validateState() {\n return this.elFormItem ? this.elFormItem.validateState : '';\n },\n needStatusIcon: function needStatusIcon() {\n return this.elForm ? this.elForm.statusIcon : false;\n },\n validateIcon: function validateIcon() {\n return {\n validating: 'el-icon-loading',\n success: 'el-icon-circle-check',\n error: 'el-icon-circle-close'\n }[this.validateState];\n },\n textareaStyle: function textareaStyle() {\n return merge_default()({}, this.textareaCalcStyle, { resize: this.resize });\n },\n inputSize: function inputSize() {\n return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;\n },\n inputDisabled: function inputDisabled() {\n return this.disabled || (this.elForm || {}).disabled;\n },\n nativeInputValue: function nativeInputValue() {\n return this.value === null || this.value === undefined ? '' : String(this.value);\n },\n showClear: function showClear() {\n return this.clearable && !this.inputDisabled && !this.readonly && this.nativeInputValue && (this.focused || this.hovering);\n },\n showPwdVisible: function showPwdVisible() {\n return this.showPassword && !this.inputDisabled && !this.readonly && (!!this.nativeInputValue || this.focused);\n },\n isWordLimitVisible: function isWordLimitVisible() {\n return this.showWordLimit && this.$attrs.maxlength && (this.type === 'text' || this.type === 'textarea') && !this.inputDisabled && !this.readonly && !this.showPassword;\n },\n upperLimit: function upperLimit() {\n return this.$attrs.maxlength;\n },\n textLength: function textLength() {\n if (typeof this.value === 'number') {\n return String(this.value).length;\n }\n\n return (this.value || '').length;\n },\n inputExceed: function inputExceed() {\n // show exceed style if length of initial value greater then maxlength\n return this.isWordLimitVisible && this.textLength > this.upperLimit;\n }\n },\n\n watch: {\n value: function value(val) {\n this.$nextTick(this.resizeTextarea);\n if (this.validateEvent) {\n this.dispatch('ElFormItem', 'el.form.change', [val]);\n }\n },\n\n // native input value is set explicitly\n // do not use v-model / :value in template\n // see: https://github.com/ElemeFE/element/issues/14521\n nativeInputValue: function nativeInputValue() {\n this.setNativeInputValue();\n },\n\n // when change between and