@visactor/vchart 1.10.0-alpha.1 → 1.10.0-alpha.5

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 (1068) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +51324 -49290
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/animation/utils.js +5 -5
  6. package/cjs/animation/utils.js.map +1 -1
  7. package/cjs/chart/bar/bar-transformer.d.ts +1 -0
  8. package/cjs/chart/bar/bar-transformer.js +19 -2
  9. package/cjs/chart/bar/bar-transformer.js.map +1 -1
  10. package/cjs/chart/bar/interface.d.ts +3 -0
  11. package/cjs/chart/bar/interface.js.map +1 -1
  12. package/cjs/chart/base/base-chart-transformer.js +10 -12
  13. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  14. package/cjs/chart/base/base-chart.d.ts +2 -2
  15. package/cjs/chart/base/base-chart.js +4 -2
  16. package/cjs/chart/base/base-chart.js.map +1 -1
  17. package/cjs/chart/base/util.d.ts +1 -1
  18. package/cjs/chart/base/util.js +20 -10
  19. package/cjs/chart/base/util.js.map +1 -1
  20. package/cjs/chart/cartesian/cartesian-transformer.d.ts +1 -0
  21. package/cjs/chart/cartesian/cartesian-transformer.js +10 -7
  22. package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
  23. package/cjs/chart/interface/chart.d.ts +1 -1
  24. package/cjs/chart/interface/chart.js.map +1 -1
  25. package/cjs/chart/polar/polar-transformer.js.map +1 -1
  26. package/cjs/chart/progress/circular/circular-progress-transformer.js +2 -0
  27. package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  28. package/cjs/compile/compiler.d.ts +1 -1
  29. package/cjs/compile/compiler.js +8 -4
  30. package/cjs/compile/compiler.js.map +1 -1
  31. package/cjs/compile/mark/compilable-mark.d.ts +4 -1
  32. package/cjs/compile/mark/compilable-mark.js +9 -1
  33. package/cjs/compile/mark/compilable-mark.js.map +1 -1
  34. package/cjs/compile/mark/interface.d.ts +4 -1
  35. package/cjs/compile/mark/interface.js.map +1 -1
  36. package/cjs/component/axis/base-axis.d.ts +10 -59
  37. package/cjs/component/axis/base-axis.js +112 -88
  38. package/cjs/component/axis/base-axis.js.map +1 -1
  39. package/cjs/component/axis/cartesian/axis.d.ts +1 -5
  40. package/cjs/component/axis/cartesian/axis.js +9 -31
  41. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  42. package/cjs/component/axis/cartesian/band-axis.d.ts +5 -0
  43. package/cjs/component/axis/cartesian/band-axis.js +27 -5
  44. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  45. package/cjs/component/axis/cartesian/interface/spec.d.ts +5 -0
  46. package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
  47. package/cjs/component/axis/cartesian/log-axis.js +2 -1
  48. package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
  49. package/cjs/component/axis/cartesian/time-axis.d.ts +1 -1
  50. package/cjs/component/axis/cartesian/time-axis.js +3 -3
  51. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  52. package/cjs/component/axis/cartesian/util/index.d.ts +0 -1
  53. package/cjs/component/axis/cartesian/util/index.js +1 -1
  54. package/cjs/component/axis/cartesian/util/index.js.map +1 -1
  55. package/cjs/component/axis/interface/common.d.ts +2 -1
  56. package/cjs/component/axis/interface/common.js.map +1 -1
  57. package/cjs/component/axis/interface/spec.d.ts +7 -6
  58. package/cjs/component/axis/interface/spec.js.map +1 -1
  59. package/cjs/component/axis/mixin/linear-axis-mixin.js +1 -1
  60. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  61. package/cjs/component/axis/polar/axis.d.ts +1 -5
  62. package/cjs/component/axis/polar/axis.js +5 -23
  63. package/cjs/component/axis/polar/axis.js.map +1 -1
  64. package/cjs/component/base/base-component.d.ts +1 -1
  65. package/cjs/component/base/base-component.js +2 -2
  66. package/cjs/component/base/base-component.js.map +1 -1
  67. package/cjs/component/base/util.d.ts +5 -0
  68. package/cjs/component/base/util.js +24 -16
  69. package/cjs/component/base/util.js.map +1 -1
  70. package/cjs/component/brush/brush.d.ts +0 -3
  71. package/cjs/component/brush/brush.js +5 -33
  72. package/cjs/component/brush/brush.js.map +1 -1
  73. package/cjs/component/brush/interface.d.ts +0 -3
  74. package/cjs/component/brush/interface.js.map +1 -1
  75. package/cjs/component/crosshair/base.d.ts +4 -1
  76. package/cjs/component/crosshair/base.js +1 -10
  77. package/cjs/component/crosshair/base.js.map +1 -1
  78. package/cjs/component/crosshair/cartesian.d.ts +1 -7
  79. package/cjs/component/crosshair/cartesian.js +17 -208
  80. package/cjs/component/crosshair/cartesian.js.map +1 -1
  81. package/cjs/component/crosshair/config.js.map +1 -1
  82. package/cjs/component/crosshair/interface/cartesian.d.ts +46 -0
  83. package/cjs/component/crosshair/interface/cartesian.js +6 -0
  84. package/cjs/component/crosshair/interface/cartesian.js.map +1 -0
  85. package/cjs/component/crosshair/interface/common.d.ts +7 -0
  86. package/cjs/component/crosshair/interface/common.js +6 -0
  87. package/cjs/component/crosshair/interface/common.js.map +1 -0
  88. package/cjs/component/crosshair/interface/index.d.ts +3 -0
  89. package/cjs/component/crosshair/interface/index.js +3 -1
  90. package/cjs/component/crosshair/interface/index.js.map +1 -1
  91. package/cjs/component/crosshair/interface/polar.d.ts +23 -0
  92. package/cjs/component/crosshair/interface/polar.js +6 -0
  93. package/cjs/component/crosshair/interface/polar.js.map +1 -0
  94. package/cjs/component/crosshair/interface/spec.d.ts +1 -0
  95. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  96. package/cjs/component/crosshair/polar.d.ts +2 -2
  97. package/cjs/component/crosshair/polar.js +17 -114
  98. package/cjs/component/crosshair/polar.js.map +1 -1
  99. package/cjs/component/crosshair/utils/cartesian.d.ts +32 -0
  100. package/cjs/component/crosshair/utils/cartesian.js +238 -0
  101. package/cjs/component/crosshair/utils/cartesian.js.map +1 -0
  102. package/{esm/component/crosshair/util.d.ts → cjs/component/crosshair/utils/common.d.ts} +3 -3
  103. package/cjs/component/crosshair/{util.js → utils/common.js} +2 -2
  104. package/cjs/component/crosshair/utils/common.js.map +1 -0
  105. package/cjs/component/crosshair/utils/index.d.ts +1 -0
  106. package/cjs/component/crosshair/utils/index.js +21 -0
  107. package/cjs/component/crosshair/utils/index.js.map +1 -0
  108. package/cjs/component/crosshair/utils/polar.d.ts +37 -0
  109. package/cjs/component/crosshair/utils/polar.js +133 -0
  110. package/cjs/component/crosshair/utils/polar.js.map +1 -0
  111. package/cjs/component/custom-mark/custom-mark.d.ts +1 -2
  112. package/cjs/component/custom-mark/custom-mark.js +2 -1
  113. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  114. package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -6
  115. package/cjs/component/data-zoom/data-filter-base-component.js +11 -21
  116. package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
  117. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  118. package/cjs/component/data-zoom/data-zoom/data-zoom.js +15 -9
  119. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  120. package/cjs/component/data-zoom/data-zoom/interface.d.ts +4 -7
  121. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  122. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +2 -4
  123. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  124. package/cjs/component/data-zoom/util.d.ts +0 -4
  125. package/cjs/component/data-zoom/util.js +3 -15
  126. package/cjs/component/data-zoom/util.js.map +1 -1
  127. package/cjs/component/index.d.ts +1 -0
  128. package/cjs/component/index.js +16 -1
  129. package/cjs/component/index.js.map +1 -1
  130. package/cjs/component/indicator/indicator.js.map +1 -1
  131. package/cjs/component/indicator/interface.d.ts +5 -5
  132. package/cjs/component/indicator/interface.js.map +1 -1
  133. package/cjs/component/interface/theme.d.ts +8 -0
  134. package/cjs/component/interface/theme.js.map +1 -1
  135. package/cjs/component/label/base-label.d.ts +4 -4
  136. package/cjs/component/label/interface.d.ts +9 -10
  137. package/cjs/component/label/interface.js.map +1 -1
  138. package/cjs/component/label/label.js +1 -1
  139. package/cjs/component/label/label.js.map +1 -1
  140. package/cjs/component/label/total-label.js +14 -1
  141. package/cjs/component/label/total-label.js.map +1 -1
  142. package/cjs/component/label/util.d.ts +1 -1
  143. package/cjs/component/label/util.js +5 -12
  144. package/cjs/component/label/util.js.map +1 -1
  145. package/cjs/component/legend/continuous/interface.d.ts +6 -12
  146. package/cjs/component/legend/continuous/interface.js.map +1 -1
  147. package/cjs/component/legend/discrete/interface.d.ts +20 -6
  148. package/cjs/component/legend/discrete/interface.js.map +1 -1
  149. package/cjs/component/legend/discrete/legend.d.ts +1 -0
  150. package/cjs/component/legend/discrete/legend.js +11 -2
  151. package/cjs/component/legend/discrete/legend.js.map +1 -1
  152. package/cjs/component/legend/discrete/util.js +6 -4
  153. package/cjs/component/legend/discrete/util.js.map +1 -1
  154. package/cjs/component/legend/util.d.ts +2 -3
  155. package/cjs/component/legend/util.js +2 -6
  156. package/cjs/component/legend/util.js.map +1 -1
  157. package/cjs/component/marker/interface.d.ts +6 -6
  158. package/cjs/component/marker/interface.js.map +1 -1
  159. package/cjs/component/marker/mark-area/interface/theme.d.ts +1 -1
  160. package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
  161. package/cjs/component/marker/mark-area/mark-area.js +1 -1
  162. package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
  163. package/cjs/component/marker/mark-line/interface/theme.d.ts +1 -1
  164. package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
  165. package/cjs/component/marker/mark-line/mark-line.js +1 -1
  166. package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
  167. package/cjs/component/marker/mark-point/interface/theme.d.ts +1 -1
  168. package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
  169. package/cjs/component/marker/mark-point/mark-point.js +5 -2
  170. package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
  171. package/cjs/component/player/interface/theme.d.ts +1 -1
  172. package/cjs/component/player/interface/theme.js.map +1 -1
  173. package/cjs/component/player/utils/transform.js.map +1 -1
  174. package/cjs/component/poptip/interface.d.ts +5 -2
  175. package/cjs/component/poptip/interface.js.map +1 -1
  176. package/cjs/component/title/interface/spec.d.ts +18 -7
  177. package/cjs/component/title/interface/spec.js.map +1 -1
  178. package/cjs/component/title/interface/theme.d.ts +2 -1
  179. package/cjs/component/title/interface/theme.js.map +1 -1
  180. package/cjs/component/tooltip/interface/common.d.ts +3 -3
  181. package/cjs/component/tooltip/interface/common.js.map +1 -1
  182. package/cjs/component/tooltip/interface/event.d.ts +0 -2
  183. package/cjs/component/tooltip/interface/event.js.map +1 -1
  184. package/cjs/component/tooltip/interface/index.d.ts +1 -0
  185. package/cjs/component/tooltip/interface/index.js +1 -1
  186. package/cjs/component/tooltip/interface/index.js.map +1 -1
  187. package/cjs/component/tooltip/interface/spec.d.ts +2 -2
  188. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  189. package/cjs/component/tooltip/interface/theme.d.ts +6 -5
  190. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  191. package/cjs/component/tooltip/processor/base.js +2 -2
  192. package/cjs/component/tooltip/processor/base.js.map +1 -1
  193. package/cjs/component/tooltip/processor/dimension-tooltip.js +2 -1
  194. package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  195. package/cjs/component/tooltip/processor/mark-tooltip.js +2 -1
  196. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  197. package/cjs/component/tooltip/tooltip.d.ts +3 -3
  198. package/cjs/component/tooltip/tooltip.js +13 -11
  199. package/cjs/component/tooltip/tooltip.js.map +1 -1
  200. package/cjs/component/tooltip/utils/show-tooltip.js +3 -0
  201. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  202. package/cjs/component/util.d.ts +8 -0
  203. package/cjs/component/util.js +15 -3
  204. package/cjs/component/util.js.map +1 -1
  205. package/cjs/constant/index.d.ts +1 -0
  206. package/cjs/constant/index.js +5 -4
  207. package/cjs/constant/index.js.map +1 -1
  208. package/cjs/core/factory.d.ts +3 -0
  209. package/cjs/core/factory.js +6 -0
  210. package/cjs/core/factory.js.map +1 -1
  211. package/cjs/core/index.d.ts +2 -1
  212. package/cjs/core/index.js +3 -2
  213. package/cjs/core/index.js.map +1 -1
  214. package/cjs/core/interface.d.ts +1 -1
  215. package/cjs/core/interface.js.map +1 -1
  216. package/cjs/core/vchart.d.ts +2 -1
  217. package/cjs/core/vchart.js +5 -4
  218. package/cjs/core/vchart.js.map +1 -1
  219. package/cjs/data/initialize.js.map +1 -1
  220. package/cjs/data/transforms/dimension-statistics.d.ts +2 -0
  221. package/cjs/data/transforms/dimension-statistics.js +1 -1
  222. package/cjs/data/transforms/dimension-statistics.js.map +1 -1
  223. package/cjs/data/transforms/funnel.d.ts +1 -1
  224. package/cjs/data/transforms/waterfall.js +104 -29
  225. package/cjs/data/transforms/waterfall.js.map +1 -1
  226. package/cjs/event/event-dispatcher.js +1 -1
  227. package/cjs/event/event-dispatcher.js.map +1 -1
  228. package/cjs/event/events/dimension/interface.d.ts +3 -2
  229. package/cjs/event/events/dimension/interface.js.map +1 -1
  230. package/cjs/event/events/dimension/util/cartesian.js +1 -0
  231. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  232. package/cjs/event/events/dimension/util/common.js +45 -48
  233. package/cjs/event/events/dimension/util/common.js.map +1 -1
  234. package/cjs/event/events/dimension/util/polar.js +2 -0
  235. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  236. package/cjs/event/interface.d.ts +2 -1
  237. package/cjs/event/interface.js.map +1 -1
  238. package/cjs/index-lark.js +2 -2
  239. package/cjs/index-lark.js.map +1 -1
  240. package/cjs/index-wx-simple.js +2 -2
  241. package/cjs/index-wx-simple.js.map +1 -1
  242. package/cjs/index-wx.js +2 -2
  243. package/cjs/index-wx.js.map +1 -1
  244. package/cjs/index.d.ts +1 -0
  245. package/cjs/index.js +1 -1
  246. package/cjs/index.js.map +1 -1
  247. package/cjs/interaction/dimension-trigger.js +3 -1
  248. package/cjs/interaction/dimension-trigger.js.map +1 -1
  249. package/cjs/interaction/interaction.d.ts +5 -0
  250. package/cjs/interaction/interaction.js +17 -1
  251. package/cjs/interaction/interaction.js.map +1 -1
  252. package/cjs/interaction/interface.d.ts +4 -1
  253. package/cjs/interaction/interface.js.map +1 -1
  254. package/cjs/mark/arc.js +3 -1
  255. package/cjs/mark/arc.js.map +1 -1
  256. package/cjs/mark/base/base-mark.d.ts +3 -3
  257. package/cjs/mark/base/base-mark.js +20 -13
  258. package/cjs/mark/base/base-mark.js.map +1 -1
  259. package/cjs/mark/index.d.ts +2 -3
  260. package/cjs/mark/index.js +1 -10
  261. package/cjs/mark/index.js.map +1 -1
  262. package/cjs/mark/interface/type.d.ts +0 -1
  263. package/cjs/mark/interface/type.js +2 -3
  264. package/cjs/mark/interface/type.js.map +1 -1
  265. package/cjs/mark/label.d.ts +2 -2
  266. package/cjs/mark/label.js.map +1 -1
  267. package/cjs/mark/text.d.ts +16 -7
  268. package/cjs/mark/text.js +12 -6
  269. package/cjs/mark/text.js.map +1 -1
  270. package/cjs/plugin/chart/formatter/formatter.d.ts +28 -0
  271. package/cjs/plugin/chart/formatter/formatter.js +74 -0
  272. package/cjs/plugin/chart/formatter/formatter.js.map +1 -0
  273. package/cjs/plugin/chart/formatter/index.d.ts +1 -0
  274. package/cjs/plugin/chart/formatter/index.js +21 -0
  275. package/cjs/plugin/chart/formatter/index.js.map +1 -0
  276. package/cjs/plugin/components/index.d.ts +2 -5
  277. package/cjs/plugin/components/index.js +16 -7
  278. package/cjs/plugin/components/index.js.map +1 -1
  279. package/cjs/plugin/components/tooltip-handler/base.d.ts +6 -6
  280. package/cjs/plugin/components/tooltip-handler/base.js +126 -65
  281. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  282. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.d.ts +2 -2
  283. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  284. package/cjs/plugin/components/tooltip-handler/constants.d.ts +2 -2
  285. package/cjs/plugin/components/tooltip-handler/constants.js.map +1 -1
  286. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +8 -4
  287. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +31 -10
  288. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  289. package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.d.ts +2 -2
  290. package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -1
  291. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.d.ts +2 -2
  292. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +2 -3
  293. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  294. package/cjs/plugin/components/tooltip-handler/dom/model/interface.d.ts +2 -2
  295. package/cjs/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -1
  296. package/cjs/plugin/components/tooltip-handler/utils/attribute.d.ts +2 -2
  297. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +3 -3
  298. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  299. package/cjs/plugin/components/tooltip-handler/utils/common.d.ts +3 -3
  300. package/cjs/plugin/components/tooltip-handler/utils/common.js +9 -3
  301. package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  302. package/cjs/plugin/components/tooltip-handler/utils/compose.d.ts +2 -2
  303. package/cjs/plugin/components/tooltip-handler/utils/compose.js +9 -8
  304. package/cjs/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  305. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js +14 -11
  306. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  307. package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +18 -3
  308. package/cjs/plugin/components/tooltip-handler/utils/position.js +49 -8
  309. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  310. package/cjs/plugin/index.d.ts +1 -0
  311. package/cjs/plugin/index.js +1 -1
  312. package/cjs/plugin/index.js.map +1 -1
  313. package/cjs/series/area/interface.d.ts +2 -1
  314. package/cjs/series/area/interface.js.map +1 -1
  315. package/cjs/series/bar/bar-3d.js.map +1 -1
  316. package/cjs/series/bar/bar.d.ts +11 -1
  317. package/cjs/series/bar/bar.js +102 -72
  318. package/cjs/series/bar/bar.js.map +1 -1
  319. package/cjs/series/bar/interface.d.ts +4 -3
  320. package/cjs/series/bar/interface.js.map +1 -1
  321. package/cjs/series/base/base-series-transformer.d.ts +4 -0
  322. package/cjs/series/base/base-series-transformer.js +33 -10
  323. package/cjs/series/base/base-series-transformer.js.map +1 -1
  324. package/cjs/series/base/base-series.d.ts +4 -1
  325. package/cjs/series/base/base-series.js +12 -3
  326. package/cjs/series/base/base-series.js.map +1 -1
  327. package/cjs/series/base/tooltip-helper.d.ts +3 -3
  328. package/cjs/series/base/tooltip-helper.js.map +1 -1
  329. package/cjs/series/cartesian/cartesian.d.ts +1 -2
  330. package/cjs/series/cartesian/cartesian.js +28 -24
  331. package/cjs/series/cartesian/cartesian.js.map +1 -1
  332. package/cjs/series/circle-packing/circle-packing.js.map +1 -1
  333. package/cjs/series/correlation/interface.d.ts +3 -3
  334. package/cjs/series/correlation/interface.js.map +1 -1
  335. package/cjs/series/dot/interface.d.ts +2 -2
  336. package/cjs/series/dot/interface.js.map +1 -1
  337. package/cjs/series/dot/tooltip-helper.js +2 -2
  338. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  339. package/cjs/series/funnel/funnel.js.map +1 -1
  340. package/cjs/series/funnel/interface.d.ts +5 -4
  341. package/cjs/series/funnel/interface.js.map +1 -1
  342. package/cjs/series/gauge/constant.js +2 -2
  343. package/cjs/series/gauge/constant.js.map +1 -1
  344. package/cjs/series/gauge/gauge.js +2 -2
  345. package/cjs/series/gauge/gauge.js.map +1 -1
  346. package/cjs/series/gauge/interface.d.ts +3 -3
  347. package/cjs/series/gauge/interface.js.map +1 -1
  348. package/cjs/series/interface/common.d.ts +3 -1
  349. package/cjs/series/interface/common.js.map +1 -1
  350. package/cjs/series/line/interface.d.ts +3 -2
  351. package/cjs/series/line/interface.js.map +1 -1
  352. package/cjs/series/link/tooltip-helper.js +2 -2
  353. package/cjs/series/link/tooltip-helper.js.map +1 -1
  354. package/cjs/series/map/interface.d.ts +2 -5
  355. package/cjs/series/map/interface.js.map +1 -1
  356. package/cjs/series/mixin/line-mixin.js +1 -1
  357. package/cjs/series/mixin/line-mixin.js.map +1 -1
  358. package/cjs/series/pie/3d/pie-3d.d.ts +1 -1
  359. package/cjs/series/pie/3d/pie-3d.js +2 -4
  360. package/cjs/series/pie/3d/pie-3d.js.map +1 -1
  361. package/cjs/series/pie/interface.d.ts +5 -4
  362. package/cjs/series/pie/interface.js.map +1 -1
  363. package/cjs/series/pie/pie-transformer.js +5 -4
  364. package/cjs/series/pie/pie-transformer.js.map +1 -1
  365. package/cjs/series/pie/pie.js +1 -4
  366. package/cjs/series/pie/pie.js.map +1 -1
  367. package/cjs/series/polar/progress-like/progress-like.js +24 -26
  368. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  369. package/cjs/series/progress/circular/circular.js +3 -4
  370. package/cjs/series/progress/circular/circular.js.map +1 -1
  371. package/cjs/series/progress/circular/constant.js +2 -2
  372. package/cjs/series/progress/circular/constant.js.map +1 -1
  373. package/cjs/series/progress/circular/interface.d.ts +5 -5
  374. package/cjs/series/progress/circular/interface.js.map +1 -1
  375. package/cjs/series/radar/interface.d.ts +2 -1
  376. package/cjs/series/radar/interface.js.map +1 -1
  377. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  378. package/cjs/series/range-column/interface.d.ts +5 -5
  379. package/cjs/series/range-column/interface.js.map +1 -1
  380. package/cjs/series/rose/interface.d.ts +2 -1
  381. package/cjs/series/rose/interface.js.map +1 -1
  382. package/cjs/series/rose/rose.js +1 -5
  383. package/cjs/series/rose/rose.js.map +1 -1
  384. package/cjs/series/sankey/interface.d.ts +2 -2
  385. package/cjs/series/sankey/interface.js.map +1 -1
  386. package/cjs/series/sankey/sankey.js.map +1 -1
  387. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  388. package/cjs/series/scatter/interface.d.ts +2 -1
  389. package/cjs/series/scatter/interface.js.map +1 -1
  390. package/cjs/series/sunburst/sunburst.d.ts +1 -1
  391. package/cjs/series/sunburst/sunburst.js.map +1 -1
  392. package/cjs/series/treemap/interface.d.ts +3 -2
  393. package/cjs/series/treemap/interface.js.map +1 -1
  394. package/cjs/series/treemap/treemap.d.ts +2 -0
  395. package/cjs/series/treemap/treemap.js +45 -45
  396. package/cjs/series/treemap/treemap.js.map +1 -1
  397. package/cjs/series/util/utils.js +1 -1
  398. package/cjs/series/util/utils.js.map +1 -1
  399. package/cjs/series/word-cloud/base.js.map +1 -1
  400. package/cjs/series/word-cloud/interface.d.ts +2 -6
  401. package/cjs/series/word-cloud/interface.js.map +1 -1
  402. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js +9 -7
  403. package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  404. package/cjs/theme/builtin/common/component/axis/common-axis.js +15 -10
  405. package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  406. package/cjs/theme/builtin/common/component/crosshair.js +121 -6
  407. package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
  408. package/cjs/theme/builtin/common/component/data-zoom.js +17 -5
  409. package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -1
  410. package/cjs/theme/builtin/common/component/indicator.js +9 -7
  411. package/cjs/theme/builtin/common/component/indicator.js.map +1 -1
  412. package/cjs/theme/builtin/common/component/legend/continuous.js +33 -13
  413. package/cjs/theme/builtin/common/component/legend/continuous.js.map +1 -1
  414. package/cjs/theme/builtin/common/component/legend/discrete-legend.js +17 -9
  415. package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  416. package/cjs/theme/builtin/common/component/map-label.js +9 -7
  417. package/cjs/theme/builtin/common/component/map-label.js.map +1 -1
  418. package/cjs/theme/builtin/common/component/mark-area.js +5 -6
  419. package/cjs/theme/builtin/common/component/mark-area.js.map +1 -1
  420. package/cjs/theme/builtin/common/component/mark-line.js +5 -6
  421. package/cjs/theme/builtin/common/component/mark-line.js.map +1 -1
  422. package/cjs/theme/builtin/common/component/poptip.js +9 -7
  423. package/cjs/theme/builtin/common/component/poptip.js.map +1 -1
  424. package/cjs/theme/builtin/common/component/title.js +17 -9
  425. package/cjs/theme/builtin/common/component/title.js.map +1 -1
  426. package/cjs/theme/builtin/common/component/tooltip.js +25 -11
  427. package/cjs/theme/builtin/common/component/tooltip.js.map +1 -1
  428. package/cjs/theme/builtin/common/component/total-label.js +5 -6
  429. package/cjs/theme/builtin/common/component/total-label.js.map +1 -1
  430. package/cjs/theme/builtin/common/mark.js +12 -9
  431. package/cjs/theme/builtin/common/mark.js.map +1 -1
  432. package/cjs/theme/builtin/common/series/box-plot.js +5 -0
  433. package/cjs/theme/builtin/common/series/box-plot.js.map +1 -1
  434. package/cjs/theme/builtin/common/series/circle-packing.js +9 -7
  435. package/cjs/theme/builtin/common/series/circle-packing.js.map +1 -1
  436. package/cjs/theme/builtin/common/series/dot.js +17 -9
  437. package/cjs/theme/builtin/common/series/dot.js.map +1 -1
  438. package/cjs/theme/builtin/common/series/funnel.js +9 -7
  439. package/cjs/theme/builtin/common/series/funnel.js.map +1 -1
  440. package/cjs/theme/builtin/common/series/funnel3d.js +9 -7
  441. package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -1
  442. package/cjs/theme/builtin/common/series/map.js +9 -7
  443. package/cjs/theme/builtin/common/series/map.js.map +1 -1
  444. package/cjs/theme/builtin/common/series/rangeColumn.js +1 -0
  445. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
  446. package/cjs/theme/builtin/common/series/sunburst.js +9 -3
  447. package/cjs/theme/builtin/common/series/sunburst.js.map +1 -1
  448. package/cjs/theme/builtin/common/series/treemap.js +18 -10
  449. package/cjs/theme/builtin/common/series/treemap.js.map +1 -1
  450. package/cjs/theme/builtin/common/series/waterfall.js +9 -7
  451. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
  452. package/cjs/theme/builtin/index.js +3 -3
  453. package/cjs/theme/builtin/index.js.map +1 -1
  454. package/cjs/theme/builtin/light/index.js +6 -2
  455. package/cjs/theme/builtin/light/index.js.map +1 -1
  456. package/cjs/theme/interface.d.ts +3 -19
  457. package/cjs/theme/interface.js.map +1 -1
  458. package/cjs/theme/theme-manager.d.ts +1 -1
  459. package/cjs/theme/theme-manager.js +2 -2
  460. package/cjs/theme/theme-manager.js.map +1 -1
  461. package/cjs/theme/token/builtin/default.d.ts +2 -0
  462. package/cjs/theme/{builtin/common/constants.js → token/builtin/default.js} +3 -5
  463. package/cjs/theme/token/builtin/default.js.map +1 -0
  464. package/cjs/theme/token/builtin/index.d.ts +2 -0
  465. package/cjs/theme/token/builtin/index.js +21 -0
  466. package/cjs/theme/token/builtin/index.js.map +1 -0
  467. package/cjs/theme/token/builtin/interface.d.ts +17 -0
  468. package/cjs/theme/token/builtin/interface.js +6 -0
  469. package/cjs/theme/token/builtin/interface.js.map +1 -0
  470. package/cjs/theme/token/index.d.ts +3 -0
  471. package/cjs/theme/token/index.js +22 -0
  472. package/cjs/theme/token/index.js.map +1 -0
  473. package/cjs/theme/token/interface.d.ts +6 -0
  474. package/cjs/theme/token/interface.js +6 -0
  475. package/cjs/theme/token/interface.js.map +1 -0
  476. package/cjs/theme/token/util.d.ts +3 -0
  477. package/cjs/theme/token/util.js +15 -0
  478. package/cjs/theme/token/util.js.map +1 -0
  479. package/cjs/typings/spec/common.d.ts +32 -22
  480. package/cjs/typings/spec/common.js.map +1 -1
  481. package/cjs/typings/tooltip/line.d.ts +5 -2
  482. package/cjs/typings/tooltip/line.js.map +1 -1
  483. package/cjs/typings/tooltip/position.d.ts +18 -24
  484. package/cjs/typings/tooltip/position.js +1 -12
  485. package/cjs/typings/tooltip/position.js.map +1 -1
  486. package/cjs/typings/tooltip/shape.d.ts +2 -2
  487. package/cjs/typings/tooltip/shape.js.map +1 -1
  488. package/cjs/typings/tooltip/tooltip.d.ts +8 -8
  489. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  490. package/cjs/typings/visual.d.ts +15 -11
  491. package/cjs/typings/visual.js.map +1 -1
  492. package/cjs/util/data.d.ts +2 -1
  493. package/cjs/util/data.js +12 -7
  494. package/cjs/util/data.js.map +1 -1
  495. package/cjs/util/index.d.ts +1 -2
  496. package/cjs/util/index.js +2 -2
  497. package/cjs/util/index.js.map +1 -1
  498. package/cjs/util/spec/common.d.ts +0 -2
  499. package/cjs/util/spec/common.js +3 -8
  500. package/cjs/util/spec/common.js.map +1 -1
  501. package/cjs/util/spec/index.d.ts +2 -2
  502. package/cjs/util/spec/index.js +1 -1
  503. package/cjs/util/spec/index.js.map +1 -1
  504. package/cjs/util/text.js +3 -3
  505. package/cjs/util/text.js.map +1 -1
  506. package/cjs/util/theme/common.d.ts +2 -0
  507. package/cjs/util/theme/common.js +15 -0
  508. package/cjs/util/theme/common.js.map +1 -0
  509. package/cjs/util/theme/index.d.ts +3 -0
  510. package/cjs/util/theme/index.js +22 -0
  511. package/cjs/util/theme/index.js.map +1 -0
  512. package/cjs/util/{spec → theme}/merge-theme.js +3 -1
  513. package/cjs/util/theme/merge-theme.js.map +1 -0
  514. package/cjs/util/{spec → theme}/preprocess.d.ts +2 -1
  515. package/cjs/util/{spec → theme}/preprocess.js +5 -3
  516. package/cjs/util/theme/preprocess.js.map +1 -0
  517. package/cjs/vchart-all.js +2 -2
  518. package/cjs/vchart-all.js.map +1 -1
  519. package/cjs/vchart-simple.js +2 -2
  520. package/cjs/vchart-simple.js.map +1 -1
  521. package/esm/animation/utils.js +5 -5
  522. package/esm/animation/utils.js.map +1 -1
  523. package/esm/chart/bar/bar-transformer.d.ts +1 -0
  524. package/esm/chart/bar/bar-transformer.js +19 -1
  525. package/esm/chart/bar/bar-transformer.js.map +1 -1
  526. package/esm/chart/bar/interface.d.ts +3 -0
  527. package/esm/chart/bar/interface.js.map +1 -1
  528. package/esm/chart/base/base-chart-transformer.js +10 -12
  529. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  530. package/esm/chart/base/base-chart.d.ts +2 -2
  531. package/esm/chart/base/base-chart.js +4 -2
  532. package/esm/chart/base/base-chart.js.map +1 -1
  533. package/esm/chart/base/util.d.ts +1 -1
  534. package/esm/chart/base/util.js +21 -9
  535. package/esm/chart/base/util.js.map +1 -1
  536. package/esm/chart/cartesian/cartesian-transformer.d.ts +1 -0
  537. package/esm/chart/cartesian/cartesian-transformer.js +10 -7
  538. package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
  539. package/esm/chart/interface/chart.d.ts +1 -1
  540. package/esm/chart/interface/chart.js.map +1 -1
  541. package/esm/chart/polar/polar-transformer.js.map +1 -1
  542. package/esm/chart/progress/circular/circular-progress-transformer.js +2 -0
  543. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  544. package/esm/compile/compiler.d.ts +1 -1
  545. package/esm/compile/compiler.js +9 -5
  546. package/esm/compile/compiler.js.map +1 -1
  547. package/esm/compile/mark/compilable-mark.d.ts +4 -1
  548. package/esm/compile/mark/compilable-mark.js +9 -1
  549. package/esm/compile/mark/compilable-mark.js.map +1 -1
  550. package/esm/compile/mark/interface.d.ts +4 -1
  551. package/esm/compile/mark/interface.js.map +1 -1
  552. package/esm/component/axis/base-axis.d.ts +10 -59
  553. package/esm/component/axis/base-axis.js +112 -86
  554. package/esm/component/axis/base-axis.js.map +1 -1
  555. package/esm/component/axis/cartesian/axis.d.ts +1 -5
  556. package/esm/component/axis/cartesian/axis.js +8 -26
  557. package/esm/component/axis/cartesian/axis.js.map +1 -1
  558. package/esm/component/axis/cartesian/band-axis.d.ts +5 -0
  559. package/esm/component/axis/cartesian/band-axis.js +27 -6
  560. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  561. package/esm/component/axis/cartesian/interface/spec.d.ts +5 -0
  562. package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
  563. package/esm/component/axis/cartesian/log-axis.js +2 -1
  564. package/esm/component/axis/cartesian/log-axis.js.map +1 -1
  565. package/esm/component/axis/cartesian/time-axis.d.ts +1 -1
  566. package/esm/component/axis/cartesian/time-axis.js +2 -2
  567. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  568. package/esm/component/axis/cartesian/util/index.d.ts +0 -1
  569. package/esm/component/axis/cartesian/util/index.js +0 -2
  570. package/esm/component/axis/cartesian/util/index.js.map +1 -1
  571. package/esm/component/axis/interface/common.d.ts +2 -1
  572. package/esm/component/axis/interface/common.js.map +1 -1
  573. package/esm/component/axis/interface/spec.d.ts +7 -6
  574. package/esm/component/axis/interface/spec.js.map +1 -1
  575. package/esm/component/axis/mixin/linear-axis-mixin.js +1 -1
  576. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  577. package/esm/component/axis/polar/axis.d.ts +1 -5
  578. package/esm/component/axis/polar/axis.js +5 -23
  579. package/esm/component/axis/polar/axis.js.map +1 -1
  580. package/esm/component/base/base-component.d.ts +1 -1
  581. package/esm/component/base/base-component.js +3 -1
  582. package/esm/component/base/base-component.js.map +1 -1
  583. package/esm/component/base/util.d.ts +5 -0
  584. package/esm/component/base/util.js +12 -9
  585. package/esm/component/base/util.js.map +1 -1
  586. package/esm/component/brush/brush.d.ts +0 -3
  587. package/esm/component/brush/brush.js +5 -31
  588. package/esm/component/brush/brush.js.map +1 -1
  589. package/esm/component/brush/interface.d.ts +0 -3
  590. package/esm/component/brush/interface.js.map +1 -1
  591. package/esm/component/crosshair/base.d.ts +4 -1
  592. package/esm/component/crosshair/base.js +1 -10
  593. package/esm/component/crosshair/base.js.map +1 -1
  594. package/esm/component/crosshair/cartesian.d.ts +1 -7
  595. package/esm/component/crosshair/cartesian.js +20 -206
  596. package/esm/component/crosshair/cartesian.js.map +1 -1
  597. package/esm/component/crosshair/config.js.map +1 -1
  598. package/esm/component/crosshair/interface/cartesian.d.ts +46 -0
  599. package/esm/component/crosshair/interface/cartesian.js +2 -0
  600. package/esm/component/crosshair/interface/cartesian.js.map +1 -0
  601. package/esm/component/crosshair/interface/common.d.ts +7 -0
  602. package/esm/component/crosshair/interface/common.js +2 -0
  603. package/esm/component/crosshair/interface/common.js.map +1 -0
  604. package/esm/component/crosshair/interface/index.d.ts +3 -0
  605. package/esm/component/crosshair/interface/index.js +6 -0
  606. package/esm/component/crosshair/interface/index.js.map +1 -1
  607. package/esm/component/crosshair/interface/polar.d.ts +23 -0
  608. package/esm/component/crosshair/interface/polar.js +2 -0
  609. package/esm/component/crosshair/interface/polar.js.map +1 -0
  610. package/esm/component/crosshair/interface/spec.d.ts +1 -0
  611. package/esm/component/crosshair/interface/spec.js.map +1 -1
  612. package/esm/component/crosshair/polar.d.ts +2 -2
  613. package/esm/component/crosshair/polar.js +19 -116
  614. package/esm/component/crosshair/polar.js.map +1 -1
  615. package/esm/component/crosshair/utils/cartesian.d.ts +32 -0
  616. package/esm/component/crosshair/utils/cartesian.js +233 -0
  617. package/esm/component/crosshair/utils/cartesian.js.map +1 -0
  618. package/{cjs/component/crosshair/util.d.ts → esm/component/crosshair/utils/common.d.ts} +3 -3
  619. package/esm/component/crosshair/{util.js → utils/common.js} +6 -6
  620. package/esm/component/crosshair/utils/common.js.map +1 -0
  621. package/esm/component/crosshair/utils/index.d.ts +1 -0
  622. package/esm/component/crosshair/utils/index.js +2 -0
  623. package/esm/component/crosshair/utils/index.js.map +1 -0
  624. package/esm/component/crosshair/utils/polar.d.ts +37 -0
  625. package/esm/component/crosshair/utils/polar.js +125 -0
  626. package/esm/component/crosshair/utils/polar.js.map +1 -0
  627. package/esm/component/custom-mark/custom-mark.d.ts +1 -2
  628. package/esm/component/custom-mark/custom-mark.js +2 -1
  629. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  630. package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -6
  631. package/esm/component/data-zoom/data-filter-base-component.js +12 -20
  632. package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
  633. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  634. package/esm/component/data-zoom/data-zoom/data-zoom.js +16 -9
  635. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  636. package/esm/component/data-zoom/data-zoom/interface.d.ts +4 -7
  637. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  638. package/esm/component/data-zoom/scroll-bar/interface.d.ts +2 -4
  639. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  640. package/esm/component/data-zoom/util.d.ts +0 -4
  641. package/esm/component/data-zoom/util.js +2 -15
  642. package/esm/component/data-zoom/util.js.map +1 -1
  643. package/esm/component/index.d.ts +1 -0
  644. package/esm/component/index.js +2 -0
  645. package/esm/component/index.js.map +1 -1
  646. package/esm/component/indicator/indicator.js.map +1 -1
  647. package/esm/component/indicator/interface.d.ts +5 -5
  648. package/esm/component/indicator/interface.js.map +1 -1
  649. package/esm/component/interface/theme.d.ts +8 -0
  650. package/esm/component/interface/theme.js.map +1 -1
  651. package/esm/component/label/base-label.d.ts +4 -4
  652. package/esm/component/label/interface.d.ts +9 -10
  653. package/esm/component/label/interface.js.map +1 -1
  654. package/esm/component/label/label.js +1 -1
  655. package/esm/component/label/label.js.map +1 -1
  656. package/esm/component/label/total-label.js +14 -1
  657. package/esm/component/label/total-label.js.map +1 -1
  658. package/esm/component/label/util.d.ts +1 -1
  659. package/esm/component/label/util.js +7 -11
  660. package/esm/component/label/util.js.map +1 -1
  661. package/esm/component/legend/continuous/interface.d.ts +6 -12
  662. package/esm/component/legend/continuous/interface.js.map +1 -1
  663. package/esm/component/legend/discrete/interface.d.ts +20 -6
  664. package/esm/component/legend/discrete/interface.js.map +1 -1
  665. package/esm/component/legend/discrete/legend.d.ts +1 -0
  666. package/esm/component/legend/discrete/legend.js +11 -1
  667. package/esm/component/legend/discrete/legend.js.map +1 -1
  668. package/esm/component/legend/discrete/util.js +3 -2
  669. package/esm/component/legend/discrete/util.js.map +1 -1
  670. package/esm/component/legend/util.d.ts +2 -3
  671. package/esm/component/legend/util.js +0 -4
  672. package/esm/component/legend/util.js.map +1 -1
  673. package/esm/component/marker/interface.d.ts +6 -6
  674. package/esm/component/marker/interface.js.map +1 -1
  675. package/esm/component/marker/mark-area/interface/theme.d.ts +1 -1
  676. package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
  677. package/esm/component/marker/mark-area/mark-area.js +1 -1
  678. package/esm/component/marker/mark-area/mark-area.js.map +1 -1
  679. package/esm/component/marker/mark-line/interface/theme.d.ts +1 -1
  680. package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
  681. package/esm/component/marker/mark-line/mark-line.js +1 -1
  682. package/esm/component/marker/mark-line/mark-line.js.map +1 -1
  683. package/esm/component/marker/mark-point/interface/theme.d.ts +1 -1
  684. package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
  685. package/esm/component/marker/mark-point/mark-point.js +5 -2
  686. package/esm/component/marker/mark-point/mark-point.js.map +1 -1
  687. package/esm/component/player/interface/theme.d.ts +1 -1
  688. package/esm/component/player/interface/theme.js.map +1 -1
  689. package/esm/component/player/utils/transform.js.map +1 -1
  690. package/esm/component/poptip/interface.d.ts +5 -2
  691. package/esm/component/poptip/interface.js.map +1 -1
  692. package/esm/component/title/interface/spec.d.ts +18 -7
  693. package/esm/component/title/interface/spec.js.map +1 -1
  694. package/esm/component/title/interface/theme.d.ts +2 -1
  695. package/esm/component/title/interface/theme.js.map +1 -1
  696. package/esm/component/tooltip/interface/common.d.ts +3 -3
  697. package/esm/component/tooltip/interface/common.js.map +1 -1
  698. package/esm/component/tooltip/interface/event.d.ts +0 -2
  699. package/esm/component/tooltip/interface/event.js.map +1 -1
  700. package/esm/component/tooltip/interface/index.d.ts +1 -0
  701. package/esm/component/tooltip/interface/index.js +2 -0
  702. package/esm/component/tooltip/interface/index.js.map +1 -1
  703. package/esm/component/tooltip/interface/spec.d.ts +2 -2
  704. package/esm/component/tooltip/interface/spec.js.map +1 -1
  705. package/esm/component/tooltip/interface/theme.d.ts +6 -5
  706. package/esm/component/tooltip/interface/theme.js.map +1 -1
  707. package/esm/component/tooltip/processor/base.js +1 -3
  708. package/esm/component/tooltip/processor/base.js.map +1 -1
  709. package/esm/component/tooltip/processor/dimension-tooltip.js +2 -1
  710. package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  711. package/esm/component/tooltip/processor/mark-tooltip.js +2 -1
  712. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  713. package/esm/component/tooltip/tooltip.d.ts +3 -3
  714. package/esm/component/tooltip/tooltip.js +10 -10
  715. package/esm/component/tooltip/tooltip.js.map +1 -1
  716. package/esm/component/tooltip/utils/show-tooltip.js +3 -0
  717. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  718. package/esm/component/util.d.ts +8 -0
  719. package/esm/component/util.js +14 -0
  720. package/esm/component/util.js.map +1 -1
  721. package/esm/constant/index.d.ts +1 -0
  722. package/esm/constant/index.js +2 -0
  723. package/esm/constant/index.js.map +1 -1
  724. package/esm/core/factory.d.ts +3 -0
  725. package/esm/core/factory.js +6 -0
  726. package/esm/core/factory.js.map +1 -1
  727. package/esm/core/index.d.ts +2 -1
  728. package/esm/core/index.js +3 -1
  729. package/esm/core/index.js.map +1 -1
  730. package/esm/core/interface.d.ts +1 -1
  731. package/esm/core/interface.js.map +1 -1
  732. package/esm/core/vchart.d.ts +2 -1
  733. package/esm/core/vchart.js +7 -4
  734. package/esm/core/vchart.js.map +1 -1
  735. package/esm/data/initialize.js.map +1 -1
  736. package/esm/data/transforms/dimension-statistics.d.ts +2 -0
  737. package/esm/data/transforms/dimension-statistics.js +1 -1
  738. package/esm/data/transforms/dimension-statistics.js.map +1 -1
  739. package/esm/data/transforms/funnel.d.ts +1 -1
  740. package/esm/data/transforms/waterfall.js +104 -28
  741. package/esm/data/transforms/waterfall.js.map +1 -1
  742. package/esm/event/event-dispatcher.js +2 -2
  743. package/esm/event/event-dispatcher.js.map +1 -1
  744. package/esm/event/events/dimension/interface.d.ts +3 -2
  745. package/esm/event/events/dimension/interface.js.map +1 -1
  746. package/esm/event/events/dimension/util/cartesian.js +1 -0
  747. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  748. package/esm/event/events/dimension/util/common.js +44 -47
  749. package/esm/event/events/dimension/util/common.js.map +1 -1
  750. package/esm/event/events/dimension/util/polar.js +2 -0
  751. package/esm/event/events/dimension/util/polar.js.map +1 -1
  752. package/esm/event/interface.d.ts +2 -1
  753. package/esm/event/interface.js.map +1 -1
  754. package/esm/index-lark.js +4 -2
  755. package/esm/index-lark.js.map +1 -1
  756. package/esm/index-wx-simple.js +4 -2
  757. package/esm/index-wx-simple.js.map +1 -1
  758. package/esm/index-wx.js +1 -1
  759. package/esm/index-wx.js.map +1 -1
  760. package/esm/index.d.ts +1 -0
  761. package/esm/index.js +2 -0
  762. package/esm/index.js.map +1 -1
  763. package/esm/interaction/dimension-trigger.js +3 -1
  764. package/esm/interaction/dimension-trigger.js.map +1 -1
  765. package/esm/interaction/interaction.d.ts +5 -0
  766. package/esm/interaction/interaction.js +17 -1
  767. package/esm/interaction/interaction.js.map +1 -1
  768. package/esm/interaction/interface.d.ts +4 -1
  769. package/esm/interaction/interface.js.map +1 -1
  770. package/esm/mark/arc.js +3 -1
  771. package/esm/mark/arc.js.map +1 -1
  772. package/esm/mark/base/base-mark.d.ts +3 -3
  773. package/esm/mark/base/base-mark.js +20 -13
  774. package/esm/mark/base/base-mark.js.map +1 -1
  775. package/esm/mark/index.d.ts +2 -3
  776. package/esm/mark/index.js +1 -3
  777. package/esm/mark/index.js.map +1 -1
  778. package/esm/mark/interface/type.d.ts +0 -1
  779. package/esm/mark/interface/type.js +2 -3
  780. package/esm/mark/interface/type.js.map +1 -1
  781. package/esm/mark/label.d.ts +2 -2
  782. package/esm/mark/label.js.map +1 -1
  783. package/esm/mark/text.d.ts +16 -7
  784. package/esm/mark/text.js +13 -7
  785. package/esm/mark/text.js.map +1 -1
  786. package/esm/plugin/chart/formatter/formatter.d.ts +28 -0
  787. package/esm/plugin/chart/formatter/formatter.js +71 -0
  788. package/esm/plugin/chart/formatter/formatter.js.map +1 -0
  789. package/esm/plugin/chart/formatter/index.d.ts +1 -0
  790. package/esm/plugin/chart/formatter/index.js +2 -0
  791. package/esm/plugin/chart/formatter/index.js.map +1 -0
  792. package/esm/plugin/components/index.d.ts +2 -5
  793. package/esm/plugin/components/index.js +2 -4
  794. package/esm/plugin/components/index.js.map +1 -1
  795. package/esm/plugin/components/tooltip-handler/base.d.ts +6 -6
  796. package/esm/plugin/components/tooltip-handler/base.js +125 -66
  797. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  798. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.d.ts +2 -2
  799. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  800. package/esm/plugin/components/tooltip-handler/constants.d.ts +2 -2
  801. package/esm/plugin/components/tooltip-handler/constants.js.map +1 -1
  802. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +8 -4
  803. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +31 -9
  804. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  805. package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.d.ts +2 -2
  806. package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -1
  807. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.d.ts +2 -2
  808. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +2 -3
  809. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  810. package/esm/plugin/components/tooltip-handler/dom/model/interface.d.ts +2 -2
  811. package/esm/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -1
  812. package/esm/plugin/components/tooltip-handler/utils/attribute.d.ts +2 -2
  813. package/esm/plugin/components/tooltip-handler/utils/attribute.js +4 -4
  814. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  815. package/esm/plugin/components/tooltip-handler/utils/common.d.ts +3 -3
  816. package/esm/plugin/components/tooltip-handler/utils/common.js +10 -1
  817. package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  818. package/esm/plugin/components/tooltip-handler/utils/compose.d.ts +2 -2
  819. package/esm/plugin/components/tooltip-handler/utils/compose.js +5 -7
  820. package/esm/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  821. package/esm/plugin/components/tooltip-handler/utils/get-spec.js +14 -11
  822. package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  823. package/esm/plugin/components/tooltip-handler/utils/position.d.ts +18 -3
  824. package/esm/plugin/components/tooltip-handler/utils/position.js +39 -7
  825. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  826. package/esm/plugin/index.d.ts +1 -0
  827. package/esm/plugin/index.js +2 -0
  828. package/esm/plugin/index.js.map +1 -1
  829. package/esm/series/area/interface.d.ts +2 -1
  830. package/esm/series/area/interface.js.map +1 -1
  831. package/esm/series/bar/bar-3d.js.map +1 -1
  832. package/esm/series/bar/bar.d.ts +11 -1
  833. package/esm/series/bar/bar.js +99 -66
  834. package/esm/series/bar/bar.js.map +1 -1
  835. package/esm/series/bar/interface.d.ts +4 -3
  836. package/esm/series/bar/interface.js.map +1 -1
  837. package/esm/series/base/base-series-transformer.d.ts +4 -0
  838. package/esm/series/base/base-series-transformer.js +35 -10
  839. package/esm/series/base/base-series-transformer.js.map +1 -1
  840. package/esm/series/base/base-series.d.ts +4 -1
  841. package/esm/series/base/base-series.js +12 -3
  842. package/esm/series/base/base-series.js.map +1 -1
  843. package/esm/series/base/tooltip-helper.d.ts +3 -3
  844. package/esm/series/base/tooltip-helper.js.map +1 -1
  845. package/esm/series/cartesian/cartesian.d.ts +1 -2
  846. package/esm/series/cartesian/cartesian.js +28 -25
  847. package/esm/series/cartesian/cartesian.js.map +1 -1
  848. package/esm/series/circle-packing/circle-packing.js.map +1 -1
  849. package/esm/series/correlation/interface.d.ts +3 -3
  850. package/esm/series/correlation/interface.js.map +1 -1
  851. package/esm/series/dot/interface.d.ts +2 -2
  852. package/esm/series/dot/interface.js.map +1 -1
  853. package/esm/series/dot/tooltip-helper.js +1 -3
  854. package/esm/series/dot/tooltip-helper.js.map +1 -1
  855. package/esm/series/funnel/funnel.js.map +1 -1
  856. package/esm/series/funnel/interface.d.ts +5 -4
  857. package/esm/series/funnel/interface.js.map +1 -1
  858. package/esm/series/gauge/constant.js +2 -2
  859. package/esm/series/gauge/constant.js.map +1 -1
  860. package/esm/series/gauge/gauge.js +3 -3
  861. package/esm/series/gauge/gauge.js.map +1 -1
  862. package/esm/series/gauge/interface.d.ts +3 -3
  863. package/esm/series/gauge/interface.js.map +1 -1
  864. package/esm/series/interface/common.d.ts +3 -1
  865. package/esm/series/interface/common.js.map +1 -1
  866. package/esm/series/line/interface.d.ts +3 -2
  867. package/esm/series/line/interface.js.map +1 -1
  868. package/esm/series/link/tooltip-helper.js +1 -1
  869. package/esm/series/link/tooltip-helper.js.map +1 -1
  870. package/esm/series/map/interface.d.ts +2 -5
  871. package/esm/series/map/interface.js.map +1 -1
  872. package/esm/series/mixin/line-mixin.js +1 -1
  873. package/esm/series/mixin/line-mixin.js.map +1 -1
  874. package/esm/series/pie/3d/pie-3d.d.ts +1 -1
  875. package/esm/series/pie/3d/pie-3d.js +2 -3
  876. package/esm/series/pie/3d/pie-3d.js.map +1 -1
  877. package/esm/series/pie/interface.d.ts +5 -4
  878. package/esm/series/pie/interface.js.map +1 -1
  879. package/esm/series/pie/pie-transformer.js +5 -1
  880. package/esm/series/pie/pie-transformer.js.map +1 -1
  881. package/esm/series/pie/pie.js +1 -4
  882. package/esm/series/pie/pie.js.map +1 -1
  883. package/esm/series/polar/progress-like/progress-like.js +23 -25
  884. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  885. package/esm/series/progress/circular/circular.js +1 -3
  886. package/esm/series/progress/circular/circular.js.map +1 -1
  887. package/esm/series/progress/circular/constant.js +2 -2
  888. package/esm/series/progress/circular/constant.js.map +1 -1
  889. package/esm/series/progress/circular/interface.d.ts +5 -5
  890. package/esm/series/progress/circular/interface.js.map +1 -1
  891. package/esm/series/radar/interface.d.ts +2 -1
  892. package/esm/series/radar/interface.js.map +1 -1
  893. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  894. package/esm/series/range-column/interface.d.ts +5 -5
  895. package/esm/series/range-column/interface.js.map +1 -1
  896. package/esm/series/rose/interface.d.ts +2 -1
  897. package/esm/series/rose/interface.js.map +1 -1
  898. package/esm/series/rose/rose.js +1 -5
  899. package/esm/series/rose/rose.js.map +1 -1
  900. package/esm/series/sankey/interface.d.ts +2 -2
  901. package/esm/series/sankey/interface.js.map +1 -1
  902. package/esm/series/sankey/sankey.js.map +1 -1
  903. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  904. package/esm/series/scatter/interface.d.ts +2 -1
  905. package/esm/series/scatter/interface.js.map +1 -1
  906. package/esm/series/sunburst/sunburst.d.ts +1 -1
  907. package/esm/series/sunburst/sunburst.js.map +1 -1
  908. package/esm/series/treemap/interface.d.ts +3 -2
  909. package/esm/series/treemap/interface.js.map +1 -1
  910. package/esm/series/treemap/treemap.d.ts +2 -0
  911. package/esm/series/treemap/treemap.js +43 -46
  912. package/esm/series/treemap/treemap.js.map +1 -1
  913. package/esm/series/util/utils.js +1 -1
  914. package/esm/series/util/utils.js.map +1 -1
  915. package/esm/series/word-cloud/base.js.map +1 -1
  916. package/esm/series/word-cloud/interface.d.ts +2 -6
  917. package/esm/series/word-cloud/interface.js.map +1 -1
  918. package/esm/theme/builtin/common/component/axis/cartesian-axis.js +8 -4
  919. package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -1
  920. package/esm/theme/builtin/common/component/axis/common-axis.js +14 -7
  921. package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -1
  922. package/esm/theme/builtin/common/component/crosshair.js +120 -7
  923. package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
  924. package/esm/theme/builtin/common/component/data-zoom.js +16 -6
  925. package/esm/theme/builtin/common/component/data-zoom.js.map +1 -1
  926. package/esm/theme/builtin/common/component/indicator.js +8 -4
  927. package/esm/theme/builtin/common/component/indicator.js.map +1 -1
  928. package/esm/theme/builtin/common/component/legend/continuous.js +32 -10
  929. package/esm/theme/builtin/common/component/legend/continuous.js.map +1 -1
  930. package/esm/theme/builtin/common/component/legend/discrete-legend.js +16 -6
  931. package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -1
  932. package/esm/theme/builtin/common/component/map-label.js +8 -4
  933. package/esm/theme/builtin/common/component/map-label.js.map +1 -1
  934. package/esm/theme/builtin/common/component/mark-area.js +4 -3
  935. package/esm/theme/builtin/common/component/mark-area.js.map +1 -1
  936. package/esm/theme/builtin/common/component/mark-line.js +4 -3
  937. package/esm/theme/builtin/common/component/mark-line.js.map +1 -1
  938. package/esm/theme/builtin/common/component/poptip.js +8 -4
  939. package/esm/theme/builtin/common/component/poptip.js.map +1 -1
  940. package/esm/theme/builtin/common/component/title.js +16 -6
  941. package/esm/theme/builtin/common/component/title.js.map +1 -1
  942. package/esm/theme/builtin/common/component/tooltip.js +24 -8
  943. package/esm/theme/builtin/common/component/tooltip.js.map +1 -1
  944. package/esm/theme/builtin/common/component/total-label.js +4 -3
  945. package/esm/theme/builtin/common/component/total-label.js.map +1 -1
  946. package/esm/theme/builtin/common/mark.js +11 -6
  947. package/esm/theme/builtin/common/mark.js.map +1 -1
  948. package/esm/theme/builtin/common/series/box-plot.js +5 -0
  949. package/esm/theme/builtin/common/series/box-plot.js.map +1 -1
  950. package/esm/theme/builtin/common/series/circle-packing.js +8 -4
  951. package/esm/theme/builtin/common/series/circle-packing.js.map +1 -1
  952. package/esm/theme/builtin/common/series/dot.js +16 -6
  953. package/esm/theme/builtin/common/series/dot.js.map +1 -1
  954. package/esm/theme/builtin/common/series/funnel.js +8 -4
  955. package/esm/theme/builtin/common/series/funnel.js.map +1 -1
  956. package/esm/theme/builtin/common/series/funnel3d.js +8 -4
  957. package/esm/theme/builtin/common/series/funnel3d.js.map +1 -1
  958. package/esm/theme/builtin/common/series/map.js +8 -4
  959. package/esm/theme/builtin/common/series/map.js.map +1 -1
  960. package/esm/theme/builtin/common/series/rangeColumn.js +1 -0
  961. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
  962. package/esm/theme/builtin/common/series/sunburst.js +8 -4
  963. package/esm/theme/builtin/common/series/sunburst.js.map +1 -1
  964. package/esm/theme/builtin/common/series/treemap.js +17 -7
  965. package/esm/theme/builtin/common/series/treemap.js.map +1 -1
  966. package/esm/theme/builtin/common/series/waterfall.js +8 -4
  967. package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
  968. package/esm/theme/builtin/index.js +4 -4
  969. package/esm/theme/builtin/index.js.map +1 -1
  970. package/esm/theme/builtin/light/index.js +7 -3
  971. package/esm/theme/builtin/light/index.js.map +1 -1
  972. package/esm/theme/interface.d.ts +3 -19
  973. package/esm/theme/interface.js.map +1 -1
  974. package/esm/theme/theme-manager.d.ts +1 -1
  975. package/esm/theme/theme-manager.js +2 -2
  976. package/esm/theme/theme-manager.js.map +1 -1
  977. package/esm/theme/token/builtin/default.d.ts +2 -0
  978. package/esm/theme/{builtin/common/constants.js → token/builtin/default.js} +3 -5
  979. package/esm/theme/token/builtin/default.js.map +1 -0
  980. package/esm/theme/token/builtin/index.d.ts +2 -0
  981. package/esm/theme/token/builtin/index.js +4 -0
  982. package/esm/theme/token/builtin/index.js.map +1 -0
  983. package/esm/theme/token/builtin/interface.d.ts +17 -0
  984. package/esm/theme/token/builtin/interface.js +2 -0
  985. package/esm/theme/token/builtin/interface.js.map +1 -0
  986. package/esm/theme/token/index.d.ts +3 -0
  987. package/esm/theme/token/index.js +6 -0
  988. package/esm/theme/token/index.js.map +1 -0
  989. package/esm/theme/token/interface.d.ts +6 -0
  990. package/esm/theme/token/interface.js +2 -0
  991. package/esm/theme/token/interface.js.map +1 -0
  992. package/esm/theme/token/util.d.ts +3 -0
  993. package/esm/theme/token/util.js +8 -0
  994. package/esm/theme/token/util.js.map +1 -0
  995. package/esm/typings/spec/common.d.ts +32 -22
  996. package/esm/typings/spec/common.js.map +1 -1
  997. package/esm/typings/tooltip/line.d.ts +5 -2
  998. package/esm/typings/tooltip/line.js.map +1 -1
  999. package/esm/typings/tooltip/position.d.ts +18 -24
  1000. package/esm/typings/tooltip/position.js +1 -15
  1001. package/esm/typings/tooltip/position.js.map +1 -1
  1002. package/esm/typings/tooltip/shape.d.ts +2 -2
  1003. package/esm/typings/tooltip/shape.js.map +1 -1
  1004. package/esm/typings/tooltip/tooltip.d.ts +8 -8
  1005. package/esm/typings/tooltip/tooltip.js.map +1 -1
  1006. package/esm/typings/visual.d.ts +15 -11
  1007. package/esm/typings/visual.js.map +1 -1
  1008. package/esm/util/data.d.ts +2 -1
  1009. package/esm/util/data.js +12 -8
  1010. package/esm/util/data.js.map +1 -1
  1011. package/esm/util/index.d.ts +1 -2
  1012. package/esm/util/index.js +1 -3
  1013. package/esm/util/index.js.map +1 -1
  1014. package/esm/util/spec/common.d.ts +0 -2
  1015. package/esm/util/spec/common.js +0 -8
  1016. package/esm/util/spec/common.js.map +1 -1
  1017. package/esm/util/spec/index.d.ts +2 -2
  1018. package/esm/util/spec/index.js +2 -2
  1019. package/esm/util/spec/index.js.map +1 -1
  1020. package/esm/util/text.js +4 -4
  1021. package/esm/util/text.js.map +1 -1
  1022. package/esm/util/theme/common.d.ts +2 -0
  1023. package/esm/util/theme/common.js +8 -0
  1024. package/esm/util/theme/common.js.map +1 -0
  1025. package/esm/util/theme/index.d.ts +3 -0
  1026. package/esm/util/theme/index.js +6 -0
  1027. package/esm/util/theme/index.js.map +1 -0
  1028. package/esm/util/{spec → theme}/merge-theme.js +3 -1
  1029. package/esm/util/theme/merge-theme.js.map +1 -0
  1030. package/esm/util/{spec → theme}/preprocess.d.ts +2 -1
  1031. package/esm/util/theme/preprocess.js +18 -0
  1032. package/esm/util/theme/preprocess.js.map +1 -0
  1033. package/esm/vchart-all.js +4 -2
  1034. package/esm/vchart-all.js.map +1 -1
  1035. package/esm/vchart-simple.js +1 -1
  1036. package/esm/vchart-simple.js.map +1 -1
  1037. package/package.json +18 -18
  1038. package/cjs/component/axis/cartesian/util/time.d.ts +0 -80
  1039. package/cjs/component/axis/cartesian/util/time.js +0 -204
  1040. package/cjs/component/axis/cartesian/util/time.js.map +0 -1
  1041. package/cjs/component/crosshair/util.js.map +0 -1
  1042. package/cjs/data/transforms/treemap.d.ts +0 -11
  1043. package/cjs/data/transforms/treemap.js +0 -15
  1044. package/cjs/data/transforms/treemap.js.map +0 -1
  1045. package/cjs/mark/progress-arc.d.ts +0 -14
  1046. package/cjs/mark/progress-arc.js +0 -55
  1047. package/cjs/mark/progress-arc.js.map +0 -1
  1048. package/cjs/theme/builtin/common/constants.d.ts +0 -2
  1049. package/cjs/theme/builtin/common/constants.js.map +0 -1
  1050. package/cjs/util/spec/merge-theme.js.map +0 -1
  1051. package/cjs/util/spec/preprocess.js.map +0 -1
  1052. package/esm/component/axis/cartesian/util/time.d.ts +0 -80
  1053. package/esm/component/axis/cartesian/util/time.js +0 -196
  1054. package/esm/component/axis/cartesian/util/time.js.map +0 -1
  1055. package/esm/component/crosshair/util.js.map +0 -1
  1056. package/esm/data/transforms/treemap.d.ts +0 -11
  1057. package/esm/data/transforms/treemap.js +0 -9
  1058. package/esm/data/transforms/treemap.js.map +0 -1
  1059. package/esm/mark/progress-arc.d.ts +0 -14
  1060. package/esm/mark/progress-arc.js +0 -47
  1061. package/esm/mark/progress-arc.js.map +0 -1
  1062. package/esm/theme/builtin/common/constants.d.ts +0 -2
  1063. package/esm/theme/builtin/common/constants.js.map +0 -1
  1064. package/esm/util/spec/merge-theme.js.map +0 -1
  1065. package/esm/util/spec/preprocess.js +0 -15
  1066. package/esm/util/spec/preprocess.js.map +0 -1
  1067. /package/cjs/util/{spec → theme}/merge-theme.d.ts +0 -0
  1068. /package/esm/util/{spec → theme}/merge-theme.d.ts +0 -0
@@ -6,10 +6,11 @@ import type { ScaleType } from './scale';
6
6
  import type { ShapeType } from './shape';
7
7
  import type { IPoint } from './coordinate';
8
8
  import type { IAttributeOpt, IModelMarkAttributeContext } from '../compile/mark';
9
- import type { Datum, StringOrNumber } from './common';
9
+ import type { Datum } from './common';
10
10
  import type { IPadding } from '@visactor/vutils';
11
11
  import type { IColorKey } from '../theme/color-scheme/interface';
12
- import type { IRepeatType, TextAlignType, TextBaselineType, IRichTextCharacter } from '@visactor/vrender-core';
12
+ import type { ITokenKey } from '../theme/token';
13
+ import type { IRepeatType, TextAlignType, TextBaselineType, IRichTextAttribute, IGraphicStyle } from '@visactor/vrender-core';
13
14
  export interface IVisualSpecBase<D, T> {
14
15
  type: ScaleType;
15
16
  domain: D[];
@@ -80,6 +81,7 @@ export interface ICommonSpec {
80
81
  texturePadding?: number;
81
82
  outerBorder?: IBorder;
82
83
  innerBorder?: IBorder;
84
+ html?: IMarkHtmlSpec;
83
85
  [key: string]: any;
84
86
  }
85
87
  export interface IFillMarkSpec extends ICommonSpec {
@@ -87,6 +89,7 @@ export interface IFillMarkSpec extends ICommonSpec {
87
89
  fillOpacity?: number;
88
90
  background?: string | HTMLImageElement | HTMLCanvasElement | null;
89
91
  }
92
+ export type IMarkHtmlSpec = Partial<IGraphicStyle['html']>;
90
93
  export interface ISymbolMarkSpec extends IFillMarkSpec {
91
94
  dx?: number;
92
95
  dy?: number;
@@ -116,11 +119,10 @@ export interface IRuleMarkSpec extends ILineMarkSpec {
116
119
  y1?: number;
117
120
  }
118
121
  export interface ITextMarkSpec extends IFillMarkSpec {
119
- type?: 'html' | 'rich' | 'text';
120
- text?: StringOrNumber | string[] | IRichTextCharacter[] | Function;
122
+ text?: string | number | string[] | number[];
121
123
  dx?: number;
122
124
  dy?: number;
123
- fontSize?: number;
125
+ fontSize?: number | ITokenKey;
124
126
  textAlign?: TextAlign;
125
127
  textBaseline?: TextBaseLine;
126
128
  fontFamily?: string;
@@ -129,13 +131,17 @@ export interface ITextMarkSpec extends IFillMarkSpec {
129
131
  maxLineWidth?: number;
130
132
  ellipsis?: string;
131
133
  suffixPosition?: 'start' | 'end' | 'middle';
132
- lineBreak?: string;
133
134
  underline?: boolean;
134
135
  lineThrough?: boolean;
135
- lineHeight?: number | string;
136
+ lineHeight?: number | string | ITokenKey;
136
137
  poptip?: PopTipAttributes;
137
138
  direction?: 'horizontal' | 'vertical';
138
139
  }
140
+ export type IRichTextMarkSpec = IRichTextAttribute & IFillMarkSpec & {
141
+ type: 'rich';
142
+ text: IRichTextAttribute['textConfig'];
143
+ };
144
+ export type IComposedTextMarkSpec = ITextMarkSpec | IRichTextMarkSpec;
139
145
  export type IPositionedTextMarkSpec = Omit<ITextMarkSpec, 'align' | 'textAlign' | 'baseline' | 'textBaseline'>;
140
146
  export interface IRectMarkSpec extends IFillMarkSpec {
141
147
  cornerRadius?: number | number[];
@@ -201,6 +207,8 @@ export interface IArcMarkSpec extends IFillMarkSpec {
201
207
  outerRadius?: number;
202
208
  innerRadius?: number;
203
209
  cornerRadius?: number;
210
+ innerPadding?: number;
211
+ outerPadding?: number;
204
212
  centerOffset?: number;
205
213
  cap?: boolean | [boolean, boolean];
206
214
  autoCapConical?: boolean;
@@ -208,10 +216,6 @@ export interface IArcMarkSpec extends IFillMarkSpec {
208
216
  export interface IArc3dMarkSpec extends IArcMarkSpec {
209
217
  height?: number;
210
218
  }
211
- export interface IProgressArcMarkSpec extends IArcMarkSpec {
212
- innerPadding?: number;
213
- outerPadding?: number;
214
- }
215
219
  export interface ICellMarkSpec extends ISymbolMarkSpec {
216
220
  padding?: number | number[] | IPadding;
217
221
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/typings/visual.ts"],"names":[],"mappings":"","file":"visual.js","sourcesContent":["import type { PopTipAttributes } from '@visactor/vrender-components';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Cursor } from './cursor';\nimport type { InterpolateType } from './interpolate';\nimport type { ScaleType } from './scale';\nimport type { ShapeType } from './shape';\nimport type { IPoint } from './coordinate';\nimport type { IAttributeOpt, IModelMarkAttributeContext } from '../compile/mark';\nimport type { Datum, StringOrNumber } from './common';\nimport type { IPadding } from '@visactor/vutils';\nimport type { IColorKey } from '../theme/color-scheme/interface';\nimport type { IRepeatType, TextAlignType, TextBaselineType, IRichTextCharacter } from '@visactor/vrender-core';\n\n// 基础的visual 对应 scale 的属性\nexport interface IVisualSpecBase<D, T> {\n /**\n * type of scale\n */\n type: ScaleType;\n /**\n * will set to scale.domain, it means input of scale\n */\n domain: D[];\n /**\n * will set to scale.range, it means output of scale\n */\n range: T[];\n /**\n * will set to scale.specified if scale support, as a key-value pair matching capability\n * @since 1.1.0\n */\n specified?: { [key: string]: unknown };\n}\n// 用来给用户进行mark.style上的映射配置。所以要配置数据维度\nexport interface IVisualSpecStyle<D, T> extends IVisualSpecBase<D, T> {\n field?: string;\n}\n\nexport type IDataDomainSpec = {\n dataId: string;\n fields: string[];\n};\n\n// 用来提供给用户进行 scale 配置 所以名字是必选的 对用户配置\nexport interface IVisualSpecScale<D, T> extends Omit<IVisualSpecBase<D, T>, 'domain'> {\n id: string;\n domain:\n | IVisualSpecBase<D, T>['domain']\n // 使用数据的字段值,如果 scale 是连续的,就取区间,如果是离散的就使用 values 。\n // 不考虑图表内的交互等数据筛选,这里只用原始数据的统计信息\n | IDataDomainSpec[];\n}\n// 对用户配置\nexport type IVisual<D = any, R = any> = IVisualSpecStyle<D, R> | IVisualScale;\n\nexport interface IVisualScale {\n /**\n * 对应 IVisualSpecScale 的用户配置 scale-id\n */\n scale: string;\n /**\n * 指定参与映射的数据字段\n */\n field?: string;\n /**\n * 当用户指定 field 后,用该属性来控制值域。\n * @default 'none'\n */\n changeDomain?: 'none' | 'replace' | 'expand';\n}\n\nexport type FunctionType<T> = (\n datum: Datum,\n context: IModelMarkAttributeContext,\n opt?: IAttributeOpt,\n source?: DataView\n) => T;\nexport type ValueType<T> = T;\nexport type VisualType<T> = ValueType<T> | FunctionType<T> | IVisual<unknown, T>;\n\nexport type TextureType =\n | 'circle'\n | 'dimond'\n | 'rect'\n | 'vertical-line'\n | 'horizontal-line'\n | 'bias-lr'\n | 'bias-rl'\n | 'grid';\n\n/**\n * style格式转换\n */\nexport type ConvertToMarkStyleSpec<T extends Record<string, any>> = {\n [key in keyof T]: VisualType<T[key]>;\n};\n\n/**\n * border\n */\n\nexport interface IBorder {\n distance: number | string;\n stroke?: string | IGradient;\n strokeOpacity?: number;\n lineWidth?: number;\n lineDash?: number[];\n lineDashOffset?: number;\n}\n\nexport interface ICommonSpec {\n visible?: boolean;\n x?: number;\n y?: number;\n z?: number;\n /**\n * @todo 隔离主题和 spec 配置\n * IColorKey 类型只适用于主题\n */\n stroke?: string | IGradient | false | (number | boolean)[] | IColorKey;\n strokeOpacity?: number;\n opacity?: number;\n lineWidth?: number;\n lineDash?: number[];\n lineDashOffset?: number;\n\n cursor?: Cursor;\n zIndex?: number;\n angle?: number;\n anchor?: [number, number];\n\n // 缩放属性\n scaleX?: number;\n scaleY?: number;\n /**\n * 图形缩放中心\n * @since 1.4.0\n * 可以配置固定坐标,例如 [100, 100];或者百分比坐标,例如 ['50%', '50%'],代表以图元中心为缩放中心\n * */\n scaleCenter?: [number | string, number | string];\n\n // 3d旋转的属性\n beta?: number;\n alpha?: number;\n anchor3d?: [number, number];\n\n /**\n * 选择模式,精确模式,粗糙模式(包围盒模式),自定义模式\n */\n pickMode?: 'accurate' | 'imprecise' | 'custom';\n boundsMode?: 'accurate' | 'imprecise';\n\n /**\n * 用于扩展描边的拾取范围,为 0 就是默认线宽,正数就加宽,负数就减宽\n * @default 0\n * @since 1.7.3\n */\n pickStrokeBuffer?: number;\n\n // 以下是纹理相关的属性\n /**\n * 纹理的类型\n */\n texture?: TextureType | string;\n /**\n * 纹理的颜色\n */\n textureColor?: string;\n /**\n * 纹理单元的大小\n */\n textureSize?: number; // 纹理大小\n /**\n * 纹理之间空隙的大小\n */\n texturePadding?: number;\n\n /**\n * 外边框\n */\n outerBorder?: IBorder;\n /**\n * 内边框\n */\n innerBorder?: IBorder;\n\n [key: string]: any;\n}\n\nexport interface IFillMarkSpec extends ICommonSpec {\n /**\n * @todo 隔离主题和 spec 配置\n * IColorKey 类型只适用于主题\n */\n fill?: VisualType<string> | IGradient | false | IColorKey;\n fillOpacity?: number;\n // TODO:waite VRender support this api\n // backgroundMode: number; // 填充模式(与具体图元有关)\n // can coexist with fill\n background?: string | HTMLImageElement | HTMLCanvasElement | null;\n}\n\n// export interface IFillImageMarkSpec {\n// fillImage?: string;\n// repeatX?: RepeatXYType;\n// repeatY?: RepeatXYType;\n// imageOrigin?: ImageOriginType;\n// }\n\nexport interface ISymbolMarkSpec extends IFillMarkSpec {\n dx?: number;\n dy?: number;\n size?: number | number[];\n /** 对外声明使用shape,vrender图形属性对应的是shape */\n shape?: ShapeType | string;\n /** FIXME: vrender Symbol接收的图形属性,暂时都申明一下 */\n symbolType?: ShapeType | string;\n scaleX?: number;\n scaleY?: number;\n}\n\n// lineMark 和 areaMark 共同配置\nexport interface ILineLikeMarkSpec extends IFillMarkSpec {\n curveType?: InterpolateType;\n defined?: boolean;\n}\n\nexport interface IAreaMarkSpec extends ILineLikeMarkSpec {\n x1?: number;\n y1?: number;\n\n orient?: 'horizontal' | 'vertical';\n}\n\nexport interface ILineMarkSpec extends ILineLikeMarkSpec {\n lineCap?: LineStrokeCap;\n lineJoin?: LineStrokeJoin;\n miterLimit?: number;\n strokeBoundsBuffer?: number;\n}\n\nexport interface IRuleMarkSpec extends ILineMarkSpec {\n x1?: number;\n y1?: number;\n}\n\nexport interface ITextMarkSpec extends IFillMarkSpec {\n /**\n * 文字类型\n * 可选,'html', 'rich', 'text'\n * @default 'text'\n */\n type?: 'html' | 'rich' | 'text';\n /**\n * 文字内容\n */\n text?: StringOrNumber | string[] | IRichTextCharacter[] | Function;\n /**\n * x 方向偏移\n */\n dx?: number;\n /**\n * y 方向偏移\n */\n dy?: number;\n /**\n * 字号\n */\n fontSize?: number;\n /**\n * 文字对齐方式\n */\n textAlign?: TextAlign;\n /**\n * 文字居中方式\n */\n textBaseline?: TextBaseLine;\n /**\n * 字体\n */\n fontFamily?: string;\n /**\n * 字重\n */\n fontWeight?: FontWeight;\n /**\n * 字体样式\n */\n fontStyle?: FontStyle;\n /**\n * 文字的最大长度\n */\n maxLineWidth?: number;\n /**\n * 文字超出 maxLineWidth 后的省略符\n */\n ellipsis?: string;\n /**\n * 文本省略的位置,默认尾部省略\n * 1. 'start' 文字首部省略\n * 2. 'middle' 文本中间省略\n * 3. 'end' 文本尾部省略\n * @default 'end'\n * @since 1.7.3\n */\n suffixPosition?: 'start' | 'end' | 'middle';\n // TODO: 这些不是常规的文字mark属性,待确认需求背景\n lineBreak?: string;\n /**\n * 下划线\n */\n underline?: boolean;\n /**\n * 中划线\n */\n lineThrough?: boolean;\n /**\n * 行高(1.3.1 版本新增字符串类型表示比例值,如\"150%\")\n * @since 1.3.1\n */\n lineHeight?: number | string;\n /**\n * poptip 相关配置\n */\n poptip?: PopTipAttributes;\n /**\n * 文本的排布方向,如果需要文本纵向排布,可以配置为 'vertical'\n * @default 'horizontal'\n */\n direction?: 'horizontal' | 'vertical';\n}\n\nexport type IPositionedTextMarkSpec = Omit<ITextMarkSpec, 'align' | 'textAlign' | 'baseline' | 'textBaseline'>;\n\nexport interface IRectMarkSpec extends IFillMarkSpec {\n /**\n * 圆角配置。\n * 1. 如果传入数值,则统一为四个角设置圆角\n * 2. 如果传入数组,则分别为 [上左, 上右, 下右, 下左]\n */\n cornerRadius?: number | number[];\n width?: number;\n height?: number;\n x1?: number;\n y1?: number;\n}\n\n// 3d rect,支持length表示长宽高中的长属性(深度属性)\nexport interface IRect3dMarkSpec extends IRectMarkSpec {\n length?: number;\n}\n\nexport interface IBoxPlotMarkSpec extends ICommonSpec {\n /**\n * box描边宽度\n */\n lineWidth?: number;\n /**\n * box宽度\n */\n boxWidth?: number;\n /**\n * 最大最小值宽度\n */\n shaftWidth?: number;\n /**\n * 中轴线类型\n */\n shaftShape?: BoxPlotShaftShape;\n /**\n * 盒子填充颜色,为空则不填充\n */\n boxFill?: string;\n // /**\n // * 描边颜色\n // */\n // stroke?: string;\n /**\n * 中轴线透明度,仅当shaftType=bar时生效\n */\n shaftFillOpacity?: number;\n\n min?: (datum: Datum) => number;\n q1?: (datum: Datum) => number;\n median?: (datum: Datum) => number;\n q3?: (datum: Datum) => number;\n max?: (datum: Datum) => number;\n}\n\nexport interface IRippleMarkSpec extends ICommonSpec {\n /**\n * 波纹密度ripple\n * ripple 取值范为[0,1]\n */\n ripple?: number;\n /**\n * 水波纹最大半径\n */\n size?: number;\n}\n\nexport interface ILiquidMarkSpec extends ICommonSpec {\n /**\n * 波浪的变化状态,范围为 [0, 1]\n */\n wave?: number;\n}\n\nexport interface ILiquidOutlineSpec extends ISymbolMarkSpec {\n lineWidth: number;\n}\n\nexport interface IOutlierMarkSpec {\n //异常点填充颜色\n fill?: string;\n //异常点大小\n size?: number;\n}\n\nexport interface IPathMarkSpec extends IFillMarkSpec {\n path?: string;\n // TODO: 该属性后续可能会删除,未定\n // 平滑缩放,不然会发生跳变,在地图交互场景需要配置为true;常规path缩放不需要\n smoothScale?: boolean;\n}\n\nexport interface ILinkPathMarkSpec extends IFillMarkSpec {\n x0?: number;\n y0?: number;\n x1?: number;\n y1?: number;\n thickness?: number;\n curvature?: number;\n /** round all the coordinates */\n round?: boolean;\n /** the ratio of normal style path */\n ratio?: number;\n align?: 'start' | 'end' | 'center';\n pathType?: 'line' | 'smooth' | 'polyline';\n endArrow?: boolean;\n startArrow?: boolean;\n backgroundStyle?: any;\n direction?: 'horizontal' | 'vertical' | 'LR' | 'RL' | 'TB' | 'BL' | 'radial';\n}\n\nexport interface IArcMarkSpec extends IFillMarkSpec {\n startAngle?: number;\n endAngle?: number;\n padAngle?: number;\n\n outerRadius?: number;\n innerRadius?: number;\n cornerRadius?: number;\n\n /** arc的中心点偏移距离 */\n centerOffset?: number;\n\n /** arc 的 roundCap 属性,即圆角是否伸出 startAngle 和 endAngle 之外 */\n cap?: boolean | [boolean, boolean];\n /** arc 在 roundCap 打开且应用环形渐变时是否对 cap 部分生效 */\n autoCapConical?: boolean;\n}\n\n// 3d arc,有高度配置\nexport interface IArc3dMarkSpec extends IArcMarkSpec {\n height?: number;\n}\n\nexport interface IProgressArcMarkSpec extends IArcMarkSpec {\n /** 进度条内侧 padding(接受负值) */\n innerPadding?: number;\n /** 进度条外侧 padding(接受负值) */\n outerPadding?: number;\n}\n\nexport interface ICellMarkSpec extends ISymbolMarkSpec {\n padding?: number | number[] | IPadding;\n}\n\nexport interface IGroupMarkSpec extends IFillMarkSpec {\n clip?: boolean;\n width?: number;\n height?: number;\n /**\n * 圆角配置。\n * 1. 如果传入数值,则统一为四个角设置圆角\n * 2. 如果传入数组,则分别为 [上左, 上右, 下右, 下左]\n */\n cornerRadius?: number | number[];\n}\n\nexport interface IPolygonMarkSpec extends ICommonSpec, IFillMarkSpec {\n points?: IPoint[];\n /**\n * 圆角配置,支持数组配置,数组的顺序同组成 polygon 的顺序对应\n */\n cornerRadius?: number | number[];\n scaleX?: number;\n scaleY?: number;\n}\n\nexport interface IPyramid3dMarkSpec extends IPolygonMarkSpec {\n // 只能有4个顶点\n points?: IPoint[];\n}\n\n/**\n * ImageFill\n */\nexport type RepeatType = 'no-repeat' | 'repeat-x' | 'repeat-y' | 'repeat';\nexport type RepeatXYType = 'no-repeat' | 'repeat' | 'stretch';\nexport type ImageOriginType = 'top' | 'bottom';\n\n/**\n * gradient\n */\nexport type GradientPropValue<T> = ValueType<T> | FunctionType<T>;\nexport type GradientStop = {\n offset: GradientPropValue<number>;\n color?: GradientPropValue<string>;\n opacity?: number;\n};\nexport interface IGradientLinear {\n x0?: GradientPropValue<number>;\n y0?: GradientPropValue<number>;\n x1?: GradientPropValue<number>;\n y1?: GradientPropValue<number>;\n stops: GradientStop[];\n gradient: 'linear';\n}\n\nexport interface IGradientRadial {\n r0?: GradientPropValue<number>;\n x0?: GradientPropValue<number>;\n y0?: GradientPropValue<number>;\n x1?: GradientPropValue<number>;\n y1?: GradientPropValue<number>;\n r1?: GradientPropValue<number>;\n stops: GradientStop[];\n gradient: 'radial';\n}\n\nexport interface IGradientConical {\n x?: GradientPropValue<number>;\n y?: GradientPropValue<number>;\n startAngle?: GradientPropValue<number>;\n endAngle?: GradientPropValue<number>;\n stops: GradientStop[];\n gradient: 'conical';\n}\n\nexport type GradientType = 'linear' | 'radial' | 'conical';\nexport type IGradient = IGradientLinear | IGradientRadial | IGradientConical;\n\nexport type LineStrokeCap = 'butt' | 'round' | 'square';\nexport type LineStrokeJoin = 'arcs' | 'bevel' | 'miter' | 'miter-clip' | 'round';\n\nexport type BoxPlotShaftShape = 'line' | 'bar';\n/**\n * threshold\n */\nexport interface IThresholdStyle extends IVisualSpecStyle<number, string> {\n domain: number[];\n field: string;\n range: string[];\n type: 'threshold';\n}\n\n// FIXME: For some tool methods that need to use common configuration types\nexport interface IUnknownMarkSpec extends ICommonSpec {\n [key: string]: unknown;\n}\n\nexport interface IImageMarkSpec extends IFillMarkSpec {\n /**\n * 圆角配置。\n * 1. 如果传入数值,则统一为四个角设置圆角\n * 2. 如果传入数组,则分别为 [上左, 上右, 下右, 下左]\n */\n cornerRadius?: number | number[];\n width?: number;\n height?: number;\n repeatX?: IRepeatType;\n repeatY?: IRepeatType;\n image: string | HTMLImageElement | HTMLCanvasElement;\n}\n\n/**\n * text\n */\nexport type TextAlign = TextAlignType;\nexport type TextBaseLine = TextBaselineType;\nexport type FontStyle = 'normal' | 'italic' | 'oblique' | string;\nexport type FontWeight = 'normal' | 'bold' | 'lighter' | 'bolder' | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;\n"]}
1
+ {"version":3,"sources":["../src/typings/visual.ts"],"names":[],"mappings":"","file":"visual.js","sourcesContent":["import type { PopTipAttributes } from '@visactor/vrender-components';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Cursor } from './cursor';\nimport type { InterpolateType } from './interpolate';\nimport type { ScaleType } from './scale';\nimport type { ShapeType } from './shape';\nimport type { IPoint } from './coordinate';\nimport type { IAttributeOpt, IModelMarkAttributeContext } from '../compile/mark';\nimport type { Datum } from './common';\nimport type { IPadding } from '@visactor/vutils';\nimport type { IColorKey } from '../theme/color-scheme/interface';\nimport type { ITokenKey } from '../theme/token';\nimport type {\n IRepeatType,\n TextAlignType,\n TextBaselineType,\n IRichTextAttribute,\n IGraphicStyle\n} from '@visactor/vrender-core';\n\n// 基础的visual 对应 scale 的属性\nexport interface IVisualSpecBase<D, T> {\n /**\n * type of scale\n */\n type: ScaleType;\n /**\n * will set to scale.domain, it means input of scale\n */\n domain: D[];\n /**\n * will set to scale.range, it means output of scale\n */\n range: T[];\n /**\n * will set to scale.specified if scale support, as a key-value pair matching capability\n * @since 1.1.0\n */\n specified?: { [key: string]: unknown };\n}\n// 用来给用户进行mark.style上的映射配置。所以要配置数据维度\nexport interface IVisualSpecStyle<D, T> extends IVisualSpecBase<D, T> {\n field?: string;\n}\n\nexport type IDataDomainSpec = {\n dataId: string;\n fields: string[];\n};\n\n// 用来提供给用户进行 scale 配置 所以名字是必选的 对用户配置\nexport interface IVisualSpecScale<D, T> extends Omit<IVisualSpecBase<D, T>, 'domain'> {\n id: string;\n domain:\n | IVisualSpecBase<D, T>['domain']\n // 使用数据的字段值,如果 scale 是连续的,就取区间,如果是离散的就使用 values 。\n // 不考虑图表内的交互等数据筛选,这里只用原始数据的统计信息\n | IDataDomainSpec[];\n}\n// 对用户配置\nexport type IVisual<D = any, R = any> = IVisualSpecStyle<D, R> | IVisualScale;\n\nexport interface IVisualScale {\n /**\n * 对应 IVisualSpecScale 的用户配置 scale-id\n */\n scale: string;\n /**\n * 指定参与映射的数据字段\n */\n field?: string;\n /**\n * 当用户指定 field 后,用该属性来控制值域。\n * @default 'none'\n */\n changeDomain?: 'none' | 'replace' | 'expand';\n}\n\nexport type FunctionType<T> = (\n datum: Datum,\n context: IModelMarkAttributeContext,\n opt?: IAttributeOpt,\n source?: DataView\n) => T;\nexport type ValueType<T> = T;\nexport type VisualType<T> = ValueType<T> | FunctionType<T> | IVisual<unknown, T>;\n\nexport type TextureType =\n | 'circle'\n | 'dimond'\n | 'rect'\n | 'vertical-line'\n | 'horizontal-line'\n | 'bias-lr'\n | 'bias-rl'\n | 'grid';\n\n/**\n * style格式转换\n */\nexport type ConvertToMarkStyleSpec<T extends Record<string, any>> = {\n [key in keyof T]: VisualType<T[key]>;\n};\n\n/**\n * border\n */\nexport interface IBorder {\n distance: number | string;\n stroke?: string | IGradient;\n strokeOpacity?: number;\n lineWidth?: number;\n lineDash?: number[];\n lineDashOffset?: number;\n}\n\nexport interface ICommonSpec {\n visible?: boolean;\n x?: number;\n y?: number;\n z?: number;\n /**\n * @todo 隔离主题和 spec 配置\n * IColorKey 类型只适用于主题\n */\n stroke?: string | IGradient | false | (number | boolean)[] | IColorKey;\n strokeOpacity?: number;\n opacity?: number;\n lineWidth?: number;\n lineDash?: number[];\n lineDashOffset?: number;\n\n cursor?: Cursor;\n zIndex?: number;\n angle?: number;\n anchor?: [number, number];\n\n // 缩放属性\n scaleX?: number;\n scaleY?: number;\n /**\n * 图形缩放中心\n * @since 1.4.0\n * 可以配置固定坐标,例如 [100, 100];或者百分比坐标,例如 ['50%', '50%'],代表以图元中心为缩放中心\n * */\n scaleCenter?: [number | string, number | string];\n\n // 3d旋转的属性\n beta?: number;\n alpha?: number;\n anchor3d?: [number, number];\n\n /**\n * 选择模式,精确模式,粗糙模式(包围盒模式),自定义模式\n */\n pickMode?: 'accurate' | 'imprecise' | 'custom';\n boundsMode?: 'accurate' | 'imprecise';\n\n /**\n * 用于扩展描边的拾取范围,为 0 就是默认线宽,正数就加宽,负数就减宽\n * @default 0\n * @since 1.7.3\n */\n pickStrokeBuffer?: number;\n\n // 以下是纹理相关的属性\n /**\n * 纹理的类型\n */\n texture?: TextureType | string;\n /**\n * 纹理的颜色\n */\n textureColor?: string;\n /**\n * 纹理单元的大小\n */\n textureSize?: number; // 纹理大小\n /**\n * 纹理之间空隙的大小\n */\n texturePadding?: number;\n\n /**\n * 外边框\n */\n outerBorder?: IBorder;\n /**\n * 内边框\n */\n innerBorder?: IBorder;\n /**\n * @experimental\n * @since 1.10.0\n * html 浮层\n */\n html?: IMarkHtmlSpec;\n\n [key: string]: any;\n}\n\nexport interface IFillMarkSpec extends ICommonSpec {\n /**\n * @todo 隔离主题和 spec 配置\n * IColorKey 类型只适用于主题\n */\n fill?: VisualType<string> | IGradient | false | IColorKey;\n fillOpacity?: number;\n // TODO:waite VRender support this api\n // backgroundMode: number; // 填充模式(与具体图元有关)\n // can coexist with fill\n background?: string | HTMLImageElement | HTMLCanvasElement | null;\n}\n\nexport type IMarkHtmlSpec = Partial<IGraphicStyle['html']>;\n\nexport interface ISymbolMarkSpec extends IFillMarkSpec {\n dx?: number;\n dy?: number;\n size?: number | number[];\n /** 对外声明使用shape,vrender图形属性对应的是shape */\n shape?: ShapeType | string;\n /** FIXME: vrender Symbol接收的图形属性,暂时都申明一下 */\n symbolType?: ShapeType | string;\n scaleX?: number;\n scaleY?: number;\n}\n\n// lineMark 和 areaMark 共同配置\nexport interface ILineLikeMarkSpec extends IFillMarkSpec {\n curveType?: InterpolateType;\n defined?: boolean;\n}\n\nexport interface IAreaMarkSpec extends ILineLikeMarkSpec {\n x1?: number;\n y1?: number;\n\n orient?: 'horizontal' | 'vertical';\n}\n\nexport interface ILineMarkSpec extends ILineLikeMarkSpec {\n lineCap?: LineStrokeCap;\n lineJoin?: LineStrokeJoin;\n miterLimit?: number;\n strokeBoundsBuffer?: number;\n}\n\nexport interface IRuleMarkSpec extends ILineMarkSpec {\n x1?: number;\n y1?: number;\n}\n\nexport interface ITextMarkSpec extends IFillMarkSpec {\n /**\n * 文字内容\n */\n text?: string | number | string[] | number[];\n /**\n * x 方向偏移\n */\n dx?: number;\n /**\n * y 方向偏移\n */\n dy?: number;\n /**\n * 字号\n */\n fontSize?: number | ITokenKey;\n /**\n * 文字对齐方式\n */\n textAlign?: TextAlign;\n /**\n * 文字居中方式\n */\n textBaseline?: TextBaseLine;\n /**\n * 字体\n */\n fontFamily?: string;\n /**\n * 字重\n */\n fontWeight?: FontWeight;\n /**\n * 字体样式\n */\n fontStyle?: FontStyle;\n /**\n * 文字的最大长度\n */\n maxLineWidth?: number;\n /**\n * 文字超出 maxLineWidth 后的省略符\n */\n ellipsis?: string;\n /**\n * 文本省略的位置,默认尾部省略\n * 1. 'start' 文字首部省略\n * 2. 'middle' 文本中间省略\n * 3. 'end' 文本尾部省略\n * @default 'end'\n * @since 1.7.3\n */\n suffixPosition?: 'start' | 'end' | 'middle';\n /**\n * 下划线\n */\n underline?: boolean;\n /**\n * 中划线\n */\n lineThrough?: boolean;\n /**\n * 行高(1.3.1 版本新增字符串类型表示比例值,如\"150%\")\n * @since 1.3.1\n */\n lineHeight?: number | string | ITokenKey;\n /**\n * poptip 相关配置\n */\n poptip?: PopTipAttributes;\n /**\n * 文本的排布方向,如果需要文本纵向排布,可以配置为 'vertical'\n * @default 'horizontal'\n */\n direction?: 'horizontal' | 'vertical';\n}\n\nexport type IRichTextMarkSpec = IRichTextAttribute &\n IFillMarkSpec & { type: 'rich'; text: IRichTextAttribute['textConfig'] };\n\nexport type IComposedTextMarkSpec = ITextMarkSpec | IRichTextMarkSpec;\n\nexport type IPositionedTextMarkSpec = Omit<ITextMarkSpec, 'align' | 'textAlign' | 'baseline' | 'textBaseline'>;\n\nexport interface IRectMarkSpec extends IFillMarkSpec {\n /**\n * 圆角配置。\n * 1. 如果传入数值,则统一为四个角设置圆角\n * 2. 如果传入数组,则分别为 [上左, 上右, 下右, 下左]\n */\n cornerRadius?: number | number[];\n width?: number;\n height?: number;\n x1?: number;\n y1?: number;\n}\n\n// 3d rect,支持length表示长宽高中的长属性(深度属性)\nexport interface IRect3dMarkSpec extends IRectMarkSpec {\n length?: number;\n}\n\nexport interface IBoxPlotMarkSpec extends ICommonSpec {\n /**\n * box描边宽度\n */\n lineWidth?: number;\n /**\n * box宽度\n */\n boxWidth?: number;\n /**\n * 最大最小值宽度\n */\n shaftWidth?: number;\n /**\n * 中轴线类型\n */\n shaftShape?: BoxPlotShaftShape;\n /**\n * 盒子填充颜色,为空则不填充\n */\n boxFill?: string;\n // /**\n // * 描边颜色\n // */\n // stroke?: string;\n /**\n * 中轴线透明度,仅当shaftType=bar时生效\n */\n shaftFillOpacity?: number;\n\n min?: (datum: Datum) => number;\n q1?: (datum: Datum) => number;\n median?: (datum: Datum) => number;\n q3?: (datum: Datum) => number;\n max?: (datum: Datum) => number;\n}\n\nexport interface IRippleMarkSpec extends ICommonSpec {\n /**\n * 波纹密度ripple\n * ripple 取值范为[0,1]\n */\n ripple?: number;\n /**\n * 水波纹最大半径\n */\n size?: number;\n}\n\nexport interface ILiquidMarkSpec extends ICommonSpec {\n /**\n * 波浪的变化状态,范围为 [0, 1]\n */\n wave?: number;\n}\n\nexport interface ILiquidOutlineSpec extends ISymbolMarkSpec {\n lineWidth: number;\n}\n\nexport interface IOutlierMarkSpec {\n //异常点填充颜色\n fill?: string;\n //异常点大小\n size?: number;\n}\n\nexport interface IPathMarkSpec extends IFillMarkSpec {\n path?: string;\n // TODO: 该属性后续可能会删除,未定\n // 平滑缩放,不然会发生跳变,在地图交互场景需要配置为true;常规path缩放不需要\n smoothScale?: boolean;\n}\n\nexport interface ILinkPathMarkSpec extends IFillMarkSpec {\n x0?: number;\n y0?: number;\n x1?: number;\n y1?: number;\n thickness?: number;\n curvature?: number;\n /** round all the coordinates */\n round?: boolean;\n /** the ratio of normal style path */\n ratio?: number;\n align?: 'start' | 'end' | 'center';\n pathType?: 'line' | 'smooth' | 'polyline';\n endArrow?: boolean;\n startArrow?: boolean;\n backgroundStyle?: any;\n direction?: 'horizontal' | 'vertical' | 'LR' | 'RL' | 'TB' | 'BL' | 'radial';\n}\n\nexport interface IArcMarkSpec extends IFillMarkSpec {\n startAngle?: number;\n endAngle?: number;\n padAngle?: number;\n\n outerRadius?: number;\n innerRadius?: number;\n cornerRadius?: number;\n\n innerPadding?: number;\n outerPadding?: number;\n\n /** arc的中心点偏移距离 */\n centerOffset?: number;\n\n /** arc 的 roundCap 属性,即圆角是否伸出 startAngle 和 endAngle 之外 */\n cap?: boolean | [boolean, boolean];\n /** arc 在 roundCap 打开且应用环形渐变时是否对 cap 部分生效 */\n autoCapConical?: boolean;\n}\n\n// 3d arc,有高度配置\nexport interface IArc3dMarkSpec extends IArcMarkSpec {\n height?: number;\n}\n\nexport interface ICellMarkSpec extends ISymbolMarkSpec {\n padding?: number | number[] | IPadding;\n}\n\nexport interface IGroupMarkSpec extends IFillMarkSpec {\n clip?: boolean;\n width?: number;\n height?: number;\n /**\n * 圆角配置。\n * 1. 如果传入数值,则统一为四个角设置圆角\n * 2. 如果传入数组,则分别为 [上左, 上右, 下右, 下左]\n */\n cornerRadius?: number | number[];\n}\n\nexport interface IPolygonMarkSpec extends ICommonSpec, IFillMarkSpec {\n points?: IPoint[];\n /**\n * 圆角配置,支持数组配置,数组的顺序同组成 polygon 的顺序对应\n */\n cornerRadius?: number | number[];\n scaleX?: number;\n scaleY?: number;\n}\n\nexport interface IPyramid3dMarkSpec extends IPolygonMarkSpec {\n // 只能有4个顶点\n points?: IPoint[];\n}\n\n/**\n * ImageFill\n */\nexport type RepeatType = 'no-repeat' | 'repeat-x' | 'repeat-y' | 'repeat';\nexport type RepeatXYType = 'no-repeat' | 'repeat' | 'stretch';\nexport type ImageOriginType = 'top' | 'bottom';\n\n/**\n * gradient\n */\nexport type GradientPropValue<T> = ValueType<T> | FunctionType<T>;\nexport type GradientStop = {\n offset: GradientPropValue<number>;\n color?: GradientPropValue<string>;\n opacity?: number;\n};\nexport interface IGradientLinear {\n x0?: GradientPropValue<number>;\n y0?: GradientPropValue<number>;\n x1?: GradientPropValue<number>;\n y1?: GradientPropValue<number>;\n stops: GradientStop[];\n gradient: 'linear';\n}\n\nexport interface IGradientRadial {\n r0?: GradientPropValue<number>;\n x0?: GradientPropValue<number>;\n y0?: GradientPropValue<number>;\n x1?: GradientPropValue<number>;\n y1?: GradientPropValue<number>;\n r1?: GradientPropValue<number>;\n stops: GradientStop[];\n gradient: 'radial';\n}\n\nexport interface IGradientConical {\n x?: GradientPropValue<number>;\n y?: GradientPropValue<number>;\n startAngle?: GradientPropValue<number>;\n endAngle?: GradientPropValue<number>;\n stops: GradientStop[];\n gradient: 'conical';\n}\n\nexport type GradientType = 'linear' | 'radial' | 'conical';\nexport type IGradient = IGradientLinear | IGradientRadial | IGradientConical;\n\nexport type LineStrokeCap = 'butt' | 'round' | 'square';\nexport type LineStrokeJoin = 'arcs' | 'bevel' | 'miter' | 'miter-clip' | 'round';\n\nexport type BoxPlotShaftShape = 'line' | 'bar';\n/**\n * threshold\n */\nexport interface IThresholdStyle extends IVisualSpecStyle<number, string> {\n domain: number[];\n field: string;\n range: string[];\n type: 'threshold';\n}\n\n// FIXME: For some tool methods that need to use common configuration types\nexport interface IUnknownMarkSpec extends ICommonSpec {\n [key: string]: unknown;\n}\n\nexport interface IImageMarkSpec extends IFillMarkSpec {\n /**\n * 圆角配置。\n * 1. 如果传入数值,则统一为四个角设置圆角\n * 2. 如果传入数组,则分别为 [上左, 上右, 下右, 下左]\n */\n cornerRadius?: number | number[];\n width?: number;\n height?: number;\n repeatX?: IRepeatType;\n repeatY?: IRepeatType;\n image: string | HTMLImageElement | HTMLCanvasElement;\n}\n\n/**\n * text\n */\nexport type TextAlign = TextAlignType;\nexport type TextBaseLine = TextBaselineType;\nexport type FontStyle = 'normal' | 'italic' | 'oblique' | string;\nexport type FontWeight = 'normal' | 'bold' | 'lighter' | 'bolder' | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;\n"]}
@@ -21,6 +21,7 @@ export interface IStackCacheNode {
21
21
  nodes: {
22
22
  [key: string]: IStackCacheNode;
23
23
  };
24
+ key: string;
24
25
  }
25
26
  export interface IStackCacheRoot {
26
27
  nodes: {
@@ -35,4 +36,4 @@ export declare function getRegionStackGroup(region: {
35
36
  export declare function stackTotal(stackData: IStackCacheNode, valueField: string): void;
36
37
  export declare function stackOffsetSilhouette(stackCache: IStackCacheNode): void;
37
38
  export declare function stack(stackCache: IStackCacheNode, stackInverse: boolean, hasPercent?: boolean): void;
38
- export declare function stackGroup(s: ISeries, stackData: ISeriesStackDataMeta, stackCache: IStackCacheNode, valueField: string, setInitialValue: boolean): void;
39
+ export declare function stackGroup(s: ISeries, stackData: ISeriesStackDataMeta, stackCache: IStackCacheNode, valueField: string, setInitialValue: boolean, stackKey?: string): void;
package/cjs/util/data.js CHANGED
@@ -62,7 +62,8 @@ function stack(stackCache, stackInverse, hasPercent) {
62
62
  const v = stackCache.values[stackInverse ? maxLength - 1 - index : index];
63
63
  value = v[constant_1.STACK_FIELD_END], value >= 0 ? (v[constant_1.STACK_FIELD_START] = positiveStart,
64
64
  positiveStart += v[constant_1.STACK_FIELD_END], v[constant_1.STACK_FIELD_END] = positiveStart) : (v[constant_1.STACK_FIELD_START] = negativeStart,
65
- negativeStart += v[constant_1.STACK_FIELD_END], v[constant_1.STACK_FIELD_END] = negativeStart);
65
+ negativeStart += v[constant_1.STACK_FIELD_END], v[constant_1.STACK_FIELD_END] = negativeStart),
66
+ v[constant_1.STACK_FIELD_KEY] = stackCache.key;
66
67
  }
67
68
  if (hasPercent) for (let index = 0; index < maxLength; index++) {
68
69
  const v = stackCache.values[stackInverse ? maxLength - 1 - index : index];
@@ -75,18 +76,22 @@ function stack(stackCache, stackInverse, hasPercent) {
75
76
  for (const key in stackCache.nodes) stack(stackCache.nodes[key], stackInverse, hasPercent);
76
77
  }
77
78
 
78
- function stackGroup(s, stackData, stackCache, valueField, setInitialValue) {
79
+ function stackGroup(s, stackData, stackCache, valueField, setInitialValue, stackKey) {
79
80
  if ("values" in stackData) return setInitialValue && stackData.values.forEach((v => v[constant_1.STACK_FIELD_END] = (0,
80
81
  type_1.toValidNumber)(v[valueField]))), stackCache.values.push(...stackData.values),
81
82
  void stackCache.series.push({
82
83
  s: s,
83
84
  values: stackData.values
84
85
  });
85
- for (const key in stackData.nodes) !stackCache.nodes[key] && (stackCache.nodes[key] = {
86
- values: [],
87
- series: [],
88
- nodes: {}
89
- }), stackGroup(s, stackData.nodes[key], stackCache.nodes[key], valueField, setInitialValue);
86
+ for (const key in stackData.nodes) {
87
+ const newStackKey = stackKey ? `${stackKey}_${key}` : key;
88
+ !stackCache.nodes[key] && (stackCache.nodes[key] = {
89
+ values: [],
90
+ series: [],
91
+ nodes: {},
92
+ key: newStackKey
93
+ }), stackGroup(s, stackData.nodes[key], stackCache.nodes[key], valueField, setInitialValue, newStackKey);
94
+ }
90
95
  }
91
96
 
92
97
  exports.mergeFields = mergeFields, exports.getFieldAlias = getFieldAlias, exports.getRegionStackGroup = getRegionStackGroup,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/data.ts"],"names":[],"mappings":"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","file":"data.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { StatisticOperations } from '../data/transforms/dimension-statistics';\nimport {\n STACK_FIELD_END,\n STACK_FIELD_START_PERCENT,\n STACK_FIELD_END_PERCENT,\n STACK_FIELD_END_OffsetSilhouette,\n STACK_FIELD_START_OffsetSilhouette,\n STACK_FIELD_TOTAL,\n STACK_FIELD_TOTAL_PERCENT,\n STACK_FIELD_TOTAL_TOP,\n STACK_FIELD_START\n} from '../constant';\nimport { toValidNumber } from './type';\nimport { max, sum } from './math';\nimport type { ISeries, ISeriesStackDataMeta } from '../series/interface';\n\nexport function mergeFields(\n targetFields: {\n key: string;\n operations: StatisticOperations;\n }[],\n mergeFields: {\n key: string;\n operations: StatisticOperations;\n }[]\n): {\n key: string;\n operations: StatisticOperations;\n}[] {\n for (let i = 0; i < mergeFields.length; i++) {\n const element = mergeFields[i];\n const _target = findFields(targetFields, element.key);\n if (!_target) {\n targetFields.push(element);\n } else {\n _target.operations = [...new Set(_target.operations.concat(element.operations))];\n }\n }\n return targetFields;\n}\n\nfunction findFields(\n list: {\n key: string;\n operations: StatisticOperations;\n }[],\n fieldKey: string\n) {\n return list.find(i => i.key === fieldKey);\n}\n\n// 如果不存在别名就返回 field\nexport function getFieldAlias(dataView: DataView, field: string) {\n if (!dataView) {\n return field ?? null;\n }\n const fields = dataView.getFields();\n if (!fields) {\n return field ?? null;\n }\n if (!fields[field]) {\n return field ?? null;\n }\n return fields[field].alias ?? field;\n}\n\nexport interface IStackCacheNode {\n values: any[];\n series: {\n s: ISeries;\n values: any[];\n }[];\n nodes: {\n [key: string]: IStackCacheNode;\n };\n}\nexport interface IStackCacheRoot {\n nodes: {\n [key: string]: IStackCacheNode;\n };\n}\n\nexport function getRegionStackGroup(\n region: { getSeries: () => any[] },\n setInitialValue: boolean,\n filter?: (s: any) => boolean\n) {\n const stackValueGroup: { [key: string]: IStackCacheRoot } = {};\n // 分组\n region.getSeries().forEach(s => {\n const stackData = s.getStackData();\n const stackValue = s.getStackValue();\n const stackValueField = s.getStackValueField();\n const filterEnable = filter ? filter(s) : true;\n if (stackData && stackValueField && filterEnable) {\n stackValueGroup[stackValue] = stackValueGroup[stackValue] ?? {\n nodes: {}\n };\n stackGroup(s, stackData, stackValueGroup[stackValue] as IStackCacheNode, stackValueField, setInitialValue);\n }\n });\n return stackValueGroup;\n}\n\nexport function stackTotal(stackData: IStackCacheNode, valueField: string) {\n if ('values' in stackData && stackData.values.length) {\n const total = sum(stackData.values, valueField);\n const percent = max(stackData.values, STACK_FIELD_END_PERCENT);\n stackData.values.forEach(v => {\n v[STACK_FIELD_TOTAL] = total;\n v[STACK_FIELD_TOTAL_PERCENT] = percent;\n delete v[STACK_FIELD_TOTAL_TOP];\n });\n const maxNode = stackData.values.reduce((max, current) => {\n return current[STACK_FIELD_END] > max[STACK_FIELD_END] ? current : max;\n });\n maxNode[STACK_FIELD_TOTAL_TOP] = true;\n return;\n }\n for (const key in stackData.nodes) {\n stackTotal(stackData.nodes[key], valueField);\n }\n}\n\nexport function stackOffsetSilhouette(stackCache: IStackCacheNode) {\n if (!stackCache.values.length) {\n return;\n }\n const centerValue = stackCache.values[stackCache.values.length - 1][STACK_FIELD_END] / 2;\n for (let j = 0; j < stackCache.values.length; j++) {\n stackCache.values[j][STACK_FIELD_START_OffsetSilhouette] = stackCache.values[j][STACK_FIELD_START] - centerValue;\n stackCache.values[j][STACK_FIELD_END_OffsetSilhouette] = stackCache.values[j][STACK_FIELD_END] - centerValue;\n }\n}\n\nexport function stack(stackCache: IStackCacheNode, stackInverse: boolean, hasPercent?: boolean) {\n if (stackCache.values.length > 0) {\n // 设置一个小数以保证 log 计算不会报错\n let positiveStart = 0;\n let negativeStart = 0;\n // temp\n let sign = 1;\n let value = 0;\n\n // stack\n const maxLength = stackCache.values.length;\n for (let index = 0; index < maxLength; index++) {\n const v = stackCache.values[stackInverse ? maxLength - 1 - index : index];\n value = v[STACK_FIELD_END];\n if (value >= 0) {\n v[STACK_FIELD_START] = positiveStart;\n positiveStart += v[STACK_FIELD_END];\n v[STACK_FIELD_END] = positiveStart;\n } else {\n v[STACK_FIELD_START] = negativeStart;\n negativeStart += v[STACK_FIELD_END];\n v[STACK_FIELD_END] = negativeStart;\n }\n }\n if (hasPercent) {\n // normalize\n for (let index = 0; index < maxLength; index++) {\n const v = stackCache.values[stackInverse ? maxLength - 1 - index : index];\n value = v[STACK_FIELD_END];\n const denominator = value >= 0 ? positiveStart : negativeStart;\n sign = value >= 0 ? 1 : -1;\n v[STACK_FIELD_START_PERCENT] = denominator === 0 ? 0 : Math.min(1, v[STACK_FIELD_START] / denominator) * sign;\n v[STACK_FIELD_END_PERCENT] = denominator === 0 ? 0 : Math.min(1, v[STACK_FIELD_END] / denominator) * sign;\n }\n }\n }\n\n for (const key in stackCache.nodes) {\n stack(stackCache.nodes[key], stackInverse, hasPercent);\n }\n}\n\nexport function stackGroup(\n s: ISeries,\n stackData: ISeriesStackDataMeta,\n stackCache: IStackCacheNode,\n valueField: string,\n setInitialValue: boolean\n) {\n if ('values' in stackData) {\n // 初值\n setInitialValue && stackData.values.forEach(v => (v[STACK_FIELD_END] = toValidNumber(v[valueField])));\n stackCache.values.push(...stackData.values);\n stackCache.series.push({ s: s, values: stackData.values });\n return;\n }\n for (const key in stackData.nodes) {\n !stackCache.nodes[key] &&\n (stackCache.nodes[key] = {\n values: [],\n series: [],\n nodes: {}\n });\n stackGroup(s, stackData.nodes[key], stackCache.nodes[key], valueField, setInitialValue);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/util/data.ts"],"names":[],"mappings":"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","file":"data.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { StatisticOperations } from '../data/transforms/dimension-statistics';\nimport {\n STACK_FIELD_END,\n STACK_FIELD_START_PERCENT,\n STACK_FIELD_END_PERCENT,\n STACK_FIELD_END_OffsetSilhouette,\n STACK_FIELD_START_OffsetSilhouette,\n STACK_FIELD_TOTAL,\n STACK_FIELD_TOTAL_PERCENT,\n STACK_FIELD_TOTAL_TOP,\n STACK_FIELD_START,\n STACK_FIELD_KEY\n} from '../constant';\nimport { toValidNumber } from './type';\nimport { max, sum } from './math';\nimport type { ISeries, ISeriesStackDataMeta } from '../series/interface';\n\nexport function mergeFields(\n targetFields: {\n key: string;\n operations: StatisticOperations;\n }[],\n mergeFields: {\n key: string;\n operations: StatisticOperations;\n }[]\n): {\n key: string;\n operations: StatisticOperations;\n}[] {\n for (let i = 0; i < mergeFields.length; i++) {\n const element = mergeFields[i];\n const _target = findFields(targetFields, element.key);\n if (!_target) {\n targetFields.push(element);\n } else {\n _target.operations = [...new Set(_target.operations.concat(element.operations))];\n }\n }\n return targetFields;\n}\n\nfunction findFields(\n list: {\n key: string;\n operations: StatisticOperations;\n }[],\n fieldKey: string\n) {\n return list.find(i => i.key === fieldKey);\n}\n\n// 如果不存在别名就返回 field\nexport function getFieldAlias(dataView: DataView, field: string) {\n if (!dataView) {\n return field ?? null;\n }\n const fields = dataView.getFields();\n if (!fields) {\n return field ?? null;\n }\n if (!fields[field]) {\n return field ?? null;\n }\n return fields[field].alias ?? field;\n}\n\nexport interface IStackCacheNode {\n values: any[];\n series: {\n s: ISeries;\n values: any[];\n }[];\n nodes: {\n [key: string]: IStackCacheNode;\n };\n key: string;\n}\nexport interface IStackCacheRoot {\n nodes: {\n [key: string]: IStackCacheNode;\n };\n}\n\nexport function getRegionStackGroup(\n region: { getSeries: () => any[] },\n setInitialValue: boolean,\n filter?: (s: any) => boolean\n) {\n const stackValueGroup: { [key: string]: IStackCacheRoot } = {};\n // 分组\n region.getSeries().forEach(s => {\n const stackData = s.getStackData();\n const stackValue = s.getStackValue();\n const stackValueField = s.getStackValueField();\n const filterEnable = filter ? filter(s) : true;\n if (stackData && stackValueField && filterEnable) {\n stackValueGroup[stackValue] = stackValueGroup[stackValue] ?? {\n nodes: {}\n };\n stackGroup(s, stackData, stackValueGroup[stackValue] as IStackCacheNode, stackValueField, setInitialValue);\n }\n });\n return stackValueGroup;\n}\n\nexport function stackTotal(stackData: IStackCacheNode, valueField: string) {\n if ('values' in stackData && stackData.values.length) {\n const total = sum(stackData.values, valueField);\n const percent = max(stackData.values, STACK_FIELD_END_PERCENT);\n stackData.values.forEach(v => {\n v[STACK_FIELD_TOTAL] = total;\n v[STACK_FIELD_TOTAL_PERCENT] = percent;\n delete v[STACK_FIELD_TOTAL_TOP];\n });\n const maxNode = stackData.values.reduce((max, current) => {\n return current[STACK_FIELD_END] > max[STACK_FIELD_END] ? current : max;\n });\n maxNode[STACK_FIELD_TOTAL_TOP] = true;\n return;\n }\n for (const key in stackData.nodes) {\n stackTotal(stackData.nodes[key], valueField);\n }\n}\n\nexport function stackOffsetSilhouette(stackCache: IStackCacheNode) {\n if (!stackCache.values.length) {\n return;\n }\n const centerValue = stackCache.values[stackCache.values.length - 1][STACK_FIELD_END] / 2;\n for (let j = 0; j < stackCache.values.length; j++) {\n stackCache.values[j][STACK_FIELD_START_OffsetSilhouette] = stackCache.values[j][STACK_FIELD_START] - centerValue;\n stackCache.values[j][STACK_FIELD_END_OffsetSilhouette] = stackCache.values[j][STACK_FIELD_END] - centerValue;\n }\n}\n\nexport function stack(stackCache: IStackCacheNode, stackInverse: boolean, hasPercent?: boolean) {\n if (stackCache.values.length > 0) {\n // 设置一个小数以保证 log 计算不会报错\n let positiveStart = 0;\n let negativeStart = 0;\n // temp\n let sign = 1;\n let value = 0;\n\n // stack\n const maxLength = stackCache.values.length;\n for (let index = 0; index < maxLength; index++) {\n const v = stackCache.values[stackInverse ? maxLength - 1 - index : index];\n value = v[STACK_FIELD_END];\n if (value >= 0) {\n v[STACK_FIELD_START] = positiveStart;\n positiveStart += v[STACK_FIELD_END];\n v[STACK_FIELD_END] = positiveStart;\n } else {\n v[STACK_FIELD_START] = negativeStart;\n negativeStart += v[STACK_FIELD_END];\n v[STACK_FIELD_END] = negativeStart;\n }\n v[STACK_FIELD_KEY] = stackCache.key;\n }\n if (hasPercent) {\n // normalize\n for (let index = 0; index < maxLength; index++) {\n const v = stackCache.values[stackInverse ? maxLength - 1 - index : index];\n value = v[STACK_FIELD_END];\n const denominator = value >= 0 ? positiveStart : negativeStart;\n sign = value >= 0 ? 1 : -1;\n v[STACK_FIELD_START_PERCENT] = denominator === 0 ? 0 : Math.min(1, v[STACK_FIELD_START] / denominator) * sign;\n v[STACK_FIELD_END_PERCENT] = denominator === 0 ? 0 : Math.min(1, v[STACK_FIELD_END] / denominator) * sign;\n }\n }\n }\n\n for (const key in stackCache.nodes) {\n stack(stackCache.nodes[key], stackInverse, hasPercent);\n }\n}\n\nexport function stackGroup(\n s: ISeries,\n stackData: ISeriesStackDataMeta,\n stackCache: IStackCacheNode,\n valueField: string,\n setInitialValue: boolean,\n stackKey?: string\n) {\n if ('values' in stackData) {\n // 初值\n setInitialValue && stackData.values.forEach(v => (v[STACK_FIELD_END] = toValidNumber(v[valueField])));\n stackCache.values.push(...stackData.values);\n stackCache.series.push({ s: s, values: stackData.values });\n return;\n }\n for (const key in stackData.nodes) {\n const newStackKey = stackKey ? `${stackKey}_${key}` : key;\n !stackCache.nodes[key] &&\n (stackCache.nodes[key] = {\n values: [],\n series: [],\n nodes: {},\n key: newStackKey\n });\n stackGroup(s, stackData.nodes[key], stackCache.nodes[key], valueField, setInitialValue, newStackKey);\n }\n}\n"]}
@@ -1,5 +1,4 @@
1
- import { TimeUtil } from '../component/axis/cartesian/util/time';
2
- import { debounce, throttle, clamp } from '@visactor/vutils';
1
+ import { debounce, throttle, clamp, TimeUtil } from '@visactor/vutils';
3
2
  export { debounce, throttle, clamp };
4
3
  export * from './array';
5
4
  export * from './color';
package/cjs/util/index.js CHANGED
@@ -19,7 +19,7 @@ Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
20
  }), exports.Utils = exports.clamp = exports.throttle = exports.debounce = void 0;
21
21
 
22
- const time_1 = require("../component/axis/cartesian/util/time"), vutils_1 = require("@visactor/vutils");
22
+ const vutils_1 = require("@visactor/vutils");
23
23
 
24
24
  Object.defineProperty(exports, "debounce", {
25
25
  enumerable: !0,
@@ -45,6 +45,6 @@ __exportStar(require("./type"), exports), __exportStar(require("./spec"), export
45
45
  __exportStar(require("./text"), exports), __exportStar(require("./data"), exports),
46
46
  __exportStar(require("./hierarchy"), exports), __exportStar(require("./style"), exports),
47
47
  exports.Utils = {
48
- TimeUtil: time_1.TimeUtil
48
+ TimeUtil: vutils_1.TimeUtil
49
49
  };
50
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gEAAiE;AACjE,6CAA6D;AAEpD,yFAFA,iBAAQ,OAEA;AAAE,yFAFA,iBAAQ,OAEA;AAAE,sFAFA,cAAK,OAEA;AAElC,0CAAwB;AACxB,0CAAwB;AACxB,0CAAwB;AACxB,wCAAsB;AACtB,uCAAqB;AACrB,yCAAuB;AACvB,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB;AACxB,yCAAuB;AACvB,yCAAuB;AACvB,yCAAuB;AACvB,yCAAuB;AACvB,8CAA4B;AAC5B,0CAAwB;AAEX,QAAA,KAAK,GAAG,EAAE,QAAQ,EAAR,eAAQ,EAAE,CAAC","file":"index.js","sourcesContent":["import { TimeUtil } from '../component/axis/cartesian/util/time';\nimport { debounce, throttle, clamp } from '@visactor/vutils';\n\nexport { debounce, throttle, clamp };\n\nexport * from './array';\nexport * from './color';\nexport * from './debug';\nexport * from './env';\nexport * from './id';\nexport * from './math';\nexport * from './model';\nexport * from './object';\nexport * from './scale';\nexport * from './space';\nexport * from './type';\nexport * from './spec';\nexport * from './text';\nexport * from './data';\nexport * from './hierarchy';\nexport * from './style';\n\nexport const Utils = { TimeUtil };\n"]}
1
+ {"version":3,"sources":["../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAAuE;AAE9D,yFAFA,iBAAQ,OAEA;AAAE,yFAFA,iBAAQ,OAEA;AAAE,sFAFA,cAAK,OAEA;AAElC,0CAAwB;AACxB,0CAAwB;AACxB,0CAAwB;AACxB,wCAAsB;AACtB,uCAAqB;AACrB,yCAAuB;AACvB,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB;AACxB,0CAAwB;AACxB,yCAAuB;AACvB,yCAAuB;AACvB,yCAAuB;AACvB,yCAAuB;AACvB,8CAA4B;AAC5B,0CAAwB;AAEX,QAAA,KAAK,GAAG,EAAE,QAAQ,EAAR,iBAAQ,EAAE,CAAC","file":"index.js","sourcesContent":["import { debounce, throttle, clamp, TimeUtil } from '@visactor/vutils';\n\nexport { debounce, throttle, clamp };\n\nexport * from './array';\nexport * from './color';\nexport * from './debug';\nexport * from './env';\nexport * from './id';\nexport * from './math';\nexport * from './model';\nexport * from './object';\nexport * from './scale';\nexport * from './space';\nexport * from './type';\nexport * from './spec';\nexport * from './text';\nexport * from './data';\nexport * from './hierarchy';\nexport * from './style';\n\nexport const Utils = { TimeUtil };\n"]}
@@ -1,5 +1,3 @@
1
1
  import { DataView } from '@visactor/vdataset';
2
- import type { ITheme } from '../../theme';
3
2
  export declare function isDataView(obj: any): obj is DataView;
4
3
  export declare function isHTMLElement(obj: any): obj is Element;
5
- export declare function getThemeObject(theme?: string | ITheme, transformed?: boolean): ITheme;
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.getThemeObject = exports.isHTMLElement = exports.isDataView = void 0;
5
+ }), exports.isHTMLElement = exports.isDataView = void 0;
6
6
 
7
- const vdataset_1 = require("@visactor/vdataset"), theme_1 = require("../../theme"), vutils_1 = require("@visactor/vutils");
7
+ const vdataset_1 = require("@visactor/vdataset");
8
8
 
9
9
  function isDataView(obj) {
10
10
  return obj instanceof vdataset_1.DataView;
@@ -19,10 +19,5 @@ function isHTMLElement(obj) {
19
19
  }
20
20
  }
21
21
 
22
- function getThemeObject(theme, transformed) {
23
- return (0, vutils_1.isString)(theme) ? theme_1.ThemeManager.themeExist(theme) ? theme_1.ThemeManager.getTheme(theme, transformed) : {} : (0,
24
- vutils_1.isObject)(theme) ? theme : {};
25
- }
26
-
27
- exports.isDataView = isDataView, exports.isHTMLElement = isHTMLElement, exports.getThemeObject = getThemeObject;
22
+ exports.isDataView = isDataView, exports.isHTMLElement = isHTMLElement;
28
23
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/spec/common.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAG9C,uCAA2C;AAC3C,6CAAsD;AAEtD,SAAgB,UAAU,CAAC,GAAQ;IACjC,OAAO,GAAG,YAAY,mBAAQ,CAAC;AACjC,CAAC;AAFD,gCAEC;AAED,SAAgB,aAAa,CAAC,GAAQ;IACpC,IAAI;QACF,OAAO,GAAG,YAAY,OAAO,CAAC;KAC/B;IAAC,WAAM;QAEN,MAAM,eAAe,GAAsB;YACzC,UAAU;YACV,WAAW;YACX,WAAW;YACX,cAAc;YACd,SAAS;YACT,uBAAuB;SACxB,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;KACzD;AACH,CAAC;AAhBD,sCAgBC;AAED,SAAgB,cAAc,CAAC,KAAuB,EAAE,WAAqB;IAC3E,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;QACnB,IAAI,oBAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO,oBAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;SAClD;QACD,OAAO,EAAE,CAAC;KACX;SAAM,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;QAC1B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAVD,wCAUC","file":"common.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { ITheme } from '../../theme';\n// eslint-disable-next-line no-duplicate-imports\nimport { ThemeManager } from '../../theme';\nimport { isObject, isString } from '@visactor/vutils';\n\nexport function isDataView(obj: any): obj is DataView {\n return obj instanceof DataView;\n}\n\nexport function isHTMLElement(obj: any): obj is Element {\n try {\n return obj instanceof Element;\n } catch {\n // 跨端 plan B\n const htmlElementKeys: (keyof Element)[] = [\n 'children',\n 'innerHTML',\n 'classList',\n 'setAttribute',\n 'tagName',\n 'getBoundingClientRect'\n ];\n const keys = Object.keys(obj);\n return htmlElementKeys.every(key => keys.includes(key));\n }\n}\n\nexport function getThemeObject(theme?: string | ITheme, transformed?: boolean): ITheme {\n if (isString(theme)) {\n if (ThemeManager.themeExist(theme)) {\n return ThemeManager.getTheme(theme, transformed);\n }\n return {};\n } else if (isObject(theme)) {\n return theme;\n }\n return {};\n}\n"]}
1
+ {"version":3,"sources":["../src/util/spec/common.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAE9C,SAAgB,UAAU,CAAC,GAAQ;IACjC,OAAO,GAAG,YAAY,mBAAQ,CAAC;AACjC,CAAC;AAFD,gCAEC;AAED,SAAgB,aAAa,CAAC,GAAQ;IACpC,IAAI;QACF,OAAO,GAAG,YAAY,OAAO,CAAC;KAC/B;IAAC,WAAM;QAEN,MAAM,eAAe,GAAsB;YACzC,UAAU;YACV,WAAW;YACX,WAAW;YACX,cAAc;YACd,SAAS;YACT,uBAAuB;SACxB,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;KACzD;AACH,CAAC;AAhBD,sCAgBC","file":"common.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\n\nexport function isDataView(obj: any): obj is DataView {\n return obj instanceof DataView;\n}\n\nexport function isHTMLElement(obj: any): obj is Element {\n try {\n return obj instanceof Element;\n } catch {\n // 跨端 plan B\n const htmlElementKeys: (keyof Element)[] = [\n 'children',\n 'innerHTML',\n 'classList',\n 'setAttribute',\n 'tagName',\n 'getBoundingClientRect'\n ];\n const keys = Object.keys(obj);\n return htmlElementKeys.every(key => keys.includes(key));\n }\n}\n"]}
@@ -2,6 +2,6 @@ export * from './background';
2
2
  export * from './clone-deep';
3
3
  export * from './common';
4
4
  export * from './merge-spec';
5
- export * from './merge-theme';
6
- export * from './preprocess';
5
+ export * from '../theme/merge-theme';
6
+ export * from '../theme/preprocess';
7
7
  export * from './transform';
@@ -19,6 +19,6 @@ Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
20
  }), __exportStar(require("./background"), exports), __exportStar(require("./clone-deep"), exports),
21
21
  __exportStar(require("./common"), exports), __exportStar(require("./merge-spec"), exports),
22
- __exportStar(require("./merge-theme"), exports), __exportStar(require("./preprocess"), exports),
22
+ __exportStar(require("../theme/merge-theme"), exports), __exportStar(require("../theme/preprocess"), exports),
23
23
  __exportStar(require("./transform"), exports);
24
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/spec/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,2CAAyB;AACzB,+CAA6B;AAC7B,gDAA8B;AAC9B,+CAA6B;AAC7B,8CAA4B","file":"index.js","sourcesContent":["export * from './background';\nexport * from './clone-deep';\nexport * from './common';\nexport * from './merge-spec';\nexport * from './merge-theme';\nexport * from './preprocess';\nexport * from './transform';\n"]}
1
+ {"version":3,"sources":["../src/util/spec/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,2CAAyB;AACzB,+CAA6B;AAC7B,uDAAqC;AACrC,sDAAoC;AACpC,8CAA4B","file":"index.js","sourcesContent":["export * from './background';\nexport * from './clone-deep';\nexport * from './common';\nexport * from './merge-spec';\nexport * from '../theme/merge-theme';\nexport * from '../theme/preprocess';\nexport * from './transform';\n"]}
package/cjs/util/text.js CHANGED
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.measureText = exports.initTextMeasure = void 0;
6
6
 
7
- const constants_1 = require("../theme/builtin/common/constants"), vutils_extension_1 = require("@visactor/vutils-extension"), initTextMeasure = (textSpec, option, useNaiveCanvas) => (0,
7
+ const vutils_extension_1 = require("@visactor/vutils-extension"), token_1 = require("../theme/token"), initTextMeasure = (textSpec, option, useNaiveCanvas) => (0,
8
8
  vutils_extension_1.initTextMeasure)(textSpec, option, useNaiveCanvas, {
9
- fontFamily: constants_1.THEME_CONSTANTS.defaultFontFamily,
10
- fontSize: constants_1.THEME_CONSTANTS.defaultFontSize
9
+ fontFamily: token_1.tokenMap.defaultFontFamily,
10
+ fontSize: token_1.tokenMap.defaultFontSize
11
11
  });
12
12
 
13
13
  exports.initTextMeasure = initTextMeasure;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/util/text.ts"],"names":[],"mappings":";;;AAGA,iEAAoE;AACpE,iEAAoF;AAG7E,MAAM,eAAe,GAAG,CAC7B,QAAyC,EACzC,MAAoC,EACpC,cAAwB,EACY,EAAE;IACtC,OAAO,IAAA,kCAAmB,EAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE;QAC3D,UAAU,EAAE,2BAAe,CAAC,iBAAiB;QAC7C,QAAQ,EAAE,2BAAe,CAAC,eAAe;KAC1C,CAAC,CAAC;AACL,CAAC,CAAC;AATW,QAAA,eAAe,mBAS1B;AAEK,MAAM,WAAW,GAAG,CACzB,IAAY,EACZ,QAAyC,EACzC,MAAoC,EACpC,cAAwB,EACb,EAAE;IACb,OAAO,IAAA,uBAAe,EAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzE,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB","file":"text.js","sourcesContent":["import type { ITextMeasureOption, ITextSize } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport type { TextMeasure } from '@visactor/vutils';\nimport { THEME_CONSTANTS } from '../theme/builtin/common/constants';\nimport { initTextMeasure as initTextMeasureFunc } from '@visactor/vutils-extension';\nimport type { ITextGraphicAttribute } from '@visactor/vrender-core';\n\nexport const initTextMeasure = (\n textSpec?: Partial<ITextGraphicAttribute>,\n option?: Partial<ITextMeasureOption>,\n useNaiveCanvas?: boolean\n): TextMeasure<ITextGraphicAttribute> => {\n return initTextMeasureFunc(textSpec, option, useNaiveCanvas, {\n fontFamily: THEME_CONSTANTS.defaultFontFamily,\n fontSize: THEME_CONSTANTS.defaultFontSize\n });\n};\n\nexport const measureText = (\n text: string,\n textSpec?: Partial<ITextGraphicAttribute>,\n option?: Partial<ITextMeasureOption>,\n useNaiveCanvas?: boolean\n): ITextSize => {\n return initTextMeasure(textSpec, option, useNaiveCanvas).measure(text);\n};\n"]}
1
+ {"version":3,"sources":["../src/util/text.ts"],"names":[],"mappings":";;;AAGA,iEAAoF;AAEpF,0CAA0C;AAEnC,MAAM,eAAe,GAAG,CAC7B,QAAyC,EACzC,MAAoC,EACpC,cAAwB,EACY,EAAE;IACtC,OAAO,IAAA,kCAAmB,EAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE;QAC3D,UAAU,EAAE,gBAAQ,CAAC,iBAAiB;QACtC,QAAQ,EAAE,gBAAQ,CAAC,eAAe;KACnC,CAAC,CAAC;AACL,CAAC,CAAC;AATW,QAAA,eAAe,mBAS1B;AAEK,MAAM,WAAW,GAAG,CACzB,IAAY,EACZ,QAAyC,EACzC,MAAoC,EACpC,cAAwB,EACb,EAAE;IACb,OAAO,IAAA,uBAAe,EAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzE,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB","file":"text.js","sourcesContent":["import type { ITextMeasureOption, ITextSize } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport type { TextMeasure } from '@visactor/vutils';\nimport { initTextMeasure as initTextMeasureFunc } from '@visactor/vutils-extension';\nimport type { ITextGraphicAttribute } from '@visactor/vrender-core';\nimport { tokenMap } from '../theme/token';\n\nexport const initTextMeasure = (\n textSpec?: Partial<ITextGraphicAttribute>,\n option?: Partial<ITextMeasureOption>,\n useNaiveCanvas?: boolean\n): TextMeasure<ITextGraphicAttribute> => {\n return initTextMeasureFunc(textSpec, option, useNaiveCanvas, {\n fontFamily: tokenMap.defaultFontFamily,\n fontSize: tokenMap.defaultFontSize\n });\n};\n\nexport const measureText = (\n text: string,\n textSpec?: Partial<ITextGraphicAttribute>,\n option?: Partial<ITextMeasureOption>,\n useNaiveCanvas?: boolean\n): ITextSize => {\n return initTextMeasure(textSpec, option, useNaiveCanvas).measure(text);\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type { ITheme } from '../../theme';
2
+ export declare function getThemeObject(theme?: string | ITheme, transformed?: boolean): ITheme;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.getThemeObject = void 0;
6
+
7
+ const theme_1 = require("../../theme"), vutils_1 = require("@visactor/vutils");
8
+
9
+ function getThemeObject(theme, transformed) {
10
+ return (0, vutils_1.isString)(theme) ? theme_1.ThemeManager.themeExist(theme) ? theme_1.ThemeManager.getTheme(theme, transformed) : {} : (0,
11
+ vutils_1.isObject)(theme) ? theme : {};
12
+ }
13
+
14
+ exports.getThemeObject = getThemeObject;
15
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/util/theme/common.ts"],"names":[],"mappings":";;;AAEA,uCAA2C;AAC3C,6CAAsD;AAEtD,SAAgB,cAAc,CAAC,KAAuB,EAAE,WAAqB;IAC3E,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;QACnB,IAAI,oBAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO,oBAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;SAClD;QACD,OAAO,EAAE,CAAC;KACX;SAAM,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;QAC1B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAVD,wCAUC","file":"common.js","sourcesContent":["import type { ITheme } from '../../theme';\n// eslint-disable-next-line no-duplicate-imports\nimport { ThemeManager } from '../../theme';\nimport { isObject, isString } from '@visactor/vutils';\n\nexport function getThemeObject(theme?: string | ITheme, transformed?: boolean): ITheme {\n if (isString(theme)) {\n if (ThemeManager.themeExist(theme)) {\n return ThemeManager.getTheme(theme, transformed);\n }\n return {};\n } else if (isObject(theme)) {\n return theme;\n }\n return {};\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export * from './common';
2
+ export * from './merge-theme';
3
+ export * from './preprocess';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
4
+ void 0 === k2 && (k2 = k);
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
7
+ enumerable: !0,
8
+ get: function() {
9
+ return m[k];
10
+ }
11
+ }), Object.defineProperty(o, k2, desc);
12
+ } : function(o, m, k, k2) {
13
+ void 0 === k2 && (k2 = k), o[k2] = m[k];
14
+ }), __exportStar = this && this.__exportStar || function(m, exports) {
15
+ for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p);
16
+ };
17
+
18
+ Object.defineProperty(exports, "__esModule", {
19
+ value: !0
20
+ }), __exportStar(require("./common"), exports), __exportStar(require("./merge-theme"), exports),
21
+ __exportStar(require("./preprocess"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/util/theme/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,gDAA8B;AAC9B,+CAA6B","file":"index.js","sourcesContent":["export * from './common';\nexport * from './merge-theme';\nexport * from './preprocess';\n"]}
@@ -4,13 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.transformSeriesThemeToMerge = exports.transformColorSchemeToMerge = exports.mergeTheme = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), util_1 = require("../../theme/color-scheme/util"), theme_1 = require("../../series/interface/theme"), merge_spec_1 = require("./merge-spec");
7
+ const vutils_1 = require("@visactor/vutils"), util_1 = require("../../theme/color-scheme/util"), theme_1 = require("../../series/interface/theme"), merge_spec_1 = require("../spec/merge-spec");
8
8
 
9
9
  function mergeTheme(target, ...sources) {
10
10
  return (0, merge_spec_1.mergeSpec)(transformThemeToMerge(target), ...sources.map(transformThemeToMerge));
11
11
  }
12
12
 
13
13
  function transformThemeToMerge(theme) {
14
+ var _a;
14
15
  if (!theme) return theme;
15
16
  const colorScheme = transformColorSchemeToMerge(theme.colorScheme), {series: series} = theme, {mark: markByType, markByName: markByName} = theme;
16
17
  let newSeriesTheme;
@@ -21,6 +22,7 @@ function transformThemeToMerge(theme) {
21
22
  newSeriesTheme;
22
23
  }), {})), Object.assign({}, theme, {
23
24
  colorScheme: colorScheme,
25
+ tokenMap: null !== (_a = theme.tokenMap) && void 0 !== _a ? _a : {},
24
26
  series: Object.assign({}, theme.series, newSeriesTheme)
25
27
  });
26
28
  }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/util/theme/merge-theme.ts"],"names":[],"mappings":";;;AAEA,6CAAyC;AAEzC,wDAAqF;AAKrF,wDAAiE;AACjE,mDAA+C;AAE/C,SAAgB,UAAU,CAAC,MAAqB,EAAE,GAAG,OAAwB;IAC3E,OAAO,IAAA,sBAAS,EAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;AACzF,CAAC;AAFD,gCAEC;AAED,SAAS,qBAAqB,CAAC,KAAqB;;IAClD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IAGD,MAAM,WAAW,GAAG,2BAA2B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAGnE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC/C,IAAI,cAAc,CAAC;IACnB,IAAI,UAAU,IAAI,UAAU,EAAE;QAC5B,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE;;YAC7E,MAAM,KAAK,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,mCAAI,EAAE,CAAC;YAClC,cAAc,CAAC,GAAG,CAAC,GAAG,2BAA2B,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACtF,OAAO,cAAc,CAAC;QACxB,CAAC,EAAE,EAAkB,CAAC,CAAC;KACxB;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE;QAC9B,WAAW;QACX,QAAQ,EAAE,MAAA,KAAK,CAAC,QAAQ,mCAAI,EAAE;QAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC;KACxD,CAAC,CAAC;AACL,CAAC;AAGD,SAAgB,2BAA2B,CAAC,WAAsC;IAChF,IAAI,WAAW,EAAE;QACf,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC/E,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,2CAAoC,EAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,EAAuB,CAAC,CAAC;KAC7B;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AATD,kEASC;AAGD,SAAgB,2BAA2B,CACzC,WAAgB,EAChB,UAAkB,EAClB,UAAkC,EAClC,UAAkC;IAElC,IAAI,CAAC,yBAAiB,CAAC,UAAU,CAAC,EAAE;QAClC,OAAO,WAAW,CAAC;KACpB;IACD,MAAM,QAAQ,GAAQ,EAAE,CAAC;IACzB,MAAM,CAAC,MAAM,CAAkB,yBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QACvF,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAA,sBAAS,EAAC,EAAE,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,IAAA,cAAK,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,IAAI,CAAC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IACH,uCACK,WAAW,GACX,QAAQ,EACX;AACJ,CAAC;AAjBD,kEAiBC","file":"merge-theme.js","sourcesContent":["import type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array } from '@visactor/vutils';\nimport type { IGlobalMarkThemeByName, IGlobalMarkThemeByType, ITheme } from '../../theme';\nimport { transformColorSchemeToStandardStruct } from '../../theme/color-scheme/util';\nimport type { IThemeColorScheme } from '../../theme/color-scheme/interface';\nimport type { ISeriesTheme } from '../../series/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeriesMarkInfo } from '../../series/interface/common';\nimport { seriesMarkInfoMap } from '../../series/interface/theme';\nimport { mergeSpec } from '../spec/merge-spec';\n\nexport function mergeTheme(target: Maybe<ITheme>, ...sources: Maybe<ITheme>[]): Maybe<ITheme> {\n return mergeSpec(transformThemeToMerge(target), ...sources.map(transformThemeToMerge));\n}\n\nfunction transformThemeToMerge(theme?: Maybe<ITheme>): Maybe<ITheme> {\n if (!theme) {\n return theme;\n }\n\n // 将色板转化为标准形式\n const colorScheme = transformColorSchemeToMerge(theme.colorScheme);\n\n // 将全局 mark 主题 merge 进系列主题\n const { series } = theme;\n const { mark: markByType, markByName } = theme;\n let newSeriesTheme;\n if (markByType || markByName) {\n newSeriesTheme = Object.keys(seriesMarkInfoMap).reduce((newSeriesTheme, key) => {\n const value = series?.[key] ?? {};\n newSeriesTheme[key] = transformSeriesThemeToMerge(value, key, markByType, markByName);\n return newSeriesTheme;\n }, {} as ISeriesTheme);\n }\n\n return Object.assign({}, theme, {\n colorScheme,\n tokenMap: theme.tokenMap ?? {},\n series: Object.assign({}, theme.series, newSeriesTheme)\n });\n}\n\n/** 将色板转化为标准形式 */\nexport function transformColorSchemeToMerge(colorScheme?: Maybe<IThemeColorScheme>): Maybe<IThemeColorScheme> {\n if (colorScheme) {\n colorScheme = Object.keys(colorScheme).reduce<IThemeColorScheme>((scheme, key) => {\n const value = colorScheme[key];\n scheme[key] = transformColorSchemeToStandardStruct(value);\n return scheme;\n }, {} as IThemeColorScheme);\n }\n return colorScheme;\n}\n\n/** 将全局 mark 主题 merge 进系列主题 */\nexport function transformSeriesThemeToMerge(\n seriesTheme: any,\n seriesType: string,\n markByType: IGlobalMarkThemeByType,\n markByName: IGlobalMarkThemeByName\n): any {\n if (!seriesMarkInfoMap[seriesType]) {\n return seriesTheme;\n }\n const newTheme: any = {};\n Object.values<ISeriesMarkInfo>(seriesMarkInfoMap[seriesType]).forEach(({ type, name }) => {\n newTheme[name] = mergeSpec({}, markByType?.[array(type)[0]], markByName?.[name], seriesTheme?.[name]);\n });\n return {\n ...seriesTheme,\n ...newTheme\n };\n}\n"]}
@@ -1,3 +1,4 @@
1
1
  import type { IThemeColorScheme } from '../../theme/color-scheme/interface';
2
2
  import type { ISeriesSpec } from '../../typings';
3
- export declare function preprocessTheme(obj: any, colorScheme?: IThemeColorScheme, seriesSpec?: ISeriesSpec): any;
3
+ import type { TokenMap } from '../../theme/token';
4
+ export declare function preprocessTheme(obj: any, colorScheme?: IThemeColorScheme, tokenMap?: TokenMap, seriesSpec?: ISeriesSpec): any;
@@ -4,15 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.preprocessTheme = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), util_1 = require("../../theme/color-scheme/util"), IGNORE_KEYS = [ "animationThreshold", "colorScheme", "fontFamily", "name", "padding" ];
7
+ const vutils_1 = require("@visactor/vutils"), util_1 = require("../../theme/color-scheme/util"), token_1 = require("../../theme/token"), IGNORE_KEYS = [ "animationThreshold", "colorScheme", "name", "padding" ];
8
8
 
9
- function preprocessTheme(obj, colorScheme, seriesSpec) {
9
+ function preprocessTheme(obj, colorScheme, tokenMap, seriesSpec) {
10
10
  if (!obj) return obj;
11
+ colorScheme || (colorScheme = obj.colorScheme), tokenMap || (tokenMap = obj.tokenMap);
11
12
  const newObj = {};
12
13
  return Object.keys(obj).forEach((key => {
13
14
  const value = obj[key];
14
15
  IGNORE_KEYS.includes(key) ? newObj[key] = value : (0, vutils_1.isPlainObject)(value) ? (0,
15
- util_1.isColorKey)(value) ? newObj[key] = (0, util_1.getActualColor)(value, colorScheme, seriesSpec) : newObj[key] = preprocessTheme(value, colorScheme, seriesSpec) : newObj[key] = value;
16
+ util_1.isColorKey)(value) ? newObj[key] = (0, util_1.getActualColor)(value, colorScheme, seriesSpec) : (0,
17
+ token_1.isTokenKey)(value) ? newObj[key] = (0, token_1.queryToken)(tokenMap, value) : newObj[key] = preprocessTheme(value, colorScheme, tokenMap, seriesSpec) : newObj[key] = value;
16
18
  })), newObj;
17
19
  }
18
20
 
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/util/theme/preprocess.ts"],"names":[],"mappings":";;;AAAA,6CAAiD;AAEjD,wDAA2E;AAI3E,6CAA2D;AAE3D,MAAM,WAAW,GAAG,CAAC,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAE7E,SAAgB,eAAe,CAC7B,GAAQ,EACR,WAA+B,EAC/B,QAAmB,EACnB,UAAwB;IAExB,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,GAAG,CAAC;KACZ;IACD,IAAI,CAAC,WAAW,EAAE;QAChB,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;KAC/B;IACD,IAAI,CAAC,QAAQ,EAAE;QACb,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;KACzB;IACD,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SACrB;aAAM,IAAI,IAAA,sBAAa,EAAC,KAAK,CAAC,EAAE;YAC/B,IAAI,IAAA,iBAAU,EAAC,KAAK,CAAC,EAAE;gBAErB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,qBAAc,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;aAC9D;iBAAM,IAAI,IAAA,kBAAU,EAAC,KAAK,CAAC,EAAE;gBAE5B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,kBAAU,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC3C;iBAAM;gBACL,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;aACzE;SACF;aAAM;YACL,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SACrB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AApCD,0CAoCC","file":"preprocess.js","sourcesContent":["import { isPlainObject } from '@visactor/vutils';\nimport type { IThemeColorScheme } from '../../theme/color-scheme/interface';\nimport { getActualColor, isColorKey } from '../../theme/color-scheme/util';\nimport type { ISeriesSpec } from '../../typings';\nimport type { TokenMap } from '../../theme/token';\n// eslint-disable-next-line no-duplicate-imports\nimport { isTokenKey, queryToken } from '../../theme/token';\n\nconst IGNORE_KEYS = ['animationThreshold', 'colorScheme', 'name', 'padding'];\n\nexport function preprocessTheme(\n obj: any,\n colorScheme?: IThemeColorScheme,\n tokenMap?: TokenMap,\n seriesSpec?: ISeriesSpec\n): any {\n if (!obj) {\n return obj;\n }\n if (!colorScheme) {\n colorScheme = obj.colorScheme;\n }\n if (!tokenMap) {\n tokenMap = obj.tokenMap;\n }\n const newObj = {};\n Object.keys(obj).forEach(key => {\n const value = obj[key];\n if (IGNORE_KEYS.includes(key)) {\n newObj[key] = value;\n } else if (isPlainObject(value)) {\n if (isColorKey(value)) {\n // 查询、替换语义化颜色\n newObj[key] = getActualColor(value, colorScheme, seriesSpec);\n } else if (isTokenKey(value)) {\n // 查询、替换语义化 token\n newObj[key] = queryToken(tokenMap, value);\n } else {\n newObj[key] = preprocessTheme(value, colorScheme, tokenMap, seriesSpec);\n }\n } else {\n newObj[key] = value;\n }\n });\n\n return newObj;\n}\n"]}
package/cjs/vchart-all.js CHANGED
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VChart", {
13
13
  }
14
14
  });
15
15
 
16
- const line_1 = require("./chart/line"), area_1 = require("./chart/area"), bar_1 = require("./chart/bar"), scatter_1 = require("./chart/scatter"), map_1 = require("./chart/map"), pie_1 = require("./chart/pie"), rose_1 = require("./chart/rose"), radar_1 = require("./chart/radar"), common_1 = require("./chart/common"), sequence_1 = require("./chart/sequence"), histogram_1 = require("./chart/histogram"), circular_1 = require("./chart/progress/circular"), gauge_1 = require("./chart/gauge"), word_cloud_1 = require("./chart/word-cloud"), funnel_1 = require("./chart/funnel"), linear_1 = require("./chart/progress/linear"), range_column_1 = require("./chart/range-column"), sunburst_1 = require("./chart/sunburst"), circle_packing_1 = require("./chart/circle-packing"), treemap_1 = require("./chart/treemap"), waterfall_1 = require("./chart/waterfall"), box_plot_1 = require("./chart/box-plot"), sankey_1 = require("./chart/sankey"), range_area_1 = require("./chart/range-area"), heatmap_1 = require("./chart/heatmap"), correlation_1 = require("./chart/correlation"), cartesian_1 = require("./component/axis/cartesian"), polar_1 = require("./component/axis/polar"), legend_1 = require("./component/legend"), tooltip_1 = require("./component/tooltip"), crosshair_1 = require("./component/crosshair"), data_zoom_1 = require("./component/data-zoom"), indicator_1 = require("./component/indicator"), geo_1 = require("./component/geo"), mark_line_1 = require("./component/marker/mark-line"), title_1 = require("./component/title"), mark_area_1 = require("./component/marker/mark-area"), player_1 = require("./component/player"), label_1 = require("./component/label"), total_label_1 = require("./component/label/total-label"), mark_point_1 = require("./component/marker/mark-point"), brush_1 = require("./component/brush"), custom_mark_1 = require("./component/custom-mark"), map_label_1 = require("./component/map-label"), grid_layout_1 = require("./layout/grid-layout/grid-layout"), layout3d_1 = require("./layout/layout3d"), poptip_1 = require("./component/poptip"), tooltip_handler_1 = require("./plugin/components/tooltip-handler"), vgrammar_core_1 = require("@visactor/vgrammar-core");
16
+ const line_1 = require("./chart/line"), area_1 = require("./chart/area"), bar_1 = require("./chart/bar"), scatter_1 = require("./chart/scatter"), map_1 = require("./chart/map"), pie_1 = require("./chart/pie"), rose_1 = require("./chart/rose"), radar_1 = require("./chart/radar"), common_1 = require("./chart/common"), sequence_1 = require("./chart/sequence"), histogram_1 = require("./chart/histogram"), circular_1 = require("./chart/progress/circular"), gauge_1 = require("./chart/gauge"), word_cloud_1 = require("./chart/word-cloud"), funnel_1 = require("./chart/funnel"), linear_1 = require("./chart/progress/linear"), range_column_1 = require("./chart/range-column"), sunburst_1 = require("./chart/sunburst"), circle_packing_1 = require("./chart/circle-packing"), treemap_1 = require("./chart/treemap"), waterfall_1 = require("./chart/waterfall"), box_plot_1 = require("./chart/box-plot"), sankey_1 = require("./chart/sankey"), range_area_1 = require("./chart/range-area"), heatmap_1 = require("./chart/heatmap"), correlation_1 = require("./chart/correlation"), cartesian_1 = require("./component/axis/cartesian"), polar_1 = require("./component/axis/polar"), legend_1 = require("./component/legend"), tooltip_1 = require("./component/tooltip"), crosshair_1 = require("./component/crosshair"), data_zoom_1 = require("./component/data-zoom"), indicator_1 = require("./component/indicator"), geo_1 = require("./component/geo"), mark_line_1 = require("./component/marker/mark-line"), title_1 = require("./component/title"), mark_area_1 = require("./component/marker/mark-area"), player_1 = require("./component/player"), label_1 = require("./component/label"), total_label_1 = require("./component/label/total-label"), mark_point_1 = require("./component/marker/mark-point"), brush_1 = require("./component/brush"), custom_mark_1 = require("./component/custom-mark"), map_label_1 = require("./component/map-label"), grid_layout_1 = require("./layout/grid-layout/grid-layout"), layout3d_1 = require("./layout/layout3d"), poptip_1 = require("./component/poptip"), plugin_1 = require("./plugin"), formatter_1 = require("./plugin/chart/formatter"), vgrammar_core_1 = require("@visactor/vgrammar-core");
17
17
 
18
- core_1.VChart.useRegisters([ line_1.registerLineChart, area_1.registerAreaChart, bar_1.registerBarChart, scatter_1.registerScatterChart, pie_1.registerPieChart, rose_1.registerRoseChart, radar_1.registerRadarChart, histogram_1.registerHistogramChart, map_1.registerMapChart, gauge_1.registerGaugeChart, word_cloud_1.registerWordCloudChart, word_cloud_1.registerWordCloudShapeChart, funnel_1.registerFunnelChart, waterfall_1.registerWaterfallChart, box_plot_1.registerBoxplotChart, circular_1.registerCircularProgressChart, linear_1.registerLinearProgressChart, range_column_1.registerRangeColumnChart, range_area_1.registerRangeAreaChart, sunburst_1.registerSunburstChart, circle_packing_1.registerCirclePackingChart, treemap_1.registerTreemapChart, sankey_1.registerSankeyChart, heatmap_1.registerHeatmapChart, sequence_1.registerSequenceChart, correlation_1.registerCorrelationChart, common_1.registerCommonChart, bar_1.registerBar3dChart, pie_1.registerPie3dChart, histogram_1.registerHistogram3dChart, funnel_1.registerFunnel3dChart, range_column_1.registerRangeColumn3dChart, word_cloud_1.registerWordCloud3dChart, word_cloud_1.registerWordCloudShape3dChart, cartesian_1.registerCartesianLinearAxis, cartesian_1.registerCartesianBandAxis, cartesian_1.registerCartesianTimeAxis, cartesian_1.registerCartesianLogAxis, cartesian_1.registerCartesianSymlogAxis, polar_1.registerPolarBandAxis, polar_1.registerPolarLinearAxis, legend_1.registerDiscreteLegend, legend_1.registerContinuousLegend, tooltip_1.registerTooltip, crosshair_1.registerCartesianCrossHair, crosshair_1.registerPolarCrossHair, data_zoom_1.registerDataZoom, data_zoom_1.registerScrollBar, indicator_1.registerIndicator, geo_1.registerGeoCoordinate, mark_point_1.registerMarkPoint, mark_line_1.registerMarkLine, mark_area_1.registerMarkArea, title_1.registerTitle, player_1.registerPlayer, label_1.registerLabel, total_label_1.registerTotalLabel, brush_1.registerBrush, custom_mark_1.registerCustomMark, map_label_1.registerMapLabel, poptip_1.registerPoptip, grid_layout_1.registerGridLayout, layout3d_1.registerLayout3d, tooltip_handler_1.registerDomTooltipHandler, tooltip_handler_1.registerCanvasTooltipHandler, vgrammar_core_1.registerElementActive, vgrammar_core_1.registerElementHighlight, vgrammar_core_1.registerElementSelect, vgrammar_core_1.registerElementActiveByLegend, vgrammar_core_1.registerElementHighlightByLegend, vgrammar_core_1.registerElementHighlightByName, vgrammar_core_1.registerElementHighlightByGroup, vgrammar_core_1.registerElementHighlightByKey ]);
18
+ core_1.VChart.useRegisters([ line_1.registerLineChart, area_1.registerAreaChart, bar_1.registerBarChart, scatter_1.registerScatterChart, pie_1.registerPieChart, rose_1.registerRoseChart, radar_1.registerRadarChart, histogram_1.registerHistogramChart, map_1.registerMapChart, gauge_1.registerGaugeChart, word_cloud_1.registerWordCloudChart, word_cloud_1.registerWordCloudShapeChart, funnel_1.registerFunnelChart, waterfall_1.registerWaterfallChart, box_plot_1.registerBoxplotChart, circular_1.registerCircularProgressChart, linear_1.registerLinearProgressChart, range_column_1.registerRangeColumnChart, range_area_1.registerRangeAreaChart, sunburst_1.registerSunburstChart, circle_packing_1.registerCirclePackingChart, treemap_1.registerTreemapChart, sankey_1.registerSankeyChart, heatmap_1.registerHeatmapChart, sequence_1.registerSequenceChart, correlation_1.registerCorrelationChart, common_1.registerCommonChart, bar_1.registerBar3dChart, pie_1.registerPie3dChart, histogram_1.registerHistogram3dChart, funnel_1.registerFunnel3dChart, range_column_1.registerRangeColumn3dChart, word_cloud_1.registerWordCloud3dChart, word_cloud_1.registerWordCloudShape3dChart, cartesian_1.registerCartesianLinearAxis, cartesian_1.registerCartesianBandAxis, cartesian_1.registerCartesianTimeAxis, cartesian_1.registerCartesianLogAxis, cartesian_1.registerCartesianSymlogAxis, polar_1.registerPolarBandAxis, polar_1.registerPolarLinearAxis, legend_1.registerDiscreteLegend, legend_1.registerContinuousLegend, tooltip_1.registerTooltip, crosshair_1.registerCartesianCrossHair, crosshair_1.registerPolarCrossHair, data_zoom_1.registerDataZoom, data_zoom_1.registerScrollBar, indicator_1.registerIndicator, geo_1.registerGeoCoordinate, mark_point_1.registerMarkPoint, mark_line_1.registerMarkLine, mark_area_1.registerMarkArea, title_1.registerTitle, player_1.registerPlayer, label_1.registerLabel, total_label_1.registerTotalLabel, brush_1.registerBrush, custom_mark_1.registerCustomMark, map_label_1.registerMapLabel, poptip_1.registerPoptip, grid_layout_1.registerGridLayout, layout3d_1.registerLayout3d, plugin_1.registerDomTooltipHandler, plugin_1.registerCanvasTooltipHandler, formatter_1.registerFormatPlugin, vgrammar_core_1.registerElementActive, vgrammar_core_1.registerElementHighlight, vgrammar_core_1.registerElementSelect, vgrammar_core_1.registerElementActiveByLegend, vgrammar_core_1.registerElementHighlightByLegend, vgrammar_core_1.registerElementHighlightByName, vgrammar_core_1.registerElementHighlightByGroup, vgrammar_core_1.registerElementHighlightByKey ]);
19
19
  //# sourceMappingURL=vchart-all.js.map