qauMaWeb/node_modules/.cache/babel-loader/c2091a805a39ef64f17c5856405...

1 line
29 KiB
JSON

{"ast":null,"code":"import { brush, setClipPath } from './graphic.js';\nimport { createElement, createVNode, vNodeToString, getCssString, createBrushScope, createSVGVNode } from './core.js';\nimport { normalizeColor, encodeBase64 } from './helper.js';\nimport { extend, keys, logError, map, retrieve2 } from '../core/util.js';\nimport patch, { updateAttrs } from './patch.js';\nimport { getSize } from '../canvas/helper.js';\nvar svgId = 0;\n\nvar SVGPainter = function () {\n function SVGPainter(root, storage, opts) {\n this.type = 'svg';\n this.refreshHover = createMethodNotSupport('refreshHover');\n this.configLayer = createMethodNotSupport('configLayer');\n this.storage = storage;\n this._opts = opts = extend({}, opts);\n this.root = root;\n this._id = 'zr' + svgId++;\n this._oldVNode = createSVGVNode(opts.width, opts.height);\n\n if (root && !opts.ssr) {\n var viewport = this._viewport = document.createElement('div');\n viewport.style.cssText = 'position:relative;overflow:hidden';\n var svgDom = this._svgDom = this._oldVNode.elm = createElement('svg');\n updateAttrs(null, this._oldVNode);\n viewport.appendChild(svgDom);\n root.appendChild(viewport);\n }\n\n this.resize(opts.width, opts.height);\n }\n\n SVGPainter.prototype.getType = function () {\n return this.type;\n };\n\n SVGPainter.prototype.getViewportRoot = function () {\n return this._viewport;\n };\n\n SVGPainter.prototype.getViewportRootOffset = function () {\n var viewportRoot = this.getViewportRoot();\n\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n };\n\n SVGPainter.prototype.getSvgDom = function () {\n return this._svgDom;\n };\n\n SVGPainter.prototype.refresh = function () {\n if (this.root) {\n var vnode = this.renderToVNode({\n willUpdate: true\n });\n vnode.attrs.style = 'position:absolute;left:0;top:0;user-select:none';\n patch(this._oldVNode, vnode);\n this._oldVNode = vnode;\n }\n };\n\n SVGPainter.prototype.renderOneToVNode = function (el) {\n return brush(el, createBrushScope(this._id));\n };\n\n SVGPainter.prototype.renderToVNode = function (opts) {\n opts = opts || {};\n var list = this.storage.getDisplayList(true);\n var bgColor = this._backgroundColor;\n var width = this._width;\n var height = this._height;\n var scope = createBrushScope(this._id);\n scope.animation = opts.animation;\n scope.willUpdate = opts.willUpdate;\n scope.compress = opts.compress;\n var children = [];\n\n if (bgColor && bgColor !== 'none') {\n var _a = normalizeColor(bgColor),\n color = _a.color,\n opacity = _a.opacity;\n\n this._bgVNode = createVNode('rect', 'bg', {\n width: width,\n height: height,\n x: '0',\n y: '0',\n id: '0',\n fill: color,\n 'fill-opacity': opacity\n });\n children.push(this._bgVNode);\n } else {\n this._bgVNode = null;\n }\n\n var mainVNode = !opts.compress ? this._mainVNode = createVNode('g', 'main', {}, []) : null;\n\n this._paintList(list, scope, mainVNode ? mainVNode.children : children);\n\n mainVNode && children.push(mainVNode);\n var defs = map(keys(scope.defs), function (id) {\n return scope.defs[id];\n });\n\n if (defs.length) {\n children.push(createVNode('defs', 'defs', {}, defs));\n }\n\n if (opts.animation) {\n var animationCssStr = getCssString(scope.cssNodes, scope.cssAnims, {\n newline: true\n });\n\n if (animationCssStr) {\n var styleNode = createVNode('style', 'stl', {}, [], animationCssStr);\n children.push(styleNode);\n }\n }\n\n return createSVGVNode(width, height, children, opts.useViewBox);\n };\n\n SVGPainter.prototype.renderToString = function (opts) {\n opts = opts || {};\n return vNodeToString(this.renderToVNode({\n animation: retrieve2(opts.cssAnimation, true),\n willUpdate: false,\n compress: true,\n useViewBox: retrieve2(opts.useViewBox, true)\n }), {\n newline: true\n });\n };\n\n SVGPainter.prototype.setBackgroundColor = function (backgroundColor) {\n this._backgroundColor = backgroundColor;\n var bgVNode = this._bgVNode;\n\n if (bgVNode && bgVNode.elm) {\n var _a = normalizeColor(backgroundColor),\n color = _a.color,\n opacity = _a.opacity;\n\n bgVNode.elm.setAttribute('fill', color);\n\n if (opacity < 1) {\n bgVNode.elm.setAttribute('fill-opacity', opacity);\n }\n }\n };\n\n SVGPainter.prototype.getSvgRoot = function () {\n return this._mainVNode && this._mainVNode.elm;\n };\n\n SVGPainter.prototype._paintList = function (list, scope, out) {\n var listLen = list.length;\n var clipPathsGroupsStack = [];\n var clipPathsGroupsStackDepth = 0;\n var currentClipPathGroup;\n var prevClipPaths;\n var clipGroupNodeIdx = 0;\n\n for (var i = 0; i < listLen; i++) {\n var displayable = list[i];\n\n if (!displayable.invisible) {\n var clipPaths = displayable.__clipPaths;\n var len = clipPaths && clipPaths.length || 0;\n var prevLen = prevClipPaths && prevClipPaths.length || 0;\n var lca = void 0;\n\n for (lca = Math.max(len - 1, prevLen - 1); lca >= 0; lca--) {\n if (clipPaths && prevClipPaths && clipPaths[lca] === prevClipPaths[lca]) {\n break;\n }\n }\n\n for (var i_1 = prevLen - 1; i_1 > lca; i_1--) {\n clipPathsGroupsStackDepth--;\n currentClipPathGroup = clipPathsGroupsStack[clipPathsGroupsStackDepth - 1];\n }\n\n for (var i_2 = lca + 1; i_2 < len; i_2++) {\n var groupAttrs = {};\n setClipPath(clipPaths[i_2], groupAttrs, scope);\n var g = createVNode('g', 'clip-g-' + clipGroupNodeIdx++, groupAttrs, []);\n (currentClipPathGroup ? currentClipPathGroup.children : out).push(g);\n clipPathsGroupsStack[clipPathsGroupsStackDepth++] = g;\n currentClipPathGroup = g;\n }\n\n prevClipPaths = clipPaths;\n var ret = brush(displayable, scope);\n\n if (ret) {\n (currentClipPathGroup ? currentClipPathGroup.children : out).push(ret);\n }\n }\n }\n };\n\n SVGPainter.prototype.resize = function (width, height) {\n var opts = this._opts;\n var root = this.root;\n var viewport = this._viewport;\n width != null && (opts.width = width);\n height != null && (opts.height = height);\n\n if (root && viewport) {\n viewport.style.display = 'none';\n width = getSize(root, 0, opts);\n height = getSize(root, 1, opts);\n viewport.style.display = '';\n }\n\n if (this._width !== width || this._height !== height) {\n this._width = width;\n this._height = height;\n\n if (viewport) {\n var viewportStyle = viewport.style;\n viewportStyle.width = width + 'px';\n viewportStyle.height = height + 'px';\n }\n\n var svgDom = this._svgDom;\n\n if (svgDom) {\n svgDom.setAttribute('width', width);\n svgDom.setAttribute('height', height);\n }\n }\n };\n\n SVGPainter.prototype.getWidth = function () {\n return this._width;\n };\n\n SVGPainter.prototype.getHeight = function () {\n return this._height;\n };\n\n SVGPainter.prototype.dispose = function () {\n if (this.root) {\n this.root.innerHTML = '';\n }\n\n this._svgDom = this._viewport = this.storage = this._oldVNode = this._bgVNode = this._mainVNode = null;\n };\n\n SVGPainter.prototype.clear = function () {\n if (this._svgDom) {\n this._svgDom.innerHTML = null;\n }\n\n this._oldVNode = null;\n };\n\n SVGPainter.prototype.toDataURL = function (base64) {\n var str = encodeURIComponent(this.renderToString());\n var prefix = 'data:image/svg+xml;';\n\n if (base64) {\n str = encodeBase64(str);\n return str && prefix + 'base64,' + str;\n }\n\n return prefix + 'charset=UTF-8,' + str;\n };\n\n return SVGPainter;\n}();\n\nfunction createMethodNotSupport(method) {\n return function () {\n if (process.env.NODE_ENV !== 'production') {\n logError('In SVG mode painter not support method \"' + method + '\"');\n }\n };\n}\n\nexport default SVGPainter;","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src/qingge-Market/qingge-vue/node_modules/zrender/lib/svg/Painter.js"],"names":["brush","setClipPath","createElement","createVNode","vNodeToString","getCssString","createBrushScope","createSVGVNode","normalizeColor","encodeBase64","extend","keys","logError","map","retrieve2","patch","updateAttrs","getSize","svgId","SVGPainter","root","storage","opts","type","refreshHover","createMethodNotSupport","configLayer","_opts","_id","_oldVNode","width","height","ssr","viewport","_viewport","document","style","cssText","svgDom","_svgDom","elm","appendChild","resize","prototype","getType","getViewportRoot","getViewportRootOffset","viewportRoot","offsetLeft","offsetTop","getSvgDom","refresh","vnode","renderToVNode","willUpdate","attrs","renderOneToVNode","el","list","getDisplayList","bgColor","_backgroundColor","_width","_height","scope","animation","compress","children","_a","color","opacity","_bgVNode","x","y","id","fill","push","mainVNode","_mainVNode","_paintList","defs","length","animationCssStr","cssNodes","cssAnims","newline","styleNode","useViewBox","renderToString","cssAnimation","setBackgroundColor","backgroundColor","bgVNode","setAttribute","getSvgRoot","out","listLen","clipPathsGroupsStack","clipPathsGroupsStackDepth","currentClipPathGroup","prevClipPaths","clipGroupNodeIdx","i","displayable","invisible","clipPaths","__clipPaths","len","prevLen","lca","Math","max","i_1","i_2","groupAttrs","g","ret","display","viewportStyle","getWidth","getHeight","dispose","innerHTML","clear","toDataURL","base64","str","encodeURIComponent","prefix","method","process","env","NODE_ENV"],"mappings":"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","sourcesContent":["import { brush, setClipPath } from './graphic.js';\r\nimport { createElement, createVNode, vNodeToString, getCssString, createBrushScope, createSVGVNode } from './core.js';\r\nimport { normalizeColor, encodeBase64 } from './helper.js';\r\nimport { extend, keys, logError, map, retrieve2 } from '../core/util.js';\r\nimport patch, { updateAttrs } from './patch.js';\r\nimport { getSize } from '../canvas/helper.js';\r\nvar svgId = 0;\r\nvar SVGPainter = (function () {\r\n function SVGPainter(root, storage, opts) {\r\n this.type = 'svg';\r\n this.refreshHover = createMethodNotSupport('refreshHover');\r\n this.configLayer = createMethodNotSupport('configLayer');\r\n this.storage = storage;\r\n this._opts = opts = extend({}, opts);\r\n this.root = root;\r\n this._id = 'zr' + svgId++;\r\n this._oldVNode = createSVGVNode(opts.width, opts.height);\r\n if (root && !opts.ssr) {\r\n var viewport = this._viewport = document.createElement('div');\r\n viewport.style.cssText = 'position:relative;overflow:hidden';\r\n var svgDom = this._svgDom = this._oldVNode.elm = createElement('svg');\r\n updateAttrs(null, this._oldVNode);\r\n viewport.appendChild(svgDom);\r\n root.appendChild(viewport);\r\n }\r\n this.resize(opts.width, opts.height);\r\n }\r\n SVGPainter.prototype.getType = function () {\r\n return this.type;\r\n };\r\n SVGPainter.prototype.getViewportRoot = function () {\r\n return this._viewport;\r\n };\r\n SVGPainter.prototype.getViewportRootOffset = function () {\r\n var viewportRoot = this.getViewportRoot();\r\n if (viewportRoot) {\r\n return {\r\n offsetLeft: viewportRoot.offsetLeft || 0,\r\n offsetTop: viewportRoot.offsetTop || 0\r\n };\r\n }\r\n };\r\n SVGPainter.prototype.getSvgDom = function () {\r\n return this._svgDom;\r\n };\r\n SVGPainter.prototype.refresh = function () {\r\n if (this.root) {\r\n var vnode = this.renderToVNode({\r\n willUpdate: true\r\n });\r\n vnode.attrs.style = 'position:absolute;left:0;top:0;user-select:none';\r\n patch(this._oldVNode, vnode);\r\n this._oldVNode = vnode;\r\n }\r\n };\r\n SVGPainter.prototype.renderOneToVNode = function (el) {\r\n return brush(el, createBrushScope(this._id));\r\n };\r\n SVGPainter.prototype.renderToVNode = function (opts) {\r\n opts = opts || {};\r\n var list = this.storage.getDisplayList(true);\r\n var bgColor = this._backgroundColor;\r\n var width = this._width;\r\n var height = this._height;\r\n var scope = createBrushScope(this._id);\r\n scope.animation = opts.animation;\r\n scope.willUpdate = opts.willUpdate;\r\n scope.compress = opts.compress;\r\n var children = [];\r\n if (bgColor && bgColor !== 'none') {\r\n var _a = normalizeColor(bgColor), color = _a.color, opacity = _a.opacity;\r\n this._bgVNode = createVNode('rect', 'bg', {\r\n width: width,\r\n height: height,\r\n x: '0',\r\n y: '0',\r\n id: '0',\r\n fill: color,\r\n 'fill-opacity': opacity\r\n });\r\n children.push(this._bgVNode);\r\n }\r\n else {\r\n this._bgVNode = null;\r\n }\r\n var mainVNode = !opts.compress\r\n ? (this._mainVNode = createVNode('g', 'main', {}, [])) : null;\r\n this._paintList(list, scope, mainVNode ? mainVNode.children : children);\r\n mainVNode && children.push(mainVNode);\r\n var defs = map(keys(scope.defs), function (id) { return scope.defs[id]; });\r\n if (defs.length) {\r\n children.push(createVNode('defs', 'defs', {}, defs));\r\n }\r\n if (opts.animation) {\r\n var animationCssStr = getCssString(scope.cssNodes, scope.cssAnims, { newline: true });\r\n if (animationCssStr) {\r\n var styleNode = createVNode('style', 'stl', {}, [], animationCssStr);\r\n children.push(styleNode);\r\n }\r\n }\r\n return createSVGVNode(width, height, children, opts.useViewBox);\r\n };\r\n SVGPainter.prototype.renderToString = function (opts) {\r\n opts = opts || {};\r\n return vNodeToString(this.renderToVNode({\r\n animation: retrieve2(opts.cssAnimation, true),\r\n willUpdate: false,\r\n compress: true,\r\n useViewBox: retrieve2(opts.useViewBox, true)\r\n }), { newline: true });\r\n };\r\n SVGPainter.prototype.setBackgroundColor = function (backgroundColor) {\r\n this._backgroundColor = backgroundColor;\r\n var bgVNode = this._bgVNode;\r\n if (bgVNode && bgVNode.elm) {\r\n var _a = normalizeColor(backgroundColor), color = _a.color, opacity = _a.opacity;\r\n bgVNode.elm.setAttribute('fill', color);\r\n if (opacity < 1) {\r\n bgVNode.elm.setAttribute('fill-opacity', opacity);\r\n }\r\n }\r\n };\r\n SVGPainter.prototype.getSvgRoot = function () {\r\n return this._mainVNode && this._mainVNode.elm;\r\n };\r\n SVGPainter.prototype._paintList = function (list, scope, out) {\r\n var listLen = list.length;\r\n var clipPathsGroupsStack = [];\r\n var clipPathsGroupsStackDepth = 0;\r\n var currentClipPathGroup;\r\n var prevClipPaths;\r\n var clipGroupNodeIdx = 0;\r\n for (var i = 0; i < listLen; i++) {\r\n var displayable = list[i];\r\n if (!displayable.invisible) {\r\n var clipPaths = displayable.__clipPaths;\r\n var len = clipPaths && clipPaths.length || 0;\r\n var prevLen = prevClipPaths && prevClipPaths.length || 0;\r\n var lca = void 0;\r\n for (lca = Math.max(len - 1, prevLen - 1); lca >= 0; lca--) {\r\n if (clipPaths && prevClipPaths\r\n && clipPaths[lca] === prevClipPaths[lca]) {\r\n break;\r\n }\r\n }\r\n for (var i_1 = prevLen - 1; i_1 > lca; i_1--) {\r\n clipPathsGroupsStackDepth--;\r\n currentClipPathGroup = clipPathsGroupsStack[clipPathsGroupsStackDepth - 1];\r\n }\r\n for (var i_2 = lca + 1; i_2 < len; i_2++) {\r\n var groupAttrs = {};\r\n setClipPath(clipPaths[i_2], groupAttrs, scope);\r\n var g = createVNode('g', 'clip-g-' + clipGroupNodeIdx++, groupAttrs, []);\r\n (currentClipPathGroup ? currentClipPathGroup.children : out).push(g);\r\n clipPathsGroupsStack[clipPathsGroupsStackDepth++] = g;\r\n currentClipPathGroup = g;\r\n }\r\n prevClipPaths = clipPaths;\r\n var ret = brush(displayable, scope);\r\n if (ret) {\r\n (currentClipPathGroup ? currentClipPathGroup.children : out).push(ret);\r\n }\r\n }\r\n }\r\n };\r\n SVGPainter.prototype.resize = function (width, height) {\r\n var opts = this._opts;\r\n var root = this.root;\r\n var viewport = this._viewport;\r\n width != null && (opts.width = width);\r\n height != null && (opts.height = height);\r\n if (root && viewport) {\r\n viewport.style.display = 'none';\r\n width = getSize(root, 0, opts);\r\n height = getSize(root, 1, opts);\r\n viewport.style.display = '';\r\n }\r\n if (this._width !== width || this._height !== height) {\r\n this._width = width;\r\n this._height = height;\r\n if (viewport) {\r\n var viewportStyle = viewport.style;\r\n viewportStyle.width = width + 'px';\r\n viewportStyle.height = height + 'px';\r\n }\r\n var svgDom = this._svgDom;\r\n if (svgDom) {\r\n svgDom.setAttribute('width', width);\r\n svgDom.setAttribute('height', height);\r\n }\r\n }\r\n };\r\n SVGPainter.prototype.getWidth = function () {\r\n return this._width;\r\n };\r\n SVGPainter.prototype.getHeight = function () {\r\n return this._height;\r\n };\r\n SVGPainter.prototype.dispose = function () {\r\n if (this.root) {\r\n this.root.innerHTML = '';\r\n }\r\n this._svgDom =\r\n this._viewport =\r\n this.storage =\r\n this._oldVNode =\r\n this._bgVNode =\r\n this._mainVNode = null;\r\n };\r\n SVGPainter.prototype.clear = function () {\r\n if (this._svgDom) {\r\n this._svgDom.innerHTML = null;\r\n }\r\n this._oldVNode = null;\r\n };\r\n SVGPainter.prototype.toDataURL = function (base64) {\r\n var str = encodeURIComponent(this.renderToString());\r\n var prefix = 'data:image/svg+xml;';\r\n if (base64) {\r\n str = encodeBase64(str);\r\n return str && prefix + 'base64,' + str;\r\n }\r\n return prefix + 'charset=UTF-8,' + str;\r\n };\r\n return SVGPainter;\r\n}());\r\nfunction createMethodNotSupport(method) {\r\n return function () {\r\n if (process.env.NODE_ENV !== 'production') {\r\n logError('In SVG mode painter not support method \"' + method + '\"');\r\n }\r\n };\r\n}\r\nexport default SVGPainter;\r\n"]},"metadata":{},"sourceType":"module"}