@visactor/vchart 1.7.0-alpha.0 → 1.7.0-alpha.1

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 (689) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +23903 -23822
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/area/area.js +2 -1
  6. package/cjs/chart/area/area.js.map +1 -1
  7. package/cjs/chart/base-chart.d.ts +9 -12
  8. package/cjs/chart/base-chart.js +35 -46
  9. package/cjs/chart/base-chart.js.map +1 -1
  10. package/cjs/chart/interface/chart.d.ts +2 -4
  11. package/cjs/chart/interface/chart.js.map +1 -1
  12. package/cjs/chart/line/line.js +2 -1
  13. package/cjs/chart/line/line.js.map +1 -1
  14. package/cjs/chart/sequence/sequence.d.ts +1 -1
  15. package/cjs/chart/sequence/sequence.js +1 -1
  16. package/cjs/chart/sequence/sequence.js.map +1 -1
  17. package/cjs/chart/stack.js +2 -1
  18. package/cjs/compile/compiler.d.ts +2 -2
  19. package/cjs/compile/compiler.js +7 -7
  20. package/cjs/compile/compiler.js.map +1 -1
  21. package/cjs/compile/mark/compilable-mark.d.ts +10 -6
  22. package/cjs/compile/mark/compilable-mark.js +22 -11
  23. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  24. package/cjs/compile/mark/interface.d.ts +6 -4
  25. package/cjs/compile/mark/interface.js.map +1 -1
  26. package/cjs/compile/mark/util.d.ts +1 -3
  27. package/cjs/compile/mark/util.js +1 -37
  28. package/cjs/compile/mark/util.js.map +1 -1
  29. package/cjs/component/axis/base-axis.d.ts +1 -4
  30. package/cjs/component/axis/base-axis.js +19 -34
  31. package/cjs/component/axis/base-axis.js.map +1 -1
  32. package/cjs/component/axis/cartesian/axis.d.ts +3 -13
  33. package/cjs/component/axis/cartesian/axis.js +15 -15
  34. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  35. package/cjs/component/axis/cartesian/band-axis.d.ts +0 -7
  36. package/cjs/component/axis/cartesian/band-axis.js +0 -1
  37. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  38. package/cjs/component/axis/cartesian/interface/common.d.ts +0 -6
  39. package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
  40. package/cjs/component/axis/interface/common.d.ts +0 -1
  41. package/cjs/component/axis/interface/common.js.map +1 -1
  42. package/cjs/component/axis/interface/spec.js.map +1 -1
  43. package/cjs/component/axis/mixin/band-axis-mixin.d.ts +0 -1
  44. package/cjs/component/axis/mixin/band-axis-mixin.js +1 -1
  45. package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
  46. package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +0 -1
  47. package/cjs/component/axis/mixin/linear-axis-mixin.js +4 -3
  48. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  49. package/cjs/component/axis/polar/axis.js +6 -3
  50. package/cjs/component/axis/polar/axis.js.map +1 -1
  51. package/cjs/component/base/base-component.js +3 -3
  52. package/cjs/component/base/base-component.js.map +1 -1
  53. package/cjs/component/base/util.js +16 -12
  54. package/cjs/component/base/util.js.map +1 -1
  55. package/cjs/component/brush/brush.d.ts +1 -2
  56. package/cjs/component/brush/brush.js +1 -1
  57. package/cjs/component/brush/brush.js.map +1 -1
  58. package/cjs/component/crosshair/base.d.ts +2 -2
  59. package/cjs/component/crosshair/base.js +1 -1
  60. package/cjs/component/crosshair/base.js.map +1 -1
  61. package/cjs/component/custom-mark/custom-mark.d.ts +2 -2
  62. package/cjs/component/custom-mark/custom-mark.js +1 -1
  63. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  64. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -1
  65. package/cjs/component/data-zoom/data-filter-base-component.js +52 -30
  66. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  67. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +3 -1
  68. package/cjs/component/data-zoom/data-zoom/data-zoom.js +47 -37
  69. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  70. package/cjs/component/data-zoom/data-zoom/interface.d.ts +5 -1
  71. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  72. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +5 -1
  73. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  74. package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -0
  75. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +19 -15
  76. package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  77. package/cjs/component/data-zoom/util.d.ts +4 -0
  78. package/cjs/component/data-zoom/util.js +11 -2
  79. package/cjs/component/data-zoom/util.js.map +1 -1
  80. package/cjs/component/geo/geo-coordinate.d.ts +2 -2
  81. package/cjs/component/geo/geo-coordinate.js +1 -1
  82. package/cjs/component/geo/geo-coordinate.js.map +1 -1
  83. package/cjs/component/index.d.ts +3 -2
  84. package/cjs/component/index.js.map +1 -1
  85. package/cjs/component/indicator/indicator.d.ts +2 -2
  86. package/cjs/component/indicator/indicator.js +1 -1
  87. package/cjs/component/indicator/indicator.js.map +1 -1
  88. package/cjs/component/interface/theme.d.ts +2 -1
  89. package/cjs/component/interface/theme.js.map +1 -1
  90. package/cjs/component/label/base-label.d.ts +1 -2
  91. package/cjs/component/label/base-label.js +1 -2
  92. package/cjs/component/label/base-label.js.map +1 -1
  93. package/cjs/component/label/interface.d.ts +4 -0
  94. package/cjs/component/label/interface.js.map +1 -1
  95. package/cjs/component/label/label.d.ts +4 -6
  96. package/cjs/component/label/label.js +13 -8
  97. package/cjs/component/label/label.js.map +1 -1
  98. package/cjs/component/label/totalLabel.d.ts +0 -2
  99. package/cjs/component/label/totalLabel.js +2 -1
  100. package/cjs/component/label/totalLabel.js.map +1 -1
  101. package/cjs/component/label/util.d.ts +9 -2
  102. package/cjs/component/label/util.js +20 -5
  103. package/cjs/component/label/util.js.map +1 -1
  104. package/cjs/component/legend/util.d.ts +1 -1
  105. package/cjs/component/map-label/component.d.ts +2 -2
  106. package/cjs/component/map-label/component.js +1 -1
  107. package/cjs/component/map-label/component.js.map +1 -1
  108. package/cjs/component/marker/base-marker.d.ts +7 -2
  109. package/cjs/component/marker/base-marker.js +43 -19
  110. package/cjs/component/marker/base-marker.js.map +1 -1
  111. package/cjs/component/marker/interface.d.ts +14 -3
  112. package/cjs/component/marker/interface.js.map +1 -1
  113. package/cjs/component/marker/mark-area/interface/spec.d.ts +1 -1
  114. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  115. package/cjs/component/marker/mark-area/mark-area.js +28 -12
  116. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  117. package/cjs/component/marker/mark-line/interface/spec.d.ts +3 -4
  118. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  119. package/cjs/component/marker/mark-line/mark-line.js +32 -14
  120. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  121. package/cjs/component/marker/mark-line/util.d.ts +3 -3
  122. package/cjs/component/marker/mark-line/util.js.map +1 -1
  123. package/cjs/component/marker/mark-point/interface/spec.d.ts +5 -4
  124. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  125. package/cjs/component/marker/mark-point/interface/theme.d.ts +5 -5
  126. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  127. package/cjs/component/marker/mark-point/mark-point.js +13 -5
  128. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  129. package/cjs/component/marker/utils.d.ts +3 -4
  130. package/cjs/component/marker/utils.js +44 -25
  131. package/cjs/component/marker/utils.js.map +1 -1
  132. package/cjs/component/title/title.js +1 -1
  133. package/cjs/component/title/title.js.map +1 -1
  134. package/cjs/component/tooltip/handler/base.js +6 -6
  135. package/cjs/component/tooltip/handler/base.js.map +1 -1
  136. package/cjs/component/tooltip/handler/dom/util.js +3 -2
  137. package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
  138. package/cjs/component/tooltip/handler/utils/attribute.d.ts +3 -3
  139. package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
  140. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  141. package/cjs/component/tooltip/interface/spec.d.ts +1 -1
  142. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  143. package/cjs/component/tooltip/interface/theme.d.ts +10 -11
  144. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  145. package/cjs/component/tooltip/tooltip.d.ts +2 -2
  146. package/cjs/component/tooltip/tooltip.js +3 -4
  147. package/cjs/component/tooltip/tooltip.js.map +1 -1
  148. package/cjs/component/util.d.ts +1 -3
  149. package/cjs/component/util.js +2 -2
  150. package/cjs/component/util.js.map +1 -1
  151. package/cjs/constant/scatter.js +1 -2
  152. package/cjs/constant/scroll-bar.js +2 -1
  153. package/cjs/core/expression-function.d.ts +12 -0
  154. package/cjs/core/expression-function.js +30 -0
  155. package/cjs/core/expression-function.js.map +1 -0
  156. package/cjs/core/index.d.ts +2 -1
  157. package/cjs/core/index.js +3 -2
  158. package/cjs/core/index.js.map +1 -1
  159. package/cjs/core/interface.d.ts +5 -0
  160. package/cjs/core/interface.js.map +1 -1
  161. package/cjs/core/vchart.d.ts +9 -1
  162. package/cjs/core/vchart.js +97 -71
  163. package/cjs/core/vchart.js.map +1 -1
  164. package/cjs/data/initialize.js +7 -6
  165. package/cjs/data/initialize.js.map +1 -1
  166. package/cjs/data/transforms/aggregation.d.ts +4 -3
  167. package/cjs/data/transforms/aggregation.js +4 -4
  168. package/cjs/data/transforms/aggregation.js.map +1 -1
  169. package/cjs/data/transforms/dimension-statistics.js +14 -4
  170. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  171. package/cjs/data/transforms/sankey.d.ts +3 -6
  172. package/cjs/data/transforms/sankey.js +40 -23
  173. package/cjs/data/transforms/sankey.js.map +1 -1
  174. package/cjs/event/bubble.js +1 -2
  175. package/cjs/event/event.js +2 -1
  176. package/cjs/event/events/dimension/base.d.ts +1 -0
  177. package/cjs/event/events/dimension/base.js +10 -6
  178. package/cjs/event/events/dimension/base.js.map +1 -1
  179. package/cjs/event/interface.d.ts +1 -1
  180. package/cjs/event/interface.js.map +1 -1
  181. package/cjs/index-wx-simple.d.ts +4 -0
  182. package/cjs/index-wx-simple.js +35 -0
  183. package/cjs/index-wx-simple.js.map +1 -0
  184. package/cjs/interaction/config.d.ts +2 -2
  185. package/cjs/interaction/config.js +2 -2
  186. package/cjs/interaction/config.js.map +1 -1
  187. package/cjs/interaction/trigger.js +2 -2
  188. package/cjs/interaction/trigger.js.map +1 -1
  189. package/cjs/layout/base-layout.js +1 -1
  190. package/cjs/layout/layout-item.js +3 -5
  191. package/cjs/layout/layout-item.js.map +1 -1
  192. package/cjs/mark/arc.js +2 -2
  193. package/cjs/mark/arc.js.map +1 -1
  194. package/cjs/mark/base/base-mark.d.ts +2 -2
  195. package/cjs/mark/base/base-mark.js +62 -40
  196. package/cjs/mark/base/base-mark.js.map +1 -1
  197. package/cjs/mark/label.js +1 -4
  198. package/cjs/mark/label.js.map +1 -1
  199. package/cjs/model/base-model.d.ts +0 -2
  200. package/cjs/model/base-model.js +9 -15
  201. package/cjs/model/base-model.js.map +1 -1
  202. package/cjs/model/interface.d.ts +3 -9
  203. package/cjs/model/interface.js.map +1 -1
  204. package/cjs/model/layout-model.d.ts +6 -4
  205. package/cjs/model/layout-model.js +28 -17
  206. package/cjs/model/layout-model.js.map +1 -1
  207. package/cjs/series/area/area.d.ts +1 -1
  208. package/cjs/series/area/area.js +5 -6
  209. package/cjs/series/area/area.js.map +1 -1
  210. package/cjs/series/area/interface.d.ts +4 -0
  211. package/cjs/series/area/interface.js.map +1 -1
  212. package/cjs/series/bar/bar.js +2 -4
  213. package/cjs/series/bar/bar.js.map +1 -1
  214. package/cjs/series/base/base-series.d.ts +4 -0
  215. package/cjs/series/base/base-series.js +13 -5
  216. package/cjs/series/base/base-series.js.map +1 -1
  217. package/cjs/series/cartesian/cartesian.d.ts +3 -0
  218. package/cjs/series/cartesian/cartesian.js +16 -4
  219. package/cjs/series/cartesian/cartesian.js.map +1 -1
  220. package/cjs/series/correlation/correlation.js +3 -7
  221. package/cjs/series/correlation/correlation.js.map +1 -1
  222. package/cjs/series/funnel/funnel-3d.js +1 -1
  223. package/cjs/series/funnel/funnel-3d.js.map +1 -1
  224. package/cjs/series/funnel/funnel.js +2 -6
  225. package/cjs/series/funnel/funnel.js.map +1 -1
  226. package/cjs/series/gauge/gauge.d.ts +0 -1
  227. package/cjs/series/gauge/gauge.js +3 -8
  228. package/cjs/series/gauge/gauge.js.map +1 -1
  229. package/cjs/series/heatmap/heatmap.js +2 -4
  230. package/cjs/series/heatmap/heatmap.js.map +1 -1
  231. package/cjs/series/index.d.ts +2 -2
  232. package/cjs/series/index.js.map +1 -1
  233. package/cjs/series/interface/common.d.ts +2 -2
  234. package/cjs/series/interface/common.js.map +1 -1
  235. package/cjs/series/interface/series.d.ts +1 -0
  236. package/cjs/series/interface/series.js.map +1 -1
  237. package/cjs/series/interface/type.d.ts +3 -1
  238. package/cjs/series/interface/type.js +2 -1
  239. package/cjs/series/interface/type.js.map +1 -1
  240. package/cjs/series/line/interface.d.ts +4 -0
  241. package/cjs/series/line/interface.js.map +1 -1
  242. package/cjs/series/line/line.d.ts +1 -1
  243. package/cjs/series/line/line.js.map +1 -1
  244. package/cjs/series/map/map.js +2 -4
  245. package/cjs/series/map/map.js.map +1 -1
  246. package/cjs/series/mixin/line-mixin.d.ts +3 -1
  247. package/cjs/series/mixin/line-mixin.js +16 -10
  248. package/cjs/series/mixin/line-mixin.js.map +1 -1
  249. package/cjs/series/pie/pie.js +1 -4
  250. package/cjs/series/pie/pie.js.map +1 -1
  251. package/cjs/series/polar/progress-like/progress-like.js +4 -4
  252. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  253. package/cjs/series/radar/animation.js.map +1 -1
  254. package/cjs/series/range-column/range-column.js +2 -2
  255. package/cjs/series/range-column/range-column.js.map +1 -1
  256. package/cjs/series/rose/rose.d.ts +2 -1
  257. package/cjs/series/rose/rose.js +2 -4
  258. package/cjs/series/rose/rose.js.map +1 -1
  259. package/cjs/series/sankey/sankey.d.ts +6 -1
  260. package/cjs/series/sankey/sankey.js +48 -42
  261. package/cjs/series/sankey/sankey.js.map +1 -1
  262. package/cjs/series/scatter/scatter.js +2 -4
  263. package/cjs/series/scatter/scatter.js.map +1 -1
  264. package/cjs/series/waterfall/waterfall.js +1 -1
  265. package/cjs/series/waterfall/waterfall.js.map +1 -1
  266. package/cjs/series/word-cloud/base.d.ts +1 -0
  267. package/cjs/series/word-cloud/base.js +33 -33
  268. package/cjs/series/word-cloud/base.js.map +1 -1
  269. package/cjs/series/word-cloud/word-cloud-3d.js +32 -32
  270. package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
  271. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js +2 -2
  272. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  273. package/cjs/theme/builtin/common/component/axis/common-axis.js +1 -1
  274. package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  275. package/cjs/theme/builtin/common/component/crosshair.js +5 -5
  276. package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
  277. package/cjs/theme/builtin/common/component/data-zoom.js +10 -10
  278. package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -1
  279. package/cjs/theme/builtin/common/component/indicator.js +1 -1
  280. package/cjs/theme/builtin/common/component/indicator.js.map +1 -1
  281. package/cjs/theme/builtin/common/component/legend/color-legend.js +3 -4
  282. package/cjs/theme/builtin/common/component/legend/color-legend.js.map +1 -1
  283. package/cjs/theme/builtin/common/component/legend/discrete-legend.js +2 -2
  284. package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  285. package/cjs/theme/builtin/common/component/legend/size-legend.js +6 -6
  286. package/cjs/theme/builtin/common/component/legend/size-legend.js.map +1 -1
  287. package/cjs/theme/builtin/common/component/map-label.js.map +1 -1
  288. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -1
  289. package/cjs/theme/builtin/common/component/mark-line.js +9 -9
  290. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -1
  291. package/cjs/theme/builtin/common/component/mark-point.js +15 -3
  292. package/cjs/theme/builtin/common/component/mark-point.js.map +1 -1
  293. package/cjs/theme/builtin/common/component/player.js +7 -7
  294. package/cjs/theme/builtin/common/component/player.js.map +1 -1
  295. package/cjs/theme/builtin/common/component/poptip.js +3 -4
  296. package/cjs/theme/builtin/common/component/poptip.js.map +1 -1
  297. package/cjs/theme/builtin/common/component/scroll-bar.js +20 -7
  298. package/cjs/theme/builtin/common/component/scroll-bar.js.map +1 -1
  299. package/cjs/theme/builtin/common/component/title.js +1 -1
  300. package/cjs/theme/builtin/common/component/title.js.map +1 -1
  301. package/cjs/theme/builtin/common/component/tooltip.d.ts +2 -1
  302. package/cjs/theme/builtin/common/component/tooltip.js +3 -4
  303. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -1
  304. package/cjs/theme/builtin/common/component/total-label.js.map +1 -1
  305. package/cjs/theme/builtin/common/mark.js.map +1 -1
  306. package/cjs/theme/builtin/common/series/rangeColumn.js +1 -1
  307. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
  308. package/cjs/theme/builtin/dark/color-scheme.js +20 -11
  309. package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
  310. package/cjs/theme/builtin/index.d.ts +2 -4
  311. package/cjs/theme/builtin/index.js +17 -22
  312. package/cjs/theme/builtin/index.js.map +1 -1
  313. package/cjs/theme/builtin/light/color-scheme.js +19 -10
  314. package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
  315. package/cjs/theme/color-scheme/builtin/interface.d.ts +16 -7
  316. package/cjs/theme/color-scheme/builtin/interface.js.map +1 -1
  317. package/cjs/theme/color-scheme/legacy.js +18 -2
  318. package/cjs/theme/color-scheme/legacy.js.map +1 -1
  319. package/cjs/theme/color-scheme/util.js +2 -2
  320. package/cjs/theme/color-scheme/util.js.map +1 -1
  321. package/cjs/theme/theme-manager.d.ts +1 -1
  322. package/cjs/theme/theme-manager.js +2 -2
  323. package/cjs/theme/theme-manager.js.map +1 -1
  324. package/cjs/typings/spec/common.d.ts +1 -2
  325. package/cjs/typings/spec/common.js.map +1 -1
  326. package/cjs/typings/visual.d.ts +1 -1
  327. package/cjs/typings/visual.js.map +1 -1
  328. package/cjs/util/spec/background.js +8 -14
  329. package/cjs/util/spec/background.js.map +1 -1
  330. package/cjs/util/spec/common.d.ts +1 -1
  331. package/cjs/util/spec/common.js +2 -2
  332. package/cjs/util/spec/common.js.map +1 -1
  333. package/cjs/util/spec/preprocess.d.ts +1 -1
  334. package/cjs/util/spec/preprocess.js +7 -17
  335. package/cjs/util/spec/preprocess.js.map +1 -1
  336. package/cjs/util/spec/transform.d.ts +2 -0
  337. package/cjs/util/spec/transform.js +18 -2
  338. package/cjs/util/spec/transform.js.map +1 -1
  339. package/cjs/vchart-all.js +2 -3
  340. package/cjs/vchart-all.js.map +1 -1
  341. package/cjs/vchart-simple.d.ts +1 -0
  342. package/cjs/vchart-simple.js +4 -4
  343. package/cjs/vchart-simple.js.map +1 -1
  344. package/esm/chart/area/area.js +2 -1
  345. package/esm/chart/area/area.js.map +1 -1
  346. package/esm/chart/base-chart.d.ts +9 -12
  347. package/esm/chart/base-chart.js +33 -45
  348. package/esm/chart/base-chart.js.map +1 -1
  349. package/esm/chart/interface/chart.d.ts +2 -4
  350. package/esm/chart/interface/chart.js.map +1 -1
  351. package/esm/chart/line/line.js +2 -1
  352. package/esm/chart/line/line.js.map +1 -1
  353. package/esm/chart/sequence/sequence.d.ts +1 -1
  354. package/esm/chart/sequence/sequence.js +1 -1
  355. package/esm/chart/sequence/sequence.js.map +1 -1
  356. package/esm/chart/stack.js +2 -1
  357. package/esm/compile/compiler.d.ts +2 -2
  358. package/esm/compile/compiler.js +7 -7
  359. package/esm/compile/compiler.js.map +1 -1
  360. package/esm/compile/mark/compilable-mark.d.ts +10 -6
  361. package/esm/compile/mark/compilable-mark.js +23 -12
  362. package/esm/compile/mark/compilable-mark.js.map +1 -1
  363. package/esm/compile/mark/interface.d.ts +6 -4
  364. package/esm/compile/mark/interface.js.map +1 -1
  365. package/esm/compile/mark/util.d.ts +1 -3
  366. package/esm/compile/mark/util.js +0 -34
  367. package/esm/compile/mark/util.js.map +1 -1
  368. package/esm/component/axis/base-axis.d.ts +1 -4
  369. package/esm/component/axis/base-axis.js +18 -35
  370. package/esm/component/axis/base-axis.js.map +1 -1
  371. package/esm/component/axis/cartesian/axis.d.ts +3 -13
  372. package/esm/component/axis/cartesian/axis.js +14 -13
  373. package/esm/component/axis/cartesian/axis.js.map +1 -1
  374. package/esm/component/axis/cartesian/band-axis.d.ts +0 -7
  375. package/esm/component/axis/cartesian/band-axis.js +0 -1
  376. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  377. package/esm/component/axis/cartesian/interface/common.d.ts +0 -6
  378. package/esm/component/axis/cartesian/interface/common.js.map +1 -1
  379. package/esm/component/axis/interface/common.d.ts +0 -1
  380. package/esm/component/axis/interface/common.js.map +1 -1
  381. package/esm/component/axis/interface/spec.js.map +1 -1
  382. package/esm/component/axis/mixin/band-axis-mixin.d.ts +0 -1
  383. package/esm/component/axis/mixin/band-axis-mixin.js +1 -1
  384. package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
  385. package/esm/component/axis/mixin/linear-axis-mixin.d.ts +0 -1
  386. package/esm/component/axis/mixin/linear-axis-mixin.js +4 -3
  387. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  388. package/esm/component/axis/polar/axis.js +5 -2
  389. package/esm/component/axis/polar/axis.js.map +1 -1
  390. package/esm/component/base/base-component.js +2 -4
  391. package/esm/component/base/base-component.js.map +1 -1
  392. package/esm/component/base/util.js +7 -3
  393. package/esm/component/base/util.js.map +1 -1
  394. package/esm/component/brush/brush.d.ts +1 -2
  395. package/esm/component/brush/brush.js +1 -1
  396. package/esm/component/brush/brush.js.map +1 -1
  397. package/esm/component/crosshair/base.d.ts +2 -2
  398. package/esm/component/crosshair/base.js +1 -1
  399. package/esm/component/crosshair/base.js.map +1 -1
  400. package/esm/component/custom-mark/custom-mark.d.ts +2 -2
  401. package/esm/component/custom-mark/custom-mark.js +1 -1
  402. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  403. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -1
  404. package/esm/component/data-zoom/data-filter-base-component.js +52 -30
  405. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  406. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +3 -1
  407. package/esm/component/data-zoom/data-zoom/data-zoom.js +47 -37
  408. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  409. package/esm/component/data-zoom/data-zoom/interface.d.ts +5 -1
  410. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  411. package/esm/component/data-zoom/scroll-bar/interface.d.ts +5 -1
  412. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  413. package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -0
  414. package/esm/component/data-zoom/scroll-bar/scroll-bar.js +19 -15
  415. package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
  416. package/esm/component/data-zoom/util.d.ts +4 -0
  417. package/esm/component/data-zoom/util.js +13 -1
  418. package/esm/component/data-zoom/util.js.map +1 -1
  419. package/esm/component/geo/geo-coordinate.d.ts +2 -2
  420. package/esm/component/geo/geo-coordinate.js +1 -1
  421. package/esm/component/geo/geo-coordinate.js.map +1 -1
  422. package/esm/component/index.d.ts +3 -2
  423. package/esm/component/index.js.map +1 -1
  424. package/esm/component/indicator/indicator.d.ts +2 -2
  425. package/esm/component/indicator/indicator.js +1 -1
  426. package/esm/component/indicator/indicator.js.map +1 -1
  427. package/esm/component/interface/theme.d.ts +2 -1
  428. package/esm/component/interface/theme.js.map +1 -1
  429. package/esm/component/label/base-label.d.ts +1 -2
  430. package/esm/component/label/base-label.js +1 -1
  431. package/esm/component/label/base-label.js.map +1 -1
  432. package/esm/component/label/interface.d.ts +4 -0
  433. package/esm/component/label/interface.js.map +1 -1
  434. package/esm/component/label/label.d.ts +4 -6
  435. package/esm/component/label/label.js +14 -8
  436. package/esm/component/label/label.js.map +1 -1
  437. package/esm/component/label/totalLabel.d.ts +0 -2
  438. package/esm/component/label/totalLabel.js +2 -1
  439. package/esm/component/label/totalLabel.js.map +1 -1
  440. package/esm/component/label/util.d.ts +9 -2
  441. package/esm/component/label/util.js +17 -3
  442. package/esm/component/label/util.js.map +1 -1
  443. package/esm/component/legend/util.d.ts +1 -1
  444. package/esm/component/map-label/component.d.ts +2 -2
  445. package/esm/component/map-label/component.js +1 -1
  446. package/esm/component/map-label/component.js.map +1 -1
  447. package/esm/component/marker/base-marker.d.ts +7 -2
  448. package/esm/component/marker/base-marker.js +41 -18
  449. package/esm/component/marker/base-marker.js.map +1 -1
  450. package/esm/component/marker/interface.d.ts +14 -3
  451. package/esm/component/marker/interface.js.map +1 -1
  452. package/esm/component/marker/mark-area/interface/spec.d.ts +1 -1
  453. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  454. package/esm/component/marker/mark-area/mark-area.js +25 -11
  455. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  456. package/esm/component/marker/mark-line/interface/spec.d.ts +3 -4
  457. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  458. package/esm/component/marker/mark-line/mark-line.js +32 -11
  459. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  460. package/esm/component/marker/mark-line/util.d.ts +3 -3
  461. package/esm/component/marker/mark-line/util.js.map +1 -1
  462. package/esm/component/marker/mark-point/interface/spec.d.ts +5 -4
  463. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  464. package/esm/component/marker/mark-point/interface/theme.d.ts +5 -5
  465. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  466. package/esm/component/marker/mark-point/mark-point.js +13 -5
  467. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  468. package/esm/component/marker/utils.d.ts +3 -4
  469. package/esm/component/marker/utils.js +43 -23
  470. package/esm/component/marker/utils.js.map +1 -1
  471. package/esm/component/title/title.js +1 -1
  472. package/esm/component/title/title.js.map +1 -1
  473. package/esm/component/tooltip/handler/base.js +5 -7
  474. package/esm/component/tooltip/handler/base.js.map +1 -1
  475. package/esm/component/tooltip/handler/dom/util.js +3 -1
  476. package/esm/component/tooltip/handler/dom/util.js.map +1 -1
  477. package/esm/component/tooltip/handler/utils/attribute.d.ts +3 -3
  478. package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
  479. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  480. package/esm/component/tooltip/interface/spec.d.ts +1 -1
  481. package/esm/component/tooltip/interface/spec.js.map +1 -1
  482. package/esm/component/tooltip/interface/theme.d.ts +10 -11
  483. package/esm/component/tooltip/interface/theme.js.map +1 -1
  484. package/esm/component/tooltip/tooltip.d.ts +2 -2
  485. package/esm/component/tooltip/tooltip.js +3 -3
  486. package/esm/component/tooltip/tooltip.js.map +1 -1
  487. package/esm/component/util.d.ts +1 -3
  488. package/esm/component/util.js +2 -2
  489. package/esm/component/util.js.map +1 -1
  490. package/esm/constant/scatter.js +1 -2
  491. package/esm/constant/scroll-bar.js +2 -1
  492. package/esm/core/expression-function.d.ts +12 -0
  493. package/esm/core/expression-function.js +22 -0
  494. package/esm/core/expression-function.js.map +1 -0
  495. package/esm/core/index.d.ts +2 -1
  496. package/esm/core/index.js +3 -1
  497. package/esm/core/index.js.map +1 -1
  498. package/esm/core/interface.d.ts +5 -0
  499. package/esm/core/interface.js.map +1 -1
  500. package/esm/core/vchart.d.ts +9 -1
  501. package/esm/core/vchart.js +65 -44
  502. package/esm/core/vchart.js.map +1 -1
  503. package/esm/data/initialize.js +7 -7
  504. package/esm/data/initialize.js.map +1 -1
  505. package/esm/data/transforms/aggregation.d.ts +4 -3
  506. package/esm/data/transforms/aggregation.js +6 -6
  507. package/esm/data/transforms/aggregation.js.map +1 -1
  508. package/esm/data/transforms/dimension-statistics.js +14 -4
  509. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  510. package/esm/data/transforms/sankey.d.ts +3 -6
  511. package/esm/data/transforms/sankey.js +36 -22
  512. package/esm/data/transforms/sankey.js.map +1 -1
  513. package/esm/event/bubble.js +1 -2
  514. package/esm/event/event.js +2 -1
  515. package/esm/event/events/dimension/base.d.ts +1 -0
  516. package/esm/event/events/dimension/base.js +10 -6
  517. package/esm/event/events/dimension/base.js.map +1 -1
  518. package/esm/event/interface.d.ts +1 -1
  519. package/esm/event/interface.js.map +1 -1
  520. package/esm/index-wx-simple.d.ts +4 -0
  521. package/esm/index-wx-simple.js +35 -0
  522. package/esm/index-wx-simple.js.map +1 -0
  523. package/esm/interaction/config.d.ts +2 -2
  524. package/esm/interaction/config.js +2 -2
  525. package/esm/interaction/config.js.map +1 -1
  526. package/esm/interaction/trigger.js +2 -2
  527. package/esm/interaction/trigger.js.map +1 -1
  528. package/esm/layout/base-layout.js +1 -1
  529. package/esm/layout/layout-item.js +3 -5
  530. package/esm/layout/layout-item.js.map +1 -1
  531. package/esm/mark/arc.js +2 -2
  532. package/esm/mark/arc.js.map +1 -1
  533. package/esm/mark/base/base-mark.d.ts +2 -2
  534. package/esm/mark/base/base-mark.js +59 -38
  535. package/esm/mark/base/base-mark.js.map +1 -1
  536. package/esm/mark/label.js +1 -4
  537. package/esm/mark/label.js.map +1 -1
  538. package/esm/model/base-model.d.ts +0 -2
  539. package/esm/model/base-model.js +8 -18
  540. package/esm/model/base-model.js.map +1 -1
  541. package/esm/model/interface.d.ts +3 -9
  542. package/esm/model/interface.js.map +1 -1
  543. package/esm/model/layout-model.d.ts +6 -4
  544. package/esm/model/layout-model.js +27 -18
  545. package/esm/model/layout-model.js.map +1 -1
  546. package/esm/series/area/area.d.ts +1 -1
  547. package/esm/series/area/area.js +5 -6
  548. package/esm/series/area/area.js.map +1 -1
  549. package/esm/series/area/interface.d.ts +4 -0
  550. package/esm/series/area/interface.js.map +1 -1
  551. package/esm/series/bar/bar.js +1 -5
  552. package/esm/series/bar/bar.js.map +1 -1
  553. package/esm/series/base/base-series.d.ts +4 -0
  554. package/esm/series/base/base-series.js +13 -7
  555. package/esm/series/base/base-series.js.map +1 -1
  556. package/esm/series/cartesian/cartesian.d.ts +3 -0
  557. package/esm/series/cartesian/cartesian.js +16 -4
  558. package/esm/series/cartesian/cartesian.js.map +1 -1
  559. package/esm/series/correlation/correlation.js +2 -8
  560. package/esm/series/correlation/correlation.js.map +1 -1
  561. package/esm/series/funnel/funnel-3d.js +1 -1
  562. package/esm/series/funnel/funnel-3d.js.map +1 -1
  563. package/esm/series/funnel/funnel.js +3 -7
  564. package/esm/series/funnel/funnel.js.map +1 -1
  565. package/esm/series/gauge/gauge.d.ts +0 -1
  566. package/esm/series/gauge/gauge.js +2 -9
  567. package/esm/series/gauge/gauge.js.map +1 -1
  568. package/esm/series/heatmap/heatmap.js +1 -5
  569. package/esm/series/heatmap/heatmap.js.map +1 -1
  570. package/esm/series/index.d.ts +2 -2
  571. package/esm/series/index.js.map +1 -1
  572. package/esm/series/interface/common.d.ts +2 -2
  573. package/esm/series/interface/common.js.map +1 -1
  574. package/esm/series/interface/series.d.ts +1 -0
  575. package/esm/series/interface/series.js.map +1 -1
  576. package/esm/series/interface/type.d.ts +3 -1
  577. package/esm/series/interface/type.js +2 -1
  578. package/esm/series/interface/type.js.map +1 -1
  579. package/esm/series/line/interface.d.ts +4 -0
  580. package/esm/series/line/interface.js.map +1 -1
  581. package/esm/series/line/line.d.ts +1 -1
  582. package/esm/series/line/line.js.map +1 -1
  583. package/esm/series/map/map.js +1 -5
  584. package/esm/series/map/map.js.map +1 -1
  585. package/esm/series/mixin/line-mixin.d.ts +3 -1
  586. package/esm/series/mixin/line-mixin.js +15 -10
  587. package/esm/series/mixin/line-mixin.js.map +1 -1
  588. package/esm/series/pie/pie.js +1 -4
  589. package/esm/series/pie/pie.js.map +1 -1
  590. package/esm/series/polar/progress-like/progress-like.js +3 -4
  591. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  592. package/esm/series/radar/animation.js.map +1 -1
  593. package/esm/series/range-column/range-column.js +1 -3
  594. package/esm/series/range-column/range-column.js.map +1 -1
  595. package/esm/series/rose/rose.d.ts +2 -1
  596. package/esm/series/rose/rose.js +1 -5
  597. package/esm/series/rose/rose.js.map +1 -1
  598. package/esm/series/sankey/sankey.d.ts +6 -1
  599. package/esm/series/sankey/sankey.js +49 -46
  600. package/esm/series/sankey/sankey.js.map +1 -1
  601. package/esm/series/scatter/scatter.js +1 -5
  602. package/esm/series/scatter/scatter.js.map +1 -1
  603. package/esm/series/waterfall/waterfall.js +1 -1
  604. package/esm/series/waterfall/waterfall.js.map +1 -1
  605. package/esm/series/word-cloud/base.d.ts +1 -0
  606. package/esm/series/word-cloud/base.js +33 -33
  607. package/esm/series/word-cloud/base.js.map +1 -1
  608. package/esm/series/word-cloud/word-cloud-3d.js +32 -32
  609. package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
  610. package/esm/theme/builtin/common/component/axis/cartesian-axis.js +2 -2
  611. package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  612. package/esm/theme/builtin/common/component/axis/common-axis.js +1 -1
  613. package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  614. package/esm/theme/builtin/common/component/crosshair.js +5 -5
  615. package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
  616. package/esm/theme/builtin/common/component/data-zoom.js +10 -10
  617. package/esm/theme/builtin/common/component/data-zoom.js.map +1 -1
  618. package/esm/theme/builtin/common/component/indicator.js +1 -1
  619. package/esm/theme/builtin/common/component/indicator.js.map +1 -1
  620. package/esm/theme/builtin/common/component/legend/color-legend.js +3 -4
  621. package/esm/theme/builtin/common/component/legend/color-legend.js.map +1 -1
  622. package/esm/theme/builtin/common/component/legend/discrete-legend.js +2 -2
  623. package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  624. package/esm/theme/builtin/common/component/legend/size-legend.js +6 -6
  625. package/esm/theme/builtin/common/component/legend/size-legend.js.map +1 -1
  626. package/esm/theme/builtin/common/component/map-label.js.map +1 -1
  627. package/esm/theme/builtin/common/component/mark-area.js.map +1 -1
  628. package/esm/theme/builtin/common/component/mark-line.js +9 -9
  629. package/esm/theme/builtin/common/component/mark-line.js.map +1 -1
  630. package/esm/theme/builtin/common/component/mark-point.js +15 -3
  631. package/esm/theme/builtin/common/component/mark-point.js.map +1 -1
  632. package/esm/theme/builtin/common/component/player.js +7 -7
  633. package/esm/theme/builtin/common/component/player.js.map +1 -1
  634. package/esm/theme/builtin/common/component/poptip.js +3 -4
  635. package/esm/theme/builtin/common/component/poptip.js.map +1 -1
  636. package/esm/theme/builtin/common/component/scroll-bar.js +20 -7
  637. package/esm/theme/builtin/common/component/scroll-bar.js.map +1 -1
  638. package/esm/theme/builtin/common/component/title.js +1 -1
  639. package/esm/theme/builtin/common/component/title.js.map +1 -1
  640. package/esm/theme/builtin/common/component/tooltip.d.ts +2 -1
  641. package/esm/theme/builtin/common/component/tooltip.js +3 -4
  642. package/esm/theme/builtin/common/component/tooltip.js.map +1 -1
  643. package/esm/theme/builtin/common/component/total-label.js.map +1 -1
  644. package/esm/theme/builtin/common/mark.js.map +1 -1
  645. package/esm/theme/builtin/common/series/rangeColumn.js +1 -1
  646. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
  647. package/esm/theme/builtin/dark/color-scheme.js +20 -11
  648. package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
  649. package/esm/theme/builtin/index.d.ts +2 -4
  650. package/esm/theme/builtin/index.js +15 -28
  651. package/esm/theme/builtin/index.js.map +1 -1
  652. package/esm/theme/builtin/light/color-scheme.js +19 -10
  653. package/esm/theme/builtin/light/color-scheme.js.map +1 -1
  654. package/esm/theme/color-scheme/builtin/interface.d.ts +16 -7
  655. package/esm/theme/color-scheme/builtin/interface.js.map +1 -1
  656. package/esm/theme/color-scheme/legacy.js +18 -2
  657. package/esm/theme/color-scheme/legacy.js.map +1 -1
  658. package/esm/theme/color-scheme/util.js +2 -2
  659. package/esm/theme/color-scheme/util.js.map +1 -1
  660. package/esm/theme/theme-manager.d.ts +1 -1
  661. package/esm/theme/theme-manager.js +2 -2
  662. package/esm/theme/theme-manager.js.map +1 -1
  663. package/esm/typings/spec/common.d.ts +1 -2
  664. package/esm/typings/spec/common.js.map +1 -1
  665. package/esm/typings/visual.d.ts +1 -1
  666. package/esm/typings/visual.js.map +1 -1
  667. package/esm/util/spec/background.js +3 -11
  668. package/esm/util/spec/background.js.map +1 -1
  669. package/esm/util/spec/common.d.ts +1 -1
  670. package/esm/util/spec/common.js +2 -2
  671. package/esm/util/spec/common.js.map +1 -1
  672. package/esm/util/spec/preprocess.d.ts +1 -1
  673. package/esm/util/spec/preprocess.js +5 -18
  674. package/esm/util/spec/preprocess.js.map +1 -1
  675. package/esm/util/spec/transform.d.ts +2 -0
  676. package/esm/util/spec/transform.js +17 -1
  677. package/esm/util/spec/transform.js.map +1 -1
  678. package/esm/vchart-all.js +1 -4
  679. package/esm/vchart-all.js.map +1 -1
  680. package/esm/vchart-simple.d.ts +1 -0
  681. package/esm/vchart-simple.js +15 -14
  682. package/esm/vchart-simple.js.map +1 -1
  683. package/package.json +19 -20
  684. package/cjs/theme/util.d.ts +0 -5
  685. package/cjs/theme/util.js +0 -35
  686. package/cjs/theme/util.js.map +0 -1
  687. package/esm/theme/util.d.ts +0 -5
  688. package/esm/theme/util.js +0 -37
  689. package/esm/theme/util.js.map +0 -1
@@ -0,0 +1,22 @@
1
+ export class ExpressionFunction {
2
+ static instance() {
3
+ return ExpressionFunction.instance_ || (ExpressionFunction.instance_ = new ExpressionFunction),
4
+ ExpressionFunction.instance_;
5
+ }
6
+ constructor() {
7
+ this.functions = {};
8
+ }
9
+ registerFunction(name, fun) {
10
+ name && fun && (this.functions[name] = fun);
11
+ }
12
+ unregisterFunction(name) {
13
+ name && delete this.functions[name];
14
+ }
15
+ getFunction(name) {
16
+ return this.functions[name] || null;
17
+ }
18
+ getFunctionNameList() {
19
+ return Object.keys(this.functions);
20
+ }
21
+ }
22
+ //# sourceMappingURL=expression-function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/expression-function.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,kBAAkB;IAM7B,MAAM,CAAC,QAAQ;QACb,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;YACjC,kBAAkB,CAAC,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;SACzD;QACD,OAAO,kBAAkB,CAAC,SAAS,CAAC;IACtC,CAAC;IAED;QACE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAGD,gBAAgB,CAAC,IAAY,EAAE,GAAa;QAC1C,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;IAC7B,CAAC;IAGD,kBAAkB,CAAC,IAAY;QAC7B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAGD,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IAGD,mBAAmB;QACjB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;CACF","file":"expression-function.js","sourcesContent":["export class ExpressionFunction {\n functions: { [key: string]: Function };\n\n static instance_: ExpressionFunction;\n\n // 单例模式\n static instance(): ExpressionFunction {\n if (!ExpressionFunction.instance_) {\n ExpressionFunction.instance_ = new ExpressionFunction();\n }\n return ExpressionFunction.instance_;\n }\n\n constructor() {\n this.functions = {};\n }\n\n // 注册函数\n registerFunction(name: string, fun: Function) {\n if (!name || !fun) {\n return;\n }\n this.functions[name] = fun;\n }\n\n // 注销函数\n unregisterFunction(name: string) {\n if (!name) {\n return;\n }\n delete this.functions[name];\n }\n\n // 获取函数\n getFunction(name: string): Function | null {\n return this.functions[name] || null;\n }\n\n // 获取函数名列表\n getFunctionNameList(): string[] | null {\n return Object.keys(this.functions);\n }\n}\n"]}
@@ -1,12 +1,13 @@
1
1
  import { VChart } from './vchart';
2
2
  import { Factory } from './factory';
3
3
  export { VChart, Factory };
4
- export declare const version = "1.7.0-alpha.0";
4
+ export declare const version = "1.7.0-alpha.1";
5
5
  export type { IVChart } from './interface';
6
6
  export type { IStateSpec, StateValueType } from '../compile/mark';
7
7
  export * from '../typings/spec/common';
8
8
  export * from '../event/interface';
9
9
  export * from '../theme/interface';
10
+ export * from '../constant';
10
11
  export * from '../typings/spec/index';
11
12
  export * from '../theme/index';
12
13
  export { vglobal } from '@visactor/vrender-core';
package/esm/core/index.js CHANGED
@@ -4,7 +4,7 @@ import { Factory } from "./factory";
4
4
 
5
5
  export { VChart, Factory };
6
6
 
7
- export const version = "1.7.0-alpha.0";
7
+ export const version = "1.7.0-alpha.1";
8
8
 
9
9
  export * from "../typings/spec/common";
10
10
 
@@ -12,6 +12,8 @@ export * from "../event/interface";
12
12
 
13
13
  export * from "../theme/interface";
14
14
 
15
+ export * from "../constant";
16
+
15
17
  export * from "../typings/spec/index";
16
18
 
17
19
  export * from "../theme/index";
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC;AAMvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAKnC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.7.0-alpha.0\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport { vglobal } from '@visactor/vrender-core';\n"]}
1
+ {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC;AAMvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAK5B,cAAc,uBAAuB,CAAC;AAGtC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.7.0-alpha.1\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../constant';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport { vglobal } from '@visactor/vrender-core';\n"]}
@@ -33,6 +33,7 @@ export interface IVChart {
33
33
  }[]) => Promise<IVChart>;
34
34
  updateDataSync: (id: StringOrNumber, data: Datum[], options?: IParserOptions) => IVChart;
35
35
  updateSpec: (spec: ISpec, forceMerge?: boolean, morphConfig?: IMorphConfig) => Promise<IVChart>;
36
+ updateSpecSync: (spec: ISpec, forceMerge?: boolean, morphConfig?: IMorphConfig) => void;
36
37
  updateModelSpecSync: (filter: string | {
37
38
  type: string;
38
39
  index: number;
@@ -81,6 +82,10 @@ export interface IVChart {
81
82
  stopAnimation: () => void;
82
83
  pauseAnimation: () => void;
83
84
  resumeAnimation: () => void;
85
+ registerFunction: (key: string, fun: Function) => void;
86
+ unregisterFunction: (key: string) => void;
87
+ getFunction: (key: string) => Function | null;
88
+ getFunctionList: () => string[] | null;
84
89
  }
85
90
  export interface IGlobalConfig {
86
91
  uniqueTooltip?: boolean;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { DataSet } from '@visactor/vdataset';\n\nimport type { IParserOptions } from '@visactor/vdataset/es/parser';\nimport type {\n Datum,\n IMarkStateSpec,\n IPoint,\n IRegionQuerier,\n IShowTooltipOption,\n ISpec,\n ITooltipHandler,\n Maybe,\n MaybeArray,\n StringOrNumber\n} from '../typings';\nimport type { IMorphConfig } from '../animation/spec';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport type { EventCallback, EventParams, EventQuery, EventType } from '../event/interface';\nimport type { IMark } from '../mark/interface';\nimport type { ISeries } from '../series/interface/series';\nimport type { ITheme } from '../theme';\nimport type { IComponent } from '../component/interface';\nimport type { LayoutCallBack } from '../layout/interface';\nimport type { Compiler } from '../compile/compiler';\nimport type { IChart } from '../chart/interface';\nimport type { IGradientColor, Stage } from '@visactor/vrender-core';\nimport type { IThemeColorScheme } from '../theme/color-scheme/interface';\n\nexport type DataLinkSeries = {\n /**\n * 关联的系列 id\n * the binding series id\n */\n seriesId?: StringOrNumber;\n /**\n * 关联的系列索引\n * the binding series index\n */\n seriesIndex?: number;\n};\n\nexport type DataLinkAxis = {\n /**\n * 关联的轴 id,目前仅支持直角坐标轴\n * the binding axis id\n */\n axisId?: StringOrNumber;\n /**\n * 关联的轴索引,目前仅支持直角坐标轴\n * the binding axis index\n */\n axisIndex?: number;\n};\n\nexport interface IVChart {\n readonly id: number;\n\n /**\n * **同步**渲染图表。\n * @param morphConfig 图表 morph 动画配置,可选\n * @returns VChart 实例\n */\n renderSync: (morphConfig?: IMorphConfig) => IVChart;\n\n /**\n * **异步**渲染图表。\n * @async\n * @param morphConfig 图表 morph 动画配置,可选\n * @returns VChart 实例\n */\n renderAsync: (morphConfig?: IMorphConfig) => Promise<IVChart>;\n\n /**\n * **异步**更新数据。\n * @param id 数据 id\n * @param data 数据值\n * @param options 数据参数\n * @returns VChart 实例\n */\n updateData: (id: StringOrNumber, data: Datum[] | string, options?: IParserOptions) => Promise<IVChart>;\n\n /**\n * **异步**批量更新数据。\n * @param list 待更新的数据列表\n * @returns VChart 实例\n */\n updateDataInBatches: (list: { id: string; data: Datum[]; options?: IParserOptions }[]) => Promise<IVChart>;\n\n /**\n * **同步**更新数据。\n * @param id 数据 id\n * @param data 数据值\n * @param options 数据参数\n * @returns VChart 实例\n */\n updateDataSync: (id: StringOrNumber, data: Datum[], options?: IParserOptions) => IVChart;\n\n /**\n * **异步**spec 更新。\n * @param spec\n * @param forceMerge\n * @returns\n */\n updateSpec: (spec: ISpec, forceMerge?: boolean, morphConfig?: IMorphConfig) => Promise<IVChart>;\n\n /**\n * **同步方法** 模块 spec 更新\n * @param filter\n * @param spec\n * @param forceMerge\n * @returns\n * @sync 1.4.0\n */\n updateModelSpecSync: (\n filter: string | { type: string; index: number },\n spec: unknown,\n forceMerge?: boolean,\n morphConfig?: IMorphConfig\n ) => IVChart;\n\n /**\n * **异步方法** 模块 spec 更新\n * @param filter\n * @param spec\n * @param forceMerge\n * @returns\n * @sync 1.4.0\n */\n updateModelSpec: (\n filter: string | { type: string; index: number },\n spec: unknown,\n forceMerge?: boolean,\n morphConfig?: IMorphConfig\n ) => Promise<IVChart>;\n\n /**\n * 更新绘制区域。\n * @param viewBox 绘制区域\n * @param reRender 是否重新渲染,默认为 true\n * @returns\n */\n updateViewBox: (viewBox: IBoundsLike, reRender?: boolean) => IVChart;\n\n /**\n * **异步方法**,图表尺寸更新方法。\n * @param width 宽度\n * @param height 高度\n * @returns VChart 当前实例\n */\n resize: (width: number, height: number) => Promise<IVChart>;\n\n /**\n * 销毁图表。\n */\n release: () => void;\n\n /**\n * 事件监听\n */\n on: ((eType: EventType, handler: EventCallback<EventParams>) => void) &\n ((eType: EventType, query: EventQuery, handler: EventCallback<EventParams>) => void);\n off: (eType: EventType, handler?: EventCallback<EventParams>) => void;\n\n /**\n * 更新或设置图元状态。\n * @param state 状态筛选器\n * @param filter 筛选器\n */\n updateState: (\n state: Record<string, Omit<IMarkStateSpec<unknown>, 'style'>>,\n filter?: (series: ISeries, mark: IMark, stateKey: string) => boolean //series + mark 筛选\n ) => void;\n\n /**\n * 更新图元选中状态。\n * @param datum hover 图元数据\n * @param filter 筛选器 用来筛选系列与mark\n * @param region region 筛选器\n */\n setSelected: (\n datum: MaybeArray<any> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ) => void;\n\n /**\n * 更新图元 hover 状态\n * @param datum hover 图元数据\n * @param filter 筛选器 用来筛选系列与mark\n * @param region region 筛选器\n */\n setHovered: (\n datum: MaybeArray<Datum> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ) => void;\n\n /**\n * 获取当前主题,会返回完整的主题配置(只能获取用户通过`setCurrentTheme`方法设置过的主题,默认值为`ThemeManager`统一设置的主题)\n * */\n getCurrentTheme: () => ITheme;\n\n /**\n * 获取当前主题名称(只能获取用户通过`setCurrentTheme`方法设置过的主题,默认值为`ThemeManager`统一设置的主题)\n */\n getCurrentThemeName: () => string;\n\n /**\n * **异步方法**, 设置当前主题。\n * @param name 主题名称\n * @returns\n */\n setCurrentTheme: (name: string) => Promise<IVChart>;\n\n /**\n * 自定义 TooltipHandler。\n * @param tooltipHandler\n */\n setTooltipHandler: (tooltipHandler: ITooltipHandler) => void;\n\n /**\n * 获取用户定义的 TooltipHandler\n * @returns ITooltipHandler\n */\n getTooltipHandlerByUser: () => ITooltipHandler | undefined;\n\n /**\n * 获取 TooltipHandler\n * @returns\n */\n getTooltipHandler: () => ITooltipHandler | undefined;\n\n /**\n * 手动调用展示 tooltip\n * @param datum 原始数据\n * @param options\n * @returns\n */\n showTooltip: (datum: Datum, options: IShowTooltipOption) => boolean;\n\n /**\n * 手动调用,关闭 tooltip\n * @returns\n */\n hideTooltip: () => boolean;\n\n // 图例相关 api\n /**\n * 根据图例组件 id 获取图例数据\n * @param id 组件 id\n * @returns\n */\n getLegendDataById: (id: string) => Datum[];\n\n /**\n * 根据图例组件索引获取图例数据\n * @param index 图例索引,默认为 0\n * @returns\n */\n getLegendDataByIndex: (index?: number) => Datum[];\n\n /**\n * 根据图例组件 id 获取当前图例的选中项\n * @param id 组件 id\n * @returns\n */\n getLegendSelectedDataById: (id: string) => StringOrNumber[];\n\n /**\n * 根据图例组件索引获取当前图例的选中项\n * @param index 图例索引,默认为 0\n * @returns\n */\n getLegendSelectedDataByIndex: (index?: number) => StringOrNumber[];\n\n /**\n * 根据图例组件 id 更新图例选中数据\n * @param id\n * @returns\n */\n setLegendSelectedDataById: (id: string, selectedData: StringOrNumber[]) => void;\n\n /**\n * 根据图例组件索引更新图例选中数据\n * @param index 图例索引,默认为 0\n * @returns\n */\n setLegendSelectedDataByIndex: (index: number, selectedData: StringOrNumber[]) => void;\n\n /**\n * **异步方法**返回一个包含图片展示的 data URI。\n * @returns data URI\n */\n getDataURL: () => Promise<any>;\n\n /**\n * **异步方法** 导出图表图片,只支持浏览器端。\n * @param name 保存的图片名称\n * @returns\n */\n exportImg: (name?: string) => Promise<void>;\n\n /**\n * 导出绘制了图表内容的 canvas\n * @returns HTMLCanvasElement\n * @since 1.5.2\n */\n exportCanvas: () => HTMLCanvasElement | undefined;\n\n /**\n * 目前仅支持 node 环境,用于 node 端的图片导出\n * @returns\n */\n getImageBuffer: () => void;\n /**\n * 设置自定义布局\n */\n setLayout: (layout: LayoutCallBack) => void;\n /**\n * 强制重新布局\n */\n reLayout: () => void;\n\n /**\n * 获取编译器实例\n * @returns\n */\n getCompiler: () => Compiler;\n\n /**\n * Get the chart instance\n * 获取 Chart 图表实例。\n * @returns Chart 实例\n */\n getChart: () => Maybe<IChart>;\n\n /**\n * Get the renderer instance.\n * 获取渲染引擎实例。\n * @returns the instance of VRender Stage\n */\n getStage: () => Stage;\n\n /**\n * 获取 canvas dom\n * @returns HTMLCanvasElement | undefined\n */\n getCanvas: () => HTMLCanvasElement | undefined;\n\n /**\n * 获取图表的 dom 容器\n * @returns\n */\n getContainer: () => Maybe<HTMLElement>;\n\n /**\n * 获取图表所有的组件实例\n * @returns 组件实例\n */\n getComponents: () => IComponent[];\n\n /**\n * 获取图表的 DataSet 实例\n * @returns DataSet 实例\n */\n getDataSet: () => Maybe<DataSet>;\n\n // 数据转换相关的 api\n /**\n * Convert the data to coordinate position\n * @param datum the datum to convert\n * @param dataLinkInfo the data link info, could be seriesId or seriesIndex, default is { seriesIndex: 0 }\n * @param isRelativeToCanvas 是否相对画布坐标,默认为 false Whether relative to canvas coordinates, default is false\n * @returns\n */\n convertDatumToPosition: (datum: Datum, dataLinkInfo?: DataLinkSeries, isRelativeToCanvas?: boolean) => IPoint | null;\n\n /**\n * Convert the value to coordinate position\n * @param value number | [number, number], the value to convert\n * @param dataLinkInfo the data link info, could be seriesId,seriesIndex,axisId,axisIndex\n * @param isRelativeToCanvas 是否相对画布坐标,默认为 false Whether relative to canvas coordinates, default is false\n * returns\n */\n convertValueToPosition: ((\n value: StringOrNumber,\n dataLinkInfo: DataLinkAxis,\n isRelativeToCanvas?: boolean\n ) => number | null) &\n ((\n value: [StringOrNumber, StringOrNumber],\n dataLinkInfo: DataLinkSeries,\n isRelativeToCanvas?: boolean\n ) => IPoint | null);\n\n /** 停止正在进行的所有动画 */\n stopAnimation: () => void;\n\n /** 暂停正在进行的所有动画 */\n pauseAnimation: () => void;\n\n /** 恢复暂停时正在进行的所有动画 */\n resumeAnimation: () => void;\n}\n\nexport interface IGlobalConfig {\n /** 是否全局显示唯一 tooltip */\n uniqueTooltip?: boolean;\n /** 是否监测图表 dom 变化自动 release */\n // TODO\n // autoRelease?: boolean;\n}\n\n/** 图表层级的主题 */\nexport interface IChartLevelTheme {\n /** 图表背景色 */\n background?: string | IGradientColor;\n /** 图表字体配置 */\n fontFamily?: string;\n /** 全局色板 */\n colorScheme?: IThemeColorScheme;\n}\n"]}
1
+ {"version":3,"sources":["../src/core/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { DataSet } from '@visactor/vdataset';\n\nimport type { IParserOptions } from '@visactor/vdataset/es/parser';\nimport type {\n Datum,\n IMarkStateSpec,\n IPoint,\n IRegionQuerier,\n IShowTooltipOption,\n ISpec,\n ITooltipHandler,\n Maybe,\n MaybeArray,\n StringOrNumber\n} from '../typings';\nimport type { IMorphConfig } from '../animation/spec';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport type { EventCallback, EventParams, EventQuery, EventType } from '../event/interface';\nimport type { IMark } from '../mark/interface';\nimport type { ISeries } from '../series/interface/series';\nimport type { ITheme } from '../theme';\nimport type { IComponent } from '../component/interface';\nimport type { LayoutCallBack } from '../layout/interface';\nimport type { Compiler } from '../compile/compiler';\nimport type { IChart } from '../chart/interface';\nimport type { IGradientColor, Stage } from '@visactor/vrender-core';\nimport type { IThemeColorScheme } from '../theme/color-scheme/interface';\n\nexport type DataLinkSeries = {\n /**\n * 关联的系列 id\n * the binding series id\n */\n seriesId?: StringOrNumber;\n /**\n * 关联的系列索引\n * the binding series index\n */\n seriesIndex?: number;\n};\n\nexport type DataLinkAxis = {\n /**\n * 关联的轴 id,目前仅支持直角坐标轴\n * the binding axis id\n */\n axisId?: StringOrNumber;\n /**\n * 关联的轴索引,目前仅支持直角坐标轴\n * the binding axis index\n */\n axisIndex?: number;\n};\n\nexport interface IVChart {\n readonly id: number;\n\n /**\n * **同步**渲染图表。\n * @param morphConfig 图表 morph 动画配置,可选\n * @returns VChart 实例\n */\n renderSync: (morphConfig?: IMorphConfig) => IVChart;\n\n /**\n * **异步**渲染图表。\n * @async\n * @param morphConfig 图表 morph 动画配置,可选\n * @returns VChart 实例\n */\n renderAsync: (morphConfig?: IMorphConfig) => Promise<IVChart>;\n\n /**\n * **异步**更新数据。\n * @param id 数据 id\n * @param data 数据值\n * @param options 数据参数\n * @returns VChart 实例\n */\n updateData: (id: StringOrNumber, data: Datum[] | string, options?: IParserOptions) => Promise<IVChart>;\n\n /**\n * **异步**批量更新数据。\n * @param list 待更新的数据列表\n * @returns VChart 实例\n */\n updateDataInBatches: (list: { id: string; data: Datum[]; options?: IParserOptions }[]) => Promise<IVChart>;\n\n /**\n * **同步**更新数据。\n * @param id 数据 id\n * @param data 数据值\n * @param options 数据参数\n * @returns VChart 实例\n */\n updateDataSync: (id: StringOrNumber, data: Datum[], options?: IParserOptions) => IVChart;\n\n /**\n * **异步**spec 更新。\n * @param spec\n * @param forceMerge\n * @returns\n */\n updateSpec: (spec: ISpec, forceMerge?: boolean, morphConfig?: IMorphConfig) => Promise<IVChart>;\n\n /**\n * **同步方法**spec 更新。\n * @param spec\n * @param forceMerge\n * @returns\n */\n updateSpecSync: (spec: ISpec, forceMerge?: boolean, morphConfig?: IMorphConfig) => void;\n\n /**\n * **同步方法** 模块 spec 更新\n * @param filter\n * @param spec\n * @param forceMerge\n * @returns\n * @sync 1.4.0\n */\n updateModelSpecSync: (\n filter: string | { type: string; index: number },\n spec: unknown,\n forceMerge?: boolean,\n morphConfig?: IMorphConfig\n ) => IVChart;\n\n /**\n * **异步方法** 模块 spec 更新\n * @param filter\n * @param spec\n * @param forceMerge\n * @returns\n * @sync 1.4.0\n */\n updateModelSpec: (\n filter: string | { type: string; index: number },\n spec: unknown,\n forceMerge?: boolean,\n morphConfig?: IMorphConfig\n ) => Promise<IVChart>;\n\n /**\n * 更新绘制区域。\n * @param viewBox 绘制区域\n * @param reRender 是否重新渲染,默认为 true\n * @returns\n */\n updateViewBox: (viewBox: IBoundsLike, reRender?: boolean) => IVChart;\n\n /**\n * **异步方法**,图表尺寸更新方法。\n * @param width 宽度\n * @param height 高度\n * @returns VChart 当前实例\n */\n resize: (width: number, height: number) => Promise<IVChart>;\n\n /**\n * 销毁图表。\n */\n release: () => void;\n\n /**\n * 事件监听\n */\n on: ((eType: EventType, handler: EventCallback<EventParams>) => void) &\n ((eType: EventType, query: EventQuery, handler: EventCallback<EventParams>) => void);\n off: (eType: EventType, handler?: EventCallback<EventParams>) => void;\n\n /**\n * 更新或设置图元状态。\n * @param state 状态筛选器\n * @param filter 筛选器\n */\n updateState: (\n state: Record<string, Omit<IMarkStateSpec<unknown>, 'style'>>,\n filter?: (series: ISeries, mark: IMark, stateKey: string) => boolean //series + mark 筛选\n ) => void;\n\n /**\n * 更新图元选中状态。\n * @param datum hover 图元数据\n * @param filter 筛选器 用来筛选系列与mark\n * @param region region 筛选器\n */\n setSelected: (\n datum: MaybeArray<any> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ) => void;\n\n /**\n * 更新图元 hover 状态\n * @param datum hover 图元数据\n * @param filter 筛选器 用来筛选系列与mark\n * @param region region 筛选器\n */\n setHovered: (\n datum: MaybeArray<Datum> | null,\n filter?: (series: ISeries, mark: IMark) => boolean,\n region?: IRegionQuerier\n ) => void;\n\n /**\n * 获取当前主题,会返回完整的主题配置(只能获取用户通过`setCurrentTheme`方法设置过的主题,默认值为`ThemeManager`统一设置的主题)\n * */\n getCurrentTheme: () => ITheme;\n\n /**\n * 获取当前主题名称(只能获取用户通过`setCurrentTheme`方法设置过的主题,默认值为`ThemeManager`统一设置的主题)\n */\n getCurrentThemeName: () => string;\n\n /**\n * **异步方法**, 设置当前主题。\n * @param name 主题名称\n * @returns\n */\n setCurrentTheme: (name: string) => Promise<IVChart>;\n\n /**\n * 自定义 TooltipHandler。\n * @param tooltipHandler\n */\n setTooltipHandler: (tooltipHandler: ITooltipHandler) => void;\n\n /**\n * 获取用户定义的 TooltipHandler\n * @returns ITooltipHandler\n */\n getTooltipHandlerByUser: () => ITooltipHandler | undefined;\n\n /**\n * 获取 TooltipHandler\n * @returns\n */\n getTooltipHandler: () => ITooltipHandler | undefined;\n\n /**\n * 手动调用展示 tooltip\n * @param datum 原始数据\n * @param options\n * @returns\n */\n showTooltip: (datum: Datum, options: IShowTooltipOption) => boolean;\n\n /**\n * 手动调用,关闭 tooltip\n * @returns\n */\n hideTooltip: () => boolean;\n\n // 图例相关 api\n /**\n * 根据图例组件 id 获取图例数据\n * @param id 组件 id\n * @returns\n */\n getLegendDataById: (id: string) => Datum[];\n\n /**\n * 根据图例组件索引获取图例数据\n * @param index 图例索引,默认为 0\n * @returns\n */\n getLegendDataByIndex: (index?: number) => Datum[];\n\n /**\n * 根据图例组件 id 获取当前图例的选中项\n * @param id 组件 id\n * @returns\n */\n getLegendSelectedDataById: (id: string) => StringOrNumber[];\n\n /**\n * 根据图例组件索引获取当前图例的选中项\n * @param index 图例索引,默认为 0\n * @returns\n */\n getLegendSelectedDataByIndex: (index?: number) => StringOrNumber[];\n\n /**\n * 根据图例组件 id 更新图例选中数据\n * @param id\n * @returns\n */\n setLegendSelectedDataById: (id: string, selectedData: StringOrNumber[]) => void;\n\n /**\n * 根据图例组件索引更新图例选中数据\n * @param index 图例索引,默认为 0\n * @returns\n */\n setLegendSelectedDataByIndex: (index: number, selectedData: StringOrNumber[]) => void;\n\n /**\n * **异步方法**返回一个包含图片展示的 data URI。\n * @returns data URI\n */\n getDataURL: () => Promise<any>;\n\n /**\n * **异步方法** 导出图表图片,只支持浏览器端。\n * @param name 保存的图片名称\n * @returns\n */\n exportImg: (name?: string) => Promise<void>;\n\n /**\n * 导出绘制了图表内容的 canvas\n * @returns HTMLCanvasElement\n * @since 1.5.2\n */\n exportCanvas: () => HTMLCanvasElement | undefined;\n\n /**\n * 目前仅支持 node 环境,用于 node 端的图片导出\n * @returns\n */\n getImageBuffer: () => void;\n /**\n * 设置自定义布局\n */\n setLayout: (layout: LayoutCallBack) => void;\n /**\n * 强制重新布局\n */\n reLayout: () => void;\n\n /**\n * 获取编译器实例\n * @returns\n */\n getCompiler: () => Compiler;\n\n /**\n * Get the chart instance\n * 获取 Chart 图表实例。\n * @returns Chart 实例\n */\n getChart: () => Maybe<IChart>;\n\n /**\n * Get the renderer instance.\n * 获取渲染引擎实例。\n * @returns the instance of VRender Stage\n */\n getStage: () => Stage;\n\n /**\n * 获取 canvas dom\n * @returns HTMLCanvasElement | undefined\n */\n getCanvas: () => HTMLCanvasElement | undefined;\n\n /**\n * 获取图表的 dom 容器\n * @returns\n */\n getContainer: () => Maybe<HTMLElement>;\n\n /**\n * 获取图表所有的组件实例\n * @returns 组件实例\n */\n getComponents: () => IComponent[];\n\n /**\n * 获取图表的 DataSet 实例\n * @returns DataSet 实例\n */\n getDataSet: () => Maybe<DataSet>;\n\n // 数据转换相关的 api\n /**\n * Convert the data to coordinate position\n * @param datum the datum to convert\n * @param dataLinkInfo the data link info, could be seriesId or seriesIndex, default is { seriesIndex: 0 }\n * @param isRelativeToCanvas 是否相对画布坐标,默认为 false Whether relative to canvas coordinates, default is false\n * @returns\n */\n convertDatumToPosition: (datum: Datum, dataLinkInfo?: DataLinkSeries, isRelativeToCanvas?: boolean) => IPoint | null;\n\n /**\n * Convert the value to coordinate position\n * @param value number | [number, number], the value to convert\n * @param dataLinkInfo the data link info, could be seriesId,seriesIndex,axisId,axisIndex\n * @param isRelativeToCanvas 是否相对画布坐标,默认为 false Whether relative to canvas coordinates, default is false\n * returns\n */\n convertValueToPosition: ((\n value: StringOrNumber,\n dataLinkInfo: DataLinkAxis,\n isRelativeToCanvas?: boolean\n ) => number | null) &\n ((\n value: [StringOrNumber, StringOrNumber],\n dataLinkInfo: DataLinkSeries,\n isRelativeToCanvas?: boolean\n ) => IPoint | null);\n\n /** 停止正在进行的所有动画 */\n stopAnimation: () => void;\n\n /** 暂停正在进行的所有动画 */\n pauseAnimation: () => void;\n\n /** 恢复暂停时正在进行的所有动画 */\n resumeAnimation: () => void;\n\n /** 注册实例函数 */\n registerFunction: (key: string, fun: Function) => void;\n\n /** 注销实例函数 */\n unregisterFunction: (key: string) => void;\n\n /** 获取实例函数 */\n getFunction: (key: string) => Function | null;\n\n /** 获取实例函数列表 */\n getFunctionList: () => string[] | null;\n}\n\nexport interface IGlobalConfig {\n /** 是否全局显示唯一 tooltip */\n uniqueTooltip?: boolean;\n /** 是否监测图表 dom 变化自动 release */\n // TODO\n // autoRelease?: boolean;\n}\n\n/** 图表层级的主题 */\nexport interface IChartLevelTheme {\n /** 图表背景色 */\n background?: string | IGradientColor;\n /** 图表字体配置 */\n fontFamily?: string;\n /** 全局色板 */\n colorScheme?: IThemeColorScheme;\n}\n"]}
@@ -31,6 +31,10 @@ export declare class VChart implements IVChart {
31
31
  static useMark(marks: MarkConstructor[]): void;
32
32
  static useLayout(layouts: ILayoutConstructor[]): void;
33
33
  static registerDataSetTransform(name: string, transform: Transform): void;
34
+ static registerFunction(key: string, fun: Function): void;
35
+ static unregisterFunction(key: string): void;
36
+ static getFunction(key: string): Function | null;
37
+ static getFunctionList(): string[] | null;
34
38
  static registerMap(key: string, source: GeoSourceType, option?: GeoSourceOption): void;
35
39
  static unregisterMap(key: string): void;
36
40
  static getMap(key: string): GeoSourceType;
@@ -59,7 +63,7 @@ export declare class VChart implements IVChart {
59
63
  private _curSize;
60
64
  private _observer;
61
65
  private _currentThemeName;
62
- private _currentChartLevelTheme;
66
+ private _currentTheme;
63
67
  private _onError?;
64
68
  private _context;
65
69
  private _isReleased;
@@ -146,5 +150,9 @@ export declare class VChart implements IVChart {
146
150
  convertDatumToPosition(datum: Datum, dataLinkInfo?: DataLinkSeries, isRelativeToCanvas?: boolean): IPoint | null;
147
151
  convertValueToPosition(value: StringOrNumber, dataLinkInfo: DataLinkAxis, isRelativeToCanvas?: boolean): number | null;
148
152
  convertValueToPosition(value: [StringOrNumber, StringOrNumber], dataLinkInfo: DataLinkSeries, isRelativeToCanvas?: boolean): IPoint | null;
153
+ getFunction(key: string): Function | null;
154
+ registerFunction(key: string, fun: Function): void;
155
+ unregisterFunction(key: string): void;
156
+ getFunctionList(): string[];
149
157
  }
150
158
  export declare const registerVChartCore: () => void;
@@ -40,6 +40,8 @@ import { ComponentTypeEnum } from "../component/interface/type";
40
40
 
41
41
  import { DataSet, dataViewParser, DataView } from "@visactor/vdataset";
42
42
 
43
+ import { isString, isValid, isNil, array, debounce, functionTransform } from "../util";
44
+
43
45
  import { createID } from "../util/id";
44
46
 
45
47
  import { convertPoint } from "../util/space";
@@ -52,8 +54,6 @@ import { mergeSpec, mergeSpecWithFilter } from "../util/spec/merge-spec";
52
54
 
53
55
  import { specTransform } from "../util/spec/transform";
54
56
 
55
- import { preprocessSpecOrTheme } from "../util/spec/preprocess";
56
-
57
57
  import { getThemeObject } from "../util/spec/common";
58
58
 
59
59
  import { Factory } from "./factory";
@@ -82,7 +82,7 @@ import { getCanvasDataURL, URLToImage } from "../util/image";
82
82
 
83
83
  import { ChartEvent, DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, VGRAMMAR_HOOK_EVENT } from "../constant";
84
84
 
85
- import { getContainerSize, isArray, isEmpty, Logger, merge as mergeOrigin, isFunction, LoggerLevel, isEqual, isString, isValid, isNil, array, debounce } from "@visactor/vutils";
85
+ import { getContainerSize, isArray, isEmpty, Logger, merge as mergeOrigin, isFunction, LoggerLevel, isEqual, get, cloneDeep } from "@visactor/vutils";
86
86
 
87
87
  import { InstanceManager } from "./instance-manager";
88
88
 
@@ -102,14 +102,18 @@ import { View, registerFilterTransform, registerMapTransform } from "@visactor/v
102
102
 
103
103
  import { VCHART_UTILS } from "./util";
104
104
 
105
- import { mergeThemeAndGet } from "../theme/util";
105
+ import { ExpressionFunction } from "./expression-function";
106
106
 
107
107
  import { registerBrowserEnv, registerNodeEnv } from "../env";
108
108
 
109
+ import { mergeTheme, preprocessTheme } from "../util/spec";
110
+
111
+ import { darkTheme, registerTheme } from "../theme/builtin";
112
+
109
113
  export class VChart {
110
114
  static useRegisters(comps) {
111
115
  comps.forEach((fn => {
112
- fn();
116
+ "function" == typeof fn ? fn() : console.error("Invalid function:", fn);
113
117
  }));
114
118
  }
115
119
  static useChart(charts) {
@@ -133,6 +137,18 @@ export class VChart {
133
137
  static registerDataSetTransform(name, transform) {
134
138
  Factory.registerTransform(name, transform);
135
139
  }
140
+ static registerFunction(key, fun) {
141
+ key && fun && ExpressionFunction.instance().registerFunction(key, fun);
142
+ }
143
+ static unregisterFunction(key) {
144
+ key && ExpressionFunction.instance().unregisterFunction(key);
145
+ }
146
+ static getFunction(key) {
147
+ return key ? ExpressionFunction.instance().getFunction(key) : null;
148
+ }
149
+ static getFunctionList() {
150
+ return ExpressionFunction.instance().getFunctionNameList();
151
+ }
136
152
  static registerMap(key, source, option) {
137
153
  const impl = Factory.getImplementInKey("registerMap");
138
154
  impl && impl(key, source, option);
@@ -157,21 +173,20 @@ export class VChart {
157
173
  return this._dataSet;
158
174
  }
159
175
  constructor(spec, options) {
160
- var _a, _b, _c, _d, _e, _f;
176
+ var _a, _b, _c, _d, _e, _f, _g;
161
177
  this.id = createID(), this._userEvents = [], this._autoSize = !0, this._option = {
162
178
  mode: RenderModeEnum["desktop-browser"],
163
179
  onError: msg => {
164
180
  throw new Error(msg);
165
181
  }
166
- }, this._observer = null, this._currentChartLevelTheme = {}, this._context = {},
167
- this._onResize = debounce(((...args) => {
182
+ }, this._observer = null, this._context = {}, this._onResize = debounce(((...args) => {
168
183
  this._doResize();
169
184
  }), 100), this._option = mergeOrigin(this._option, {
170
185
  animation: !1 !== spec.animation
171
186
  }, options), this._onError = null === (_a = this._option) || void 0 === _a ? void 0 : _a.onError;
172
- const _g = this._option, {dom: dom, renderCanvas: renderCanvas, mode: mode, stage: stage, poptip: poptip} = _g, restOptions = __rest(_g, [ "dom", "renderCanvas", "mode", "stage", "poptip" ]);
173
- dom && (this._container = isString(dom) ? null === document || void 0 === document ? void 0 : document.getElementById(dom) : dom),
174
- renderCanvas && (this._canvas = renderCanvas), stage && (this._stage = stage), "node" === mode || this._container || this._canvas || this._stage ? (isTrueBrowser(mode) ? registerBrowserEnv() : "node" === mode && registerNodeEnv(),
187
+ const _h = this._option, {dom: dom, renderCanvas: renderCanvas, mode: mode, stage: stage, poptip: poptip} = _h, restOptions = __rest(_h, [ "dom", "renderCanvas", "mode", "stage", "poptip" ]), isTrueBrowseEnv = isTrueBrowser(mode);
188
+ isTrueBrowseEnv && dom && (this._container = isString(dom) ? null === document || void 0 === document ? void 0 : document.getElementById(dom) : dom),
189
+ renderCanvas && (this._canvas = renderCanvas), stage && (this._stage = stage), "node" === mode || this._container || this._canvas || this._stage ? (isTrueBrowseEnv ? registerBrowserEnv() : "node" === mode && registerNodeEnv(),
175
190
  this._viewBox = this._option.viewBox, this._currentThemeName = ThemeManager.getCurrentThemeName(),
176
191
  this._setSpec(spec), this._updateCurrentTheme(), this._curSize = calculateChartSize(this._spec, {
177
192
  container: this._container,
@@ -192,11 +207,10 @@ export class VChart {
192
207
  this._event = new Event(this._eventDispatcher, mode), this._compiler.initView(),
193
208
  null === (_d = this.getStage()) || void 0 === _d || _d.setTheme({
194
209
  text: {
195
- fontFamily: this._currentChartLevelTheme.fontFamily
210
+ fontFamily: null === (_e = this._currentTheme) || void 0 === _e ? void 0 : _e.fontFamily
196
211
  }
197
- }), this._initDataSet(this._option.dataSet), this._autoSize = !!isTrueBrowser(mode) && (null === (_f = null !== (_e = spec.autoFit) && void 0 !== _e ? _e : this._option.autoFit) || void 0 === _f || _f),
198
- this._bindResizeEvent(), this._bindVGrammarViewEvent(), this._event.emit(ChartEvent.initialized, {}),
199
- InstanceManager.registerInstance(this)) : null === (_b = this._option) || void 0 === _b || _b.onError("please specify container or renderCanvas!");
212
+ }), this._initDataSet(this._option.dataSet), this._autoSize = !!isTrueBrowseEnv && (null === (_g = null !== (_f = spec.autoFit) && void 0 !== _f ? _f : this._option.autoFit) || void 0 === _g || _g),
213
+ this._bindResizeEvent(), this._bindVGrammarViewEvent(), InstanceManager.registerInstance(this)) : null === (_b = this._option) || void 0 === _b || _b.onError("please specify container or renderCanvas!");
200
214
  }
201
215
  _setSpec(spec) {
202
216
  spec && (this._spec = specTransform(isString(spec) ? JSON.parse(spec) : spec));
@@ -204,6 +218,7 @@ export class VChart {
204
218
  _initChart(spec) {
205
219
  var _a, _b;
206
220
  if (!this._compiler) return void (null === (_a = this._option) || void 0 === _a || _a.onError("compiler is not initialized"));
221
+ VChart.getFunctionList() && VChart.getFunctionList().length && (spec = functionTransform(spec, VChart));
207
222
  const chart = Factory.createChart(spec.type, spec, {
208
223
  globalInstance: this,
209
224
  eventDispatcher: this._eventDispatcher,
@@ -217,20 +232,15 @@ export class VChart {
217
232
  performanceHook: this._option.performanceHook,
218
233
  viewBox: this._viewBox,
219
234
  animation: this._option.animation,
220
- getThemeConfig: () => {
235
+ getTheme: () => {
221
236
  var _a;
222
- return {
223
- globalTheme: this._currentThemeName,
224
- optionTheme: this._option.theme,
225
- specTheme: null === (_a = this._spec) || void 0 === _a ? void 0 : _a.theme,
226
- chartLevelTheme: this._currentChartLevelTheme
227
- };
237
+ return null !== (_a = this._currentTheme) && void 0 !== _a ? _a : {};
228
238
  },
229
239
  layout: this._option.layout,
230
240
  onError: this._onError
231
241
  });
232
242
  chart ? (this._chart = chart, this._chart.setCanvasRect(this._curSize.width, this._curSize.height),
233
- this._chart.created(), this._chart.init({})) : null === (_b = this._option) || void 0 === _b || _b.onError("init chart fail");
243
+ this._chart.created(), this._chart.init(), this._event.emit(ChartEvent.initialized, {})) : null === (_b = this._option) || void 0 === _b || _b.onError("init chart fail");
234
244
  }
235
245
  _releaseData() {
236
246
  this._dataSet && (this._dataSet.dataViewMap = {}, this._dataSet = null);
@@ -292,21 +302,21 @@ export class VChart {
292
302
  this) : this;
293
303
  }
294
304
  _reCompile(updateResult) {
295
- var _a, _b, _c, _d, _e;
305
+ var _a, _b, _c, _d, _e, _f, _g;
296
306
  if (updateResult.reMake) this._releaseData(), this._initDataSet(), this._chart.release(),
297
- this._chart = null, null === (_a = this._compiler) || void 0 === _a || _a.releaseGrammar(),
307
+ this._chart = null, null === (_a = this._compiler) || void 0 === _a || _a.releaseGrammar(!1 === (null === (_b = this._option) || void 0 === _b ? void 0 : _b.animation) || !1 === (null === (_c = this._spec) || void 0 === _c ? void 0 : _c.animation)),
298
308
  this._userEvents.forEach((e => {
299
309
  var _a;
300
310
  return null === (_a = this._event) || void 0 === _a ? void 0 : _a.on(e.eType, e.query, e.handler);
301
- })), updateResult.reSize && this._doResize(); else if (updateResult.reCompile && (null === (_b = this._compiler) || void 0 === _b || _b.clear({
311
+ })), updateResult.reSize && this._doResize(); else if (updateResult.reCompile && (null === (_d = this._compiler) || void 0 === _d || _d.clear({
302
312
  chart: this._chart,
303
313
  vChart: this
304
- }), null === (_c = this._compiler) || void 0 === _c || _c.compile({
314
+ }, !this._option.animation || !this._spec.animation), null === (_e = this._compiler) || void 0 === _e || _e.compile({
305
315
  chart: this._chart,
306
316
  vChart: this
307
317
  }, {})), updateResult.reSize) {
308
318
  const {width: width, height: height} = this._getCurSize();
309
- this._chart.onResize(width, height), null === (_e = (_d = this._compiler).resize) || void 0 === _e || _e.call(_d, width, height, !1);
319
+ this._chart.onResize(width, height), null === (_g = (_f = this._compiler).resize) || void 0 === _g || _g.call(_f, width, height, !1);
310
320
  }
311
321
  }
312
322
  renderSync(morphConfig) {
@@ -417,7 +427,7 @@ export class VChart {
417
427
  return array(data).forEach((d => {
418
428
  var _a;
419
429
  const {id: id, values: values, parser: parser, fields: fields} = d, preDV = this._spec.data.find((dv => dv.name === id));
420
- if (preDV) preDV.setFields(fields), preDV.parse(values, parser); else {
430
+ if (preDV) preDV.setFields(cloneDeep(fields)), preDV.parse(values, cloneDeep(parser)); else {
421
431
  const dataView = dataToDataView(d, this._dataSet, this._spec.data, {
422
432
  onError: null === (_a = this._option) || void 0 === _a ? void 0 : _a.onError
423
433
  });
@@ -432,7 +442,7 @@ export class VChart {
432
442
  return array(data).forEach((d => {
433
443
  var _a;
434
444
  const {id: id, values: values, parser: parser, fields: fields} = d, preDV = this._spec.data.find((dv => dv.name === id));
435
- if (preDV) preDV.setFields(fields), preDV.parse(values, parser); else {
445
+ if (preDV) preDV.setFields(cloneDeep(fields)), preDV.parse(values, cloneDeep(parser)); else {
436
446
  const dataView = dataToDataView(d, this._dataSet, this._spec.data, {
437
447
  onError: null === (_a = this._option) || void 0 === _a ? void 0 : _a.onError
438
448
  });
@@ -522,10 +532,9 @@ export class VChart {
522
532
  }));
523
533
  }
524
534
  updateViewBox(viewBox, reRender = !0, reLayout = !0) {
525
- var _a;
526
535
  return this._chart && this._compiler ? (this._viewBox = viewBox, this._chart.updateViewBox(viewBox, reLayout),
527
- reLayout && (this._compiler.renderSync(), null === (_a = this._chart) || void 0 === _a || _a.onEvaluateEnd()),
528
- this._compiler.updateViewBox(viewBox, reRender), this) : this;
536
+ reLayout && (this._compiler.renderSync(), this._chart.onEvaluateEnd()), this._compiler.updateViewBox(viewBox, reRender),
537
+ this) : this;
529
538
  }
530
539
  on(eType, query, handler) {
531
540
  var _a;
@@ -557,14 +566,14 @@ export class VChart {
557
566
  _updateCurrentTheme(nextThemeName) {
558
567
  var _a, _b;
559
568
  const optionTheme = this._option.theme, specTheme = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.theme;
560
- nextThemeName && (this._currentThemeName = nextThemeName);
561
- const colorScheme = mergeThemeAndGet("colorScheme", this._currentThemeName, optionTheme, specTheme);
562
- this._currentChartLevelTheme = {
563
- colorScheme: colorScheme,
564
- background: mergeThemeAndGet("background", this._currentThemeName, optionTheme, specTheme, colorScheme),
565
- fontFamily: mergeThemeAndGet("fontFamily", this._currentThemeName, optionTheme, specTheme, colorScheme)
566
- }, setPoptipTheme(preprocessSpecOrTheme("mark-theme", mergeThemeAndGet("component.poptip", this._currentThemeName, optionTheme, specTheme, colorScheme), colorScheme)),
567
- null === (_b = this._compiler) || void 0 === _b || _b.setBackground(this._getBackground());
569
+ if (nextThemeName && (this._currentThemeName = nextThemeName), isEmpty(optionTheme) && isEmpty(specTheme)) this._currentTheme = getThemeObject(this._currentThemeName, !0); else if (isString(optionTheme) && (!specTheme || isString(specTheme)) || isString(specTheme) && (!optionTheme || isString(optionTheme))) {
570
+ const finalTheme = mergeTheme({}, getThemeObject(this._currentThemeName, !0), getThemeObject(optionTheme, !0), getThemeObject(specTheme, !0));
571
+ this._currentTheme = finalTheme;
572
+ } else {
573
+ const finalTheme = mergeTheme({}, getThemeObject(this._currentThemeName), getThemeObject(optionTheme), getThemeObject(specTheme));
574
+ this._currentTheme = preprocessTheme(finalTheme, finalTheme.colorScheme);
575
+ }
576
+ setPoptipTheme(get(this._currentTheme, "component.poptip")), null === (_b = this._compiler) || void 0 === _b || _b.setBackground(this._getBackground());
568
577
  }
569
578
  _shouldChartResize(oldSpec) {
570
579
  var _a, _b;
@@ -576,7 +585,7 @@ export class VChart {
576
585
  this._autoSize !== lasAutoSize && (resize = !0), resize;
577
586
  }
578
587
  _getBackground() {
579
- return ("string" == typeof this._spec.background ? this._spec.background : null) || this._currentChartLevelTheme.background || this._option.background;
588
+ return ("string" == typeof this._spec.background ? this._spec.background : null) || this._currentTheme.background || this._option.background;
580
589
  }
581
590
  getCurrentTheme() {
582
591
  return getThemeObject(this._currentThemeName);
@@ -789,6 +798,18 @@ export class VChart {
789
798
  series ? convertPoint(series.valueToPosition(value[0], value[1]), series.getRegion().getLayoutStartPoint(), isRelativeToCanvas) : (warn("Please check whether the `seriesId` or `seriesIndex` is set!"),
790
799
  null);
791
800
  }
801
+ getFunction(key) {
802
+ return ExpressionFunction.instance().getFunction(key);
803
+ }
804
+ registerFunction(key, fun) {
805
+ key && fun && ExpressionFunction.instance().registerFunction(key, fun);
806
+ }
807
+ unregisterFunction(key) {
808
+ key && ExpressionFunction.instance().unregisterFunction(key);
809
+ }
810
+ getFunctionList() {
811
+ return ExpressionFunction.instance().getFunctionNameList();
812
+ }
792
813
  }
793
814
 
794
815
  VChart.InstanceManager = InstanceManager, VChart.ThemeManager = ThemeManager, VChart.globalConfig = {
@@ -798,10 +819,10 @@ VChart.InstanceManager = InstanceManager, VChart.ThemeManager = ThemeManager, VC
798
819
  export const registerVChartCore = () => {
799
820
  Factory.registerRegion("region", Region), Factory.registerLayout("base", Layout),
800
821
  Factory.registerMark(GroupMark.type, GroupMark), View.useRegisters([ registerFilterTransform, registerMapTransform ]),
801
- registerVGrammarAnimation(), Logger.getInstance(LoggerLevel.Error);
822
+ registerVGrammarAnimation(), registerTheme(darkTheme.name, darkTheme), Logger.getInstance(LoggerLevel.Error);
802
823
  };
803
824
 
804
825
  Factory.registerRegion("region", Region), Factory.registerLayout("base", Layout),
805
826
  Factory.registerMark(GroupMark.type, GroupMark), View.useRegisters([ registerFilterTransform, registerMapTransform ]),
806
- registerVGrammarAnimation(), Logger.getInstance(LoggerLevel.Error);
827
+ registerVGrammarAnimation(), registerTheme(darkTheme.name, darkTheme), Logger.getInstance(LoggerLevel.Error);
807
828
  //# sourceMappingURL=vchart.js.map