@visactor/vchart-extension 2.1.3-alpha.5 → 2.1.4-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 (141) hide show
  1. package/build/index.js +43 -32
  2. package/build/index.min.js +1 -1
  3. package/cjs/charts/axis-3d/band-axis.js +1 -2
  4. package/cjs/charts/axis-3d/index.js +2 -1
  5. package/cjs/charts/candlestick/candlestick-transformer.js +1 -1
  6. package/cjs/charts/candlestick/candlestick.js +1 -1
  7. package/cjs/charts/candlestick/index.js +1 -1
  8. package/cjs/charts/candlestick/interface.js +1 -1
  9. package/cjs/charts/candlestick/util.js +1 -1
  10. package/cjs/charts/conversion-funnel/arrow-data-transform.js +1 -1
  11. package/cjs/charts/conversion-funnel/constants.js +1 -1
  12. package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js +16 -14
  13. package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js.map +1 -1
  14. package/cjs/charts/conversion-funnel/conversion-funnel.js +1 -1
  15. package/cjs/charts/conversion-funnel/index.js +1 -1
  16. package/cjs/charts/conversion-funnel/interface.js +1 -1
  17. package/cjs/charts/conversion-funnel/util.js +1 -1
  18. package/cjs/charts/funnel-3d/chart.js +1 -1
  19. package/cjs/charts/funnel-3d/constant.js +1 -1
  20. package/cjs/charts/funnel-3d/index.js +1 -1
  21. package/cjs/charts/funnel-3d/interface.js +1 -1
  22. package/cjs/charts/funnel-3d/series-spec-transformer.js +2 -1
  23. package/cjs/charts/funnel-3d/series.js +1 -1
  24. package/cjs/charts/funnel-3d/theme.js +1 -1
  25. package/cjs/charts/image-cloud/image-cloud-transformer.js +1 -1
  26. package/cjs/charts/image-cloud/image-cloud.js +1 -1
  27. package/cjs/charts/image-cloud/index.js +1 -1
  28. package/cjs/charts/image-cloud/interface.js +1 -1
  29. package/cjs/charts/pictogram/element-highlight-by-graphic-name.js +1 -1
  30. package/cjs/charts/pictogram/element-select-by-graphic-name.js +1 -1
  31. package/cjs/charts/pictogram/index.js +2 -1
  32. package/cjs/charts/pictogram/interface.js +1 -1
  33. package/cjs/charts/pictogram/pictogram-transformer.js +1 -1
  34. package/cjs/charts/pictogram/pictogram.js +1 -1
  35. package/cjs/charts/pie-3d/animation.js +1 -1
  36. package/cjs/charts/pie-3d/chart-spec-transformer.js +1 -1
  37. package/cjs/charts/pie-3d/chart.js +1 -1
  38. package/cjs/charts/pie-3d/constant.js +1 -1
  39. package/cjs/components/bar-link/bar-link.js +1 -1
  40. package/cjs/components/bar-link/constant.js +1 -1
  41. package/cjs/components/bar-link/index.js +1 -1
  42. package/cjs/components/bar-link/type.js +1 -1
  43. package/cjs/components/bar-link/util.js +1 -1
  44. package/cjs/components/bar-regression-line/index.js +1 -1
  45. package/cjs/components/bar-regression-line/type.js +1 -1
  46. package/cjs/components/extension-mark-sync-state/extension-mark-sync-state.js +1 -1
  47. package/cjs/components/extension-mark-sync-state/index.js +1 -1
  48. package/cjs/components/extension-mark-sync-state/type.js +1 -1
  49. package/cjs/components/histogram-regression-line/index.js +1 -1
  50. package/cjs/components/histogram-regression-line/type.js +1 -2
  51. package/cjs/components/map-label/index.js +1 -1
  52. package/cjs/components/map-label/layout.js +1 -1
  53. package/cjs/components/map-label/map-label-transformer.js +1 -1
  54. package/cjs/components/map-label/map-label.js +1 -1
  55. package/cjs/components/map-label/theme.js +1 -1
  56. package/cjs/components/map-label/type.js +1 -1
  57. package/cjs/components/regression-line/index.js +1 -1
  58. package/cjs/components/regression-line/regression-line.js +1 -1
  59. package/cjs/components/regression-line/type.js +1 -1
  60. package/cjs/components/scatter-regression-line/index.js +1 -1
  61. package/cjs/components/scatter-regression-line/type.js +1 -1
  62. package/cjs/components/series-break/constant.js +1 -1
  63. package/cjs/components/series-break/index.js +1 -1
  64. package/cjs/components/series-break/series-break.js +1 -1
  65. package/cjs/components/series-break/type.js +1 -1
  66. package/cjs/components/series-break/util.js +1 -2
  67. package/cjs/components/series-label/constant.js +1 -1
  68. package/cjs/components/series-label/index.js +1 -1
  69. package/cjs/components/series-label/series-label.js +1 -1
  70. package/cjs/components/series-label/type.js +1 -1
  71. package/cjs/components/series-label/util.js +1 -1
  72. package/esm/charts/axis-3d/band-axis.js +1 -2
  73. package/esm/charts/axis-3d/index.js +2 -1
  74. package/esm/charts/candlestick/candlestick-transformer.js +1 -1
  75. package/esm/charts/candlestick/candlestick.js +1 -1
  76. package/esm/charts/candlestick/index.js +1 -1
  77. package/esm/charts/candlestick/interface.js +1 -1
  78. package/esm/charts/candlestick/util.js +1 -1
  79. package/esm/charts/conversion-funnel/arrow-data-transform.js +1 -1
  80. package/esm/charts/conversion-funnel/constants.js +1 -1
  81. package/esm/charts/conversion-funnel/conversion-funnel-transformer.js +16 -14
  82. package/esm/charts/conversion-funnel/conversion-funnel-transformer.js.map +1 -1
  83. package/esm/charts/conversion-funnel/conversion-funnel.js +1 -1
  84. package/esm/charts/conversion-funnel/index.js +1 -1
  85. package/esm/charts/conversion-funnel/interface.js +1 -1
  86. package/esm/charts/conversion-funnel/util.js +1 -1
  87. package/esm/charts/funnel-3d/chart.js +1 -1
  88. package/esm/charts/funnel-3d/constant.js +1 -1
  89. package/esm/charts/funnel-3d/index.js +1 -1
  90. package/esm/charts/funnel-3d/interface.js +1 -1
  91. package/esm/charts/funnel-3d/series-spec-transformer.js +2 -1
  92. package/esm/charts/funnel-3d/series.js +1 -1
  93. package/esm/charts/funnel-3d/theme.js +1 -1
  94. package/esm/charts/image-cloud/image-cloud-transformer.js +1 -1
  95. package/esm/charts/image-cloud/image-cloud.js +1 -1
  96. package/esm/charts/image-cloud/index.js +1 -1
  97. package/esm/charts/image-cloud/interface.js +1 -1
  98. package/esm/charts/pictogram/element-highlight-by-graphic-name.js +1 -1
  99. package/esm/charts/pictogram/element-select-by-graphic-name.js +1 -1
  100. package/esm/charts/pictogram/index.js +2 -1
  101. package/esm/charts/pictogram/interface.js +1 -1
  102. package/esm/charts/pictogram/pictogram-transformer.js +1 -1
  103. package/esm/charts/pictogram/pictogram.js +1 -1
  104. package/esm/charts/pie-3d/animation.js +1 -1
  105. package/esm/charts/pie-3d/chart-spec-transformer.js +1 -1
  106. package/esm/charts/pie-3d/chart.js +1 -1
  107. package/esm/charts/pie-3d/constant.js +1 -1
  108. package/esm/components/bar-link/bar-link.js +1 -1
  109. package/esm/components/bar-link/constant.js +1 -1
  110. package/esm/components/bar-link/index.js +1 -1
  111. package/esm/components/bar-link/type.js +1 -1
  112. package/esm/components/bar-link/util.js +1 -1
  113. package/esm/components/bar-regression-line/index.js +1 -1
  114. package/esm/components/bar-regression-line/type.js +1 -1
  115. package/esm/components/extension-mark-sync-state/extension-mark-sync-state.js +1 -1
  116. package/esm/components/extension-mark-sync-state/index.js +1 -1
  117. package/esm/components/extension-mark-sync-state/type.js +1 -1
  118. package/esm/components/histogram-regression-line/index.js +1 -1
  119. package/esm/components/histogram-regression-line/type.js +1 -2
  120. package/esm/components/map-label/index.js +1 -1
  121. package/esm/components/map-label/layout.js +1 -1
  122. package/esm/components/map-label/map-label-transformer.js +1 -1
  123. package/esm/components/map-label/map-label.js +1 -1
  124. package/esm/components/map-label/theme.js +1 -1
  125. package/esm/components/map-label/type.js +1 -1
  126. package/esm/components/regression-line/index.js +1 -1
  127. package/esm/components/regression-line/regression-line.js +1 -1
  128. package/esm/components/regression-line/type.js +1 -1
  129. package/esm/components/scatter-regression-line/index.js +1 -1
  130. package/esm/components/scatter-regression-line/type.js +1 -1
  131. package/esm/components/series-break/constant.js +1 -1
  132. package/esm/components/series-break/index.js +1 -1
  133. package/esm/components/series-break/series-break.js +1 -1
  134. package/esm/components/series-break/type.js +1 -1
  135. package/esm/components/series-break/util.js +1 -2
  136. package/esm/components/series-label/constant.js +1 -1
  137. package/esm/components/series-label/index.js +1 -1
  138. package/esm/components/series-label/series-label.js +1 -1
  139. package/esm/components/series-label/type.js +1 -1
  140. package/esm/components/series-label/util.js +1 -1
  141. package/package.json +8 -8
@@ -103,4 +103,4 @@ function appendScatterRegressionLineConfig(chartSpec, spec) {
103
103
  }
104
104
 
105
105
  exports.getScatterRegressionLineConfig = getScatterRegressionLineConfig, exports.appendScatterRegressionLineConfig = appendScatterRegressionLineConfig;
106
- //# sourceMappingURL=index.js.map
106
+ //# sourceMappingURL=index.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=type.js.map
6
+ //# sourceMappingURL=type.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.SERIES_BREAK = void 0, exports.SERIES_BREAK = "seriesBreak";
6
- //# sourceMappingURL=constant.js.map
6
+ //# sourceMappingURL=constant.js.map
@@ -46,4 +46,4 @@ Object.defineProperty(exports, "getSeriesBreakConfig", {
46
46
  return util_1.appendSeriesBreakConfig;
47
47
  }
48
48
  }), __exportStar(require("./type"), exports), __exportStar(require("./constant"), exports);
49
- //# sourceMappingURL=index.js.map
49
+ //# sourceMappingURL=index.js.map
@@ -115,4 +115,4 @@ const registerSeriesBreak = () => {
115
115
  };
116
116
 
117
117
  exports.registerSeriesBreak = registerSeriesBreak;
118
- //# sourceMappingURL=series-break.js.map
118
+ //# sourceMappingURL=series-break.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=type.js.map
6
+ //# sourceMappingURL=type.js.map
@@ -244,5 +244,4 @@ const appendSeriesBreakConfig = rawSpec => {
244
244
  return !1;
245
245
  };
246
246
 
247
- exports.appendSeriesBreakConfig = appendSeriesBreakConfig;
248
- //# sourceMappingURL=util.js.map
247
+ exports.appendSeriesBreakConfig = appendSeriesBreakConfig;
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.SERIES_LABEL = void 0, exports.SERIES_LABEL = "seriesLabel";
6
- //# sourceMappingURL=constant.js.map
6
+ //# sourceMappingURL=constant.js.map
@@ -46,4 +46,4 @@ Object.defineProperty(exports, "getSeriesLabelConfig", {
46
46
  return util_1.appendSeriesLabelConfig;
47
47
  }
48
48
  });
49
- //# sourceMappingURL=index.js.map
49
+ //# sourceMappingURL=index.js.map
@@ -111,4 +111,4 @@ const registerSeriesLabel = () => {
111
111
  };
112
112
 
113
113
  exports.registerSeriesLabel = registerSeriesLabel;
114
- //# sourceMappingURL=series-label.js.map
114
+ //# sourceMappingURL=series-label.js.map
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  });
6
- //# sourceMappingURL=type.js.map
6
+ //# sourceMappingURL=type.js.map
@@ -149,4 +149,4 @@ function appendSeriesLabelConfig(rawSpec, seriesLabelSpec) {
149
149
 
150
150
  exports.dodge = dodge, exports.dodgeHorizontal = dodgeHorizontal, exports.getSeriesLabelConfig = getSeriesLabelConfig,
151
151
  exports.appendSeriesLabelConfig = appendSeriesLabelConfig;
152
- //# sourceMappingURL=util.js.map
152
+ //# sourceMappingURL=util.js.map
@@ -12,5 +12,4 @@ export const registerCartesianBandAxis3d = () => {
12
12
  AxisCls.builtInTheme = Object.assign(Object.assign({}, AxisCls.builtInTheme), {
13
13
  axisZ: Object.assign(Object.assign({}, CartesianBandAxis.builtInTheme.axisX), axisZ)
14
14
  }), mixin(AxisCls, Axis3dMixin);
15
- };
16
- //# sourceMappingURL=band-axis.js.map
15
+ };
@@ -15,4 +15,5 @@ import { registerCartesianTimeAxis3d } from "./time-axis";
15
15
  export const registerAxis3dPlugin = () => {
16
16
  register3DPlugin(), registerLayout3d(), registerCartesianBandAxis3d(), registerCartesianLinearAxis3d(),
17
17
  registerCartesianTimeAxis3d(), registerCartesianSymlogAxis3d(), registerCartesianLogAxis3d();
18
- };
18
+ };
19
+ //# sourceMappingURL=index.js.map
@@ -13,4 +13,4 @@ export class CandlestickChartSpecTransformer extends CartesianChartSpecTransform
13
13
  } ]), setDefaultCrosshairForCartesianChart(spec);
14
14
  }
15
15
  }
16
- //# sourceMappingURL=candlestick-transformer.js.map
16
+ //# sourceMappingURL=candlestick-transformer.js.map
@@ -20,4 +20,4 @@ export const registerCandlestickChart = () => {
20
20
  registerDimensionTooltipProcessor(), registerMarkTooltipProcessor(), registerDimensionEvents(),
21
21
  registerDimensionHover(), registerCandlestickSeries(), Factory.registerChart(CandlestickChart.type, CandlestickChart);
22
22
  };
23
- //# sourceMappingURL=candlestick.js.map
23
+ //# sourceMappingURL=candlestick.js.map
@@ -7,4 +7,4 @@ export * from "./candlestick-transformer";
7
7
  export * from "./series/candlestick";
8
8
 
9
9
  export * from "./util";
10
- //# sourceMappingURL=index.js.map
10
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
@@ -1,4 +1,4 @@
1
1
  export function transformCandlestickSeriesSpec(spec) {
2
2
  spec.yField = [ spec.openField, spec.highField, spec.lowField, spec.closeField ];
3
3
  }
4
- //# sourceMappingURL=util.js.map
4
+ //# sourceMappingURL=util.js.map
@@ -91,4 +91,4 @@ function computeIndex(arrow, totalArrows) {
91
91
  }
92
92
  return index;
93
93
  }
94
- //# sourceMappingURL=arrow-data-transform.js.map
94
+ //# sourceMappingURL=arrow-data-transform.js.map
@@ -22,4 +22,4 @@ export const DEFAULT_ARROW_TEXT_MARK_STYLE = {
22
22
  export const DEFAULT_FUNNEL_BACKGROUND_MARK_STYLE = {
23
23
  fill: "#eff1f9"
24
24
  };
25
- //# sourceMappingURL=constants.js.map
25
+ //# sourceMappingURL=constants.js.map
@@ -16,9 +16,10 @@ import { DEFAULT_ARROW_MARK_STYLE, DEFAULT_ARROW_SYMBOL_MARK_STYLE, DEFAULT_ARRO
16
16
 
17
17
  export class ConversionFunnelChartSpecTransformer extends FunnelChartSpecTransformer {
18
18
  transformSpec(spec) {
19
+ var _a, _b, _c;
19
20
  const {conversionArrow: conversionArrow, extensionMark: extensionMark = [], funnelBackground: funnelBackground} = spec;
20
21
  if (conversionArrow && conversionArrow.arrows && conversionArrow.arrows.length) {
21
- const marks = addArrowMark(conversionArrow);
22
+ const marks = addArrowMark(conversionArrow, null === (_c = null === (_b = null === (_a = this._option) || void 0 === _a ? void 0 : _a.getTheme) || void 0 === _b ? void 0 : _b.call(_a, "series", "funnel")) || void 0 === _c ? void 0 : _c.conversionArrow);
22
23
  marks && marks.length && extensionMark.push(...marks);
23
24
  }
24
25
  if (funnelBackground && funnelBackground.visible) {
@@ -34,27 +35,28 @@ export class ConversionFunnelChartSpecTransformer extends FunnelChartSpecTransfo
34
35
  }
35
36
  }
36
37
 
37
- function addArrowMark(arrowSpec) {
38
- const {arrows: arrows} = arrowSpec, style = __rest(arrowSpec, [ "arrows" ]), leftArrows = arrows.filter((arrow => "left" === arrow.position)), rightGroup = computeArrows(arrows.filter((arrow => "right" === arrow.position)), style), leftGroup = computeArrows(leftArrows, style), result = [];
38
+ function addArrowMark(arrowSpec, theme) {
39
+ const {arrows: arrows} = arrowSpec, style = __rest(arrowSpec, [ "arrows" ]), leftArrows = arrows.filter((arrow => "left" === arrow.position)), rightGroup = computeArrows(arrows.filter((arrow => "right" === arrow.position)), style, theme), leftGroup = computeArrows(leftArrows, style, theme), result = [];
39
40
  return rightGroup && (rightGroup.name = "arrowRight", result.push(rightGroup)),
40
41
  leftGroup && (leftGroup.name = "arrowLeft", result.push(leftGroup)), result;
41
42
  }
42
43
 
43
- function computeArrows(arrows, style) {
44
+ function computeArrows(arrows, style, theme) {
45
+ var _a, _b, _c;
44
46
  if (0 === (null == arrows ? void 0 : arrows.length)) return null;
45
47
  const {line: line, symbol: symbol, text: text, margin: margin} = style, result = [], rootGroup = {
46
48
  type: "group",
47
49
  zIndex: LayoutZIndex.Mark + 1,
48
50
  children: []
49
- }, lineMark = generateArrowLineSpec(line, margin);
51
+ }, lineMark = generateArrowLineSpec(line, margin, null === (_a = null == theme ? void 0 : theme.line) || void 0 === _a ? void 0 : _a.style);
50
52
  lineMark && result.push(lineMark);
51
- const arrowMark = generateArrowSymbolSpec(symbol, margin);
53
+ const arrowMark = generateArrowSymbolSpec(symbol, margin, null === (_b = null == theme ? void 0 : theme.symbol) || void 0 === _b ? void 0 : _b.style);
52
54
  arrowMark && result.push(arrowMark);
53
- const textMark = generateArrowTextSpec(text, margin);
55
+ const textMark = generateArrowTextSpec(text, margin, null === (_c = null == theme ? void 0 : theme.text) || void 0 === _c ? void 0 : _c.style);
54
56
  return textMark && result.push(textMark), rootGroup.children = result, rootGroup;
55
57
  }
56
58
 
57
- function generateArrowLineSpec(line = {}, margin) {
59
+ function generateArrowLineSpec(line = {}, margin, themeStyle = {}) {
58
60
  const {style: style = {}} = line, rest = __rest(line, [ "style" ]), renderable = (arrow, ctx) => {
59
61
  var _a, _b;
60
62
  const {from: from, to: to} = arrow, {vchart: vchart} = ctx, data = null === (_b = null === (_a = null == vchart ? void 0 : vchart.getChart()) || void 0 === _a ? void 0 : _a.getSeriesData()) || void 0 === _b ? void 0 : _b.latestData;
@@ -65,7 +67,7 @@ function generateArrowLineSpec(line = {}, margin) {
65
67
  interactive: !1
66
68
  }, rest), {
67
69
  dataKey: arrow => `${arrow.id}`,
68
- style: Object.assign(Object.assign(Object.assign({}, DEFAULT_ARROW_MARK_STYLE), style), {
70
+ style: Object.assign(Object.assign(Object.assign(Object.assign({}, DEFAULT_ARROW_MARK_STYLE), themeStyle), style), {
69
71
  renderable: renderable,
70
72
  points: (arrow, ctx) => {
71
73
  if (!renderable(arrow, ctx)) return [];
@@ -76,14 +78,14 @@ function generateArrowLineSpec(line = {}, margin) {
76
78
  });
77
79
  }
78
80
 
79
- function generateArrowSymbolSpec(symbol = {}, margin) {
81
+ function generateArrowSymbolSpec(symbol = {}, margin, themeStyle = {}) {
80
82
  const {style: style = {}} = symbol, rest = __rest(symbol, [ "style" ]);
81
83
  return Object.assign(Object.assign({
82
84
  type: "symbol",
83
85
  interactive: !1,
84
86
  dataKey: arrow => `${arrow.id}`
85
87
  }, rest), {
86
- style: Object.assign(Object.assign(Object.assign({}, DEFAULT_ARROW_SYMBOL_MARK_STYLE), style), {
88
+ style: Object.assign(Object.assign(Object.assign(Object.assign({}, DEFAULT_ARROW_SYMBOL_MARK_STYLE), themeStyle), style), {
87
89
  x: (arrow, ctx) => {
88
90
  var _a, _b;
89
91
  let points = arrow.layout.points;
@@ -99,7 +101,7 @@ function generateArrowSymbolSpec(symbol = {}, margin) {
99
101
  });
100
102
  }
101
103
 
102
- function generateArrowTextSpec(text = {}, margin) {
104
+ function generateArrowTextSpec(text = {}, margin, themeStyle = {}) {
103
105
  const {style: style = {}, formatMethod: formatMethod, textMargin: textMargin = 4} = text, rest = __rest(text, [ "style", "formatMethod", "textMargin" ]);
104
106
  return Object.assign(Object.assign({
105
107
  type: "text",
@@ -107,7 +109,7 @@ function generateArrowTextSpec(text = {}, margin) {
107
109
  interactive: !1,
108
110
  animation: !1
109
111
  }, rest), {
110
- style: Object.assign(Object.assign(Object.assign({}, DEFAULT_ARROW_TEXT_MARK_STYLE), {
112
+ style: Object.assign(Object.assign(Object.assign(Object.assign({}, DEFAULT_ARROW_TEXT_MARK_STYLE), themeStyle), {
111
113
  text: (arrow, ctx) => {
112
114
  var _a, _b, _c, _d, _e, _f, _g;
113
115
  const {text: textContent} = arrow;
@@ -190,4 +192,4 @@ function addFunnelBackgroundMark(funnelBackground) {
190
192
  })
191
193
  });
192
194
  }
193
- //# sourceMappingURL=conversion-funnel-transformer.js.map
195
+ //# sourceMappingURL=conversion-funnel-transformer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/conversion-funnel/conversion-funnel-transformer.ts"],"names":[],"mappings":"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","file":"conversion-funnel-transformer.js","sourcesContent":["import type { IPointLike } from '@visactor/vchart';\nimport type { IExtensionGroupMarkSpec, IExtensionMarkSpec } from '@visactor/vchart';\nimport type { IConversionFunnelSpec, IConversionFunnelChartSpecBase, Arrow } from './interface';\nimport type { ParsedArrow } from './arrow-data-transform';\nimport { LayoutZIndex, FunnelChartSpecTransformer } from '@visactor/vchart';\nimport { isFunction } from '@visactor/vchart';\nimport {\n DEFAULT_ARROW_MARK_STYLE,\n DEFAULT_ARROW_SYMBOL_MARK_STYLE,\n DEFAULT_ARROW_TEXT_MARK_STYLE,\n DEFAULT_FUNNEL_BACKGROUND_MARK_STYLE\n} from './constants';\n\nexport class ConversionFunnelChartSpecTransformer extends FunnelChartSpecTransformer<IConversionFunnelChartSpecBase> {\n transformSpec(spec: IConversionFunnelChartSpecBase): void {\n const { conversionArrow, extensionMark = [], funnelBackground } = spec;\n if (conversionArrow && conversionArrow.arrows && conversionArrow.arrows.length) {\n const marks = addArrowMark(conversionArrow);\n if (marks && marks.length) {\n extensionMark.push(...marks);\n }\n }\n if (funnelBackground && funnelBackground.visible) {\n const mark = addFunnelBackgroundMark(funnelBackground);\n if (mark) {\n extensionMark.push(mark);\n }\n }\n spec.extensionMark = extensionMark;\n super.transformSpec(spec);\n }\n\n _getDefaultSeriesSpec(spec: IConversionFunnelChartSpecBase) {\n const seriesSpec = super._getDefaultSeriesSpec(spec);\n (seriesSpec as IConversionFunnelChartSpecBase).conversionArrow = spec.conversionArrow;\n (seriesSpec as IConversionFunnelChartSpecBase).funnelBackground = spec.funnelBackground;\n return seriesSpec;\n }\n}\n\n/** Arrow Related */\nfunction addArrowMark(arrowSpec: IConversionFunnelSpec['conversionArrow']) {\n const { arrows, ...style } = arrowSpec;\n const leftArrows = arrows.filter(arrow => arrow.position === 'left');\n const rightArrows = arrows.filter(arrow => arrow.position === 'right');\n\n const rightGroup = computeArrows(rightArrows, style);\n const leftGroup = computeArrows(leftArrows, style);\n\n const result = [];\n if (rightGroup) {\n rightGroup.name = 'arrowRight';\n result.push(rightGroup);\n }\n if (leftGroup) {\n leftGroup.name = 'arrowLeft';\n result.push(leftGroup);\n }\n\n return result;\n}\n\nfunction computeArrows(arrows: Arrow[], style: Omit<IConversionFunnelSpec['conversionArrow'], 'arrows'>) {\n if (arrows?.length === 0) {\n return null;\n }\n\n const { line, symbol, text, margin } = style;\n\n const result: IExtensionMarkSpec<'polygon' | 'symbol' | 'text'>[] = [];\n\n const rootGroup: IExtensionGroupMarkSpec = {\n type: 'group' as any,\n zIndex: LayoutZIndex.Mark + 1,\n children: []\n };\n const lineMark = generateArrowLineSpec(line, margin);\n if (lineMark) {\n result.push(lineMark);\n }\n const arrowMark = generateArrowSymbolSpec(symbol, margin);\n if (arrowMark) {\n result.push(arrowMark);\n }\n const textMark = generateArrowTextSpec(text, margin);\n if (textMark) {\n result.push(textMark);\n }\n rootGroup.children = result;\n return rootGroup;\n}\n\nfunction generateArrowLineSpec(line: IConversionFunnelSpec['conversionArrow']['line'] = {}, margin?: number) {\n const { style = {}, ...rest } = line;\n const renderable = (arrow: any, ctx: any) => {\n const { from, to } = arrow;\n const { vchart } = ctx;\n const data = vchart?.getChart()?.getSeriesData()?.latestData;\n if (!data) {\n false;\n }\n if (to > data.length - 1 || from > data.length - 1) {\n return false;\n }\n return true;\n };\n\n return {\n type: 'polygon',\n interactive: false,\n ...rest,\n dataKey: arrow => `${arrow.id}`,\n style: {\n ...DEFAULT_ARROW_MARK_STYLE,\n ...style,\n renderable,\n points: (arrow: any, ctx: any) => {\n if (!renderable(arrow, ctx)) {\n return [];\n }\n let points = arrow.layout.points;\n points = prepareArrowPoints(arrow, ctx, margin);\n return points;\n }\n }\n } as IExtensionMarkSpec<'polygon'>;\n}\n\nfunction generateArrowSymbolSpec(symbol: IConversionFunnelSpec['conversionArrow']['symbol'] = {}, margin?: number) {\n const { style = {}, ...rest } = symbol;\n return {\n type: 'symbol',\n interactive: false,\n dataKey: arrow => `${arrow.id}`,\n ...rest,\n style: {\n ...DEFAULT_ARROW_SYMBOL_MARK_STYLE,\n ...style,\n\n x: (arrow: any, ctx: any) => {\n let points = arrow.layout.points;\n points = prepareArrowPoints(arrow, ctx, margin);\n return points[points?.length - 1]?.x ?? NaN;\n },\n y: (arrow: any, ctx: any) => {\n let points = arrow.layout.points;\n points = prepareArrowPoints(arrow, ctx, margin);\n return points[points?.length - 1]?.y ?? NaN;\n },\n angle: (arrow: any) => (arrow.position === 'left' ? 90 : -90)\n }\n } as IExtensionMarkSpec<'symbol'>;\n}\n\nfunction generateArrowTextSpec(text: IConversionFunnelSpec['conversionArrow']['text'] = {}, margin?: number) {\n const { style = {}, formatMethod, textMargin = 4, ...rest } = text;\n\n return {\n type: 'text',\n dataKey: arrow => `${arrow.id}`,\n interactive: false,\n animation: false,\n ...rest,\n style: {\n ...DEFAULT_ARROW_TEXT_MARK_STYLE,\n text: (arrow: any, ctx: any) => {\n const { text: textContent } = arrow;\n let displayTextContent: ReturnType<typeof formatMethod> = textContent;\n\n if (isFunction(formatMethod)) {\n const { vchart } = ctx;\n const { from, to } = arrow;\n const { field } = arrow.context;\n const rawData = vchart?.getChart()?.getSeriesData()?.latestData ?? [];\n const viewData = vchart?.getChart()?.getAllSeries()[0]?.getViewData()?.latestData ?? [];\n\n const fromData = viewData.find((datum: any) => datum[field] === rawData[from][field]);\n const toData = viewData.find((datum: any) => datum[field] === rawData[to][field]);\n\n displayTextContent = formatMethod(textContent, { arrow, from: fromData, to: toData });\n }\n return displayTextContent;\n },\n x: (arrow: any, ctx: any) => {\n let points = arrow.layout.points;\n points = prepareArrowPoints(arrow, ctx, margin);\n return points[1]?.x + (arrow.position === 'left' ? -textMargin : textMargin) ?? NaN;\n },\n y: (arrow: any, ctx: any) => {\n let points = arrow.layout.points;\n points = prepareArrowPoints(arrow, ctx, margin);\n return (points[1]?.y + points[2]?.y) / 2 ?? NaN;\n },\n textAlign: (arrow: any) => (arrow.position === 'left' ? 'right' : 'left'),\n textBaseline: 'middle',\n ...style\n }\n } as IExtensionMarkSpec<'text'>;\n}\n\nfunction prepareArrowPoints(arrow: ParsedArrow, ctx: any, margin?: number) {\n const { vchart } = ctx;\n const { from, to } = arrow;\n const { field } = arrow.context;\n const rawData = vchart?.getChart()?.getSeriesData()?.latestData;\n const viewData = vchart?.getChart()?.getAllSeries()[0]?.getViewData()?.latestData;\n\n let points: IPointLike[] = [];\n\n if (rawData && rawData.length) {\n const fromDatum = viewData.find((datum: any) => datum[field] === rawData[from][field]);\n const toDatum = viewData.find((datum: any) => datum[field] === rawData[to][field]);\n const firstDatum = viewData[0];\n\n if (fromDatum && toDatum && firstDatum) {\n const fromPoints = ctx.getPoints(fromDatum);\n const toPoints = ctx.getPoints(toDatum);\n const firstPoints = ctx.getPoints(firstDatum);\n points = computeArrowPoints(arrow, fromPoints, toPoints, firstPoints, margin);\n arrow.layout.points = points;\n }\n }\n return points;\n}\n\nfunction computeArrowPoints(\n arrow: ParsedArrow,\n fromPoints: IPointLike[],\n toPoints: IPointLike[],\n firstPoints: IPointLike[],\n margin = 12\n) {\n const { layout, distance, position } = arrow;\n const { level, fromIndex, toIndex, fromTotal, toTotal } = layout;\n\n const isRight = position === 'right';\n\n const fromTop = isRight ? fromPoints[1] : fromPoints[0];\n const fromBottom = isRight ? fromPoints[2] : fromPoints[3];\n\n const fromHeight = Math.abs(fromTop.y - fromBottom.y);\n\n const toTop = isRight ? toPoints[1] : toPoints[0];\n const toBottom = isRight ? toPoints[2] : toPoints[3];\n const toHeight = Math.abs(toTop.y - toBottom.y);\n\n const firstTop = isRight ? firstPoints[1] : firstPoints[0];\n\n const fromOffset = fromHeight / (fromTotal + 1);\n const toOffset = toHeight / (toTotal + 1);\n\n const fromY = fromTop.y + fromOffset * (fromIndex + 1);\n const toY = toTop.y + toOffset * (toIndex + 1);\n\n const sign = isRight ? -1 : 1;\n\n const points = [\n { x: fromTop.x - margin * sign, y: fromY },\n { x: firstTop.x - (margin + (level + 1) * distance) * sign, y: fromY },\n {\n x: firstTop.x - (margin + (level + 1) * distance) * sign,\n y: toY\n },\n {\n x: toTop.x - margin * sign,\n y: toY\n }\n ];\n return points;\n}\n\n/** Funnel Background Related */\nfunction addFunnelBackgroundMark(funnelBackground: IConversionFunnelSpec['funnelBackground']) {\n const { style = {}, ...rest } = funnelBackground;\n return {\n type: 'rect',\n ...rest,\n dataIndex: 0,\n zIndex: 0,\n style: {\n ...DEFAULT_FUNNEL_BACKGROUND_MARK_STYLE,\n ...style,\n x: 0,\n y: (datum, ctx: any) => {\n const points = ctx.getPoints(datum);\n const tl = points[0];\n return tl.y;\n },\n width: (datum, ctx: any) => {\n const region = ctx.getRegion();\n const { width } = region.getLayoutRect();\n return width;\n },\n height: (datum, ctx: any) => {\n const points = ctx.getPoints(datum);\n const tl = points[0];\n const bl = points[3];\n return bl.y - tl.y;\n }\n }\n } as IExtensionMarkSpec<'rect'>;\n}\n"]}
1
+ {"version":3,"sources":["../src/charts/conversion-funnel/conversion-funnel-transformer.ts"],"names":[],"mappings":"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","file":"conversion-funnel-transformer.js","sourcesContent":["import type { IPointLike } from '@visactor/vchart';\nimport type { IExtensionGroupMarkSpec, IExtensionMarkSpec } from '@visactor/vchart';\nimport type { IConversionFunnelSpec, IConversionFunnelChartSpecBase, Arrow } from './interface';\nimport type { ParsedArrow } from './arrow-data-transform';\nimport { LayoutZIndex, FunnelChartSpecTransformer } from '@visactor/vchart';\nimport { isFunction } from '@visactor/vchart';\nimport {\n DEFAULT_ARROW_MARK_STYLE,\n DEFAULT_ARROW_SYMBOL_MARK_STYLE,\n DEFAULT_ARROW_TEXT_MARK_STYLE,\n DEFAULT_FUNNEL_BACKGROUND_MARK_STYLE\n} from './constants';\n\nexport class ConversionFunnelChartSpecTransformer extends FunnelChartSpecTransformer<IConversionFunnelChartSpecBase> {\n transformSpec(spec: IConversionFunnelChartSpecBase): void {\n const { conversionArrow, extensionMark = [], funnelBackground } = spec;\n if (conversionArrow && conversionArrow.arrows && conversionArrow.arrows.length) {\n const arrowTheme = (this._option?.getTheme?.('series', 'funnel') as any)?.conversionArrow;\n const marks = addArrowMark(conversionArrow, arrowTheme);\n if (marks && marks.length) {\n extensionMark.push(...marks);\n }\n }\n if (funnelBackground && funnelBackground.visible) {\n const mark = addFunnelBackgroundMark(funnelBackground);\n if (mark) {\n extensionMark.push(mark);\n }\n }\n spec.extensionMark = extensionMark;\n super.transformSpec(spec);\n }\n\n _getDefaultSeriesSpec(spec: IConversionFunnelChartSpecBase) {\n const seriesSpec = super._getDefaultSeriesSpec(spec);\n (seriesSpec as IConversionFunnelChartSpecBase).conversionArrow = spec.conversionArrow;\n (seriesSpec as IConversionFunnelChartSpecBase).funnelBackground = spec.funnelBackground;\n return seriesSpec;\n }\n}\n\n/** Arrow Related */\ninterface IArrowTheme {\n line?: { style?: Record<string, any> };\n symbol?: { style?: Record<string, any> };\n text?: { style?: Record<string, any> };\n}\n\nfunction addArrowMark(arrowSpec: IConversionFunnelSpec['conversionArrow'], theme?: IArrowTheme) {\n const { arrows, ...style } = arrowSpec;\n const leftArrows = arrows.filter(arrow => arrow.position === 'left');\n const rightArrows = arrows.filter(arrow => arrow.position === 'right');\n\n const rightGroup = computeArrows(rightArrows, style, theme);\n const leftGroup = computeArrows(leftArrows, style, theme);\n\n const result = [];\n if (rightGroup) {\n rightGroup.name = 'arrowRight';\n result.push(rightGroup);\n }\n if (leftGroup) {\n leftGroup.name = 'arrowLeft';\n result.push(leftGroup);\n }\n\n return result;\n}\n\nfunction computeArrows(\n arrows: Arrow[],\n style: Omit<IConversionFunnelSpec['conversionArrow'], 'arrows'>,\n theme?: IArrowTheme\n) {\n if (arrows?.length === 0) {\n return null;\n }\n\n const { line, symbol, text, margin } = style;\n\n const result: IExtensionMarkSpec<'polygon' | 'symbol' | 'text'>[] = [];\n\n const rootGroup: IExtensionGroupMarkSpec = {\n type: 'group' as any,\n zIndex: LayoutZIndex.Mark + 1,\n children: []\n };\n const lineMark = generateArrowLineSpec(line, margin, theme?.line?.style);\n if (lineMark) {\n result.push(lineMark);\n }\n const arrowMark = generateArrowSymbolSpec(symbol, margin, theme?.symbol?.style);\n if (arrowMark) {\n result.push(arrowMark);\n }\n const textMark = generateArrowTextSpec(text, margin, theme?.text?.style);\n if (textMark) {\n result.push(textMark);\n }\n rootGroup.children = result;\n return rootGroup;\n}\n\nfunction generateArrowLineSpec(\n line: IConversionFunnelSpec['conversionArrow']['line'] = {},\n margin?: number,\n themeStyle: Record<string, any> = {}\n) {\n const { style = {}, ...rest } = line;\n const renderable = (arrow: any, ctx: any) => {\n const { from, to } = arrow;\n const { vchart } = ctx;\n const data = vchart?.getChart()?.getSeriesData()?.latestData;\n if (!data) {\n false;\n }\n if (to > data.length - 1 || from > data.length - 1) {\n return false;\n }\n return true;\n };\n\n return {\n type: 'polygon',\n interactive: false,\n ...rest,\n dataKey: arrow => `${arrow.id}`,\n style: {\n ...DEFAULT_ARROW_MARK_STYLE,\n ...themeStyle,\n ...style,\n renderable,\n points: (arrow: any, ctx: any) => {\n if (!renderable(arrow, ctx)) {\n return [];\n }\n let points = arrow.layout.points;\n points = prepareArrowPoints(arrow, ctx, margin);\n return points;\n }\n }\n } as IExtensionMarkSpec<'polygon'>;\n}\n\nfunction generateArrowSymbolSpec(\n symbol: IConversionFunnelSpec['conversionArrow']['symbol'] = {},\n margin?: number,\n themeStyle: Record<string, any> = {}\n) {\n const { style = {}, ...rest } = symbol;\n return {\n type: 'symbol',\n interactive: false,\n dataKey: arrow => `${arrow.id}`,\n ...rest,\n style: {\n ...DEFAULT_ARROW_SYMBOL_MARK_STYLE,\n ...themeStyle,\n ...style,\n\n x: (arrow: any, ctx: any) => {\n let points = arrow.layout.points;\n points = prepareArrowPoints(arrow, ctx, margin);\n return points[points?.length - 1]?.x ?? NaN;\n },\n y: (arrow: any, ctx: any) => {\n let points = arrow.layout.points;\n points = prepareArrowPoints(arrow, ctx, margin);\n return points[points?.length - 1]?.y ?? NaN;\n },\n angle: (arrow: any) => (arrow.position === 'left' ? 90 : -90)\n }\n } as IExtensionMarkSpec<'symbol'>;\n}\n\nfunction generateArrowTextSpec(\n text: IConversionFunnelSpec['conversionArrow']['text'] = {},\n margin?: number,\n themeStyle: Record<string, any> = {}\n) {\n const { style = {}, formatMethod, textMargin = 4, ...rest } = text;\n\n return {\n type: 'text',\n dataKey: arrow => `${arrow.id}`,\n interactive: false,\n animation: false,\n ...rest,\n style: {\n ...DEFAULT_ARROW_TEXT_MARK_STYLE,\n ...themeStyle,\n text: (arrow: any, ctx: any) => {\n const { text: textContent } = arrow;\n let displayTextContent: ReturnType<typeof formatMethod> = textContent;\n\n if (isFunction(formatMethod)) {\n const { vchart } = ctx;\n const { from, to } = arrow;\n const { field } = arrow.context;\n const rawData = vchart?.getChart()?.getSeriesData()?.latestData ?? [];\n const viewData = vchart?.getChart()?.getAllSeries()[0]?.getViewData()?.latestData ?? [];\n\n const fromData = viewData.find((datum: any) => datum[field] === rawData[from][field]);\n const toData = viewData.find((datum: any) => datum[field] === rawData[to][field]);\n\n displayTextContent = formatMethod(textContent, { arrow, from: fromData, to: toData });\n }\n return displayTextContent;\n },\n x: (arrow: any, ctx: any) => {\n let points = arrow.layout.points;\n points = prepareArrowPoints(arrow, ctx, margin);\n return points[1]?.x + (arrow.position === 'left' ? -textMargin : textMargin) ?? NaN;\n },\n y: (arrow: any, ctx: any) => {\n let points = arrow.layout.points;\n points = prepareArrowPoints(arrow, ctx, margin);\n return (points[1]?.y + points[2]?.y) / 2 ?? NaN;\n },\n textAlign: (arrow: any) => (arrow.position === 'left' ? 'right' : 'left'),\n textBaseline: 'middle',\n ...style\n }\n } as IExtensionMarkSpec<'text'>;\n}\n\nfunction prepareArrowPoints(arrow: ParsedArrow, ctx: any, margin?: number) {\n const { vchart } = ctx;\n const { from, to } = arrow;\n const { field } = arrow.context;\n const rawData = vchart?.getChart()?.getSeriesData()?.latestData;\n const viewData = vchart?.getChart()?.getAllSeries()[0]?.getViewData()?.latestData;\n\n let points: IPointLike[] = [];\n\n if (rawData && rawData.length) {\n const fromDatum = viewData.find((datum: any) => datum[field] === rawData[from][field]);\n const toDatum = viewData.find((datum: any) => datum[field] === rawData[to][field]);\n const firstDatum = viewData[0];\n\n if (fromDatum && toDatum && firstDatum) {\n const fromPoints = ctx.getPoints(fromDatum);\n const toPoints = ctx.getPoints(toDatum);\n const firstPoints = ctx.getPoints(firstDatum);\n points = computeArrowPoints(arrow, fromPoints, toPoints, firstPoints, margin);\n arrow.layout.points = points;\n }\n }\n return points;\n}\n\nfunction computeArrowPoints(\n arrow: ParsedArrow,\n fromPoints: IPointLike[],\n toPoints: IPointLike[],\n firstPoints: IPointLike[],\n margin = 12\n) {\n const { layout, distance, position } = arrow;\n const { level, fromIndex, toIndex, fromTotal, toTotal } = layout;\n\n const isRight = position === 'right';\n\n const fromTop = isRight ? fromPoints[1] : fromPoints[0];\n const fromBottom = isRight ? fromPoints[2] : fromPoints[3];\n\n const fromHeight = Math.abs(fromTop.y - fromBottom.y);\n\n const toTop = isRight ? toPoints[1] : toPoints[0];\n const toBottom = isRight ? toPoints[2] : toPoints[3];\n const toHeight = Math.abs(toTop.y - toBottom.y);\n\n const firstTop = isRight ? firstPoints[1] : firstPoints[0];\n\n const fromOffset = fromHeight / (fromTotal + 1);\n const toOffset = toHeight / (toTotal + 1);\n\n const fromY = fromTop.y + fromOffset * (fromIndex + 1);\n const toY = toTop.y + toOffset * (toIndex + 1);\n\n const sign = isRight ? -1 : 1;\n\n const points = [\n { x: fromTop.x - margin * sign, y: fromY },\n { x: firstTop.x - (margin + (level + 1) * distance) * sign, y: fromY },\n {\n x: firstTop.x - (margin + (level + 1) * distance) * sign,\n y: toY\n },\n {\n x: toTop.x - margin * sign,\n y: toY\n }\n ];\n return points;\n}\n\n/** Funnel Background Related */\nfunction addFunnelBackgroundMark(funnelBackground: IConversionFunnelSpec['funnelBackground']) {\n const { style = {}, ...rest } = funnelBackground;\n return {\n type: 'rect',\n ...rest,\n dataIndex: 0,\n zIndex: 0,\n style: {\n ...DEFAULT_FUNNEL_BACKGROUND_MARK_STYLE,\n ...style,\n x: 0,\n y: (datum, ctx: any) => {\n const points = ctx.getPoints(datum);\n const tl = points[0];\n return tl.y;\n },\n width: (datum, ctx: any) => {\n const region = ctx.getRegion();\n const { width } = region.getLayoutRect();\n return width;\n },\n height: (datum, ctx: any) => {\n const points = ctx.getPoints(datum);\n const tl = points[0];\n const bl = points[3];\n return bl.y - tl.y;\n }\n }\n } as IExtensionMarkSpec<'rect'>;\n}\n"]}
@@ -54,4 +54,4 @@ export const registerConversionFunnelChart = option => {
54
54
  const vchartConstructor = (null == option ? void 0 : option.VChart) || VChart;
55
55
  vchartConstructor && (vchartConstructor.useChart([ ConversionFunnelChart ]), vchartConstructor.useSeries([ ConversionFunnelSeries ]));
56
56
  };
57
- //# sourceMappingURL=conversion-funnel.js.map
57
+ //# sourceMappingURL=conversion-funnel.js.map
@@ -1,4 +1,4 @@
1
1
  export * from "./interface";
2
2
 
3
3
  export * from "./conversion-funnel";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
@@ -7,4 +7,4 @@ export function isSameArrow(arrow1, arrow2) {
7
7
  const {from: from1, to: to1} = arrow1, {from: from2, to: to2} = arrow2;
8
8
  return from1 === from2 && to1 === to2;
9
9
  }
10
- //# sourceMappingURL=util.js.map
10
+ //# sourceMappingURL=util.js.map
@@ -22,4 +22,4 @@ export const registerFunnel3dChart = () => {
22
22
  registerMarkTooltipProcessor(), register3DPlugin(), registerLayout3d(), registerFunnel3dSeries(),
23
23
  Factory.registerChart(Funnel3dChart.type, Funnel3dChart);
24
24
  };
25
- //# sourceMappingURL=chart.js.map
25
+ //# sourceMappingURL=chart.js.map
@@ -22,4 +22,4 @@ export const funnel3dSeriesMark = Object.assign(Object.assign({}, baseSeriesMark
22
22
  type: "rule"
23
23
  }
24
24
  });
25
- //# sourceMappingURL=constant.js.map
25
+ //# sourceMappingURL=constant.js.map
@@ -5,4 +5,4 @@ export * from "./series";
5
5
  export * from "./series-spec-transformer";
6
6
 
7
7
  export * from "./interface";
8
- //# sourceMappingURL=index.js.map
8
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
@@ -4,4 +4,5 @@ export class Funnel3dSeriesSpecTransformer extends FunnelSeriesSpecTransformer {
4
4
  _transformLabelSpec(spec) {
5
5
  this._addMarkLabelSpec(spec, "funnel3d"), spec.isTransform && this._addMarkLabelSpec(spec, "transform3d", "transformLabel");
6
6
  }
7
- }
7
+ }
8
+ //# sourceMappingURL=series-spec-transformer.js.map
@@ -81,4 +81,4 @@ Funnel3dSeries.builtInTheme = {
81
81
  export const registerFunnel3dSeries = () => {
82
82
  registerPyramid3dMark(), registerTextMark(), registerRuleMark(), Factory.registerSeries(Funnel3dSeries.type, Funnel3dSeries);
83
83
  };
84
- //# sourceMappingURL=series.js.map
84
+ //# sourceMappingURL=series.js.map
@@ -1,4 +1,4 @@
1
1
  import { getFunnelTheme } from "@visactor/vchart";
2
2
 
3
3
  export const funnel3d = getFunnelTheme(!0);
4
- //# sourceMappingURL=theme.js.map
4
+ //# sourceMappingURL=theme.js.map
@@ -8,4 +8,4 @@ export class ImageCloudChartSpecTransformer extends BaseChartSpecTransformer {
8
8
  return super._getDefaultSeriesSpec(spec, [ "urlField", "nameField", "valueField", "imageSize", "imageSizeRange", "ratio", "maskShape", "imageMask", "layoutConfig", "image" ]);
9
9
  }
10
10
  }
11
- //# sourceMappingURL=image-cloud-transformer.js.map
11
+ //# sourceMappingURL=image-cloud-transformer.js.map
@@ -19,4 +19,4 @@ ImageCloudChart.transformerConstructor = ImageCloudChartSpecTransformer;
19
19
  export const registerImageCloudChart = () => {
20
20
  registerImageCloudSeries(), Factory.registerChart(ImageCloudChart.type, ImageCloudChart);
21
21
  };
22
- //# sourceMappingURL=image-cloud.js.map
22
+ //# sourceMappingURL=image-cloud.js.map
@@ -1,4 +1,4 @@
1
1
  export * from "./image-cloud";
2
2
 
3
3
  export * from "./interface";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
@@ -46,4 +46,4 @@ ElementHighlightByGraphicName.type = type;
46
46
  export const registerElementHighlightByGraphicName = () => {
47
47
  Factory.registerInteractionTrigger(ElementHighlightByGraphicName.type, ElementHighlightByGraphicName);
48
48
  };
49
- //# sourceMappingURL=element-highlight-by-graphic-name.js.map
49
+ //# sourceMappingURL=element-highlight-by-graphic-name.js.map
@@ -22,4 +22,4 @@ ElementSelectByGraphicName.type = type;
22
22
  export const registerElementSelectByGraphicName = () => {
23
23
  Factory.registerInteractionTrigger(ElementSelectByGraphicName.type, ElementSelectByGraphicName);
24
24
  };
25
- //# sourceMappingURL=element-select-by-graphic-name.js.map
25
+ //# sourceMappingURL=element-select-by-graphic-name.js.map
@@ -8,4 +8,5 @@ export * from "./series/pictogram";
8
8
 
9
9
  export * from "./series/svg-source";
10
10
 
11
- export * from "./series/interface";
11
+ export * from "./series/interface";
12
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
@@ -15,4 +15,4 @@ export class PictogramChartSpecTransformer extends BaseChartSpecTransformer {
15
15
  })), super.transformSeriesSpec(spec);
16
16
  }
17
17
  }
18
- //# sourceMappingURL=pictogram-transformer.js.map
18
+ //# sourceMappingURL=pictogram-transformer.js.map
@@ -19,4 +19,4 @@ PictogramChart.transformerConstructor = PictogramChartSpecTransformer;
19
19
  export const registerPictogramChart = () => {
20
20
  registerMarkTooltipProcessor(), registerPictogramSeries(), Factory.registerChart(PictogramChart.type, PictogramChart);
21
21
  };
22
- //# sourceMappingURL=pictogram.js.map
22
+ //# sourceMappingURL=pictogram.js.map
@@ -10,4 +10,4 @@ export const registerPie3dAnimation = () => {
10
10
  disappear: pieDisappear(params)
11
11
  })));
12
12
  };
13
- //# sourceMappingURL=animation.js.map
13
+ //# sourceMappingURL=animation.js.map
@@ -7,4 +7,4 @@ export class Pie3dChartSpecTransformer extends BasePieChartSpecTransformer {
7
7
  }));
8
8
  }
9
9
  }
10
- //# sourceMappingURL=chart-spec-transformer.js.map
10
+ //# sourceMappingURL=chart-spec-transformer.js.map
@@ -29,4 +29,4 @@ export const registerPie3dChart = () => {
29
29
  registerAnimate(), registerMarkTooltipProcessor(), register3DPlugin(), registerLayout3d(),
30
30
  registerPie3dSeries(), Factory.registerChart(Pie3dChart.type, Pie3dChart);
31
31
  };
32
- //# sourceMappingURL=chart.js.map
32
+ //# sourceMappingURL=chart.js.map
@@ -10,4 +10,4 @@ export const pie3dSeriesMark = Object.assign(Object.assign({}, baseSeriesMark),
10
10
  type: "path"
11
11
  }
12
12
  });
13
- //# sourceMappingURL=constant.js.map
13
+ //# sourceMappingURL=constant.js.map
@@ -80,4 +80,4 @@ export class BarLinkComponent extends AbstractComponent {
80
80
  export const registerBarLink = () => {
81
81
  Factory.registerGraphicComponent(BAR_LINK, (attrs => new BarLinkComponent(attrs)));
82
82
  };
83
- //# sourceMappingURL=bar-link.js.map
83
+ //# sourceMappingURL=bar-link.js.map
@@ -1,2 +1,2 @@
1
1
  export const BAR_LINK = "barLink";
2
- //# sourceMappingURL=constant.js.map
2
+ //# sourceMappingURL=constant.js.map
@@ -5,4 +5,4 @@ export * from "./type";
5
5
  export { getBarLinkConfig, appendBarLinkConfig } from "./util";
6
6
 
7
7
  export * from "./constant";
8
- //# sourceMappingURL=index.js.map
8
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=type.js.map
2
+ //# sourceMappingURL=type.js.map
@@ -174,4 +174,4 @@ export function appendBarLinkConfig(rawSpec, barLinkSpec) {
174
174
  rawSpec.customMark = array(rawSpec.customMark).filter((obj => obj.componentType !== BAR_LINK)),
175
175
  rawSpec.customMark.push(getBarLinkConfig(barLinkSpec));
176
176
  }
177
- //# sourceMappingURL=util.js.map
177
+ //# sourceMappingURL=util.js.map
@@ -80,4 +80,4 @@ export function appendBarRegressionLineConfig(chartSpec, spec) {
80
80
  }
81
81
  }));
82
82
  }
83
- //# sourceMappingURL=index.js.map
83
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=type.js.map
2
+ //# sourceMappingURL=type.js.map
@@ -70,4 +70,4 @@ ExtensionMarkSyncStatePlugin.pluginType = "chart", ExtensionMarkSyncStatePlugin.
70
70
  export const registerExtensionMarkSyncStatePlugin = () => {
71
71
  registerChartPlugin(ExtensionMarkSyncStatePlugin);
72
72
  };
73
- //# sourceMappingURL=extension-mark-sync-state.js.map
73
+ //# sourceMappingURL=extension-mark-sync-state.js.map
@@ -1,4 +1,4 @@
1
1
  export { ExtensionMarkSyncStatePlugin, registerExtensionMarkSyncStatePlugin } from "./extension-mark-sync-state";
2
2
 
3
3
  export * from "./type";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=type.js.map
2
+ //# sourceMappingURL=type.js.map
@@ -75,4 +75,4 @@ export function appendHistogramRegressionLineConfig(chartSpec, spec) {
75
75
  }
76
76
  }));
77
77
  }
78
- //# sourceMappingURL=index.js.map
78
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1 @@
1
- export { };
2
- //# sourceMappingURL=type.js.map
1
+ export { };