qauMaWeb/node_modules/.cache/babel-loader/73c404b77445e33a686549c716f...

1 line
49 KiB
JSON

{"ast":null,"code":"import \"core-js/modules/es.array.join.js\";\nimport \"core-js/modules/es.regexp.exec.js\";\nimport \"core-js/modules/es.string.match.js\";\nimport \"core-js/modules/es.array.filter.js\";\nimport \"core-js/modules/es.object.to-string.js\";\nimport { adjustTextY, getIdURL, getMatrixStr, getPathPrecision, getShadowKey, getSRTTransformString, hasShadow, isAroundZero, isGradient, isImagePattern, isLinearGradient, isPattern, isRadialGradient, normalizeColor, round4, TEXT_ALIGN_TO_ANCHOR } from './helper.js';\nimport Path from '../graphic/Path.js';\nimport ZRImage from '../graphic/Image.js';\nimport { getLineHeight } from '../contain/text.js';\nimport TSpan from '../graphic/TSpan.js';\nimport SVGPathRebuilder from './SVGPathRebuilder.js';\nimport mapStyleToAttrs from './mapStyleToAttrs.js';\nimport { createVNode, vNodeToString } from './core.js';\nimport { assert, clone, isFunction, isString, logError, map, retrieve2 } from '../core/util.js';\nimport { createOrUpdateImage } from '../graphic/helper/image.js';\nimport { createCSSAnimation } from './cssAnimation.js';\nimport { hasSeparateFont, parseFontSize } from '../graphic/Text.js';\nimport { DEFAULT_FONT, DEFAULT_FONT_FAMILY } from '../core/platform.js';\nvar round = Math.round;\n\nfunction isImageLike(val) {\n return val && isString(val.src);\n}\n\nfunction isCanvasLike(val) {\n return val && isFunction(val.toDataURL);\n}\n\nfunction setStyleAttrs(attrs, style, el, scope) {\n mapStyleToAttrs(function (key, val) {\n var isFillStroke = key === 'fill' || key === 'stroke';\n\n if (isFillStroke && isGradient(val)) {\n setGradient(style, attrs, key, scope);\n } else if (isFillStroke && isPattern(val)) {\n setPattern(el, attrs, key, scope);\n } else {\n attrs[key] = val;\n }\n }, style, el, false);\n setShadow(el, attrs, scope);\n}\n\nfunction noRotateScale(m) {\n return isAroundZero(m[0] - 1) && isAroundZero(m[1]) && isAroundZero(m[2]) && isAroundZero(m[3] - 1);\n}\n\nfunction noTranslate(m) {\n return isAroundZero(m[4]) && isAroundZero(m[5]);\n}\n\nfunction setTransform(attrs, m, compress) {\n if (m && !(noTranslate(m) && noRotateScale(m))) {\n var mul = compress ? 10 : 1e4;\n attrs.transform = noRotateScale(m) ? \"translate(\" + round(m[4] * mul) / mul + \" \" + round(m[5] * mul) / mul + \")\" : getMatrixStr(m);\n }\n}\n\nfunction convertPolyShape(shape, attrs, mul) {\n var points = shape.points;\n var strArr = [];\n\n for (var i = 0; i < points.length; i++) {\n strArr.push(round(points[i][0] * mul) / mul);\n strArr.push(round(points[i][1] * mul) / mul);\n }\n\n attrs.points = strArr.join(' ');\n}\n\nfunction validatePolyShape(shape) {\n return !shape.smooth;\n}\n\nfunction createAttrsConvert(desc) {\n var normalizedDesc = map(desc, function (item) {\n return typeof item === 'string' ? [item, item] : item;\n });\n return function (shape, attrs, mul) {\n for (var i = 0; i < normalizedDesc.length; i++) {\n var item = normalizedDesc[i];\n var val = shape[item[0]];\n\n if (val != null) {\n attrs[item[1]] = round(val * mul) / mul;\n }\n }\n };\n}\n\nvar buitinShapesDef = {\n circle: [createAttrsConvert(['cx', 'cy', 'r'])],\n polyline: [convertPolyShape, validatePolyShape],\n polygon: [convertPolyShape, validatePolyShape]\n};\n\nfunction hasShapeAnimation(el) {\n var animators = el.animators;\n\n for (var i = 0; i < animators.length; i++) {\n if (animators[i].targetName === 'shape') {\n return true;\n }\n }\n\n return false;\n}\n\nexport function brushSVGPath(el, scope) {\n var style = el.style;\n var shape = el.shape;\n var builtinShpDef = buitinShapesDef[el.type];\n var attrs = {};\n var needsAnimate = scope.animation;\n var svgElType = 'path';\n var strokePercent = el.style.strokePercent;\n var precision = scope.compress && getPathPrecision(el) || 4;\n\n if (builtinShpDef && !scope.willUpdate && !(builtinShpDef[1] && !builtinShpDef[1](shape)) && !(needsAnimate && hasShapeAnimation(el)) && !(strokePercent < 1)) {\n svgElType = el.type;\n var mul = Math.pow(10, precision);\n builtinShpDef[0](shape, attrs, mul);\n } else {\n if (!el.path) {\n el.createPathProxy();\n }\n\n var path = el.path;\n\n if (el.shapeChanged()) {\n path.beginPath();\n el.buildPath(path, el.shape);\n el.pathUpdated();\n }\n\n var pathVersion = path.getVersion();\n var elExt = el;\n var svgPathBuilder = elExt.__svgPathBuilder;\n\n if (elExt.__svgPathVersion !== pathVersion || !svgPathBuilder || strokePercent !== elExt.__svgPathStrokePercent) {\n if (!svgPathBuilder) {\n svgPathBuilder = elExt.__svgPathBuilder = new SVGPathRebuilder();\n }\n\n svgPathBuilder.reset(precision);\n path.rebuildPath(svgPathBuilder, strokePercent);\n svgPathBuilder.generateStr();\n elExt.__svgPathVersion = pathVersion;\n elExt.__svgPathStrokePercent = strokePercent;\n }\n\n attrs.d = svgPathBuilder.getStr();\n }\n\n setTransform(attrs, el.transform);\n setStyleAttrs(attrs, style, el, scope);\n scope.animation && createCSSAnimation(el, attrs, scope);\n return createVNode(svgElType, el.id + '', attrs);\n}\nexport function brushSVGImage(el, scope) {\n var style = el.style;\n var image = style.image;\n\n if (image && !isString(image)) {\n if (isImageLike(image)) {\n image = image.src;\n } else if (isCanvasLike(image)) {\n image = image.toDataURL();\n }\n }\n\n if (!image) {\n return;\n }\n\n var x = style.x || 0;\n var y = style.y || 0;\n var dw = style.width;\n var dh = style.height;\n var attrs = {\n href: image,\n width: dw,\n height: dh\n };\n\n if (x) {\n attrs.x = x;\n }\n\n if (y) {\n attrs.y = y;\n }\n\n setTransform(attrs, el.transform);\n setStyleAttrs(attrs, style, el, scope);\n scope.animation && createCSSAnimation(el, attrs, scope);\n return createVNode('image', el.id + '', attrs);\n}\n;\nexport function brushSVGTSpan(el, scope) {\n var style = el.style;\n var text = style.text;\n text != null && (text += '');\n\n if (!text || isNaN(style.x) || isNaN(style.y)) {\n return;\n }\n\n var font = style.font || DEFAULT_FONT;\n var x = style.x || 0;\n var y = adjustTextY(style.y || 0, getLineHeight(font), style.textBaseline);\n var textAlign = TEXT_ALIGN_TO_ANCHOR[style.textAlign] || style.textAlign;\n var attrs = {\n 'dominant-baseline': 'central',\n 'text-anchor': textAlign\n };\n\n if (hasSeparateFont(style)) {\n var separatedFontStr = '';\n var fontStyle = style.fontStyle;\n var fontSize = parseFontSize(style.fontSize);\n\n if (!parseFloat(fontSize)) {\n return;\n }\n\n var fontFamily = style.fontFamily || DEFAULT_FONT_FAMILY;\n var fontWeight = style.fontWeight;\n separatedFontStr += \"font-size:\" + fontSize + \";font-family:\" + fontFamily + \";\";\n\n if (fontStyle && fontStyle !== 'normal') {\n separatedFontStr += \"font-style:\" + fontStyle + \";\";\n }\n\n if (fontWeight && fontWeight !== 'normal') {\n separatedFontStr += \"font-weight:\" + fontWeight + \";\";\n }\n\n attrs.style = separatedFontStr;\n } else {\n attrs.style = \"font: \" + font;\n }\n\n if (text.match(/\\s/)) {\n attrs['xml:space'] = 'preserve';\n }\n\n if (x) {\n attrs.x = x;\n }\n\n if (y) {\n attrs.y = y;\n }\n\n setTransform(attrs, el.transform);\n setStyleAttrs(attrs, style, el, scope);\n scope.animation && createCSSAnimation(el, attrs, scope);\n return createVNode('text', el.id + '', attrs, undefined, text);\n}\nexport function brush(el, scope) {\n if (el instanceof Path) {\n return brushSVGPath(el, scope);\n } else if (el instanceof ZRImage) {\n return brushSVGImage(el, scope);\n } else if (el instanceof TSpan) {\n return brushSVGTSpan(el, scope);\n }\n}\n\nfunction setShadow(el, attrs, scope) {\n var style = el.style;\n\n if (hasShadow(style)) {\n var shadowKey = getShadowKey(el);\n var shadowCache = scope.shadowCache;\n var shadowId = shadowCache[shadowKey];\n\n if (!shadowId) {\n var globalScale = el.getGlobalScale();\n var scaleX = globalScale[0];\n var scaleY = globalScale[1];\n\n if (!scaleX || !scaleY) {\n return;\n }\n\n var offsetX = style.shadowOffsetX || 0;\n var offsetY = style.shadowOffsetY || 0;\n var blur_1 = style.shadowBlur;\n\n var _a = normalizeColor(style.shadowColor),\n opacity = _a.opacity,\n color = _a.color;\n\n var stdDx = blur_1 / 2 / scaleX;\n var stdDy = blur_1 / 2 / scaleY;\n var stdDeviation = stdDx + ' ' + stdDy;\n shadowId = scope.zrId + '-s' + scope.shadowIdx++;\n scope.defs[shadowId] = createVNode('filter', shadowId, {\n 'id': shadowId,\n 'x': '-100%',\n 'y': '-100%',\n 'width': '300%',\n 'height': '300%'\n }, [createVNode('feDropShadow', '', {\n 'dx': offsetX / scaleX,\n 'dy': offsetY / scaleY,\n 'stdDeviation': stdDeviation,\n 'flood-color': color,\n 'flood-opacity': opacity\n })]);\n shadowCache[shadowKey] = shadowId;\n }\n\n attrs.filter = getIdURL(shadowId);\n }\n}\n\nfunction setGradient(style, attrs, target, scope) {\n var val = style[target];\n var gradientTag;\n var gradientAttrs = {\n 'gradientUnits': val.global ? 'userSpaceOnUse' : 'objectBoundingBox'\n };\n\n if (isLinearGradient(val)) {\n gradientTag = 'linearGradient';\n gradientAttrs.x1 = val.x;\n gradientAttrs.y1 = val.y;\n gradientAttrs.x2 = val.x2;\n gradientAttrs.y2 = val.y2;\n } else if (isRadialGradient(val)) {\n gradientTag = 'radialGradient';\n gradientAttrs.cx = retrieve2(val.x, 0.5);\n gradientAttrs.cy = retrieve2(val.y, 0.5);\n gradientAttrs.r = retrieve2(val.r, 0.5);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n logError('Illegal gradient type.');\n }\n\n return;\n }\n\n var colors = val.colorStops;\n var colorStops = [];\n\n for (var i = 0, len = colors.length; i < len; ++i) {\n var offset = round4(colors[i].offset) * 100 + '%';\n var stopColor = colors[i].color;\n\n var _a = normalizeColor(stopColor),\n color = _a.color,\n opacity = _a.opacity;\n\n var stopsAttrs = {\n 'offset': offset\n };\n stopsAttrs['stop-color'] = color;\n\n if (opacity < 1) {\n stopsAttrs['stop-opacity'] = opacity;\n }\n\n colorStops.push(createVNode('stop', i + '', stopsAttrs));\n }\n\n var gradientVNode = createVNode(gradientTag, '', gradientAttrs, colorStops);\n var gradientKey = vNodeToString(gradientVNode);\n var gradientCache = scope.gradientCache;\n var gradientId = gradientCache[gradientKey];\n\n if (!gradientId) {\n gradientId = scope.zrId + '-g' + scope.gradientIdx++;\n gradientCache[gradientKey] = gradientId;\n gradientAttrs.id = gradientId;\n scope.defs[gradientId] = createVNode(gradientTag, gradientId, gradientAttrs, colorStops);\n }\n\n attrs[target] = getIdURL(gradientId);\n}\n\nfunction setPattern(el, attrs, target, scope) {\n var val = el.style[target];\n var patternAttrs = {\n 'patternUnits': 'userSpaceOnUse'\n };\n var child;\n\n if (isImagePattern(val)) {\n var imageWidth_1 = val.imageWidth;\n var imageHeight_1 = val.imageHeight;\n var imageSrc = void 0;\n var patternImage = val.image;\n\n if (isString(patternImage)) {\n imageSrc = patternImage;\n } else if (isImageLike(patternImage)) {\n imageSrc = patternImage.src;\n } else if (isCanvasLike(patternImage)) {\n imageSrc = patternImage.toDataURL();\n }\n\n if (typeof Image === 'undefined') {\n var errMsg = 'Image width/height must been given explictly in svg-ssr renderer.';\n assert(imageWidth_1, errMsg);\n assert(imageHeight_1, errMsg);\n } else if (imageWidth_1 == null || imageHeight_1 == null) {\n var setSizeToVNode_1 = function setSizeToVNode_1(vNode, img) {\n if (vNode) {\n var svgEl = vNode.elm;\n var width = vNode.attrs.width = imageWidth_1 || img.width;\n var height = vNode.attrs.height = imageHeight_1 || img.height;\n\n if (svgEl) {\n svgEl.setAttribute('width', width);\n svgEl.setAttribute('height', height);\n }\n }\n };\n\n var createdImage = createOrUpdateImage(imageSrc, null, el, function (img) {\n setSizeToVNode_1(patternVNode, img);\n setSizeToVNode_1(child, img);\n });\n\n if (createdImage && createdImage.width && createdImage.height) {\n imageWidth_1 = imageWidth_1 || createdImage.width;\n imageHeight_1 = imageHeight_1 || createdImage.height;\n }\n }\n\n child = createVNode('image', 'img', {\n href: imageSrc,\n width: imageWidth_1,\n height: imageHeight_1\n });\n patternAttrs.width = imageWidth_1;\n patternAttrs.height = imageHeight_1;\n } else if (val.svgElement) {\n child = clone(val.svgElement);\n patternAttrs.width = val.svgWidth;\n patternAttrs.height = val.svgHeight;\n }\n\n if (!child) {\n return;\n }\n\n patternAttrs.patternTransform = getSRTTransformString(val);\n var patternVNode = createVNode('pattern', '', patternAttrs, [child]);\n var patternKey = vNodeToString(patternVNode);\n var patternCache = scope.patternCache;\n var patternId = patternCache[patternKey];\n\n if (!patternId) {\n patternId = scope.zrId + '-p' + scope.patternIdx++;\n patternCache[patternKey] = patternId;\n patternAttrs.id = patternId;\n patternVNode = scope.defs[patternId] = createVNode('pattern', patternId, patternAttrs, [child]);\n }\n\n attrs[target] = getIdURL(patternId);\n}\n\nexport function setClipPath(clipPath, attrs, scope) {\n var clipPathCache = scope.clipPathCache,\n defs = scope.defs;\n var clipPathId = clipPathCache[clipPath.id];\n\n if (!clipPathId) {\n clipPathId = scope.zrId + '-c' + scope.clipPathIdx++;\n var clipPathAttrs = {\n id: clipPathId\n };\n clipPathCache[clipPath.id] = clipPathId;\n defs[clipPathId] = createVNode('clipPath', clipPathId, clipPathAttrs, [brushSVGPath(clipPath, scope)]);\n }\n\n attrs['clip-path'] = getIdURL(clipPathId);\n}","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src/qingge-Market/qingge-vue/node_modules/zrender/lib/svg/graphic.js"],"names":["adjustTextY","getIdURL","getMatrixStr","getPathPrecision","getShadowKey","getSRTTransformString","hasShadow","isAroundZero","isGradient","isImagePattern","isLinearGradient","isPattern","isRadialGradient","normalizeColor","round4","TEXT_ALIGN_TO_ANCHOR","Path","ZRImage","getLineHeight","TSpan","SVGPathRebuilder","mapStyleToAttrs","createVNode","vNodeToString","assert","clone","isFunction","isString","logError","map","retrieve2","createOrUpdateImage","createCSSAnimation","hasSeparateFont","parseFontSize","DEFAULT_FONT","DEFAULT_FONT_FAMILY","round","Math","isImageLike","val","src","isCanvasLike","toDataURL","setStyleAttrs","attrs","style","el","scope","key","isFillStroke","setGradient","setPattern","setShadow","noRotateScale","m","noTranslate","setTransform","compress","mul","transform","convertPolyShape","shape","points","strArr","i","length","push","join","validatePolyShape","smooth","createAttrsConvert","desc","normalizedDesc","item","buitinShapesDef","circle","polyline","polygon","hasShapeAnimation","animators","targetName","brushSVGPath","builtinShpDef","type","needsAnimate","animation","svgElType","strokePercent","precision","willUpdate","pow","path","createPathProxy","shapeChanged","beginPath","buildPath","pathUpdated","pathVersion","getVersion","elExt","svgPathBuilder","__svgPathBuilder","__svgPathVersion","__svgPathStrokePercent","reset","rebuildPath","generateStr","d","getStr","id","brushSVGImage","image","x","y","dw","width","dh","height","href","brushSVGTSpan","text","isNaN","font","textBaseline","textAlign","separatedFontStr","fontStyle","fontSize","parseFloat","fontFamily","fontWeight","match","undefined","brush","shadowKey","shadowCache","shadowId","globalScale","getGlobalScale","scaleX","scaleY","offsetX","shadowOffsetX","offsetY","shadowOffsetY","blur_1","shadowBlur","_a","shadowColor","opacity","color","stdDx","stdDy","stdDeviation","zrId","shadowIdx","defs","filter","target","gradientTag","gradientAttrs","global","x1","y1","x2","y2","cx","cy","r","process","env","NODE_ENV","colors","colorStops","len","offset","stopColor","stopsAttrs","gradientVNode","gradientKey","gradientCache","gradientId","gradientIdx","patternAttrs","child","imageWidth_1","imageWidth","imageHeight_1","imageHeight","imageSrc","patternImage","Image","errMsg","setSizeToVNode_1","vNode","img","svgEl","elm","setAttribute","createdImage","patternVNode","svgElement","svgWidth","svgHeight","patternTransform","patternKey","patternCache","patternId","patternIdx","setClipPath","clipPath","clipPathCache","clipPathId","clipPathIdx","clipPathAttrs"],"mappings":"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","sourcesContent":["import { adjustTextY, getIdURL, getMatrixStr, getPathPrecision, getShadowKey, getSRTTransformString, hasShadow, isAroundZero, isGradient, isImagePattern, isLinearGradient, isPattern, isRadialGradient, normalizeColor, round4, TEXT_ALIGN_TO_ANCHOR } from './helper.js';\r\nimport Path from '../graphic/Path.js';\r\nimport ZRImage from '../graphic/Image.js';\r\nimport { getLineHeight } from '../contain/text.js';\r\nimport TSpan from '../graphic/TSpan.js';\r\nimport SVGPathRebuilder from './SVGPathRebuilder.js';\r\nimport mapStyleToAttrs from './mapStyleToAttrs.js';\r\nimport { createVNode, vNodeToString } from './core.js';\r\nimport { assert, clone, isFunction, isString, logError, map, retrieve2 } from '../core/util.js';\r\nimport { createOrUpdateImage } from '../graphic/helper/image.js';\r\nimport { createCSSAnimation } from './cssAnimation.js';\r\nimport { hasSeparateFont, parseFontSize } from '../graphic/Text.js';\r\nimport { DEFAULT_FONT, DEFAULT_FONT_FAMILY } from '../core/platform.js';\r\nvar round = Math.round;\r\nfunction isImageLike(val) {\r\n return val && isString(val.src);\r\n}\r\nfunction isCanvasLike(val) {\r\n return val && isFunction(val.toDataURL);\r\n}\r\nfunction setStyleAttrs(attrs, style, el, scope) {\r\n mapStyleToAttrs(function (key, val) {\r\n var isFillStroke = key === 'fill' || key === 'stroke';\r\n if (isFillStroke && isGradient(val)) {\r\n setGradient(style, attrs, key, scope);\r\n }\r\n else if (isFillStroke && isPattern(val)) {\r\n setPattern(el, attrs, key, scope);\r\n }\r\n else {\r\n attrs[key] = val;\r\n }\r\n }, style, el, false);\r\n setShadow(el, attrs, scope);\r\n}\r\nfunction noRotateScale(m) {\r\n return isAroundZero(m[0] - 1)\r\n && isAroundZero(m[1])\r\n && isAroundZero(m[2])\r\n && isAroundZero(m[3] - 1);\r\n}\r\nfunction noTranslate(m) {\r\n return isAroundZero(m[4]) && isAroundZero(m[5]);\r\n}\r\nfunction setTransform(attrs, m, compress) {\r\n if (m && !(noTranslate(m) && noRotateScale(m))) {\r\n var mul = compress ? 10 : 1e4;\r\n attrs.transform = noRotateScale(m)\r\n ? \"translate(\" + round(m[4] * mul) / mul + \" \" + round(m[5] * mul) / mul + \")\" : getMatrixStr(m);\r\n }\r\n}\r\nfunction convertPolyShape(shape, attrs, mul) {\r\n var points = shape.points;\r\n var strArr = [];\r\n for (var i = 0; i < points.length; i++) {\r\n strArr.push(round(points[i][0] * mul) / mul);\r\n strArr.push(round(points[i][1] * mul) / mul);\r\n }\r\n attrs.points = strArr.join(' ');\r\n}\r\nfunction validatePolyShape(shape) {\r\n return !shape.smooth;\r\n}\r\nfunction createAttrsConvert(desc) {\r\n var normalizedDesc = map(desc, function (item) {\r\n return (typeof item === 'string' ? [item, item] : item);\r\n });\r\n return function (shape, attrs, mul) {\r\n for (var i = 0; i < normalizedDesc.length; i++) {\r\n var item = normalizedDesc[i];\r\n var val = shape[item[0]];\r\n if (val != null) {\r\n attrs[item[1]] = round(val * mul) / mul;\r\n }\r\n }\r\n };\r\n}\r\nvar buitinShapesDef = {\r\n circle: [createAttrsConvert(['cx', 'cy', 'r'])],\r\n polyline: [convertPolyShape, validatePolyShape],\r\n polygon: [convertPolyShape, validatePolyShape]\r\n};\r\nfunction hasShapeAnimation(el) {\r\n var animators = el.animators;\r\n for (var i = 0; i < animators.length; i++) {\r\n if (animators[i].targetName === 'shape') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nexport function brushSVGPath(el, scope) {\r\n var style = el.style;\r\n var shape = el.shape;\r\n var builtinShpDef = buitinShapesDef[el.type];\r\n var attrs = {};\r\n var needsAnimate = scope.animation;\r\n var svgElType = 'path';\r\n var strokePercent = el.style.strokePercent;\r\n var precision = (scope.compress && getPathPrecision(el)) || 4;\r\n if (builtinShpDef\r\n && !scope.willUpdate\r\n && !(builtinShpDef[1] && !builtinShpDef[1](shape))\r\n && !(needsAnimate && hasShapeAnimation(el))\r\n && !(strokePercent < 1)) {\r\n svgElType = el.type;\r\n var mul = Math.pow(10, precision);\r\n builtinShpDef[0](shape, attrs, mul);\r\n }\r\n else {\r\n if (!el.path) {\r\n el.createPathProxy();\r\n }\r\n var path = el.path;\r\n if (el.shapeChanged()) {\r\n path.beginPath();\r\n el.buildPath(path, el.shape);\r\n el.pathUpdated();\r\n }\r\n var pathVersion = path.getVersion();\r\n var elExt = el;\r\n var svgPathBuilder = elExt.__svgPathBuilder;\r\n if (elExt.__svgPathVersion !== pathVersion\r\n || !svgPathBuilder\r\n || strokePercent !== elExt.__svgPathStrokePercent) {\r\n if (!svgPathBuilder) {\r\n svgPathBuilder = elExt.__svgPathBuilder = new SVGPathRebuilder();\r\n }\r\n svgPathBuilder.reset(precision);\r\n path.rebuildPath(svgPathBuilder, strokePercent);\r\n svgPathBuilder.generateStr();\r\n elExt.__svgPathVersion = pathVersion;\r\n elExt.__svgPathStrokePercent = strokePercent;\r\n }\r\n attrs.d = svgPathBuilder.getStr();\r\n }\r\n setTransform(attrs, el.transform);\r\n setStyleAttrs(attrs, style, el, scope);\r\n scope.animation && createCSSAnimation(el, attrs, scope);\r\n return createVNode(svgElType, el.id + '', attrs);\r\n}\r\nexport function brushSVGImage(el, scope) {\r\n var style = el.style;\r\n var image = style.image;\r\n if (image && !isString(image)) {\r\n if (isImageLike(image)) {\r\n image = image.src;\r\n }\r\n else if (isCanvasLike(image)) {\r\n image = image.toDataURL();\r\n }\r\n }\r\n if (!image) {\r\n return;\r\n }\r\n var x = style.x || 0;\r\n var y = style.y || 0;\r\n var dw = style.width;\r\n var dh = style.height;\r\n var attrs = {\r\n href: image,\r\n width: dw,\r\n height: dh\r\n };\r\n if (x) {\r\n attrs.x = x;\r\n }\r\n if (y) {\r\n attrs.y = y;\r\n }\r\n setTransform(attrs, el.transform);\r\n setStyleAttrs(attrs, style, el, scope);\r\n scope.animation && createCSSAnimation(el, attrs, scope);\r\n return createVNode('image', el.id + '', attrs);\r\n}\r\n;\r\nexport function brushSVGTSpan(el, scope) {\r\n var style = el.style;\r\n var text = style.text;\r\n text != null && (text += '');\r\n if (!text || isNaN(style.x) || isNaN(style.y)) {\r\n return;\r\n }\r\n var font = style.font || DEFAULT_FONT;\r\n var x = style.x || 0;\r\n var y = adjustTextY(style.y || 0, getLineHeight(font), style.textBaseline);\r\n var textAlign = TEXT_ALIGN_TO_ANCHOR[style.textAlign]\r\n || style.textAlign;\r\n var attrs = {\r\n 'dominant-baseline': 'central',\r\n 'text-anchor': textAlign\r\n };\r\n if (hasSeparateFont(style)) {\r\n var separatedFontStr = '';\r\n var fontStyle = style.fontStyle;\r\n var fontSize = parseFontSize(style.fontSize);\r\n if (!parseFloat(fontSize)) {\r\n return;\r\n }\r\n var fontFamily = style.fontFamily || DEFAULT_FONT_FAMILY;\r\n var fontWeight = style.fontWeight;\r\n separatedFontStr += \"font-size:\" + fontSize + \";font-family:\" + fontFamily + \";\";\r\n if (fontStyle && fontStyle !== 'normal') {\r\n separatedFontStr += \"font-style:\" + fontStyle + \";\";\r\n }\r\n if (fontWeight && fontWeight !== 'normal') {\r\n separatedFontStr += \"font-weight:\" + fontWeight + \";\";\r\n }\r\n attrs.style = separatedFontStr;\r\n }\r\n else {\r\n attrs.style = \"font: \" + font;\r\n }\r\n if (text.match(/\\s/)) {\r\n attrs['xml:space'] = 'preserve';\r\n }\r\n if (x) {\r\n attrs.x = x;\r\n }\r\n if (y) {\r\n attrs.y = y;\r\n }\r\n setTransform(attrs, el.transform);\r\n setStyleAttrs(attrs, style, el, scope);\r\n scope.animation && createCSSAnimation(el, attrs, scope);\r\n return createVNode('text', el.id + '', attrs, undefined, text);\r\n}\r\nexport function brush(el, scope) {\r\n if (el instanceof Path) {\r\n return brushSVGPath(el, scope);\r\n }\r\n else if (el instanceof ZRImage) {\r\n return brushSVGImage(el, scope);\r\n }\r\n else if (el instanceof TSpan) {\r\n return brushSVGTSpan(el, scope);\r\n }\r\n}\r\nfunction setShadow(el, attrs, scope) {\r\n var style = el.style;\r\n if (hasShadow(style)) {\r\n var shadowKey = getShadowKey(el);\r\n var shadowCache = scope.shadowCache;\r\n var shadowId = shadowCache[shadowKey];\r\n if (!shadowId) {\r\n var globalScale = el.getGlobalScale();\r\n var scaleX = globalScale[0];\r\n var scaleY = globalScale[1];\r\n if (!scaleX || !scaleY) {\r\n return;\r\n }\r\n var offsetX = style.shadowOffsetX || 0;\r\n var offsetY = style.shadowOffsetY || 0;\r\n var blur_1 = style.shadowBlur;\r\n var _a = normalizeColor(style.shadowColor), opacity = _a.opacity, color = _a.color;\r\n var stdDx = blur_1 / 2 / scaleX;\r\n var stdDy = blur_1 / 2 / scaleY;\r\n var stdDeviation = stdDx + ' ' + stdDy;\r\n shadowId = scope.zrId + '-s' + scope.shadowIdx++;\r\n scope.defs[shadowId] = createVNode('filter', shadowId, {\r\n 'id': shadowId,\r\n 'x': '-100%',\r\n 'y': '-100%',\r\n 'width': '300%',\r\n 'height': '300%'\r\n }, [\r\n createVNode('feDropShadow', '', {\r\n 'dx': offsetX / scaleX,\r\n 'dy': offsetY / scaleY,\r\n 'stdDeviation': stdDeviation,\r\n 'flood-color': color,\r\n 'flood-opacity': opacity\r\n })\r\n ]);\r\n shadowCache[shadowKey] = shadowId;\r\n }\r\n attrs.filter = getIdURL(shadowId);\r\n }\r\n}\r\nfunction setGradient(style, attrs, target, scope) {\r\n var val = style[target];\r\n var gradientTag;\r\n var gradientAttrs = {\r\n 'gradientUnits': val.global\r\n ? 'userSpaceOnUse'\r\n : 'objectBoundingBox'\r\n };\r\n if (isLinearGradient(val)) {\r\n gradientTag = 'linearGradient';\r\n gradientAttrs.x1 = val.x;\r\n gradientAttrs.y1 = val.y;\r\n gradientAttrs.x2 = val.x2;\r\n gradientAttrs.y2 = val.y2;\r\n }\r\n else if (isRadialGradient(val)) {\r\n gradientTag = 'radialGradient';\r\n gradientAttrs.cx = retrieve2(val.x, 0.5);\r\n gradientAttrs.cy = retrieve2(val.y, 0.5);\r\n gradientAttrs.r = retrieve2(val.r, 0.5);\r\n }\r\n else {\r\n if (process.env.NODE_ENV !== 'production') {\r\n logError('Illegal gradient type.');\r\n }\r\n return;\r\n }\r\n var colors = val.colorStops;\r\n var colorStops = [];\r\n for (var i = 0, len = colors.length; i < len; ++i) {\r\n var offset = round4(colors[i].offset) * 100 + '%';\r\n var stopColor = colors[i].color;\r\n var _a = normalizeColor(stopColor), color = _a.color, opacity = _a.opacity;\r\n var stopsAttrs = {\r\n 'offset': offset\r\n };\r\n stopsAttrs['stop-color'] = color;\r\n if (opacity < 1) {\r\n stopsAttrs['stop-opacity'] = opacity;\r\n }\r\n colorStops.push(createVNode('stop', i + '', stopsAttrs));\r\n }\r\n var gradientVNode = createVNode(gradientTag, '', gradientAttrs, colorStops);\r\n var gradientKey = vNodeToString(gradientVNode);\r\n var gradientCache = scope.gradientCache;\r\n var gradientId = gradientCache[gradientKey];\r\n if (!gradientId) {\r\n gradientId = scope.zrId + '-g' + scope.gradientIdx++;\r\n gradientCache[gradientKey] = gradientId;\r\n gradientAttrs.id = gradientId;\r\n scope.defs[gradientId] = createVNode(gradientTag, gradientId, gradientAttrs, colorStops);\r\n }\r\n attrs[target] = getIdURL(gradientId);\r\n}\r\nfunction setPattern(el, attrs, target, scope) {\r\n var val = el.style[target];\r\n var patternAttrs = {\r\n 'patternUnits': 'userSpaceOnUse'\r\n };\r\n var child;\r\n if (isImagePattern(val)) {\r\n var imageWidth_1 = val.imageWidth;\r\n var imageHeight_1 = val.imageHeight;\r\n var imageSrc = void 0;\r\n var patternImage = val.image;\r\n if (isString(patternImage)) {\r\n imageSrc = patternImage;\r\n }\r\n else if (isImageLike(patternImage)) {\r\n imageSrc = patternImage.src;\r\n }\r\n else if (isCanvasLike(patternImage)) {\r\n imageSrc = patternImage.toDataURL();\r\n }\r\n if (typeof Image === 'undefined') {\r\n var errMsg = 'Image width/height must been given explictly in svg-ssr renderer.';\r\n assert(imageWidth_1, errMsg);\r\n assert(imageHeight_1, errMsg);\r\n }\r\n else if (imageWidth_1 == null || imageHeight_1 == null) {\r\n var setSizeToVNode_1 = function (vNode, img) {\r\n if (vNode) {\r\n var svgEl = vNode.elm;\r\n var width = (vNode.attrs.width = imageWidth_1 || img.width);\r\n var height = (vNode.attrs.height = imageHeight_1 || img.height);\r\n if (svgEl) {\r\n svgEl.setAttribute('width', width);\r\n svgEl.setAttribute('height', height);\r\n }\r\n }\r\n };\r\n var createdImage = createOrUpdateImage(imageSrc, null, el, function (img) {\r\n setSizeToVNode_1(patternVNode, img);\r\n setSizeToVNode_1(child, img);\r\n });\r\n if (createdImage && createdImage.width && createdImage.height) {\r\n imageWidth_1 = imageWidth_1 || createdImage.width;\r\n imageHeight_1 = imageHeight_1 || createdImage.height;\r\n }\r\n }\r\n child = createVNode('image', 'img', {\r\n href: imageSrc,\r\n width: imageWidth_1,\r\n height: imageHeight_1\r\n });\r\n patternAttrs.width = imageWidth_1;\r\n patternAttrs.height = imageHeight_1;\r\n }\r\n else if (val.svgElement) {\r\n child = clone(val.svgElement);\r\n patternAttrs.width = val.svgWidth;\r\n patternAttrs.height = val.svgHeight;\r\n }\r\n if (!child) {\r\n return;\r\n }\r\n patternAttrs.patternTransform = getSRTTransformString(val);\r\n var patternVNode = createVNode('pattern', '', patternAttrs, [child]);\r\n var patternKey = vNodeToString(patternVNode);\r\n var patternCache = scope.patternCache;\r\n var patternId = patternCache[patternKey];\r\n if (!patternId) {\r\n patternId = scope.zrId + '-p' + scope.patternIdx++;\r\n patternCache[patternKey] = patternId;\r\n patternAttrs.id = patternId;\r\n patternVNode = scope.defs[patternId] = createVNode('pattern', patternId, patternAttrs, [child]);\r\n }\r\n attrs[target] = getIdURL(patternId);\r\n}\r\nexport function setClipPath(clipPath, attrs, scope) {\r\n var clipPathCache = scope.clipPathCache, defs = scope.defs;\r\n var clipPathId = clipPathCache[clipPath.id];\r\n if (!clipPathId) {\r\n clipPathId = scope.zrId + '-c' + scope.clipPathIdx++;\r\n var clipPathAttrs = {\r\n id: clipPathId\r\n };\r\n clipPathCache[clipPath.id] = clipPathId;\r\n defs[clipPathId] = createVNode('clipPath', clipPathId, clipPathAttrs, [brushSVGPath(clipPath, scope)]);\r\n }\r\n attrs['clip-path'] = getIdURL(clipPathId);\r\n}\r\n"]},"metadata":{},"sourceType":"module"}