{"version":3,"sources":["webpack:///./node_modules/echarts/lib/coord/cartesian/GridModel.js","webpack:///./node_modules/echarts/lib/coord/cartesian/AxisModel.js","webpack:///./node_modules/echarts/lib/coord/axisCommonTypes.js","webpack:///./node_modules/echarts/lib/coord/axisModelCreator.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Cartesian.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Cartesian2D.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Axis2D.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Grid.js","webpack:///./node_modules/echarts/lib/component/axis/axisSplitHelper.js","webpack:///./node_modules/echarts/lib/component/axis/CartesianAxisView.js","webpack:///./node_modules/echarts/lib/component/grid/installSimple.js","webpack:///./node_modules/echarts/lib/component/grid/install.js","webpack:///./node_modules/echarts/lib/component/grid.js"],"names":["_super","GridModel","apply","this","arguments","type","dependencies","layoutMode","defaultOption","show","z","left","top","right","bottom","containLabel","backgroundColor","borderWidth","borderColor","CartesianAxisModel","prototype","getCoordSysModel","getReferringComponents","models","AXIS_TYPES","value","category","time","log","axisModelCreator","registers","axisName","BaseAxisModelClass","extraDefaultOption","v","axisType","axisDefault","AxisModel","_this","mergeDefaultAndTheme","option","ecModel","inputPositionParams","themeModel","getTheme","get","getDefaultOption","getAxisType","optionUpdated","thisOption","__ordinalMeta","OrdinalMeta","createByAxisModel","getCategories","rawData","data","categories","getOrdinalMeta","registerComponentModel","registerSubTypeDefaulter","Cartesian","name","_dimList","_axes","getAxis","dim","getAxes","getAxesByScale","scaleType","toLowerCase","axis","scale","addAxis","push","cartesian2DDimensions","canCalculateAffineTransform","Cartesian2D","dimensions","calcAffineTransform","_transform","_invTransform","xAxisScale","yAxisScale","xScaleExtent","getExtent","yScaleExtent","start","dataToPoint","end","xScaleSpan","yScaleSpan","scaleX","scaleY","translateX","translateY","m","getBaseAxis","containPoint","point","axisX","axisY","contain","toLocalCoord","containData","containZone","data1","data2","zoneDiag1","zoneDiag2","area","getArea","zone","BoundingRect","intersect","clamp","out","xVal","yVal","isFinite","xAxis","yAxis","toGlobalCoord","dataToCoord","clampData","xScale","yScale","xAxisExtent","yAxisExtent","x","parse","y","Math","min","max","pointToData","coordToData","getOtherAxis","xExtent","getGlobalExtent","yExtent","width","height","Axis2D","coordExtent","position","call","index","isHorizontal","asc","ret","reverse","setCategorySortInfo","info","model","categorySortInfo","setSortInfo","Axis","Grid","gridModel","api","_coordsMap","_coordsList","_axesMap","_axesList","axisPointerEnabled","_initCartesian","getRect","_rect","update","axesMap","updateAxisTicks","axes","alignTo","axesIndices","len","length","axisNeedsAlign","i","idx","pop","_updateScale","onZeroRecords","fixAxisOnZero","resize","ignoreContainLabel","boxLayoutParams","getBoxLayoutParams","isContainLabel","gridRect","getWidth","getHeight","axesList","adjustAxes","extent","inverse","setExtent","updateAxisTransform","labelUnionRect","margin","coord","axisIndex","axesMapOnDim","slice","getCartesian","xAxisIndex","yAxisIndex","key","coordList","getCartesians","convertToPixel","finder","target","_findConvertTarget","cartesian","convertFromPixel","seriesModel","xAxisModel","yAxisModel","coordsList","coordinateSystem","componentIndex","grid","axisPositionUsed","axesCount","eachComponent","createAxisCreator","dimName","axisModel","isAxisUsedInTheGrid","axisPosition","isCategory","onBand","master","unionExtent","unionExtentFromData","Infinity","eachSeries","axesModelMap","getData","getTooltipAxes","baseAxes","otherAxes","baseAxis","otherAxis","create","grids","otherAxisDim","getAxesOnZeroOf","otherAxisOnZeroOf","onZero","onZeroAxisIndex","canOnZeroToAxis","hasOwnProperty","getOnZeroRecordKey","coordBase","axisExtent","axisExtentSum","inner","rectCoordAxisBuildSplitArea","axisView","axisGroup","isBlank","splitAreaModel","getModel","areaStyleModel","areaColors","ticksCoords","getTicksCoords","tickModel","areaColorsLen","lastSplitAreaColors","splitAreaColors","newSplitAreaColors","colorIndex","cIndex","tickValue","prev","areaStyle","getAreaStyle","tickCoord","set","add","anid","shape","style","fill","autoBatch","silent","rectCoordAxisHandleRemove","axisBuilderAttrs","selfBuilderAttrs","CartesianAxisView","axisPointerClass","render","payload","group","removeAll","oldAxisGroup","_axisGroup","layout","cartesianAxisHelper","axisBuilder","AxisBuilder","handleAutoShown","elementType","cartesians","getGroup","axisElementBuilders","isInitialSortFromBarRacing","isInitSort","graphic","remove","AxisView","splitLine","splitLineModel","lineStyleModel","lineColors","lineCount","p1","p2","lineStyle","getLineStyle","subPixelOptimize","x1","y1","x2","y2","stroke","minorSplitLine","minorSplitLineModel","minorTicksCoords","getMinorTicksCoords","k","splitArea","CartesianXAxisView","CartesianYAxisView","GridView","Rect","getItemStyle","z2","Component","extraOption","offset","install","registerComponentView","registerCoordinateSystem","registerPreprocessor"],"mappings":"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","file":"js/chunk-ffcdbf24-V2.10.1-1716256888054.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\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\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*/\nimport { __extends } from \"tslib\";\nimport ComponentModel from '../../model/Component.js';\n\nvar GridModel =\n/** @class */\nfunction (_super) {\n __extends(GridModel, _super);\n\n function GridModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n GridModel.type = 'grid';\n GridModel.dependencies = ['xAxis', 'yAxis'];\n GridModel.layoutMode = 'box';\n GridModel.defaultOption = {\n show: false,\n // zlevel: 0,\n z: 0,\n left: '10%',\n top: 60,\n right: '10%',\n bottom: 70,\n // If grid size contain label\n containLabel: false,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n backgroundColor: 'rgba(0,0,0,0)',\n borderWidth: 1,\n borderColor: '#ccc'\n };\n return GridModel;\n}(ComponentModel);\n\nexport default GridModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\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*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport ComponentModel from '../../model/Component.js';\nimport { AxisModelCommonMixin } from '../axisModelCommonMixin.js';\nimport { SINGLE_REFERRING } from '../../util/model.js';\n\nvar CartesianAxisModel =\n/** @class */\nfunction (_super) {\n __extends(CartesianAxisModel, _super);\n\n function CartesianAxisModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n CartesianAxisModel.prototype.getCoordSysModel = function () {\n return this.getReferringComponents('grid', SINGLE_REFERRING).models[0];\n };\n\n CartesianAxisModel.type = 'cartesian2dAxis';\n return CartesianAxisModel;\n}(ComponentModel);\n\nexport { CartesianAxisModel };\nzrUtil.mixin(CartesianAxisModel, AxisModelCommonMixin);\nexport default CartesianAxisModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\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*/\nexport var AXIS_TYPES = {\n value: 1,\n category: 1,\n time: 1,\n log: 1\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/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\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*/\nimport { __extends } from \"tslib\";\nimport axisDefault from './axisDefault.js';\nimport { getLayoutParams, mergeLayoutParam, fetchLayoutMode } from '../util/layout.js';\nimport OrdinalMeta from '../data/OrdinalMeta.js';\nimport { AXIS_TYPES } from './axisCommonTypes.js';\nimport { each, merge } from 'zrender/lib/core/util.js';\n/**\n * Generate sub axis model class\n * @param axisName 'x' 'y' 'radius' 'angle' 'parallel' ...\n */\n\nexport default function axisModelCreator(registers, axisName, BaseAxisModelClass, extraDefaultOption) {\n each(AXIS_TYPES, function (v, axisType) {\n var defaultOption = merge(merge({}, axisDefault[axisType], true), extraDefaultOption, true);\n\n var AxisModel =\n /** @class */\n function (_super) {\n __extends(AxisModel, _super);\n\n function AxisModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = axisName + 'Axis.' + axisType;\n return _this;\n }\n\n AxisModel.prototype.mergeDefaultAndTheme = function (option, ecModel) {\n var layoutMode = fetchLayoutMode(this);\n var inputPositionParams = layoutMode ? getLayoutParams(option) : {};\n var themeModel = ecModel.getTheme();\n merge(option, themeModel.get(axisType + 'Axis'));\n merge(option, this.getDefaultOption());\n option.type = getAxisType(option);\n\n if (layoutMode) {\n mergeLayoutParam(option, inputPositionParams, layoutMode);\n }\n };\n\n AxisModel.prototype.optionUpdated = function () {\n var thisOption = this.option;\n\n if (thisOption.type === 'category') {\n this.__ordinalMeta = OrdinalMeta.createByAxisModel(this);\n }\n };\n /**\n * Should not be called before all of 'getInitailData' finished.\n * Because categories are collected during initializing data.\n */\n\n\n AxisModel.prototype.getCategories = function (rawData) {\n var option = this.option; // FIXME\n // warning if called before all of 'getInitailData' finished.\n\n if (option.type === 'category') {\n if (rawData) {\n return option.data;\n }\n\n return this.__ordinalMeta.categories;\n }\n };\n\n AxisModel.prototype.getOrdinalMeta = function () {\n return this.__ordinalMeta;\n };\n\n AxisModel.type = axisName + 'Axis.' + axisType;\n AxisModel.defaultOption = defaultOption;\n return AxisModel;\n }(BaseAxisModelClass);\n\n registers.registerComponentModel(AxisModel);\n });\n registers.registerSubTypeDefaulter(axisName + 'Axis', getAxisType);\n}\n\nfunction getAxisType(option) {\n // Default axis with data is category axis\n return option.type || (option.data ? 'category' : 'value');\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/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\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*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\n\nvar Cartesian =\n/** @class */\nfunction () {\n function Cartesian(name) {\n this.type = 'cartesian';\n this._dimList = [];\n this._axes = {};\n this.name = name || '';\n }\n\n Cartesian.prototype.getAxis = function (dim) {\n return this._axes[dim];\n };\n\n Cartesian.prototype.getAxes = function () {\n return zrUtil.map(this._dimList, function (dim) {\n return this._axes[dim];\n }, this);\n };\n\n Cartesian.prototype.getAxesByScale = function (scaleType) {\n scaleType = scaleType.toLowerCase();\n return zrUtil.filter(this.getAxes(), function (axis) {\n return axis.scale.type === scaleType;\n });\n };\n\n Cartesian.prototype.addAxis = function (axis) {\n var dim = axis.dim;\n this._axes[dim] = axis;\n\n this._dimList.push(dim);\n };\n\n return Cartesian;\n}();\n\n;\nexport default Cartesian;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\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*/\nimport { __extends } from \"tslib\";\nimport BoundingRect from 'zrender/lib/core/BoundingRect.js';\nimport Cartesian from './Cartesian.js';\nimport { invert } from 'zrender/lib/core/matrix.js';\nimport { applyTransform } from 'zrender/lib/core/vector.js';\nexport var cartesian2DDimensions = ['x', 'y'];\n\nfunction canCalculateAffineTransform(scale) {\n return scale.type === 'interval' || scale.type === 'time';\n}\n\nvar Cartesian2D =\n/** @class */\nfunction (_super) {\n __extends(Cartesian2D, _super);\n\n function Cartesian2D() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = 'cartesian2d';\n _this.dimensions = cartesian2DDimensions;\n return _this;\n }\n /**\n * Calculate an affine transform matrix if two axes are time or value.\n * It's mainly for accelartion on the large time series data.\n */\n\n\n Cartesian2D.prototype.calcAffineTransform = function () {\n this._transform = this._invTransform = null;\n var xAxisScale = this.getAxis('x').scale;\n var yAxisScale = this.getAxis('y').scale;\n\n if (!canCalculateAffineTransform(xAxisScale) || !canCalculateAffineTransform(yAxisScale)) {\n return;\n }\n\n var xScaleExtent = xAxisScale.getExtent();\n var yScaleExtent = yAxisScale.getExtent();\n var start = this.dataToPoint([xScaleExtent[0], yScaleExtent[0]]);\n var end = this.dataToPoint([xScaleExtent[1], yScaleExtent[1]]);\n var xScaleSpan = xScaleExtent[1] - xScaleExtent[0];\n var yScaleSpan = yScaleExtent[1] - yScaleExtent[0];\n\n if (!xScaleSpan || !yScaleSpan) {\n return;\n } // Accelerate data to point calculation on the special large time series data.\n\n\n var scaleX = (end[0] - start[0]) / xScaleSpan;\n var scaleY = (end[1] - start[1]) / yScaleSpan;\n var translateX = start[0] - xScaleExtent[0] * scaleX;\n var translateY = start[1] - yScaleExtent[0] * scaleY;\n var m = this._transform = [scaleX, 0, 0, scaleY, translateX, translateY];\n this._invTransform = invert([], m);\n };\n /**\n * Base axis will be used on stacking.\n */\n\n\n Cartesian2D.prototype.getBaseAxis = function () {\n return this.getAxesByScale('ordinal')[0] || this.getAxesByScale('time')[0] || this.getAxis('x');\n };\n\n Cartesian2D.prototype.containPoint = function (point) {\n var axisX = this.getAxis('x');\n var axisY = this.getAxis('y');\n return axisX.contain(axisX.toLocalCoord(point[0])) && axisY.contain(axisY.toLocalCoord(point[1]));\n };\n\n Cartesian2D.prototype.containData = function (data) {\n return this.getAxis('x').containData(data[0]) && this.getAxis('y').containData(data[1]);\n };\n\n Cartesian2D.prototype.containZone = function (data1, data2) {\n var zoneDiag1 = this.dataToPoint(data1);\n var zoneDiag2 = this.dataToPoint(data2);\n var area = this.getArea();\n var zone = new BoundingRect(zoneDiag1[0], zoneDiag1[1], zoneDiag2[0] - zoneDiag1[0], zoneDiag2[1] - zoneDiag1[1]);\n return area.intersect(zone);\n };\n\n Cartesian2D.prototype.dataToPoint = function (data, clamp, out) {\n out = out || [];\n var xVal = data[0];\n var yVal = data[1]; // Fast path\n\n if (this._transform // It's supported that if data is like `[Inifity, 123]`, where only Y pixel calculated.\n && xVal != null && isFinite(xVal) && yVal != null && isFinite(yVal)) {\n return applyTransform(out, data, this._transform);\n }\n\n var xAxis = this.getAxis('x');\n var yAxis = this.getAxis('y');\n out[0] = xAxis.toGlobalCoord(xAxis.dataToCoord(xVal, clamp));\n out[1] = yAxis.toGlobalCoord(yAxis.dataToCoord(yVal, clamp));\n return out;\n };\n\n Cartesian2D.prototype.clampData = function (data, out) {\n var xScale = this.getAxis('x').scale;\n var yScale = this.getAxis('y').scale;\n var xAxisExtent = xScale.getExtent();\n var yAxisExtent = yScale.getExtent();\n var x = xScale.parse(data[0]);\n var y = yScale.parse(data[1]);\n out = out || [];\n out[0] = Math.min(Math.max(Math.min(xAxisExtent[0], xAxisExtent[1]), x), Math.max(xAxisExtent[0], xAxisExtent[1]));\n out[1] = Math.min(Math.max(Math.min(yAxisExtent[0], yAxisExtent[1]), y), Math.max(yAxisExtent[0], yAxisExtent[1]));\n return out;\n };\n\n Cartesian2D.prototype.pointToData = function (point, clamp) {\n var out = [];\n\n if (this._invTransform) {\n return applyTransform(out, point, this._invTransform);\n }\n\n var xAxis = this.getAxis('x');\n var yAxis = this.getAxis('y');\n out[0] = xAxis.coordToData(xAxis.toLocalCoord(point[0]), clamp);\n out[1] = yAxis.coordToData(yAxis.toLocalCoord(point[1]), clamp);\n return out;\n };\n\n Cartesian2D.prototype.getOtherAxis = function (axis) {\n return this.getAxis(axis.dim === 'x' ? 'y' : 'x');\n };\n /**\n * Get rect area of cartesian.\n * Area will have a contain function to determine if a point is in the coordinate system.\n */\n\n\n Cartesian2D.prototype.getArea = function () {\n var xExtent = this.getAxis('x').getGlobalExtent();\n var yExtent = this.getAxis('y').getGlobalExtent();\n var x = Math.min(xExtent[0], xExtent[1]);\n var y = Math.min(yExtent[0], yExtent[1]);\n var width = Math.max(xExtent[0], xExtent[1]) - x;\n var height = Math.max(yExtent[0], yExtent[1]) - y;\n return new BoundingRect(x, y, width, height);\n };\n\n return Cartesian2D;\n}(Cartesian);\n\n;\nexport default Cartesian2D;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\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*/\nimport { __extends } from \"tslib\";\nimport Axis from '../Axis.js';\n\nvar Axis2D =\n/** @class */\nfunction (_super) {\n __extends(Axis2D, _super);\n\n function Axis2D(dim, scale, coordExtent, axisType, position) {\n var _this = _super.call(this, dim, scale, coordExtent) || this;\n /**\n * Index of axis, can be used as key\n * Injected outside.\n */\n\n\n _this.index = 0;\n _this.type = axisType || 'value';\n _this.position = position || 'bottom';\n return _this;\n }\n\n Axis2D.prototype.isHorizontal = function () {\n var position = this.position;\n return position === 'top' || position === 'bottom';\n };\n /**\n * Each item cooresponds to this.getExtent(), which\n * means globalExtent[0] may greater than globalExtent[1],\n * unless `asc` is input.\n *\n * @param {boolean} [asc]\n * @return {Array.}\n */\n\n\n Axis2D.prototype.getGlobalExtent = function (asc) {\n var ret = this.getExtent();\n ret[0] = this.toGlobalCoord(ret[0]);\n ret[1] = this.toGlobalCoord(ret[1]);\n asc && ret[0] > ret[1] && ret.reverse();\n return ret;\n };\n\n Axis2D.prototype.pointToData = function (point, clamp) {\n return this.coordToData(this.toLocalCoord(point[this.dim === 'x' ? 0 : 1]), clamp);\n };\n /**\n * Set ordinalSortInfo\n * @param info new OrdinalSortInfo\n */\n\n\n Axis2D.prototype.setCategorySortInfo = function (info) {\n if (this.type !== 'category') {\n return false;\n }\n\n this.model.option.categorySortInfo = info;\n this.scale.setSortInfo(info);\n };\n\n return Axis2D;\n}(Axis);\n\nexport default Axis2D;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\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 * Grid is a region which contains at most 4 cartesian systems\n *\n * TODO Default cartesian\n */\nimport { isObject, each, indexOf, retrieve3, keys } from 'zrender/lib/core/util.js';\nimport { getLayoutRect } from '../../util/layout.js';\nimport { createScaleByModel, ifAxisCrossZero, niceScaleExtent, estimateLabelUnionRect, getDataDimensionsOnAxis } from '../../coord/axisHelper.js';\nimport Cartesian2D, { cartesian2DDimensions } from './Cartesian2D.js';\nimport Axis2D from './Axis2D.js';\nimport { SINGLE_REFERRING } from '../../util/model.js';\nimport { isCartesian2DSeries, findAxisModels } from './cartesianAxisHelper.js';\nimport { isIntervalOrLogScale } from '../../scale/helper.js';\nimport { alignScaleTicks } from '../axisAlignTicks.js';\n\nvar Grid =\n/** @class */\nfunction () {\n function Grid(gridModel, ecModel, api) {\n // FIXME:TS where used (different from registered type 'cartesian2d')?\n this.type = 'grid';\n this._coordsMap = {};\n this._coordsList = [];\n this._axesMap = {};\n this._axesList = [];\n this.axisPointerEnabled = true;\n this.dimensions = cartesian2DDimensions;\n\n this._initCartesian(gridModel, ecModel, api);\n\n this.model = gridModel;\n }\n\n Grid.prototype.getRect = function () {\n return this._rect;\n };\n\n Grid.prototype.update = function (ecModel, api) {\n var axesMap = this._axesMap;\n\n this._updateScale(ecModel, this.model);\n\n function updateAxisTicks(axes) {\n var alignTo; // Axis is added in order of axisIndex.\n\n var axesIndices = keys(axes);\n var len = axesIndices.length;\n\n if (!len) {\n return;\n }\n\n var axisNeedsAlign = []; // Process once and calculate the ticks for those don't use alignTicks.\n\n for (var i = len - 1; i >= 0; i--) {\n var idx = +axesIndices[i]; // Convert to number.\n\n var axis = axes[idx];\n var model = axis.model;\n var scale = axis.scale;\n\n if ( // Only value and log axis without interval support alignTicks.\n isIntervalOrLogScale(scale) && model.get('alignTicks') && model.get('interval') == null) {\n axisNeedsAlign.push(axis);\n } else {\n niceScaleExtent(scale, model);\n\n if (isIntervalOrLogScale(scale)) {\n // Can only align to interval or log axis.\n alignTo = axis;\n }\n }\n }\n\n ; // All axes has set alignTicks. Pick the first one.\n // PENDING. Should we find the axis that both set interval, min, max and align to this one?\n\n if (axisNeedsAlign.length) {\n if (!alignTo) {\n alignTo = axisNeedsAlign.pop();\n niceScaleExtent(alignTo.scale, alignTo.model);\n }\n\n each(axisNeedsAlign, function (axis) {\n alignScaleTicks(axis.scale, axis.model, alignTo.scale);\n });\n }\n }\n\n updateAxisTicks(axesMap.x);\n updateAxisTicks(axesMap.y); // 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 /**\n * Resize the grid\n */\n\n\n Grid.prototype.resize = function (gridModel, api, ignoreContainLabel) {\n var boxLayoutParams = gridModel.getBoxLayoutParams();\n var isContainLabel = !ignoreContainLabel && gridModel.get('containLabel');\n var gridRect = getLayoutRect(boxLayoutParams, {\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 (isContainLabel) {\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 each(this._coordsList, function (coord) {\n // Calculate affine matrix to accelerate the data to point transform.\n // If all the axes scales are time or value.\n coord.calcAffineTransform();\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 Grid.prototype.getAxis = function (dim, axisIndex) {\n var axesMapOnDim = this._axesMap[dim];\n\n if (axesMapOnDim != null) {\n return axesMapOnDim[axisIndex || 0];\n }\n };\n\n Grid.prototype.getAxes = function () {\n return this._axesList.slice();\n };\n\n Grid.prototype.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 }\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\n Grid.prototype.getCartesians = function () {\n return this._coordsList.slice();\n };\n /**\n * @implements\n */\n\n\n Grid.prototype.convertToPixel = function (ecModel, finder, value) {\n var target = this._findConvertTarget(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 */\n\n\n Grid.prototype.convertFromPixel = function (ecModel, finder, value) {\n var target = this._findConvertTarget(finder);\n\n return target.cartesian ? target.cartesian.pointToData(value) : target.axis ? target.axis.coordToData(target.axis.toLocalCoord(value)) : null;\n };\n\n Grid.prototype._findConvertTarget = function (finder) {\n var seriesModel = finder.seriesModel;\n var xAxisModel = finder.xAxisModel || seriesModel && seriesModel.getReferringComponents('xAxis', SINGLE_REFERRING).models[0];\n var yAxisModel = finder.yAxisModel || seriesModel && seriesModel.getReferringComponents('yAxis', SINGLE_REFERRING).models[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 */\n\n\n Grid.prototype.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 */\n\n\n Grid.prototype._initCartesian = function (gridModel, ecModel, api) {\n var _this = this;\n\n var grid = this;\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.master = _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 });\n });\n\n function createAxisCreator(dimName) {\n return function (axisModel, idx) {\n if (!isAxisUsedInTheGrid(axisModel, gridModel)) {\n return;\n }\n\n var axisPosition = axisModel.get('position');\n\n if (dimName === 'x') {\n // Fix position\n if (axisPosition !== 'top' && axisPosition !== 'bottom') {\n // Default bottom of X\n axisPosition = axisPositionUsed.bottom ? 'top' : 'bottom';\n }\n } else {\n // Fix position\n if (axisPosition !== 'left' && axisPosition !== 'right') {\n // Default left of Y\n axisPosition = axisPositionUsed.left ? 'right' : 'left';\n }\n }\n\n axisPositionUsed[axisPosition] = true;\n var axis = new Axis2D(dimName, 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 = grid; // Index of axis, can be used as key\n\n axis.index = idx;\n\n grid._axesList.push(axis);\n\n axesMap[dimName][idx] = axis;\n axesCount[dimName]++;\n };\n }\n };\n /**\n * Update cartesian properties from series.\n */\n\n\n Grid.prototype._updateScale = function (ecModel, gridModel) {\n // Reset scale\n each(this._axesList, function (axis) {\n axis.scale.setExtent(Infinity, -Infinity);\n\n if (axis.type === 'category') {\n var categorySortInfo = axis.model.get('categorySortInfo');\n axis.scale.setSortInfo(categorySortInfo);\n }\n });\n ecModel.eachSeries(function (seriesModel) {\n if (isCartesian2DSeries(seriesModel)) {\n var axesModelMap = findAxisModels(seriesModel);\n var xAxisModel = axesModelMap.xAxisModel;\n var yAxisModel = axesModelMap.yAxisModel;\n\n if (!isAxisUsedInTheGrid(xAxisModel, gridModel) || !isAxisUsedInTheGrid(yAxisModel, gridModel)) {\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 unionExtent(data, xAxis);\n unionExtent(data, yAxis);\n }\n }, this);\n\n function unionExtent(data, axis) {\n each(getDataDimensionsOnAxis(data, axis.dim), function (dim) {\n axis.scale.unionExtentFromData(data, dim);\n });\n }\n };\n /**\n * @param dim 'x' or 'y' or 'auto' or null/undefined\n */\n\n\n Grid.prototype.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 Grid.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 (!isCartesian2DSeries(seriesModel)) {\n return;\n }\n\n var axesModelMap = findAxisModels(seriesModel);\n var xAxisModel = axesModelMap.xAxisModel;\n var yAxisModel = axesModelMap.yAxisModel;\n var gridModel = xAxisModel.getCoordSysModel();\n\n if (process.env.NODE_ENV !== 'production') {\n if (!gridModel) {\n throw new Error('Grid \"' + retrieve3(xAxisModel.get('gridIndex'), xAxisModel.get('gridId'), 0) + '\" not found');\n }\n\n if (xAxisModel.getCoordSysModel() !== yAxisModel.getCoordSysModel()) {\n throw new Error('xAxis and yAxis must use the same grid');\n }\n }\n\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\n Grid.dimensions = cartesian2DDimensions;\n return Grid;\n}();\n/**\n * Check if the axis is used in the specified grid.\n */\n\n\nfunction isAxisUsedInTheGrid(axisModel, gridModel) {\n return axisModel.getCoordSysModel() === gridModel;\n}\n\nfunction fixAxisOnZero(axesMap, otherAxisDim, axis, // Key: see `getOnZeroRecordKey`\nonZeroRecords) {\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\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\nexport default Grid;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\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*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport { makeInner } from '../../util/model.js';\nvar inner = makeInner();\nexport function rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, gridModel) {\n var axis = axisModel.axis;\n\n if (axis.scale.isBlank()) {\n return;\n } // TODO: TYPE\n\n\n var splitAreaModel = axisModel.getModel('splitArea');\n var areaStyleModel = splitAreaModel.getModel('areaStyle');\n var areaColors = areaStyleModel.get('color');\n var gridRect = gridModel.coordinateSystem.getRect();\n var ticksCoords = axis.getTicksCoords({\n tickModel: splitAreaModel,\n clamp: true\n });\n\n if (!ticksCoords.length) {\n return;\n } // For Making appropriate splitArea animation, the color and anid\n // should be corresponding to previous one if possible.\n\n\n var areaColorsLen = areaColors.length;\n var lastSplitAreaColors = inner(axisView).splitAreaColors;\n var newSplitAreaColors = zrUtil.createHashMap();\n var colorIndex = 0;\n\n if (lastSplitAreaColors) {\n for (var i = 0; i < ticksCoords.length; i++) {\n var cIndex = lastSplitAreaColors.get(ticksCoords[i].tickValue);\n\n if (cIndex != null) {\n colorIndex = (cIndex + (areaColorsLen - 1) * i) % areaColorsLen;\n break;\n }\n }\n }\n\n var prev = axis.toGlobalCoord(ticksCoords[0].coord);\n var areaStyle = areaStyleModel.getAreaStyle();\n areaColors = zrUtil.isArray(areaColors) ? areaColors : [areaColors];\n\n for (var i = 1; i < ticksCoords.length; i++) {\n var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n var x = void 0;\n var y = void 0;\n var width = void 0;\n var height = void 0;\n\n if (axis.isHorizontal()) {\n x = prev;\n y = gridRect.y;\n width = tickCoord - x;\n height = gridRect.height;\n prev = x + width;\n } else {\n x = gridRect.x;\n y = prev;\n width = gridRect.width;\n height = tickCoord - y;\n prev = y + height;\n }\n\n var tickValue = ticksCoords[i - 1].tickValue;\n tickValue != null && newSplitAreaColors.set(tickValue, colorIndex);\n axisGroup.add(new graphic.Rect({\n anid: tickValue != null ? 'area_' + tickValue : null,\n shape: {\n x: x,\n y: y,\n width: width,\n height: height\n },\n style: zrUtil.defaults({\n fill: areaColors[colorIndex]\n }, areaStyle),\n autoBatch: true,\n silent: true\n }));\n colorIndex = (colorIndex + 1) % areaColorsLen;\n }\n\n inner(axisView).splitAreaColors = newSplitAreaColors;\n}\nexport function rectCoordAxisHandleRemove(axisView) {\n inner(axisView).splitAreaColors = null;\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/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\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*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport AxisBuilder from './AxisBuilder.js';\nimport AxisView from './AxisView.js';\nimport * as cartesianAxisHelper from '../../coord/cartesian/cartesianAxisHelper.js';\nimport { rectCoordAxisBuildSplitArea, rectCoordAxisHandleRemove } from './axisSplitHelper.js';\nimport { isIntervalOrLogScale } from '../../scale/helper.js';\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitArea', 'splitLine', 'minorSplitLine'];\n\nvar CartesianAxisView =\n/** @class */\nfunction (_super) {\n __extends(CartesianAxisView, _super);\n\n function CartesianAxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = CartesianAxisView.type;\n _this.axisPointerClass = 'CartesianAxisPointer';\n return _this;\n }\n /**\n * @override\n */\n\n\n CartesianAxisView.prototype.render = function (axisModel, ecModel, api, payload) {\n this.group.removeAll();\n var oldAxisGroup = this._axisGroup;\n this._axisGroup = new graphic.Group();\n this.group.add(this._axisGroup);\n\n if (!axisModel.get('show')) {\n return;\n }\n\n var gridModel = axisModel.getCoordSysModel();\n var layout = cartesianAxisHelper.layout(gridModel, axisModel);\n var axisBuilder = new AxisBuilder(axisModel, zrUtil.extend({\n handleAutoShown: function (elementType) {\n var cartesians = gridModel.coordinateSystem.getCartesians();\n\n for (var i = 0; i < cartesians.length; i++) {\n if (isIntervalOrLogScale(cartesians[i].getOtherAxis(axisModel.axis).scale)) {\n // Still show axis tick or axisLine if other axis is value / log\n return true;\n }\n } // Not show axisTick or axisLine if other axis is category / time\n\n\n return false;\n }\n }, layout));\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n\n this._axisGroup.add(axisBuilder.getGroup());\n\n zrUtil.each(selfBuilderAttrs, function (name) {\n if (axisModel.get([name, 'show'])) {\n axisElementBuilders[name](this, this._axisGroup, axisModel, gridModel);\n }\n }, this); // THIS is a special case for bar racing chart.\n // Update the axis label from the natural initial layout to\n // sorted layout should has no animation.\n\n var isInitialSortFromBarRacing = payload && payload.type === 'changeAxisOrder' && payload.isInitSort;\n\n if (!isInitialSortFromBarRacing) {\n graphic.groupTransition(oldAxisGroup, this._axisGroup, axisModel);\n }\n\n _super.prototype.render.call(this, axisModel, ecModel, api, payload);\n };\n\n CartesianAxisView.prototype.remove = function () {\n rectCoordAxisHandleRemove(this);\n };\n\n CartesianAxisView.type = 'cartesianAxis';\n return CartesianAxisView;\n}(AxisView);\n\nvar axisElementBuilders = {\n splitLine: function (axisView, axisGroup, axisModel, gridModel) {\n var axis = axisModel.axis;\n\n if (axis.scale.isBlank()) {\n return;\n }\n\n var splitLineModel = axisModel.getModel('splitLine');\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var lineColors = lineStyleModel.get('color');\n lineColors = zrUtil.isArray(lineColors) ? lineColors : [lineColors];\n var gridRect = gridModel.coordinateSystem.getRect();\n var isHorizontal = axis.isHorizontal();\n var lineCount = 0;\n var ticksCoords = axis.getTicksCoords({\n tickModel: splitLineModel\n });\n var p1 = [];\n var p2 = [];\n var lineStyle = lineStyleModel.getLineStyle();\n\n for (var i = 0; i < ticksCoords.length; i++) {\n var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n\n if (isHorizontal) {\n p1[0] = tickCoord;\n p1[1] = gridRect.y;\n p2[0] = tickCoord;\n p2[1] = gridRect.y + gridRect.height;\n } else {\n p1[0] = gridRect.x;\n p1[1] = tickCoord;\n p2[0] = gridRect.x + gridRect.width;\n p2[1] = tickCoord;\n }\n\n var colorIndex = lineCount++ % lineColors.length;\n var tickValue = ticksCoords[i].tickValue;\n axisGroup.add(new graphic.Line({\n anid: tickValue != null ? 'line_' + ticksCoords[i].tickValue : null,\n subPixelOptimize: true,\n autoBatch: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: zrUtil.defaults({\n stroke: lineColors[colorIndex]\n }, lineStyle),\n silent: true\n }));\n }\n },\n minorSplitLine: function (axisView, axisGroup, axisModel, gridModel) {\n var axis = axisModel.axis;\n var minorSplitLineModel = axisModel.getModel('minorSplitLine');\n var lineStyleModel = minorSplitLineModel.getModel('lineStyle');\n var gridRect = gridModel.coordinateSystem.getRect();\n var isHorizontal = axis.isHorizontal();\n var minorTicksCoords = axis.getMinorTicksCoords();\n\n if (!minorTicksCoords.length) {\n return;\n }\n\n var p1 = [];\n var p2 = [];\n var lineStyle = lineStyleModel.getLineStyle();\n\n for (var i = 0; i < minorTicksCoords.length; i++) {\n for (var k = 0; k < minorTicksCoords[i].length; k++) {\n var tickCoord = axis.toGlobalCoord(minorTicksCoords[i][k].coord);\n\n if (isHorizontal) {\n p1[0] = tickCoord;\n p1[1] = gridRect.y;\n p2[0] = tickCoord;\n p2[1] = gridRect.y + gridRect.height;\n } else {\n p1[0] = gridRect.x;\n p1[1] = tickCoord;\n p2[0] = gridRect.x + gridRect.width;\n p2[1] = tickCoord;\n }\n\n axisGroup.add(new graphic.Line({\n anid: 'minor_line_' + minorTicksCoords[i][k].tickValue,\n subPixelOptimize: true,\n autoBatch: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: lineStyle,\n silent: true\n }));\n }\n }\n },\n splitArea: function (axisView, axisGroup, axisModel, gridModel) {\n rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, gridModel);\n }\n};\n\nvar CartesianXAxisView =\n/** @class */\nfunction (_super) {\n __extends(CartesianXAxisView, _super);\n\n function CartesianXAxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = CartesianXAxisView.type;\n return _this;\n }\n\n CartesianXAxisView.type = 'xAxis';\n return CartesianXAxisView;\n}(CartesianAxisView);\n\nexport { CartesianXAxisView };\n\nvar CartesianYAxisView =\n/** @class */\nfunction (_super) {\n __extends(CartesianYAxisView, _super);\n\n function CartesianYAxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = CartesianXAxisView.type;\n return _this;\n }\n\n CartesianYAxisView.type = 'yAxis';\n return CartesianYAxisView;\n}(CartesianAxisView);\n\nexport { CartesianYAxisView };\nexport default CartesianAxisView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\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*/\nimport { __extends } from \"tslib\";\nimport ComponentView from '../../view/Component.js';\nimport GridModel from '../../coord/cartesian/GridModel.js';\nimport { Rect } from '../../util/graphic.js';\nimport { defaults } from 'zrender/lib/core/util.js';\nimport { CartesianAxisModel } from '../../coord/cartesian/AxisModel.js';\nimport axisModelCreator from '../../coord/axisModelCreator.js';\nimport Grid from '../../coord/cartesian/Grid.js';\nimport { CartesianXAxisView, CartesianYAxisView } from '../axis/CartesianAxisView.js'; // Grid view\n\nvar GridView =\n/** @class */\nfunction (_super) {\n __extends(GridView, _super);\n\n function GridView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = 'grid';\n return _this;\n }\n\n GridView.prototype.render = function (gridModel, ecModel) {\n this.group.removeAll();\n\n if (gridModel.get('show')) {\n this.group.add(new Rect({\n shape: gridModel.coordinateSystem.getRect(),\n style: defaults({\n fill: gridModel.get('backgroundColor')\n }, gridModel.getItemStyle()),\n silent: true,\n z2: -1\n }));\n }\n };\n\n GridView.type = 'grid';\n return GridView;\n}(ComponentView);\n\nvar extraOption = {\n // gridIndex: 0,\n // gridId: '',\n offset: 0\n};\nexport function install(registers) {\n registers.registerComponentView(GridView);\n registers.registerComponentModel(GridModel);\n registers.registerCoordinateSystem('cartesian2d', Grid);\n axisModelCreator(registers, 'x', CartesianAxisModel, extraOption);\n axisModelCreator(registers, 'y', CartesianAxisModel, extraOption);\n registers.registerComponentView(CartesianXAxisView);\n registers.registerComponentView(CartesianYAxisView);\n registers.registerPreprocessor(function (option) {\n // Only create grid when need\n if (option.xAxis && option.yAxis && !option.grid) {\n option.grid = {};\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/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\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*/\nimport { install as installSimple } from './installSimple.js';\nimport { install as installAxisPointer } from '../axisPointer/install.js';\nimport { use } from '../../extension.js';\nexport function install(registers) {\n use(installSimple);\n use(installAxisPointer);\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/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\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*/\nimport { use } from '../extension.js';\nimport { install } from './grid/install.js';\nuse(install);"],"sourceRoot":""}