@visactor/vchart 2.1.3-alpha.1 → 2.1.3-alpha.2

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 (252) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +65520 -21202
  3. package/build/index.js +65879 -65832
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/config.js +1 -2
  7. package/cjs/animation/grammar-dector.js +2 -1
  8. package/cjs/animation/index.d.ts +2 -1
  9. package/cjs/animation/index.js +8 -4
  10. package/cjs/animation/index.js.map +1 -1
  11. package/cjs/animation/state-transition.js +2 -2
  12. package/cjs/animation/state-transition.js.map +1 -1
  13. package/cjs/chart/index.js +1 -1
  14. package/cjs/chart/stack.js +1 -1
  15. package/cjs/chart/util.js +3 -3
  16. package/cjs/chart/util.js.map +1 -1
  17. package/cjs/compile/compiler.js +9 -9
  18. package/cjs/compile/compiler.js.map +1 -1
  19. package/cjs/compile/util.js +2 -1
  20. package/cjs/component/axis/cartesian/axis.js +3 -2
  21. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  22. package/cjs/component/base/base-component.d.ts +1 -1
  23. package/cjs/component/base/base-component.js +2 -2
  24. package/cjs/component/base/base-component.js.map +1 -1
  25. package/cjs/component/label/util.js +2 -2
  26. package/cjs/component/label/util.js.map +1 -1
  27. package/cjs/component/tooltip/processor/mark-tooltip.js +2 -2
  28. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  29. package/cjs/component/tooltip/tooltip-transformer.js +2 -2
  30. package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
  31. package/cjs/component/util.js +1 -2
  32. package/cjs/constant/polar.js +2 -1
  33. package/cjs/constant/scroll-bar.js +1 -2
  34. package/cjs/core/factory-registry.js +33 -2
  35. package/cjs/core/factory-registry.js.map +1 -1
  36. package/cjs/core/factory.js +1 -1
  37. package/cjs/core/index.d.ts +2 -1
  38. package/cjs/core/index.js +16 -12
  39. package/cjs/core/index.js.map +1 -1
  40. package/cjs/core/vchart.js +4 -4
  41. package/cjs/core/vchart.js.map +1 -1
  42. package/cjs/env/env.js +9 -9
  43. package/cjs/env/env.js.map +1 -1
  44. package/cjs/index-harmony-simple.d.ts +1 -1
  45. package/cjs/index-harmony-simple.js +2 -2
  46. package/cjs/index-harmony-simple.js.map +1 -1
  47. package/cjs/index-harmony.d.ts +1 -1
  48. package/cjs/index-harmony.js +2 -2
  49. package/cjs/index-harmony.js.map +1 -1
  50. package/cjs/index.d.ts +7 -2
  51. package/cjs/index.js +39 -23
  52. package/cjs/index.js.map +1 -1
  53. package/cjs/mark/arc.js +2 -2
  54. package/cjs/mark/arc.js.map +1 -1
  55. package/cjs/mark/area.js +2 -2
  56. package/cjs/mark/area.js.map +1 -1
  57. package/cjs/mark/base/base-mark.js +4 -4
  58. package/cjs/mark/base/base-mark.js.map +1 -1
  59. package/cjs/mark/box-plot.js +3 -3
  60. package/cjs/mark/box-plot.js.map +1 -1
  61. package/cjs/mark/cell.js +3 -3
  62. package/cjs/mark/cell.js.map +1 -1
  63. package/cjs/mark/glyph.js +3 -3
  64. package/cjs/mark/glyph.js.map +1 -1
  65. package/cjs/mark/image.js +2 -2
  66. package/cjs/mark/image.js.map +1 -1
  67. package/cjs/mark/line.js +2 -2
  68. package/cjs/mark/line.js.map +1 -1
  69. package/cjs/mark/link-path.js +2 -2
  70. package/cjs/mark/link-path.js.map +1 -1
  71. package/cjs/mark/liquid.d.ts +1 -1
  72. package/cjs/mark/liquid.js +2 -2
  73. package/cjs/mark/liquid.js.map +1 -1
  74. package/cjs/mark/path.js +2 -2
  75. package/cjs/mark/path.js.map +1 -1
  76. package/cjs/mark/polygon/polygon.js +2 -2
  77. package/cjs/mark/polygon/polygon.js.map +1 -1
  78. package/cjs/mark/rect.js +2 -2
  79. package/cjs/mark/rect.js.map +1 -1
  80. package/cjs/mark/ripple.d.ts +1 -1
  81. package/cjs/mark/ripple.js +2 -2
  82. package/cjs/mark/ripple.js.map +1 -1
  83. package/cjs/mark/rule.js +3 -3
  84. package/cjs/mark/rule.js.map +1 -1
  85. package/cjs/mark/symbol.js +2 -2
  86. package/cjs/mark/symbol.js.map +1 -1
  87. package/cjs/mark/text.js +4 -3
  88. package/cjs/mark/text.js.map +1 -1
  89. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.d.ts +1 -0
  90. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js +9 -5
  91. package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  92. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +2 -2
  93. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  94. package/cjs/plugin/components/tooltip-handler/utils/svg.js +4 -4
  95. package/cjs/plugin/components/tooltip-handler/utils/svg.js.map +1 -1
  96. package/cjs/plugin/other.d.ts +1 -1
  97. package/cjs/plugin/other.js +6 -6
  98. package/cjs/plugin/other.js.map +1 -1
  99. package/cjs/series/bar/bar.js +2 -2
  100. package/cjs/series/bar/bar.js.map +1 -1
  101. package/cjs/series/box-plot/animation.d.ts +1 -1
  102. package/cjs/series/box-plot/animation.js +7 -7
  103. package/cjs/series/box-plot/animation.js.map +1 -1
  104. package/cjs/series/liquid/liquid.js +3 -3
  105. package/cjs/series/liquid/liquid.js.map +1 -1
  106. package/cjs/series/polar/animation.d.ts +2 -1
  107. package/cjs/series/polar/animation.js +3 -3
  108. package/cjs/series/polar/animation.js.map +1 -1
  109. package/cjs/series/polar/progress-like/progress-like.js +3 -3
  110. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  111. package/cjs/series/radar/animation.js +2 -2
  112. package/cjs/series/radar/animation.js.map +1 -1
  113. package/cjs/series/sankey/animation.d.ts +1 -1
  114. package/cjs/series/sankey/animation.js +6 -6
  115. package/cjs/series/sankey/animation.js.map +1 -1
  116. package/cjs/series/venn/animation.d.ts +1 -1
  117. package/cjs/series/venn/animation.js +2 -2
  118. package/cjs/series/venn/animation.js.map +1 -1
  119. package/cjs/series/word-cloud/base.js +4 -4
  120. package/cjs/series/word-cloud/base.js.map +1 -1
  121. package/cjs/util/env.js +2 -2
  122. package/cjs/util/env.js.map +1 -1
  123. package/cjs/vrender-bridge.d.ts +11 -0
  124. package/cjs/vrender-bridge.js +158 -0
  125. package/cjs/vrender-bridge.js.map +1 -0
  126. package/cjs/vrender-tools.d.ts +1 -1
  127. package/cjs/vrender-tools.js +21 -21
  128. package/cjs/vrender-tools.js.map +1 -1
  129. package/esm/animation/config.js +1 -2
  130. package/esm/animation/grammar-dector.js +2 -1
  131. package/esm/animation/index.d.ts +2 -1
  132. package/esm/animation/index.js +3 -1
  133. package/esm/animation/index.js.map +1 -1
  134. package/esm/animation/state-transition.js +1 -1
  135. package/esm/animation/state-transition.js.map +1 -1
  136. package/esm/chart/index.js +1 -1
  137. package/esm/chart/stack.js +1 -1
  138. package/esm/chart/util.js +2 -2
  139. package/esm/chart/util.js.map +1 -1
  140. package/esm/compile/compiler.js +1 -1
  141. package/esm/compile/compiler.js.map +1 -1
  142. package/esm/compile/util.js +2 -1
  143. package/esm/component/axis/cartesian/axis.js +1 -1
  144. package/esm/component/axis/cartesian/axis.js.map +1 -1
  145. package/esm/component/base/base-component.d.ts +1 -1
  146. package/esm/component/base/base-component.js +1 -1
  147. package/esm/component/base/base-component.js.map +1 -1
  148. package/esm/component/label/util.js +1 -1
  149. package/esm/component/label/util.js.map +1 -1
  150. package/esm/component/tooltip/processor/mark-tooltip.js +1 -1
  151. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  152. package/esm/component/tooltip/tooltip-transformer.js +1 -1
  153. package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
  154. package/esm/component/util.js +1 -2
  155. package/esm/constant/polar.js +2 -1
  156. package/esm/constant/scroll-bar.js +1 -2
  157. package/esm/core/factory-registry.js +34 -1
  158. package/esm/core/factory-registry.js.map +1 -1
  159. package/esm/core/factory.js +1 -1
  160. package/esm/core/index.d.ts +2 -1
  161. package/esm/core/index.js +4 -2
  162. package/esm/core/index.js.map +1 -1
  163. package/esm/core/vchart.js +1 -1
  164. package/esm/core/vchart.js.map +1 -1
  165. package/esm/env/env.js +1 -1
  166. package/esm/env/env.js.map +1 -1
  167. package/esm/index-harmony-simple.d.ts +1 -1
  168. package/esm/index-harmony-simple.js +1 -1
  169. package/esm/index-harmony-simple.js.map +1 -1
  170. package/esm/index-harmony.d.ts +1 -1
  171. package/esm/index-harmony.js +1 -1
  172. package/esm/index-harmony.js.map +1 -1
  173. package/esm/index.d.ts +7 -2
  174. package/esm/index.js +10 -2
  175. package/esm/index.js.map +1 -1
  176. package/esm/mark/arc.js +1 -1
  177. package/esm/mark/arc.js.map +1 -1
  178. package/esm/mark/area.js +1 -1
  179. package/esm/mark/area.js.map +1 -1
  180. package/esm/mark/base/base-mark.js +1 -1
  181. package/esm/mark/base/base-mark.js.map +1 -1
  182. package/esm/mark/box-plot.js +1 -1
  183. package/esm/mark/box-plot.js.map +1 -1
  184. package/esm/mark/cell.js +1 -1
  185. package/esm/mark/cell.js.map +1 -1
  186. package/esm/mark/glyph.js +1 -1
  187. package/esm/mark/glyph.js.map +1 -1
  188. package/esm/mark/image.js +1 -1
  189. package/esm/mark/image.js.map +1 -1
  190. package/esm/mark/line.js +1 -1
  191. package/esm/mark/line.js.map +1 -1
  192. package/esm/mark/link-path.js +1 -1
  193. package/esm/mark/link-path.js.map +1 -1
  194. package/esm/mark/liquid.d.ts +1 -1
  195. package/esm/mark/liquid.js +1 -1
  196. package/esm/mark/liquid.js.map +1 -1
  197. package/esm/mark/path.js +1 -1
  198. package/esm/mark/path.js.map +1 -1
  199. package/esm/mark/polygon/polygon.js +1 -1
  200. package/esm/mark/polygon/polygon.js.map +1 -1
  201. package/esm/mark/rect.js +1 -1
  202. package/esm/mark/rect.js.map +1 -1
  203. package/esm/mark/ripple.d.ts +1 -1
  204. package/esm/mark/ripple.js +1 -1
  205. package/esm/mark/ripple.js.map +1 -1
  206. package/esm/mark/rule.js +1 -1
  207. package/esm/mark/rule.js.map +1 -1
  208. package/esm/mark/symbol.js +1 -1
  209. package/esm/mark/symbol.js.map +1 -1
  210. package/esm/mark/text.js +1 -1
  211. package/esm/mark/text.js.map +1 -1
  212. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.d.ts +1 -0
  213. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js +10 -4
  214. package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
  215. package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
  216. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  217. package/esm/plugin/components/tooltip-handler/utils/svg.js +3 -1
  218. package/esm/plugin/components/tooltip-handler/utils/svg.js.map +1 -1
  219. package/esm/plugin/other.d.ts +1 -1
  220. package/esm/plugin/other.js +2 -4
  221. package/esm/plugin/other.js.map +1 -1
  222. package/esm/series/bar/bar.js +1 -1
  223. package/esm/series/bar/bar.js.map +1 -1
  224. package/esm/series/box-plot/animation.d.ts +1 -1
  225. package/esm/series/box-plot/animation.js +3 -1
  226. package/esm/series/box-plot/animation.js.map +1 -1
  227. package/esm/series/liquid/liquid.js +1 -1
  228. package/esm/series/liquid/liquid.js.map +1 -1
  229. package/esm/series/polar/animation.d.ts +2 -1
  230. package/esm/series/polar/animation.js +3 -1
  231. package/esm/series/polar/animation.js.map +1 -1
  232. package/esm/series/polar/progress-like/progress-like.js +1 -1
  233. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  234. package/esm/series/radar/animation.js +1 -1
  235. package/esm/series/radar/animation.js.map +1 -1
  236. package/esm/series/sankey/animation.d.ts +1 -1
  237. package/esm/series/sankey/animation.js +3 -1
  238. package/esm/series/sankey/animation.js.map +1 -1
  239. package/esm/series/venn/animation.d.ts +1 -1
  240. package/esm/series/venn/animation.js +1 -1
  241. package/esm/series/venn/animation.js.map +1 -1
  242. package/esm/series/word-cloud/base.js +3 -1
  243. package/esm/series/word-cloud/base.js.map +1 -1
  244. package/esm/util/env.js +1 -1
  245. package/esm/util/env.js.map +1 -1
  246. package/esm/vrender-bridge.d.ts +11 -0
  247. package/esm/vrender-bridge.js +45 -0
  248. package/esm/vrender-bridge.js.map +1 -0
  249. package/esm/vrender-tools.d.ts +1 -1
  250. package/esm/vrender-tools.js +1 -1
  251. package/esm/vrender-tools.js.map +1 -1
  252. package/package.json +5 -5
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerLiquidSeries = exports.LiquidSeries = void 0;
6
6
 
7
- const type_1 = require("../interface/type"), vutils_1 = require("@visactor/vutils"), utils_1 = require("../../animation/utils"), animation_1 = require("./animation"), constant_1 = require("./constant"), factory_1 = require("../../core/factory"), line_mixin_transformer_1 = require("../mixin/line-mixin-transformer"), liquid_1 = require("../../mark/liquid"), attribute_1 = require("../../constant/attribute"), event_1 = require("../../constant/event"), base_1 = require("../base"), group_1 = require("../../mark/group"), util_1 = require("./util"), vrender_core_1 = require("@visactor/vrender-core"), vrender_components_1 = require("@visactor/vrender-components"), util_2 = require("../../util"), tooltip_helper_1 = require("./tooltip-helper"), liquid_2 = require("../../theme/builtin/common/series/liquid");
7
+ const type_1 = require("../interface/type"), vutils_1 = require("@visactor/vutils"), utils_1 = require("../../animation/utils"), animation_1 = require("./animation"), constant_1 = require("./constant"), factory_1 = require("../../core/factory"), line_mixin_transformer_1 = require("../mixin/line-mixin-transformer"), liquid_1 = require("../../mark/liquid"), attribute_1 = require("../../constant/attribute"), event_1 = require("../../constant/event"), base_1 = require("../base"), group_1 = require("../../mark/group"), util_1 = require("./util"), vrender_bridge_1 = require("../../vrender-bridge"), vrender_components_1 = require("@visactor/vrender-components"), util_2 = require("../../util"), tooltip_helper_1 = require("./tooltip-helper"), liquid_2 = require("../../theme/builtin/common/series/liquid");
8
8
 
9
9
  class LiquidSeries extends base_1.BaseSeries {
10
10
  constructor() {
@@ -44,7 +44,7 @@ class LiquidSeries extends base_1.BaseSeries {
44
44
  let symbolPath;
45
45
  if ("rect" === this._maskShape) {
46
46
  const {x: x, y: y, width: width, height: height} = this._getLiquidBackPosAndSize(isOutline);
47
- symbolPath = (0, vrender_core_1.createRect)({
47
+ symbolPath = (0, vrender_bridge_1.createRect)({
48
48
  x: x - width / 2,
49
49
  y: y - height / 2,
50
50
  width: width,
@@ -53,7 +53,7 @@ class LiquidSeries extends base_1.BaseSeries {
53
53
  });
54
54
  } else {
55
55
  const {x: x, y: y, size: size} = this._getLiquidBackPosAndSize(isOutline);
56
- symbolPath = (0, vrender_core_1.createSymbol)({
56
+ symbolPath = (0, vrender_bridge_1.createSymbol)({
57
57
  x: x,
58
58
  y: y,
59
59
  size: size,
@@ -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, LiquidAppearPreset, LiquidShapeType } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLiquidAnimation } from './animation';\nimport { LiquidSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IGroupMark, IMark, IMarkRaw } from '../../mark/interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport { registerLiquidMark } from '../../mark/liquid';\nimport { AttributeLevel } from '../../constant/attribute';\nimport { ChartEvent } from '../../constant/event';\nimport { BaseSeries } from '../base';\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 type { IColor, IGlyph } 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 { liquid } from '../../theme/builtin/common/series/liquid';\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 builtInTheme = { liquid };\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.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.setMarkConfig({ interactive: false, zIndex: this.layoutZIndex });\n }\n\n private _initLiquidBackgroundMarkStyle() {\n const liquidBackgroundMark = this._liquidBackgroundMark;\n liquidBackgroundMark.created();\n // symbol mark x, y 指定center\n // rect mark x,y 指定左上角\n this.setMarkStyle(\n liquidBackgroundMark,\n {\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.setMarkConfig({ interactive: false, zIndex: this.layoutZIndex, clip: true });\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 getInteractionTriggers() {\n return 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 waveItem = (this._liquidMark.getGraphics()[0] as unknown as IGlyph).getSubGraphic()?.[0];\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 as IColor);\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":"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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, LiquidAppearPreset, LiquidShapeType } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLiquidAnimation } from './animation';\nimport { LiquidSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { IGroupMark, IMark, IMarkRaw } from '../../mark/interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport { registerLiquidMark } from '../../mark/liquid';\nimport { AttributeLevel } from '../../constant/attribute';\nimport { ChartEvent } from '../../constant/event';\nimport { BaseSeries } from '../base';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerGroupMark } from '../../mark/group';\nimport { getShapes } from './util';\nimport { createRect, createSymbol } from '../../vrender-bridge';\nimport type { IColor, IGlyph } 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 { liquid } from '../../theme/builtin/common/series/liquid';\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 builtInTheme = { liquid };\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.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.setMarkConfig({ interactive: false, zIndex: this.layoutZIndex });\n }\n\n private _initLiquidBackgroundMarkStyle() {\n const liquidBackgroundMark = this._liquidBackgroundMark;\n liquidBackgroundMark.created();\n // symbol mark x, y 指定center\n // rect mark x,y 指定左上角\n this.setMarkStyle(\n liquidBackgroundMark,\n {\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.setMarkConfig({ interactive: false, zIndex: this.layoutZIndex, clip: true });\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 getInteractionTriggers() {\n return 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 waveItem = (this._liquidMark.getGraphics()[0] as unknown as IGlyph).getSubGraphic()?.[0];\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 as IColor);\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,6 +1,7 @@
1
1
  import type { EasingType } from '@visactor/vrender-core';
2
2
  import type { IPointLike } from '@visactor/vutils';
3
- import { ACustomAnimate, TagPointsUpdate } from '@visactor/vrender-animate';
3
+ import { ACustomAnimate } from '@visactor/vrender-animate/custom/custom-animate';
4
+ import { TagPointsUpdate } from '@visactor/vrender-animate/custom/tag-points';
4
5
  export declare class PolarPointUpdate extends ACustomAnimate<{
5
6
  x: number;
6
7
  y: number;
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.PolarTagPointsUpdate = exports.PolarPointUpdate = void 0;
6
6
 
7
- const vrender_animate_1 = require("@visactor/vrender-animate"), vutils_1 = require("@visactor/vutils"), util_1 = require("../../util");
7
+ const custom_animate_1 = require("@visactor/vrender-animate/custom/custom-animate"), tag_points_1 = require("@visactor/vrender-animate/custom/tag-points"), vutils_1 = require("@visactor/vutils"), util_1 = require("../../util");
8
8
 
9
- class PolarPointUpdate extends vrender_animate_1.ACustomAnimate {
9
+ class PolarPointUpdate extends custom_animate_1.ACustomAnimate {
10
10
  constructor(from, to, duration, easing, params) {
11
11
  super(from, to, duration, easing, params), this._center = to.center;
12
12
  }
@@ -39,7 +39,7 @@ class PolarPointUpdate extends vrender_animate_1.ACustomAnimate {
39
39
 
40
40
  exports.PolarPointUpdate = PolarPointUpdate;
41
41
 
42
- class PolarTagPointsUpdate extends vrender_animate_1.TagPointsUpdate {
42
+ class PolarTagPointsUpdate extends tag_points_1.TagPointsUpdate {
43
43
  onBind() {
44
44
  super.onBind();
45
45
  const {center: center} = this.target.attribute, {center: centerTo} = this.target.getFinalAttribute();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/polar/animation.ts"],"names":[],"mappings":"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","file":"animation.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { EasingType, ILineAttribute } from '@visactor/vrender-core';\nimport type { IPointLike } from '@visactor/vutils';\nimport { ACustomAnimate, TagPointsUpdate } from '@visactor/vrender-animate';\nimport { Point, isValidNumber, polarToCartesian, cartesianToPolar } from '@visactor/vutils';\nimport { isClose, isValidPoint, normalizeAngle } from '../../util';\nimport type { IPoint } from '../../typings';\n\nexport class PolarPointUpdate extends ACustomAnimate<{ x: number; y: number }> {\n declare valid: boolean;\n\n private _fromAngle: number;\n private _fromRadius: number;\n\n private _toAngle: number;\n private _toRadius: number;\n\n private _center: IPointLike;\n private _prevCenter: IPointLike;\n\n constructor(\n from: { x: number; y: number; center: IPointLike },\n to: { x: number; y: number; center: IPointLike },\n duration: number,\n easing: EasingType,\n params: any\n ) {\n super(from, to, duration, easing, params);\n this._center = to.center;\n }\n\n getEndProps(): Record<string, any> {\n if (this.valid === false) {\n return {};\n }\n return polarToCartesian(this._center, this._toRadius, this._toAngle);\n }\n\n onBind(): void {\n this.from = this.target.attribute as any;\n this.to = this.target.getFinalAttribute();\n this._prevCenter = (this.target.attribute as any).center;\n if (!this._center || !this._prevCenter) {\n this.valid = false;\n }\n const { angle: fromAngle, radius: fromRadius } = cartesianToPolar(this.from, this._prevCenter);\n const { angle: toAngle, radius: toRadius } = cartesianToPolar(this.to, this._center);\n if (!isValidNumber(toAngle * toRadius)) {\n this.valid = false;\n }\n this._fromAngle = isValidNumber(fromAngle) ? fromAngle : toAngle;\n this._fromRadius = isValidNumber(fromRadius) ? fromRadius : toRadius;\n this._toAngle = toAngle;\n this._toRadius = toRadius;\n if (isClose(this._fromAngle, this._toAngle) && isClose(this._fromRadius, this._toRadius)) {\n this.valid = false;\n }\n this.props = this.getEndProps() as any;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.valid === false) {\n out.x = this.to.x;\n out.y = this.to.y;\n return;\n }\n const { x, y } = polarToCartesian(\n {\n x: this._prevCenter.x + (this._center.x - this._prevCenter.x) * ratio,\n y: this._prevCenter.y + (this._center.y - this._prevCenter.y) * ratio\n },\n this._fromRadius + (this._toRadius - this._fromRadius) * ratio,\n this._fromAngle + (this._toAngle - this._fromAngle) * ratio\n );\n this.target.setAttributes({ x, y });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n// @ts-ignore\n// FIXME: some private attribute should be changed to protected for better inheritance\nexport class PolarTagPointsUpdate extends TagPointsUpdate {\n private declare points: IPointLike[];\n private declare interpolatePoints: [IPointLike, IPointLike][];\n\n private _center: IPointLike;\n private _prevCenter: IPointLike;\n\n onBind(): void {\n super.onBind();\n const { center } = this.target.attribute as any;\n const { center: centerTo } = this.target.getFinalAttribute() as any;\n this._center = centerTo;\n this._prevCenter = center;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // if not create new points, multi points animation might not work well.\n this.points = this.points.map((point, index) => {\n const newPoint = this.polarPointInterpolation(\n this.interpolatePoints[index][0],\n this.interpolatePoints[index][1],\n ratio\n );\n if (end) {\n out.center = this._center;\n }\n newPoint.context = point.context;\n return newPoint;\n });\n (this.target.attribute as ILineAttribute).points = this.points;\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n\n private _interpolationSinglePoint(pointA: IPoint, pointB: IPoint, ratio: number): IPoint {\n if (!isValidPoint(pointA) && !isValidPoint(pointB)) {\n return pointB;\n }\n const polarPointA = cartesianToPolar(pointA, this._prevCenter);\n const polarPointB = cartesianToPolar(pointB, this._center);\n let angleA = normalizeAngle(polarPointA.angle);\n let angleB = normalizeAngle(polarPointB.angle);\n\n // handle center point radius\n if (!isValidNumber(angleA) && isValidNumber(angleB)) {\n angleA = angleB;\n }\n if (isValidNumber(angleA) && !isValidNumber(angleB)) {\n angleB = angleA;\n }\n const angle = angleA + (angleB - angleA) * ratio;\n const radius = polarPointA.radius + (polarPointB.radius - polarPointA.radius) * ratio;\n\n return polarToCartesian(\n {\n x: this._prevCenter.x + (this._center.x - this._prevCenter.x) * ratio,\n y: this._prevCenter.y + (this._center.y - this._prevCenter.y) * ratio\n },\n radius,\n angle\n );\n }\n\n private polarPointInterpolation(pointA: IPointLike, pointB: IPointLike, ratio: number): IPointLike {\n const { x, y } = this._interpolationSinglePoint(pointA, pointB, ratio);\n const { x: x1, y: y1 } = this._interpolationSinglePoint(\n {\n x: pointA.x1,\n y: pointA.y1\n },\n {\n x: pointB.x1,\n y: pointB.y1\n },\n ratio\n );\n\n const point = new Point(x as number, y as number, x1, y1);\n point.defined = pointB.defined;\n return point;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/polar/animation.ts"],"names":[],"mappings":"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","file":"animation.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { EasingType, ILineAttribute } from '@visactor/vrender-core';\nimport type { IPointLike } from '@visactor/vutils';\nimport { ACustomAnimate } from '@visactor/vrender-animate/custom/custom-animate';\nimport { TagPointsUpdate } from '@visactor/vrender-animate/custom/tag-points';\nimport { Point, isValidNumber, polarToCartesian, cartesianToPolar } from '@visactor/vutils';\nimport { isClose, isValidPoint, normalizeAngle } from '../../util';\nimport type { IPoint } from '../../typings';\n\nexport class PolarPointUpdate extends ACustomAnimate<{ x: number; y: number }> {\n declare valid: boolean;\n\n private _fromAngle: number;\n private _fromRadius: number;\n\n private _toAngle: number;\n private _toRadius: number;\n\n private _center: IPointLike;\n private _prevCenter: IPointLike;\n\n constructor(\n from: { x: number; y: number; center: IPointLike },\n to: { x: number; y: number; center: IPointLike },\n duration: number,\n easing: EasingType,\n params: any\n ) {\n super(from, to, duration, easing, params);\n this._center = to.center;\n }\n\n getEndProps(): Record<string, any> {\n if (this.valid === false) {\n return {};\n }\n return polarToCartesian(this._center, this._toRadius, this._toAngle);\n }\n\n onBind(): void {\n this.from = this.target.attribute as any;\n this.to = this.target.getFinalAttribute();\n this._prevCenter = (this.target.attribute as any).center;\n if (!this._center || !this._prevCenter) {\n this.valid = false;\n }\n const { angle: fromAngle, radius: fromRadius } = cartesianToPolar(this.from, this._prevCenter);\n const { angle: toAngle, radius: toRadius } = cartesianToPolar(this.to, this._center);\n if (!isValidNumber(toAngle * toRadius)) {\n this.valid = false;\n }\n this._fromAngle = isValidNumber(fromAngle) ? fromAngle : toAngle;\n this._fromRadius = isValidNumber(fromRadius) ? fromRadius : toRadius;\n this._toAngle = toAngle;\n this._toRadius = toRadius;\n if (isClose(this._fromAngle, this._toAngle) && isClose(this._fromRadius, this._toRadius)) {\n this.valid = false;\n }\n this.props = this.getEndProps() as any;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n if (this.valid === false) {\n out.x = this.to.x;\n out.y = this.to.y;\n return;\n }\n const { x, y } = polarToCartesian(\n {\n x: this._prevCenter.x + (this._center.x - this._prevCenter.x) * ratio,\n y: this._prevCenter.y + (this._center.y - this._prevCenter.y) * ratio\n },\n this._fromRadius + (this._toRadius - this._fromRadius) * ratio,\n this._fromAngle + (this._toAngle - this._fromAngle) * ratio\n );\n this.target.setAttributes({ x, y });\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n}\n\n// @ts-ignore\n// FIXME: some private attribute should be changed to protected for better inheritance\nexport class PolarTagPointsUpdate extends TagPointsUpdate {\n private declare points: IPointLike[];\n private declare interpolatePoints: [IPointLike, IPointLike][];\n\n private _center: IPointLike;\n private _prevCenter: IPointLike;\n\n onBind(): void {\n super.onBind();\n const { center } = this.target.attribute as any;\n const { center: centerTo } = this.target.getFinalAttribute() as any;\n this._center = centerTo;\n this._prevCenter = center;\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n // if not create new points, multi points animation might not work well.\n this.points = this.points.map((point, index) => {\n const newPoint = this.polarPointInterpolation(\n this.interpolatePoints[index][0],\n this.interpolatePoints[index][1],\n ratio\n );\n if (end) {\n out.center = this._center;\n }\n newPoint.context = point.context;\n return newPoint;\n });\n (this.target.attribute as ILineAttribute).points = this.points;\n this.target.addUpdatePositionTag();\n this.target.addUpdateShapeAndBoundsTag();\n }\n\n private _interpolationSinglePoint(pointA: IPoint, pointB: IPoint, ratio: number): IPoint {\n if (!isValidPoint(pointA) && !isValidPoint(pointB)) {\n return pointB;\n }\n const polarPointA = cartesianToPolar(pointA, this._prevCenter);\n const polarPointB = cartesianToPolar(pointB, this._center);\n let angleA = normalizeAngle(polarPointA.angle);\n let angleB = normalizeAngle(polarPointB.angle);\n\n // handle center point radius\n if (!isValidNumber(angleA) && isValidNumber(angleB)) {\n angleA = angleB;\n }\n if (isValidNumber(angleA) && !isValidNumber(angleB)) {\n angleB = angleA;\n }\n const angle = angleA + (angleB - angleA) * ratio;\n const radius = polarPointA.radius + (polarPointB.radius - polarPointA.radius) * ratio;\n\n return polarToCartesian(\n {\n x: this._prevCenter.x + (this._center.x - this._prevCenter.x) * ratio,\n y: this._prevCenter.y + (this._center.y - this._prevCenter.y) * ratio\n },\n radius,\n angle\n );\n }\n\n private polarPointInterpolation(pointA: IPointLike, pointB: IPointLike, ratio: number): IPointLike {\n const { x, y } = this._interpolationSinglePoint(pointA, pointB, ratio);\n const { x: x1, y: y1 } = this._interpolationSinglePoint(\n {\n x: pointA.x1,\n y: pointA.y1\n },\n {\n x: pointB.x1,\n y: pointB.y1\n },\n ratio\n );\n\n const point = new Point(x as number, y as number, x1, y1);\n point.defined = pointB.defined;\n return point;\n }\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.ProgressLikeSeries = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), data_1 = require("../../../constant/data"), polar_1 = require("../../../constant/polar"), attribute_1 = require("../../../constant/attribute"), scale_1 = require("../../../util/scale"), polar_2 = require("../polar"), vrender_core_1 = require("@visactor/vrender-core"), constant_1 = require("./constant"), PROGRESS_LIKE_SERIES_COMPILE_ONLY_KEYS = {
7
+ const vutils_1 = require("@visactor/vutils"), data_1 = require("../../../constant/data"), polar_1 = require("../../../constant/polar"), attribute_1 = require("../../../constant/attribute"), scale_1 = require("../../../util/scale"), polar_2 = require("../polar"), vrender_bridge_1 = require("../../../vrender-bridge"), constant_1 = require("./constant"), PROGRESS_LIKE_SERIES_COMPILE_ONLY_KEYS = {
8
8
  radius: !0,
9
9
  outerRadius: !0,
10
10
  innerRadius: !0,
@@ -129,7 +129,7 @@ class ProgressLikeSeries extends polar_2.PolarSeries {
129
129
  return subTickData.map((({value: value}) => {
130
130
  const pos = this.angleAxisHelper.dataToPosition([ value ]) + (0, vutils_1.degreeToRadian)(offsetAngle), angleUnit = (0,
131
131
  vutils_1.degreeToRadian)(angle) / 2;
132
- return (0, vrender_core_1.createArc)(Object.assign(Object.assign({}, markStyle), {
132
+ return (0, vrender_bridge_1.createArc)(Object.assign(Object.assign({}, markStyle), {
133
133
  x: x,
134
134
  y: y,
135
135
  startAngle: pos - angleUnit,
@@ -141,7 +141,7 @@ class ProgressLikeSeries extends polar_2.PolarSeries {
141
141
  }));
142
142
  }
143
143
  const {width: width, height: height} = this.getLayoutRect();
144
- return [ (0, vrender_core_1.createRect)({
144
+ return [ (0, vrender_bridge_1.createRect)({
145
145
  width: width,
146
146
  height: height,
147
147
  fill: !0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/polar/progress-like/progress-like.ts"],"names":[],"mappings":"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","file":"progress-like.js","sourcesContent":["import { degreeToRadian, isNil, isValid, isValidNumber, binaryFuzzySearch } from '@visactor/vutils';\nimport { SEGMENT_FIELD_START, STACK_FIELD_END, STACK_FIELD_START } from '../../../constant/data';\nimport { POLAR_END_RADIAN, POLAR_START_RADIAN } from '../../../constant/polar';\nimport { AttributeLevel } from '../../../constant/attribute';\nimport type { IGroupMark, IMarkStyle } from '../../../mark/interface';\nimport type { ConvertToMarkStyleSpec, Datum, ICommonSpec } from '../../../typings';\nimport { valueInScaleRange } from '../../../util/scale';\nimport { PolarSeries } from '../polar';\nimport type { IContinuousTickData, IProgressLikeSeriesSpec } from './interface';\nimport type { IPolarAxis, IPolarAxisSpec } from '../../../component/axis';\nimport { createArc, createRect } from '@visactor/vrender-core';\nimport type { SeriesMarkMap } from '../../interface';\nimport { progressLikeSeriesMark } from './constant';\nimport type { ISeriesSpecUpdatePolicy } from '../../base/base-series';\n\nconst PROGRESS_LIKE_SERIES_COMPILE_ONLY_KEYS: Record<\n 'radius' | 'outerRadius' | 'innerRadius' | 'startAngle' | 'endAngle' | 'centerX' | 'centerY' | 'clamp',\n true\n> = {\n radius: true,\n outerRadius: true,\n innerRadius: true,\n startAngle: true,\n endAngle: true,\n centerX: true,\n centerY: true,\n clamp: true\n};\n\nexport abstract class ProgressLikeSeries<T extends IProgressLikeSeriesSpec> extends PolarSeries<T> {\n static readonly mark: SeriesMarkMap = progressLikeSeriesMark;\n\n protected _startAngle: number;\n protected _endAngle: number;\n\n protected _arcGroupMark: IGroupMark | null = null;\n\n protected _getSpecUpdatePolicy(): ISeriesSpecUpdatePolicy {\n const policy = super._getSpecUpdatePolicy();\n return {\n ...policy,\n compileOnlyKeys: {\n ...policy.compileOnlyKeys,\n ...PROGRESS_LIKE_SERIES_COMPILE_ONLY_KEYS\n }\n };\n }\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n const chartSpec = this._option.globalInstance.getChart()?.getSpec() as any;\n const startAngle = this._spec.startAngle ?? chartSpec?.startAngle;\n this._startAngle = isValid(startAngle) ? degreeToRadian(startAngle) : POLAR_START_RADIAN;\n const endAngle = this._spec.endAngle ?? chartSpec?.endAngle;\n this._endAngle = isValid(endAngle) ? degreeToRadian(endAngle) : POLAR_END_RADIAN;\n\n // 值信息给角度\n this.setAngleField(this._spec.valueField || this._spec.angleField);\n // 分类信息给半径\n this.setRadiusField(this._spec.categoryField || this._spec.radiusField);\n\n this._specAngleField = this._angleField.slice();\n this._specRadiusField = this._radiusField.slice();\n }\n\n getStackGroupFields(): string[] {\n return this._radiusField;\n }\n\n getStackValueField() {\n return this._angleField?.[0];\n }\n\n getGroupFields() {\n return this._angleField;\n }\n\n /** 重载 mark style 赋值前转换逻辑 */\n protected _convertMarkStyle<T extends ICommonSpec = ICommonSpec>(\n style: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>\n ): Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>> {\n const newStyle = super._convertMarkStyle(style) as unknown as any;\n\n const fillKey = 'fill';\n if (newStyle[fillKey]) {\n const value = style[fillKey] as unknown as any;\n // 为环形渐变色自动加 startAngle 和 endAngle\n if (value?.gradient === 'conical' && !isValid(value?.startAngle) && !isValid(value?.endAngle)) {\n newStyle[fillKey] = {\n ...value,\n startAngle: this._startAngle,\n endAngle: this._endAngle\n };\n }\n }\n\n return newStyle;\n }\n\n protected _getAngleValueStart = (datum: Datum) => {\n const axis = this._getAngleAxis();\n const { tickMask } = this._spec;\n\n if (tickMask?.forceAlign && this._isTickMaskVisible(axis)) {\n const field = this.getStack() ? STACK_FIELD_START : SEGMENT_FIELD_START;\n const originValue = datum[field];\n const subTickData = this._getAngleAxisSubTickData(axis);\n const step = subTickData[1].value - subTickData[0].value;\n const offsetAngle = degreeToRadian(tickMask.offsetAngle);\n\n let pos: number | undefined;\n if (isValid(originValue)) {\n // 找到第一个大于等于数据值的 tick\n const index = binaryFuzzySearch(subTickData, tick => tick.value - originValue);\n // 对齐\n const targetIndex =\n index >= subTickData.length || originValue > subTickData[index].value - step / 2\n ? Math.min(index, subTickData.length - 1)\n : index > 0\n ? index - 1\n : undefined;\n if (targetIndex !== undefined) {\n pos = this.angleAxisHelper.dataToPosition([\n subTickData[targetIndex].value - step / 2 // 确保占满整个 tick mask\n ]);\n }\n }\n if (isNil(pos)) {\n pos = this.angleAxisHelper.dataToPosition(\n [subTickData[0].value - step / 2] // 确保空出整个 tick mask\n );\n }\n return pos + offsetAngle;\n }\n return this._getAngleValueStartWithoutMask(datum);\n };\n\n protected _getAngleValueEnd = (datum: Datum) => {\n const axis = this._getAngleAxis();\n const { tickMask } = this._spec;\n\n if (tickMask?.forceAlign && this._isTickMaskVisible(axis)) {\n const field = this.getStack() ? STACK_FIELD_END : this._angleField[0];\n const originValue = datum[field];\n const subTickData = this._getAngleAxisSubTickData(axis);\n const step = subTickData[1].value - subTickData[0].value;\n const offsetAngle = degreeToRadian(tickMask.offsetAngle);\n\n // 找到第一个大于等于数据值的 tick\n const index = binaryFuzzySearch(subTickData, tick => tick.value - originValue);\n // 对齐\n const targetIndex =\n index >= subTickData.length || originValue > subTickData[index].value - step / 2\n ? Math.min(index, subTickData.length - 1)\n : index > 0\n ? index - 1\n : undefined;\n let pos: number;\n if (targetIndex !== undefined) {\n pos = this.angleAxisHelper.dataToPosition([\n subTickData[targetIndex].value + step / 2 // 确保占满整个 tick mask\n ]);\n } else {\n pos = this.angleAxisHelper.dataToPosition([\n subTickData[0].value - step / 2 // 确保空出整个 tick mask\n ]);\n }\n return pos + offsetAngle;\n }\n return this._getAngleValueEndWithoutMask(datum);\n };\n\n protected _getAngleValueStartWithoutMask(datum: Datum) {\n if (this.getStack()) {\n const value = valueInScaleRange(\n this.angleAxisHelper.dataToPosition([datum[STACK_FIELD_START]]),\n this.angleAxisHelper.getScale(0)\n );\n if (isValidNumber(value)) {\n return value;\n }\n }\n return this._startAngle;\n }\n\n protected _getAngleValueEndWithoutMask(datum: Datum) {\n if (this.getStack()) {\n const value = valueInScaleRange(\n this.angleAxisHelper.dataToPosition([datum[STACK_FIELD_END]]),\n this.angleAxisHelper.getScale(0)\n );\n if (isValidNumber(value)) {\n return value;\n }\n }\n const angle = this.angleAxisHelper.dataToPosition([datum[this._angleField[0]]]);\n return this._spec.clamp ? valueInScaleRange(angle, this.angleAxisHelper.getScale(0)) : angle;\n }\n\n getDimensionField(): string[] {\n return this._specRadiusField;\n }\n\n getMeasureField(): string[] {\n return this._specAngleField;\n }\n\n initMark(): void {\n this._initArcGroupMark();\n }\n\n initMarkStyle(): void {\n this._initArcGroupMarkStyle();\n }\n\n protected _initArcGroupMark() {\n // FIXME: disable group mark layout to prevent reevaluate after layout end\n this._arcGroupMark = this._createMark(ProgressLikeSeries.mark.group, {\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._arcGroupMark;\n }\n\n protected _initArcGroupMarkStyle() {\n const groupMark = this._arcGroupMark;\n groupMark.created();\n this.setMarkStyle(\n groupMark,\n {\n x: 0,\n y: 0\n },\n 'normal',\n AttributeLevel.Series\n );\n this._arcGroupMark.setMarkConfig({\n interactive: false,\n zIndex: this.layoutZIndex,\n clip: true,\n clipPath: () => {\n const axis = this._getAngleAxis();\n const { x, y } = this.angleAxisHelper.center();\n const radius = this._computeLayoutRadius();\n if (this._isTickMaskVisible(axis)) {\n const { tickMask } = this._spec;\n const { angle, offsetAngle, style = {} } = tickMask;\n const subTickData = this._getAngleAxisSubTickData(axis);\n const markStyle = style as any;\n return subTickData.map(({ value }) => {\n const pos = this.angleAxisHelper.dataToPosition([value]) + degreeToRadian(offsetAngle);\n const angleUnit = degreeToRadian(angle) / 2;\n return createArc({\n ...markStyle,\n x,\n y,\n startAngle: pos - angleUnit,\n endAngle: pos + angleUnit,\n innerRadius: radius * this._innerRadius,\n outerRadius: radius * this._outerRadius,\n fill: true\n });\n });\n }\n const { width, height } = this.getLayoutRect();\n return [\n createRect({\n width,\n height,\n fill: true\n })\n ];\n }\n });\n }\n\n protected _getAngleAxis() {\n if (!this.angleAxisHelper) {\n return undefined;\n }\n const angleAxisId = this.angleAxisHelper.getAxisId();\n const angleAxis = this._option\n .getChart()\n .getAllComponents()\n .find(component => component.id === angleAxisId) as IPolarAxis;\n return angleAxis;\n }\n\n protected _getAngleAxisTickData(angleAxis?: IPolarAxis): IContinuousTickData[] {\n const tickData = angleAxis?.getTickData()?.getLatestData();\n return tickData;\n }\n\n protected _isTickMaskVisible(angleAxis?: IPolarAxis) {\n const tickData = this._getAngleAxisTickData(angleAxis);\n const { tickMask } = this._spec;\n return tickMask && tickMask.visible !== false && tickData?.length > 1;\n }\n\n protected _getAngleAxisSubTickData(angleAxis: IPolarAxis) {\n const tickData = this._getAngleAxisTickData(angleAxis);\n // TODO: 这块照搬了 vrender-components 的计算方法,需要抽出这块的公用逻辑\n const subTickData: IContinuousTickData[] = [];\n const { subTick = {}, tick = {} } = (angleAxis?.getSpec() ?? {}) as IPolarAxisSpec;\n const { tickCount: subTickCount = 4 } = subTick;\n const { alignWithLabel } = tick;\n // 刻度线的数量大于 2 时,才绘制子刻度\n if (tickData?.length >= 2) {\n const tickSegment = tickData[1].value - tickData[0].value;\n for (let i = 0; i < tickData.length - 1; i++) {\n const pre = tickData[i];\n const next = tickData[i + 1];\n subTickData.push(pre);\n for (let j = 0; j < subTickCount; j++) {\n const percent = (j + 1) / (subTickCount + 1);\n const value =\n (1 - percent) * pre.value + percent * (next ? next.value : alignWithLabel ? 1 : pre.value + tickSegment);\n subTickData.push({\n value\n });\n }\n }\n subTickData.push(tickData[tickData.length - 1]);\n return subTickData;\n }\n return tickData;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/series/polar/progress-like/progress-like.ts"],"names":[],"mappings":"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","file":"progress-like.js","sourcesContent":["import { degreeToRadian, isNil, isValid, isValidNumber, binaryFuzzySearch } from '@visactor/vutils';\nimport { SEGMENT_FIELD_START, STACK_FIELD_END, STACK_FIELD_START } from '../../../constant/data';\nimport { POLAR_END_RADIAN, POLAR_START_RADIAN } from '../../../constant/polar';\nimport { AttributeLevel } from '../../../constant/attribute';\nimport type { IGroupMark, IMarkStyle } from '../../../mark/interface';\nimport type { ConvertToMarkStyleSpec, Datum, ICommonSpec } from '../../../typings';\nimport { valueInScaleRange } from '../../../util/scale';\nimport { PolarSeries } from '../polar';\nimport type { IContinuousTickData, IProgressLikeSeriesSpec } from './interface';\nimport type { IPolarAxis, IPolarAxisSpec } from '../../../component/axis';\nimport { createArc, createRect } from '../../../vrender-bridge';\nimport type { SeriesMarkMap } from '../../interface';\nimport { progressLikeSeriesMark } from './constant';\nimport type { ISeriesSpecUpdatePolicy } from '../../base/base-series';\n\nconst PROGRESS_LIKE_SERIES_COMPILE_ONLY_KEYS: Record<\n 'radius' | 'outerRadius' | 'innerRadius' | 'startAngle' | 'endAngle' | 'centerX' | 'centerY' | 'clamp',\n true\n> = {\n radius: true,\n outerRadius: true,\n innerRadius: true,\n startAngle: true,\n endAngle: true,\n centerX: true,\n centerY: true,\n clamp: true\n};\n\nexport abstract class ProgressLikeSeries<T extends IProgressLikeSeriesSpec> extends PolarSeries<T> {\n static readonly mark: SeriesMarkMap = progressLikeSeriesMark;\n\n protected _startAngle: number;\n protected _endAngle: number;\n\n protected _arcGroupMark: IGroupMark | null = null;\n\n protected _getSpecUpdatePolicy(): ISeriesSpecUpdatePolicy {\n const policy = super._getSpecUpdatePolicy();\n return {\n ...policy,\n compileOnlyKeys: {\n ...policy.compileOnlyKeys,\n ...PROGRESS_LIKE_SERIES_COMPILE_ONLY_KEYS\n }\n };\n }\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n const chartSpec = this._option.globalInstance.getChart()?.getSpec() as any;\n const startAngle = this._spec.startAngle ?? chartSpec?.startAngle;\n this._startAngle = isValid(startAngle) ? degreeToRadian(startAngle) : POLAR_START_RADIAN;\n const endAngle = this._spec.endAngle ?? chartSpec?.endAngle;\n this._endAngle = isValid(endAngle) ? degreeToRadian(endAngle) : POLAR_END_RADIAN;\n\n // 值信息给角度\n this.setAngleField(this._spec.valueField || this._spec.angleField);\n // 分类信息给半径\n this.setRadiusField(this._spec.categoryField || this._spec.radiusField);\n\n this._specAngleField = this._angleField.slice();\n this._specRadiusField = this._radiusField.slice();\n }\n\n getStackGroupFields(): string[] {\n return this._radiusField;\n }\n\n getStackValueField() {\n return this._angleField?.[0];\n }\n\n getGroupFields() {\n return this._angleField;\n }\n\n /** 重载 mark style 赋值前转换逻辑 */\n protected _convertMarkStyle<T extends ICommonSpec = ICommonSpec>(\n style: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>\n ): Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>> {\n const newStyle = super._convertMarkStyle(style) as unknown as any;\n\n const fillKey = 'fill';\n if (newStyle[fillKey]) {\n const value = style[fillKey] as unknown as any;\n // 为环形渐变色自动加 startAngle 和 endAngle\n if (value?.gradient === 'conical' && !isValid(value?.startAngle) && !isValid(value?.endAngle)) {\n newStyle[fillKey] = {\n ...value,\n startAngle: this._startAngle,\n endAngle: this._endAngle\n };\n }\n }\n\n return newStyle;\n }\n\n protected _getAngleValueStart = (datum: Datum) => {\n const axis = this._getAngleAxis();\n const { tickMask } = this._spec;\n\n if (tickMask?.forceAlign && this._isTickMaskVisible(axis)) {\n const field = this.getStack() ? STACK_FIELD_START : SEGMENT_FIELD_START;\n const originValue = datum[field];\n const subTickData = this._getAngleAxisSubTickData(axis);\n const step = subTickData[1].value - subTickData[0].value;\n const offsetAngle = degreeToRadian(tickMask.offsetAngle);\n\n let pos: number | undefined;\n if (isValid(originValue)) {\n // 找到第一个大于等于数据值的 tick\n const index = binaryFuzzySearch(subTickData, tick => tick.value - originValue);\n // 对齐\n const targetIndex =\n index >= subTickData.length || originValue > subTickData[index].value - step / 2\n ? Math.min(index, subTickData.length - 1)\n : index > 0\n ? index - 1\n : undefined;\n if (targetIndex !== undefined) {\n pos = this.angleAxisHelper.dataToPosition([\n subTickData[targetIndex].value - step / 2 // 确保占满整个 tick mask\n ]);\n }\n }\n if (isNil(pos)) {\n pos = this.angleAxisHelper.dataToPosition(\n [subTickData[0].value - step / 2] // 确保空出整个 tick mask\n );\n }\n return pos + offsetAngle;\n }\n return this._getAngleValueStartWithoutMask(datum);\n };\n\n protected _getAngleValueEnd = (datum: Datum) => {\n const axis = this._getAngleAxis();\n const { tickMask } = this._spec;\n\n if (tickMask?.forceAlign && this._isTickMaskVisible(axis)) {\n const field = this.getStack() ? STACK_FIELD_END : this._angleField[0];\n const originValue = datum[field];\n const subTickData = this._getAngleAxisSubTickData(axis);\n const step = subTickData[1].value - subTickData[0].value;\n const offsetAngle = degreeToRadian(tickMask.offsetAngle);\n\n // 找到第一个大于等于数据值的 tick\n const index = binaryFuzzySearch(subTickData, tick => tick.value - originValue);\n // 对齐\n const targetIndex =\n index >= subTickData.length || originValue > subTickData[index].value - step / 2\n ? Math.min(index, subTickData.length - 1)\n : index > 0\n ? index - 1\n : undefined;\n let pos: number;\n if (targetIndex !== undefined) {\n pos = this.angleAxisHelper.dataToPosition([\n subTickData[targetIndex].value + step / 2 // 确保占满整个 tick mask\n ]);\n } else {\n pos = this.angleAxisHelper.dataToPosition([\n subTickData[0].value - step / 2 // 确保空出整个 tick mask\n ]);\n }\n return pos + offsetAngle;\n }\n return this._getAngleValueEndWithoutMask(datum);\n };\n\n protected _getAngleValueStartWithoutMask(datum: Datum) {\n if (this.getStack()) {\n const value = valueInScaleRange(\n this.angleAxisHelper.dataToPosition([datum[STACK_FIELD_START]]),\n this.angleAxisHelper.getScale(0)\n );\n if (isValidNumber(value)) {\n return value;\n }\n }\n return this._startAngle;\n }\n\n protected _getAngleValueEndWithoutMask(datum: Datum) {\n if (this.getStack()) {\n const value = valueInScaleRange(\n this.angleAxisHelper.dataToPosition([datum[STACK_FIELD_END]]),\n this.angleAxisHelper.getScale(0)\n );\n if (isValidNumber(value)) {\n return value;\n }\n }\n const angle = this.angleAxisHelper.dataToPosition([datum[this._angleField[0]]]);\n return this._spec.clamp ? valueInScaleRange(angle, this.angleAxisHelper.getScale(0)) : angle;\n }\n\n getDimensionField(): string[] {\n return this._specRadiusField;\n }\n\n getMeasureField(): string[] {\n return this._specAngleField;\n }\n\n initMark(): void {\n this._initArcGroupMark();\n }\n\n initMarkStyle(): void {\n this._initArcGroupMarkStyle();\n }\n\n protected _initArcGroupMark() {\n // FIXME: disable group mark layout to prevent reevaluate after layout end\n this._arcGroupMark = this._createMark(ProgressLikeSeries.mark.group, {\n skipBeforeLayouted: false\n }) as IGroupMark;\n return this._arcGroupMark;\n }\n\n protected _initArcGroupMarkStyle() {\n const groupMark = this._arcGroupMark;\n groupMark.created();\n this.setMarkStyle(\n groupMark,\n {\n x: 0,\n y: 0\n },\n 'normal',\n AttributeLevel.Series\n );\n this._arcGroupMark.setMarkConfig({\n interactive: false,\n zIndex: this.layoutZIndex,\n clip: true,\n clipPath: () => {\n const axis = this._getAngleAxis();\n const { x, y } = this.angleAxisHelper.center();\n const radius = this._computeLayoutRadius();\n if (this._isTickMaskVisible(axis)) {\n const { tickMask } = this._spec;\n const { angle, offsetAngle, style = {} } = tickMask;\n const subTickData = this._getAngleAxisSubTickData(axis);\n const markStyle = style as any;\n return subTickData.map(({ value }) => {\n const pos = this.angleAxisHelper.dataToPosition([value]) + degreeToRadian(offsetAngle);\n const angleUnit = degreeToRadian(angle) / 2;\n return createArc({\n ...markStyle,\n x,\n y,\n startAngle: pos - angleUnit,\n endAngle: pos + angleUnit,\n innerRadius: radius * this._innerRadius,\n outerRadius: radius * this._outerRadius,\n fill: true\n });\n });\n }\n const { width, height } = this.getLayoutRect();\n return [\n createRect({\n width,\n height,\n fill: true\n })\n ];\n }\n });\n }\n\n protected _getAngleAxis() {\n if (!this.angleAxisHelper) {\n return undefined;\n }\n const angleAxisId = this.angleAxisHelper.getAxisId();\n const angleAxis = this._option\n .getChart()\n .getAllComponents()\n .find(component => component.id === angleAxisId) as IPolarAxis;\n return angleAxis;\n }\n\n protected _getAngleAxisTickData(angleAxis?: IPolarAxis): IContinuousTickData[] {\n const tickData = angleAxis?.getTickData()?.getLatestData();\n return tickData;\n }\n\n protected _isTickMaskVisible(angleAxis?: IPolarAxis) {\n const tickData = this._getAngleAxisTickData(angleAxis);\n const { tickMask } = this._spec;\n return tickMask && tickMask.visible !== false && tickData?.length > 1;\n }\n\n protected _getAngleAxisSubTickData(angleAxis: IPolarAxis) {\n const tickData = this._getAngleAxisTickData(angleAxis);\n // TODO: 这块照搬了 vrender-components 的计算方法,需要抽出这块的公用逻辑\n const subTickData: IContinuousTickData[] = [];\n const { subTick = {}, tick = {} } = (angleAxis?.getSpec() ?? {}) as IPolarAxisSpec;\n const { tickCount: subTickCount = 4 } = subTick;\n const { alignWithLabel } = tick;\n // 刻度线的数量大于 2 时,才绘制子刻度\n if (tickData?.length >= 2) {\n const tickSegment = tickData[1].value - tickData[0].value;\n for (let i = 0; i < tickData.length - 1; i++) {\n const pre = tickData[i];\n const next = tickData[i + 1];\n subTickData.push(pre);\n for (let j = 0; j < subTickCount; j++) {\n const percent = (j + 1) / (subTickCount + 1);\n const value =\n (1 - percent) * pre.value + percent * (next ? next.value : alignWithLabel ? 1 : pre.value + tickSegment);\n subTickData.push({\n value\n });\n }\n }\n subTickData.push(tickData[tickData.length - 1]);\n return subTickData;\n }\n return tickData;\n }\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerRadarAnimation = exports.radarGroupClipAnimation = exports.radarSymbolPresetAnimation = exports.radarSymbolMoveAnimation = exports.radarPresetAnimation = exports.radarGrowAnimation = exports.radarFadeAnimation = void 0;
6
6
 
7
- const vrender_animate_1 = require("@visactor/vrender-animate"), factory_1 = require("../../core/factory"), animation_1 = require("../polar/animation"), config_1 = require("../../animation/config"), register_arc_1 = require("@visactor/vrender-kits/register/register-arc"), radarFadeAnimation = animationType => ({
7
+ const clip_graphic_1 = require("@visactor/vrender-animate/custom/clip-graphic"), factory_1 = require("../../core/factory"), animation_1 = require("../polar/animation"), config_1 = require("../../animation/config"), register_arc_1 = require("@visactor/vrender-kits/register/register-arc"), radarFadeAnimation = animationType => ({
8
8
  type: "in" === animationType ? "fadeIn" : "fadeOut"
9
9
  });
10
10
 
@@ -65,7 +65,7 @@ function radarSymbolPresetAnimation(params, preset, animationType) {
65
65
  exports.radarSymbolMoveAnimation = radarSymbolMoveAnimation, exports.radarSymbolPresetAnimation = radarSymbolPresetAnimation;
66
66
 
67
67
  const radarGroupClipAnimation = (params, animationType) => ({
68
- custom: vrender_animate_1.ClipAngleAnimate,
68
+ custom: clip_graphic_1.ClipAngleAnimate,
69
69
  customParameters: (datum, graphic) => {
70
70
  var _a;
71
71
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/radar/animation.ts"],"names":[],"mappings":"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","file":"animation.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender-core';\nimport { ClipAngleAnimate, AnimateExecutor } from '@visactor/vrender-animate';\nimport { Factory } from '../../core/factory';\nimport { PolarPointUpdate, PolarTagPointsUpdate } from '../polar/animation';\nimport { DEFAULT_ANIMATION_CONFIG } from '../../animation/config';\nimport { registerArc } from '@visactor/vrender-kits/register/register-arc';\nimport type { IRadarAnimationParams, RadarAppearPreset } from './interface';\nimport type { IAnimationTypeConfig, MarkAnimationSpec } from '../../animation/interface';\nimport type { Datum } from '../../typings/common';\n\nexport const radarFadeAnimation = (animationType: 'in' | 'out') => ({\n type: animationType === 'in' ? 'fadeIn' : 'fadeOut'\n});\n\nexport const radarGrowAnimation = (params: IRadarAnimationParams, animationType: 'in' | 'out') => ({\n type: animationType === 'in' ? 'growPointsIn' : 'growPointsOut',\n options: () => ({\n center: params.center()\n })\n});\n\nexport function radarPresetAnimation(\n params: IRadarAnimationParams,\n preset: RadarAppearPreset,\n animationType: 'in' | 'out'\n) {\n switch (preset) {\n case 'fadeIn':\n return radarFadeAnimation(animationType);\n case 'clipIn':\n case 'grow':\n default:\n return radarGrowAnimation(params, animationType);\n }\n}\n\nexport const radarSymbolMoveAnimation = (params: IRadarAnimationParams, animationType: 'in' | 'out') => {\n const xFrom = () => params.center()?.x;\n const xTo = (datum: Datum, element: IGraphic) => element.getGraphicAttribute('x');\n const yFrom = () => params.center()?.y;\n const yTo = (datum: Datum, element: IGraphic) => element.getGraphicAttribute('y');\n if (animationType === 'in') {\n return {\n channel: {\n x: { from: xFrom, to: xTo },\n y: { from: yFrom, to: yTo }\n }\n };\n }\n return {\n channel: {\n x: { from: xTo, to: xFrom },\n y: { from: yTo, to: yFrom }\n }\n };\n};\n\nexport function radarSymbolPresetAnimation(\n params: IRadarAnimationParams,\n preset: RadarAppearPreset,\n animationType: 'in' | 'out'\n) {\n switch (preset) {\n case 'fadeIn':\n return radarFadeAnimation(animationType);\n case 'clipIn':\n case 'grow':\n default:\n return radarSymbolMoveAnimation(params, animationType);\n }\n}\n\nexport const radarGroupClipAnimation = (\n params: IRadarAnimationParams,\n animationType: 'in' | 'out'\n): IAnimationTypeConfig => {\n return {\n custom: ClipAngleAnimate,\n customParameters: (datum: any, graphic: IGraphic) => {\n return {\n group: graphic,\n startAngle: params.startAngle ?? Math.PI / 2,\n orient: 'clockwise',\n center: params.center(),\n radius: params.radius(),\n animationType\n };\n }\n };\n};\n\nexport const registerRadarAnimation = () => {\n Factory.registerAnimation('radar', (params: IRadarAnimationParams, preset: RadarAppearPreset) => {\n return {\n appear: preset === 'clipIn' ? undefined : radarPresetAnimation(params, preset, 'in'),\n enter: radarPresetAnimation(params, preset, 'in'),\n exit: radarPresetAnimation(params, preset, 'out'),\n disappear: preset === 'clipIn' ? undefined : { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration },\n update: [\n {\n channel: ['points', 'center'],\n custom: PolarTagPointsUpdate,\n customParameters: params,\n duration: DEFAULT_ANIMATION_CONFIG.update.duration,\n easing: DEFAULT_ANIMATION_CONFIG.update.easing\n },\n {\n type: 'update',\n options: { excludeChannels: ['points', 'defined', 'center'] }\n }\n ]\n } as MarkAnimationSpec;\n });\n Factory.registerAnimation(\n 'radarSymbol',\n (params: IRadarAnimationParams, preset: RadarAppearPreset) =>\n ({\n appear: preset === 'clipIn' ? undefined : radarSymbolPresetAnimation(params, preset, 'in'),\n enter: { type: 'scaleIn' },\n exit: { type: 'scaleOut' },\n disappear: preset === 'clipIn' ? undefined : { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration },\n update: [\n {\n options: { excludeChannels: ['x', 'y', 'center'] }\n },\n {\n channel: ['x', 'y', 'center'],\n custom: PolarPointUpdate,\n customParameters: params,\n duration: DEFAULT_ANIMATION_CONFIG.update.duration,\n easing: DEFAULT_ANIMATION_CONFIG.update.easing\n }\n ]\n } as MarkAnimationSpec)\n );\n Factory.registerAnimation('radarGroup', (params: IRadarAnimationParams, preset: RadarAppearPreset) => {\n return {\n appear: radarGroupClipAnimation(params, 'in'),\n disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }\n };\n });\n registerArc(); // clipAngle animation will use arc graphic\n};\n"]}
1
+ {"version":3,"sources":["../src/series/radar/animation.ts"],"names":[],"mappings":"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","file":"animation.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender-core';\nimport { ClipAngleAnimate } from '@visactor/vrender-animate/custom/clip-graphic';\nimport { AnimateExecutor } from '@visactor/vrender-animate/executor/animate-executor';\nimport { Factory } from '../../core/factory';\nimport { PolarPointUpdate, PolarTagPointsUpdate } from '../polar/animation';\nimport { DEFAULT_ANIMATION_CONFIG } from '../../animation/config';\nimport { registerArc } from '@visactor/vrender-kits/register/register-arc';\nimport type { IRadarAnimationParams, RadarAppearPreset } from './interface';\nimport type { IAnimationTypeConfig, MarkAnimationSpec } from '../../animation/interface';\nimport type { Datum } from '../../typings/common';\n\nexport const radarFadeAnimation = (animationType: 'in' | 'out') => ({\n type: animationType === 'in' ? 'fadeIn' : 'fadeOut'\n});\n\nexport const radarGrowAnimation = (params: IRadarAnimationParams, animationType: 'in' | 'out') => ({\n type: animationType === 'in' ? 'growPointsIn' : 'growPointsOut',\n options: () => ({\n center: params.center()\n })\n});\n\nexport function radarPresetAnimation(\n params: IRadarAnimationParams,\n preset: RadarAppearPreset,\n animationType: 'in' | 'out'\n) {\n switch (preset) {\n case 'fadeIn':\n return radarFadeAnimation(animationType);\n case 'clipIn':\n case 'grow':\n default:\n return radarGrowAnimation(params, animationType);\n }\n}\n\nexport const radarSymbolMoveAnimation = (params: IRadarAnimationParams, animationType: 'in' | 'out') => {\n const xFrom = () => params.center()?.x;\n const xTo = (datum: Datum, element: IGraphic) => element.getGraphicAttribute('x');\n const yFrom = () => params.center()?.y;\n const yTo = (datum: Datum, element: IGraphic) => element.getGraphicAttribute('y');\n if (animationType === 'in') {\n return {\n channel: {\n x: { from: xFrom, to: xTo },\n y: { from: yFrom, to: yTo }\n }\n };\n }\n return {\n channel: {\n x: { from: xTo, to: xFrom },\n y: { from: yTo, to: yFrom }\n }\n };\n};\n\nexport function radarSymbolPresetAnimation(\n params: IRadarAnimationParams,\n preset: RadarAppearPreset,\n animationType: 'in' | 'out'\n) {\n switch (preset) {\n case 'fadeIn':\n return radarFadeAnimation(animationType);\n case 'clipIn':\n case 'grow':\n default:\n return radarSymbolMoveAnimation(params, animationType);\n }\n}\n\nexport const radarGroupClipAnimation = (\n params: IRadarAnimationParams,\n animationType: 'in' | 'out'\n): IAnimationTypeConfig => {\n return {\n custom: ClipAngleAnimate,\n customParameters: (datum: any, graphic: IGraphic) => {\n return {\n group: graphic,\n startAngle: params.startAngle ?? Math.PI / 2,\n orient: 'clockwise',\n center: params.center(),\n radius: params.radius(),\n animationType\n };\n }\n };\n};\n\nexport const registerRadarAnimation = () => {\n Factory.registerAnimation('radar', (params: IRadarAnimationParams, preset: RadarAppearPreset) => {\n return {\n appear: preset === 'clipIn' ? undefined : radarPresetAnimation(params, preset, 'in'),\n enter: radarPresetAnimation(params, preset, 'in'),\n exit: radarPresetAnimation(params, preset, 'out'),\n disappear: preset === 'clipIn' ? undefined : { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration },\n update: [\n {\n channel: ['points', 'center'],\n custom: PolarTagPointsUpdate,\n customParameters: params,\n duration: DEFAULT_ANIMATION_CONFIG.update.duration,\n easing: DEFAULT_ANIMATION_CONFIG.update.easing\n },\n {\n type: 'update',\n options: { excludeChannels: ['points', 'defined', 'center'] }\n }\n ]\n } as MarkAnimationSpec;\n });\n Factory.registerAnimation(\n 'radarSymbol',\n (params: IRadarAnimationParams, preset: RadarAppearPreset) =>\n ({\n appear: preset === 'clipIn' ? undefined : radarSymbolPresetAnimation(params, preset, 'in'),\n enter: { type: 'scaleIn' },\n exit: { type: 'scaleOut' },\n disappear: preset === 'clipIn' ? undefined : { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration },\n update: [\n {\n options: { excludeChannels: ['x', 'y', 'center'] }\n },\n {\n channel: ['x', 'y', 'center'],\n custom: PolarPointUpdate,\n customParameters: params,\n duration: DEFAULT_ANIMATION_CONFIG.update.duration,\n easing: DEFAULT_ANIMATION_CONFIG.update.easing\n }\n ]\n } as MarkAnimationSpec)\n );\n Factory.registerAnimation('radarGroup', (params: IRadarAnimationParams, preset: RadarAppearPreset) => {\n return {\n appear: radarGroupClipAnimation(params, 'in'),\n disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }\n };\n });\n registerArc(); // clipAngle animation will use arc graphic\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { ISankeyAnimationParams, SankeyAppearPreset } from './interface';
2
2
  import type { IAnimationTypeConfig } from '../../animation/interface';
3
- import { ACustomAnimate } from '@visactor/vrender-animate';
3
+ import { ACustomAnimate } from '@visactor/vrender-animate/custom/custom-animate';
4
4
  export declare const sankeyGrowIn: (params: ISankeyAnimationParams, isOverall?: boolean) => IAnimationTypeConfig;
5
5
  export declare const sankeyGrowOut: (params: ISankeyAnimationParams, isOverall?: boolean) => IAnimationTypeConfig;
6
6
  export declare const sankeyNodePresetAnimation: (params: ISankeyAnimationParams, preset: SankeyAppearPreset) => IAnimationTypeConfig;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.registerSankeyAnimation = exports.LinkPathUpdate = exports.LinkPathGrowOut = exports.LinkPathGrowIn = exports.sankeyLinkPresetAnimation = exports.sankeyNodePresetAnimation = exports.sankeyGrowOut = exports.sankeyGrowIn = void 0;
6
6
 
7
- const factory_1 = require("../../core/factory"), config_1 = require("../../animation/config"), config_2 = require("../../animation/config"), vrender_animate_1 = require("@visactor/vrender-animate"), sankeyGrowIn = (params, isOverall = !0) => ({
7
+ const factory_1 = require("../../core/factory"), config_1 = require("../../animation/config"), config_2 = require("../../animation/config"), custom_animate_1 = require("@visactor/vrender-animate/custom/custom-animate"), animate_executor_1 = require("@visactor/vrender-animate/executor/animate-executor"), sankeyGrowIn = (params, isOverall = !0) => ({
8
8
  type: "horizontal" === params.direction ? "growWidthIn" : "growHeightIn",
9
9
  options: {
10
10
  overall: isOverall ? params.growFrom() : isOverall,
@@ -94,7 +94,7 @@ const linkPathGrowIn = (graphic, options, animationParameters) => {
94
94
  };
95
95
  };
96
96
 
97
- class LinkPathGrowIn extends vrender_animate_1.ACustomAnimate {
97
+ class LinkPathGrowIn extends custom_animate_1.ACustomAnimate {
98
98
  onBind() {
99
99
  var _a, _b, _c;
100
100
  super.onBind(), (null === (_a = this.params) || void 0 === _a ? void 0 : _a.diffAttrs) && this.target.setAttributes(this.params.diffAttrs);
@@ -113,7 +113,7 @@ class LinkPathGrowIn extends vrender_animate_1.ACustomAnimate {
113
113
 
114
114
  exports.LinkPathGrowIn = LinkPathGrowIn;
115
115
 
116
- class LinkPathGrowOut extends vrender_animate_1.ACustomAnimate {
116
+ class LinkPathGrowOut extends custom_animate_1.ACustomAnimate {
117
117
  onBind() {
118
118
  var _a, _b, _c;
119
119
  super.onBind(), (null === (_a = this.params) || void 0 === _a ? void 0 : _a.diffAttrs) && this.target.setAttributes(this.params.diffAttrs);
@@ -131,7 +131,7 @@ class LinkPathGrowOut extends vrender_animate_1.ACustomAnimate {
131
131
 
132
132
  exports.LinkPathGrowOut = LinkPathGrowOut;
133
133
 
134
- class LinkPathUpdate extends vrender_animate_1.ACustomAnimate {
134
+ class LinkPathUpdate extends custom_animate_1.ACustomAnimate {
135
135
  onBind() {
136
136
  var _a, _b, _c;
137
137
  (null === (_a = this.params) || void 0 === _a ? void 0 : _a.diffAttrs) && this.target.setAttributes(this.params.diffAttrs);
@@ -163,8 +163,8 @@ const registerSankeyAnimation = () => {
163
163
  disappear: {
164
164
  duration: config_1.DEFAULT_ANIMATION_CONFIG.disappear.duration
165
165
  }
166
- }))), vrender_animate_1.AnimateExecutor.registerBuiltInAnimate("linkPathGrowOut", LinkPathGrowOut),
167
- vrender_animate_1.AnimateExecutor.registerBuiltInAnimate("linkPathGrowIn", LinkPathGrowIn);
166
+ }))), animate_executor_1.AnimateExecutor.registerBuiltInAnimate("linkPathGrowOut", LinkPathGrowOut),
167
+ animate_executor_1.AnimateExecutor.registerBuiltInAnimate("linkPathGrowIn", LinkPathGrowIn);
168
168
  };
169
169
 
170
170
  exports.registerSankeyAnimation = registerSankeyAnimation;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/sankey/animation.ts"],"names":[],"mappings":"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","file":"animation.js","sourcesContent":["// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../typings/space';\nimport { Factory } from '../../core/factory';\nimport { DEFAULT_ANIMATION_CONFIG } from '../../animation/config';\nimport { FadeInOutAnimation } from '../../animation/config';\nimport type { ISankeyAnimationParams, SankeyAppearPreset } from './interface';\nimport type { IAnimationTypeConfig, IAnimationParameters } from '../../animation/interface';\nimport { ACustomAnimate, AnimateExecutor } from '@visactor/vrender-animate';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport type { ILinkPathMarkSpec } from '../../typings';\n\nexport const sankeyGrowIn = (params: ISankeyAnimationParams, isOverall: boolean = true): IAnimationTypeConfig => {\n return {\n type: params.direction === Direction.horizontal ? 'growWidthIn' : 'growHeightIn',\n options: {\n overall: isOverall ? params.growFrom() : isOverall,\n orient: Direction.horizontal ? 'positive' : 'negative'\n }\n };\n};\n\nexport const sankeyGrowOut = (params: ISankeyAnimationParams, isOverall: boolean = true): IAnimationTypeConfig => {\n return {\n type: params.direction === Direction.horizontal ? 'growWidthOut' : 'growHeightOut',\n options: {\n overall: isOverall ? params.growFrom() : isOverall,\n orient: Direction.horizontal ? 'positive' : 'negative'\n }\n };\n};\n\nexport const sankeyNodePresetAnimation = (\n params: ISankeyAnimationParams,\n preset: SankeyAppearPreset\n): IAnimationTypeConfig => {\n switch (preset) {\n case 'fadeIn': {\n return {\n type: 'fadeIn'\n };\n }\n case 'growIn': {\n return sankeyGrowIn(params);\n }\n default: {\n return sankeyGrowIn(params);\n }\n }\n};\n\nexport const sankeyLinkPresetAnimation = (preset: SankeyAppearPreset): IAnimationTypeConfig => {\n switch (preset) {\n case 'fadeIn': {\n return {\n type: 'fadeIn'\n };\n }\n case 'growIn': {\n return { type: 'linkPathGrowIn' };\n }\n default: {\n return { type: 'linkPathGrowIn' };\n }\n }\n};\n\ntype TypeAnimation<T extends IGraphic> = (\n graphic: T,\n options: any,\n animationParameters: IAnimationParameters\n) => { from?: { [channel: string]: any }; to?: { [channel: string]: any } };\n\nconst linkPathGrowIn: TypeAnimation<IGraphic> = (\n graphic: IGraphic,\n options: any,\n animationParameters: IAnimationParameters\n) => {\n const linkValues: ILinkPathMarkSpec = {\n x0: graphic.getFinalAttribute().x0,\n x1: graphic.getFinalAttribute().x1,\n y0: graphic.getFinalAttribute().y0,\n y1: graphic.getFinalAttribute().y1,\n thickness: graphic.getFinalAttribute().thickness\n };\n // // FIXME: undefined channel animation will cause vRender warning\n // Object.keys(linkValues).forEach(key => {\n // if (isNil(linkValues[key])) {\n // delete linkValues[key];\n // }\n // });\n return {\n from: Object.assign({}, linkValues, { x1: linkValues.x0, y1: linkValues.y0 }),\n to: linkValues\n };\n};\n\nconst linkPathGrowOut: TypeAnimation<IGraphic> = (\n element: IGraphic,\n options: any,\n animationParameters: IAnimationParameters\n) => {\n const linkValues: ILinkPathMarkSpec = {\n x0: element.getFinalAttribute().x0,\n x1: element.getFinalAttribute().x1,\n y0: element.getFinalAttribute().y0,\n y1: element.getFinalAttribute().y1,\n thickness: element.getFinalAttribute().thickness\n };\n // // FIXME: undefined channel animation will cause vRender warning\n // Object.keys(linkValues).forEach(key => {\n // if (isNil(linkValues[key])) {\n // delete linkValues[key];\n // }\n // });\n return {\n from: linkValues,\n to: Object.assign({}, linkValues, { x1: linkValues.x0, y1: linkValues.y0 })\n };\n};\n\nconst linkPathUpdate: TypeAnimation<IGraphic> = (\n graphic: IGraphic,\n options: any,\n animationParameters: IAnimationParameters\n) => {\n let from;\n let to;\n {\n const { x0, x1, y0, y1 } = graphic.getFinalAttribute();\n from = { x0, x1, y0, y1 };\n }\n {\n const { x0, x1, y0, y1 } = graphic.attribute as any;\n to = { x0, x1, y0, y1 };\n }\n\n return {\n from,\n to\n };\n};\n\nexport class LinkPathGrowIn extends ACustomAnimate<Record<string, number>> {\n onBind(): void {\n super.onBind();\n if (this.params?.diffAttrs) {\n this.target.setAttributes(this.params.diffAttrs);\n }\n const { from, to } = linkPathGrowIn(this.target, this.params.options, this.params);\n const fromAttrs = this.target.context?.lastAttrs ?? from;\n const finalAttribute = this.target.getFinalAttribute();\n if (finalAttribute) {\n Object.assign(this.target.attribute, finalAttribute);\n }\n this.props = to;\n this.propKeys = Object.keys(to).filter(key => to[key] != null);\n this.animate.reSyncProps();\n this.from = fromAttrs;\n this.to = to;\n this.target.setAttributes(fromAttrs);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.setAttributes(attribute);\n }\n}\n\nexport class LinkPathGrowOut extends ACustomAnimate<Record<string, number>> {\n onBind(): void {\n super.onBind();\n if (this.params?.diffAttrs) {\n this.target.setAttributes(this.params.diffAttrs);\n }\n const { from, to } = linkPathGrowOut(this.target, this.params.options, this.params);\n const fromAttrs = this.target.context?.lastAttrs ?? from;\n this.props = to;\n this.propKeys = Object.keys(to).filter(key => to[key] != null);\n this.animate.reSyncProps();\n this.from = fromAttrs;\n this.to = to;\n this.target.setAttributes(fromAttrs);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.setAttributes(attribute);\n }\n}\n\nexport class LinkPathUpdate extends ACustomAnimate<Record<string, number>> {\n onBind(): void {\n if (this.params?.diffAttrs) {\n this.target.setAttributes(this.params.diffAttrs);\n }\n const { from, to } = linkPathUpdate(this.target, this.params.options, this.params);\n const fromAttrs = this.target.context?.lastAttrs ?? from;\n this.props = to;\n this.propKeys = Object.keys(to).filter(key => to[key] != null);\n this.animate.reSyncProps();\n this.from = fromAttrs;\n this.to = to;\n this.target.setAttributes(fromAttrs);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.setAttributes(attribute);\n }\n}\n\nexport const registerSankeyAnimation = () => {\n Factory.registerAnimation('sankeyNode', (params: ISankeyAnimationParams, preset: SankeyAppearPreset) => ({\n appear: sankeyNodePresetAnimation(params, preset),\n ...FadeInOutAnimation\n }));\n Factory.registerAnimation('sankeyLinkPath', (params: unknown, preset: SankeyAppearPreset) => ({\n appear: sankeyLinkPresetAnimation(preset),\n enter: { type: 'linkPathGrowIn' },\n exit: { type: 'linkPathGrowOut' },\n disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }\n }));\n AnimateExecutor.registerBuiltInAnimate('linkPathGrowOut', LinkPathGrowOut);\n AnimateExecutor.registerBuiltInAnimate('linkPathGrowIn', LinkPathGrowIn);\n};\n"]}
1
+ {"version":3,"sources":["../src/series/sankey/animation.ts"],"names":[],"mappings":"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","file":"animation.js","sourcesContent":["// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../typings/space';\nimport { Factory } from '../../core/factory';\nimport { DEFAULT_ANIMATION_CONFIG } from '../../animation/config';\nimport { FadeInOutAnimation } from '../../animation/config';\nimport type { ISankeyAnimationParams, SankeyAppearPreset } from './interface';\nimport type { IAnimationTypeConfig, IAnimationParameters } from '../../animation/interface';\nimport { ACustomAnimate } from '@visactor/vrender-animate/custom/custom-animate';\nimport { AnimateExecutor } from '@visactor/vrender-animate/executor/animate-executor';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport type { ILinkPathMarkSpec } from '../../typings';\n\nexport const sankeyGrowIn = (params: ISankeyAnimationParams, isOverall: boolean = true): IAnimationTypeConfig => {\n return {\n type: params.direction === Direction.horizontal ? 'growWidthIn' : 'growHeightIn',\n options: {\n overall: isOverall ? params.growFrom() : isOverall,\n orient: Direction.horizontal ? 'positive' : 'negative'\n }\n };\n};\n\nexport const sankeyGrowOut = (params: ISankeyAnimationParams, isOverall: boolean = true): IAnimationTypeConfig => {\n return {\n type: params.direction === Direction.horizontal ? 'growWidthOut' : 'growHeightOut',\n options: {\n overall: isOverall ? params.growFrom() : isOverall,\n orient: Direction.horizontal ? 'positive' : 'negative'\n }\n };\n};\n\nexport const sankeyNodePresetAnimation = (\n params: ISankeyAnimationParams,\n preset: SankeyAppearPreset\n): IAnimationTypeConfig => {\n switch (preset) {\n case 'fadeIn': {\n return {\n type: 'fadeIn'\n };\n }\n case 'growIn': {\n return sankeyGrowIn(params);\n }\n default: {\n return sankeyGrowIn(params);\n }\n }\n};\n\nexport const sankeyLinkPresetAnimation = (preset: SankeyAppearPreset): IAnimationTypeConfig => {\n switch (preset) {\n case 'fadeIn': {\n return {\n type: 'fadeIn'\n };\n }\n case 'growIn': {\n return { type: 'linkPathGrowIn' };\n }\n default: {\n return { type: 'linkPathGrowIn' };\n }\n }\n};\n\ntype TypeAnimation<T extends IGraphic> = (\n graphic: T,\n options: any,\n animationParameters: IAnimationParameters\n) => { from?: { [channel: string]: any }; to?: { [channel: string]: any } };\n\nconst linkPathGrowIn: TypeAnimation<IGraphic> = (\n graphic: IGraphic,\n options: any,\n animationParameters: IAnimationParameters\n) => {\n const linkValues: ILinkPathMarkSpec = {\n x0: graphic.getFinalAttribute().x0,\n x1: graphic.getFinalAttribute().x1,\n y0: graphic.getFinalAttribute().y0,\n y1: graphic.getFinalAttribute().y1,\n thickness: graphic.getFinalAttribute().thickness\n };\n // // FIXME: undefined channel animation will cause vRender warning\n // Object.keys(linkValues).forEach(key => {\n // if (isNil(linkValues[key])) {\n // delete linkValues[key];\n // }\n // });\n return {\n from: Object.assign({}, linkValues, { x1: linkValues.x0, y1: linkValues.y0 }),\n to: linkValues\n };\n};\n\nconst linkPathGrowOut: TypeAnimation<IGraphic> = (\n element: IGraphic,\n options: any,\n animationParameters: IAnimationParameters\n) => {\n const linkValues: ILinkPathMarkSpec = {\n x0: element.getFinalAttribute().x0,\n x1: element.getFinalAttribute().x1,\n y0: element.getFinalAttribute().y0,\n y1: element.getFinalAttribute().y1,\n thickness: element.getFinalAttribute().thickness\n };\n // // FIXME: undefined channel animation will cause vRender warning\n // Object.keys(linkValues).forEach(key => {\n // if (isNil(linkValues[key])) {\n // delete linkValues[key];\n // }\n // });\n return {\n from: linkValues,\n to: Object.assign({}, linkValues, { x1: linkValues.x0, y1: linkValues.y0 })\n };\n};\n\nconst linkPathUpdate: TypeAnimation<IGraphic> = (\n graphic: IGraphic,\n options: any,\n animationParameters: IAnimationParameters\n) => {\n let from;\n let to;\n {\n const { x0, x1, y0, y1 } = graphic.getFinalAttribute();\n from = { x0, x1, y0, y1 };\n }\n {\n const { x0, x1, y0, y1 } = graphic.attribute as any;\n to = { x0, x1, y0, y1 };\n }\n\n return {\n from,\n to\n };\n};\n\nexport class LinkPathGrowIn extends ACustomAnimate<Record<string, number>> {\n onBind(): void {\n super.onBind();\n if (this.params?.diffAttrs) {\n this.target.setAttributes(this.params.diffAttrs);\n }\n const { from, to } = linkPathGrowIn(this.target, this.params.options, this.params);\n const fromAttrs = this.target.context?.lastAttrs ?? from;\n const finalAttribute = this.target.getFinalAttribute();\n if (finalAttribute) {\n Object.assign(this.target.attribute, finalAttribute);\n }\n this.props = to;\n this.propKeys = Object.keys(to).filter(key => to[key] != null);\n this.animate.reSyncProps();\n this.from = fromAttrs;\n this.to = to;\n this.target.setAttributes(fromAttrs);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.setAttributes(attribute);\n }\n}\n\nexport class LinkPathGrowOut extends ACustomAnimate<Record<string, number>> {\n onBind(): void {\n super.onBind();\n if (this.params?.diffAttrs) {\n this.target.setAttributes(this.params.diffAttrs);\n }\n const { from, to } = linkPathGrowOut(this.target, this.params.options, this.params);\n const fromAttrs = this.target.context?.lastAttrs ?? from;\n this.props = to;\n this.propKeys = Object.keys(to).filter(key => to[key] != null);\n this.animate.reSyncProps();\n this.from = fromAttrs;\n this.to = to;\n this.target.setAttributes(fromAttrs);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.setAttributes(attribute);\n }\n}\n\nexport class LinkPathUpdate extends ACustomAnimate<Record<string, number>> {\n onBind(): void {\n if (this.params?.diffAttrs) {\n this.target.setAttributes(this.params.diffAttrs);\n }\n const { from, to } = linkPathUpdate(this.target, this.params.options, this.params);\n const fromAttrs = this.target.context?.lastAttrs ?? from;\n this.props = to;\n this.propKeys = Object.keys(to).filter(key => to[key] != null);\n this.animate.reSyncProps();\n this.from = fromAttrs;\n this.to = to;\n this.target.setAttributes(fromAttrs);\n }\n\n onUpdate(end: boolean, ratio: number, out: Record<string, any>): void {\n const attribute: Record<string, any> = this.target.attribute;\n this.propKeys.forEach(key => {\n attribute[key] = this.from[key] + (this.to[key] - this.from[key]) * ratio;\n });\n this.target.setAttributes(attribute);\n }\n}\n\nexport const registerSankeyAnimation = () => {\n Factory.registerAnimation('sankeyNode', (params: ISankeyAnimationParams, preset: SankeyAppearPreset) => ({\n appear: sankeyNodePresetAnimation(params, preset),\n ...FadeInOutAnimation\n }));\n Factory.registerAnimation('sankeyLinkPath', (params: unknown, preset: SankeyAppearPreset) => ({\n appear: sankeyLinkPresetAnimation(preset),\n enter: { type: 'linkPathGrowIn' },\n exit: { type: 'linkPathGrowOut' },\n disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }\n }));\n AnimateExecutor.registerBuiltInAnimate('linkPathGrowOut', LinkPathGrowOut);\n AnimateExecutor.registerBuiltInAnimate('linkPathGrowIn', LinkPathGrowIn);\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { ACustomAnimate } from '@visactor/vrender-animate';
1
+ import { ACustomAnimate } from '@visactor/vrender-animate/custom/custom-animate';
2
2
  import type { IVennCircle, IVennOverlapArc, VennCircleName } from '@visactor/vlayouts';
3
3
  import type { VennAppearPreset } from './interface';
4
4
  import type { IAnimationTypeConfig } from '../../animation/interface';