qauMaWeb/node_modules/.cache/babel-loader/19e684c3ef6d6519047bd019f68...

1 line
52 KiB
JSON

{"ast":null,"code":"import \"core-js/modules/es.array.slice.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.string.replace.js\";\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 * 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 pathTool from 'zrender/lib/tool/path.js';\nimport * as matrix from 'zrender/lib/core/matrix.js';\nimport * as vector from 'zrender/lib/core/vector.js';\nimport Path from 'zrender/lib/graphic/Path.js';\nimport Transformable from 'zrender/lib/core/Transformable.js';\nimport ZRImage from 'zrender/lib/graphic/Image.js';\nimport Group from 'zrender/lib/graphic/Group.js';\nimport ZRText from 'zrender/lib/graphic/Text.js';\nimport Circle from 'zrender/lib/graphic/shape/Circle.js';\nimport Ellipse from 'zrender/lib/graphic/shape/Ellipse.js';\nimport Sector from 'zrender/lib/graphic/shape/Sector.js';\nimport Ring from 'zrender/lib/graphic/shape/Ring.js';\nimport Polygon from 'zrender/lib/graphic/shape/Polygon.js';\nimport Polyline from 'zrender/lib/graphic/shape/Polyline.js';\nimport Rect from 'zrender/lib/graphic/shape/Rect.js';\nimport Line from 'zrender/lib/graphic/shape/Line.js';\nimport BezierCurve from 'zrender/lib/graphic/shape/BezierCurve.js';\nimport Arc from 'zrender/lib/graphic/shape/Arc.js';\nimport CompoundPath from 'zrender/lib/graphic/CompoundPath.js';\nimport LinearGradient from 'zrender/lib/graphic/LinearGradient.js';\nimport RadialGradient from 'zrender/lib/graphic/RadialGradient.js';\nimport BoundingRect from 'zrender/lib/core/BoundingRect.js';\nimport OrientedBoundingRect from 'zrender/lib/core/OrientedBoundingRect.js';\nimport Point from 'zrender/lib/core/Point.js';\nimport IncrementalDisplayable from 'zrender/lib/graphic/IncrementalDisplayable.js';\nimport * as subPixelOptimizeUtil from 'zrender/lib/graphic/helper/subPixelOptimize.js';\nimport { extend, isArrayLike, map, defaults, isString, keys, each, hasOwn, isArray } from 'zrender/lib/core/util.js';\nimport { getECData } from './innerStore.js';\nimport { updateProps, initProps, removeElement, removeElementWithFadeOut, isElementRemoved } from '../animation/basicTransition.js';\n/**\n * @deprecated export for compatitable reason\n */\n\nexport { updateProps, initProps, removeElement, removeElementWithFadeOut, isElementRemoved };\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nvar _customShapeMap = {};\n/**\n * Extend shape with parameters\n */\n\nexport function extendShape(opts) {\n return Path.extend(opts);\n}\nvar extendPathFromString = pathTool.extendFromString;\n/**\n * Extend path\n */\n\nexport function extendPath(pathData, opts) {\n return extendPathFromString(pathData, opts);\n}\n/**\n * Register a user defined shape.\n * The shape class can be fetched by `getShapeClass`\n * This method will overwrite the registered shapes, including\n * the registered built-in shapes, if using the same `name`.\n * The shape can be used in `custom series` and\n * `graphic component` by declaring `{type: name}`.\n *\n * @param name\n * @param ShapeClass Can be generated by `extendShape`.\n */\n\nexport function registerShape(name, ShapeClass) {\n _customShapeMap[name] = ShapeClass;\n}\n/**\n * Find shape class registered by `registerShape`. Usually used in\n * fetching user defined shape.\n *\n * [Caution]:\n * (1) This method **MUST NOT be used inside echarts !!!**, unless it is prepared\n * to use user registered shapes.\n * Because the built-in shape (see `getBuiltInShape`) will be registered by\n * `registerShape` by default. That enables users to get both built-in\n * shapes as well as the shapes belonging to themsleves. But users can overwrite\n * the built-in shapes by using names like 'circle', 'rect' via calling\n * `registerShape`. So the echarts inner featrues should not fetch shapes from here\n * in case that it is overwritten by users, except that some features, like\n * `custom series`, `graphic component`, do it deliberately.\n *\n * (2) In the features like `custom series`, `graphic component`, the user input\n * `{tpye: 'xxx'}` does not only specify shapes but also specify other graphic\n * elements like `'group'`, `'text'`, `'image'` or event `'path'`. Those names\n * are reserved names, that is, if some user registers a shape named `'image'`,\n * the shape will not be used. If we intending to add some more reserved names\n * in feature, that might bring break changes (disable some existing user shape\n * names). But that case probably rarely happens. So we don't make more mechanism\n * to resolve this issue here.\n *\n * @param name\n * @return The shape class. If not found, return nothing.\n */\n\nexport function getShapeClass(name) {\n if (_customShapeMap.hasOwnProperty(name)) {\n return _customShapeMap[name];\n }\n}\n/**\n * Create a path element from path data string\n * @param pathData\n * @param opts\n * @param rect\n * @param layout 'center' or 'cover' default to be cover\n */\n\nexport function 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 imageUrl image url\n * @param opts options\n * @param rect constrain rect\n * @param layout 'center' or 'cover'. Default to be 'cover'\n */\n\nexport function makeImage(imageUrl, rect, layout) {\n var zrImg = new ZRImage({\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 onload(img) {\n if (layout === 'center') {\n var boundingRect = {\n width: img.width,\n height: img.height\n };\n zrImg.setStyle(centerGraphic(rect, boundingRect));\n }\n }\n });\n return zrImg;\n}\n/**\n * Get position of centered element in bounding box.\n *\n * @param rect element local bounding box\n * @param boundingRect constraint bounding box\n * @return element position containing x, y, width, and height\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\nexport var mergePath = pathTool.mergePath;\n/**\n * Resize a path to fit the rect\n * @param path\n * @param rect\n */\n\nexport function 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\nexport function subPixelOptimizeLine(shape, lineWidth) {\n subPixelOptimizeUtil.subPixelOptimizeLine(shape, shape, {\n lineWidth: lineWidth\n });\n return shape;\n}\n/**\n * Sub pixel optimize rect for canvas\n */\n\nexport function subPixelOptimizeRect(param) {\n subPixelOptimizeUtil.subPixelOptimizeRect(param.shape, param.shape, param.style);\n return param;\n}\n/**\n * Sub pixel optimize for canvas\n *\n * @param position Coordinate, such as x, y\n * @param lineWidth Should be nonnegative integer.\n * @param positiveOrNegative Default false (negative).\n * @return Optimized position.\n */\n\nexport var subPixelOptimize = subPixelOptimizeUtil.subPixelOptimize;\n/**\n * Get transform matrix of target (param target),\n * in coordinate of its ancestor (param ancestor)\n *\n * @param target\n * @param [ancestor]\n */\n\nexport function 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 target [x, y]\n * @param transform Can be:\n * + Transform matrix: like [1, 0, 0, 1, 0, 0]\n * + {position, rotation, scale}, the same as `zrender/Transformable`.\n * @param invert Whether use invert matrix.\n * @return [x, y]\n */\n\nexport function applyTransform(target, transform, invert) {\n if (transform && !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 direction 'left' 'right' 'top' 'bottom'\n * @param transform Transform matrix: like [1, 0, 0, 1, 0, 0]\n * @param invert Whether use invert matrix.\n * @return Transformed direction. 'left' 'right' 'top' 'bottom'\n */\n\nexport function 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\nfunction isNotGroup(el) {\n return !el.isGroup;\n}\n\nfunction isPath(el) {\n return el.shape != null;\n}\n/**\n * Apply group transition animation from g1 to g2.\n * If no animatableModel, no animation.\n */\n\n\nexport function groupTransition(g1, g2, animatableModel) {\n if (!g1 || !g2) {\n return;\n }\n\n function getElMap(g) {\n var elMap = {};\n g.traverse(function (el) {\n if (isNotGroup(el) && el.anid) {\n elMap[el.anid] = el;\n }\n });\n return elMap;\n }\n\n function getAnimatableProps(el) {\n var obj = {\n x: el.x,\n y: el.y,\n rotation: el.rotation\n };\n\n if (isPath(el)) {\n obj.shape = extend({}, el.shape);\n }\n\n return obj;\n }\n\n var elMap1 = getElMap(g1);\n g2.traverse(function (el) {\n if (isNotGroup(el) && 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, getECData(el).dataIndex);\n }\n }\n });\n}\nexport function clipPointsByRect(points, rect) {\n // FIXME: This way might be incorrect when graphic clipped by a corner\n // and when element has a border.\n return 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 * Return a new clipped rect. If rect size are negative, return undefined.\n */\n\nexport function 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}\nexport function createIcon(iconStr, // Support 'image://' or 'path://' or direct svg path.\nopt, rect) {\n var innerOpts = extend({\n rectHover: true\n }, opt);\n var style = innerOpts.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), defaults(style, rect), new ZRImage(innerOpts)) : makePath(iconStr.replace('path://', ''), innerOpts, rect, 'center');\n }\n}\n/**\n * Return `true` if the given line (line `a`) and the given polygon\n * are intersect.\n * Note that we do not count colinear as intersect here because no\n * requirement for that. We could do that if required in future.\n */\n\nexport function linePolygonIntersect(a1x, a1y, a2x, a2y, points) {\n for (var i = 0, p2 = points[points.length - 1]; i < points.length; i++) {\n var p = points[i];\n\n if (lineLineIntersect(a1x, a1y, a2x, a2y, p[0], p[1], p2[0], p2[1])) {\n return true;\n }\n\n p2 = p;\n }\n}\n/**\n * Return `true` if the given two lines (line `a` and line `b`)\n * are intersect.\n * Note that we do not count colinear as intersect here because no\n * requirement for that. We could do that if required in future.\n */\n\nexport function lineLineIntersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) {\n // let `vec_m` to be `vec_a2 - vec_a1` and `vec_n` to be `vec_b2 - vec_b1`.\n var mx = a2x - a1x;\n var my = a2y - a1y;\n var nx = b2x - b1x;\n var ny = b2y - b1y; // `vec_m` and `vec_n` are parallel iff\n // existing `k` such that `vec_m = k · vec_n`, equivalent to `vec_m X vec_n = 0`.\n\n var nmCrossProduct = crossProduct2d(nx, ny, mx, my);\n\n if (nearZero(nmCrossProduct)) {\n return false;\n } // `vec_m` and `vec_n` are intersect iff\n // existing `p` and `q` in [0, 1] such that `vec_a1 + p * vec_m = vec_b1 + q * vec_n`,\n // such that `q = ((vec_a1 - vec_b1) X vec_m) / (vec_n X vec_m)`\n // and `p = ((vec_a1 - vec_b1) X vec_n) / (vec_n X vec_m)`.\n\n\n var b1a1x = a1x - b1x;\n var b1a1y = a1y - b1y;\n var q = crossProduct2d(b1a1x, b1a1y, mx, my) / nmCrossProduct;\n\n if (q < 0 || q > 1) {\n return false;\n }\n\n var p = crossProduct2d(b1a1x, b1a1y, nx, ny) / nmCrossProduct;\n\n if (p < 0 || p > 1) {\n return false;\n }\n\n return true;\n}\n/**\n * Cross product of 2-dimension vector.\n */\n\nfunction crossProduct2d(x1, y1, x2, y2) {\n return x1 * y2 - x2 * y1;\n}\n\nfunction nearZero(val) {\n return val <= 1e-6 && val >= -1e-6;\n}\n\nexport function setTooltipConfig(opt) {\n var itemTooltipOption = opt.itemTooltipOption;\n var componentModel = opt.componentModel;\n var itemName = opt.itemName;\n var itemTooltipOptionObj = isString(itemTooltipOption) ? {\n formatter: itemTooltipOption\n } : itemTooltipOption;\n var mainType = componentModel.mainType;\n var componentIndex = componentModel.componentIndex;\n var formatterParams = {\n componentType: mainType,\n name: itemName,\n $vars: ['name']\n };\n formatterParams[mainType + 'Index'] = componentIndex;\n var formatterParamsExtra = opt.formatterParamsExtra;\n\n if (formatterParamsExtra) {\n each(keys(formatterParamsExtra), function (key) {\n if (!hasOwn(formatterParams, key)) {\n formatterParams[key] = formatterParamsExtra[key];\n formatterParams.$vars.push(key);\n }\n });\n }\n\n var ecData = getECData(opt.el);\n ecData.componentMainType = mainType;\n ecData.componentIndex = componentIndex;\n ecData.tooltipConfig = {\n name: itemName,\n option: defaults({\n content: itemName,\n formatterParams: formatterParams\n }, itemTooltipOptionObj)\n };\n}\n\nfunction traverseElement(el, cb) {\n var stopped; // TODO\n // Polyfill for fixing zrender group traverse don't visit it's root issue.\n\n if (el.isGroup) {\n stopped = cb(el);\n }\n\n if (!stopped) {\n el.traverse(cb);\n }\n}\n\nexport function traverseElements(els, cb) {\n if (els) {\n if (isArray(els)) {\n for (var i = 0; i < els.length; i++) {\n traverseElement(els[i], cb);\n }\n } else {\n traverseElement(els, cb);\n }\n }\n} // Register built-in shapes. These shapes might be overwritten\n// by users, although we do not recommend that.\n\nregisterShape('circle', Circle);\nregisterShape('ellipse', Ellipse);\nregisterShape('sector', Sector);\nregisterShape('ring', Ring);\nregisterShape('polygon', Polygon);\nregisterShape('polyline', Polyline);\nregisterShape('rect', Rect);\nregisterShape('line', Line);\nregisterShape('bezierCurve', BezierCurve);\nregisterShape('arc', Arc);\nexport { Group, ZRImage as Image, ZRText as Text, Circle, Ellipse, Sector, Ring, Polygon, Polyline, Rect, Line, BezierCurve, Arc, IncrementalDisplayable, CompoundPath, LinearGradient, RadialGradient, BoundingRect, OrientedBoundingRect, Point, Path };","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src/ElectronicMallVue/node_modules/echarts/lib/util/graphic.js"],"names":["pathTool","matrix","vector","Path","Transformable","ZRImage","Group","ZRText","Circle","Ellipse","Sector","Ring","Polygon","Polyline","Rect","Line","BezierCurve","Arc","CompoundPath","LinearGradient","RadialGradient","BoundingRect","OrientedBoundingRect","Point","IncrementalDisplayable","subPixelOptimizeUtil","extend","isArrayLike","map","defaults","isString","keys","each","hasOwn","isArray","getECData","updateProps","initProps","removeElement","removeElementWithFadeOut","isElementRemoved","mathMax","Math","max","mathMin","min","_customShapeMap","extendShape","opts","extendPathFromString","extendFromString","extendPath","pathData","registerShape","name","ShapeClass","getShapeClass","hasOwnProperty","makePath","rect","layout","path","createFromString","centerGraphic","getBoundingRect","resizePath","makeImage","imageUrl","zrImg","style","image","x","y","width","height","onload","img","boundingRect","setStyle","aspect","cx","cy","mergePath","applyTransform","pathRect","m","calculateTransform","subPixelOptimizeLine","shape","lineWidth","subPixelOptimizeRect","param","subPixelOptimize","getTransform","target","ancestor","mat","identity","mul","getLocalTransform","parent","transform","invert","transformDirection","direction","hBase","abs","vBase","vertex","isNotGroup","el","isGroup","isPath","groupTransition","g1","g2","animatableModel","getElMap","g","elMap","traverse","anid","getAnimatableProps","obj","rotation","elMap1","oldEl","newProp","attr","dataIndex","clipPointsByRect","points","point","clipRectByRect","targetRect","x2","y2","createIcon","iconStr","opt","innerOpts","rectHover","strokeNoScale","indexOf","slice","replace","linePolygonIntersect","a1x","a1y","a2x","a2y","i","p2","length","p","lineLineIntersect","b1x","b1y","b2x","b2y","mx","my","nx","ny","nmCrossProduct","crossProduct2d","nearZero","b1a1x","b1a1y","q","x1","y1","val","setTooltipConfig","itemTooltipOption","componentModel","itemName","itemTooltipOptionObj","formatter","mainType","componentIndex","formatterParams","componentType","$vars","formatterParamsExtra","key","push","ecData","componentMainType","tooltipConfig","option","content","traverseElement","cb","stopped","traverseElements","els","Image","Text"],"mappings":"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","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 * as pathTool from 'zrender/lib/tool/path.js';\nimport * as matrix from 'zrender/lib/core/matrix.js';\nimport * as vector from 'zrender/lib/core/vector.js';\nimport Path from 'zrender/lib/graphic/Path.js';\nimport Transformable from 'zrender/lib/core/Transformable.js';\nimport ZRImage from 'zrender/lib/graphic/Image.js';\nimport Group from 'zrender/lib/graphic/Group.js';\nimport ZRText from 'zrender/lib/graphic/Text.js';\nimport Circle from 'zrender/lib/graphic/shape/Circle.js';\nimport Ellipse from 'zrender/lib/graphic/shape/Ellipse.js';\nimport Sector from 'zrender/lib/graphic/shape/Sector.js';\nimport Ring from 'zrender/lib/graphic/shape/Ring.js';\nimport Polygon from 'zrender/lib/graphic/shape/Polygon.js';\nimport Polyline from 'zrender/lib/graphic/shape/Polyline.js';\nimport Rect from 'zrender/lib/graphic/shape/Rect.js';\nimport Line from 'zrender/lib/graphic/shape/Line.js';\nimport BezierCurve from 'zrender/lib/graphic/shape/BezierCurve.js';\nimport Arc from 'zrender/lib/graphic/shape/Arc.js';\nimport CompoundPath from 'zrender/lib/graphic/CompoundPath.js';\nimport LinearGradient from 'zrender/lib/graphic/LinearGradient.js';\nimport RadialGradient from 'zrender/lib/graphic/RadialGradient.js';\nimport BoundingRect from 'zrender/lib/core/BoundingRect.js';\nimport OrientedBoundingRect from 'zrender/lib/core/OrientedBoundingRect.js';\nimport Point from 'zrender/lib/core/Point.js';\nimport IncrementalDisplayable from 'zrender/lib/graphic/IncrementalDisplayable.js';\nimport * as subPixelOptimizeUtil from 'zrender/lib/graphic/helper/subPixelOptimize.js';\nimport { extend, isArrayLike, map, defaults, isString, keys, each, hasOwn, isArray } from 'zrender/lib/core/util.js';\nimport { getECData } from './innerStore.js';\nimport { updateProps, initProps, removeElement, removeElementWithFadeOut, isElementRemoved } from '../animation/basicTransition.js';\n/**\n * @deprecated export for compatitable reason\n */\n\nexport { updateProps, initProps, removeElement, removeElementWithFadeOut, isElementRemoved };\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nvar _customShapeMap = {};\n/**\n * Extend shape with parameters\n */\n\nexport function extendShape(opts) {\n return Path.extend(opts);\n}\nvar extendPathFromString = pathTool.extendFromString;\n/**\n * Extend path\n */\n\nexport function extendPath(pathData, opts) {\n return extendPathFromString(pathData, opts);\n}\n/**\n * Register a user defined shape.\n * The shape class can be fetched by `getShapeClass`\n * This method will overwrite the registered shapes, including\n * the registered built-in shapes, if using the same `name`.\n * The shape can be used in `custom series` and\n * `graphic component` by declaring `{type: name}`.\n *\n * @param name\n * @param ShapeClass Can be generated by `extendShape`.\n */\n\nexport function registerShape(name, ShapeClass) {\n _customShapeMap[name] = ShapeClass;\n}\n/**\n * Find shape class registered by `registerShape`. Usually used in\n * fetching user defined shape.\n *\n * [Caution]:\n * (1) This method **MUST NOT be used inside echarts !!!**, unless it is prepared\n * to use user registered shapes.\n * Because the built-in shape (see `getBuiltInShape`) will be registered by\n * `registerShape` by default. That enables users to get both built-in\n * shapes as well as the shapes belonging to themsleves. But users can overwrite\n * the built-in shapes by using names like 'circle', 'rect' via calling\n * `registerShape`. So the echarts inner featrues should not fetch shapes from here\n * in case that it is overwritten by users, except that some features, like\n * `custom series`, `graphic component`, do it deliberately.\n *\n * (2) In the features like `custom series`, `graphic component`, the user input\n * `{tpye: 'xxx'}` does not only specify shapes but also specify other graphic\n * elements like `'group'`, `'text'`, `'image'` or event `'path'`. Those names\n * are reserved names, that is, if some user registers a shape named `'image'`,\n * the shape will not be used. If we intending to add some more reserved names\n * in feature, that might bring break changes (disable some existing user shape\n * names). But that case probably rarely happens. So we don't make more mechanism\n * to resolve this issue here.\n *\n * @param name\n * @return The shape class. If not found, return nothing.\n */\n\nexport function getShapeClass(name) {\n if (_customShapeMap.hasOwnProperty(name)) {\n return _customShapeMap[name];\n }\n}\n/**\n * Create a path element from path data string\n * @param pathData\n * @param opts\n * @param rect\n * @param layout 'center' or 'cover' default to be cover\n */\n\nexport function 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 imageUrl image url\n * @param opts options\n * @param rect constrain rect\n * @param layout 'center' or 'cover'. Default to be 'cover'\n */\n\nexport function makeImage(imageUrl, rect, layout) {\n var zrImg = new ZRImage({\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 zrImg.setStyle(centerGraphic(rect, boundingRect));\n }\n }\n });\n return zrImg;\n}\n/**\n * Get position of centered element in bounding box.\n *\n * @param rect element local bounding box\n * @param boundingRect constraint bounding box\n * @return element position containing x, y, width, and height\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\nexport var mergePath = pathTool.mergePath;\n/**\n * Resize a path to fit the rect\n * @param path\n * @param rect\n */\n\nexport function 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\nexport function subPixelOptimizeLine(shape, lineWidth) {\n subPixelOptimizeUtil.subPixelOptimizeLine(shape, shape, {\n lineWidth: lineWidth\n });\n return shape;\n}\n/**\n * Sub pixel optimize rect for canvas\n */\n\nexport function subPixelOptimizeRect(param) {\n subPixelOptimizeUtil.subPixelOptimizeRect(param.shape, param.shape, param.style);\n return param;\n}\n/**\n * Sub pixel optimize for canvas\n *\n * @param position Coordinate, such as x, y\n * @param lineWidth Should be nonnegative integer.\n * @param positiveOrNegative Default false (negative).\n * @return Optimized position.\n */\n\nexport var subPixelOptimize = subPixelOptimizeUtil.subPixelOptimize;\n/**\n * Get transform matrix of target (param target),\n * in coordinate of its ancestor (param ancestor)\n *\n * @param target\n * @param [ancestor]\n */\n\nexport function 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 target [x, y]\n * @param transform Can be:\n * + Transform matrix: like [1, 0, 0, 1, 0, 0]\n * + {position, rotation, scale}, the same as `zrender/Transformable`.\n * @param invert Whether use invert matrix.\n * @return [x, y]\n */\n\nexport function applyTransform(target, transform, invert) {\n if (transform && !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 direction 'left' 'right' 'top' 'bottom'\n * @param transform Transform matrix: like [1, 0, 0, 1, 0, 0]\n * @param invert Whether use invert matrix.\n * @return Transformed direction. 'left' 'right' 'top' 'bottom'\n */\n\nexport function 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\nfunction isNotGroup(el) {\n return !el.isGroup;\n}\n\nfunction isPath(el) {\n return el.shape != null;\n}\n/**\n * Apply group transition animation from g1 to g2.\n * If no animatableModel, no animation.\n */\n\n\nexport function groupTransition(g1, g2, animatableModel) {\n if (!g1 || !g2) {\n return;\n }\n\n function getElMap(g) {\n var elMap = {};\n g.traverse(function (el) {\n if (isNotGroup(el) && el.anid) {\n elMap[el.anid] = el;\n }\n });\n return elMap;\n }\n\n function getAnimatableProps(el) {\n var obj = {\n x: el.x,\n y: el.y,\n rotation: el.rotation\n };\n\n if (isPath(el)) {\n obj.shape = extend({}, el.shape);\n }\n\n return obj;\n }\n\n var elMap1 = getElMap(g1);\n g2.traverse(function (el) {\n if (isNotGroup(el) && 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, getECData(el).dataIndex);\n }\n }\n });\n}\nexport function clipPointsByRect(points, rect) {\n // FIXME: This way might be incorrect when graphic clipped by a corner\n // and when element has a border.\n return 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 * Return a new clipped rect. If rect size are negative, return undefined.\n */\n\nexport function 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}\nexport function createIcon(iconStr, // Support 'image://' or 'path://' or direct svg path.\nopt, rect) {\n var innerOpts = extend({\n rectHover: true\n }, opt);\n var style = innerOpts.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), defaults(style, rect), new ZRImage(innerOpts)) : makePath(iconStr.replace('path://', ''), innerOpts, rect, 'center');\n }\n}\n/**\n * Return `true` if the given line (line `a`) and the given polygon\n * are intersect.\n * Note that we do not count colinear as intersect here because no\n * requirement for that. We could do that if required in future.\n */\n\nexport function linePolygonIntersect(a1x, a1y, a2x, a2y, points) {\n for (var i = 0, p2 = points[points.length - 1]; i < points.length; i++) {\n var p = points[i];\n\n if (lineLineIntersect(a1x, a1y, a2x, a2y, p[0], p[1], p2[0], p2[1])) {\n return true;\n }\n\n p2 = p;\n }\n}\n/**\n * Return `true` if the given two lines (line `a` and line `b`)\n * are intersect.\n * Note that we do not count colinear as intersect here because no\n * requirement for that. We could do that if required in future.\n */\n\nexport function lineLineIntersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) {\n // let `vec_m` to be `vec_a2 - vec_a1` and `vec_n` to be `vec_b2 - vec_b1`.\n var mx = a2x - a1x;\n var my = a2y - a1y;\n var nx = b2x - b1x;\n var ny = b2y - b1y; // `vec_m` and `vec_n` are parallel iff\n // existing `k` such that `vec_m = k · vec_n`, equivalent to `vec_m X vec_n = 0`.\n\n var nmCrossProduct = crossProduct2d(nx, ny, mx, my);\n\n if (nearZero(nmCrossProduct)) {\n return false;\n } // `vec_m` and `vec_n` are intersect iff\n // existing `p` and `q` in [0, 1] such that `vec_a1 + p * vec_m = vec_b1 + q * vec_n`,\n // such that `q = ((vec_a1 - vec_b1) X vec_m) / (vec_n X vec_m)`\n // and `p = ((vec_a1 - vec_b1) X vec_n) / (vec_n X vec_m)`.\n\n\n var b1a1x = a1x - b1x;\n var b1a1y = a1y - b1y;\n var q = crossProduct2d(b1a1x, b1a1y, mx, my) / nmCrossProduct;\n\n if (q < 0 || q > 1) {\n return false;\n }\n\n var p = crossProduct2d(b1a1x, b1a1y, nx, ny) / nmCrossProduct;\n\n if (p < 0 || p > 1) {\n return false;\n }\n\n return true;\n}\n/**\n * Cross product of 2-dimension vector.\n */\n\nfunction crossProduct2d(x1, y1, x2, y2) {\n return x1 * y2 - x2 * y1;\n}\n\nfunction nearZero(val) {\n return val <= 1e-6 && val >= -1e-6;\n}\n\nexport function setTooltipConfig(opt) {\n var itemTooltipOption = opt.itemTooltipOption;\n var componentModel = opt.componentModel;\n var itemName = opt.itemName;\n var itemTooltipOptionObj = isString(itemTooltipOption) ? {\n formatter: itemTooltipOption\n } : itemTooltipOption;\n var mainType = componentModel.mainType;\n var componentIndex = componentModel.componentIndex;\n var formatterParams = {\n componentType: mainType,\n name: itemName,\n $vars: ['name']\n };\n formatterParams[mainType + 'Index'] = componentIndex;\n var formatterParamsExtra = opt.formatterParamsExtra;\n\n if (formatterParamsExtra) {\n each(keys(formatterParamsExtra), function (key) {\n if (!hasOwn(formatterParams, key)) {\n formatterParams[key] = formatterParamsExtra[key];\n formatterParams.$vars.push(key);\n }\n });\n }\n\n var ecData = getECData(opt.el);\n ecData.componentMainType = mainType;\n ecData.componentIndex = componentIndex;\n ecData.tooltipConfig = {\n name: itemName,\n option: defaults({\n content: itemName,\n formatterParams: formatterParams\n }, itemTooltipOptionObj)\n };\n}\n\nfunction traverseElement(el, cb) {\n var stopped; // TODO\n // Polyfill for fixing zrender group traverse don't visit it's root issue.\n\n if (el.isGroup) {\n stopped = cb(el);\n }\n\n if (!stopped) {\n el.traverse(cb);\n }\n}\n\nexport function traverseElements(els, cb) {\n if (els) {\n if (isArray(els)) {\n for (var i = 0; i < els.length; i++) {\n traverseElement(els[i], cb);\n }\n } else {\n traverseElement(els, cb);\n }\n }\n} // Register built-in shapes. These shapes might be overwritten\n// by users, although we do not recommend that.\n\nregisterShape('circle', Circle);\nregisterShape('ellipse', Ellipse);\nregisterShape('sector', Sector);\nregisterShape('ring', Ring);\nregisterShape('polygon', Polygon);\nregisterShape('polyline', Polyline);\nregisterShape('rect', Rect);\nregisterShape('line', Line);\nregisterShape('bezierCurve', BezierCurve);\nregisterShape('arc', Arc);\nexport { Group, ZRImage as Image, ZRText as Text, Circle, Ellipse, Sector, Ring, Polygon, Polyline, Rect, Line, BezierCurve, Arc, IncrementalDisplayable, CompoundPath, LinearGradient, RadialGradient, BoundingRect, OrientedBoundingRect, Point, Path };"]},"metadata":{},"sourceType":"module"}