qauMaWeb/node_modules/.cache/babel-loader/7443757453fe75fa693c92421c1...

1 line
69 KiB
JSON

{"ast":null,"code":"import \"core-js/modules/es.error.cause.js\";\nimport \"core-js/modules/es.array.fill.js\";\nimport \"core-js/modules/es.array.join.js\";\nimport { __extends } from \"tslib\";\nimport { parseRichText, parsePlainText } from './helper/parseText.js';\nimport TSpan from './TSpan.js';\nimport { retrieve2, each, normalizeCssArray, trim, retrieve3, extend, keys, defaults } from '../core/util.js';\nimport { adjustTextX, adjustTextY } from '../contain/text.js';\nimport ZRImage from './Image.js';\nimport Rect from './shape/Rect.js';\nimport BoundingRect from '../core/BoundingRect.js';\nimport Displayable, { DEFAULT_COMMON_ANIMATION_PROPS } from './Displayable.js';\nimport { DEFAULT_FONT, DEFAULT_FONT_SIZE } from '../core/platform.js';\nvar DEFAULT_RICH_TEXT_COLOR = {\n fill: '#000'\n};\nvar DEFAULT_STROKE_LINE_WIDTH = 2;\nexport var DEFAULT_TEXT_ANIMATION_PROPS = {\n style: defaults({\n fill: true,\n stroke: true,\n fillOpacity: true,\n strokeOpacity: true,\n lineWidth: true,\n fontSize: true,\n lineHeight: true,\n width: true,\n height: true,\n textShadowColor: true,\n textShadowBlur: true,\n textShadowOffsetX: true,\n textShadowOffsetY: true,\n backgroundColor: true,\n padding: true,\n borderColor: true,\n borderWidth: true,\n borderRadius: true\n }, DEFAULT_COMMON_ANIMATION_PROPS.style)\n};\n\nvar ZRText = function (_super) {\n __extends(ZRText, _super);\n\n function ZRText(opts) {\n var _this = _super.call(this) || this;\n\n _this.type = 'text';\n _this._children = [];\n _this._defaultStyle = DEFAULT_RICH_TEXT_COLOR;\n\n _this.attr(opts);\n\n return _this;\n }\n\n ZRText.prototype.childrenRef = function () {\n return this._children;\n };\n\n ZRText.prototype.update = function () {\n _super.prototype.update.call(this);\n\n if (this.styleChanged()) {\n this._updateSubTexts();\n }\n\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n child.zlevel = this.zlevel;\n child.z = this.z;\n child.z2 = this.z2;\n child.culling = this.culling;\n child.cursor = this.cursor;\n child.invisible = this.invisible;\n }\n };\n\n ZRText.prototype.updateTransform = function () {\n var innerTransformable = this.innerTransformable;\n\n if (innerTransformable) {\n innerTransformable.updateTransform();\n\n if (innerTransformable.transform) {\n this.transform = innerTransformable.transform;\n }\n } else {\n _super.prototype.updateTransform.call(this);\n }\n };\n\n ZRText.prototype.getLocalTransform = function (m) {\n var innerTransformable = this.innerTransformable;\n return innerTransformable ? innerTransformable.getLocalTransform(m) : _super.prototype.getLocalTransform.call(this, m);\n };\n\n ZRText.prototype.getComputedTransform = function () {\n if (this.__hostTarget) {\n this.__hostTarget.getComputedTransform();\n\n this.__hostTarget.updateInnerText(true);\n }\n\n return _super.prototype.getComputedTransform.call(this);\n };\n\n ZRText.prototype._updateSubTexts = function () {\n this._childCursor = 0;\n normalizeTextStyle(this.style);\n this.style.rich ? this._updateRichTexts() : this._updatePlainTexts();\n this._children.length = this._childCursor;\n this.styleUpdated();\n };\n\n ZRText.prototype.addSelfToZr = function (zr) {\n _super.prototype.addSelfToZr.call(this, zr);\n\n for (var i = 0; i < this._children.length; i++) {\n this._children[i].__zr = zr;\n }\n };\n\n ZRText.prototype.removeSelfFromZr = function (zr) {\n _super.prototype.removeSelfFromZr.call(this, zr);\n\n for (var i = 0; i < this._children.length; i++) {\n this._children[i].__zr = null;\n }\n };\n\n ZRText.prototype.getBoundingRect = function () {\n if (this.styleChanged()) {\n this._updateSubTexts();\n }\n\n if (!this._rect) {\n var tmpRect = new BoundingRect(0, 0, 0, 0);\n var children = this._children;\n var tmpMat = [];\n var rect = null;\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n var childRect = child.getBoundingRect();\n var transform = child.getLocalTransform(tmpMat);\n\n if (transform) {\n tmpRect.copy(childRect);\n tmpRect.applyTransform(transform);\n rect = rect || tmpRect.clone();\n rect.union(tmpRect);\n } else {\n rect = rect || childRect.clone();\n rect.union(childRect);\n }\n }\n\n this._rect = rect || tmpRect;\n }\n\n return this._rect;\n };\n\n ZRText.prototype.setDefaultTextStyle = function (defaultTextStyle) {\n this._defaultStyle = defaultTextStyle || DEFAULT_RICH_TEXT_COLOR;\n };\n\n ZRText.prototype.setTextContent = function (textContent) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error('Can\\'t attach text on another text');\n }\n };\n\n ZRText.prototype._mergeStyle = function (targetStyle, sourceStyle) {\n if (!sourceStyle) {\n return targetStyle;\n }\n\n var sourceRich = sourceStyle.rich;\n var targetRich = targetStyle.rich || sourceRich && {};\n extend(targetStyle, sourceStyle);\n\n if (sourceRich && targetRich) {\n this._mergeRich(targetRich, sourceRich);\n\n targetStyle.rich = targetRich;\n } else if (targetRich) {\n targetStyle.rich = targetRich;\n }\n\n return targetStyle;\n };\n\n ZRText.prototype._mergeRich = function (targetRich, sourceRich) {\n var richNames = keys(sourceRich);\n\n for (var i = 0; i < richNames.length; i++) {\n var richName = richNames[i];\n targetRich[richName] = targetRich[richName] || {};\n extend(targetRich[richName], sourceRich[richName]);\n }\n };\n\n ZRText.prototype.getAnimationStyleProps = function () {\n return DEFAULT_TEXT_ANIMATION_PROPS;\n };\n\n ZRText.prototype._getOrCreateChild = function (Ctor) {\n var child = this._children[this._childCursor];\n\n if (!child || !(child instanceof Ctor)) {\n child = new Ctor();\n }\n\n this._children[this._childCursor++] = child;\n child.__zr = this.__zr;\n child.parent = this;\n return child;\n };\n\n ZRText.prototype._updatePlainTexts = function () {\n var style = this.style;\n var textFont = style.font || DEFAULT_FONT;\n var textPadding = style.padding;\n var text = getStyleText(style);\n var contentBlock = parsePlainText(text, style);\n var needDrawBg = needDrawBackground(style);\n var bgColorDrawn = !!style.backgroundColor;\n var outerHeight = contentBlock.outerHeight;\n var outerWidth = contentBlock.outerWidth;\n var contentWidth = contentBlock.contentWidth;\n var textLines = contentBlock.lines;\n var lineHeight = contentBlock.lineHeight;\n var defaultStyle = this._defaultStyle;\n var baseX = style.x || 0;\n var baseY = style.y || 0;\n var textAlign = style.align || defaultStyle.align || 'left';\n var verticalAlign = style.verticalAlign || defaultStyle.verticalAlign || 'top';\n var textX = baseX;\n var textY = adjustTextY(baseY, contentBlock.contentHeight, verticalAlign);\n\n if (needDrawBg || textPadding) {\n var boxX = adjustTextX(baseX, outerWidth, textAlign);\n var boxY = adjustTextY(baseY, outerHeight, verticalAlign);\n needDrawBg && this._renderBackground(style, style, boxX, boxY, outerWidth, outerHeight);\n }\n\n textY += lineHeight / 2;\n\n if (textPadding) {\n textX = getTextXForPadding(baseX, textAlign, textPadding);\n\n if (verticalAlign === 'top') {\n textY += textPadding[0];\n } else if (verticalAlign === 'bottom') {\n textY -= textPadding[2];\n }\n }\n\n var defaultLineWidth = 0;\n var useDefaultFill = false;\n var textFill = getFill('fill' in style ? style.fill : (useDefaultFill = true, defaultStyle.fill));\n var textStroke = getStroke('stroke' in style ? style.stroke : !bgColorDrawn && (!defaultStyle.autoStroke || useDefaultFill) ? (defaultLineWidth = DEFAULT_STROKE_LINE_WIDTH, defaultStyle.stroke) : null);\n var hasShadow = style.textShadowBlur > 0;\n var fixedBoundingRect = style.width != null && (style.overflow === 'truncate' || style.overflow === 'break' || style.overflow === 'breakAll');\n var calculatedLineHeight = contentBlock.calculatedLineHeight;\n\n for (var i = 0; i < textLines.length; i++) {\n var el = this._getOrCreateChild(TSpan);\n\n var subElStyle = el.createStyle();\n el.useStyle(subElStyle);\n subElStyle.text = textLines[i];\n subElStyle.x = textX;\n subElStyle.y = textY;\n\n if (textAlign) {\n subElStyle.textAlign = textAlign;\n }\n\n subElStyle.textBaseline = 'middle';\n subElStyle.opacity = style.opacity;\n subElStyle.strokeFirst = true;\n\n if (hasShadow) {\n subElStyle.shadowBlur = style.textShadowBlur || 0;\n subElStyle.shadowColor = style.textShadowColor || 'transparent';\n subElStyle.shadowOffsetX = style.textShadowOffsetX || 0;\n subElStyle.shadowOffsetY = style.textShadowOffsetY || 0;\n }\n\n subElStyle.stroke = textStroke;\n subElStyle.fill = textFill;\n\n if (textStroke) {\n subElStyle.lineWidth = style.lineWidth || defaultLineWidth;\n subElStyle.lineDash = style.lineDash;\n subElStyle.lineDashOffset = style.lineDashOffset || 0;\n }\n\n subElStyle.font = textFont;\n setSeparateFont(subElStyle, style);\n textY += lineHeight;\n\n if (fixedBoundingRect) {\n el.setBoundingRect(new BoundingRect(adjustTextX(subElStyle.x, style.width, subElStyle.textAlign), adjustTextY(subElStyle.y, calculatedLineHeight, subElStyle.textBaseline), contentWidth, calculatedLineHeight));\n }\n }\n };\n\n ZRText.prototype._updateRichTexts = function () {\n var style = this.style;\n var text = getStyleText(style);\n var contentBlock = parseRichText(text, style);\n var contentWidth = contentBlock.width;\n var outerWidth = contentBlock.outerWidth;\n var outerHeight = contentBlock.outerHeight;\n var textPadding = style.padding;\n var baseX = style.x || 0;\n var baseY = style.y || 0;\n var defaultStyle = this._defaultStyle;\n var textAlign = style.align || defaultStyle.align;\n var verticalAlign = style.verticalAlign || defaultStyle.verticalAlign;\n var boxX = adjustTextX(baseX, outerWidth, textAlign);\n var boxY = adjustTextY(baseY, outerHeight, verticalAlign);\n var xLeft = boxX;\n var lineTop = boxY;\n\n if (textPadding) {\n xLeft += textPadding[3];\n lineTop += textPadding[0];\n }\n\n var xRight = xLeft + contentWidth;\n\n if (needDrawBackground(style)) {\n this._renderBackground(style, style, boxX, boxY, outerWidth, outerHeight);\n }\n\n var bgColorDrawn = !!style.backgroundColor;\n\n for (var i = 0; i < contentBlock.lines.length; i++) {\n var line = contentBlock.lines[i];\n var tokens = line.tokens;\n var tokenCount = tokens.length;\n var lineHeight = line.lineHeight;\n var remainedWidth = line.width;\n var leftIndex = 0;\n var lineXLeft = xLeft;\n var lineXRight = xRight;\n var rightIndex = tokenCount - 1;\n var token = void 0;\n\n while (leftIndex < tokenCount && (token = tokens[leftIndex], !token.align || token.align === 'left')) {\n this._placeToken(token, style, lineHeight, lineTop, lineXLeft, 'left', bgColorDrawn);\n\n remainedWidth -= token.width;\n lineXLeft += token.width;\n leftIndex++;\n }\n\n while (rightIndex >= 0 && (token = tokens[rightIndex], token.align === 'right')) {\n this._placeToken(token, style, lineHeight, lineTop, lineXRight, 'right', bgColorDrawn);\n\n remainedWidth -= token.width;\n lineXRight -= token.width;\n rightIndex--;\n }\n\n lineXLeft += (contentWidth - (lineXLeft - xLeft) - (xRight - lineXRight) - remainedWidth) / 2;\n\n while (leftIndex <= rightIndex) {\n token = tokens[leftIndex];\n\n this._placeToken(token, style, lineHeight, lineTop, lineXLeft + token.width / 2, 'center', bgColorDrawn);\n\n lineXLeft += token.width;\n leftIndex++;\n }\n\n lineTop += lineHeight;\n }\n };\n\n ZRText.prototype._placeToken = function (token, style, lineHeight, lineTop, x, textAlign, parentBgColorDrawn) {\n var tokenStyle = style.rich[token.styleName] || {};\n tokenStyle.text = token.text;\n var verticalAlign = token.verticalAlign;\n var y = lineTop + lineHeight / 2;\n\n if (verticalAlign === 'top') {\n y = lineTop + token.height / 2;\n } else if (verticalAlign === 'bottom') {\n y = lineTop + lineHeight - token.height / 2;\n }\n\n var needDrawBg = !token.isLineHolder && needDrawBackground(tokenStyle);\n needDrawBg && this._renderBackground(tokenStyle, style, textAlign === 'right' ? x - token.width : textAlign === 'center' ? x - token.width / 2 : x, y - token.height / 2, token.width, token.height);\n var bgColorDrawn = !!tokenStyle.backgroundColor;\n var textPadding = token.textPadding;\n\n if (textPadding) {\n x = getTextXForPadding(x, textAlign, textPadding);\n y -= token.height / 2 - textPadding[0] - token.innerHeight / 2;\n }\n\n var el = this._getOrCreateChild(TSpan);\n\n var subElStyle = el.createStyle();\n el.useStyle(subElStyle);\n var defaultStyle = this._defaultStyle;\n var useDefaultFill = false;\n var defaultLineWidth = 0;\n var textFill = getFill('fill' in tokenStyle ? tokenStyle.fill : 'fill' in style ? style.fill : (useDefaultFill = true, defaultStyle.fill));\n var textStroke = getStroke('stroke' in tokenStyle ? tokenStyle.stroke : 'stroke' in style ? style.stroke : !bgColorDrawn && !parentBgColorDrawn && (!defaultStyle.autoStroke || useDefaultFill) ? (defaultLineWidth = DEFAULT_STROKE_LINE_WIDTH, defaultStyle.stroke) : null);\n var hasShadow = tokenStyle.textShadowBlur > 0 || style.textShadowBlur > 0;\n subElStyle.text = token.text;\n subElStyle.x = x;\n subElStyle.y = y;\n\n if (hasShadow) {\n subElStyle.shadowBlur = tokenStyle.textShadowBlur || style.textShadowBlur || 0;\n subElStyle.shadowColor = tokenStyle.textShadowColor || style.textShadowColor || 'transparent';\n subElStyle.shadowOffsetX = tokenStyle.textShadowOffsetX || style.textShadowOffsetX || 0;\n subElStyle.shadowOffsetY = tokenStyle.textShadowOffsetY || style.textShadowOffsetY || 0;\n }\n\n subElStyle.textAlign = textAlign;\n subElStyle.textBaseline = 'middle';\n subElStyle.font = token.font || DEFAULT_FONT;\n subElStyle.opacity = retrieve3(tokenStyle.opacity, style.opacity, 1);\n setSeparateFont(subElStyle, tokenStyle);\n\n if (textStroke) {\n subElStyle.lineWidth = retrieve3(tokenStyle.lineWidth, style.lineWidth, defaultLineWidth);\n subElStyle.lineDash = retrieve2(tokenStyle.lineDash, style.lineDash);\n subElStyle.lineDashOffset = style.lineDashOffset || 0;\n subElStyle.stroke = textStroke;\n }\n\n if (textFill) {\n subElStyle.fill = textFill;\n }\n\n var textWidth = token.contentWidth;\n var textHeight = token.contentHeight;\n el.setBoundingRect(new BoundingRect(adjustTextX(subElStyle.x, textWidth, subElStyle.textAlign), adjustTextY(subElStyle.y, textHeight, subElStyle.textBaseline), textWidth, textHeight));\n };\n\n ZRText.prototype._renderBackground = function (style, topStyle, x, y, width, height) {\n var textBackgroundColor = style.backgroundColor;\n var textBorderWidth = style.borderWidth;\n var textBorderColor = style.borderColor;\n var isImageBg = textBackgroundColor && textBackgroundColor.image;\n var isPlainOrGradientBg = textBackgroundColor && !isImageBg;\n var textBorderRadius = style.borderRadius;\n var self = this;\n var rectEl;\n var imgEl;\n\n if (isPlainOrGradientBg || style.lineHeight || textBorderWidth && textBorderColor) {\n rectEl = this._getOrCreateChild(Rect);\n rectEl.useStyle(rectEl.createStyle());\n rectEl.style.fill = null;\n var rectShape = rectEl.shape;\n rectShape.x = x;\n rectShape.y = y;\n rectShape.width = width;\n rectShape.height = height;\n rectShape.r = textBorderRadius;\n rectEl.dirtyShape();\n }\n\n if (isPlainOrGradientBg) {\n var rectStyle = rectEl.style;\n rectStyle.fill = textBackgroundColor || null;\n rectStyle.fillOpacity = retrieve2(style.fillOpacity, 1);\n } else if (isImageBg) {\n imgEl = this._getOrCreateChild(ZRImage);\n\n imgEl.onload = function () {\n self.dirtyStyle();\n };\n\n var imgStyle = imgEl.style;\n imgStyle.image = textBackgroundColor.image;\n imgStyle.x = x;\n imgStyle.y = y;\n imgStyle.width = width;\n imgStyle.height = height;\n }\n\n if (textBorderWidth && textBorderColor) {\n var rectStyle = rectEl.style;\n rectStyle.lineWidth = textBorderWidth;\n rectStyle.stroke = textBorderColor;\n rectStyle.strokeOpacity = retrieve2(style.strokeOpacity, 1);\n rectStyle.lineDash = style.borderDash;\n rectStyle.lineDashOffset = style.borderDashOffset || 0;\n rectEl.strokeContainThreshold = 0;\n\n if (rectEl.hasFill() && rectEl.hasStroke()) {\n rectStyle.strokeFirst = true;\n rectStyle.lineWidth *= 2;\n }\n }\n\n var commonStyle = (rectEl || imgEl).style;\n commonStyle.shadowBlur = style.shadowBlur || 0;\n commonStyle.shadowColor = style.shadowColor || 'transparent';\n commonStyle.shadowOffsetX = style.shadowOffsetX || 0;\n commonStyle.shadowOffsetY = style.shadowOffsetY || 0;\n commonStyle.opacity = retrieve3(style.opacity, topStyle.opacity, 1);\n };\n\n ZRText.makeFont = function (style) {\n var font = '';\n\n if (hasSeparateFont(style)) {\n font = [style.fontStyle, style.fontWeight, parseFontSize(style.fontSize), style.fontFamily || 'sans-serif'].join(' ');\n }\n\n return font && trim(font) || style.textFont || style.font;\n };\n\n return ZRText;\n}(Displayable);\n\nvar VALID_TEXT_ALIGN = {\n left: true,\n right: 1,\n center: 1\n};\nvar VALID_TEXT_VERTICAL_ALIGN = {\n top: 1,\n bottom: 1,\n middle: 1\n};\nvar FONT_PARTS = ['fontStyle', 'fontWeight', 'fontSize', 'fontFamily'];\nexport function parseFontSize(fontSize) {\n if (typeof fontSize === 'string' && (fontSize.indexOf('px') !== -1 || fontSize.indexOf('rem') !== -1 || fontSize.indexOf('em') !== -1)) {\n return fontSize;\n } else if (!isNaN(+fontSize)) {\n return fontSize + 'px';\n } else {\n return DEFAULT_FONT_SIZE + 'px';\n }\n}\n\nfunction setSeparateFont(targetStyle, sourceStyle) {\n for (var i = 0; i < FONT_PARTS.length; i++) {\n var fontProp = FONT_PARTS[i];\n var val = sourceStyle[fontProp];\n\n if (val != null) {\n targetStyle[fontProp] = val;\n }\n }\n}\n\nexport function hasSeparateFont(style) {\n return style.fontSize != null || style.fontFamily || style.fontWeight;\n}\nexport function normalizeTextStyle(style) {\n normalizeStyle(style);\n each(style.rich, normalizeStyle);\n return style;\n}\n\nfunction normalizeStyle(style) {\n if (style) {\n style.font = ZRText.makeFont(style);\n var textAlign = style.align;\n textAlign === 'middle' && (textAlign = 'center');\n style.align = textAlign == null || VALID_TEXT_ALIGN[textAlign] ? textAlign : 'left';\n var verticalAlign = style.verticalAlign;\n verticalAlign === 'center' && (verticalAlign = 'middle');\n style.verticalAlign = verticalAlign == null || VALID_TEXT_VERTICAL_ALIGN[verticalAlign] ? verticalAlign : 'top';\n var textPadding = style.padding;\n\n if (textPadding) {\n style.padding = normalizeCssArray(style.padding);\n }\n }\n}\n\nfunction getStroke(stroke, lineWidth) {\n return stroke == null || lineWidth <= 0 || stroke === 'transparent' || stroke === 'none' ? null : stroke.image || stroke.colorStops ? '#000' : stroke;\n}\n\nfunction getFill(fill) {\n return fill == null || fill === 'none' ? null : fill.image || fill.colorStops ? '#000' : fill;\n}\n\nfunction getTextXForPadding(x, textAlign, textPadding) {\n return textAlign === 'right' ? x - textPadding[1] : textAlign === 'center' ? x + textPadding[3] / 2 - textPadding[1] / 2 : x + textPadding[3];\n}\n\nfunction getStyleText(style) {\n var text = style.text;\n text != null && (text += '');\n return text;\n}\n\nfunction needDrawBackground(style) {\n return !!(style.backgroundColor || style.lineHeight || style.borderWidth && style.borderColor);\n}\n\nexport default ZRText;","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src/ElectronicMallVue/node_modules/zrender/lib/graphic/Text.js"],"names":["__extends","parseRichText","parsePlainText","TSpan","retrieve2","each","normalizeCssArray","trim","retrieve3","extend","keys","defaults","adjustTextX","adjustTextY","ZRImage","Rect","BoundingRect","Displayable","DEFAULT_COMMON_ANIMATION_PROPS","DEFAULT_FONT","DEFAULT_FONT_SIZE","DEFAULT_RICH_TEXT_COLOR","fill","DEFAULT_STROKE_LINE_WIDTH","DEFAULT_TEXT_ANIMATION_PROPS","style","stroke","fillOpacity","strokeOpacity","lineWidth","fontSize","lineHeight","width","height","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","backgroundColor","padding","borderColor","borderWidth","borderRadius","ZRText","_super","opts","_this","call","type","_children","_defaultStyle","attr","prototype","childrenRef","update","styleChanged","_updateSubTexts","i","length","child","zlevel","z","z2","culling","cursor","invisible","updateTransform","innerTransformable","transform","getLocalTransform","m","getComputedTransform","__hostTarget","updateInnerText","_childCursor","normalizeTextStyle","rich","_updateRichTexts","_updatePlainTexts","styleUpdated","addSelfToZr","zr","__zr","removeSelfFromZr","getBoundingRect","_rect","tmpRect","children","tmpMat","rect","childRect","copy","applyTransform","clone","union","setDefaultTextStyle","defaultTextStyle","setTextContent","textContent","process","env","NODE_ENV","Error","_mergeStyle","targetStyle","sourceStyle","sourceRich","targetRich","_mergeRich","richNames","richName","getAnimationStyleProps","_getOrCreateChild","Ctor","parent","textFont","font","textPadding","text","getStyleText","contentBlock","needDrawBg","needDrawBackground","bgColorDrawn","outerHeight","outerWidth","contentWidth","textLines","lines","defaultStyle","baseX","x","baseY","y","textAlign","align","verticalAlign","textX","textY","contentHeight","boxX","boxY","_renderBackground","getTextXForPadding","defaultLineWidth","useDefaultFill","textFill","getFill","textStroke","getStroke","autoStroke","hasShadow","fixedBoundingRect","overflow","calculatedLineHeight","el","subElStyle","createStyle","useStyle","textBaseline","opacity","strokeFirst","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","lineDash","lineDashOffset","setSeparateFont","setBoundingRect","xLeft","lineTop","xRight","line","tokens","tokenCount","remainedWidth","leftIndex","lineXLeft","lineXRight","rightIndex","token","_placeToken","parentBgColorDrawn","tokenStyle","styleName","isLineHolder","innerHeight","textWidth","textHeight","topStyle","textBackgroundColor","textBorderWidth","textBorderColor","isImageBg","image","isPlainOrGradientBg","textBorderRadius","self","rectEl","imgEl","rectShape","shape","r","dirtyShape","rectStyle","onload","dirtyStyle","imgStyle","borderDash","borderDashOffset","strokeContainThreshold","hasFill","hasStroke","commonStyle","makeFont","hasSeparateFont","fontStyle","fontWeight","parseFontSize","fontFamily","join","VALID_TEXT_ALIGN","left","right","center","VALID_TEXT_VERTICAL_ALIGN","top","bottom","middle","FONT_PARTS","indexOf","isNaN","fontProp","val","normalizeStyle","colorStops"],"mappings":"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","sourcesContent":["import { __extends } from \"tslib\";\nimport { parseRichText, parsePlainText } from './helper/parseText.js';\nimport TSpan from './TSpan.js';\nimport { retrieve2, each, normalizeCssArray, trim, retrieve3, extend, keys, defaults } from '../core/util.js';\nimport { adjustTextX, adjustTextY } from '../contain/text.js';\nimport ZRImage from './Image.js';\nimport Rect from './shape/Rect.js';\nimport BoundingRect from '../core/BoundingRect.js';\nimport Displayable, { DEFAULT_COMMON_ANIMATION_PROPS } from './Displayable.js';\nimport { DEFAULT_FONT, DEFAULT_FONT_SIZE } from '../core/platform.js';\nvar DEFAULT_RICH_TEXT_COLOR = {\n fill: '#000'\n};\nvar DEFAULT_STROKE_LINE_WIDTH = 2;\nexport var DEFAULT_TEXT_ANIMATION_PROPS = {\n style: defaults({\n fill: true,\n stroke: true,\n fillOpacity: true,\n strokeOpacity: true,\n lineWidth: true,\n fontSize: true,\n lineHeight: true,\n width: true,\n height: true,\n textShadowColor: true,\n textShadowBlur: true,\n textShadowOffsetX: true,\n textShadowOffsetY: true,\n backgroundColor: true,\n padding: true,\n borderColor: true,\n borderWidth: true,\n borderRadius: true\n }, DEFAULT_COMMON_ANIMATION_PROPS.style)\n};\nvar ZRText = (function (_super) {\n __extends(ZRText, _super);\n function ZRText(opts) {\n var _this = _super.call(this) || this;\n _this.type = 'text';\n _this._children = [];\n _this._defaultStyle = DEFAULT_RICH_TEXT_COLOR;\n _this.attr(opts);\n return _this;\n }\n ZRText.prototype.childrenRef = function () {\n return this._children;\n };\n ZRText.prototype.update = function () {\n _super.prototype.update.call(this);\n if (this.styleChanged()) {\n this._updateSubTexts();\n }\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n child.zlevel = this.zlevel;\n child.z = this.z;\n child.z2 = this.z2;\n child.culling = this.culling;\n child.cursor = this.cursor;\n child.invisible = this.invisible;\n }\n };\n ZRText.prototype.updateTransform = function () {\n var innerTransformable = this.innerTransformable;\n if (innerTransformable) {\n innerTransformable.updateTransform();\n if (innerTransformable.transform) {\n this.transform = innerTransformable.transform;\n }\n }\n else {\n _super.prototype.updateTransform.call(this);\n }\n };\n ZRText.prototype.getLocalTransform = function (m) {\n var innerTransformable = this.innerTransformable;\n return innerTransformable\n ? innerTransformable.getLocalTransform(m)\n : _super.prototype.getLocalTransform.call(this, m);\n };\n ZRText.prototype.getComputedTransform = function () {\n if (this.__hostTarget) {\n this.__hostTarget.getComputedTransform();\n this.__hostTarget.updateInnerText(true);\n }\n return _super.prototype.getComputedTransform.call(this);\n };\n ZRText.prototype._updateSubTexts = function () {\n this._childCursor = 0;\n normalizeTextStyle(this.style);\n this.style.rich\n ? this._updateRichTexts()\n : this._updatePlainTexts();\n this._children.length = this._childCursor;\n this.styleUpdated();\n };\n ZRText.prototype.addSelfToZr = function (zr) {\n _super.prototype.addSelfToZr.call(this, zr);\n for (var i = 0; i < this._children.length; i++) {\n this._children[i].__zr = zr;\n }\n };\n ZRText.prototype.removeSelfFromZr = function (zr) {\n _super.prototype.removeSelfFromZr.call(this, zr);\n for (var i = 0; i < this._children.length; i++) {\n this._children[i].__zr = null;\n }\n };\n ZRText.prototype.getBoundingRect = function () {\n if (this.styleChanged()) {\n this._updateSubTexts();\n }\n if (!this._rect) {\n var tmpRect = new BoundingRect(0, 0, 0, 0);\n var children = this._children;\n var tmpMat = [];\n var rect = null;\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n var childRect = child.getBoundingRect();\n var transform = child.getLocalTransform(tmpMat);\n if (transform) {\n tmpRect.copy(childRect);\n tmpRect.applyTransform(transform);\n rect = rect || tmpRect.clone();\n rect.union(tmpRect);\n }\n else {\n rect = rect || childRect.clone();\n rect.union(childRect);\n }\n }\n this._rect = rect || tmpRect;\n }\n return this._rect;\n };\n ZRText.prototype.setDefaultTextStyle = function (defaultTextStyle) {\n this._defaultStyle = defaultTextStyle || DEFAULT_RICH_TEXT_COLOR;\n };\n ZRText.prototype.setTextContent = function (textContent) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error('Can\\'t attach text on another text');\n }\n };\n ZRText.prototype._mergeStyle = function (targetStyle, sourceStyle) {\n if (!sourceStyle) {\n return targetStyle;\n }\n var sourceRich = sourceStyle.rich;\n var targetRich = targetStyle.rich || (sourceRich && {});\n extend(targetStyle, sourceStyle);\n if (sourceRich && targetRich) {\n this._mergeRich(targetRich, sourceRich);\n targetStyle.rich = targetRich;\n }\n else if (targetRich) {\n targetStyle.rich = targetRich;\n }\n return targetStyle;\n };\n ZRText.prototype._mergeRich = function (targetRich, sourceRich) {\n var richNames = keys(sourceRich);\n for (var i = 0; i < richNames.length; i++) {\n var richName = richNames[i];\n targetRich[richName] = targetRich[richName] || {};\n extend(targetRich[richName], sourceRich[richName]);\n }\n };\n ZRText.prototype.getAnimationStyleProps = function () {\n return DEFAULT_TEXT_ANIMATION_PROPS;\n };\n ZRText.prototype._getOrCreateChild = function (Ctor) {\n var child = this._children[this._childCursor];\n if (!child || !(child instanceof Ctor)) {\n child = new Ctor();\n }\n this._children[this._childCursor++] = child;\n child.__zr = this.__zr;\n child.parent = this;\n return child;\n };\n ZRText.prototype._updatePlainTexts = function () {\n var style = this.style;\n var textFont = style.font || DEFAULT_FONT;\n var textPadding = style.padding;\n var text = getStyleText(style);\n var contentBlock = parsePlainText(text, style);\n var needDrawBg = needDrawBackground(style);\n var bgColorDrawn = !!(style.backgroundColor);\n var outerHeight = contentBlock.outerHeight;\n var outerWidth = contentBlock.outerWidth;\n var contentWidth = contentBlock.contentWidth;\n var textLines = contentBlock.lines;\n var lineHeight = contentBlock.lineHeight;\n var defaultStyle = this._defaultStyle;\n var baseX = style.x || 0;\n var baseY = style.y || 0;\n var textAlign = style.align || defaultStyle.align || 'left';\n var verticalAlign = style.verticalAlign || defaultStyle.verticalAlign || 'top';\n var textX = baseX;\n var textY = adjustTextY(baseY, contentBlock.contentHeight, verticalAlign);\n if (needDrawBg || textPadding) {\n var boxX = adjustTextX(baseX, outerWidth, textAlign);\n var boxY = adjustTextY(baseY, outerHeight, verticalAlign);\n needDrawBg && this._renderBackground(style, style, boxX, boxY, outerWidth, outerHeight);\n }\n textY += lineHeight / 2;\n if (textPadding) {\n textX = getTextXForPadding(baseX, textAlign, textPadding);\n if (verticalAlign === 'top') {\n textY += textPadding[0];\n }\n else if (verticalAlign === 'bottom') {\n textY -= textPadding[2];\n }\n }\n var defaultLineWidth = 0;\n var useDefaultFill = false;\n var textFill = getFill('fill' in style\n ? style.fill\n : (useDefaultFill = true, defaultStyle.fill));\n var textStroke = getStroke('stroke' in style\n ? style.stroke\n : (!bgColorDrawn\n && (!defaultStyle.autoStroke || useDefaultFill))\n ? (defaultLineWidth = DEFAULT_STROKE_LINE_WIDTH, defaultStyle.stroke)\n : null);\n var hasShadow = style.textShadowBlur > 0;\n var fixedBoundingRect = style.width != null\n && (style.overflow === 'truncate' || style.overflow === 'break' || style.overflow === 'breakAll');\n var calculatedLineHeight = contentBlock.calculatedLineHeight;\n for (var i = 0; i < textLines.length; i++) {\n var el = this._getOrCreateChild(TSpan);\n var subElStyle = el.createStyle();\n el.useStyle(subElStyle);\n subElStyle.text = textLines[i];\n subElStyle.x = textX;\n subElStyle.y = textY;\n if (textAlign) {\n subElStyle.textAlign = textAlign;\n }\n subElStyle.textBaseline = 'middle';\n subElStyle.opacity = style.opacity;\n subElStyle.strokeFirst = true;\n if (hasShadow) {\n subElStyle.shadowBlur = style.textShadowBlur || 0;\n subElStyle.shadowColor = style.textShadowColor || 'transparent';\n subElStyle.shadowOffsetX = style.textShadowOffsetX || 0;\n subElStyle.shadowOffsetY = style.textShadowOffsetY || 0;\n }\n subElStyle.stroke = textStroke;\n subElStyle.fill = textFill;\n if (textStroke) {\n subElStyle.lineWidth = style.lineWidth || defaultLineWidth;\n subElStyle.lineDash = style.lineDash;\n subElStyle.lineDashOffset = style.lineDashOffset || 0;\n }\n subElStyle.font = textFont;\n setSeparateFont(subElStyle, style);\n textY += lineHeight;\n if (fixedBoundingRect) {\n el.setBoundingRect(new BoundingRect(adjustTextX(subElStyle.x, style.width, subElStyle.textAlign), adjustTextY(subElStyle.y, calculatedLineHeight, subElStyle.textBaseline), contentWidth, calculatedLineHeight));\n }\n }\n };\n ZRText.prototype._updateRichTexts = function () {\n var style = this.style;\n var text = getStyleText(style);\n var contentBlock = parseRichText(text, style);\n var contentWidth = contentBlock.width;\n var outerWidth = contentBlock.outerWidth;\n var outerHeight = contentBlock.outerHeight;\n var textPadding = style.padding;\n var baseX = style.x || 0;\n var baseY = style.y || 0;\n var defaultStyle = this._defaultStyle;\n var textAlign = style.align || defaultStyle.align;\n var verticalAlign = style.verticalAlign || defaultStyle.verticalAlign;\n var boxX = adjustTextX(baseX, outerWidth, textAlign);\n var boxY = adjustTextY(baseY, outerHeight, verticalAlign);\n var xLeft = boxX;\n var lineTop = boxY;\n if (textPadding) {\n xLeft += textPadding[3];\n lineTop += textPadding[0];\n }\n var xRight = xLeft + contentWidth;\n if (needDrawBackground(style)) {\n this._renderBackground(style, style, boxX, boxY, outerWidth, outerHeight);\n }\n var bgColorDrawn = !!(style.backgroundColor);\n for (var i = 0; i < contentBlock.lines.length; i++) {\n var line = contentBlock.lines[i];\n var tokens = line.tokens;\n var tokenCount = tokens.length;\n var lineHeight = line.lineHeight;\n var remainedWidth = line.width;\n var leftIndex = 0;\n var lineXLeft = xLeft;\n var lineXRight = xRight;\n var rightIndex = tokenCount - 1;\n var token = void 0;\n while (leftIndex < tokenCount\n && (token = tokens[leftIndex], !token.align || token.align === 'left')) {\n this._placeToken(token, style, lineHeight, lineTop, lineXLeft, 'left', bgColorDrawn);\n remainedWidth -= token.width;\n lineXLeft += token.width;\n leftIndex++;\n }\n while (rightIndex >= 0\n && (token = tokens[rightIndex], token.align === 'right')) {\n this._placeToken(token, style, lineHeight, lineTop, lineXRight, 'right', bgColorDrawn);\n remainedWidth -= token.width;\n lineXRight -= token.width;\n rightIndex--;\n }\n lineXLeft += (contentWidth - (lineXLeft - xLeft) - (xRight - lineXRight) - remainedWidth) / 2;\n while (leftIndex <= rightIndex) {\n token = tokens[leftIndex];\n this._placeToken(token, style, lineHeight, lineTop, lineXLeft + token.width / 2, 'center', bgColorDrawn);\n lineXLeft += token.width;\n leftIndex++;\n }\n lineTop += lineHeight;\n }\n };\n ZRText.prototype._placeToken = function (token, style, lineHeight, lineTop, x, textAlign, parentBgColorDrawn) {\n var tokenStyle = style.rich[token.styleName] || {};\n tokenStyle.text = token.text;\n var verticalAlign = token.verticalAlign;\n var y = lineTop + lineHeight / 2;\n if (verticalAlign === 'top') {\n y = lineTop + token.height / 2;\n }\n else if (verticalAlign === 'bottom') {\n y = lineTop + lineHeight - token.height / 2;\n }\n var needDrawBg = !token.isLineHolder && needDrawBackground(tokenStyle);\n needDrawBg && this._renderBackground(tokenStyle, style, textAlign === 'right'\n ? x - token.width\n : textAlign === 'center'\n ? x - token.width / 2\n : x, y - token.height / 2, token.width, token.height);\n var bgColorDrawn = !!tokenStyle.backgroundColor;\n var textPadding = token.textPadding;\n if (textPadding) {\n x = getTextXForPadding(x, textAlign, textPadding);\n y -= token.height / 2 - textPadding[0] - token.innerHeight / 2;\n }\n var el = this._getOrCreateChild(TSpan);\n var subElStyle = el.createStyle();\n el.useStyle(subElStyle);\n var defaultStyle = this._defaultStyle;\n var useDefaultFill = false;\n var defaultLineWidth = 0;\n var textFill = getFill('fill' in tokenStyle ? tokenStyle.fill\n : 'fill' in style ? style.fill\n : (useDefaultFill = true, defaultStyle.fill));\n var textStroke = getStroke('stroke' in tokenStyle ? tokenStyle.stroke\n : 'stroke' in style ? style.stroke\n : (!bgColorDrawn\n && !parentBgColorDrawn\n && (!defaultStyle.autoStroke || useDefaultFill)) ? (defaultLineWidth = DEFAULT_STROKE_LINE_WIDTH, defaultStyle.stroke)\n : null);\n var hasShadow = tokenStyle.textShadowBlur > 0\n || style.textShadowBlur > 0;\n subElStyle.text = token.text;\n subElStyle.x = x;\n subElStyle.y = y;\n if (hasShadow) {\n subElStyle.shadowBlur = tokenStyle.textShadowBlur || style.textShadowBlur || 0;\n subElStyle.shadowColor = tokenStyle.textShadowColor || style.textShadowColor || 'transparent';\n subElStyle.shadowOffsetX = tokenStyle.textShadowOffsetX || style.textShadowOffsetX || 0;\n subElStyle.shadowOffsetY = tokenStyle.textShadowOffsetY || style.textShadowOffsetY || 0;\n }\n subElStyle.textAlign = textAlign;\n subElStyle.textBaseline = 'middle';\n subElStyle.font = token.font || DEFAULT_FONT;\n subElStyle.opacity = retrieve3(tokenStyle.opacity, style.opacity, 1);\n setSeparateFont(subElStyle, tokenStyle);\n if (textStroke) {\n subElStyle.lineWidth = retrieve3(tokenStyle.lineWidth, style.lineWidth, defaultLineWidth);\n subElStyle.lineDash = retrieve2(tokenStyle.lineDash, style.lineDash);\n subElStyle.lineDashOffset = style.lineDashOffset || 0;\n subElStyle.stroke = textStroke;\n }\n if (textFill) {\n subElStyle.fill = textFill;\n }\n var textWidth = token.contentWidth;\n var textHeight = token.contentHeight;\n el.setBoundingRect(new BoundingRect(adjustTextX(subElStyle.x, textWidth, subElStyle.textAlign), adjustTextY(subElStyle.y, textHeight, subElStyle.textBaseline), textWidth, textHeight));\n };\n ZRText.prototype._renderBackground = function (style, topStyle, x, y, width, height) {\n var textBackgroundColor = style.backgroundColor;\n var textBorderWidth = style.borderWidth;\n var textBorderColor = style.borderColor;\n var isImageBg = textBackgroundColor && textBackgroundColor.image;\n var isPlainOrGradientBg = textBackgroundColor && !isImageBg;\n var textBorderRadius = style.borderRadius;\n var self = this;\n var rectEl;\n var imgEl;\n if (isPlainOrGradientBg || style.lineHeight || (textBorderWidth && textBorderColor)) {\n rectEl = this._getOrCreateChild(Rect);\n rectEl.useStyle(rectEl.createStyle());\n rectEl.style.fill = null;\n var rectShape = rectEl.shape;\n rectShape.x = x;\n rectShape.y = y;\n rectShape.width = width;\n rectShape.height = height;\n rectShape.r = textBorderRadius;\n rectEl.dirtyShape();\n }\n if (isPlainOrGradientBg) {\n var rectStyle = rectEl.style;\n rectStyle.fill = textBackgroundColor || null;\n rectStyle.fillOpacity = retrieve2(style.fillOpacity, 1);\n }\n else if (isImageBg) {\n imgEl = this._getOrCreateChild(ZRImage);\n imgEl.onload = function () {\n self.dirtyStyle();\n };\n var imgStyle = imgEl.style;\n imgStyle.image = textBackgroundColor.image;\n imgStyle.x = x;\n imgStyle.y = y;\n imgStyle.width = width;\n imgStyle.height = height;\n }\n if (textBorderWidth && textBorderColor) {\n var rectStyle = rectEl.style;\n rectStyle.lineWidth = textBorderWidth;\n rectStyle.stroke = textBorderColor;\n rectStyle.strokeOpacity = retrieve2(style.strokeOpacity, 1);\n rectStyle.lineDash = style.borderDash;\n rectStyle.lineDashOffset = style.borderDashOffset || 0;\n rectEl.strokeContainThreshold = 0;\n if (rectEl.hasFill() && rectEl.hasStroke()) {\n rectStyle.strokeFirst = true;\n rectStyle.lineWidth *= 2;\n }\n }\n var commonStyle = (rectEl || imgEl).style;\n commonStyle.shadowBlur = style.shadowBlur || 0;\n commonStyle.shadowColor = style.shadowColor || 'transparent';\n commonStyle.shadowOffsetX = style.shadowOffsetX || 0;\n commonStyle.shadowOffsetY = style.shadowOffsetY || 0;\n commonStyle.opacity = retrieve3(style.opacity, topStyle.opacity, 1);\n };\n ZRText.makeFont = function (style) {\n var font = '';\n if (hasSeparateFont(style)) {\n font = [\n style.fontStyle,\n style.fontWeight,\n parseFontSize(style.fontSize),\n style.fontFamily || 'sans-serif'\n ].join(' ');\n }\n return font && trim(font) || style.textFont || style.font;\n };\n return ZRText;\n}(Displayable));\nvar VALID_TEXT_ALIGN = { left: true, right: 1, center: 1 };\nvar VALID_TEXT_VERTICAL_ALIGN = { top: 1, bottom: 1, middle: 1 };\nvar FONT_PARTS = ['fontStyle', 'fontWeight', 'fontSize', 'fontFamily'];\nexport function parseFontSize(fontSize) {\n if (typeof fontSize === 'string'\n && (fontSize.indexOf('px') !== -1\n || fontSize.indexOf('rem') !== -1\n || fontSize.indexOf('em') !== -1)) {\n return fontSize;\n }\n else if (!isNaN(+fontSize)) {\n return fontSize + 'px';\n }\n else {\n return DEFAULT_FONT_SIZE + 'px';\n }\n}\nfunction setSeparateFont(targetStyle, sourceStyle) {\n for (var i = 0; i < FONT_PARTS.length; i++) {\n var fontProp = FONT_PARTS[i];\n var val = sourceStyle[fontProp];\n if (val != null) {\n targetStyle[fontProp] = val;\n }\n }\n}\nexport function hasSeparateFont(style) {\n return style.fontSize != null || style.fontFamily || style.fontWeight;\n}\nexport function normalizeTextStyle(style) {\n normalizeStyle(style);\n each(style.rich, normalizeStyle);\n return style;\n}\nfunction normalizeStyle(style) {\n if (style) {\n style.font = ZRText.makeFont(style);\n var textAlign = style.align;\n textAlign === 'middle' && (textAlign = 'center');\n style.align = (textAlign == null || VALID_TEXT_ALIGN[textAlign]) ? textAlign : 'left';\n var verticalAlign = style.verticalAlign;\n verticalAlign === 'center' && (verticalAlign = 'middle');\n style.verticalAlign = (verticalAlign == null || VALID_TEXT_VERTICAL_ALIGN[verticalAlign]) ? verticalAlign : 'top';\n var textPadding = style.padding;\n if (textPadding) {\n style.padding = normalizeCssArray(style.padding);\n }\n }\n}\nfunction getStroke(stroke, lineWidth) {\n return (stroke == null || lineWidth <= 0 || stroke === 'transparent' || stroke === 'none')\n ? null\n : (stroke.image || stroke.colorStops)\n ? '#000'\n : stroke;\n}\nfunction getFill(fill) {\n return (fill == null || fill === 'none')\n ? null\n : (fill.image || fill.colorStops)\n ? '#000'\n : fill;\n}\nfunction getTextXForPadding(x, textAlign, textPadding) {\n return textAlign === 'right'\n ? (x - textPadding[1])\n : textAlign === 'center'\n ? (x + textPadding[3] / 2 - textPadding[1] / 2)\n : (x + textPadding[3]);\n}\nfunction getStyleText(style) {\n var text = style.text;\n text != null && (text += '');\n return text;\n}\nfunction needDrawBackground(style) {\n return !!(style.backgroundColor\n || style.lineHeight\n || (style.borderWidth && style.borderColor));\n}\nexport default ZRText;\n"]},"metadata":{},"sourceType":"module"}