@visactor/vchart 1.9.2 → 1.10.0-alpha.0

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 (129) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +80 -51
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/component/axis/interface/spec.d.ts +5 -6
  6. package/cjs/component/axis/interface/spec.js.map +1 -1
  7. package/cjs/component/indicator/indicator.js.map +1 -1
  8. package/cjs/component/indicator/interface.d.ts +5 -5
  9. package/cjs/component/indicator/interface.js.map +1 -1
  10. package/cjs/component/label/base-label.d.ts +4 -4
  11. package/cjs/component/label/interface.d.ts +6 -8
  12. package/cjs/component/label/interface.js.map +1 -1
  13. package/cjs/component/label/util.d.ts +1 -1
  14. package/cjs/component/label/util.js +1 -8
  15. package/cjs/component/label/util.js.map +1 -1
  16. package/cjs/component/legend/discrete/interface.d.ts +2 -2
  17. package/cjs/component/legend/discrete/interface.js.map +1 -1
  18. package/cjs/component/marker/interface.d.ts +6 -6
  19. package/cjs/component/marker/interface.js.map +1 -1
  20. package/cjs/component/marker/mark-area/interface/theme.d.ts +1 -1
  21. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  22. package/cjs/component/marker/mark-area/mark-area.js +15 -10
  23. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  24. package/cjs/component/marker/mark-line/interface/theme.d.ts +1 -1
  25. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  26. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  27. package/cjs/component/marker/mark-point/interface/theme.d.ts +1 -1
  28. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  29. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  30. package/cjs/component/title/interface/spec.d.ts +18 -7
  31. package/cjs/component/title/interface/spec.js.map +1 -1
  32. package/cjs/core/index.d.ts +1 -1
  33. package/cjs/core/index.js +1 -1
  34. package/cjs/core/index.js.map +1 -1
  35. package/cjs/mark/label.d.ts +2 -2
  36. package/cjs/mark/label.js.map +1 -1
  37. package/cjs/mark/text.d.ts +16 -7
  38. package/cjs/mark/text.js +12 -6
  39. package/cjs/mark/text.js.map +1 -1
  40. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  41. package/cjs/series/dot/interface.d.ts +2 -2
  42. package/cjs/series/dot/interface.js.map +1 -1
  43. package/cjs/series/funnel/funnel.js.map +1 -1
  44. package/cjs/series/funnel/interface.d.ts +6 -4
  45. package/cjs/series/funnel/interface.js.map +1 -1
  46. package/cjs/series/line/interface.d.ts +1 -1
  47. package/cjs/series/line/interface.js.map +1 -1
  48. package/cjs/series/map/interface.d.ts +2 -5
  49. package/cjs/series/map/interface.js.map +1 -1
  50. package/cjs/series/pie/interface.d.ts +3 -2
  51. package/cjs/series/pie/interface.js.map +1 -1
  52. package/cjs/series/range-column/interface.d.ts +5 -5
  53. package/cjs/series/range-column/interface.js.map +1 -1
  54. package/cjs/series/sankey/sankey.js.map +1 -1
  55. package/cjs/series/sunburst/sunburst.js.map +1 -1
  56. package/cjs/series/treemap/interface.d.ts +3 -2
  57. package/cjs/series/treemap/interface.js.map +1 -1
  58. package/cjs/series/treemap/treemap.js +10 -0
  59. package/cjs/series/treemap/treemap.js.map +1 -1
  60. package/cjs/series/word-cloud/interface.d.ts +2 -6
  61. package/cjs/series/word-cloud/interface.js.map +1 -1
  62. package/cjs/typings/spec/common.d.ts +16 -7
  63. package/cjs/typings/spec/common.js.map +1 -1
  64. package/cjs/typings/tooltip/line.js.map +1 -1
  65. package/cjs/typings/visual.d.ts +10 -5
  66. package/cjs/typings/visual.js.map +1 -1
  67. package/esm/component/axis/interface/spec.d.ts +5 -6
  68. package/esm/component/axis/interface/spec.js.map +1 -1
  69. package/esm/component/indicator/indicator.js.map +1 -1
  70. package/esm/component/indicator/interface.d.ts +5 -5
  71. package/esm/component/indicator/interface.js.map +1 -1
  72. package/esm/component/label/base-label.d.ts +4 -4
  73. package/esm/component/label/interface.d.ts +6 -8
  74. package/esm/component/label/interface.js.map +1 -1
  75. package/esm/component/label/util.d.ts +1 -1
  76. package/esm/component/label/util.js +1 -8
  77. package/esm/component/label/util.js.map +1 -1
  78. package/esm/component/legend/discrete/interface.d.ts +2 -2
  79. package/esm/component/legend/discrete/interface.js.map +1 -1
  80. package/esm/component/marker/interface.d.ts +6 -6
  81. package/esm/component/marker/interface.js.map +1 -1
  82. package/esm/component/marker/mark-area/interface/theme.d.ts +1 -1
  83. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  84. package/esm/component/marker/mark-area/mark-area.js +15 -9
  85. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  86. package/esm/component/marker/mark-line/interface/theme.d.ts +1 -1
  87. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  88. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  89. package/esm/component/marker/mark-point/interface/theme.d.ts +1 -1
  90. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  91. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  92. package/esm/component/title/interface/spec.d.ts +18 -7
  93. package/esm/component/title/interface/spec.js.map +1 -1
  94. package/esm/core/index.d.ts +1 -1
  95. package/esm/core/index.js +1 -1
  96. package/esm/core/index.js.map +1 -1
  97. package/esm/mark/label.d.ts +2 -2
  98. package/esm/mark/label.js.map +1 -1
  99. package/esm/mark/text.d.ts +16 -7
  100. package/esm/mark/text.js +13 -7
  101. package/esm/mark/text.js.map +1 -1
  102. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  103. package/esm/series/dot/interface.d.ts +2 -2
  104. package/esm/series/dot/interface.js.map +1 -1
  105. package/esm/series/funnel/funnel.js.map +1 -1
  106. package/esm/series/funnel/interface.d.ts +6 -4
  107. package/esm/series/funnel/interface.js.map +1 -1
  108. package/esm/series/line/interface.d.ts +1 -1
  109. package/esm/series/line/interface.js.map +1 -1
  110. package/esm/series/map/interface.d.ts +2 -5
  111. package/esm/series/map/interface.js.map +1 -1
  112. package/esm/series/pie/interface.d.ts +3 -2
  113. package/esm/series/pie/interface.js.map +1 -1
  114. package/esm/series/range-column/interface.d.ts +5 -5
  115. package/esm/series/range-column/interface.js.map +1 -1
  116. package/esm/series/sankey/sankey.js.map +1 -1
  117. package/esm/series/sunburst/sunburst.js.map +1 -1
  118. package/esm/series/treemap/interface.d.ts +3 -2
  119. package/esm/series/treemap/interface.js.map +1 -1
  120. package/esm/series/treemap/treemap.js +8 -0
  121. package/esm/series/treemap/treemap.js.map +1 -1
  122. package/esm/series/word-cloud/interface.d.ts +2 -6
  123. package/esm/series/word-cloud/interface.js.map +1 -1
  124. package/esm/typings/spec/common.d.ts +16 -7
  125. package/esm/typings/spec/common.js.map +1 -1
  126. package/esm/typings/tooltip/line.js.map +1 -1
  127. package/esm/typings/visual.d.ts +10 -5
  128. package/esm/typings/visual.js.map +1 -1
  129. package/package.json +14 -14
package/build/index.js CHANGED
@@ -8336,9 +8336,6 @@
8336
8336
  clear() {
8337
8337
  this.transformCbList = null, this.commandList.length = 0, this.curves.length = 0;
8338
8338
  }
8339
- beginPath() {
8340
- this.clear();
8341
- }
8342
8339
  toString() {
8343
8340
  if (!this.toStringCbList) {
8344
8341
  const list = [];
@@ -8348,7 +8345,7 @@
8348
8345
  let path = "";
8349
8346
  for (let i = 0; i < bezierPathList.length; i += 6) path += `C${bezierPathList[i]} ${bezierPathList[i + 1]} ${bezierPathList[i + 2]} ${bezierPathList[i + 3]} ${bezierPathList[i + 4]} ${bezierPathList[i + 5]}`;
8350
8347
  return path;
8351
- }, list[enumCommandMap.R] = cmd => `M${cmd[1]} ${cmd[2]} h${cmd[3]} v${cmd[4]} H${cmd[1]}Z`, list[enumCommandMap.Z] = cmd => "Z", this.toStringCbList = list;
8348
+ }, list[enumCommandMap.Z] = cmd => "Z", this.toStringCbList = list;
8352
8349
  }
8353
8350
  const list = this.toStringCbList;
8354
8351
  let path = "";
@@ -8687,7 +8684,6 @@
8687
8684
  zIndex: 0,
8688
8685
  layout: null,
8689
8686
  boundsPadding: 0,
8690
- renderStyle: "default",
8691
8687
  pickMode: "accurate",
8692
8688
  customPickShape: null,
8693
8689
  boundsMode: "accurate",
@@ -8785,7 +8781,7 @@
8785
8781
  strokeBoundsBuffer: 0,
8786
8782
  keepDirIn3d: !0
8787
8783
  });
8788
- const DefaultRichTextAttribute = Object.assign(Object.assign({}, DefaultAttribute), {
8784
+ const DefaultRichTextAttribute = Object.assign(Object.assign(Object.assign({}, DefaultAttribute), DefaultTextStyle), {
8789
8785
  width: 300,
8790
8786
  height: 300,
8791
8787
  ellipsis: !0,
@@ -17037,6 +17033,24 @@
17037
17033
  getFrameCache() {
17038
17034
  return this.shouldUpdateShape() && (this.doUpdateFrameCache(), this.clearUpdateShapeTag()), this._frameCache;
17039
17035
  }
17036
+ combinedStyleToCharacter(config) {
17037
+ const {
17038
+ fill: fill,
17039
+ stroke: stroke,
17040
+ fontSize: fontSize,
17041
+ fontFamily: fontFamily,
17042
+ fontStyle: fontStyle,
17043
+ fontWeight: fontWeight
17044
+ } = this.attribute;
17045
+ return Object.assign({
17046
+ fill: fill,
17047
+ stroke: stroke,
17048
+ fontSize: fontSize,
17049
+ fontFamily: fontFamily,
17050
+ fontStyle: fontStyle,
17051
+ fontWeight: fontWeight
17052
+ }, config);
17053
+ }
17040
17054
  doUpdateFrameCache() {
17041
17055
  var _a;
17042
17056
  const {
@@ -17055,7 +17069,7 @@
17055
17069
  } = this.attribute,
17056
17070
  paragraphs = [];
17057
17071
  for (let i = 0; i < textConfig.length; i++) if ("image" in textConfig[i]) {
17058
- const config = textConfig[i],
17072
+ const config = this.combinedStyleToCharacter(textConfig[i]),
17059
17073
  iconCache = config.id && this._frameCache && this._frameCache.icons && this._frameCache.icons.get(config.id);
17060
17074
  if (iconCache) paragraphs.push(iconCache);else {
17061
17075
  const icon = new RichTextIcon(config);
@@ -17065,7 +17079,7 @@
17065
17079
  }, icon.richtextId = config.id, paragraphs.push(icon);
17066
17080
  }
17067
17081
  } else {
17068
- const richTextConfig = textConfig[i];
17082
+ const richTextConfig = this.combinedStyleToCharacter(textConfig[i]);
17069
17083
  if (isNumber$1(richTextConfig.text) && (richTextConfig.text = `${richTextConfig.text}`), richTextConfig.text && richTextConfig.text.includes("\n")) {
17070
17084
  const textParts = richTextConfig.text.split("\n");
17071
17085
  for (let j = 0; j < textParts.length; j++) paragraphs.push(new Paragraph(textParts[j], 0 !== j, richTextConfig));
@@ -21880,7 +21894,7 @@
21880
21894
  }
21881
21895
  getRenderContribution(graphic) {
21882
21896
  let renderer;
21883
- return renderer || (renderer = this.selectRenderByNumberType(graphic.numberType, graphic)), renderer || (renderer = this.selectRenderByType(graphic.type)), renderer;
21897
+ return renderer || (renderer = this.selectRenderByNumberType(graphic.numberType)), renderer || (renderer = this.selectRenderByType(graphic.type)), renderer;
21884
21898
  }
21885
21899
  renderItem(graphic, drawContext, params) {
21886
21900
  if (this.InterceptorContributions.length) for (let i = 0; i < this.InterceptorContributions.length; i++) {
@@ -21912,13 +21926,8 @@
21912
21926
  selectRenderByType(type) {
21913
21927
  return Logger.getInstance().warn("未知错误,不应该走到这里"), null;
21914
21928
  }
21915
- selectRenderByNumberType(type, graphic) {
21916
- let data;
21917
- if (graphic.attribute.renderStyle) {
21918
- const currentRenderMap = this.styleRenderMap.get(graphic.attribute.renderStyle);
21919
- data = currentRenderMap && currentRenderMap.get(type);
21920
- }
21921
- return data || this.currentRenderMap.get(type) || this.defaultRenderMap.get(type);
21929
+ selectRenderByNumberType(type) {
21930
+ return this.currentRenderMap.get(type) || this.defaultRenderMap.get(type);
21922
21931
  }
21923
21932
  clearScreen(renderService, context, drawContext) {
21924
21933
  var _a, _b;
@@ -58794,7 +58803,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
58794
58803
  registerChartPlugin(MediaQuery);
58795
58804
  };
58796
58805
 
58797
- const version = "1.9.2";
58806
+ const version = "1.10.0-alpha.0";
58798
58807
 
58799
58808
  const addVChartProperty = (data, op) => {
58800
58809
  const context = op.beforeCall();
@@ -67353,24 +67362,29 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
67353
67362
  };
67354
67363
 
67355
67364
  class TextMark extends BaseMark {
67356
- constructor() {
67357
- super(...arguments);
67365
+ getTextType() {
67366
+ return this._textType;
67367
+ }
67368
+ constructor(name, option) {
67369
+ super(name, option);
67358
67370
  this.type = TextMark.type;
67371
+ this._textType = 'text';
67359
67372
  }
67360
67373
  _getDefaultStyle() {
67361
67374
  const defaultStyle = Object.assign(Object.assign({}, super._getDefaultStyle()), { angle: 0, textAlign: 'center', lineWidth: 0, textConfig: [] });
67362
67375
  return defaultStyle;
67363
67376
  }
67364
- _initProduct(group) {
67365
- const view = this.getVGrammarView();
67366
- const id = this.getProductId();
67367
- if (this.getStyle('textType') === 'rich') {
67368
- this._product = view.mark(GrammarMarkType.richtext, group !== null && group !== void 0 ? group : view.rootMark).id(id);
67377
+ initStyleWithSpec(spec, key) {
67378
+ super.initStyleWithSpec(spec, key);
67379
+ if (spec.textType) {
67380
+ this._textType = spec.textType;
67369
67381
  }
67370
- else {
67371
- this._product = view.mark(GrammarMarkType.text, group !== null && group !== void 0 ? group : view.rootMark).id(id);
67382
+ }
67383
+ compileEncode() {
67384
+ super.compileEncode();
67385
+ if (this._textType === 'rich') {
67386
+ this._product.encodeState('group', { textType: this._textType });
67372
67387
  }
67373
- this._compiledProductId = id;
67374
67388
  }
67375
67389
  }
67376
67390
  TextMark.type = "text";
@@ -75348,7 +75362,7 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
75348
75362
  textAlign: d => { var _a; return (_a = d.label) === null || _a === void 0 ? void 0 : _a.textAlign; },
75349
75363
  angle: d => { var _a, _b; return (_b = (_a = d.label) === null || _a === void 0 ? void 0 : _a.angle) !== null && _b !== void 0 ? _b : 0; },
75350
75364
  fontSize: 10,
75351
- text: d => d.name
75365
+ text: (d) => d.name
75352
75366
  }, STATE_VALUE_ENUM.STATE_NORMAL, exports.AttributeLevel.Series);
75353
75367
  }
75354
75368
  initTooltip() {
@@ -77912,6 +77926,13 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
77912
77926
  return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;
77913
77927
  }
77914
77928
  }, STATE_VALUE_ENUM.STATE_NORMAL, exports.AttributeLevel.Series);
77929
+ if (labelMark.getTextType() === 'rich') {
77930
+ this.setMarkStyle(labelMark, {
77931
+ maxWidth: datum => Math.abs(datum.x0 - datum.x1),
77932
+ maxHeight: datum => Math.abs(datum.y0 - datum.y1),
77933
+ ellipsis: true
77934
+ }, STATE_VALUE_ENUM.STATE_NORMAL, exports.AttributeLevel.Series);
77935
+ }
77915
77936
  }
77916
77937
  initNonLeafLabelMarkStyle(labelMark) {
77917
77938
  if (!labelMark) {
@@ -77940,6 +77961,13 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
77940
77961
  return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;
77941
77962
  }
77942
77963
  }, STATE_VALUE_ENUM.STATE_NORMAL, exports.AttributeLevel.Series);
77964
+ if (labelMark.getTextType() === 'rich') {
77965
+ this.setMarkStyle(labelMark, {
77966
+ maxWidth: datum => Math.abs(datum.x0 - datum.x1),
77967
+ maxHeight: datum => Math.abs(datum.y0 - datum.y1),
77968
+ ellipsis: true
77969
+ }, STATE_VALUE_ENUM.STATE_NORMAL, exports.AttributeLevel.Series);
77970
+ }
77943
77971
  }
77944
77972
  initAnimation() {
77945
77973
  this.getMarksInType("rect").forEach(mark => {
@@ -88872,22 +88900,28 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
88872
88900
  let lines = [];
88873
88901
  if (isXYLayout) {
88874
88902
  lines = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange);
88875
- points = [
88876
- {
88877
- x: lines[0][0].x,
88878
- y: lines[1][0].y
88879
- },
88880
- lines[0][0],
88881
- {
88882
- x: lines[1][0].x,
88883
- y: lines[0][0].y
88884
- },
88885
- lines[1][0]
88886
- ];
88903
+ const [start, end] = lines;
88904
+ if (start && start.length && end && end.length) {
88905
+ points = [
88906
+ {
88907
+ x: start[0].x,
88908
+ y: end[0].y
88909
+ },
88910
+ start[0],
88911
+ {
88912
+ x: end[0].x,
88913
+ y: start[0].y
88914
+ },
88915
+ end[0]
88916
+ ];
88917
+ }
88887
88918
  }
88888
88919
  else if (isXLayout || isYLayout) {
88889
88920
  lines = xyLayout(data, startRelativeSeries, endRelativeSeries, relativeSeries, autoRange);
88890
- points = [...lines[0], lines[1][1], lines[1][0]];
88921
+ const [start, end] = lines;
88922
+ if (start && start.length && end && end.length) {
88923
+ points = [...start, end[1], end[0]];
88924
+ }
88891
88925
  }
88892
88926
  else if (isCoordinateLayout) {
88893
88927
  points = coordinateLayout(data, relativeSeries, autoRange, spec.coordinatesOffset);
@@ -88919,7 +88953,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
88919
88953
  this._markerComponent.setAttributes({
88920
88954
  points: points,
88921
88955
  label: Object.assign(Object.assign({}, (_c = this._markerComponent.attribute) === null || _c === void 0 ? void 0 : _c.label), { text: this._spec.label.formatMethod
88922
- ? this._spec.label.formatMethod(dataPoints, seriesData)
88956
+ ?
88957
+ this._spec.label.formatMethod(dataPoints, seriesData)
88923
88958
  : (_e = (_d = this._markerComponent.attribute) === null || _d === void 0 ? void 0 : _d.label) === null || _e === void 0 ? void 0 : _e.text }),
88924
88959
  limitRect,
88925
88960
  dx: this._layoutOffsetX,
@@ -89539,15 +89574,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
89539
89574
  };
89540
89575
  }
89541
89576
  function treemapLabel(labelInfo) {
89542
- const labelSpec = labelInfo.labelSpec;
89543
89577
  return {
89544
- customLayoutFunc: (labels) => {
89545
- return labels.map(label => {
89546
- const datum = label.data;
89547
- const attribute = textAttribute(labelInfo, datum, labelSpec.formatMethod);
89548
- return createText(Object.assign(Object.assign({}, attribute), { id: label.id, pickable: false }));
89549
- });
89550
- },
89578
+ customLayoutFunc: (labels, text) => text,
89551
89579
  overlap: false
89552
89580
  };
89553
89581
  }
@@ -90158,7 +90186,8 @@ C0.3-1.4,0.3-1.4,0.3-1.4z;`;
90158
90186
  this._markerComponent.setAttributes({
90159
90187
  position: point,
90160
90188
  itemContent: Object.assign(Object.assign({}, attribute.itemContent), { textStyle: Object.assign(Object.assign({}, textStyle), { text: ((_f = this._spec.itemContent.text) === null || _f === void 0 ? void 0 : _f.formatMethod)
90161
- ? this._spec.itemContent.text.formatMethod(dataPoints, seriesData)
90189
+ ?
90190
+ this._spec.itemContent.text.formatMethod(dataPoints, seriesData)
90162
90191
  : textStyle.text }) }),
90163
90192
  limitRect,
90164
90193
  dx: this._layoutOffsetX,