@visactor/vchart 1.11.10 → 1.11.11

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 (149) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +671 -319
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/stack.js +2 -1
  6. package/cjs/chart/util.js +2 -2
  7. package/cjs/chart/util.js.map +1 -1
  8. package/cjs/compile/grammar-item.js +1 -2
  9. package/cjs/component/axis/base-axis.js +5 -2
  10. package/cjs/component/axis/base-axis.js.map +1 -1
  11. package/cjs/component/crosshair/base.d.ts +1 -0
  12. package/cjs/component/crosshair/base.js +17 -20
  13. package/cjs/component/crosshair/base.js.map +1 -1
  14. package/cjs/component/crosshair/utils/common.js +6 -5
  15. package/cjs/component/crosshair/utils/common.js.map +1 -1
  16. package/cjs/component/data-zoom/data-filter-base-component.js +1 -1
  17. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  18. package/cjs/component/indicator/interface.d.ts +3 -1
  19. package/cjs/component/indicator/interface.js.map +1 -1
  20. package/cjs/component/marker/interface.d.ts +3 -3
  21. package/cjs/component/marker/interface.js.map +1 -1
  22. package/cjs/component/tooltip/tooltip-transformer.js +3 -3
  23. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  24. package/cjs/component/tooltip/tooltip.d.ts +1 -0
  25. package/cjs/component/tooltip/tooltip.js +10 -6
  26. package/cjs/component/tooltip/tooltip.js.map +1 -1
  27. package/cjs/constant/index.d.ts +1 -0
  28. package/cjs/constant/index.js +2 -1
  29. package/cjs/constant/index.js.map +1 -1
  30. package/cjs/core/index.d.ts +1 -1
  31. package/cjs/core/index.js +1 -1
  32. package/cjs/core/index.js.map +1 -1
  33. package/cjs/core/vchart.js +11 -9
  34. package/cjs/core/vchart.js.map +1 -1
  35. package/cjs/event/bubble.d.ts +3 -0
  36. package/cjs/event/bubble.js +9 -0
  37. package/cjs/event/bubble.js.map +1 -1
  38. package/cjs/event/event-dispatcher.d.ts +3 -1
  39. package/cjs/event/event-dispatcher.js +15 -1
  40. package/cjs/event/event-dispatcher.js.map +1 -1
  41. package/cjs/event/event.d.ts +2 -0
  42. package/cjs/event/event.js +6 -0
  43. package/cjs/event/event.js.map +1 -1
  44. package/cjs/event/interface.d.ts +5 -0
  45. package/cjs/event/interface.js.map +1 -1
  46. package/cjs/interaction/zoom/zoomable.js +3 -3
  47. package/cjs/interaction/zoom/zoomable.js.map +1 -1
  48. package/cjs/mark/base/base-line.js +1 -2
  49. package/cjs/mark/base/base-line.js.map +1 -1
  50. package/cjs/mark/base/base-mark.js +6 -2
  51. package/cjs/mark/base/base-mark.js.map +1 -1
  52. package/cjs/mark/utils/common.d.ts +1 -0
  53. package/cjs/mark/utils/common.js +7 -2
  54. package/cjs/mark/utils/common.js.map +1 -1
  55. package/cjs/series/base/base-series-transformer.js +1 -2
  56. package/cjs/series/base/base-series-transformer.js.map +1 -1
  57. package/cjs/series/base/base-series.js +2 -2
  58. package/cjs/series/base/base-series.js.map +1 -1
  59. package/cjs/series/interface/type.d.ts +1 -0
  60. package/cjs/series/interface/type.js +4 -3
  61. package/cjs/series/interface/type.js.map +1 -1
  62. package/cjs/series/liquid/animation.d.ts +1 -0
  63. package/cjs/series/liquid/animation.js +30 -2
  64. package/cjs/series/liquid/animation.js.map +1 -1
  65. package/cjs/series/liquid/constant.js +5 -1
  66. package/cjs/series/liquid/constant.js.map +1 -1
  67. package/cjs/series/liquid/liquid.d.ts +3 -0
  68. package/cjs/series/liquid/liquid.js +70 -41
  69. package/cjs/series/liquid/liquid.js.map +1 -1
  70. package/cjs/series/liquid/util.js +1 -1
  71. package/cjs/series/liquid/util.js.map +1 -1
  72. package/cjs/series/pie/interface.d.ts +3 -1
  73. package/cjs/series/pie/interface.js.map +1 -1
  74. package/cjs/typings/interpolate.d.ts +1 -3
  75. package/cjs/typings/interpolate.js +2 -3
  76. package/cjs/typings/interpolate.js.map +1 -1
  77. package/esm/chart/stack.js +2 -1
  78. package/esm/chart/util.js +3 -1
  79. package/esm/chart/util.js.map +1 -1
  80. package/esm/compile/grammar-item.js +1 -2
  81. package/esm/component/axis/base-axis.js +5 -2
  82. package/esm/component/axis/base-axis.js.map +1 -1
  83. package/esm/component/crosshair/base.d.ts +1 -0
  84. package/esm/component/crosshair/base.js +18 -22
  85. package/esm/component/crosshair/base.js.map +1 -1
  86. package/esm/component/crosshair/utils/common.js +6 -5
  87. package/esm/component/crosshair/utils/common.js.map +1 -1
  88. package/esm/component/data-zoom/data-filter-base-component.js +1 -1
  89. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  90. package/esm/component/indicator/interface.d.ts +3 -1
  91. package/esm/component/indicator/interface.js.map +1 -1
  92. package/esm/component/marker/interface.d.ts +3 -3
  93. package/esm/component/marker/interface.js.map +1 -1
  94. package/esm/component/tooltip/tooltip-transformer.js +4 -2
  95. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  96. package/esm/component/tooltip/tooltip.d.ts +1 -0
  97. package/esm/component/tooltip/tooltip.js +10 -6
  98. package/esm/component/tooltip/tooltip.js.map +1 -1
  99. package/esm/constant/index.d.ts +1 -0
  100. package/esm/constant/index.js +2 -1
  101. package/esm/constant/index.js.map +1 -1
  102. package/esm/core/index.d.ts +1 -1
  103. package/esm/core/index.js +1 -1
  104. package/esm/core/index.js.map +1 -1
  105. package/esm/core/vchart.js +12 -11
  106. package/esm/core/vchart.js.map +1 -1
  107. package/esm/event/bubble.d.ts +3 -0
  108. package/esm/event/bubble.js +9 -0
  109. package/esm/event/bubble.js.map +1 -1
  110. package/esm/event/event-dispatcher.d.ts +3 -1
  111. package/esm/event/event-dispatcher.js +15 -1
  112. package/esm/event/event-dispatcher.js.map +1 -1
  113. package/esm/event/event.d.ts +2 -0
  114. package/esm/event/event.js +6 -0
  115. package/esm/event/event.js.map +1 -1
  116. package/esm/event/interface.d.ts +5 -0
  117. package/esm/event/interface.js.map +1 -1
  118. package/esm/interaction/zoom/zoomable.js +3 -3
  119. package/esm/interaction/zoom/zoomable.js.map +1 -1
  120. package/esm/mark/base/base-line.js +1 -2
  121. package/esm/mark/base/base-line.js.map +1 -1
  122. package/esm/mark/base/base-mark.js +7 -1
  123. package/esm/mark/base/base-mark.js.map +1 -1
  124. package/esm/mark/utils/common.d.ts +1 -0
  125. package/esm/mark/utils/common.js +4 -0
  126. package/esm/mark/utils/common.js.map +1 -1
  127. package/esm/series/base/base-series-transformer.js +1 -2
  128. package/esm/series/base/base-series-transformer.js.map +1 -1
  129. package/esm/series/base/base-series.js +2 -2
  130. package/esm/series/base/base-series.js.map +1 -1
  131. package/esm/series/interface/type.d.ts +1 -0
  132. package/esm/series/interface/type.js +4 -3
  133. package/esm/series/interface/type.js.map +1 -1
  134. package/esm/series/liquid/animation.d.ts +1 -0
  135. package/esm/series/liquid/animation.js +28 -0
  136. package/esm/series/liquid/animation.js.map +1 -1
  137. package/esm/series/liquid/constant.js +5 -1
  138. package/esm/series/liquid/constant.js.map +1 -1
  139. package/esm/series/liquid/liquid.d.ts +3 -0
  140. package/esm/series/liquid/liquid.js +69 -42
  141. package/esm/series/liquid/liquid.js.map +1 -1
  142. package/esm/series/liquid/util.js +1 -1
  143. package/esm/series/liquid/util.js.map +1 -1
  144. package/esm/series/pie/interface.d.ts +3 -1
  145. package/esm/series/pie/interface.js.map +1 -1
  146. package/esm/typings/interpolate.d.ts +1 -3
  147. package/esm/typings/interpolate.js +0 -4
  148. package/esm/typings/interpolate.js.map +1 -1
  149. package/package.json +14 -14
@@ -22,7 +22,7 @@ import { registerGroupMark } from "../../mark/group";
22
22
 
23
23
  import { getShapes } from "./util";
24
24
 
25
- import { createSymbol } from "@visactor/vrender-core";
25
+ import { createRect, createSymbol } from "@visactor/vrender-core";
26
26
 
27
27
  import { labelSmartInvert } from "@visactor/vrender-components";
28
28
 
@@ -35,23 +35,57 @@ export class LiquidSeries extends BaseSeries {
35
35
  super(...arguments), this.type = SeriesTypeEnum.liquid, this.transformerConstructor = LineLikeSeriesSpecTransformer,
36
36
  this._liquidBackgroundMark = null, this._liquidOutlineMark = null, this._getLiquidPosY = () => {
37
37
  let liquidY = 0;
38
- const {startY: liquidBackStartY, size: liquidBackSize} = this._getLiquidBackPosAndSize(), liquidHeight = liquidBackSize * this._heightRatio;
39
- return liquidY = this._reverse ? liquidBackStartY + liquidHeight : liquidBackSize - liquidHeight + liquidBackStartY,
40
- liquidY;
38
+ const {height: liquidBackHeight, startY: startY} = this._getLiquidBackPosAndSize();
39
+ return liquidY = this._reverse ? liquidBackHeight * this._heightRatio : liquidBackHeight * (1 - this._heightRatio),
40
+ liquidY + startY;
41
41
  }, this._getLiquidHeight = () => {
42
- const {size: liquidBackSize} = this._getLiquidBackPosAndSize();
43
- return liquidBackSize * this._heightRatio;
42
+ const {height: liquidBackHeight} = this._getLiquidBackPosAndSize();
43
+ return liquidBackHeight * this._heightRatio;
44
44
  }, this._getLiquidBackPosAndSize = (isOutline = !1) => {
45
- const {top: marginTop = 0, bottom: marginBottom = 0, left: marginLeft = 0, right: marginRight = 0} = this._marginSpec, {top: paddingTop = 0, bottom: paddingBottom = 0, left: paddingLeft = 0, right: paddingRight = 0} = isOutline ? {} : this._paddingSpec, {width: regionWidth, height: regionHeight} = this._region.getLayoutRect(), x = regionWidth / 2 + (marginLeft + paddingRight - (marginRight + paddingRight)) / 2, y = regionHeight / 2 + (marginTop + paddingTop - (marginBottom + paddingBottom)) / 2, size = Math.min(regionWidth - (marginLeft + marginRight + paddingLeft + paddingRight), regionHeight - (marginTop + marginBottom + paddingTop + paddingBottom));
46
- return {
45
+ var _a, _b;
46
+ let {top: marginTop = 0, bottom: marginBottom = 0, left: marginLeft = 0, right: marginRight = 0} = this._marginSpec, {top: paddingTop = 0, bottom: paddingBottom = 0, left: paddingLeft = 0, right: paddingRight = 0} = isOutline ? {} : this._paddingSpec;
47
+ "triangle" === this._maskShape && (marginBottom /= Math.sqrt(3), marginTop = marginTop / Math.sqrt(3) * 2,
48
+ paddingBottom /= Math.sqrt(3), paddingTop = paddingTop / Math.sqrt(3) * 2);
49
+ const {width: regionWidth, height: regionHeight} = null !== (_b = null === (_a = this._region) || void 0 === _a ? void 0 : _a.getLayoutRect()) && void 0 !== _b ? _b : {
50
+ width: 0,
51
+ height: 0
52
+ }, x = regionWidth / 2 + (marginLeft + paddingLeft - (marginRight + paddingRight)) / 2, y = regionHeight / 2 + (marginTop + paddingTop - (marginBottom + paddingBottom)) / 2;
53
+ let width = regionWidth - (marginLeft + marginRight + paddingLeft + paddingRight), height = regionHeight - (marginTop + marginBottom + paddingTop + paddingBottom);
54
+ const size = Math.min(width, height);
55
+ return "rect" !== this._maskShape && (width = size, height = size), {
47
56
  x: x,
48
57
  y: y,
49
58
  size: size,
50
- startX: x - size / 2,
51
- startY: y - size / 2,
52
- endX: x + size / 2,
53
- endY: y + size / 2
59
+ width: width,
60
+ height: height,
61
+ startX: x - width / 2,
62
+ startY: y - height / 2,
63
+ endX: x + width / 2,
64
+ endY: y + height / 2
54
65
  };
66
+ }, this._getLiquidBackPath = (isOutline = !1) => {
67
+ var _a;
68
+ let symbolPath;
69
+ if ("rect" === this._maskShape) {
70
+ const {x: x, y: y, width: width, height: height} = this._getLiquidBackPosAndSize(isOutline);
71
+ symbolPath = createRect({
72
+ x: x - width / 2,
73
+ y: y - height / 2,
74
+ width: width,
75
+ height: height,
76
+ fill: !0
77
+ });
78
+ } else {
79
+ const {x: x, y: y, size: size} = this._getLiquidBackPosAndSize(isOutline);
80
+ symbolPath = createSymbol({
81
+ x: x,
82
+ y: y,
83
+ size: size,
84
+ symbolType: getShapes(null !== (_a = this._spec.maskShape) && void 0 !== _a ? _a : "circle", size),
85
+ fill: !0
86
+ });
87
+ }
88
+ return [ symbolPath ];
55
89
  };
56
90
  }
57
91
  setValueField(field) {
@@ -61,10 +95,10 @@ export class LiquidSeries extends BaseSeries {
61
95
  return this._valueField;
62
96
  }
63
97
  setAttrFromSpec() {
64
- var _a;
98
+ var _a, _b;
65
99
  super.setAttrFromSpec(), this._marginSpec = normalizeLayoutPaddingSpec(this._spec.outlineMargin),
66
100
  this._paddingSpec = normalizeLayoutPaddingSpec(this._spec.outlinePadding), this.setValueField(this._spec.valueField),
67
- this._reverse = null !== (_a = this._spec.reverse) && void 0 !== _a && _a;
101
+ this._reverse = null !== (_a = this._spec.reverse) && void 0 !== _a && _a, this._maskShape = null !== (_b = this._spec.maskShape) && void 0 !== _b ? _b : "circle";
68
102
  }
69
103
  viewDataUpdate(d) {
70
104
  super.viewDataUpdate(d), this._heightRatio = max(...this._data.getLatestData().map((d => d[this._valueField])));
@@ -88,10 +122,14 @@ export class LiquidSeries extends BaseSeries {
88
122
  }), this._liquidBackgroundMark;
89
123
  }
90
124
  _initLiquidMark() {
91
- return this._liquidMark = this._createMark(LiquidSeries.mark.liquid, {
125
+ return this._liquidGroupMark = this._createMark(LiquidSeries.mark.liquidGroup, {
92
126
  parent: this._liquidBackgroundMark,
93
127
  isSeriesMark: !0,
94
128
  skipBeforeLayouted: !1
129
+ }), this._liquidMark = this._createMark(LiquidSeries.mark.liquid, {
130
+ parent: this._liquidGroupMark,
131
+ isSeriesMark: !0,
132
+ skipBeforeLayouted: !1
95
133
  }), this._liquidMark;
96
134
  }
97
135
  _buildMarkAttributeContext() {
@@ -102,13 +140,9 @@ export class LiquidSeries extends BaseSeries {
102
140
  const liquidOutlineMark = this._liquidOutlineMark;
103
141
  liquidOutlineMark.setZIndex(this.layoutZIndex), liquidOutlineMark.created(), this.setMarkStyle(liquidOutlineMark, {
104
142
  stroke: this.getColorAttribute(),
105
- x: () => this._getLiquidBackPosAndSize(!0).x,
106
- y: () => this._getLiquidBackPosAndSize(!0).y,
107
- size: () => this._getLiquidBackPosAndSize(!0).size,
108
- symbolType: () => {
109
- var _a;
110
- return getShapes(null !== (_a = this._spec.maskShape) && void 0 !== _a ? _a : "circle", this._getLiquidBackPosAndSize(!0).size);
111
- }
143
+ width: () => this._region.getLayoutRect().width,
144
+ height: () => this._region.getLayoutRect().height,
145
+ path: () => this._getLiquidBackPath(!0)
112
146
  }, "normal", AttributeLevel.Series), this._liquidOutlineMark.setInteractive(!1);
113
147
  }
114
148
  _initLiquidBackgroundMarkStyle() {
@@ -118,26 +152,19 @@ export class LiquidSeries extends BaseSeries {
118
152
  clip: !0,
119
153
  width: () => this._region.getLayoutRect().width,
120
154
  height: () => this._region.getLayoutRect().height,
121
- path: () => {
122
- var _a;
123
- const {x: x, y: y, size: size} = this._getLiquidBackPosAndSize();
124
- return [ createSymbol({
125
- x: x,
126
- y: y,
127
- size: size,
128
- symbolType: getShapes(null !== (_a = this._spec.maskShape) && void 0 !== _a ? _a : "circle", size),
129
- fill: !0
130
- }) ];
131
- }
155
+ path: () => this._getLiquidBackPath()
132
156
  }, "normal", AttributeLevel.Series), this._liquidBackgroundMark.setInteractive(!1);
133
157
  }
134
158
  _initLiquidMarkStyle() {
135
- const liquidMark = this._liquidMark;
136
- liquidMark && this.setMarkStyle(liquidMark, {
159
+ const liquidMark = this._liquidMark, liquidGroupMark = this._liquidGroupMark;
160
+ liquidGroupMark && this.setMarkStyle(liquidGroupMark, {
161
+ x: () => this._region.getLayoutStartPoint().x + this._region.getLayoutRect().width / 2,
137
162
  angle: this._reverse ? -Math.PI : 0,
138
- dx: () => this._region.getLayoutStartPoint().x + this._region.getLayoutRect().width / 2,
139
163
  y: 0,
140
- dy: this._getLiquidPosY,
164
+ dy: this._getLiquidPosY
165
+ }), liquidMark && this.setMarkStyle(liquidMark, {
166
+ y: 0,
167
+ dy: 0,
141
168
  height: this._getLiquidHeight,
142
169
  fill: this.getColorAttribute(),
143
170
  wave: 0
@@ -150,7 +177,7 @@ export class LiquidSeries extends BaseSeries {
150
177
  this._parseInteractionConfig(this._liquidMark ? [ this._liquidMark ] : []);
151
178
  }
152
179
  initAnimation() {
153
- var _a, _b, _c;
180
+ var _a, _b, _c, _d;
154
181
  const animationParams = {
155
182
  height: {
156
183
  from: 0,
@@ -159,13 +186,13 @@ export class LiquidSeries extends BaseSeries {
159
186
  dy: {
160
187
  from: () => {
161
188
  let liquidY = 0;
162
- const {startY: liquidBackStartY, size: liquidBackSize} = this._getLiquidBackPosAndSize();
163
- return liquidY = this._reverse ? liquidBackStartY : liquidBackSize + liquidBackStartY,
164
- liquidY;
189
+ const {height: liquidBackHeight, startY: startY} = this._getLiquidBackPosAndSize();
190
+ return liquidY = this._reverse ? 0 : liquidBackHeight, liquidY + startY;
165
191
  }
166
192
  }
167
193
  }, appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
168
- this._liquidMark.setAnimationConfig(animationConfig(null === (_c = Factory.getAnimationInKey("liquid")) || void 0 === _c ? void 0 : _c(animationParams, appearPreset), userAnimationConfig("liquid", this._spec, this._markAttributeContext)));
194
+ this._liquidMark.setAnimationConfig(animationConfig(null === (_c = Factory.getAnimationInKey("liquid")) || void 0 === _c ? void 0 : _c(animationParams, appearPreset), userAnimationConfig("liquid", this._spec, this._markAttributeContext))),
195
+ this._liquidGroupMark.setAnimationConfig(animationConfig(null === (_d = Factory.getAnimationInKey("liquidGroup")) || void 0 === _d ? void 0 : _d(animationParams, appearPreset), userAnimationConfig("liquidGroup", this._spec, this._markAttributeContext)));
169
196
  }
170
197
  initEvent() {
171
198
  super.initEvent(), this._spec.indicatorSmartInvert && this._option.getChart().getComponentsByKey("indicator") && this.event.on(ChartEvent.renderFinished, (() => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/liquid/liquid.ts"],"names":[],"mappings":"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","file":"liquid.js","sourcesContent":["import type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, max } from '@visactor/vutils';\nimport type { Datum, ILiquidMarkSpec, IPoint } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { ILiquidPadding, ILiquidSeriesSpec } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { LiquidAppearPreset } from './animation';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLiquidAnimation } from './animation';\nimport { LiquidSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IMark, IMarkRaw } from '../../mark/interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport { registerLiquidMark } from '../../mark/liquid';\nimport { AttributeLevel, ChartEvent } from '../../constant';\nimport { BaseSeries } from '../base';\nimport type { IGroupMark } from '../../mark/group';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerGroupMark } from '../../mark/group';\nimport { getShapes } from './util';\nimport { createSymbol } from '@visactor/vrender-core';\nimport { labelSmartInvert } from '@visactor/vrender-components';\nimport { normalizeLayoutPaddingSpec } from '../../util';\nimport type { DataView } from '@visactor/vdataset';\nimport { LiquidSeriesTooltipHelper } from './tooltip-helper';\nimport type { ISymbolMark } from '../../mark/symbol';\n\nexport type ILiquidMark = IMarkRaw<ILiquidMarkSpec>;\nexport class LiquidSeries<T extends ILiquidSeriesSpec = ILiquidSeriesSpec> extends BaseSeries<T> {\n static readonly type: string = SeriesTypeEnum.liquid;\n type = SeriesTypeEnum.liquid;\n\n static readonly mark: SeriesMarkMap = LiquidSeriesMark;\n static readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n private _liquidMark?: ILiquidMark;\n private _liquidBackgroundMark?: IGroupMark | null = null;\n private _liquidOutlineMark?: ISymbolMark | null = null;\n private _paddingSpec?: ILiquidPadding;\n private _marginSpec?: ILiquidPadding;\n\n private _heightRatio?: number;\n\n private _reverse?: boolean;\n\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n }\n }\n getValueField() {\n return this._valueField;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._marginSpec = normalizeLayoutPaddingSpec(this._spec.outlineMargin) as ILiquidPadding;\n this._paddingSpec = normalizeLayoutPaddingSpec(this._spec.outlinePadding) as ILiquidPadding;\n this.setValueField(this._spec.valueField);\n this._reverse = this._spec.reverse ?? false;\n }\n\n viewDataUpdate(d: DataView): void {\n super.viewDataUpdate(d);\n this._heightRatio = max(...this._data.getLatestData().map((d: Datum) => d[this._valueField]));\n }\n\n initMark(): void {\n this._initLiquidOutlineMark();\n this._initLiquidBackgroundMark();\n this._initLiquidMark();\n }\n\n initMarkStyle(): void {\n this._initLiquidOutlineMarkStyle();\n this._initLiquidBackgroundMarkStyle();\n this._initLiquidMarkStyle();\n }\n\n private _initLiquidOutlineMark() {\n this._liquidOutlineMark = this._createMark(LiquidSeries.mark.liquidOutline, {\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as ISymbolMark;\n return this._liquidOutlineMark;\n }\n\n private _initLiquidBackgroundMark() {\n this._liquidBackgroundMark = this._createMark(LiquidSeries.mark.liquidBackground, {\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._liquidBackgroundMark;\n }\n\n private _initLiquidMark() {\n this._liquidMark = this._createMark(LiquidSeries.mark.liquid, {\n parent: this._liquidBackgroundMark,\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as ILiquidMark;\n return this._liquidMark;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n this._markAttributeContext.getLiquidBackPosAndSize = this._getLiquidBackPosAndSize;\n this._markAttributeContext.getLiquidPosY = this._getLiquidPosY;\n this._markAttributeContext.getLiquidHeight = this._getLiquidHeight;\n }\n\n private _getLiquidPosY = () => {\n let liquidY = 0;\n const { startY: liquidBackStartY, size: liquidBackSize } = this._getLiquidBackPosAndSize();\n const liquidHeight = liquidBackSize * this._heightRatio;\n if (this._reverse) {\n liquidY = liquidBackStartY + liquidHeight;\n } else {\n liquidY = liquidBackSize - liquidHeight + liquidBackStartY;\n }\n return liquidY;\n };\n\n private _getLiquidHeight = () => {\n const { size: liquidBackSize } = this._getLiquidBackPosAndSize();\n return liquidBackSize * this._heightRatio;\n };\n\n private _getLiquidBackPosAndSize = (isOutline: boolean = false) => {\n const {\n top: marginTop = 0,\n bottom: marginBottom = 0,\n left: marginLeft = 0,\n right: marginRight = 0\n } = this._marginSpec;\n const {\n top: paddingTop = 0,\n bottom: paddingBottom = 0,\n left: paddingLeft = 0,\n right: paddingRight = 0\n } = isOutline ? {} : this._paddingSpec;\n\n const { width: regionWidth, height: regionHeight } = this._region.getLayoutRect();\n const x = regionWidth / 2 + (marginLeft + paddingRight - (marginRight + paddingRight)) / 2;\n const y = regionHeight / 2 + (marginTop + paddingTop - (marginBottom + paddingBottom)) / 2;\n const size = Math.min(\n regionWidth - (marginLeft + marginRight + paddingLeft + paddingRight),\n regionHeight - (marginTop + marginBottom + paddingTop + paddingBottom)\n );\n return {\n x,\n y,\n size,\n startX: x - size / 2,\n startY: y - size / 2,\n endX: x + size / 2,\n endY: y + size / 2\n };\n };\n\n private _initLiquidOutlineMarkStyle() {\n const liquidOutlineMark = this._liquidOutlineMark;\n liquidOutlineMark.setZIndex(this.layoutZIndex);\n liquidOutlineMark.created();\n this.setMarkStyle(\n liquidOutlineMark,\n {\n stroke: this.getColorAttribute(),\n x: () => this._getLiquidBackPosAndSize(true).x,\n y: () => this._getLiquidBackPosAndSize(true).y,\n size: () => this._getLiquidBackPosAndSize(true).size,\n symbolType: () => getShapes(this._spec.maskShape ?? 'circle', this._getLiquidBackPosAndSize(true).size)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._liquidOutlineMark.setInteractive(false);\n }\n\n private _initLiquidBackgroundMarkStyle() {\n const liquidBackgroundMark = this._liquidBackgroundMark;\n liquidBackgroundMark.setZIndex(this.layoutZIndex);\n liquidBackgroundMark.created();\n // symbol mark x, y 指定center\n this.setMarkStyle(\n liquidBackgroundMark,\n {\n clip: true,\n width: () => this._region.getLayoutRect().width,\n height: () => this._region.getLayoutRect().height,\n path: () => {\n const { x, y, size } = this._getLiquidBackPosAndSize();\n const symbolPath = createSymbol({\n x,\n y,\n size,\n symbolType: getShapes(this._spec.maskShape ?? 'circle', size),\n fill: true\n });\n return [symbolPath];\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n this._liquidBackgroundMark.setInteractive(false);\n }\n\n private _initLiquidMarkStyle() {\n const liquidMark = this._liquidMark;\n if (liquidMark) {\n // liquid mark x, y 指定左上角\n this.setMarkStyle(\n liquidMark,\n {\n angle: this._reverse ? -Math.PI : 0,\n dx: () => {\n return this._region.getLayoutStartPoint().x + this._region.getLayoutRect().width / 2;\n },\n // wave图元设置y后, 3个子area图元的point发生变化, 但vrender的渐变区域没有变化, 待vrender修复\n // 目前先采用下列方法配置:\n y: 0, // y强制指定为0, 保证图元不超出vrender的渐变区域\n dy: this._getLiquidPosY, // 使用dy做偏移, 保证vrender渐变区域随图元位置变化而更新\n\n height: this._getLiquidHeight,\n fill: this.getColorAttribute(),\n wave: 0\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new LiquidSeriesTooltipHelper(this);\n this._liquidMark && this._tooltipHelper.activeTriggerSet.mark.add(this._liquidMark);\n }\n\n initInteraction(): void {\n this._parseInteractionConfig(this._liquidMark ? [this._liquidMark] : []);\n }\n\n initAnimation() {\n const animationParams = {\n height: {\n from: 0,\n to: () => {\n return this._getLiquidHeight();\n }\n },\n dy: {\n from: () => {\n let liquidY = 0;\n const { startY: liquidBackStartY, size: liquidBackSize } = this._getLiquidBackPosAndSize();\n if (this._reverse) {\n liquidY = liquidBackStartY;\n } else {\n liquidY = liquidBackSize + liquidBackStartY;\n }\n return liquidY;\n }\n }\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LiquidAppearPreset>)?.preset;\n this._liquidMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('liquid')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.liquid, this._spec, this._markAttributeContext)\n )\n );\n }\n\n protected initEvent(): void {\n super.initEvent();\n if (!this._spec.indicatorSmartInvert || !this._option.getChart().getComponentsByKey('indicator')) {\n return;\n }\n this.event.on(ChartEvent.renderFinished, () => {\n this._option\n .getChart()\n .getComponentsByKey('indicator')\n .forEach((indicatorComponent: any) => {\n // wave item比较特殊, 由wave1、wave2、wave3在x方向上偏移叠加而成\n // 由于在水波图中只需要判断y方向上是否重叠, 所以此处取wave1做y方向上对比\n const grammarMark = this._liquidMark.getProduct();\n const waveItem = (grammarMark.elements[0] as any).glyphGraphicItems.wave1;\n let { y1: waveY1, y2: waveY2 } = waveItem.globalAABBBounds;\n waveY1 += this._region.getLayoutStartPoint().y;\n waveY2 += this._region.getLayoutStartPoint().y;\n indicatorComponent\n ?.getIndicatorComponent()\n ?.getChildren()[0]\n ?.getChildren()\n .forEach((text: any) => {\n const { y1: textY1, y2: textY2 } = text.globalAABBBounds;\n if (waveY1 < textY1 && waveY2 > textY2) {\n const foregroundColor = text.attribute.fill;\n const backgroundColor = waveItem.attribute.fill;\n const invertColor = labelSmartInvert(foregroundColor, backgroundColor);\n text.setAttribute('fill', invertColor);\n }\n });\n });\n });\n }\n\n dataToPosition(data: Datum): IPoint {\n return null;\n }\n dataToPositionX(data: Datum): number {\n return null;\n }\n dataToPositionY(data: Datum): number {\n return null;\n }\n valueToPosition(value1: any, value2?: any): IPoint {\n return null;\n }\n\n getStatisticFields(): any[] {\n return [];\n }\n\n getGroupFields(): string[] {\n return [];\n }\n getStackGroupFields(): string[] {\n return [];\n }\n getStackValueField(): string {\n return '';\n }\n\n getActiveMarks(): IMark[] {\n return [this._liquidMark];\n }\n}\n\nexport const registerLiquidSeries = () => {\n registerLiquidMark();\n registerGroupMark();\n registerLiquidAnimation();\n Factory.registerSeries(LiquidSeries.type, LiquidSeries);\n};\n"]}
1
+ {"version":3,"sources":["../src/series/liquid/liquid.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAK7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAG7D,MAAM,OAAO,YAA8D,SAAQ,UAAa;IAAhG;;QAEE,SAAI,GAAG,cAAc,CAAC,MAAM,CAAC;QAIpB,2BAAsB,GAAG,6BAA6B,CAAC;QAGxD,0BAAqB,GAAuB,IAAI,CAAC;QACjD,uBAAkB,GAAuB,IAAI,CAAC;QAkF9C,mBAAc,GAAG,GAAG,EAAE;YAC5B,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC7E,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC;aAChD;iBAAM;gBACL,OAAO,GAAG,gBAAgB,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;aACtD;YACD,OAAO,OAAO,GAAG,MAAM,CAAC;QAC1B,CAAC,CAAC;QAEM,qBAAgB,GAAG,GAAG,EAAE;YAC9B,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACrE,OAAO,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9C,CAAC,CAAC;QAEM,6BAAwB,GAAG,CAAC,YAAqB,KAAK,EAAE,EAAE;;YAChE,IAAI,EACF,GAAG,EAAE,SAAS,GAAG,CAAC,EAClB,MAAM,EAAE,YAAY,GAAG,CAAC,EAExB,IAAI,EAAE,UAAU,GAAG,CAAC,EAEpB,KAAK,EAAE,WAAW,GAAG,CAAC,EACvB,GAAG,IAAI,CAAC,WAAW,CAAC;YACrB,IAAI,EACF,GAAG,EAAE,UAAU,GAAG,CAAC,EACnB,MAAM,EAAE,aAAa,GAAG,CAAC,EAEzB,IAAI,EAAE,WAAW,GAAG,CAAC,EAErB,KAAK,EAAE,YAAY,GAAG,CAAC,EACxB,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YAIvC,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;gBAClC,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3C,SAAS,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,aAAa,GAAG,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7C,UAAU,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aAC9C;YAED,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,aAAa,EAAE,mCAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAE9G,MAAM,MAAM,GAAG,CAAC,UAAU,GAAG,WAAW,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,CAAC,SAAS,GAAG,UAAU,GAAG,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7E,MAAM,CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC;YACnC,MAAM,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC;YAGpC,IAAI,KAAK,GAAG,WAAW,GAAG,CAAC,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC,CAAC;YAClF,IAAI,MAAM,GAAG,YAAY,GAAG,CAAC,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;YAIpF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;gBAC9B,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM,GAAG,IAAI,CAAC;aACf;YAED,OAAO;gBACL,CAAC;gBACD,CAAC;gBACD,IAAI;gBACJ,KAAK;gBACL,MAAM;gBACN,MAAM,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC;gBACrB,MAAM,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC;gBACtB,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC;gBACnB,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC;aACrB,CAAC;QACJ,CAAC,CAAC;QAEM,uBAAkB,GAAG,CAAC,YAAqB,KAAK,EAAE,EAAE;;YAC1D,IAAI,UAAU,CAAC;YACf,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;gBAC9B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;gBACzE,UAAU,GAAG,UAAU,CAAC;oBACtB,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC;oBAChB,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC;oBACjB,KAAK;oBACL,MAAM;oBACN,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;gBAEhE,UAAU,GAAG,YAAY,CAAC;oBACxB,CAAC;oBACD,CAAC;oBACD,IAAI;oBACJ,UAAU,EAAE,SAAS,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,QAAQ,EAAE,IAAI,CAAC;oBAC7D,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;aACJ;YACD,OAAO,CAAC,UAAU,CAAC,CAAC;QACtB,CAAC,CAAC;IAuLJ,CAAC;IAjWC,aAAa,CAAC,KAAa;QACzB,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;IACH,CAAC;IACD,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAmB,CAAC;QAC1F,IAAI,CAAC,YAAY,GAAG,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAmB,CAAC;QAC5F,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,QAAQ,CAAC;IACrD,CAAC;IAED,cAAc,CAAC,CAAW;QACxB,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtC,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE;YAC1E,YAAY,EAAE,IAAI;YAClB,kBAAkB,EAAE,KAAK;SAC1B,CAAe,CAAC;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAEO,yBAAyB;QAC/B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAChF,YAAY,EAAE,IAAI;YAClB,kBAAkB,EAAE,KAAK;SAC1B,CAAe,CAAC;QACjB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE;YACtE,MAAM,EAAE,IAAI,CAAC,qBAAqB;YAClC,YAAY,EAAE,IAAI;YAClB,kBAAkB,EAAE,KAAK;SAC1B,CAAe,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE;YAC5D,MAAM,EAAE,IAAI,CAAC,gBAAgB;YAC7B,YAAY,EAAE,IAAI;YAClB,kBAAkB,EAAE,KAAK;SAC1B,CAAgB,CAAC;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAES,0BAA0B;QAClC,KAAK,CAAC,0BAA0B,EAAE,CAAC;QACnC,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,CAAC;QACnF,IAAI,CAAC,qBAAqB,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QAC/D,IAAI,CAAC,qBAAqB,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;IACrE,CAAC;IAsGO,2BAA2B;QACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,CACf,iBAAiB,EACjB;YACE,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAChC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK;YAC/C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM;YACjD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;SAC1C,EACD,QAAQ,EACR,cAAc,CAAC,MAAM,CACtB,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAEO,8BAA8B;QACpC,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACxD,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAG/B,IAAI,CAAC,YAAY,CACf,oBAAoB,EACpB;YACE,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK;YAC/C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM;YACjD,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;SACtC,EACD,QAAQ,EACR,cAAc,CAAC,MAAM,CACtB,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAEO,oBAAoB;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,IAAI,eAAe,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;gBACjC,CAAC,EAAE,GAAG,EAAE;oBACN,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;gBACvF,CAAC;gBACD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnC,CAAC,EAAE,CAAC;gBACJ,EAAE,EAAE,IAAI,CAAC,cAAc;aACxB,CAAC,CAAC;SACJ;QACD,IAAI,UAAU,EAAE;YAEd,IAAI,CAAC,YAAY,CACf,UAAU,EACV;gBAKE,CAAC,EAAE,CAAC;gBACJ,EAAE,EAAE,CAAC;gBACL,MAAM,EAAE,IAAI,CAAC,gBAAgB;gBAC7B,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBAC9B,IAAI,EAAE,CAAC;aACR,EACD,QAAQ,EACR,cAAc,CAAC,MAAM,CACtB,CAAC;SACH;IACH,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtF,CAAC;IAED,eAAe;QACb,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,aAAa;;QACX,MAAM,eAAe,GAAG;YACtB,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC;gBACP,EAAE,EAAE,GAAG,EAAE;oBACP,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACjC,CAAC;aACF;YACD,EAAE,EAAE;gBACF,IAAI,EAAE,GAAG,EAAE;oBACT,IAAI,OAAO,GAAG,CAAC,CAAC;oBAChB,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBAC7E,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACjB,OAAO,GAAG,CAAC,CAAC;qBACb;yBAAM;wBACL,OAAO,GAAG,gBAAgB,CAAC;qBAC5B;oBACD,OAAO,OAAO,GAAG,MAAM,CAAC;gBAC1B,CAAC;aACF;SACF,CAAC;QACF,MAAM,YAAY,GAAG,MAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,eAAyD,0CAAE,MAAM,CAAC;QACpG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CACjC,eAAe,CACb,MAAA,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,0CAAG,eAAe,EAAE,YAAY,CAAC,EACpE,mBAAmB,WAA4B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,CACvF,CACF,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACtC,eAAe,CACb,MAAA,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,0CAAG,eAAe,EAAE,YAAY,CAAC,EACzE,mBAAmB,gBAAiC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAC5F,CACF,CAAC;IACJ,CAAC;IAES,SAAS;QACjB,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE;YAChG,OAAO;SACR;QACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,EAAE;YAC5C,IAAI,CAAC,OAAO;iBACT,QAAQ,EAAE;iBACV,kBAAkB,CAAC,WAAW,CAAC;iBAC/B,OAAO,CAAC,CAAC,kBAAuB,EAAE,EAAE;;gBAGnC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAC1E,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,gBAAgB,CAAC;gBAC3D,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBAC/C,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBAC/C,MAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CACd,qBAAqB,EAAE,0CACvB,WAAW,GAAG,CAAC,CAAC,0CAChB,WAAW,GACZ,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;oBACrB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;oBACzD,IAAI,MAAM,GAAG,MAAM,IAAI,MAAM,GAAG,MAAM,EAAE;wBACtC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;wBAC5C,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;wBAChD,MAAM,WAAW,GAAG,gBAAgB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;wBACvE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;qBACxC;gBACH,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,IAAW;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,IAAW;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,IAAW;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,MAAW,EAAE,MAAY;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,mBAAmB;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,kBAAkB;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;;AAnXe,iBAAI,GAAW,cAAc,CAAC,MAAM,CAAC;AAGrC,iBAAI,GAAkB,gBAAgB,CAAC;AACvC,mCAAsB,GAAG,6BAA6B,CAAC;AAkXzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,kBAAkB,EAAE,CAAC;IACrB,iBAAiB,EAAE,CAAC;IACpB,uBAAuB,EAAE,CAAC;IAC1B,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC,CAAC","file":"liquid.js","sourcesContent":["import type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, max } from '@visactor/vutils';\nimport type { Datum, ILiquidMarkSpec, IPoint } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { ILiquidPadding, ILiquidSeriesSpec, LiquidShapeType } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { LiquidAppearPreset } from './animation';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLiquidAnimation } from './animation';\nimport { LiquidSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IMark, IMarkRaw } from '../../mark/interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport { registerLiquidMark } from '../../mark/liquid';\nimport { AttributeLevel, ChartEvent } from '../../constant';\nimport { BaseSeries } from '../base';\nimport type { IGroupMark } from '../../mark/group';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerGroupMark } from '../../mark/group';\nimport { getShapes } from './util';\nimport { createRect, createSymbol } from '@visactor/vrender-core';\nimport { labelSmartInvert } from '@visactor/vrender-components';\nimport { normalizeLayoutPaddingSpec } from '../../util';\nimport type { DataView } from '@visactor/vdataset';\nimport { LiquidSeriesTooltipHelper } from './tooltip-helper';\n\nexport type ILiquidMark = IMarkRaw<ILiquidMarkSpec>;\nexport class LiquidSeries<T extends ILiquidSeriesSpec = ILiquidSeriesSpec> extends BaseSeries<T> {\n static readonly type: string = SeriesTypeEnum.liquid;\n type = SeriesTypeEnum.liquid;\n\n static readonly mark: SeriesMarkMap = LiquidSeriesMark;\n static readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n private _liquidGroupMark?: IGroupMark;\n private _liquidMark?: ILiquidMark;\n private _liquidBackgroundMark?: IGroupMark | null = null;\n private _liquidOutlineMark?: IGroupMark | null = null;\n private _paddingSpec?: ILiquidPadding;\n private _marginSpec?: ILiquidPadding;\n\n private _heightRatio?: number;\n\n private _reverse?: boolean;\n private _maskShape?: LiquidShapeType;\n\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n }\n }\n getValueField() {\n return this._valueField;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._marginSpec = normalizeLayoutPaddingSpec(this._spec.outlineMargin) as ILiquidPadding;\n this._paddingSpec = normalizeLayoutPaddingSpec(this._spec.outlinePadding) as ILiquidPadding;\n this.setValueField(this._spec.valueField);\n this._reverse = this._spec.reverse ?? false;\n this._maskShape = this._spec.maskShape ?? 'circle';\n }\n\n viewDataUpdate(d: DataView): void {\n super.viewDataUpdate(d);\n this._heightRatio = max(...this._data.getLatestData().map((d: Datum) => d[this._valueField]));\n }\n\n initMark(): void {\n this._initLiquidOutlineMark();\n this._initLiquidBackgroundMark();\n this._initLiquidMark();\n }\n\n initMarkStyle(): void {\n this._initLiquidOutlineMarkStyle();\n this._initLiquidBackgroundMarkStyle();\n this._initLiquidMarkStyle();\n }\n\n private _initLiquidOutlineMark() {\n this._liquidOutlineMark = this._createMark(LiquidSeries.mark.liquidOutline, {\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._liquidOutlineMark;\n }\n\n private _initLiquidBackgroundMark() {\n this._liquidBackgroundMark = this._createMark(LiquidSeries.mark.liquidBackground, {\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._liquidBackgroundMark;\n }\n\n private _initLiquidMark() {\n this._liquidGroupMark = this._createMark(LiquidSeries.mark.liquidGroup, {\n parent: this._liquidBackgroundMark,\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as IGroupMark;\n this._liquidMark = this._createMark(LiquidSeries.mark.liquid, {\n parent: this._liquidGroupMark,\n isSeriesMark: true,\n skipBeforeLayouted: false\n }) as ILiquidMark;\n return this._liquidMark;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n this._markAttributeContext.getLiquidBackPosAndSize = this._getLiquidBackPosAndSize;\n this._markAttributeContext.getLiquidPosY = this._getLiquidPosY;\n this._markAttributeContext.getLiquidHeight = this._getLiquidHeight;\n }\n\n private _getLiquidPosY = () => {\n let liquidY = 0;\n const { height: liquidBackHeight, startY } = this._getLiquidBackPosAndSize();\n if (this._reverse) {\n liquidY = liquidBackHeight * this._heightRatio;\n } else {\n liquidY = liquidBackHeight * (1 - this._heightRatio);\n }\n return liquidY + startY;\n };\n\n private _getLiquidHeight = () => {\n const { height: liquidBackHeight } = this._getLiquidBackPosAndSize();\n return liquidBackHeight * this._heightRatio;\n };\n\n private _getLiquidBackPosAndSize = (isOutline: boolean = false) => {\n let {\n top: marginTop = 0,\n bottom: marginBottom = 0,\n // eslint-disable-next-line prefer-const\n left: marginLeft = 0,\n // eslint-disable-next-line prefer-const\n right: marginRight = 0\n } = this._marginSpec;\n let {\n top: paddingTop = 0,\n bottom: paddingBottom = 0,\n // eslint-disable-next-line prefer-const\n left: paddingLeft = 0,\n // eslint-disable-next-line prefer-const\n right: paddingRight = 0\n } = isOutline ? {} : this._paddingSpec;\n\n // 纠偏:对于正三角形而言, 上下留取相同的padidng/margin, 视觉上会看到下面留取的空白大于上面\n // 正确的做法是保持正三角形在60度方向上空白一致,换算到bottom就是/Math.sqrt(3), 换算到top就是 value/Math.sqrt(3)*2\n if (this._maskShape === 'triangle') {\n marginBottom = marginBottom / Math.sqrt(3);\n marginTop = (marginTop / Math.sqrt(3)) * 2;\n paddingBottom = paddingBottom / Math.sqrt(3);\n paddingTop = (paddingTop / Math.sqrt(3)) * 2;\n }\n\n const { width: regionWidth, height: regionHeight } = this._region?.getLayoutRect() ?? { width: 0, height: 0 };\n\n const deltaX = (marginLeft + paddingLeft - (marginRight + paddingRight)) / 2;\n const deltaY = (marginTop + paddingTop - (marginBottom + paddingBottom)) / 2;\n const x = regionWidth / 2 + deltaX;\n const y = regionHeight / 2 + deltaY;\n\n // 用于rect mark style\n let width = regionWidth - (marginLeft + marginRight + paddingLeft + paddingRight);\n let height = regionHeight - (marginTop + marginBottom + paddingTop + paddingBottom);\n // console.log('regionWidth', regionWidth, regionHeight)\n\n // 用于symbol mark style\n const size = Math.min(width, height);\n if (this._maskShape !== 'rect') {\n width = size;\n height = size;\n }\n\n return {\n x,\n y,\n size,\n width,\n height,\n startX: x - width / 2,\n startY: y - height / 2,\n endX: x + width / 2,\n endY: y + height / 2\n };\n };\n\n private _getLiquidBackPath = (isOutline: boolean = false) => {\n let symbolPath;\n if (this._maskShape === 'rect') {\n const { x, y, width, height } = this._getLiquidBackPosAndSize(isOutline);\n symbolPath = createRect({\n x: x - width / 2,\n y: y - height / 2,\n width,\n height,\n fill: true\n });\n } else {\n const { x, y, size } = this._getLiquidBackPosAndSize(isOutline);\n // console.log('size', size)\n symbolPath = createSymbol({\n x,\n y,\n size,\n symbolType: getShapes(this._spec.maskShape ?? 'circle', size),\n fill: true\n });\n }\n return [symbolPath];\n };\n\n private _initLiquidOutlineMarkStyle() {\n const liquidOutlineMark = this._liquidOutlineMark;\n liquidOutlineMark.setZIndex(this.layoutZIndex);\n liquidOutlineMark.created();\n this.setMarkStyle(\n liquidOutlineMark,\n {\n stroke: this.getColorAttribute(),\n width: () => this._region.getLayoutRect().width,\n height: () => this._region.getLayoutRect().height,\n path: () => this._getLiquidBackPath(true)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._liquidOutlineMark.setInteractive(false);\n }\n\n private _initLiquidBackgroundMarkStyle() {\n const liquidBackgroundMark = this._liquidBackgroundMark;\n liquidBackgroundMark.setZIndex(this.layoutZIndex);\n liquidBackgroundMark.created();\n // symbol mark x, y 指定center\n // rect mark x,y 指定左上角\n this.setMarkStyle(\n liquidBackgroundMark,\n {\n clip: true,\n width: () => this._region.getLayoutRect().width,\n height: () => this._region.getLayoutRect().height,\n path: () => this._getLiquidBackPath()\n },\n 'normal',\n AttributeLevel.Series\n );\n this._liquidBackgroundMark.setInteractive(false);\n }\n\n private _initLiquidMarkStyle() {\n const liquidMark = this._liquidMark;\n const liquidGroupMark = this._liquidGroupMark;\n if (liquidGroupMark) {\n this.setMarkStyle(liquidGroupMark, {\n x: () => {\n return this._region.getLayoutStartPoint().x + this._region.getLayoutRect().width / 2;\n },\n angle: this._reverse ? -Math.PI : 0,\n y: 0,\n dy: this._getLiquidPosY\n });\n }\n if (liquidMark) {\n // liquid mark x, y 指定左上角\n this.setMarkStyle(\n liquidMark,\n {\n // wave图元设置y后, 3个子area图元的point发生变化, 但vrender的渐变区域没有变化, 待vrender修复\n // 目前先采用下列方法配置:\n // 1. y强制指定为0, 保证图元不超出vrender的渐变区域\n // 2. 在外面包一层group图元, 使用group dy做偏移, 保证vrender渐变区域随图元位置变化而更新\n y: 0,\n dy: 0,\n height: this._getLiquidHeight,\n fill: this.getColorAttribute(),\n wave: 0\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new LiquidSeriesTooltipHelper(this);\n this._liquidMark && this._tooltipHelper.activeTriggerSet.mark.add(this._liquidMark);\n }\n\n initInteraction(): void {\n this._parseInteractionConfig(this._liquidMark ? [this._liquidMark] : []);\n }\n\n initAnimation() {\n const animationParams = {\n height: {\n from: 0,\n to: () => {\n return this._getLiquidHeight();\n }\n },\n dy: {\n from: () => {\n let liquidY = 0;\n const { height: liquidBackHeight, startY } = this._getLiquidBackPosAndSize();\n if (this._reverse) {\n liquidY = 0;\n } else {\n liquidY = liquidBackHeight;\n }\n return liquidY + startY;\n }\n }\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LiquidAppearPreset>)?.preset;\n this._liquidMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('liquid')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.liquid, this._spec, this._markAttributeContext)\n )\n );\n this._liquidGroupMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('liquidGroup')?.(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.liquidGroup, this._spec, this._markAttributeContext)\n )\n );\n }\n\n protected initEvent(): void {\n super.initEvent();\n if (!this._spec.indicatorSmartInvert || !this._option.getChart().getComponentsByKey('indicator')) {\n return;\n }\n this.event.on(ChartEvent.renderFinished, () => {\n this._option\n .getChart()\n .getComponentsByKey('indicator')\n .forEach((indicatorComponent: any) => {\n // wave item比较特殊, 由wave1、wave2、wave3在x方向上偏移叠加而成\n // 由于在水波图中只需要判断y方向上是否重叠, 所以此处取wave1做y方向上对比\n const grammarMark = this._liquidMark.getProduct();\n const waveItem = (grammarMark.elements[0] as any).glyphGraphicItems.wave1;\n let { y1: waveY1, y2: waveY2 } = waveItem.globalAABBBounds;\n waveY1 += this._region.getLayoutStartPoint().y;\n waveY2 += this._region.getLayoutStartPoint().y;\n indicatorComponent\n ?.getIndicatorComponent()\n ?.getChildren()[0]\n ?.getChildren()\n .forEach((text: any) => {\n const { y1: textY1, y2: textY2 } = text.globalAABBBounds;\n if (waveY1 < textY1 && waveY2 > textY2) {\n const foregroundColor = text.attribute.fill;\n const backgroundColor = waveItem.attribute.fill;\n const invertColor = labelSmartInvert(foregroundColor, backgroundColor);\n text.setAttribute('fill', invertColor);\n }\n });\n });\n });\n }\n\n dataToPosition(data: Datum): IPoint {\n return null;\n }\n dataToPositionX(data: Datum): number {\n return null;\n }\n dataToPositionY(data: Datum): number {\n return null;\n }\n valueToPosition(value1: any, value2?: any): IPoint {\n return null;\n }\n\n getStatisticFields(): any[] {\n return [];\n }\n\n getGroupFields(): string[] {\n return [];\n }\n getStackGroupFields(): string[] {\n return [];\n }\n getStackValueField(): string {\n return '';\n }\n\n getActiveMarks(): IMark[] {\n return [this._liquidMark];\n }\n}\n\nexport const registerLiquidSeries = () => {\n registerLiquidMark();\n registerGroupMark();\n registerLiquidAnimation();\n Factory.registerSeries(LiquidSeries.type, LiquidSeries);\n};\n"]}
@@ -1,4 +1,4 @@
1
- export const getShapes = (shapesType, size) => "drop" === shapesType ? pin(0, 0, size / 2) : shapesType;
1
+ export const getShapes = (shapesType, size) => "drop" === shapesType ? pin(0, 0, size) : shapesType;
2
2
 
3
3
  function pin(x, y, radius) {
4
4
  const w = 4 * radius / 3, h = Math.max(w, 2 * radius), r = w / 2, cx = x, cy = r + y - h / 2, theta = Math.asin(r / (.85 * (h - r))), dy = Math.sin(theta) * r, dx = Math.cos(theta) * r, x0 = cx - dx, y0 = cy + dy, cpX = x, cpY = cy + r / Math.sin(theta);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/liquid/util.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAA2B,EAAE,IAAY,EAAE,EAAE;IACrE,IAAI,UAAU,KAAK,MAAM,EAAE;QACzB,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;KAC5B;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAUF,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,MAAc;IAC/C,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAGhB,MAAM,EAAE,GAAG,CAAC,CAAC;IACb,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAG/B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAGnB,MAAM,GAAG,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAErC,OAAO;UACC,EAAE,IAAI,EAAE;UACR,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;UACjC,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;UAC5B,GAAG,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE;;KAE3B,CAAC;AACN,CAAC","file":"util.js","sourcesContent":["import type { LiquidShapeType } from './interface';\n\nexport const getShapes = (shapesType: LiquidShapeType, size: number) => {\n if (shapesType === 'drop') {\n return pin(0, 0, size / 2);\n }\n return shapesType;\n};\n\n/* Adapted from liquid shapes by ai-qing-hai and hustcc\n * https://github.com/antvis/G2\n * Licensed under the MIT\n\n * url: https://github.com/antvis/G2/blob/v5/src/shape/liquid/shapes.ts\n * License: https://github.com/antvis/G2/blob/v5/LICENSE\n * @license\n */\nfunction pin(x: number, y: number, radius: number) {\n const w = (radius * 4) / 3;\n const h = Math.max(w, radius * 2);\n const r = w / 2;\n\n // Attrs of the upper circle.\n const cx = x;\n const cy = r + y - h / 2;\n const theta = Math.asin(r / ((h - r) * 0.85));\n const dy = Math.sin(theta) * r;\n const dx = Math.cos(theta) * r;\n\n // The start point of the path.\n const x0 = cx - dx;\n const y0 = cy + dy;\n\n // Control point.\n const cpX = x;\n const cpY = cy + r / Math.sin(theta);\n\n return `\n M ${x0} ${y0}\n A ${r} ${r} 0 1 1 ${x0 + dx * 2} ${y0}\n Q ${cpX} ${cpY} ${x} ${y + h / 2}\n Q ${cpX} ${cpY} ${x0} ${y0}\n Z \n `;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/liquid/util.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAA2B,EAAE,IAAY,EAAE,EAAE;IACrE,IAAI,UAAU,KAAK,MAAM,EAAE;QACzB,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;KACxB;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAUF,SAAS,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,MAAc;IAC/C,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAGhB,MAAM,EAAE,GAAG,CAAC,CAAC;IACb,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAG/B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAGnB,MAAM,GAAG,GAAG,CAAC,CAAC;IACd,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAErC,OAAO;UACC,EAAE,IAAI,EAAE;UACR,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;UACjC,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;UAC5B,GAAG,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE;;KAE3B,CAAC;AACN,CAAC","file":"util.js","sourcesContent":["import type { LiquidShapeType } from './interface';\n\nexport const getShapes = (shapesType: LiquidShapeType, size: number) => {\n if (shapesType === 'drop') {\n return pin(0, 0, size);\n }\n return shapesType;\n};\n\n/* Adapted from liquid shapes by ai-qing-hai and hustcc\n * https://github.com/antvis/G2\n * Licensed under the MIT\n\n * url: https://github.com/antvis/G2/blob/v5/src/shape/liquid/shapes.ts\n * License: https://github.com/antvis/G2/blob/v5/LICENSE\n * @license\n */\nfunction pin(x: number, y: number, radius: number) {\n const w = (radius * 4) / 3;\n const h = Math.max(w, radius * 2);\n const r = w / 2;\n\n // Attrs of the upper circle.\n const cx = x;\n const cy = r + y - h / 2;\n const theta = Math.asin(r / ((h - r) * 0.85));\n const dy = Math.sin(theta) * r;\n const dx = Math.cos(theta) * r;\n\n // The start point of the path.\n const x0 = cx - dx;\n const y0 = cy + dy;\n\n // Control point.\n const cpX = x;\n const cpY = cy + r / Math.sin(theta);\n\n return `\n M ${x0} ${y0}\n A ${r} ${r} 0 1 1 ${x0 + dx * 2} ${y0}\n Q ${cpX} ${cpY} ${x} ${y + h / 2}\n Q ${cpX} ${cpY} ${x0} ${y0}\n Z \n `;\n}\n"]}
@@ -5,6 +5,7 @@ import type { SeriesMarkNameEnum } from '../interface/type';
5
5
  import type { IPolarSeriesSpec, IPolarSeriesTheme } from '../polar/interface';
6
6
  import type { PieAppearPreset } from './animation/animation';
7
7
  import type { ILabelSpec, IMultiLabelSpec } from '../../component/label';
8
+ import type { ICustomPath2D, ILineGraphicAttribute, ITextGraphicAttribute } from '@visactor/vrender-core';
8
9
  export type PieMarks = 'pie' | 'label' | 'labelLine';
9
10
  export type IBasePieSeriesSpec = Omit<IPieSeriesSpec, 'type'> & {
10
11
  type: string;
@@ -43,11 +44,12 @@ export interface IPie3dSeriesTheme extends IPolarSeriesTheme {
43
44
  innerLabel?: IArcLabelSpec;
44
45
  outerLabel?: IArcLabelSpec;
45
46
  }
46
- export interface IArcLabelLineSpec extends IMarkSpec<ILineMarkSpec> {
47
+ export interface IArcLabelLineSpec extends Omit<IMarkSpec<ILineMarkSpec>, 'customShape'> {
47
48
  visible?: boolean;
48
49
  line1MinLength?: number;
49
50
  line2MinLength?: number;
50
51
  smooth?: boolean;
52
+ customShape?: (text: ITextGraphicAttribute, attrs: Partial<ILineGraphicAttribute>, path: ICustomPath2D) => ICustomPath2D;
51
53
  }
52
54
  export type ArcLabelAlignType = 'arc' | 'labelLine' | 'edge';
53
55
  export type ArcLabelStrategyType = 'priority' | 'vertical' | 'none';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/pie/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IAnimationSpec } from '../../animation/spec';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { IArcMarkSpec, ITextMarkSpec, IArc3dMarkSpec, ILineMarkSpec } from '../../typings/visual';\nimport type { SeriesMarkNameEnum } from '../interface/type';\nimport type { IPolarSeriesSpec, IPolarSeriesTheme } from '../polar/interface';\nimport type { PieAppearPreset } from './animation/animation';\nimport type { ILabelSpec, IMultiLabelSpec } from '../../component/label';\n\nexport type PieMarks = 'pie' | 'label' | 'labelLine';\n\nexport type IBasePieSeriesSpec = Omit<IPieSeriesSpec, 'type'> & { type: string };\n\nexport interface IPieSeriesSpec extends IPolarSeriesSpec, IAnimationSpec<PieMarks, PieAppearPreset> {\n type: 'pie';\n /**\n * 分类字段\n * @description 饼图每个扇区为独立的系列\n */\n categoryField: string;\n /** 数值字段 */\n valueField: string;\n /** 饼图中心点 x 坐标 */\n centerX?: number;\n /** 饼图中心点 y 坐标 */\n centerY?: number;\n /** 饼图扇区中心偏移 */\n centerOffset?: number;\n\n /**\n * 饼图扇区半径\n * @default 0.6\n * @deprecated use outerRadius instead\n */\n radius?: number;\n\n /**\n * 饼图扇区外半径\n * @default 0.6\n */\n outerRadius?: number;\n\n /**\n * 饼图扇区内半径\n * @default 0\n */\n innerRadius?: number;\n\n /**\n * 饼图扇区圆角半径\n * @default 0\n */\n cornerRadius?: number;\n /**\n * 饼图的起始角度(0 ~ 360)\n * @default -90\n */\n startAngle?: number;\n /**\n * 饼图的结束角度(0 ~ 360)\n * @default 270\n */\n endAngle?: number;\n /**\n * 扇区之间的间隔角度\n */\n padAngle?: number;\n\n /**\n * 最小的扇区角度(0 ~ 360),用于防止某个值过小导致扇区太小影响交互。\n * @default 0\n * @since 1.4.0\n */\n minAngle?: number;\n\n /** 扇区样式 */\n [SeriesMarkNameEnum.pie]?: IMarkSpec<IArcMarkSpec>;\n /** 标签配置 */\n [SeriesMarkNameEnum.label]?: IMultiLabelSpec<IArcLabelSpec>;\n}\n\nexport interface IPieSeriesTheme extends IPolarSeriesTheme {\n [SeriesMarkNameEnum.pie]?: Partial<IMarkTheme<IArcMarkSpec>>;\n /** 标签配置 */\n [SeriesMarkNameEnum.label]?: IArcLabelSpec;\n /**\n * 内标签配置\n * @since 1.5.1\n */\n innerLabel?: IArcLabelSpec;\n /**\n * 外标签配置\n * @since 1.5.1\n */\n outerLabel?: IArcLabelSpec;\n}\n\nexport type IPie3dSeriesSpec = {\n type: 'pie3d';\n // 饼图整体绕x轴的旋转角度\n angle3d?: number;\n} & Omit<IPieSeriesSpec, 'type'>;\n\nexport interface IPie3dSeriesTheme extends IPolarSeriesTheme {\n [SeriesMarkNameEnum.pie3d]?: Partial<IMarkTheme<IArc3dMarkSpec>>;\n /** 标签配置 */\n [SeriesMarkNameEnum.label]?: IArcLabelSpec;\n /**\n * 内标签配置\n * @since 1.5.1\n */\n innerLabel?: IArcLabelSpec;\n /**\n * 外标签配置\n * @since 1.5.1\n */\n outerLabel?: IArcLabelSpec;\n}\n\nexport interface IArcLabelLineSpec extends IMarkSpec<ILineMarkSpec> {\n /**\n * 是否显示引导线\n * @default true\n */\n visible?: boolean;\n /**\n * 引导线 line1 部分最小长度\n * @default 20\n */\n line1MinLength?: number;\n /**\n * 引导线 line2 部分最小长度\n * @default 10\n */\n line2MinLength?: number;\n /**\n * 引导线是否光滑\n * @default false\n * @since 1.4.0\n */\n smooth?: boolean;\n}\n\nexport type ArcLabelAlignType = 'arc' | 'labelLine' | 'edge';\n\nexport type ArcLabelStrategyType = 'priority' | 'vertical' | 'none';\n\nexport interface IArcLabelLayoutSpec {\n /**\n * 标签对齐方式\n * @default 'arc'\n */\n textAlign?: ArcLabelAlignType;\n /** @deprecate 建议统一使用textAlign,后续将废除 */\n align?: ArcLabelAlignType;\n /**\n * 标签布局策略\n * @default 'priority'\n */\n strategy?: ArcLabelStrategyType;\n /**\n * 是否启用切线约束\n * @default true\n */\n tangentConstraint?: boolean;\n}\n\nexport type IArcLabelSpec = Omit<ILabelSpec, 'position'> & {\n /**\n * 标签布局方式\n * @default 'outside'\n */\n position?: 'outside' | 'inside';\n /**\n * 标签内容显示规则\n * @default 'all'\n */\n showRule?: 'all' | 'max' | 'min' | 'minAndMax' | 'headAndTail';\n /**\n * 是否允许标签重叠\n * @default false\n */\n coverEnable?: boolean;\n /**\n * 是否允许标签旋转\n * @default true\n */\n rotate?: boolean;\n\n /**\n * 文字与引导线间隔宽度\n * @default 5\n */\n spaceWidth?: number;\n /**\n * 扇区间标签的间隔\n * @default 6\n */\n layoutArcGap?: number;\n /** 中心点偏移距离 */\n centerOffset?: number;\n /** 标签文字样式 */\n style?: ITextMarkSpec;\n /** 标签引导线样式 */\n line?: IArcLabelLineSpec;\n /** 标签布局配置 */\n layout?: IArcLabelLayoutSpec;\n};\n"]}
1
+ {"version":3,"sources":["../src/series/pie/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IAnimationSpec } from '../../animation/spec';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { IArcMarkSpec, ITextMarkSpec, IArc3dMarkSpec, ILineMarkSpec } from '../../typings/visual';\nimport type { SeriesMarkNameEnum } from '../interface/type';\nimport type { IPolarSeriesSpec, IPolarSeriesTheme } from '../polar/interface';\nimport type { PieAppearPreset } from './animation/animation';\nimport type { ILabelSpec, IMultiLabelSpec } from '../../component/label';\nimport type { ICustomPath2D, ILineGraphicAttribute, ITextGraphicAttribute } from '@visactor/vrender-core';\n\nexport type PieMarks = 'pie' | 'label' | 'labelLine';\n\nexport type IBasePieSeriesSpec = Omit<IPieSeriesSpec, 'type'> & { type: string };\n\nexport interface IPieSeriesSpec extends IPolarSeriesSpec, IAnimationSpec<PieMarks, PieAppearPreset> {\n type: 'pie';\n /**\n * 分类字段\n * @description 饼图每个扇区为独立的系列\n */\n categoryField: string;\n /** 数值字段 */\n valueField: string;\n /** 饼图中心点 x 坐标 */\n centerX?: number;\n /** 饼图中心点 y 坐标 */\n centerY?: number;\n /** 饼图扇区中心偏移 */\n centerOffset?: number;\n\n /**\n * 饼图扇区半径\n * @default 0.6\n * @deprecated use outerRadius instead\n */\n radius?: number;\n\n /**\n * 饼图扇区外半径\n * @default 0.6\n */\n outerRadius?: number;\n\n /**\n * 饼图扇区内半径\n * @default 0\n */\n innerRadius?: number;\n\n /**\n * 饼图扇区圆角半径\n * @default 0\n */\n cornerRadius?: number;\n /**\n * 饼图的起始角度(0 ~ 360)\n * @default -90\n */\n startAngle?: number;\n /**\n * 饼图的结束角度(0 ~ 360)\n * @default 270\n */\n endAngle?: number;\n /**\n * 扇区之间的间隔角度\n */\n padAngle?: number;\n\n /**\n * 最小的扇区角度(0 ~ 360),用于防止某个值过小导致扇区太小影响交互。\n * @default 0\n * @since 1.4.0\n */\n minAngle?: number;\n\n /** 扇区样式 */\n [SeriesMarkNameEnum.pie]?: IMarkSpec<IArcMarkSpec>;\n /** 标签配置 */\n [SeriesMarkNameEnum.label]?: IMultiLabelSpec<IArcLabelSpec>;\n}\n\nexport interface IPieSeriesTheme extends IPolarSeriesTheme {\n [SeriesMarkNameEnum.pie]?: Partial<IMarkTheme<IArcMarkSpec>>;\n /** 标签配置 */\n [SeriesMarkNameEnum.label]?: IArcLabelSpec;\n /**\n * 内标签配置\n * @since 1.5.1\n */\n innerLabel?: IArcLabelSpec;\n /**\n * 外标签配置\n * @since 1.5.1\n */\n outerLabel?: IArcLabelSpec;\n}\n\nexport type IPie3dSeriesSpec = {\n type: 'pie3d';\n // 饼图整体绕x轴的旋转角度\n angle3d?: number;\n} & Omit<IPieSeriesSpec, 'type'>;\n\nexport interface IPie3dSeriesTheme extends IPolarSeriesTheme {\n [SeriesMarkNameEnum.pie3d]?: Partial<IMarkTheme<IArc3dMarkSpec>>;\n /** 标签配置 */\n [SeriesMarkNameEnum.label]?: IArcLabelSpec;\n /**\n * 内标签配置\n * @since 1.5.1\n */\n innerLabel?: IArcLabelSpec;\n /**\n * 外标签配置\n * @since 1.5.1\n */\n outerLabel?: IArcLabelSpec;\n}\n\nexport interface IArcLabelLineSpec extends Omit<IMarkSpec<ILineMarkSpec>, 'customShape'> {\n /**\n * 是否显示引导线\n * @default true\n */\n visible?: boolean;\n /**\n * 引导线 line1 部分最小长度\n * @default 20\n */\n line1MinLength?: number;\n /**\n * 引导线 line2 部分最小长度\n * @default 10\n */\n line2MinLength?: number;\n /**\n * 引导线是否光滑\n * @default false\n * @since 1.4.0\n */\n smooth?: boolean;\n /**\n * 标签引导线支持自定义path\n * @since 1.11.11\n */\n customShape?: (\n text: ITextGraphicAttribute,\n attrs: Partial<ILineGraphicAttribute>,\n path: ICustomPath2D\n ) => ICustomPath2D;\n}\n\nexport type ArcLabelAlignType = 'arc' | 'labelLine' | 'edge';\n\nexport type ArcLabelStrategyType = 'priority' | 'vertical' | 'none';\n\nexport interface IArcLabelLayoutSpec {\n /**\n * 标签对齐方式\n * @default 'arc'\n */\n textAlign?: ArcLabelAlignType;\n /** @deprecate 建议统一使用textAlign,后续将废除 */\n align?: ArcLabelAlignType;\n /**\n * 标签布局策略\n * @default 'priority'\n */\n strategy?: ArcLabelStrategyType;\n /**\n * 是否启用切线约束\n * @default true\n */\n tangentConstraint?: boolean;\n}\n\nexport type IArcLabelSpec = Omit<ILabelSpec, 'position'> & {\n /**\n * 标签布局方式\n * @default 'outside'\n */\n position?: 'outside' | 'inside';\n /**\n * 标签内容显示规则\n * @default 'all'\n */\n showRule?: 'all' | 'max' | 'min' | 'minAndMax' | 'headAndTail';\n /**\n * 是否允许标签重叠\n * @default false\n */\n coverEnable?: boolean;\n /**\n * 是否允许标签旋转\n * @default true\n */\n rotate?: boolean;\n\n /**\n * 文字与引导线间隔宽度\n * @default 5\n */\n spaceWidth?: number;\n /**\n * 扇区间标签的间隔\n * @default 6\n */\n layoutArcGap?: number;\n /** 中心点偏移距离 */\n centerOffset?: number;\n /** 标签文字样式 */\n style?: ITextMarkSpec;\n /** 标签引导线样式 */\n line?: IArcLabelLineSpec;\n /** 标签布局配置 */\n layout?: IArcLabelLayoutSpec;\n};\n"]}
@@ -1,5 +1,3 @@
1
- export type InterpolateType = 'basis' | 'bundle' | 'cardinal' | 'catmullRom' | 'linear' | 'monotone' | 'monotoneX' | 'monotoneY' | 'natural' | 'step' | 'stepAfter' | 'stepBefore' | 'linearClosed' | 'cardinalClosed';
1
+ export type InterpolateType = 'basis' | 'linear' | 'monotone' | 'monotoneX' | 'monotoneY' | 'step' | 'stepAfter' | 'stepBefore' | 'linearClosed' | 'catmullRom' | 'catmullRomClosed';
2
2
  export declare const DEFAULT_SMOOTH_INTERPOLATE = "monotone";
3
3
  export declare const DEFAULT_LINEAR_INTERPOLATE = "linear";
4
- export declare const DEFAULT_LINEAR_CLOSED_INTERPOLATE = "linearClosed";
5
- export declare const DEFAULT_CIRCLE_CLOSED_INTERPOLATE = "cardinalClosed";
@@ -1,8 +1,4 @@
1
1
  export const DEFAULT_SMOOTH_INTERPOLATE = "monotone";
2
2
 
3
3
  export const DEFAULT_LINEAR_INTERPOLATE = "linear";
4
-
5
- export const DEFAULT_LINEAR_CLOSED_INTERPOLATE = "linearClosed";
6
-
7
- export const DEFAULT_CIRCLE_CLOSED_INTERPOLATE = "cardinalClosed";
8
4
  //# sourceMappingURL=interpolate.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/typings/interpolate.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;AACrD,MAAM,CAAC,MAAM,0BAA0B,GAAG,QAAQ,CAAC;AACnD,MAAM,CAAC,MAAM,iCAAiC,GAAG,cAAc,CAAC;AAChE,MAAM,CAAC,MAAM,iCAAiC,GAAG,gBAAgB,CAAC","file":"interpolate.js","sourcesContent":["export type InterpolateType =\n | 'basis'\n | 'bundle'\n | 'cardinal'\n | 'catmullRom'\n | 'linear'\n | 'monotone'\n | 'monotoneX'\n | 'monotoneY'\n | 'natural'\n | 'step'\n | 'stepAfter'\n | 'stepBefore'\n | 'linearClosed'\n | 'cardinalClosed';\n\nexport const DEFAULT_SMOOTH_INTERPOLATE = 'monotone';\nexport const DEFAULT_LINEAR_INTERPOLATE = 'linear';\nexport const DEFAULT_LINEAR_CLOSED_INTERPOLATE = 'linearClosed';\nexport const DEFAULT_CIRCLE_CLOSED_INTERPOLATE = 'cardinalClosed';\n"]}
1
+ {"version":3,"sources":["../src/typings/interpolate.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;AACrD,MAAM,CAAC,MAAM,0BAA0B,GAAG,QAAQ,CAAC","file":"interpolate.js","sourcesContent":["export type InterpolateType =\n | 'basis'\n | 'linear'\n | 'monotone'\n | 'monotoneX'\n | 'monotoneY'\n | 'step'\n | 'stepAfter'\n | 'stepBefore'\n | 'linearClosed'\n | 'catmullRom'\n | 'catmullRomClosed';\n\nexport const DEFAULT_SMOOTH_INTERPOLATE = 'monotone';\nexport const DEFAULT_LINEAR_INTERPOLATE = 'linear';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vchart",
3
- "version": "1.11.10",
3
+ "version": "1.11.11",
4
4
  "description": "charts lib based @visactor/VGrammar",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -82,26 +82,26 @@
82
82
  "rimraf": "3.0.2",
83
83
  "cross-env": "^7.0.3",
84
84
  "@internal/bundler": "0.0.1",
85
- "@internal/typescript-json-schema": "0.0.1",
86
85
  "@internal/eslint-config": "0.0.1",
86
+ "@internal/typescript-json-schema": "0.0.1",
87
87
  "@internal/ts-config": "0.0.1"
88
88
  },
89
89
  "dependencies": {
90
90
  "@visactor/vutils": "~0.18.10",
91
91
  "@visactor/vdataset": "~0.18.10",
92
92
  "@visactor/vscale": "~0.18.10",
93
- "@visactor/vrender-core": "0.19.19",
94
- "@visactor/vrender-kits": "0.19.19",
95
- "@visactor/vrender-components": "0.19.19",
96
- "@visactor/vgrammar-core": "0.13.16",
97
- "@visactor/vgrammar-projection": "0.13.16",
98
- "@visactor/vgrammar-wordcloud": "0.13.16",
99
- "@visactor/vgrammar-wordcloud-shape": "0.13.16",
100
- "@visactor/vgrammar-hierarchy": "0.13.16",
101
- "@visactor/vgrammar-sankey": "0.13.16",
102
- "@visactor/vgrammar-venn": "0.13.16",
103
- "@visactor/vgrammar-util": "0.13.16",
104
- "@visactor/vutils-extension": "1.11.10"
93
+ "@visactor/vrender-core": "0.19.23",
94
+ "@visactor/vrender-kits": "0.19.23",
95
+ "@visactor/vrender-components": "0.19.23",
96
+ "@visactor/vgrammar-core": "0.13.19",
97
+ "@visactor/vgrammar-projection": "0.13.19",
98
+ "@visactor/vgrammar-wordcloud": "0.13.19",
99
+ "@visactor/vgrammar-wordcloud-shape": "0.13.19",
100
+ "@visactor/vgrammar-hierarchy": "0.13.19",
101
+ "@visactor/vgrammar-sankey": "0.13.19",
102
+ "@visactor/vgrammar-venn": "0.13.19",
103
+ "@visactor/vgrammar-util": "0.13.19",
104
+ "@visactor/vutils-extension": "1.11.11"
105
105
  },
106
106
  "publishConfig": {
107
107
  "access": "public",