qauMaWeb/node_modules/.cache/babel-loader/6821ba7d5712590a5ab0eadf8be...

1 line
75 KiB
JSON

{"ast":null,"code":"import \"core-js/modules/es.error.cause.js\";\nimport \"core-js/modules/es.function.name.js\";\nimport \"core-js/modules/es.array.join.js\";\nimport \"core-js/modules/es.array.fill.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.string.match.js\";\nimport \"core-js/modules/es.string.replace.js\";\nimport Group from '../graphic/Group.js';\nimport ZRImage from '../graphic/Image.js';\nimport Circle from '../graphic/shape/Circle.js';\nimport Rect from '../graphic/shape/Rect.js';\nimport Ellipse from '../graphic/shape/Ellipse.js';\nimport Line from '../graphic/shape/Line.js';\nimport Polygon from '../graphic/shape/Polygon.js';\nimport Polyline from '../graphic/shape/Polyline.js';\nimport * as matrix from '../core/matrix.js';\nimport { createFromString } from './path.js';\nimport { defaults, trim, each, map, keys, hasOwn } from '../core/util.js';\nimport LinearGradient from '../graphic/LinearGradient.js';\nimport RadialGradient from '../graphic/RadialGradient.js';\nimport TSpan from '../graphic/TSpan.js';\nimport { parseXML } from './parseXML.js';\n;\nvar nodeParsers;\nvar INHERITABLE_STYLE_ATTRIBUTES_MAP = {\n 'fill': 'fill',\n 'stroke': 'stroke',\n 'stroke-width': 'lineWidth',\n 'opacity': 'opacity',\n 'fill-opacity': 'fillOpacity',\n 'stroke-opacity': 'strokeOpacity',\n 'stroke-dasharray': 'lineDash',\n 'stroke-dashoffset': 'lineDashOffset',\n 'stroke-linecap': 'lineCap',\n 'stroke-linejoin': 'lineJoin',\n 'stroke-miterlimit': 'miterLimit',\n 'font-family': 'fontFamily',\n 'font-size': 'fontSize',\n 'font-style': 'fontStyle',\n 'font-weight': 'fontWeight',\n 'text-anchor': 'textAlign',\n 'visibility': 'visibility',\n 'display': 'display'\n};\nvar INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS = keys(INHERITABLE_STYLE_ATTRIBUTES_MAP);\nvar SELF_STYLE_ATTRIBUTES_MAP = {\n 'alignment-baseline': 'textBaseline',\n 'stop-color': 'stopColor'\n};\nvar SELF_STYLE_ATTRIBUTES_MAP_KEYS = keys(SELF_STYLE_ATTRIBUTES_MAP);\n\nvar SVGParser = function () {\n function SVGParser() {\n this._defs = {};\n this._root = null;\n }\n\n SVGParser.prototype.parse = function (xml, opt) {\n opt = opt || {};\n var svg = parseXML(xml);\n\n if (process.env.NODE_ENV !== 'production') {\n if (!svg) {\n throw new Error('Illegal svg');\n }\n }\n\n this._defsUsePending = [];\n var root = new Group();\n this._root = root;\n var named = [];\n var viewBox = svg.getAttribute('viewBox') || '';\n var width = parseFloat(svg.getAttribute('width') || opt.width);\n var height = parseFloat(svg.getAttribute('height') || opt.height);\n isNaN(width) && (width = null);\n isNaN(height) && (height = null);\n parseAttributes(svg, root, null, true, false);\n var child = svg.firstChild;\n\n while (child) {\n this._parseNode(child, root, named, null, false, false);\n\n child = child.nextSibling;\n }\n\n applyDefs(this._defs, this._defsUsePending);\n this._defsUsePending = [];\n var viewBoxRect;\n var viewBoxTransform;\n\n if (viewBox) {\n var viewBoxArr = splitNumberSequence(viewBox);\n\n if (viewBoxArr.length >= 4) {\n viewBoxRect = {\n x: parseFloat(viewBoxArr[0] || 0),\n y: parseFloat(viewBoxArr[1] || 0),\n width: parseFloat(viewBoxArr[2]),\n height: parseFloat(viewBoxArr[3])\n };\n }\n }\n\n if (viewBoxRect && width != null && height != null) {\n viewBoxTransform = makeViewBoxTransform(viewBoxRect, {\n x: 0,\n y: 0,\n width: width,\n height: height\n });\n\n if (!opt.ignoreViewBox) {\n var elRoot = root;\n root = new Group();\n root.add(elRoot);\n elRoot.scaleX = elRoot.scaleY = viewBoxTransform.scale;\n elRoot.x = viewBoxTransform.x;\n elRoot.y = viewBoxTransform.y;\n }\n }\n\n if (!opt.ignoreRootClip && width != null && height != null) {\n root.setClipPath(new Rect({\n shape: {\n x: 0,\n y: 0,\n width: width,\n height: height\n }\n }));\n }\n\n return {\n root: root,\n width: width,\n height: height,\n viewBoxRect: viewBoxRect,\n viewBoxTransform: viewBoxTransform,\n named: named\n };\n };\n\n SVGParser.prototype._parseNode = function (xmlNode, parentGroup, named, namedFrom, isInDefs, isInText) {\n var nodeName = xmlNode.nodeName.toLowerCase();\n var el;\n var namedFromForSub = namedFrom;\n\n if (nodeName === 'defs') {\n isInDefs = true;\n }\n\n if (nodeName === 'text') {\n isInText = true;\n }\n\n if (nodeName === 'defs' || nodeName === 'switch') {\n el = parentGroup;\n } else {\n if (!isInDefs) {\n var parser_1 = nodeParsers[nodeName];\n\n if (parser_1 && hasOwn(nodeParsers, nodeName)) {\n el = parser_1.call(this, xmlNode, parentGroup);\n var nameAttr = xmlNode.getAttribute('name');\n\n if (nameAttr) {\n var newNamed = {\n name: nameAttr,\n namedFrom: null,\n svgNodeTagLower: nodeName,\n el: el\n };\n named.push(newNamed);\n\n if (nodeName === 'g') {\n namedFromForSub = newNamed;\n }\n } else if (namedFrom) {\n named.push({\n name: namedFrom.name,\n namedFrom: namedFrom,\n svgNodeTagLower: nodeName,\n el: el\n });\n }\n\n parentGroup.add(el);\n }\n }\n\n var parser = paintServerParsers[nodeName];\n\n if (parser && hasOwn(paintServerParsers, nodeName)) {\n var def = parser.call(this, xmlNode);\n var id = xmlNode.getAttribute('id');\n\n if (id) {\n this._defs[id] = def;\n }\n }\n }\n\n if (el && el.isGroup) {\n var child = xmlNode.firstChild;\n\n while (child) {\n if (child.nodeType === 1) {\n this._parseNode(child, el, named, namedFromForSub, isInDefs, isInText);\n } else if (child.nodeType === 3 && isInText) {\n this._parseText(child, el);\n }\n\n child = child.nextSibling;\n }\n }\n };\n\n SVGParser.prototype._parseText = function (xmlNode, parentGroup) {\n var text = new TSpan({\n style: {\n text: xmlNode.textContent\n },\n silent: true,\n x: this._textX || 0,\n y: this._textY || 0\n });\n inheritStyle(parentGroup, text);\n parseAttributes(xmlNode, text, this._defsUsePending, false, false);\n applyTextAlignment(text, parentGroup);\n var textStyle = text.style;\n var fontSize = textStyle.fontSize;\n\n if (fontSize && fontSize < 9) {\n textStyle.fontSize = 9;\n text.scaleX *= fontSize / 9;\n text.scaleY *= fontSize / 9;\n }\n\n var font = (textStyle.fontSize || textStyle.fontFamily) && [textStyle.fontStyle, textStyle.fontWeight, (textStyle.fontSize || 12) + 'px', textStyle.fontFamily || 'sans-serif'].join(' ');\n textStyle.font = font;\n var rect = text.getBoundingRect();\n this._textX += rect.width;\n parentGroup.add(text);\n return text;\n };\n\n SVGParser.internalField = function () {\n nodeParsers = {\n 'g': function g(xmlNode, parentGroup) {\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defsUsePending, false, false);\n return g;\n },\n 'rect': function rect(xmlNode, parentGroup) {\n var rect = new Rect();\n inheritStyle(parentGroup, rect);\n parseAttributes(xmlNode, rect, this._defsUsePending, false, false);\n rect.setShape({\n x: parseFloat(xmlNode.getAttribute('x') || '0'),\n y: parseFloat(xmlNode.getAttribute('y') || '0'),\n width: parseFloat(xmlNode.getAttribute('width') || '0'),\n height: parseFloat(xmlNode.getAttribute('height') || '0')\n });\n rect.silent = true;\n return rect;\n },\n 'circle': function circle(xmlNode, parentGroup) {\n var circle = new Circle();\n inheritStyle(parentGroup, circle);\n parseAttributes(xmlNode, circle, this._defsUsePending, false, false);\n circle.setShape({\n cx: parseFloat(xmlNode.getAttribute('cx') || '0'),\n cy: parseFloat(xmlNode.getAttribute('cy') || '0'),\n r: parseFloat(xmlNode.getAttribute('r') || '0')\n });\n circle.silent = true;\n return circle;\n },\n 'line': function line(xmlNode, parentGroup) {\n var line = new Line();\n inheritStyle(parentGroup, line);\n parseAttributes(xmlNode, line, this._defsUsePending, false, false);\n line.setShape({\n x1: parseFloat(xmlNode.getAttribute('x1') || '0'),\n y1: parseFloat(xmlNode.getAttribute('y1') || '0'),\n x2: parseFloat(xmlNode.getAttribute('x2') || '0'),\n y2: parseFloat(xmlNode.getAttribute('y2') || '0')\n });\n line.silent = true;\n return line;\n },\n 'ellipse': function ellipse(xmlNode, parentGroup) {\n var ellipse = new Ellipse();\n inheritStyle(parentGroup, ellipse);\n parseAttributes(xmlNode, ellipse, this._defsUsePending, false, false);\n ellipse.setShape({\n cx: parseFloat(xmlNode.getAttribute('cx') || '0'),\n cy: parseFloat(xmlNode.getAttribute('cy') || '0'),\n rx: parseFloat(xmlNode.getAttribute('rx') || '0'),\n ry: parseFloat(xmlNode.getAttribute('ry') || '0')\n });\n ellipse.silent = true;\n return ellipse;\n },\n 'polygon': function polygon(xmlNode, parentGroup) {\n var pointsStr = xmlNode.getAttribute('points');\n var pointsArr;\n\n if (pointsStr) {\n pointsArr = parsePoints(pointsStr);\n }\n\n var polygon = new Polygon({\n shape: {\n points: pointsArr || []\n },\n silent: true\n });\n inheritStyle(parentGroup, polygon);\n parseAttributes(xmlNode, polygon, this._defsUsePending, false, false);\n return polygon;\n },\n 'polyline': function polyline(xmlNode, parentGroup) {\n var pointsStr = xmlNode.getAttribute('points');\n var pointsArr;\n\n if (pointsStr) {\n pointsArr = parsePoints(pointsStr);\n }\n\n var polyline = new Polyline({\n shape: {\n points: pointsArr || []\n },\n silent: true\n });\n inheritStyle(parentGroup, polyline);\n parseAttributes(xmlNode, polyline, this._defsUsePending, false, false);\n return polyline;\n },\n 'image': function image(xmlNode, parentGroup) {\n var img = new ZRImage();\n inheritStyle(parentGroup, img);\n parseAttributes(xmlNode, img, this._defsUsePending, false, false);\n img.setStyle({\n image: xmlNode.getAttribute('xlink:href') || xmlNode.getAttribute('href'),\n x: +xmlNode.getAttribute('x'),\n y: +xmlNode.getAttribute('y'),\n width: +xmlNode.getAttribute('width'),\n height: +xmlNode.getAttribute('height')\n });\n img.silent = true;\n return img;\n },\n 'text': function text(xmlNode, parentGroup) {\n var x = xmlNode.getAttribute('x') || '0';\n var y = xmlNode.getAttribute('y') || '0';\n var dx = xmlNode.getAttribute('dx') || '0';\n var dy = xmlNode.getAttribute('dy') || '0';\n this._textX = parseFloat(x) + parseFloat(dx);\n this._textY = parseFloat(y) + parseFloat(dy);\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defsUsePending, false, true);\n return g;\n },\n 'tspan': function tspan(xmlNode, parentGroup) {\n var x = xmlNode.getAttribute('x');\n var y = xmlNode.getAttribute('y');\n\n if (x != null) {\n this._textX = parseFloat(x);\n }\n\n if (y != null) {\n this._textY = parseFloat(y);\n }\n\n var dx = xmlNode.getAttribute('dx') || '0';\n var dy = xmlNode.getAttribute('dy') || '0';\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defsUsePending, false, true);\n this._textX += parseFloat(dx);\n this._textY += parseFloat(dy);\n return g;\n },\n 'path': function path(xmlNode, parentGroup) {\n var d = xmlNode.getAttribute('d') || '';\n var path = createFromString(d);\n inheritStyle(parentGroup, path);\n parseAttributes(xmlNode, path, this._defsUsePending, false, false);\n path.silent = true;\n return path;\n }\n };\n }();\n\n return SVGParser;\n}();\n\nvar paintServerParsers = {\n 'lineargradient': function lineargradient(xmlNode) {\n var x1 = parseInt(xmlNode.getAttribute('x1') || '0', 10);\n var y1 = parseInt(xmlNode.getAttribute('y1') || '0', 10);\n var x2 = parseInt(xmlNode.getAttribute('x2') || '10', 10);\n var y2 = parseInt(xmlNode.getAttribute('y2') || '0', 10);\n var gradient = new LinearGradient(x1, y1, x2, y2);\n parsePaintServerUnit(xmlNode, gradient);\n parseGradientColorStops(xmlNode, gradient);\n return gradient;\n },\n 'radialgradient': function radialgradient(xmlNode) {\n var cx = parseInt(xmlNode.getAttribute('cx') || '0', 10);\n var cy = parseInt(xmlNode.getAttribute('cy') || '0', 10);\n var r = parseInt(xmlNode.getAttribute('r') || '0', 10);\n var gradient = new RadialGradient(cx, cy, r);\n parsePaintServerUnit(xmlNode, gradient);\n parseGradientColorStops(xmlNode, gradient);\n return gradient;\n }\n};\n\nfunction parsePaintServerUnit(xmlNode, gradient) {\n var gradientUnits = xmlNode.getAttribute('gradientUnits');\n\n if (gradientUnits === 'userSpaceOnUse') {\n gradient.global = true;\n }\n}\n\nfunction parseGradientColorStops(xmlNode, gradient) {\n var stop = xmlNode.firstChild;\n\n while (stop) {\n if (stop.nodeType === 1 && stop.nodeName.toLocaleLowerCase() === 'stop') {\n var offsetStr = stop.getAttribute('offset');\n var offset = void 0;\n\n if (offsetStr && offsetStr.indexOf('%') > 0) {\n offset = parseInt(offsetStr, 10) / 100;\n } else if (offsetStr) {\n offset = parseFloat(offsetStr);\n } else {\n offset = 0;\n }\n\n var styleVals = {};\n parseInlineStyle(stop, styleVals, styleVals);\n var stopColor = styleVals.stopColor || stop.getAttribute('stop-color') || '#000000';\n gradient.colorStops.push({\n offset: offset,\n color: stopColor\n });\n }\n\n stop = stop.nextSibling;\n }\n}\n\nfunction inheritStyle(parent, child) {\n if (parent && parent.__inheritedStyle) {\n if (!child.__inheritedStyle) {\n child.__inheritedStyle = {};\n }\n\n defaults(child.__inheritedStyle, parent.__inheritedStyle);\n }\n}\n\nfunction parsePoints(pointsString) {\n var list = splitNumberSequence(pointsString);\n var points = [];\n\n for (var i = 0; i < list.length; i += 2) {\n var x = parseFloat(list[i]);\n var y = parseFloat(list[i + 1]);\n points.push([x, y]);\n }\n\n return points;\n}\n\nfunction parseAttributes(xmlNode, el, defsUsePending, onlyInlineStyle, isTextGroup) {\n var disp = el;\n var inheritedStyle = disp.__inheritedStyle = disp.__inheritedStyle || {};\n var selfStyle = {};\n\n if (xmlNode.nodeType === 1) {\n parseTransformAttribute(xmlNode, el);\n parseInlineStyle(xmlNode, inheritedStyle, selfStyle);\n\n if (!onlyInlineStyle) {\n parseAttributeStyle(xmlNode, inheritedStyle, selfStyle);\n }\n }\n\n disp.style = disp.style || {};\n\n if (inheritedStyle.fill != null) {\n disp.style.fill = getFillStrokeStyle(disp, 'fill', inheritedStyle.fill, defsUsePending);\n }\n\n if (inheritedStyle.stroke != null) {\n disp.style.stroke = getFillStrokeStyle(disp, 'stroke', inheritedStyle.stroke, defsUsePending);\n }\n\n each(['lineWidth', 'opacity', 'fillOpacity', 'strokeOpacity', 'miterLimit', 'fontSize'], function (propName) {\n if (inheritedStyle[propName] != null) {\n disp.style[propName] = parseFloat(inheritedStyle[propName]);\n }\n });\n each(['lineDashOffset', 'lineCap', 'lineJoin', 'fontWeight', 'fontFamily', 'fontStyle', 'textAlign'], function (propName) {\n if (inheritedStyle[propName] != null) {\n disp.style[propName] = inheritedStyle[propName];\n }\n });\n\n if (isTextGroup) {\n disp.__selfStyle = selfStyle;\n }\n\n if (inheritedStyle.lineDash) {\n disp.style.lineDash = map(splitNumberSequence(inheritedStyle.lineDash), function (str) {\n return parseFloat(str);\n });\n }\n\n if (inheritedStyle.visibility === 'hidden' || inheritedStyle.visibility === 'collapse') {\n disp.invisible = true;\n }\n\n if (inheritedStyle.display === 'none') {\n disp.ignore = true;\n }\n}\n\nfunction applyTextAlignment(text, parentGroup) {\n var parentSelfStyle = parentGroup.__selfStyle;\n\n if (parentSelfStyle) {\n var textBaseline = parentSelfStyle.textBaseline;\n var zrTextBaseline = textBaseline;\n\n if (!textBaseline || textBaseline === 'auto') {\n zrTextBaseline = 'alphabetic';\n } else if (textBaseline === 'baseline') {\n zrTextBaseline = 'alphabetic';\n } else if (textBaseline === 'before-edge' || textBaseline === 'text-before-edge') {\n zrTextBaseline = 'top';\n } else if (textBaseline === 'after-edge' || textBaseline === 'text-after-edge') {\n zrTextBaseline = 'bottom';\n } else if (textBaseline === 'central' || textBaseline === 'mathematical') {\n zrTextBaseline = 'middle';\n }\n\n text.style.textBaseline = zrTextBaseline;\n }\n\n var parentInheritedStyle = parentGroup.__inheritedStyle;\n\n if (parentInheritedStyle) {\n var textAlign = parentInheritedStyle.textAlign;\n var zrTextAlign = textAlign;\n\n if (textAlign) {\n if (textAlign === 'middle') {\n zrTextAlign = 'center';\n }\n\n text.style.textAlign = zrTextAlign;\n }\n }\n}\n\nvar urlRegex = /^url\\(\\s*#(.*?)\\)/;\n\nfunction getFillStrokeStyle(el, method, str, defsUsePending) {\n var urlMatch = str && str.match(urlRegex);\n\n if (urlMatch) {\n var url = trim(urlMatch[1]);\n defsUsePending.push([el, method, url]);\n return;\n }\n\n if (str === 'none') {\n str = null;\n }\n\n return str;\n}\n\nfunction applyDefs(defs, defsUsePending) {\n for (var i = 0; i < defsUsePending.length; i++) {\n var item = defsUsePending[i];\n item[0].style[item[1]] = defs[item[2]];\n }\n}\n\nvar numberReg = /-?([0-9]*\\.)?[0-9]+([eE]-?[0-9]+)?/g;\n\nfunction splitNumberSequence(rawStr) {\n return rawStr.match(numberReg) || [];\n}\n\nvar transformRegex = /(translate|scale|rotate|skewX|skewY|matrix)\\(([\\-\\s0-9\\.eE,]*)\\)/g;\nvar DEGREE_TO_ANGLE = Math.PI / 180;\n\nfunction parseTransformAttribute(xmlNode, node) {\n var transform = xmlNode.getAttribute('transform');\n\n if (transform) {\n transform = transform.replace(/,/g, ' ');\n var transformOps_1 = [];\n var mt = null;\n transform.replace(transformRegex, function (str, type, value) {\n transformOps_1.push(type, value);\n return '';\n });\n\n for (var i = transformOps_1.length - 1; i > 0; i -= 2) {\n var value = transformOps_1[i];\n var type = transformOps_1[i - 1];\n var valueArr = splitNumberSequence(value);\n mt = mt || matrix.create();\n\n switch (type) {\n case 'translate':\n matrix.translate(mt, mt, [parseFloat(valueArr[0]), parseFloat(valueArr[1] || '0')]);\n break;\n\n case 'scale':\n matrix.scale(mt, mt, [parseFloat(valueArr[0]), parseFloat(valueArr[1] || valueArr[0])]);\n break;\n\n case 'rotate':\n matrix.rotate(mt, mt, -parseFloat(valueArr[0]) * DEGREE_TO_ANGLE);\n break;\n\n case 'skewX':\n var sx = Math.tan(parseFloat(valueArr[0]) * DEGREE_TO_ANGLE);\n matrix.mul(mt, [1, 0, sx, 1, 0, 0], mt);\n break;\n\n case 'skewY':\n var sy = Math.tan(parseFloat(valueArr[0]) * DEGREE_TO_ANGLE);\n matrix.mul(mt, [1, sy, 0, 1, 0, 0], mt);\n break;\n\n case 'matrix':\n mt[0] = parseFloat(valueArr[0]);\n mt[1] = parseFloat(valueArr[1]);\n mt[2] = parseFloat(valueArr[2]);\n mt[3] = parseFloat(valueArr[3]);\n mt[4] = parseFloat(valueArr[4]);\n mt[5] = parseFloat(valueArr[5]);\n break;\n }\n }\n\n node.setLocalTransform(mt);\n }\n}\n\nvar styleRegex = /([^\\s:;]+)\\s*:\\s*([^:;]+)/g;\n\nfunction parseInlineStyle(xmlNode, inheritableStyleResult, selfStyleResult) {\n var style = xmlNode.getAttribute('style');\n\n if (!style) {\n return;\n }\n\n styleRegex.lastIndex = 0;\n var styleRegResult;\n\n while ((styleRegResult = styleRegex.exec(style)) != null) {\n var svgStlAttr = styleRegResult[1];\n var zrInheritableStlAttr = hasOwn(INHERITABLE_STYLE_ATTRIBUTES_MAP, svgStlAttr) ? INHERITABLE_STYLE_ATTRIBUTES_MAP[svgStlAttr] : null;\n\n if (zrInheritableStlAttr) {\n inheritableStyleResult[zrInheritableStlAttr] = styleRegResult[2];\n }\n\n var zrSelfStlAttr = hasOwn(SELF_STYLE_ATTRIBUTES_MAP, svgStlAttr) ? SELF_STYLE_ATTRIBUTES_MAP[svgStlAttr] : null;\n\n if (zrSelfStlAttr) {\n selfStyleResult[zrSelfStlAttr] = styleRegResult[2];\n }\n }\n}\n\nfunction parseAttributeStyle(xmlNode, inheritableStyleResult, selfStyleResult) {\n for (var i = 0; i < INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS.length; i++) {\n var svgAttrName = INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS[i];\n var attrValue = xmlNode.getAttribute(svgAttrName);\n\n if (attrValue != null) {\n inheritableStyleResult[INHERITABLE_STYLE_ATTRIBUTES_MAP[svgAttrName]] = attrValue;\n }\n }\n\n for (var i = 0; i < SELF_STYLE_ATTRIBUTES_MAP_KEYS.length; i++) {\n var svgAttrName = SELF_STYLE_ATTRIBUTES_MAP_KEYS[i];\n var attrValue = xmlNode.getAttribute(svgAttrName);\n\n if (attrValue != null) {\n selfStyleResult[SELF_STYLE_ATTRIBUTES_MAP[svgAttrName]] = attrValue;\n }\n }\n}\n\nexport function makeViewBoxTransform(viewBoxRect, boundingRect) {\n var scaleX = boundingRect.width / viewBoxRect.width;\n var scaleY = boundingRect.height / viewBoxRect.height;\n var scale = Math.min(scaleX, scaleY);\n return {\n scale: scale,\n x: -(viewBoxRect.x + viewBoxRect.width / 2) * scale + (boundingRect.x + boundingRect.width / 2),\n y: -(viewBoxRect.y + viewBoxRect.height / 2) * scale + (boundingRect.y + boundingRect.height / 2)\n };\n}\nexport function parseSVG(xml, opt) {\n var parser = new SVGParser();\n return parser.parse(xml, opt);\n}\nexport { parseXML };","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src啊/ElectronicMallVue/node_modules/zrender/lib/tool/parseSVG.js"],"names":["Group","ZRImage","Circle","Rect","Ellipse","Line","Polygon","Polyline","matrix","createFromString","defaults","trim","each","map","keys","hasOwn","LinearGradient","RadialGradient","TSpan","parseXML","nodeParsers","INHERITABLE_STYLE_ATTRIBUTES_MAP","INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS","SELF_STYLE_ATTRIBUTES_MAP","SELF_STYLE_ATTRIBUTES_MAP_KEYS","SVGParser","_defs","_root","prototype","parse","xml","opt","svg","process","env","NODE_ENV","Error","_defsUsePending","root","named","viewBox","getAttribute","width","parseFloat","height","isNaN","parseAttributes","child","firstChild","_parseNode","nextSibling","applyDefs","viewBoxRect","viewBoxTransform","viewBoxArr","splitNumberSequence","length","x","y","makeViewBoxTransform","ignoreViewBox","elRoot","add","scaleX","scaleY","scale","ignoreRootClip","setClipPath","shape","xmlNode","parentGroup","namedFrom","isInDefs","isInText","nodeName","toLowerCase","el","namedFromForSub","parser_1","call","nameAttr","newNamed","name","svgNodeTagLower","push","parser","paintServerParsers","def","id","isGroup","nodeType","_parseText","text","style","textContent","silent","_textX","_textY","inheritStyle","applyTextAlignment","textStyle","fontSize","font","fontFamily","fontStyle","fontWeight","join","rect","getBoundingRect","internalField","g","setShape","circle","cx","cy","r","line","x1","y1","x2","y2","ellipse","rx","ry","pointsStr","pointsArr","parsePoints","polygon","points","polyline","img","setStyle","image","dx","dy","d","path","parseInt","gradient","parsePaintServerUnit","parseGradientColorStops","gradientUnits","global","stop","toLocaleLowerCase","offsetStr","offset","indexOf","styleVals","parseInlineStyle","stopColor","colorStops","color","parent","__inheritedStyle","pointsString","list","i","defsUsePending","onlyInlineStyle","isTextGroup","disp","inheritedStyle","selfStyle","parseTransformAttribute","parseAttributeStyle","fill","getFillStrokeStyle","stroke","propName","__selfStyle","lineDash","str","visibility","invisible","display","ignore","parentSelfStyle","textBaseline","zrTextBaseline","parentInheritedStyle","textAlign","zrTextAlign","urlRegex","method","urlMatch","match","url","defs","item","numberReg","rawStr","transformRegex","DEGREE_TO_ANGLE","Math","PI","node","transform","replace","transformOps_1","mt","type","value","valueArr","create","translate","rotate","sx","tan","mul","sy","setLocalTransform","styleRegex","inheritableStyleResult","selfStyleResult","lastIndex","styleRegResult","exec","svgStlAttr","zrInheritableStlAttr","zrSelfStlAttr","svgAttrName","attrValue","boundingRect","min","parseSVG"],"mappings":"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","sourcesContent":["import Group from '../graphic/Group.js';\nimport ZRImage from '../graphic/Image.js';\nimport Circle from '../graphic/shape/Circle.js';\nimport Rect from '../graphic/shape/Rect.js';\nimport Ellipse from '../graphic/shape/Ellipse.js';\nimport Line from '../graphic/shape/Line.js';\nimport Polygon from '../graphic/shape/Polygon.js';\nimport Polyline from '../graphic/shape/Polyline.js';\nimport * as matrix from '../core/matrix.js';\nimport { createFromString } from './path.js';\nimport { defaults, trim, each, map, keys, hasOwn } from '../core/util.js';\nimport LinearGradient from '../graphic/LinearGradient.js';\nimport RadialGradient from '../graphic/RadialGradient.js';\nimport TSpan from '../graphic/TSpan.js';\nimport { parseXML } from './parseXML.js';\n;\nvar nodeParsers;\nvar INHERITABLE_STYLE_ATTRIBUTES_MAP = {\n 'fill': 'fill',\n 'stroke': 'stroke',\n 'stroke-width': 'lineWidth',\n 'opacity': 'opacity',\n 'fill-opacity': 'fillOpacity',\n 'stroke-opacity': 'strokeOpacity',\n 'stroke-dasharray': 'lineDash',\n 'stroke-dashoffset': 'lineDashOffset',\n 'stroke-linecap': 'lineCap',\n 'stroke-linejoin': 'lineJoin',\n 'stroke-miterlimit': 'miterLimit',\n 'font-family': 'fontFamily',\n 'font-size': 'fontSize',\n 'font-style': 'fontStyle',\n 'font-weight': 'fontWeight',\n 'text-anchor': 'textAlign',\n 'visibility': 'visibility',\n 'display': 'display'\n};\nvar INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS = keys(INHERITABLE_STYLE_ATTRIBUTES_MAP);\nvar SELF_STYLE_ATTRIBUTES_MAP = {\n 'alignment-baseline': 'textBaseline',\n 'stop-color': 'stopColor'\n};\nvar SELF_STYLE_ATTRIBUTES_MAP_KEYS = keys(SELF_STYLE_ATTRIBUTES_MAP);\nvar SVGParser = (function () {\n function SVGParser() {\n this._defs = {};\n this._root = null;\n }\n SVGParser.prototype.parse = function (xml, opt) {\n opt = opt || {};\n var svg = parseXML(xml);\n if (process.env.NODE_ENV !== 'production') {\n if (!svg) {\n throw new Error('Illegal svg');\n }\n }\n this._defsUsePending = [];\n var root = new Group();\n this._root = root;\n var named = [];\n var viewBox = svg.getAttribute('viewBox') || '';\n var width = parseFloat((svg.getAttribute('width') || opt.width));\n var height = parseFloat((svg.getAttribute('height') || opt.height));\n isNaN(width) && (width = null);\n isNaN(height) && (height = null);\n parseAttributes(svg, root, null, true, false);\n var child = svg.firstChild;\n while (child) {\n this._parseNode(child, root, named, null, false, false);\n child = child.nextSibling;\n }\n applyDefs(this._defs, this._defsUsePending);\n this._defsUsePending = [];\n var viewBoxRect;\n var viewBoxTransform;\n if (viewBox) {\n var viewBoxArr = splitNumberSequence(viewBox);\n if (viewBoxArr.length >= 4) {\n viewBoxRect = {\n x: parseFloat((viewBoxArr[0] || 0)),\n y: parseFloat((viewBoxArr[1] || 0)),\n width: parseFloat(viewBoxArr[2]),\n height: parseFloat(viewBoxArr[3])\n };\n }\n }\n if (viewBoxRect && width != null && height != null) {\n viewBoxTransform = makeViewBoxTransform(viewBoxRect, { x: 0, y: 0, width: width, height: height });\n if (!opt.ignoreViewBox) {\n var elRoot = root;\n root = new Group();\n root.add(elRoot);\n elRoot.scaleX = elRoot.scaleY = viewBoxTransform.scale;\n elRoot.x = viewBoxTransform.x;\n elRoot.y = viewBoxTransform.y;\n }\n }\n if (!opt.ignoreRootClip && width != null && height != null) {\n root.setClipPath(new Rect({\n shape: { x: 0, y: 0, width: width, height: height }\n }));\n }\n return {\n root: root,\n width: width,\n height: height,\n viewBoxRect: viewBoxRect,\n viewBoxTransform: viewBoxTransform,\n named: named\n };\n };\n SVGParser.prototype._parseNode = function (xmlNode, parentGroup, named, namedFrom, isInDefs, isInText) {\n var nodeName = xmlNode.nodeName.toLowerCase();\n var el;\n var namedFromForSub = namedFrom;\n if (nodeName === 'defs') {\n isInDefs = true;\n }\n if (nodeName === 'text') {\n isInText = true;\n }\n if (nodeName === 'defs' || nodeName === 'switch') {\n el = parentGroup;\n }\n else {\n if (!isInDefs) {\n var parser_1 = nodeParsers[nodeName];\n if (parser_1 && hasOwn(nodeParsers, nodeName)) {\n el = parser_1.call(this, xmlNode, parentGroup);\n var nameAttr = xmlNode.getAttribute('name');\n if (nameAttr) {\n var newNamed = {\n name: nameAttr,\n namedFrom: null,\n svgNodeTagLower: nodeName,\n el: el\n };\n named.push(newNamed);\n if (nodeName === 'g') {\n namedFromForSub = newNamed;\n }\n }\n else if (namedFrom) {\n named.push({\n name: namedFrom.name,\n namedFrom: namedFrom,\n svgNodeTagLower: nodeName,\n el: el\n });\n }\n parentGroup.add(el);\n }\n }\n var parser = paintServerParsers[nodeName];\n if (parser && hasOwn(paintServerParsers, nodeName)) {\n var def = parser.call(this, xmlNode);\n var id = xmlNode.getAttribute('id');\n if (id) {\n this._defs[id] = def;\n }\n }\n }\n if (el && el.isGroup) {\n var child = xmlNode.firstChild;\n while (child) {\n if (child.nodeType === 1) {\n this._parseNode(child, el, named, namedFromForSub, isInDefs, isInText);\n }\n else if (child.nodeType === 3 && isInText) {\n this._parseText(child, el);\n }\n child = child.nextSibling;\n }\n }\n };\n SVGParser.prototype._parseText = function (xmlNode, parentGroup) {\n var text = new TSpan({\n style: {\n text: xmlNode.textContent\n },\n silent: true,\n x: this._textX || 0,\n y: this._textY || 0\n });\n inheritStyle(parentGroup, text);\n parseAttributes(xmlNode, text, this._defsUsePending, false, false);\n applyTextAlignment(text, parentGroup);\n var textStyle = text.style;\n var fontSize = textStyle.fontSize;\n if (fontSize && fontSize < 9) {\n textStyle.fontSize = 9;\n text.scaleX *= fontSize / 9;\n text.scaleY *= fontSize / 9;\n }\n var font = (textStyle.fontSize || textStyle.fontFamily) && [\n textStyle.fontStyle,\n textStyle.fontWeight,\n (textStyle.fontSize || 12) + 'px',\n textStyle.fontFamily || 'sans-serif'\n ].join(' ');\n textStyle.font = font;\n var rect = text.getBoundingRect();\n this._textX += rect.width;\n parentGroup.add(text);\n return text;\n };\n SVGParser.internalField = (function () {\n nodeParsers = {\n 'g': function (xmlNode, parentGroup) {\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defsUsePending, false, false);\n return g;\n },\n 'rect': function (xmlNode, parentGroup) {\n var rect = new Rect();\n inheritStyle(parentGroup, rect);\n parseAttributes(xmlNode, rect, this._defsUsePending, false, false);\n rect.setShape({\n x: parseFloat(xmlNode.getAttribute('x') || '0'),\n y: parseFloat(xmlNode.getAttribute('y') || '0'),\n width: parseFloat(xmlNode.getAttribute('width') || '0'),\n height: parseFloat(xmlNode.getAttribute('height') || '0')\n });\n rect.silent = true;\n return rect;\n },\n 'circle': function (xmlNode, parentGroup) {\n var circle = new Circle();\n inheritStyle(parentGroup, circle);\n parseAttributes(xmlNode, circle, this._defsUsePending, false, false);\n circle.setShape({\n cx: parseFloat(xmlNode.getAttribute('cx') || '0'),\n cy: parseFloat(xmlNode.getAttribute('cy') || '0'),\n r: parseFloat(xmlNode.getAttribute('r') || '0')\n });\n circle.silent = true;\n return circle;\n },\n 'line': function (xmlNode, parentGroup) {\n var line = new Line();\n inheritStyle(parentGroup, line);\n parseAttributes(xmlNode, line, this._defsUsePending, false, false);\n line.setShape({\n x1: parseFloat(xmlNode.getAttribute('x1') || '0'),\n y1: parseFloat(xmlNode.getAttribute('y1') || '0'),\n x2: parseFloat(xmlNode.getAttribute('x2') || '0'),\n y2: parseFloat(xmlNode.getAttribute('y2') || '0')\n });\n line.silent = true;\n return line;\n },\n 'ellipse': function (xmlNode, parentGroup) {\n var ellipse = new Ellipse();\n inheritStyle(parentGroup, ellipse);\n parseAttributes(xmlNode, ellipse, this._defsUsePending, false, false);\n ellipse.setShape({\n cx: parseFloat(xmlNode.getAttribute('cx') || '0'),\n cy: parseFloat(xmlNode.getAttribute('cy') || '0'),\n rx: parseFloat(xmlNode.getAttribute('rx') || '0'),\n ry: parseFloat(xmlNode.getAttribute('ry') || '0')\n });\n ellipse.silent = true;\n return ellipse;\n },\n 'polygon': function (xmlNode, parentGroup) {\n var pointsStr = xmlNode.getAttribute('points');\n var pointsArr;\n if (pointsStr) {\n pointsArr = parsePoints(pointsStr);\n }\n var polygon = new Polygon({\n shape: {\n points: pointsArr || []\n },\n silent: true\n });\n inheritStyle(parentGroup, polygon);\n parseAttributes(xmlNode, polygon, this._defsUsePending, false, false);\n return polygon;\n },\n 'polyline': function (xmlNode, parentGroup) {\n var pointsStr = xmlNode.getAttribute('points');\n var pointsArr;\n if (pointsStr) {\n pointsArr = parsePoints(pointsStr);\n }\n var polyline = new Polyline({\n shape: {\n points: pointsArr || []\n },\n silent: true\n });\n inheritStyle(parentGroup, polyline);\n parseAttributes(xmlNode, polyline, this._defsUsePending, false, false);\n return polyline;\n },\n 'image': function (xmlNode, parentGroup) {\n var img = new ZRImage();\n inheritStyle(parentGroup, img);\n parseAttributes(xmlNode, img, this._defsUsePending, false, false);\n img.setStyle({\n image: xmlNode.getAttribute('xlink:href') || xmlNode.getAttribute('href'),\n x: +xmlNode.getAttribute('x'),\n y: +xmlNode.getAttribute('y'),\n width: +xmlNode.getAttribute('width'),\n height: +xmlNode.getAttribute('height')\n });\n img.silent = true;\n return img;\n },\n 'text': function (xmlNode, parentGroup) {\n var x = xmlNode.getAttribute('x') || '0';\n var y = xmlNode.getAttribute('y') || '0';\n var dx = xmlNode.getAttribute('dx') || '0';\n var dy = xmlNode.getAttribute('dy') || '0';\n this._textX = parseFloat(x) + parseFloat(dx);\n this._textY = parseFloat(y) + parseFloat(dy);\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defsUsePending, false, true);\n return g;\n },\n 'tspan': function (xmlNode, parentGroup) {\n var x = xmlNode.getAttribute('x');\n var y = xmlNode.getAttribute('y');\n if (x != null) {\n this._textX = parseFloat(x);\n }\n if (y != null) {\n this._textY = parseFloat(y);\n }\n var dx = xmlNode.getAttribute('dx') || '0';\n var dy = xmlNode.getAttribute('dy') || '0';\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defsUsePending, false, true);\n this._textX += parseFloat(dx);\n this._textY += parseFloat(dy);\n return g;\n },\n 'path': function (xmlNode, parentGroup) {\n var d = xmlNode.getAttribute('d') || '';\n var path = createFromString(d);\n inheritStyle(parentGroup, path);\n parseAttributes(xmlNode, path, this._defsUsePending, false, false);\n path.silent = true;\n return path;\n }\n };\n })();\n return SVGParser;\n}());\nvar paintServerParsers = {\n 'lineargradient': function (xmlNode) {\n var x1 = parseInt(xmlNode.getAttribute('x1') || '0', 10);\n var y1 = parseInt(xmlNode.getAttribute('y1') || '0', 10);\n var x2 = parseInt(xmlNode.getAttribute('x2') || '10', 10);\n var y2 = parseInt(xmlNode.getAttribute('y2') || '0', 10);\n var gradient = new LinearGradient(x1, y1, x2, y2);\n parsePaintServerUnit(xmlNode, gradient);\n parseGradientColorStops(xmlNode, gradient);\n return gradient;\n },\n 'radialgradient': function (xmlNode) {\n var cx = parseInt(xmlNode.getAttribute('cx') || '0', 10);\n var cy = parseInt(xmlNode.getAttribute('cy') || '0', 10);\n var r = parseInt(xmlNode.getAttribute('r') || '0', 10);\n var gradient = new RadialGradient(cx, cy, r);\n parsePaintServerUnit(xmlNode, gradient);\n parseGradientColorStops(xmlNode, gradient);\n return gradient;\n }\n};\nfunction parsePaintServerUnit(xmlNode, gradient) {\n var gradientUnits = xmlNode.getAttribute('gradientUnits');\n if (gradientUnits === 'userSpaceOnUse') {\n gradient.global = true;\n }\n}\nfunction parseGradientColorStops(xmlNode, gradient) {\n var stop = xmlNode.firstChild;\n while (stop) {\n if (stop.nodeType === 1\n && stop.nodeName.toLocaleLowerCase() === 'stop') {\n var offsetStr = stop.getAttribute('offset');\n var offset = void 0;\n if (offsetStr && offsetStr.indexOf('%') > 0) {\n offset = parseInt(offsetStr, 10) / 100;\n }\n else if (offsetStr) {\n offset = parseFloat(offsetStr);\n }\n else {\n offset = 0;\n }\n var styleVals = {};\n parseInlineStyle(stop, styleVals, styleVals);\n var stopColor = styleVals.stopColor\n || stop.getAttribute('stop-color')\n || '#000000';\n gradient.colorStops.push({\n offset: offset,\n color: stopColor\n });\n }\n stop = stop.nextSibling;\n }\n}\nfunction inheritStyle(parent, child) {\n if (parent && parent.__inheritedStyle) {\n if (!child.__inheritedStyle) {\n child.__inheritedStyle = {};\n }\n defaults(child.__inheritedStyle, parent.__inheritedStyle);\n }\n}\nfunction parsePoints(pointsString) {\n var list = splitNumberSequence(pointsString);\n var points = [];\n for (var i = 0; i < list.length; i += 2) {\n var x = parseFloat(list[i]);\n var y = parseFloat(list[i + 1]);\n points.push([x, y]);\n }\n return points;\n}\nfunction parseAttributes(xmlNode, el, defsUsePending, onlyInlineStyle, isTextGroup) {\n var disp = el;\n var inheritedStyle = disp.__inheritedStyle = disp.__inheritedStyle || {};\n var selfStyle = {};\n if (xmlNode.nodeType === 1) {\n parseTransformAttribute(xmlNode, el);\n parseInlineStyle(xmlNode, inheritedStyle, selfStyle);\n if (!onlyInlineStyle) {\n parseAttributeStyle(xmlNode, inheritedStyle, selfStyle);\n }\n }\n disp.style = disp.style || {};\n if (inheritedStyle.fill != null) {\n disp.style.fill = getFillStrokeStyle(disp, 'fill', inheritedStyle.fill, defsUsePending);\n }\n if (inheritedStyle.stroke != null) {\n disp.style.stroke = getFillStrokeStyle(disp, 'stroke', inheritedStyle.stroke, defsUsePending);\n }\n each([\n 'lineWidth', 'opacity', 'fillOpacity', 'strokeOpacity', 'miterLimit', 'fontSize'\n ], function (propName) {\n if (inheritedStyle[propName] != null) {\n disp.style[propName] = parseFloat(inheritedStyle[propName]);\n }\n });\n each([\n 'lineDashOffset', 'lineCap', 'lineJoin', 'fontWeight', 'fontFamily', 'fontStyle', 'textAlign'\n ], function (propName) {\n if (inheritedStyle[propName] != null) {\n disp.style[propName] = inheritedStyle[propName];\n }\n });\n if (isTextGroup) {\n disp.__selfStyle = selfStyle;\n }\n if (inheritedStyle.lineDash) {\n disp.style.lineDash = map(splitNumberSequence(inheritedStyle.lineDash), function (str) {\n return parseFloat(str);\n });\n }\n if (inheritedStyle.visibility === 'hidden' || inheritedStyle.visibility === 'collapse') {\n disp.invisible = true;\n }\n if (inheritedStyle.display === 'none') {\n disp.ignore = true;\n }\n}\nfunction applyTextAlignment(text, parentGroup) {\n var parentSelfStyle = parentGroup.__selfStyle;\n if (parentSelfStyle) {\n var textBaseline = parentSelfStyle.textBaseline;\n var zrTextBaseline = textBaseline;\n if (!textBaseline || textBaseline === 'auto') {\n zrTextBaseline = 'alphabetic';\n }\n else if (textBaseline === 'baseline') {\n zrTextBaseline = 'alphabetic';\n }\n else if (textBaseline === 'before-edge' || textBaseline === 'text-before-edge') {\n zrTextBaseline = 'top';\n }\n else if (textBaseline === 'after-edge' || textBaseline === 'text-after-edge') {\n zrTextBaseline = 'bottom';\n }\n else if (textBaseline === 'central' || textBaseline === 'mathematical') {\n zrTextBaseline = 'middle';\n }\n text.style.textBaseline = zrTextBaseline;\n }\n var parentInheritedStyle = parentGroup.__inheritedStyle;\n if (parentInheritedStyle) {\n var textAlign = parentInheritedStyle.textAlign;\n var zrTextAlign = textAlign;\n if (textAlign) {\n if (textAlign === 'middle') {\n zrTextAlign = 'center';\n }\n text.style.textAlign = zrTextAlign;\n }\n }\n}\nvar urlRegex = /^url\\(\\s*#(.*?)\\)/;\nfunction getFillStrokeStyle(el, method, str, defsUsePending) {\n var urlMatch = str && str.match(urlRegex);\n if (urlMatch) {\n var url = trim(urlMatch[1]);\n defsUsePending.push([el, method, url]);\n return;\n }\n if (str === 'none') {\n str = null;\n }\n return str;\n}\nfunction applyDefs(defs, defsUsePending) {\n for (var i = 0; i < defsUsePending.length; i++) {\n var item = defsUsePending[i];\n item[0].style[item[1]] = defs[item[2]];\n }\n}\nvar numberReg = /-?([0-9]*\\.)?[0-9]+([eE]-?[0-9]+)?/g;\nfunction splitNumberSequence(rawStr) {\n return rawStr.match(numberReg) || [];\n}\nvar transformRegex = /(translate|scale|rotate|skewX|skewY|matrix)\\(([\\-\\s0-9\\.eE,]*)\\)/g;\nvar DEGREE_TO_ANGLE = Math.PI / 180;\nfunction parseTransformAttribute(xmlNode, node) {\n var transform = xmlNode.getAttribute('transform');\n if (transform) {\n transform = transform.replace(/,/g, ' ');\n var transformOps_1 = [];\n var mt = null;\n transform.replace(transformRegex, function (str, type, value) {\n transformOps_1.push(type, value);\n return '';\n });\n for (var i = transformOps_1.length - 1; i > 0; i -= 2) {\n var value = transformOps_1[i];\n var type = transformOps_1[i - 1];\n var valueArr = splitNumberSequence(value);\n mt = mt || matrix.create();\n switch (type) {\n case 'translate':\n matrix.translate(mt, mt, [parseFloat(valueArr[0]), parseFloat(valueArr[1] || '0')]);\n break;\n case 'scale':\n matrix.scale(mt, mt, [parseFloat(valueArr[0]), parseFloat(valueArr[1] || valueArr[0])]);\n break;\n case 'rotate':\n matrix.rotate(mt, mt, -parseFloat(valueArr[0]) * DEGREE_TO_ANGLE);\n break;\n case 'skewX':\n var sx = Math.tan(parseFloat(valueArr[0]) * DEGREE_TO_ANGLE);\n matrix.mul(mt, [1, 0, sx, 1, 0, 0], mt);\n break;\n case 'skewY':\n var sy = Math.tan(parseFloat(valueArr[0]) * DEGREE_TO_ANGLE);\n matrix.mul(mt, [1, sy, 0, 1, 0, 0], mt);\n break;\n case 'matrix':\n mt[0] = parseFloat(valueArr[0]);\n mt[1] = parseFloat(valueArr[1]);\n mt[2] = parseFloat(valueArr[2]);\n mt[3] = parseFloat(valueArr[3]);\n mt[4] = parseFloat(valueArr[4]);\n mt[5] = parseFloat(valueArr[5]);\n break;\n }\n }\n node.setLocalTransform(mt);\n }\n}\nvar styleRegex = /([^\\s:;]+)\\s*:\\s*([^:;]+)/g;\nfunction parseInlineStyle(xmlNode, inheritableStyleResult, selfStyleResult) {\n var style = xmlNode.getAttribute('style');\n if (!style) {\n return;\n }\n styleRegex.lastIndex = 0;\n var styleRegResult;\n while ((styleRegResult = styleRegex.exec(style)) != null) {\n var svgStlAttr = styleRegResult[1];\n var zrInheritableStlAttr = hasOwn(INHERITABLE_STYLE_ATTRIBUTES_MAP, svgStlAttr)\n ? INHERITABLE_STYLE_ATTRIBUTES_MAP[svgStlAttr]\n : null;\n if (zrInheritableStlAttr) {\n inheritableStyleResult[zrInheritableStlAttr] = styleRegResult[2];\n }\n var zrSelfStlAttr = hasOwn(SELF_STYLE_ATTRIBUTES_MAP, svgStlAttr)\n ? SELF_STYLE_ATTRIBUTES_MAP[svgStlAttr]\n : null;\n if (zrSelfStlAttr) {\n selfStyleResult[zrSelfStlAttr] = styleRegResult[2];\n }\n }\n}\nfunction parseAttributeStyle(xmlNode, inheritableStyleResult, selfStyleResult) {\n for (var i = 0; i < INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS.length; i++) {\n var svgAttrName = INHERITABLE_STYLE_ATTRIBUTES_MAP_KEYS[i];\n var attrValue = xmlNode.getAttribute(svgAttrName);\n if (attrValue != null) {\n inheritableStyleResult[INHERITABLE_STYLE_ATTRIBUTES_MAP[svgAttrName]] = attrValue;\n }\n }\n for (var i = 0; i < SELF_STYLE_ATTRIBUTES_MAP_KEYS.length; i++) {\n var svgAttrName = SELF_STYLE_ATTRIBUTES_MAP_KEYS[i];\n var attrValue = xmlNode.getAttribute(svgAttrName);\n if (attrValue != null) {\n selfStyleResult[SELF_STYLE_ATTRIBUTES_MAP[svgAttrName]] = attrValue;\n }\n }\n}\nexport function makeViewBoxTransform(viewBoxRect, boundingRect) {\n var scaleX = boundingRect.width / viewBoxRect.width;\n var scaleY = boundingRect.height / viewBoxRect.height;\n var scale = Math.min(scaleX, scaleY);\n return {\n scale: scale,\n x: -(viewBoxRect.x + viewBoxRect.width / 2) * scale + (boundingRect.x + boundingRect.width / 2),\n y: -(viewBoxRect.y + viewBoxRect.height / 2) * scale + (boundingRect.y + boundingRect.height / 2)\n };\n}\nexport function parseSVG(xml, opt) {\n var parser = new SVGParser();\n return parser.parse(xml, opt);\n}\nexport { parseXML };\n"]},"metadata":{},"sourceType":"module"}