@visactor/vrender-components 0.16.17 → 0.16.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/cjs/index.d.ts +1 -1
  2. package/cjs/index.js +1 -1
  3. package/cjs/index.js.map +1 -1
  4. package/cjs/legend/discrete/discrete.js +9 -7
  5. package/cjs/legend/discrete/discrete.js.map +1 -1
  6. package/cjs/legend/discrete/type.d.ts +1 -0
  7. package/cjs/legend/discrete/type.js.map +1 -1
  8. package/cjs/legend/index.d.ts +1 -0
  9. package/cjs/legend/index.js +2 -1
  10. package/cjs/legend/index.js.map +1 -1
  11. package/cjs/legend/size/size.d.ts +0 -2
  12. package/cjs/legend/size/size.js +3 -12
  13. package/cjs/legend/size/size.js.map +1 -1
  14. package/cjs/legend/util.d.ts +2 -0
  15. package/cjs/legend/util.js +13 -0
  16. package/cjs/legend/util.js.map +1 -0
  17. package/cjs/link-path/link-path.js +1 -1
  18. package/cjs/slider/slider.js +3 -3
  19. package/cjs/slider/slider.js.map +1 -1
  20. package/dist/index.js +230 -64
  21. package/dist/index.min.js +1 -1
  22. package/es/index.d.ts +1 -1
  23. package/es/index.js +1 -1
  24. package/es/index.js.map +1 -1
  25. package/es/legend/discrete/discrete.js +9 -7
  26. package/es/legend/discrete/discrete.js.map +1 -1
  27. package/es/legend/discrete/type.d.ts +1 -0
  28. package/es/legend/discrete/type.js.map +1 -1
  29. package/es/legend/index.d.ts +1 -0
  30. package/es/legend/index.js +2 -0
  31. package/es/legend/index.js.map +1 -1
  32. package/es/legend/size/size.d.ts +0 -2
  33. package/es/legend/size/size.js +1 -6
  34. package/es/legend/size/size.js.map +1 -1
  35. package/es/legend/util.d.ts +2 -0
  36. package/es/legend/util.js +7 -0
  37. package/es/legend/util.js.map +1 -0
  38. package/es/link-path/link-path.js +1 -1
  39. package/es/slider/slider.js +3 -3
  40. package/es/slider/slider.js.map +1 -1
  41. package/package.json +5 -5
package/dist/index.js CHANGED
@@ -4473,7 +4473,8 @@
4473
4473
  verticalMode: 0,
4474
4474
  whiteSpace: "no-wrap",
4475
4475
  heightLimit: 1 / 0,
4476
- lineClamp: 1 / 0
4476
+ lineClamp: 1 / 0,
4477
+ suffixPosition: "end"
4477
4478
  };
4478
4479
  var DefaultStyle = Object.assign(Object.assign(Object.assign({
4479
4480
  opacity: 1,
@@ -4482,7 +4483,7 @@
4482
4483
  textureColor: "black",
4483
4484
  textureSize: 10,
4484
4485
  texturePadding: 2,
4485
- backgroundMode: 0,
4486
+ backgroundMode: "no-repeat",
4486
4487
  blur: 0,
4487
4488
  cursor: null,
4488
4489
  html: null
@@ -4568,7 +4569,7 @@
4568
4569
  var DefaultPathAttribute = Object.assign(Object.assign({}, DefaultAttribute), {
4569
4570
  path: new CustomPath2D(),
4570
4571
  customPath: function customPath() {
4571
- console.warn("空函数");
4572
+ vutils.Logger.getInstance().warn("空函数");
4572
4573
  }
4573
4574
  });
4574
4575
  var DefaultPolygonAttribute = Object.assign(Object.assign({}, DefaultAttribute), {
@@ -4832,7 +4833,7 @@
4832
4833
  i = 0;
4833
4834
  for (; i < verticalList.length && length + verticalList[i].width < width; i++) length += verticalList[i].width, out.push(verticalList[i]);
4834
4835
  if (verticalList[i] && verticalList[i].text.length > 1) {
4835
- var clipedData = this._clipText(verticalList[i].text, options, width - length, 0, verticalList[i].text.length - 1);
4836
+ var clipedData = this._clipText(verticalList[i].text, options, width - length, 0, verticalList[i].text.length - 1, "end", !1);
4836
4837
  if (wordBreak && clipedData.str !== verticalList[i].text) {
4837
4838
  var text = "",
4838
4839
  _length = 0;
@@ -4871,7 +4872,7 @@
4871
4872
  str: "",
4872
4873
  width: 0
4873
4874
  };
4874
- var data = this._clipText(text, options, width, 0, text.length - 1);
4875
+ var data = this._clipText(text, options, width, 0, text.length - 1, "end", !1);
4875
4876
  if (wordBreak && data.str !== text) {
4876
4877
  var index = testLetter(text, data.str.length);
4877
4878
  index !== data.str.length && (data.str = text.substring(0, index), data.width = this.measureTextWidth(data.str, options));
@@ -4880,7 +4881,21 @@
4880
4881
  }
4881
4882
  }, {
4882
4883
  key: "_clipText",
4883
- value: function _clipText(text, options, width, leftIdx, rightIdx) {
4884
+ value: function _clipText(text, options, width, leftIdx, rightIdx, position, suffix) {
4885
+ var data;
4886
+ if ("end" === position) data = this._clipTextEnd(text, options, width, leftIdx, rightIdx), suffix && (data.result = data.str + suffix);else if ("start" === position) data = this._clipTextStart(text, options, width, leftIdx, rightIdx), suffix && (data.result = suffix + data.str);else if ("middle" === position) {
4887
+ var d = this._clipTextMiddle(text, options, width, "", "", 0, 0, 1);
4888
+ data = {
4889
+ str: "none",
4890
+ width: d.width,
4891
+ result: d.left + suffix + d.right
4892
+ };
4893
+ }
4894
+ return data;
4895
+ }
4896
+ }, {
4897
+ key: "_clipTextEnd",
4898
+ value: function _clipTextEnd(text, options, width, leftIdx, rightIdx) {
4884
4899
  var middleIdx = Math.floor((leftIdx + rightIdx) / 2),
4885
4900
  subText = text.substring(0, middleIdx + 1),
4886
4901
  strWidth = this.measureTextWidth(subText, options);
@@ -4894,7 +4909,7 @@
4894
4909
  return length = this.measureTextWidth(str, options), length <= width ? {
4895
4910
  str: str,
4896
4911
  width: length
4897
- } : this._clipText(text, options, width, leftIdx, middleIdx);
4912
+ } : this._clipTextEnd(text, options, width, leftIdx, middleIdx);
4898
4913
  }
4899
4914
  if (strWidth < width) {
4900
4915
  if (middleIdx >= text.length - 1) return {
@@ -4905,16 +4920,68 @@
4905
4920
  return length = this.measureTextWidth(_str, options), length >= width ? {
4906
4921
  str: subText,
4907
4922
  width: strWidth
4908
- } : this._clipText(text, options, width, middleIdx, rightIdx);
4923
+ } : this._clipTextEnd(text, options, width, middleIdx, rightIdx);
4909
4924
  }
4910
4925
  return {
4911
4926
  str: subText,
4912
4927
  width: strWidth
4913
4928
  };
4914
4929
  }
4930
+ }, {
4931
+ key: "_clipTextStart",
4932
+ value: function _clipTextStart(text, options, width, leftIdx, rightIdx) {
4933
+ var middleIdx = Math.ceil((leftIdx + rightIdx) / 2),
4934
+ subText = text.substring(middleIdx - 1, text.length - 1),
4935
+ strWidth = this.measureTextWidth(subText, options);
4936
+ var length;
4937
+ if (strWidth > width) {
4938
+ if (subText.length <= 1) return {
4939
+ str: "",
4940
+ width: 0
4941
+ };
4942
+ var str = text.substring(middleIdx, text.length - 1);
4943
+ return length = this.measureTextWidth(str, options), length <= width ? {
4944
+ str: str,
4945
+ width: length
4946
+ } : this._clipTextStart(text, options, width, middleIdx, text.length - 1);
4947
+ }
4948
+ if (strWidth < width) {
4949
+ if (middleIdx <= 0) return {
4950
+ str: text,
4951
+ width: this.measureTextWidth(text, options)
4952
+ };
4953
+ var _str2 = text.substring(middleIdx - 2, text.length - 1);
4954
+ return length = this.measureTextWidth(_str2, options), length >= width ? {
4955
+ str: subText,
4956
+ width: strWidth
4957
+ } : this._clipTextStart(text, options, width, leftIdx, middleIdx);
4958
+ }
4959
+ return {
4960
+ str: subText,
4961
+ width: strWidth
4962
+ };
4963
+ }
4964
+ }, {
4965
+ key: "_clipTextMiddle",
4966
+ value: function _clipTextMiddle(text, options, width, left, right, leftW, rightW, buffer) {
4967
+ var subLeftText = text.substring(0, buffer),
4968
+ strLeftWidth = this.measureTextWidth(subLeftText, options);
4969
+ if (strLeftWidth + rightW > width) return {
4970
+ left: left,
4971
+ right: right,
4972
+ width: leftW + rightW
4973
+ };
4974
+ var subRightText = text.substring(text.length - buffer, text.length),
4975
+ strRightWidth = this.measureTextWidth(subRightText, options);
4976
+ return strLeftWidth + strRightWidth > width ? {
4977
+ left: subLeftText,
4978
+ right: right,
4979
+ width: strLeftWidth + rightW
4980
+ } : this._clipTextMiddle(text, options, width, subLeftText, subRightText, strLeftWidth, strRightWidth, buffer + 1);
4981
+ }
4915
4982
  }, {
4916
4983
  key: "clipTextWithSuffixVertical",
4917
- value: function clipTextWithSuffixVertical(verticalList, options, width, suffix, wordBreak) {
4984
+ value: function clipTextWithSuffixVertical(verticalList, options, width, suffix, wordBreak, suffixPosition) {
4918
4985
  if ("" === suffix) return this.clipTextVertical(verticalList, options, width, wordBreak);
4919
4986
  if (0 === verticalList.length) return {
4920
4987
  verticalList: verticalList,
@@ -4924,17 +4991,50 @@
4924
4991
  if (output.verticalList.length === verticalList.length && output.verticalList[output.verticalList.length - 1].width === verticalList[verticalList.length - 1].width) return output;
4925
4992
  var suffixWidth = this.measureTextWidth(suffix, options);
4926
4993
  if (suffixWidth > width) return output;
4927
- width -= suffixWidth;
4928
- var out = this.clipTextVertical(verticalList, options, width, wordBreak);
4929
- return out.width += suffixWidth, out.verticalList.push({
4994
+ var out;
4995
+ if (width -= suffixWidth, "start" === suffixPosition) {
4996
+ var nextVerticalList = this.revertVerticalList(verticalList);
4997
+ out = this.clipTextVertical(nextVerticalList, options, width, wordBreak);
4998
+ var v = this.revertVerticalList(out.verticalList);
4999
+ v.unshift({
5000
+ text: suffix,
5001
+ direction: 1,
5002
+ width: suffixWidth
5003
+ }), out.verticalList = v;
5004
+ } else if ("middle" === suffixPosition) {
5005
+ var leftOut = this.clipTextVertical(verticalList, options, width / 2, wordBreak),
5006
+ _nextVerticalList = this.revertVerticalList(verticalList),
5007
+ rightOut = this.clipTextVertical(_nextVerticalList, options, width / 2, wordBreak);
5008
+ leftOut.verticalList.push({
5009
+ text: suffix,
5010
+ direction: 1,
5011
+ width: suffixWidth
5012
+ }), this.revertVerticalList(rightOut.verticalList).forEach(function (v) {
5013
+ return leftOut.verticalList.push(v);
5014
+ }), out = {
5015
+ verticalList: leftOut.verticalList,
5016
+ width: leftOut.width + rightOut.width
5017
+ };
5018
+ } else out = this.clipTextVertical(verticalList, options, width, wordBreak), out.verticalList.push({
4930
5019
  text: suffix,
4931
5020
  direction: 1,
4932
5021
  width: suffixWidth
4933
- }), out;
5022
+ });
5023
+ return out.width += suffixWidth, out;
5024
+ }
5025
+ }, {
5026
+ key: "revertVerticalList",
5027
+ value: function revertVerticalList(verticalList) {
5028
+ return verticalList.reverse().map(function (l) {
5029
+ var t = l.text.split("").reverse().join("");
5030
+ return Object.assign(Object.assign({}, l), {
5031
+ text: t
5032
+ });
5033
+ });
4934
5034
  }
4935
5035
  }, {
4936
5036
  key: "clipTextWithSuffix",
4937
- value: function clipTextWithSuffix(text, options, width, suffix, wordBreak) {
5037
+ value: function clipTextWithSuffix(text, options, width, suffix, wordBreak, position) {
4938
5038
  if ("" === suffix) return this.clipText(text, options, width, wordBreak);
4939
5039
  if (0 === text.length) return {
4940
5040
  str: "",
@@ -4951,12 +5051,12 @@
4951
5051
  width: 0
4952
5052
  };
4953
5053
  width -= suffixWidth;
4954
- var data = this._clipText(text, options, width, 0, text.length - 1);
5054
+ var data = this._clipText(text, options, width, 0, text.length - 1, position, suffix);
4955
5055
  if (wordBreak && data.str !== text) {
4956
5056
  var index = testLetter(text, data.str.length);
4957
5057
  index !== data.str.length && (data.str = text.substring(0, index), data.width = this.measureTextWidth(data.str, options));
4958
5058
  }
4959
- return data.str += suffix, data.width += suffixWidth, data;
5059
+ return data.str = data.result, data.width += suffixWidth, data;
4960
5060
  }
4961
5061
  }]);
4962
5062
  return ATextMeasure;
@@ -5592,7 +5692,7 @@
5592
5692
  var parentTheme = parentGroup.theme;
5593
5693
  (parentTheme.dirty || force) && parentTheme.applyTheme(parentGroup, pt, !0), this.userTheme ? combineTheme(this.userTheme, parentTheme.userTheme, !1) : this.userTheme = vutils.clone(parentTheme.userTheme), combineTheme(pt, parentTheme.userTheme);
5594
5694
  }
5595
- this.userTheme ? this.doCombine(pt) : (parentGroup ? this.combinedTheme = parentGroup.theme.combinedTheme : (this.combinedTheme = this._defaultTheme, console.warn("未知错误,走到不应该走的区域里")), this.dirty = !1);
5695
+ this.userTheme ? this.doCombine(pt) : (parentGroup ? this.combinedTheme = parentGroup.theme.combinedTheme : (this.combinedTheme = this._defaultTheme, vutils.Logger.getInstance().warn("未知错误,走到不应该走的区域里")), this.dirty = !1);
5596
5696
  }
5597
5697
  return this.combinedTheme;
5598
5698
  }
@@ -5864,7 +5964,7 @@
5864
5964
  }, {
5865
5965
  key: "insertInto",
5866
5966
  value: function insertInto(newNode, idx) {
5867
- if (!this._ignoreWarn && this._nodeList && console.warn("insertIntoKeepIdx和insertInto混用可能会存在错误"), idx >= this.childrenCount) return this.appendChild(newNode);
5967
+ if (!this._ignoreWarn && this._nodeList && vutils.Logger.getInstance().warn("insertIntoKeepIdx和insertInto混用可能会存在错误"), idx >= this.childrenCount) return this.appendChild(newNode);
5868
5968
  if (this._uid === newNode._uid) return null;
5869
5969
  if (newNode.isAncestorsOf(this)) throw new Error("【Node::insertBefore】不能将父辈元素insert为子元素");
5870
5970
  if (newNode.parent && newNode.parent.removeChild(newNode), newNode.parent = this, 0 === idx) newNode._next = this._firstChild, this._firstChild && (this._firstChild._prev = newNode), newNode._prev = null, this._firstChild = newNode;else {
@@ -6193,7 +6293,19 @@
6193
6293
  var FederatedEvent = /*#__PURE__*/function () {
6194
6294
  function FederatedEvent(manager) {
6195
6295
  _classCallCheck(this, FederatedEvent);
6196
- this.bubbles = !0, this.cancelBubble = !0, this.cancelable = !1, this.composed = !1, this.defaultPrevented = !1, this.eventPhase = FederatedEvent.prototype.NONE, this.propagationStopped = !1, this.propagationImmediatelyStopped = !1, this.layer = new vutils.Point(), this.page = new vutils.Point(), this.canvas = new vutils.Point(), this.viewport = new vutils.Point(), this.NONE = 0, this.CAPTURING_PHASE = 1, this.AT_TARGET = 2, this.BUBBLING_PHASE = 3, this.manager = manager;
6296
+ this.bubbles = !0, this.cancelBubble = !0, this.cancelable = !1, this.composed = !1, this.defaultPrevented = !1, this.eventPhase = FederatedEvent.prototype.NONE, this.propagationStopped = !1, this.propagationImmediatelyStopped = !1, this.layer = {
6297
+ x: 0,
6298
+ y: 0
6299
+ }, this.page = {
6300
+ x: 0,
6301
+ y: 0
6302
+ }, this.canvas = {
6303
+ x: 0,
6304
+ y: 0
6305
+ }, this.viewport = {
6306
+ x: 0,
6307
+ y: 0
6308
+ }, this.NONE = 0, this.CAPTURING_PHASE = 1, this.AT_TARGET = 2, this.BUBBLING_PHASE = 3, this.manager = manager;
6197
6309
  }
6198
6310
  _createClass(FederatedEvent, [{
6199
6311
  key: "layerX",
@@ -6504,7 +6616,7 @@
6504
6616
  handler = new ManualTickHandler();
6505
6617
  break;
6506
6618
  default:
6507
- console.warn("非法的计时器模式"), handler = new RAFTickHandler();
6619
+ vutils.Logger.getInstance().warn("非法的计时器模式"), handler = new RAFTickHandler();
6508
6620
  }
6509
6621
  return !!handler.avaliable() && (this.tickerHandler && this.tickerHandler.release(), this.tickerHandler = handler, !0);
6510
6622
  }
@@ -7299,7 +7411,7 @@
7299
7411
  }
7300
7412
  lastStep = lastStep.prev;
7301
7413
  }
7302
- return console.warn("未知错误,step中找不到属性"), step.props[name];
7414
+ return vutils.Logger.getInstance().warn("未知错误,step中找不到属性"), step.props[name];
7303
7415
  }
7304
7416
  }, {
7305
7417
  key: "updateTarget",
@@ -8405,6 +8517,7 @@
8405
8517
  if (!animate.validAttr(key)) return;
8406
8518
  var nextStepVal = nextProps[key],
8407
8519
  lastStepVal = null !== (_a = lastProps && lastProps[key]) && void 0 !== _a ? _a : subAnimate.getLastPropByName(key, step);
8520
+ if (null == nextStepVal || null == lastStepVal) return void (nextAttributes[key] = nextStepVal);
8408
8521
  var match;
8409
8522
  match = animate.interpolateFunc && animate.interpolateFunc(key, ratio, lastStepVal, nextStepVal, nextAttributes), match || (match = animate.customInterpolate(key, ratio, lastStepVal, nextStepVal, _this7, nextAttributes), match || _this7.defaultInterpolate(nextStepVal, lastStepVal, key, nextAttributes, nextParsedProps, ratio) || _this7._interpolate(key, ratio, lastStepVal, nextStepVal, nextAttributes));
8410
8523
  }), step.parsedProps = nextParsedProps;
@@ -9886,12 +9999,12 @@
9886
9999
  }
9887
10000
  }, {
9888
10001
  key: "GetLayout",
9889
- value: function GetLayout(str, width, height, textAlign, textBaseline, lineHeight, suffix, wordBreak, miniApp) {
10002
+ value: function GetLayout(str, width, height, textAlign, textBaseline, lineHeight, suffix, wordBreak, suffixPosition) {
9890
10003
  var linesLayout = [],
9891
10004
  bboxWH = [width, height],
9892
10005
  bboxOffset = [0, 0];
9893
10006
  for (; str.length > 0;) {
9894
- var _this$textMeasure$cli = this.textMeasure.clipTextWithSuffix(str, this.textOptions, width, suffix, wordBreak),
10007
+ var _this$textMeasure$cli = this.textMeasure.clipTextWithSuffix(str, this.textOptions, width, suffix, wordBreak, suffixPosition),
9895
10008
  clipText = _this$textMeasure$cli.str;
9896
10009
  linesLayout.push({
9897
10010
  str: clipText,
@@ -9913,6 +10026,7 @@
9913
10026
  var suffix = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "";
9914
10027
  var wordBreak = arguments.length > 5 ? arguments[5] : undefined;
9915
10028
  var lineWidth = arguments.length > 6 ? arguments[6] : undefined;
10029
+ var suffixPosition = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : "end";
9916
10030
  lines = lines.map(function (l) {
9917
10031
  return l.toString();
9918
10032
  });
@@ -9921,7 +10035,7 @@
9921
10035
  if ("number" == typeof lineWidth && lineWidth !== 1 / 0) {
9922
10036
  var width;
9923
10037
  for (var i = 0, len = lines.length; i < len; i++) width = Math.min(this.textMeasure.measureTextWidth(lines[i], this.textOptions), lineWidth), linesLayout.push({
9924
- str: this.textMeasure.clipTextWithSuffix(lines[i], this.textOptions, width, suffix, wordBreak).str,
10038
+ str: this.textMeasure.clipTextWithSuffix(lines[i], this.textOptions, width, suffix, wordBreak, suffixPosition).str,
9925
10039
  width: width
9926
10040
  });
9927
10041
  bboxWH[0] = lineWidth;
@@ -10199,12 +10313,12 @@
10199
10313
  stroke = _attribute$stroke === void 0 ? textTheme.stroke : _attribute$stroke,
10200
10314
  _attribute$lineWidth = attribute.lineWidth,
10201
10315
  lineWidth = _attribute$lineWidth === void 0 ? textTheme.lineWidth : _attribute$lineWidth,
10202
- _attribute$wordBreak = attribute.wordBreak;
10203
- _attribute$wordBreak === void 0 ? textTheme.wordBreak : _attribute$wordBreak;
10204
- var _attribute$ignoreBuf = attribute.ignoreBuf,
10316
+ _attribute$ignoreBuf = attribute.ignoreBuf,
10205
10317
  ignoreBuf = _attribute$ignoreBuf === void 0 ? textTheme.ignoreBuf : _attribute$ignoreBuf,
10206
10318
  _attribute$whiteSpace = attribute.whiteSpace,
10207
- whiteSpace = _attribute$whiteSpace === void 0 ? textTheme.whiteSpace : _attribute$whiteSpace;
10319
+ whiteSpace = _attribute$whiteSpace === void 0 ? textTheme.whiteSpace : _attribute$whiteSpace,
10320
+ _attribute$suffixPosi = attribute.suffixPosition,
10321
+ suffixPosition = _attribute$suffixPosi === void 0 ? textTheme.suffixPosition : _attribute$suffixPosi;
10208
10322
  if ("normal" === whiteSpace) return this.updateWrapAABBBounds(text);
10209
10323
  var buf = ignoreBuf ? 0 : Math.max(2, .075 * fontSize),
10210
10324
  textFontSize = attribute.fontSize || textTheme.fontSize,
@@ -10222,7 +10336,7 @@
10222
10336
  fontSize: fontSize,
10223
10337
  fontWeight: fontWeight,
10224
10338
  fontFamily: fontFamily
10225
- }, maxLineWidth, strEllipsis, !1);
10339
+ }, maxLineWidth, strEllipsis, !1, suffixPosition);
10226
10340
  str = data.str, width = data.width;
10227
10341
  } else {
10228
10342
  var _data = textMeasure.clipText(text.toString(), {
@@ -10282,6 +10396,8 @@
10282
10396
  lineWidth = _attribute$lineWidth2 === void 0 ? textTheme.lineWidth : _attribute$lineWidth2,
10283
10397
  _attribute$verticalMo = attribute.verticalMode,
10284
10398
  verticalMode = _attribute$verticalMo === void 0 ? textTheme.verticalMode : _attribute$verticalMo,
10399
+ _attribute$suffixPosi2 = attribute.suffixPosition,
10400
+ suffixPosition = _attribute$suffixPosi2 === void 0 ? textTheme.suffixPosition : _attribute$suffixPosi2,
10285
10401
  lineHeight = null !== (_a = calculateLineHeight(attribute.lineHeight, attribute.fontSize || textTheme.fontSize)) && void 0 !== _a ? _a : (attribute.fontSize || textTheme.fontSize) + buf;
10286
10402
  var _attribute$textAlign2 = attribute.textAlign,
10287
10403
  textAlign = _attribute$textAlign2 === void 0 ? textTheme.textAlign : _attribute$textAlign2,
@@ -10305,7 +10421,7 @@
10305
10421
  fontSize: fontSize,
10306
10422
  fontWeight: fontWeight,
10307
10423
  fontFamily: fontFamily
10308
- }, maxLineWidth, strEllipsis, !1);
10424
+ }, maxLineWidth, strEllipsis, !1, suffixPosition);
10309
10425
  verticalList = [data.verticalList], width = data.width;
10310
10426
  } else {
10311
10427
  var _data2 = textMeasure.clipTextVertical(verticalList[0], {
@@ -10354,6 +10470,8 @@
10354
10470
  lineWidth = _attribute$lineWidth3 === void 0 ? textTheme.lineWidth : _attribute$lineWidth3,
10355
10471
  _attribute$whiteSpace2 = attribute.whiteSpace,
10356
10472
  whiteSpace = _attribute$whiteSpace2 === void 0 ? textTheme.whiteSpace : _attribute$whiteSpace2,
10473
+ _attribute$suffixPosi3 = attribute.suffixPosition,
10474
+ suffixPosition = _attribute$suffixPosi3 === void 0 ? textTheme.suffixPosition : _attribute$suffixPosi3,
10357
10475
  lineHeight = null !== (_a = calculateLineHeight(attribute.lineHeight, attribute.fontSize || textTheme.fontSize)) && void 0 !== _a ? _a : attribute.fontSize || textTheme.fontSize;
10358
10476
  if ("normal" === whiteSpace) return this.updateWrapAABBBounds(text);
10359
10477
  if (!this.shouldUpdateShape() && (null === (_b = this.cache) || void 0 === _b ? void 0 : _b.layoutData)) {
@@ -10365,7 +10483,7 @@
10365
10483
  fontSize: fontSize,
10366
10484
  fontWeight: fontWeight,
10367
10485
  fontFamily: fontFamily
10368
- }, textMeasure).GetLayoutByLines(text, textAlign, textBaseline, lineHeight, !0 === ellipsis ? textTheme.ellipsis : ellipsis || void 0, !1, maxLineWidth),
10486
+ }, textMeasure).GetLayoutByLines(text, textAlign, textBaseline, lineHeight, !0 === ellipsis ? textTheme.ellipsis : ellipsis || void 0, !1, maxLineWidth, suffixPosition),
10369
10487
  bbox = layoutData.bbox;
10370
10488
  return this.cache.layoutData = layoutData, this.clearUpdateShapeTag(), this._AABBBounds.set(bbox.xOffset, bbox.yOffset, bbox.xOffset + bbox.width, bbox.yOffset + bbox.height), stroke && this._AABBBounds.expand(lineWidth / 2), this._AABBBounds;
10371
10489
  }
@@ -10396,6 +10514,8 @@
10396
10514
  lineWidth = _attribute$lineWidth4 === void 0 ? textTheme.lineWidth : _attribute$lineWidth4,
10397
10515
  _attribute$verticalMo2 = attribute.verticalMode,
10398
10516
  verticalMode = _attribute$verticalMo2 === void 0 ? textTheme.verticalMode : _attribute$verticalMo2,
10517
+ _attribute$suffixPosi4 = attribute.suffixPosition,
10518
+ suffixPosition = _attribute$suffixPosi4 === void 0 ? textTheme.suffixPosition : _attribute$suffixPosi4,
10399
10519
  lineHeight = null !== (_a = calculateLineHeight(attribute.lineHeight, attribute.fontSize || textTheme.fontSize)) && void 0 !== _a ? _a : (attribute.fontSize || textTheme.fontSize) + buf;
10400
10520
  var _attribute$textAlign4 = attribute.textAlign,
10401
10521
  textAlign = _attribute$textAlign4 === void 0 ? textTheme.textAlign : _attribute$textAlign4,
@@ -10428,7 +10548,7 @@
10428
10548
  fontSize: fontSize,
10429
10549
  fontWeight: fontWeight,
10430
10550
  fontFamily: fontFamily
10431
- }, maxLineWidth, strEllipsis, !1);
10551
+ }, maxLineWidth, strEllipsis, !1, suffixPosition);
10432
10552
  verticalLists[i] = data.verticalList, width = data.width;
10433
10553
  } else {
10434
10554
  var _data3 = textMeasure.clipTextVertical(verticalData, {
@@ -11564,6 +11684,7 @@
11564
11684
  }, {
11565
11685
  key: "_isValid",
11566
11686
  value: function _isValid() {
11687
+ if (this.pathProxy) return !0;
11567
11688
  var _this$attribute = this.attribute,
11568
11689
  points = _this$attribute.points,
11569
11690
  segments = _this$attribute.segments;
@@ -12699,6 +12820,7 @@
12699
12820
  }, {
12700
12821
  key: "_isValid",
12701
12822
  value: function _isValid() {
12823
+ if (this.pathProxy) return !0;
12702
12824
  var _this$attribute = this.attribute,
12703
12825
  points = _this$attribute.points,
12704
12826
  segments = _this$attribute.segments;
@@ -13933,8 +14055,12 @@
13933
14055
  boundStroke(tb1, scaledHalfLineWidth, miter, strokeBoundsBuffer), aabbBounds.union(tb1), tb1.setValue(tb2.x1, tb2.y1, tb2.x2, tb2.y2);
13934
14056
  }
13935
14057
  if (shadowBlur) {
13936
- var shadowBlurHalfWidth = shadowBlur / Math.abs(scaleX + scaleY);
13937
- boundStroke(tb1, shadowBlurHalfWidth, miter, strokeBoundsBuffer), aabbBounds.union(tb1);
14058
+ var _attribute$shadowOffs = attribute.shadowOffsetX,
14059
+ shadowOffsetX = _attribute$shadowOffs === void 0 ? theme.shadowOffsetX : _attribute$shadowOffs,
14060
+ _attribute$shadowOffs2 = attribute.shadowOffsetY,
14061
+ shadowOffsetY = _attribute$shadowOffs2 === void 0 ? theme.shadowOffsetY : _attribute$shadowOffs2,
14062
+ shadowBlurWidth = shadowBlur / Math.abs(scaleX + scaleY) * 2 + Math.max(shadowOffsetX, shadowOffsetY);
14063
+ boundStroke(tb1, shadowBlurWidth, miter, strokeBoundsBuffer + 1), aabbBounds.union(tb1);
13938
14064
  }
13939
14065
  this.combindShadowAABBBounds(aabbBounds, graphic), vutils.transformBoundsWithMatrix(aabbBounds, aabbBounds, graphic.transMatrix);
13940
14066
  }
@@ -16062,7 +16188,10 @@
16062
16188
  _createClass(DefaultBaseBackgroundRenderContribution, [{
16063
16189
  key: "drawShape",
16064
16190
  value: function drawShape(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb, options) {
16065
- var background = graphic.attribute.background;
16191
+ var _graphic$attribute = graphic.attribute,
16192
+ background = _graphic$attribute.background,
16193
+ _graphic$attribute$ba = _graphic$attribute.backgroundMode,
16194
+ backgroundMode = _graphic$attribute$ba === void 0 ? graphicAttribute.backgroundMode : _graphic$attribute$ba;
16066
16195
  if (background) if (graphic.backgroundImg && graphic.resources) {
16067
16196
  var res = graphic.resources.get(background);
16068
16197
  if ("success" !== res.state || !res.data) return;
@@ -16077,9 +16206,17 @@
16077
16206
  }
16078
16207
  context.clip();
16079
16208
  var b = graphic.AABBBounds;
16080
- context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute), context.drawImage(res.data, b.x1, b.y1, b.width(), b.height()), context.restore(), graphic.transMatrix.onlyTranslate() || context.setTransformForCurrent();
16209
+ context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute), this.doDrawImage(context, res.data, b, backgroundMode), context.restore(), graphic.transMatrix.onlyTranslate() || context.setTransformForCurrent();
16081
16210
  } else context.highPerformanceSave(), context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute), context.fillStyle = background, context.fill(), context.highPerformanceRestore();
16082
16211
  }
16212
+ }, {
16213
+ key: "doDrawImage",
16214
+ value: function doDrawImage(context, data, b, backgroundMode) {
16215
+ if ("no-repeat" === backgroundMode) context.drawImage(data, b.x1, b.y1, b.width(), b.height());else {
16216
+ var pattern = context.createPattern(data, backgroundMode);
16217
+ context.fillStyle = pattern, context.translate(b.x1, b.y1), context.fillRect(0, 0, b.width(), b.height()), context.translate(-b.x1, -b.y1);
16218
+ }
16219
+ }
16083
16220
  }]);
16084
16221
  return DefaultBaseBackgroundRenderContribution;
16085
16222
  }();
@@ -16200,15 +16337,15 @@
16200
16337
  key: "drawShape",
16201
16338
  value: function drawShape(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb, options) {
16202
16339
  this.textureMap || this.initTextureMap(context, graphic.stage);
16203
- var _graphic$attribute = graphic.attribute,
16204
- _graphic$attribute$te = _graphic$attribute.texture,
16205
- texture = _graphic$attribute$te === void 0 ? graphicAttribute.texture : _graphic$attribute$te,
16206
- _graphic$attribute$te2 = _graphic$attribute.textureColor,
16207
- textureColor = _graphic$attribute$te2 === void 0 ? graphicAttribute.textureColor : _graphic$attribute$te2,
16208
- _graphic$attribute$te3 = _graphic$attribute.textureSize,
16209
- textureSize = _graphic$attribute$te3 === void 0 ? graphicAttribute.textureSize : _graphic$attribute$te3,
16210
- _graphic$attribute$te4 = _graphic$attribute.texturePadding,
16211
- texturePadding = _graphic$attribute$te4 === void 0 ? graphicAttribute.texturePadding : _graphic$attribute$te4;
16340
+ var _graphic$attribute2 = graphic.attribute,
16341
+ _graphic$attribute2$t = _graphic$attribute2.texture,
16342
+ texture = _graphic$attribute2$t === void 0 ? graphicAttribute.texture : _graphic$attribute2$t,
16343
+ _graphic$attribute2$t2 = _graphic$attribute2.textureColor,
16344
+ textureColor = _graphic$attribute2$t2 === void 0 ? graphicAttribute.textureColor : _graphic$attribute2$t2,
16345
+ _graphic$attribute2$t3 = _graphic$attribute2.textureSize,
16346
+ textureSize = _graphic$attribute2$t3 === void 0 ? graphicAttribute.textureSize : _graphic$attribute2$t3,
16347
+ _graphic$attribute2$t4 = _graphic$attribute2.texturePadding,
16348
+ texturePadding = _graphic$attribute2$t4 === void 0 ? graphicAttribute.texturePadding : _graphic$attribute2$t4;
16212
16349
  if (!texture) return;
16213
16350
  var pattern = this.textureMap.get(texture);
16214
16351
  if (!pattern) switch (texture) {
@@ -16458,13 +16595,16 @@
16458
16595
  _createClass(DefaultGroupBackgroundRenderContribution, [{
16459
16596
  key: "drawShape",
16460
16597
  value: function drawShape(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb) {
16461
- var background = graphic.attribute.background;
16598
+ var _graphic$attribute = graphic.attribute,
16599
+ background = _graphic$attribute.background,
16600
+ _graphic$attribute$ba = _graphic$attribute.backgroundMode,
16601
+ backgroundMode = _graphic$attribute$ba === void 0 ? graphicAttribute.backgroundMode : _graphic$attribute$ba;
16462
16602
  if (background) if (graphic.backgroundImg && graphic.resources) {
16463
16603
  var res = graphic.resources.get(background);
16464
16604
  if ("success" !== res.state || !res.data) return;
16465
16605
  context.highPerformanceSave(), context.setTransformFromMatrix(graphic.parent.globalTransMatrix, !0);
16466
16606
  var b = graphic.AABBBounds;
16467
- context.drawImage(res.data, b.x1, b.y1, b.width(), b.height()), context.highPerformanceRestore(), context.setTransformForCurrent();
16607
+ this.doDrawImage(context, res.data, b, backgroundMode), context.highPerformanceRestore(), context.setTransformForCurrent();
16468
16608
  } else context.highPerformanceSave(), context.fillStyle = background, context.fill(), context.highPerformanceRestore();
16469
16609
  }
16470
16610
  }]);
@@ -16492,9 +16632,9 @@
16492
16632
  key: "drawShape",
16493
16633
  value: function drawShape(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb) {
16494
16634
  var _graphic$attribute = graphic.attribute,
16495
- background = _graphic$attribute.background;
16496
- _graphic$attribute.width;
16497
- _graphic$attribute.height;
16635
+ background = _graphic$attribute.background,
16636
+ _graphic$attribute$ba = _graphic$attribute.backgroundMode,
16637
+ backgroundMode = _graphic$attribute$ba === void 0 ? graphicAttribute.backgroundMode : _graphic$attribute$ba;
16498
16638
  if (background) if (graphic.backgroundImg) {
16499
16639
  var res = graphic.resources.get(background);
16500
16640
  if ("success" !== res.state || !res.data) return;
@@ -16508,7 +16648,7 @@
16508
16648
  context.setTransformFromMatrix(graphic.parent.globalTransMatrix, !0), context.translate(scrollX, scrollY);
16509
16649
  }
16510
16650
  var b = graphic.AABBBounds;
16511
- context.drawImage(res.data, b.x1, b.y1, b.width(), b.height()), context.restore(), graphic.transMatrix.onlyTranslate() || context.setTransformForCurrent();
16651
+ this.doDrawImage(context, res.data, b, backgroundMode), context.restore(), graphic.transMatrix.onlyTranslate() || context.setTransformForCurrent();
16512
16652
  } else if (vutils.isObject(background)) {
16513
16653
  var stroke = background.stroke,
16514
16654
  fill = background.fill,
@@ -16525,9 +16665,9 @@
16525
16665
  var _getActualPosition = getActualPosition(graphic),
16526
16666
  _x = _getActualPosition.x,
16527
16667
  _y = _getActualPosition.y,
16528
- _width = _getActualPosition.width,
16529
- _height = _getActualPosition.height;
16530
- cornerRadius ? createRectPath(context, _x - expandX, _y - expandY, _width + 2 * expandX, _height + 2 * expandY, cornerRadius) : context.rect(_x - expandX, _y - expandY, _width + 2 * expandX, _height + 2 * expandY), context.globalAlpha = 1, fill && (context.fillStyle = fill, context.fill()), stroke && lineWidth > 0 && (context.lineWidth = lineWidth, context.strokeStyle = stroke, context.stroke());
16668
+ width = _getActualPosition.width,
16669
+ height = _getActualPosition.height;
16670
+ cornerRadius ? createRectPath(context, _x - expandX, _y - expandY, width + 2 * expandX, height + 2 * expandY, cornerRadius) : context.rect(_x - expandX, _y - expandY, width + 2 * expandX, height + 2 * expandY), context.globalAlpha = 1, fill && (context.fillStyle = fill, context.fill()), stroke && lineWidth > 0 && (context.lineWidth = lineWidth, context.strokeStyle = stroke, context.stroke());
16531
16671
  } else {
16532
16672
  context.beginPath();
16533
16673
  var _b = graphic.AABBBounds;
@@ -17855,7 +17995,8 @@
17855
17995
  var b = vutils.getRectIntersect(dirtyBounds, stage.dirtyBounds, !1);
17856
17996
  dirtyBounds.x1 = Math.floor(b.x1), dirtyBounds.y1 = Math.floor(b.y1), dirtyBounds.x2 = Math.ceil(b.x2), dirtyBounds.y2 = Math.ceil(b.y2);
17857
17997
  }
17858
- this.backupDirtyBounds.copy(dirtyBounds), context.inuse = !0, context.clearMatrix(), context.setTransformForCurrent(!0);
17998
+ var d = context.dpr % 1;
17999
+ (d || .5 !== d) && (dirtyBounds.x1 = Math.floor(dirtyBounds.x1 * context.dpr) / context.dpr, dirtyBounds.y1 = Math.floor(dirtyBounds.y1 * context.dpr) / context.dpr, dirtyBounds.x2 = Math.ceil(dirtyBounds.x2 * context.dpr) / context.dpr, dirtyBounds.y2 = Math.ceil(dirtyBounds.y2 * context.dpr) / context.dpr), this.backupDirtyBounds.copy(dirtyBounds), context.inuse = !0, context.clearMatrix(), context.setTransformForCurrent(!0);
17859
18000
  var drawInArea = dirtyBounds.width() * context.dpr !== context.canvas.width || dirtyBounds.height() * context.dpr !== context.canvas.height;
17860
18001
  context.save(), context.translate(x, y, !0), drawInArea && (context.beginPath(), context.rect(dirtyBounds.x1, dirtyBounds.y1, dirtyBounds.width(), dirtyBounds.height()), context.clip()), stage.camera && (this.dirtyBounds.setValue(-1 / 0, -1 / 0, 1 / 0, 1 / 0), this.backupDirtyBounds.setValue(-1 / 0, -1 / 0, 1 / 0, 1 / 0)), this.clearScreen(renderService, context, drawContext), context.save(), renderService.renderTreeRoots.sort(function (a, b) {
17861
18002
  var _a, _b;
@@ -17980,7 +18121,7 @@
17980
18121
  }, {
17981
18122
  key: "selectRenderByType",
17982
18123
  value: function selectRenderByType(type) {
17983
- return console.warn("未知错误,不应该走到这里"), null;
18124
+ return vutils.Logger.getInstance().warn("未知错误,不应该走到这里"), null;
17984
18125
  }
17985
18126
  }, {
17986
18127
  key: "selectRenderByNumberType",
@@ -28288,7 +28429,7 @@
28288
28429
  const { maxWidth, maxHeight, maxCol = 1, maxRow = 2, item = {}, pager = {}, disableTriggerEvent } = this.attribute;
28289
28430
  const { spaceCol = DEFAULT_ITEM_SPACE_COL, spaceRow = DEFAULT_ITEM_SPACE_ROW } = item;
28290
28431
  const itemsContainer = this._itemsContainer;
28291
- const { animation = true, animationDuration = 450, animationEasing = 'quadIn', space: pagerSpace = DEFAULT_PAGER_SPACE } = pager, pageStyle = __rest(pager, ["animation", "animationDuration", "animationEasing", "space"]);
28432
+ const { animation = true, animationDuration = 450, animationEasing = 'quadIn', space: pagerSpace = DEFAULT_PAGER_SPACE, position = 'middle' } = pager, pageStyle = __rest(pager, ["animation", "animationDuration", "animationEasing", "space", "position"]);
28292
28433
  let pagerComp;
28293
28434
  let pageHeight = 0;
28294
28435
  let pageWidth = 0;
@@ -28325,10 +28466,20 @@
28325
28466
  }
28326
28467
  startX += spaceCol + width;
28327
28468
  });
28469
+ pagerComp.setAttribute('total', Math.ceil(pages / maxRow));
28470
+ let y;
28471
+ if (position === 'start') {
28472
+ y = renderStartY;
28473
+ }
28474
+ else if (position === 'end') {
28475
+ y = renderStartY + pageHeight - pagerComp.AABBBounds.height() / 2;
28476
+ }
28477
+ else {
28478
+ y = renderStartY + pageHeight / 2 - pagerComp.AABBBounds.height() / 2;
28479
+ }
28328
28480
  pagerComp.setAttributes({
28329
- total: Math.ceil(pages / maxRow),
28330
28481
  x: pageWidth,
28331
- y: renderStartY + pageHeight / 2 - pagerComp.AABBBounds.height() / 2
28482
+ y
28332
28483
  });
28333
28484
  }
28334
28485
  else {
@@ -28356,9 +28507,19 @@
28356
28507
  }
28357
28508
  startY += spaceRow + height;
28358
28509
  });
28510
+ pagerComp.setAttribute('total', Math.ceil(pages / maxCol));
28511
+ let x;
28512
+ if (position === 'start') {
28513
+ x = 0;
28514
+ }
28515
+ else if (position === 'end') {
28516
+ x = pageWidth - pagerComp.AABBBounds.width();
28517
+ }
28518
+ else {
28519
+ x = (pageWidth - pagerComp.AABBBounds.width()) / 2;
28520
+ }
28359
28521
  pagerComp.setAttributes({
28360
- total: Math.ceil(pages / maxCol),
28361
- x: (pageWidth - pagerComp.AABBBounds.width()) / 2,
28522
+ x,
28362
28523
  y: maxHeight - pagerComp.AABBBounds.height()
28363
28524
  });
28364
28525
  }
@@ -29054,7 +29215,11 @@
29054
29215
  const railLen = isHorizontal ? railWidth : railHeight;
29055
29216
  const handlerStart = max === min ? (position === 'start' ? 0 : railLen) : ((value - min) / (max - min)) * railLen;
29056
29217
  const textSpace = (_a = handlerText.space) !== null && _a !== void 0 ? _a : 4;
29057
- const textStyle = Object.assign({ text: (handlerText === null || handlerText === void 0 ? void 0 : handlerText.formatter) ? handlerText.formatter(value) : value.toFixed((_b = handlerText === null || handlerText === void 0 ? void 0 : handlerText.precision) !== null && _b !== void 0 ? _b : 0), lineHeight: (_c = handlerText.style) === null || _c === void 0 ? void 0 : _c.lineHeight, cursor: slidable === false ? 'default' : getDefaultCursor(isHorizontal) }, handlerText.style);
29218
+ const textStyle = {
29219
+ text: (handlerText === null || handlerText === void 0 ? void 0 : handlerText.formatter) ? handlerText.formatter(value) : value.toFixed((_b = handlerText === null || handlerText === void 0 ? void 0 : handlerText.precision) !== null && _b !== void 0 ? _b : 0),
29220
+ lineHeight: (_c = handlerText.style) === null || _c === void 0 ? void 0 : _c.lineHeight,
29221
+ cursor: slidable === false ? 'default' : getDefaultCursor(isHorizontal)
29222
+ };
29058
29223
  if (isHorizontal) {
29059
29224
  if (align === 'top') {
29060
29225
  textStyle.textBaseline = 'bottom';
@@ -29083,7 +29248,7 @@
29083
29248
  textStyle.y = handlerStart;
29084
29249
  }
29085
29250
  }
29086
- const textShape = createText(textStyle);
29251
+ const textShape = createText(Object.assign(Object.assign({}, textStyle), handlerText.style));
29087
29252
  return textShape;
29088
29253
  }
29089
29254
  _bindEvents() {
@@ -29478,6 +29643,7 @@
29478
29643
  Z
29479
29644
  `;
29480
29645
  }
29646
+
29481
29647
  class SizeContinuousLegend extends LegendBase {
29482
29648
  constructor(attributes) {
29483
29649
  super(vutils.merge({}, SizeContinuousLegend.defaultAttributes, attributes));
@@ -31686,7 +31852,7 @@
31686
31852
  }
31687
31853
  };
31688
31854
 
31689
- const version = "0.16.17";
31855
+ const version = "0.16.18";
31690
31856
 
31691
31857
  exports.AbstractComponent = AbstractComponent;
31692
31858
  exports.ArcInfo = ArcInfo;