@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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interaction/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type {\n ElementActiveByLegendSpec,\n ElementActiveSpec,\n ElementHighlightByGroupSpec,\n ElementHighlightByKeySpec,\n ElementHighlightByLegendSpec,\n ElementHighlightByNameSpec,\n ElementHighlightSpec,\n ElementSelectSpec,\n IElement\n} from '@visactor/vgrammar-core';\nimport type { IMark } from '../mark/interface';\nimport type { RenderMode } from '../typings/spec/common';\nimport type { BaseEventParams, IEventDispatcher, EventType } from '../event/interface';\nimport type { IModel } from '../model/interface';\nimport type { StateValue } from '../compile/mark';\nimport type { StringOrNumber } from '../typings/common';\n\nexport interface IInteraction {\n registerMark: (state: StateValue, mark: IMark) => void;\n filterEventMark: (params: BaseEventParams, state: StateValue) => boolean;\n getStateMark: (state: StateValue) => IMark[] | null;\n\n getEventElement: (stateValue: StateValue) => IElement[];\n getEventElementData: (stateValue: StateValue) => any[];\n addEventElement: (stateValue: StateValue, element: IElement) => void;\n removeEventElement: (stateValue: StateValue, elements: IElement) => void;\n exchangeEventElement: (stateValue: StateValue, elements: IElement) => void;\n clearEventElement: (stateValue: StateValue, clearReverse: boolean) => void;\n reverseEventElement: (stateValue: StateValue) => void;\n\n setDisableActiveEffect: (disable: boolean) => void;\n}\n\nexport interface ITrigger {\n init: () => void;\n setStateKeys: (fields: string[]) => void;\n registerMark: (mark: IMark) => void;\n release: () => void;\n hover?: IHoverSpec;\n select?: ISelectSpec;\n}\n\nexport interface ITriggerOption {\n mode: RenderMode;\n interaction: IInteraction;\n eventDispatcher: IEventDispatcher;\n model: IModel;\n}\n\ntype Trigger = EventType | EventType[];\n\nexport type IHoverSpec = {\n enable?: boolean;\n trigger?: Trigger;\n triggerOff?: Trigger;\n};\n\nexport type ISelectSpec = {\n enable?: boolean;\n mode?: 'single' | 'multiple';\n trigger?: Trigger;\n triggerOff?: Trigger | number;\n};\n\nexport interface ITriggerSpec {\n hover?: IHoverSpec | boolean;\n select?: ISelectSpec | boolean;\n}\n\ninterface IBaseInteractionSpec {\n markIds?: StringOrNumber[];\n markNames?: StringOrNumber[];\n}\n\nexport type IElementActiveSpec = IBaseInteractionSpec &\n Pick<ElementActiveSpec, 'type' | 'trigger' | 'triggerOff' | 'state'>;\n\nexport type IElementSelectSpec = IBaseInteractionSpec &\n Pick<ElementSelectSpec, 'type' | 'trigger' | 'triggerOff' | 'state' | 'isMultiple' | 'reverseState'>;\nexport type IElementHighlightSpec = IBaseInteractionSpec &\n Pick<ElementHighlightSpec, 'type' | 'blurState' | 'highlightState' | 'triggerOff' | 'trigger'>;\n\nexport type IElementHighlightByKeySpec = IBaseInteractionSpec &\n Pick<ElementHighlightByKeySpec, 'type' | 'blurState' | 'highlightState' | 'triggerOff' | 'trigger'>;\n\nexport type IElementHighlightByGroup = IBaseInteractionSpec &\n Pick<ElementHighlightByGroupSpec, 'type' | 'blurState' | 'highlightState' | 'triggerOff' | 'trigger'>;\n\nexport type IElementActiveByLegend = IBaseInteractionSpec &\n Pick<ElementActiveByLegendSpec, 'type' | 'filterType' | 'state'>;\n\nexport type IElementHighlightByLegend = IBaseInteractionSpec &\n Pick<ElementHighlightByLegendSpec, 'type' | 'filterType' | 'blurState' | 'highlightState'>;\n\nexport type IElementHighlightByName = IBaseInteractionSpec &\n Pick<ElementHighlightByNameSpec, 'type' | 'blurState' | 'highlightState' | 'graphicName' | 'parseData'>;\n\nexport interface ICustomInteraction extends IBaseInteractionSpec {\n type: string;\n}\n\nexport type IInteractionItemSpec =\n | IElementActiveSpec\n | IElementSelectSpec\n | IElementHighlightSpec\n | IElementHighlightByKeySpec\n | IElementHighlightByGroup\n | IElementActiveByLegend\n | IElementHighlightByLegend\n | IElementHighlightByName;\n\nexport interface IInteractionSpec {\n hover?: IHoverSpec | boolean;\n select?: ISelectSpec | boolean;\n interactions?: IInteractionItemSpec[];\n}\n"]}
1
+ {"version":3,"sources":["../src/interaction/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type {\n ElementActiveByLegendSpec,\n ElementActiveSpec,\n ElementHighlightByGroupSpec,\n ElementHighlightByKeySpec,\n ElementHighlightByLegendSpec,\n ElementHighlightByNameSpec,\n ElementHighlightSpec,\n ElementSelectSpec,\n IElement,\n IInteraction as IVGrammarInteraction\n} from '@visactor/vgrammar-core';\nimport type { IMark } from '../mark/interface';\nimport type { RenderMode } from '../typings/spec/common';\nimport type { BaseEventParams, IEventDispatcher, EventType } from '../event/interface';\nimport type { IModel } from '../model/interface';\nimport type { StateValue } from '../compile/mark';\nimport type { StringOrNumber } from '../typings/common';\n\nexport interface IInteraction {\n registerMark: (state: StateValue, mark: IMark) => void;\n filterEventMark: (params: BaseEventParams, state: StateValue) => boolean;\n getStateMark: (state: StateValue) => IMark[] | null;\n\n getEventElement: (stateValue: StateValue) => IElement[];\n getEventElementData: (stateValue: StateValue) => any[];\n addEventElement: (stateValue: StateValue, element: IElement) => void;\n removeEventElement: (stateValue: StateValue, elements: IElement) => void;\n exchangeEventElement: (stateValue: StateValue, elements: IElement) => void;\n clearEventElement: (stateValue: StateValue, clearReverse: boolean) => void;\n reverseEventElement: (stateValue: StateValue) => void;\n\n setDisableActiveEffect: (disable: boolean) => void;\n addVgrammarInteraction: (state: StateValue, i: IVGrammarInteraction) => void;\n startInteraction: (state: StateValue, element: IElement) => void;\n resetInteraction: (state: StateValue, element: IElement) => void;\n}\n\nexport interface ITrigger {\n init: () => void;\n setStateKeys: (fields: string[]) => void;\n registerMark: (mark: IMark) => void;\n release: () => void;\n hover?: IHoverSpec;\n select?: ISelectSpec;\n}\n\nexport interface ITriggerOption {\n mode: RenderMode;\n interaction: IInteraction;\n eventDispatcher: IEventDispatcher;\n model: IModel;\n}\n\ntype Trigger = EventType | EventType[];\n\nexport type IHoverSpec = {\n enable?: boolean;\n trigger?: Trigger;\n triggerOff?: Trigger;\n};\n\nexport type ISelectSpec = {\n enable?: boolean;\n mode?: 'single' | 'multiple';\n trigger?: Trigger;\n triggerOff?: Trigger | number;\n};\n\nexport interface ITriggerSpec {\n hover?: IHoverSpec | boolean;\n select?: ISelectSpec | boolean;\n}\n\ninterface IBaseInteractionSpec {\n markIds?: StringOrNumber[];\n markNames?: StringOrNumber[];\n}\n\nexport type IElementActiveSpec = IBaseInteractionSpec &\n Pick<ElementActiveSpec, 'type' | 'trigger' | 'triggerOff' | 'state'>;\n\nexport type IElementSelectSpec = IBaseInteractionSpec &\n Pick<ElementSelectSpec, 'type' | 'trigger' | 'triggerOff' | 'state' | 'isMultiple' | 'reverseState'>;\nexport type IElementHighlightSpec = IBaseInteractionSpec &\n Pick<ElementHighlightSpec, 'type' | 'blurState' | 'highlightState' | 'triggerOff' | 'trigger'>;\n\nexport type IElementHighlightByKeySpec = IBaseInteractionSpec &\n Pick<ElementHighlightByKeySpec, 'type' | 'blurState' | 'highlightState' | 'triggerOff' | 'trigger'>;\n\nexport type IElementHighlightByGroup = IBaseInteractionSpec &\n Pick<ElementHighlightByGroupSpec, 'type' | 'blurState' | 'highlightState' | 'triggerOff' | 'trigger'>;\n\nexport type IElementActiveByLegend = IBaseInteractionSpec &\n Pick<ElementActiveByLegendSpec, 'type' | 'filterType' | 'state'>;\n\nexport type IElementHighlightByLegend = IBaseInteractionSpec &\n Pick<ElementHighlightByLegendSpec, 'type' | 'filterType' | 'blurState' | 'highlightState'>;\n\nexport type IElementHighlightByName = IBaseInteractionSpec &\n Pick<ElementHighlightByNameSpec, 'type' | 'blurState' | 'highlightState' | 'graphicName' | 'parseData'>;\n\nexport interface ICustomInteraction extends IBaseInteractionSpec {\n type: string;\n}\n\nexport type IInteractionItemSpec =\n | IElementActiveSpec\n | IElementSelectSpec\n | IElementHighlightSpec\n | IElementHighlightByKeySpec\n | IElementHighlightByGroup\n | IElementActiveByLegend\n | IElementHighlightByLegend\n | IElementHighlightByName;\n\nexport interface IInteractionSpec {\n hover?: IHoverSpec | boolean;\n select?: ISelectSpec | boolean;\n interactions?: IInteractionItemSpec[];\n}\n"]}
package/cjs/mark/arc.js CHANGED
@@ -29,7 +29,9 @@ class BaseArcMark extends base_mark_1.BaseMark {
29
29
  outerRadius: 0,
30
30
  innerRadius: 0,
31
31
  cornerRadius: 0,
32
- lineWidth: 0
32
+ lineWidth: 0,
33
+ innerPadding: 0,
34
+ outerPadding: 0
33
35
  });
34
36
  }
35
37
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,0CAA+C;AAE/C,uCAAgD;AAEhD,gDAA4C;AAI5C,2DAA6D;AAC7D,gDAAmE;AAInE,MAAa,WAAoC,SAAQ,oBAAW;IAKlE,YAAY,IAAY,EAAE,MAAmB;QAC3C,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QALb,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;QAE3C,sBAAiB,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QA2BrD,uBAAkB,GAAG,CAC7B,GAAW,EACX,KAAY,EACZ,SAAyB,QAAQ,EACjC,GAAQ,EACR,UAAkB,EACV,EAAE;;YACV,MAAM,MAAM,GAAG,MAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAY,mCAAI,CAAC,CAAC;YACtF,OAAO,UAAU,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC;QAEQ,kBAAa,GAAG,CACxB,GAAc,EACd,KAAY,EACZ,SAAyB,QAAQ,EACjC,GAAQ,EACR,MAAc,EACd,EAAE;YACF,MAAM,MAAM,GAAG,IAAA,uBAAgB,EAAC;gBAC9B,KAAK,EAAE,KAAK,CAAC,2BAAgB,CAAC;gBAC9B,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAW;aACxE,CAAC,CAAC;YACH,OAAO,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC;QA5CA,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,aAA8B,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,aAA8B,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAmC,CAAC;QAE9E,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAES,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,EACf,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;CA0BF;AAtDD,kCAsDC;AAED,MAAa,OAAQ,SAAQ,WAAyB;IAAtD;;QAEW,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;IAC7C,CAAC;;AAHD,0BAGC;AAFiB,YAAI,SAAoB;AAInC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,IAAA,kCAAkB,GAAE,CAAC;IACrB,IAAA,qCAA4B,GAAE,CAAC;IAC/B,iBAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B","file":"arc.js","sourcesContent":["import { Factory } from './../core/factory';\nimport { ARC_MIDDLE_ANGLE } from '../constant';\nimport type { IArcMarkSpec, Datum, StateValueType } from '../typings';\nimport { polarToCartesian } from '../util/math';\nimport type { ExChannelCall } from './base/base-mark';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkOption, IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerArcGraphic } from '@visactor/vgrammar-core';\nimport { registerVGrammarArcAnimation } from '../animation/config';\n\nexport type IArcMark = IMarkRaw<IArcMarkSpec>;\n\nexport class BaseArcMark<T extends IArcMarkSpec> extends BaseMark<T> implements IMarkRaw<T> {\n readonly type: MarkTypeEnum = ArcMark.type;\n\n _unCompileChannel = { centerOffset: true, radiusOffset: true };\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n\n // because of set object.function, this setting should be write after object init\n this._computeExChannel.x = this.computeCenter as ExChannelCall;\n this._computeExChannel.y = this.computeCenter as ExChannelCall;\n this._computeExChannel.outerRadius = this.computeOuterRadius as ExChannelCall;\n\n this._extensionChannel.centerOffset = ['x', 'y'];\n this._extensionChannel.radiusOffset = ['outerRadius'];\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<T> = {\n ...super._getDefaultStyle(),\n startAngle: 0,\n endAngle: 0,\n outerRadius: 0,\n innerRadius: 0,\n cornerRadius: 0,\n lineWidth: 0\n };\n return defaultStyle;\n }\n\n protected computeOuterRadius = (\n key: string,\n datum: Datum,\n states: StateValueType = 'normal',\n opt: any,\n superValue: number\n ): number => {\n const offset = (this.getAttribute('radiusOffset', datum, states, opt) as number) ?? 0;\n return superValue + offset;\n };\n\n protected computeCenter = (\n key: 'x' | 'y',\n datum: Datum,\n states: StateValueType = 'normal',\n opt: any,\n center: number\n ) => {\n const offset = polarToCartesian({\n angle: datum[ARC_MIDDLE_ANGLE],\n radius: this.getAttribute('centerOffset', datum, states, opt) as number\n });\n return center + offset[key];\n };\n}\n\nexport class ArcMark extends BaseArcMark<IArcMarkSpec> implements IArcMark {\n static readonly type = MarkTypeEnum.arc;\n readonly type: MarkTypeEnum = ArcMark.type;\n}\n\nexport const registerArcMark = () => {\n registerArcGraphic();\n registerVGrammarArcAnimation();\n Factory.registerMark(ArcMark.type, ArcMark);\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,0CAA+C;AAE/C,uCAAgD;AAGhD,gDAA4C;AAI5C,2DAA6D;AAC7D,gDAAmE;AAKnE,MAAa,WAAoC,SAAQ,oBAAW;IAKlE,YAAY,IAAY,EAAE,MAAmB;QAC3C,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QALb,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;QAE3C,sBAAiB,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QA6BrD,uBAAkB,GAAG,CAC7B,GAAW,EACX,KAAY,EACZ,SAAyB,QAAQ,EACjC,GAAQ,EACR,UAAkB,EACV,EAAE;;YACV,MAAM,MAAM,GAAG,MAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAY,mCAAI,CAAC,CAAC;YACtF,OAAO,UAAU,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC;QAEQ,kBAAa,GAAG,CACxB,GAAc,EACd,KAAY,EACZ,SAAyB,QAAQ,EACjC,GAAQ,EACR,MAAc,EACd,EAAE;YACF,MAAM,MAAM,GAAG,IAAA,uBAAgB,EAAC;gBAC9B,KAAK,EAAE,KAAK,CAAC,2BAAgB,CAAC;gBAC9B,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAW;aACxE,CAAC,CAAC;YACH,OAAO,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC;QA9CA,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,aAA8B,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,aAA8B,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAmC,CAAC;QAE9E,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAES,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,EACf,SAAS,EAAE,CAAC,EACZ,YAAY,EAAE,CAAC,EACf,YAAY,EAAE,CAAC,GAChB,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;CA0BF;AAxDD,kCAwDC;AAED,MAAa,OAAQ,SAAQ,WAAyB;IAAtD;;QAEW,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;IAC7C,CAAC;;AAHD,0BAGC;AAFiB,YAAI,SAAoB;AAInC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,IAAA,kCAAkB,GAAE,CAAC;IACrB,IAAA,qCAA4B,GAAE,CAAC;IAC/B,iBAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B","file":"arc.js","sourcesContent":["import { Factory } from './../core/factory';\nimport { ARC_MIDDLE_ANGLE } from '../constant';\nimport type { IArcMarkSpec, Datum, StateValueType } from '../typings';\nimport { polarToCartesian } from '../util/math';\nimport type { ExChannelCall } from './base/base-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkOption, IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerArcGraphic } from '@visactor/vgrammar-core';\nimport { registerVGrammarArcAnimation } from '../animation/config';\nimport { isValid } from '@visactor/vutils';\n\nexport type IArcMark = IMarkRaw<IArcMarkSpec>;\n\nexport class BaseArcMark<T extends IArcMarkSpec> extends BaseMark<T> implements IMarkRaw<T> {\n readonly type: MarkTypeEnum = ArcMark.type;\n\n _unCompileChannel = { centerOffset: true, radiusOffset: true };\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n\n // because of set object.function, this setting should be write after object init\n this._computeExChannel.x = this.computeCenter as ExChannelCall;\n this._computeExChannel.y = this.computeCenter as ExChannelCall;\n this._computeExChannel.outerRadius = this.computeOuterRadius as ExChannelCall;\n\n this._extensionChannel.centerOffset = ['x', 'y'];\n this._extensionChannel.radiusOffset = ['outerRadius'];\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<T> = {\n ...super._getDefaultStyle(),\n startAngle: 0,\n endAngle: 0,\n outerRadius: 0,\n innerRadius: 0,\n cornerRadius: 0,\n lineWidth: 0,\n innerPadding: 0,\n outerPadding: 0\n };\n return defaultStyle;\n }\n\n protected computeOuterRadius = (\n key: string,\n datum: Datum,\n states: StateValueType = 'normal',\n opt: any,\n superValue: number\n ): number => {\n const offset = (this.getAttribute('radiusOffset', datum, states, opt) as number) ?? 0;\n return superValue + offset;\n };\n\n protected computeCenter = (\n key: 'x' | 'y',\n datum: Datum,\n states: StateValueType = 'normal',\n opt: any,\n center: number\n ) => {\n const offset = polarToCartesian({\n angle: datum[ARC_MIDDLE_ANGLE],\n radius: this.getAttribute('centerOffset', datum, states, opt) as number\n });\n return center + offset[key];\n };\n}\n\nexport class ArcMark extends BaseArcMark<IArcMarkSpec> implements IArcMark {\n static readonly type = MarkTypeEnum.arc;\n readonly type: MarkTypeEnum = ArcMark.type;\n}\n\nexport const registerArcMark = () => {\n registerArcGraphic();\n registerVGrammarArcAnimation();\n Factory.registerMark(ArcMark.type, ArcMark);\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { IAttributeOpt, IModelMarkAttributeContext } from '../../compile/mark/interface';
2
- import type { Datum, IMarkSpec, ICommonSpec } from '../../typings';
2
+ import type { Datum, IMarkSpec, ICommonSpec, ValueType } from '../../typings';
3
3
  import type { IMarkRaw, IMarkStateStyle, IMarkStyle, IMarkOption, StyleConvert, MarkInputStyle } from '../interface';
4
4
  import { CompilableMark } from '../../compile/mark/compilable-mark';
5
5
  import type { StateValueType } from '../../compile/mark';
@@ -17,11 +17,11 @@ export declare class BaseMark<T extends ICommonSpec> extends CompilableMark impl
17
17
  constructor(name: string, option: IMarkOption);
18
18
  created(): void;
19
19
  initStyleWithSpec(spec: IMarkSpec<T>, key?: string): void;
20
- convertAngleToRadian(styleConverter: StyleConvert<number>): StyleConvert<any>;
20
+ protected _transformStyleValue<T>(styleConverter: StyleConvert<T>, transform: (value: ValueType<T>) => ValueType<T>): StyleConvert<any>;
21
+ convertAngleToRadian(styleConverter: StyleConvert<number>): any;
21
22
  isUserLevel(level: number): boolean;
22
23
  setStyle<U extends keyof T>(style: Partial<IMarkStyle<T>>, state?: StateValueType, level?: number, stateStyle?: IMarkStateStyle<T>): void;
23
24
  getStyle(key: string, state?: StateValueType): any;
24
- protected _filterStyle(style: Partial<IMarkStyle<T>>, state: StateValueType, level: number, stateStyle?: IMarkStateStyle<T>): Partial<IMarkStyle<T>>;
25
25
  protected _filterAttribute<U extends keyof T>(attr: U, style: MarkInputStyle<T[U]>, state: StateValueType, level: number, isUserLevel: boolean, stateStyle?: IMarkStateStyle<T>): StyleConvert<T[U]>;
26
26
  setReferer<U extends keyof T>(mark: IMarkRaw<T>, styleKey?: U, state?: StateValueType, stateStyle?: IMarkStateStyle<T>): void;
27
27
  setPostProcess<U extends keyof T>(key: U, postProcessFunc: any, state?: StateValueType): void;
@@ -30,20 +30,22 @@ class BaseMark extends compilable_mark_1.CompilableMark {
30
30
  (0, vutils_1.isValid)(spec.zIndex) && this.setZIndex(spec.zIndex), (0, vutils_1.isBoolean)(spec.visible) && this.setVisible(spec.visible),
31
31
  this._initSpecStyle(spec, this.stateStyle, key));
32
32
  }
33
- convertAngleToRadian(styleConverter) {
34
- if ((0, vutils_1.isNumber)(styleConverter)) return (0, vutils_1.degreeToRadian)(styleConverter);
33
+ _transformStyleValue(styleConverter, transform) {
35
34
  if (styleConverter.scale) {
36
- const range = styleConverter.scale.range();
37
- return styleConverter.scale.range(range.map(vutils_1.degreeToRadian)), styleConverter;
35
+ const scale = styleConverter.scale, range = scale.range();
36
+ return scale.range(range.map(transform)), styleConverter;
38
37
  }
39
- return "function" == typeof styleConverter ? (item, ctx, opt, source) => (0, vutils_1.degreeToRadian)(styleConverter(item, ctx, opt, source)) : styleConverter;
38
+ return "function" == typeof styleConverter ? (...args) => transform(styleConverter(...args)) : transform(styleConverter);
39
+ }
40
+ convertAngleToRadian(styleConverter) {
41
+ return this._transformStyleValue(styleConverter, vutils_1.degreeToRadian);
40
42
  }
41
43
  isUserLevel(level) {
42
44
  return [ constant_1.AttributeLevel.User_Mark, constant_1.AttributeLevel.User_Series, constant_1.AttributeLevel.User_Chart ].includes(level);
43
45
  }
44
46
  setStyle(style, state = "normal", level = 0, stateStyle = this.stateStyle) {
45
47
  if ((0, vutils_1.isNil)(style)) return;
46
- style = this._filterStyle(style, state, level, stateStyle), void 0 === stateStyle[state] && (stateStyle[state] = {});
48
+ void 0 === stateStyle[state] && (stateStyle[state] = {});
47
49
  const isUserLevel = this.isUserLevel(level);
48
50
  Object.keys(style).forEach((attr => {
49
51
  let attrStyle = style[attr];
@@ -55,13 +57,18 @@ class BaseMark extends compilable_mark_1.CompilableMark {
55
57
  var _a;
56
58
  return null === (_a = this.stateStyle[state][key]) || void 0 === _a ? void 0 : _a.style;
57
59
  }
58
- _filterStyle(style, state, level, stateStyle = this.stateStyle) {
59
- return style;
60
- }
61
60
  _filterAttribute(attr, style, state, level, isUserLevel, stateStyle = this.stateStyle) {
62
61
  let newStyle = this._styleConvert(style);
63
- return isUserLevel && "angle" === attr && (newStyle = this.convertAngleToRadian(newStyle)),
64
- newStyle;
62
+ if (isUserLevel) switch (attr) {
63
+ case "angle":
64
+ newStyle = this.convertAngleToRadian(newStyle);
65
+ break;
66
+
67
+ case "innerPadding":
68
+ case "outerPadding":
69
+ newStyle = this._transformStyleValue(newStyle, (value => -value));
70
+ }
71
+ return newStyle;
65
72
  }
66
73
  setReferer(mark, styleKey, state, stateStyle = this.stateStyle) {
67
74
  var _a;
@@ -145,8 +152,8 @@ class BaseMark extends compilable_mark_1.CompilableMark {
145
152
  }
146
153
  _computeStateAttribute(stateStyle, key, state) {
147
154
  var _a;
148
- return stateStyle ? stateStyle.referer ? stateStyle.referer._computeAttribute(key, state) : "function" == typeof stateStyle.style ? (datum, opt) => stateStyle.style(datum, this._attributeContext, opt, this.getDataView()) : constant_1.GradientType.includes(stateStyle.style.gradient) ? this._computeGradientAttr(stateStyle.style) : [ "outerBorder", "innerBorder" ].includes(key) ? this._computeBorderAttr(stateStyle.style) : (0,
149
- vscale_1.isValidScaleType)(null === (_a = stateStyle.style.scale) || void 0 === _a ? void 0 : _a.type) ? (datum, opt) => stateStyle.style.scale.scale(datum[stateStyle.style.field]) : (datum, opt) => stateStyle.style : (datum, opt) => {};
155
+ return stateStyle ? stateStyle.referer ? stateStyle.referer._computeAttribute(key, state) : stateStyle.style ? "function" == typeof stateStyle.style ? (datum, opt) => stateStyle.style(datum, this._attributeContext, opt, this.getDataView()) : constant_1.GradientType.includes(stateStyle.style.gradient) ? this._computeGradientAttr(stateStyle.style) : [ "outerBorder", "innerBorder" ].includes(key) ? this._computeBorderAttr(stateStyle.style) : (0,
156
+ vscale_1.isValidScaleType)(null === (_a = stateStyle.style.scale) || void 0 === _a ? void 0 : _a.type) ? (datum, opt) => stateStyle.style.scale.scale(datum[stateStyle.style.field]) : (datum, opt) => stateStyle.style : (datum, opt) => stateStyle.style : (datum, opt) => {};
150
157
  }
151
158
  _initStyle() {
152
159
  const defaultStyle = this._getDefaultStyle();
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/base/base-mark.ts"],"names":[],"mappings":"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","file":"base-mark.js","sourcesContent":["import type { IStateInfo, IAttributeOpt, IModelMarkAttributeContext } from '../../compile/mark/interface';\nimport type { BaseSeries } from '../../series/base/base-series';\nimport type {\n Datum,\n IMarkSpec,\n ConvertToMarkStyleSpec,\n GradientStop,\n IVisual,\n IVisualScale,\n IVisualSpecStyle,\n ICommonSpec,\n FunctionType\n} from '../../typings';\n\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { Color } from '../../util/color';\nimport { createScaleWithSpec } from '../../util/scale';\nimport type {\n IMarkRaw,\n IMarkStateStyle,\n IMarkStyle,\n IMark,\n IMarkOption,\n StyleConvert,\n VisualScaleType,\n MarkInputStyle\n} from '../interface';\nimport { AttributeLevel, GradientType, DEFAULT_GRADIENT_CONFIG } from '../../constant';\nimport { isValidScaleType } from '@visactor/vscale';\nimport type { DataView } from '@visactor/vdataset';\nimport { computeActualDataScheme, getDataScheme } from '../../theme/color-scheme/util';\nimport type { ISeries } from '../../series/interface';\nimport { CompilableMark } from '../../compile/mark/compilable-mark';\nimport type { StateValueType } from '../../compile/mark';\nimport { degreeToRadian, isBoolean, isFunction, isNil, isValid, isNumber } from '@visactor/vutils';\n\nexport type ExChannelCall = (\n key: string | number | symbol,\n datum: Datum,\n states: StateValueType,\n opt: unknown,\n baseValue: unknown\n) => unknown;\n\nexport class BaseMark<T extends ICommonSpec> extends CompilableMark implements IMarkRaw<T> {\n declare stateStyle: IMarkStateStyle<T>;\n\n protected declare _option: IMarkOption;\n\n protected _attributeContext: IModelMarkAttributeContext;\n\n /** by _unCompileChannel, some channel need add default channel to make sure update available */\n _extensionChannel: {\n [key: string | number | symbol]: string[];\n } = {};\n /** same as _extensionChannel. when compute channel, add extension channel effect */\n _computeExChannel: {\n [key: string | number | symbol]: ExChannelCall;\n } = {};\n\n constructor(name: string, option: IMarkOption) {\n super(option, name, option.model);\n // 这里的上下文多数情况下与 mark 是什么是没有关系的,与mark的使用者,也就是series,component有的逻辑有关。\n this._attributeContext = option.attributeContext;\n option.map?.set(this.id, this as unknown as IMark);\n }\n\n created(): void {\n this._initStyle();\n }\n\n /**\n * 外部调用,根据 spec 初始化 style(如果由 IModel 派生类调用,请使用 IModel.initMarkStyleWithSpec)\n * @param spec\n * @param key\n * @returns\n */\n initStyleWithSpec(spec: IMarkSpec<T>, key?: string) {\n if (!spec) {\n return;\n }\n\n if (isValid(spec.id)) {\n this._userId = spec.id;\n }\n\n // interactive\n if (isBoolean(spec.interactive)) {\n this._interactive = spec.interactive;\n }\n // zIndex\n if (isValid(spec.zIndex)) {\n this.setZIndex(spec.zIndex);\n }\n // visible\n if (isBoolean(spec.visible)) {\n this.setVisible(spec.visible);\n }\n // style\n this._initSpecStyle(spec, this.stateStyle, key);\n }\n\n convertAngleToRadian(styleConverter: StyleConvert<number>): StyleConvert<any> {\n // 用户传入的angle配置,需要做一层转换\n if (isNumber(styleConverter)) {\n return degreeToRadian(styleConverter) as StyleConvert<any>;\n } else if ((styleConverter as VisualScaleType).scale) {\n const range = (styleConverter as VisualScaleType).scale.range();\n\n (styleConverter as VisualScaleType).scale.range(range.map(degreeToRadian));\n\n return styleConverter as StyleConvert<any>;\n } else if (typeof styleConverter === 'function') {\n return ((item: any, ctx: any, opt: IAttributeOpt, source?: DataView) => {\n return degreeToRadian((styleConverter as FunctionType<number>)(item, ctx, opt, source));\n }) as StyleConvert<any>;\n }\n\n return styleConverter;\n }\n\n isUserLevel(level: number) {\n return [AttributeLevel.User_Mark, AttributeLevel.User_Series, AttributeLevel.User_Chart].includes(level);\n }\n\n /**\n * 由外部series调用,设置markStyle的接口(如果由 IModel 派生类调用,请使用 IModel.setMarkStyle)\n * @param style\n * @param level\n * @param state\n */\n setStyle<U extends keyof T>(\n style: Partial<IMarkStyle<T>>,\n state: StateValueType = 'normal',\n level: number = 0,\n stateStyle = this.stateStyle\n ): void {\n if (isNil(style)) {\n return;\n }\n style = this._filterStyle(style, state, level, stateStyle);\n\n if (stateStyle[state] === undefined) {\n stateStyle[state] = {};\n }\n\n const isUserLevel = this.isUserLevel(level);\n\n Object.keys(style).forEach((attr: string) => {\n let attrStyle = style[attr] as MarkInputStyle<T[U]>;\n if (isNil(attrStyle)) {\n return;\n }\n\n attrStyle = this._filterAttribute(attr as any, attrStyle, state, level, isUserLevel, stateStyle);\n\n this.setAttribute(attr as any, attrStyle, state, level, stateStyle);\n });\n }\n\n getStyle(key: string, state: StateValueType = 'normal'): any {\n return this.stateStyle[state][key]?.style;\n }\n\n /** 过滤用户传来的 style 对象 */\n protected _filterStyle(\n style: Partial<IMarkStyle<T>>,\n state: StateValueType,\n level: number,\n stateStyle = this.stateStyle\n ): Partial<IMarkStyle<T>> {\n return style;\n }\n\n /** 过滤单个 attribute */\n protected _filterAttribute<U extends keyof T>(\n attr: U,\n style: MarkInputStyle<T[U]>,\n state: StateValueType,\n level: number,\n isUserLevel: boolean,\n stateStyle = this.stateStyle\n ): StyleConvert<T[U]> {\n let newStyle = this._styleConvert(style);\n if (isUserLevel && attr === 'angle') {\n newStyle = this.convertAngleToRadian(newStyle as StyleConvert<number>);\n }\n return newStyle;\n }\n\n /**\n * TODO: 没有外部调用\n * 设置mark样式所参考的图元\n */\n setReferer<U extends keyof T>(mark: IMarkRaw<T>, styleKey?: U, state?: StateValueType, stateStyle = this.stateStyle) {\n if (!mark) {\n return;\n }\n if (styleKey && state) {\n const style = stateStyle[state] ?? { [styleKey]: {} };\n stateStyle[state][styleKey] = {\n ...(style[styleKey] as unknown as any),\n ...{ referer: mark }\n };\n return;\n }\n\n Object.entries(stateStyle).forEach(([state, style]) => {\n Object.entries(style).forEach(([styleKey, style]) => {\n stateStyle[state][styleKey].referer = mark;\n });\n });\n }\n\n setPostProcess<U extends keyof T>(key: U, postProcessFunc: any, state: StateValueType = 'normal') {\n if (this.stateStyle[state]?.[key]) {\n this.stateStyle[state][key].postProcess = postProcessFunc;\n }\n }\n\n getAttribute<U extends keyof T>(key: U, datum: Datum, state: StateValueType = 'normal', opt?: IAttributeOpt) {\n return this._computeAttribute(key, state)(datum, opt);\n }\n\n setAttribute<U extends keyof T>(\n attr: U,\n style: MarkInputStyle<T[U]>,\n state: StateValueType = 'normal',\n level: number = 0,\n stateStyle = this.stateStyle\n ) {\n if (stateStyle[state] === undefined) {\n stateStyle[state] = {};\n }\n\n if (stateStyle[state][attr] === undefined) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n stateStyle[state][attr] = {\n level,\n style,\n referer: undefined\n };\n }\n const attrLevel = stateStyle[state][attr]?.level;\n if (isValid(attrLevel) && attrLevel <= level) {\n mergeSpec(stateStyle[state][attr], { style, level });\n }\n\n // some attr has extension channel in VChart to make some effect\n if (state !== 'normal') {\n if (attr in this._extensionChannel) {\n this._extensionChannel[attr].forEach(key => {\n if (stateStyle[state][key] === undefined) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n stateStyle[state][key as keyof T] = stateStyle.normal[key];\n }\n });\n }\n }\n }\n\n /**\n * 与 vgrammar 默认值一致的样式可以不设置默认值或设置为undefined, 减少encode属性\n */\n protected _getDefaultStyle() {\n return {\n visible: true,\n // mark的层级应该在mark层 不在encode属性层\n // zIndex: LayoutZIndex.Mark,\n x: 0,\n y: 0\n } as IMarkStyle<T>;\n }\n\n // /**\n // * 获取该 mark 不支持的图形属性,由子类覆写\n // * @returns\n // */\n // protected getIgnoreAttributes(): string[] {\n // return [];\n // }\n\n protected _styleConvert<U extends keyof T>(style?: MarkInputStyle<T[U]>): StyleConvert<T[U]> | undefined {\n if (!style) {\n return style as undefined;\n }\n // visual spec 转换为 scale 类型的mark style\n if (isValidScaleType((style as IVisualSpecStyle<unknown, T[U]>).type) || (style as IVisualScale).scale) {\n // const _style = style as IVisual<T[U]>;\n const scale = createScaleWithSpec(style as IVisual<T[U]>, {\n globalScale: this._option.globalScale,\n seriesId: this._option.seriesId\n });\n if (scale) {\n return {\n scale,\n field: (style as IVisual<T[U]>).field,\n changeDomain: (style as IVisualScale).changeDomain\n };\n }\n }\n return style as StyleConvert<T[U]>;\n }\n\n protected _computeAttribute<U extends keyof T>(key: U, state: StateValueType) {\n let stateStyle = this.stateStyle[state]?.[key];\n if (!stateStyle) {\n stateStyle = this.stateStyle.normal[key];\n }\n const baseValueFunctor = this._computeStateAttribute(stateStyle, key, state);\n const hasPostProcess = isFunction(stateStyle?.postProcess);\n const hasExCompute = key in this._computeExChannel;\n\n if (hasPostProcess && hasExCompute) {\n const exCompute = this._computeExChannel[key];\n return (datum: Datum, opt: IAttributeOpt) => {\n let baseValue = baseValueFunctor(datum, opt);\n\n baseValue = stateStyle.postProcess(baseValue, datum, this._attributeContext, opt, this.getDataView());\n\n return exCompute(key, datum, state, opt, baseValue);\n };\n } else if (hasPostProcess) {\n return (datum: Datum, opt: IAttributeOpt) => {\n return stateStyle.postProcess(\n baseValueFunctor(datum, opt),\n datum,\n this._attributeContext,\n opt,\n this.getDataView()\n );\n };\n } else if (hasExCompute) {\n const exCompute = this._computeExChannel[key];\n return (datum: Datum, opt: IAttributeOpt) => {\n return exCompute(key, datum, state, opt, baseValueFunctor(datum, opt));\n };\n }\n return baseValueFunctor;\n }\n\n protected _computeStateAttribute<U extends keyof T>(stateStyle: any, key: U, state: StateValueType) {\n if (!stateStyle) {\n return (datum: Datum, opt: IAttributeOpt) => undefined as any;\n }\n if (stateStyle.referer) {\n return stateStyle.referer._computeAttribute(key, state);\n }\n\n if (typeof stateStyle.style === 'function') {\n return (datum: Datum, opt: IAttributeOpt) =>\n stateStyle.style(datum, this._attributeContext, opt, this.getDataView());\n }\n\n if (GradientType.includes(stateStyle.style.gradient)) {\n // 渐变色处理,支持各个属性回调\n return this._computeGradientAttr(stateStyle.style);\n }\n\n if (['outerBorder', 'innerBorder'].includes(key as string)) {\n // 内外描边处理,支持各个属性回调\n return this._computeBorderAttr(stateStyle.style);\n }\n\n if (isValidScaleType(stateStyle.style.scale?.type)) {\n return (datum: Datum, opt: IAttributeOpt) => stateStyle.style.scale.scale(datum[stateStyle.style.field]);\n }\n return (datum: Datum, opt: IAttributeOpt) => {\n return stateStyle.style;\n };\n }\n\n private _initStyle(): void {\n const defaultStyle = this._getDefaultStyle();\n this.setStyle(defaultStyle, 'normal', 0);\n }\n\n private _initSpecStyle(spec: IMarkSpec<T>, stateStyle: IMarkStateStyle<T>, key?: string) {\n // style\n if (spec.style) {\n this.setStyle(spec.style, 'normal', AttributeLevel.User_Mark, stateStyle);\n }\n const state = spec.state;\n if (state) {\n Object.keys(state).forEach(key => {\n const stateTemp = state[key];\n if ('style' in stateTemp) {\n const style = stateTemp.style;\n let stateInfo: IStateInfo = { stateValue: key };\n if ('level' in stateTemp) {\n stateInfo.level = stateTemp.level as number;\n }\n if ('filter' in stateTemp) {\n if (isFunction(stateTemp.filter)) {\n stateInfo = {\n filter: stateTemp.filter as (datum: any, options: Record<string, any>) => boolean,\n ...stateInfo\n };\n } else {\n stateInfo = { ...stateTemp.filter, ...stateInfo };\n }\n }\n this.state.addStateInfo(stateInfo);\n this.setStyle(style as ConvertToMarkStyleSpec<T>, key, AttributeLevel.User_Mark, stateStyle);\n } else {\n this.setStyle(stateTemp, key, AttributeLevel.User_Mark, stateStyle);\n }\n });\n }\n }\n\n private _computeGradientAttr(gradientStyle: any) {\n const { gradient, scale, field, ...rest } = gradientStyle;\n\n let colorScale = scale;\n let colorField = field;\n if ((!scale || !field) && this.model.modelType === 'series') {\n // 目前只有series有这个属性\n const { scale: globalColorScale, field: globalField } = (this.model as BaseSeries<any>).getColorAttribute();\n if (!scale) {\n // 获取全局的 colorScale\n colorScale = globalColorScale;\n }\n if (!colorField) {\n colorField = globalField;\n }\n }\n\n const themeColor = computeActualDataScheme(\n getDataScheme(\n this.model.getColorScheme(),\n this.model.modelType === 'series' ? this.model.getSpec?.() : undefined\n ),\n (this.model as ISeries).getDefaultColorDomain()\n );\n // 默认配置处理\n const mergedStyle = {\n ...DEFAULT_GRADIENT_CONFIG[gradient],\n ...rest\n };\n return (data: Datum, opt: IAttributeOpt) => {\n const computeStyle: any = {};\n const markData = this.getDataView();\n Object.keys(mergedStyle).forEach(key => {\n const value = mergedStyle[key];\n if (key === 'stops') {\n computeStyle.stops = value.map((stop: GradientStop) => {\n const { opacity, color, offset } = stop;\n let computeColor = color ?? colorScale?.scale(data[colorField]);\n if (isFunction(color)) {\n computeColor = color(data, this._attributeContext, opt, markData);\n }\n\n if (isValid(opacity)) {\n computeColor = Color.SetOpacity(computeColor as string, opacity);\n }\n\n return {\n offset: isFunction(offset) ? offset(data, this._attributeContext, opt, markData) : offset,\n color: computeColor || themeColor[0]\n };\n });\n } else if (isFunction(value)) {\n computeStyle[key] = value(data, this._attributeContext, opt, markData);\n } else {\n computeStyle[key] = value;\n }\n });\n\n computeStyle.gradient = gradient;\n\n return computeStyle;\n };\n }\n\n private _computeBorderAttr(borderStyle: any) {\n const { scale, field, ...mergedStyle } = borderStyle;\n\n return (data: Datum, opt: IAttributeOpt) => {\n const computeStyle: any = {};\n\n Object.keys(mergedStyle).forEach(key => {\n const value = mergedStyle[key];\n if (isFunction(value)) {\n computeStyle[key] = value(data, this._attributeContext, opt, this.getDataView());\n } else {\n computeStyle[key] = value;\n }\n });\n if (!('stroke' in computeStyle)) {\n const themeColor = computeActualDataScheme(\n getDataScheme(\n this.model.getColorScheme(),\n this.model.modelType === 'series' ? this.model.getSpec?.() : undefined\n ),\n (this.model as ISeries).getDefaultColorDomain()\n );\n let colorScale = scale;\n let colorField = field;\n if ((!scale || !field) && this.model.modelType === 'series') {\n // 目前只有series有这个属性\n const { scale: globalColorScale, field: globalField } = (this.model as BaseSeries<any>).getColorAttribute();\n if (!scale) {\n // 获取全局的 colorScale\n colorScale = globalColorScale;\n }\n if (!colorField) {\n colorField = globalField;\n }\n computeStyle.stroke = colorScale?.scale(data[colorField]) || themeColor[0];\n }\n } else if (GradientType.includes(mergedStyle.stroke?.gradient)) {\n computeStyle.stroke = this._computeGradientAttr(mergedStyle.stroke)(data, opt);\n }\n return computeStyle;\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/mark/base/base-mark.ts"],"names":[],"mappings":"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","file":"base-mark.js","sourcesContent":["import type { IStateInfo, IAttributeOpt, IModelMarkAttributeContext } from '../../compile/mark/interface';\nimport type { BaseSeries } from '../../series/base/base-series';\nimport type {\n Datum,\n IMarkSpec,\n ConvertToMarkStyleSpec,\n GradientStop,\n IVisual,\n IVisualScale,\n IVisualSpecStyle,\n ICommonSpec,\n FunctionType,\n ValueType\n} from '../../typings';\n\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { Color } from '../../util/color';\nimport { createScaleWithSpec } from '../../util/scale';\nimport type {\n IMarkRaw,\n IMarkStateStyle,\n IMarkStyle,\n IMark,\n IMarkOption,\n StyleConvert,\n VisualScaleType,\n MarkInputStyle\n} from '../interface';\nimport { AttributeLevel, GradientType, DEFAULT_GRADIENT_CONFIG } from '../../constant';\nimport { isValidScaleType } from '@visactor/vscale';\nimport type { DataView } from '@visactor/vdataset';\nimport { computeActualDataScheme, getDataScheme } from '../../theme/color-scheme/util';\nimport type { ISeries } from '../../series/interface';\nimport { CompilableMark } from '../../compile/mark/compilable-mark';\nimport type { StateValueType } from '../../compile/mark';\nimport { degreeToRadian, isBoolean, isFunction, isNil, isValid, isNumber } from '@visactor/vutils';\n\nexport type ExChannelCall = (\n key: string | number | symbol,\n datum: Datum,\n states: StateValueType,\n opt: unknown,\n baseValue: unknown\n) => unknown;\n\nexport class BaseMark<T extends ICommonSpec> extends CompilableMark implements IMarkRaw<T> {\n declare stateStyle: IMarkStateStyle<T>;\n\n protected declare _option: IMarkOption;\n\n protected _attributeContext: IModelMarkAttributeContext;\n\n /** by _unCompileChannel, some channel need add default channel to make sure update available */\n _extensionChannel: {\n [key: string | number | symbol]: string[];\n } = {};\n /** same as _extensionChannel. when compute channel, add extension channel effect */\n _computeExChannel: {\n [key: string | number | symbol]: ExChannelCall;\n } = {};\n\n constructor(name: string, option: IMarkOption) {\n super(option, name, option.model);\n // 这里的上下文多数情况下与 mark 是什么是没有关系的,与mark的使用者,也就是series,component有的逻辑有关。\n this._attributeContext = option.attributeContext;\n option.map?.set(this.id, this as unknown as IMark);\n }\n\n created(): void {\n this._initStyle();\n }\n\n /**\n * 外部调用,根据 spec 初始化 style(如果由 IModel 派生类调用,请使用 IModel.initMarkStyleWithSpec)\n * @param spec\n * @param key\n * @returns\n */\n initStyleWithSpec(spec: IMarkSpec<T>, key?: string) {\n if (!spec) {\n return;\n }\n\n if (isValid(spec.id)) {\n this._userId = spec.id;\n }\n\n // interactive\n if (isBoolean(spec.interactive)) {\n this._interactive = spec.interactive;\n }\n // zIndex\n if (isValid(spec.zIndex)) {\n this.setZIndex(spec.zIndex);\n }\n // visible\n if (isBoolean(spec.visible)) {\n this.setVisible(spec.visible);\n }\n // style\n this._initSpecStyle(spec, this.stateStyle, key);\n }\n\n protected _transformStyleValue<T>(\n styleConverter: StyleConvert<T>,\n transform: (value: ValueType<T>) => ValueType<T>\n ): StyleConvert<any> {\n if ((styleConverter as VisualScaleType).scale) {\n const scale = (styleConverter as VisualScaleType).scale;\n const range = scale.range();\n scale.range(range.map(transform));\n return styleConverter as StyleConvert<T>;\n } else if (typeof styleConverter === 'function') {\n return ((...args) => {\n return transform((styleConverter as FunctionType<number>)(...args) as ValueType<T>);\n }) as StyleConvert<T>;\n }\n return transform(styleConverter as ValueType<T>);\n }\n\n convertAngleToRadian(styleConverter: StyleConvert<number>) {\n // 用户传入的角度配置,需要做一层转换\n return this._transformStyleValue(styleConverter, degreeToRadian);\n }\n\n isUserLevel(level: number) {\n return [AttributeLevel.User_Mark, AttributeLevel.User_Series, AttributeLevel.User_Chart].includes(level);\n }\n\n /**\n * 由外部series调用,设置markStyle的接口(如果由 IModel 派生类调用,请使用 IModel.setMarkStyle)\n * @param style\n * @param level\n * @param state\n */\n setStyle<U extends keyof T>(\n style: Partial<IMarkStyle<T>>,\n state: StateValueType = 'normal',\n level: number = 0,\n stateStyle = this.stateStyle\n ): void {\n if (isNil(style)) {\n return;\n }\n\n if (stateStyle[state] === undefined) {\n stateStyle[state] = {};\n }\n\n const isUserLevel = this.isUserLevel(level);\n\n Object.keys(style).forEach((attr: string) => {\n let attrStyle = style[attr] as MarkInputStyle<T[U]>;\n if (isNil(attrStyle)) {\n return;\n }\n\n attrStyle = this._filterAttribute(attr as any, attrStyle, state, level, isUserLevel, stateStyle);\n\n this.setAttribute(attr as any, attrStyle, state, level, stateStyle);\n });\n }\n\n getStyle(key: string, state: StateValueType = 'normal'): any {\n return this.stateStyle[state][key]?.style;\n }\n\n /** 过滤单个 attribute */\n protected _filterAttribute<U extends keyof T>(\n attr: U,\n style: MarkInputStyle<T[U]>,\n state: StateValueType,\n level: number,\n isUserLevel: boolean,\n stateStyle = this.stateStyle\n ): StyleConvert<T[U]> {\n let newStyle = this._styleConvert(style);\n if (isUserLevel) {\n switch (attr) {\n case 'angle':\n newStyle = this.convertAngleToRadian(newStyle);\n break;\n case 'innerPadding':\n case 'outerPadding':\n // VRender 的 padding 定义基于 centent-box 盒模型,默认正方向是向外扩,与 VChart 不一致。这里将 padding 符号取反\n newStyle = this._transformStyleValue(newStyle, (value: number) => -value);\n break;\n }\n }\n return newStyle;\n }\n\n /**\n * TODO: 没有外部调用\n * 设置mark样式所参考的图元\n */\n setReferer<U extends keyof T>(mark: IMarkRaw<T>, styleKey?: U, state?: StateValueType, stateStyle = this.stateStyle) {\n if (!mark) {\n return;\n }\n if (styleKey && state) {\n const style = stateStyle[state] ?? { [styleKey]: {} };\n stateStyle[state][styleKey] = {\n ...(style[styleKey] as unknown as any),\n ...{ referer: mark }\n };\n return;\n }\n\n Object.entries(stateStyle).forEach(([state, style]) => {\n Object.entries(style).forEach(([styleKey, style]) => {\n stateStyle[state][styleKey].referer = mark;\n });\n });\n }\n\n setPostProcess<U extends keyof T>(key: U, postProcessFunc: any, state: StateValueType = 'normal') {\n if (this.stateStyle[state]?.[key]) {\n this.stateStyle[state][key].postProcess = postProcessFunc;\n }\n }\n\n getAttribute<U extends keyof T>(key: U, datum: Datum, state: StateValueType = 'normal', opt?: IAttributeOpt) {\n return this._computeAttribute(key, state)(datum, opt);\n }\n\n setAttribute<U extends keyof T>(\n attr: U,\n style: MarkInputStyle<T[U]>,\n state: StateValueType = 'normal',\n level: number = 0,\n stateStyle = this.stateStyle\n ) {\n if (stateStyle[state] === undefined) {\n stateStyle[state] = {};\n }\n\n if (stateStyle[state][attr] === undefined) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n stateStyle[state][attr] = {\n level,\n style,\n referer: undefined\n };\n }\n const attrLevel = stateStyle[state][attr]?.level;\n if (isValid(attrLevel) && attrLevel <= level) {\n mergeSpec(stateStyle[state][attr], { style, level });\n }\n\n // some attr has extension channel in VChart to make some effect\n if (state !== 'normal') {\n if (attr in this._extensionChannel) {\n this._extensionChannel[attr].forEach(key => {\n if (stateStyle[state][key] === undefined) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n stateStyle[state][key as keyof T] = stateStyle.normal[key];\n }\n });\n }\n }\n }\n\n /**\n * 与 vgrammar 默认值一致的样式可以不设置默认值或设置为undefined, 减少encode属性\n */\n protected _getDefaultStyle() {\n return {\n visible: true,\n // mark的层级应该在mark层 不在encode属性层\n // zIndex: LayoutZIndex.Mark,\n x: 0,\n y: 0\n } as IMarkStyle<T>;\n }\n\n // /**\n // * 获取该 mark 不支持的图形属性,由子类覆写\n // * @returns\n // */\n // protected getIgnoreAttributes(): string[] {\n // return [];\n // }\n\n protected _styleConvert<U extends keyof T>(style?: MarkInputStyle<T[U]>): StyleConvert<T[U]> | undefined {\n if (!style) {\n return style as undefined;\n }\n // visual spec 转换为 scale 类型的mark style\n if (isValidScaleType((style as IVisualSpecStyle<unknown, T[U]>).type) || (style as IVisualScale).scale) {\n // const _style = style as IVisual<T[U]>;\n const scale = createScaleWithSpec(style as IVisual<T[U]>, {\n globalScale: this._option.globalScale,\n seriesId: this._option.seriesId\n });\n if (scale) {\n return {\n scale,\n field: (style as IVisual<T[U]>).field,\n changeDomain: (style as IVisualScale).changeDomain\n };\n }\n }\n return style as StyleConvert<T[U]>;\n }\n\n protected _computeAttribute<U extends keyof T>(key: U, state: StateValueType) {\n let stateStyle = this.stateStyle[state]?.[key];\n if (!stateStyle) {\n stateStyle = this.stateStyle.normal[key];\n }\n const baseValueFunctor = this._computeStateAttribute(stateStyle, key, state);\n const hasPostProcess = isFunction(stateStyle?.postProcess);\n const hasExCompute = key in this._computeExChannel;\n\n if (hasPostProcess && hasExCompute) {\n const exCompute = this._computeExChannel[key];\n return (datum: Datum, opt: IAttributeOpt) => {\n let baseValue = baseValueFunctor(datum, opt);\n\n baseValue = stateStyle.postProcess(baseValue, datum, this._attributeContext, opt, this.getDataView());\n\n return exCompute(key, datum, state, opt, baseValue);\n };\n } else if (hasPostProcess) {\n return (datum: Datum, opt: IAttributeOpt) => {\n return stateStyle.postProcess(\n baseValueFunctor(datum, opt),\n datum,\n this._attributeContext,\n opt,\n this.getDataView()\n );\n };\n } else if (hasExCompute) {\n const exCompute = this._computeExChannel[key];\n return (datum: Datum, opt: IAttributeOpt) => {\n return exCompute(key, datum, state, opt, baseValueFunctor(datum, opt));\n };\n }\n return baseValueFunctor;\n }\n\n protected _computeStateAttribute<U extends keyof T>(stateStyle: any, key: U, state: StateValueType) {\n if (!stateStyle) {\n return (datum: Datum, opt: IAttributeOpt) => undefined as any;\n }\n if (stateStyle.referer) {\n return stateStyle.referer._computeAttribute(key, state);\n }\n if (!stateStyle.style) {\n return (datum: Datum, opt: IAttributeOpt) => stateStyle.style;\n }\n\n if (typeof stateStyle.style === 'function') {\n return (datum: Datum, opt: IAttributeOpt) =>\n stateStyle.style(datum, this._attributeContext, opt, this.getDataView());\n }\n\n if (GradientType.includes(stateStyle.style.gradient)) {\n // 渐变色处理,支持各个属性回调\n return this._computeGradientAttr(stateStyle.style);\n }\n\n if (['outerBorder', 'innerBorder'].includes(key as string)) {\n // 内外描边处理,支持各个属性回调\n return this._computeBorderAttr(stateStyle.style);\n }\n\n if (isValidScaleType(stateStyle.style.scale?.type)) {\n return (datum: Datum, opt: IAttributeOpt) => stateStyle.style.scale.scale(datum[stateStyle.style.field]);\n }\n return (datum: Datum, opt: IAttributeOpt) => {\n return stateStyle.style;\n };\n }\n\n private _initStyle(): void {\n const defaultStyle = this._getDefaultStyle();\n this.setStyle(defaultStyle, 'normal', 0);\n }\n\n private _initSpecStyle(spec: IMarkSpec<T>, stateStyle: IMarkStateStyle<T>, key?: string) {\n // style\n if (spec.style) {\n this.setStyle(spec.style, 'normal', AttributeLevel.User_Mark, stateStyle);\n }\n const state = spec.state;\n if (state) {\n Object.keys(state).forEach(key => {\n const stateTemp = state[key];\n if ('style' in stateTemp) {\n const style = stateTemp.style;\n let stateInfo: IStateInfo = { stateValue: key };\n if ('level' in stateTemp) {\n stateInfo.level = stateTemp.level as number;\n }\n if ('filter' in stateTemp) {\n if (isFunction(stateTemp.filter)) {\n stateInfo = {\n filter: stateTemp.filter as (datum: any, options: Record<string, any>) => boolean,\n ...stateInfo\n };\n } else {\n stateInfo = { ...stateTemp.filter, ...stateInfo };\n }\n }\n this.state.addStateInfo(stateInfo);\n this.setStyle(style as ConvertToMarkStyleSpec<T>, key, AttributeLevel.User_Mark, stateStyle);\n } else {\n this.setStyle(stateTemp, key, AttributeLevel.User_Mark, stateStyle);\n }\n });\n }\n }\n\n private _computeGradientAttr(gradientStyle: any) {\n const { gradient, scale, field, ...rest } = gradientStyle;\n\n let colorScale = scale;\n let colorField = field;\n if ((!scale || !field) && this.model.modelType === 'series') {\n // 目前只有series有这个属性\n const { scale: globalColorScale, field: globalField } = (this.model as BaseSeries<any>).getColorAttribute();\n if (!scale) {\n // 获取全局的 colorScale\n colorScale = globalColorScale;\n }\n if (!colorField) {\n colorField = globalField;\n }\n }\n\n const themeColor = computeActualDataScheme(\n getDataScheme(\n this.model.getColorScheme(),\n this.model.modelType === 'series' ? this.model.getSpec?.() : undefined\n ),\n (this.model as ISeries).getDefaultColorDomain()\n );\n // 默认配置处理\n const mergedStyle = {\n ...DEFAULT_GRADIENT_CONFIG[gradient],\n ...rest\n };\n return (data: Datum, opt: IAttributeOpt) => {\n const computeStyle: any = {};\n const markData = this.getDataView();\n Object.keys(mergedStyle).forEach(key => {\n const value = mergedStyle[key];\n if (key === 'stops') {\n computeStyle.stops = value.map((stop: GradientStop) => {\n const { opacity, color, offset } = stop;\n let computeColor = color ?? colorScale?.scale(data[colorField]);\n if (isFunction(color)) {\n computeColor = color(data, this._attributeContext, opt, markData);\n }\n\n if (isValid(opacity)) {\n computeColor = Color.SetOpacity(computeColor as string, opacity);\n }\n\n return {\n offset: isFunction(offset) ? offset(data, this._attributeContext, opt, markData) : offset,\n color: computeColor || themeColor[0]\n };\n });\n } else if (isFunction(value)) {\n computeStyle[key] = value(data, this._attributeContext, opt, markData);\n } else {\n computeStyle[key] = value;\n }\n });\n\n computeStyle.gradient = gradient;\n\n return computeStyle;\n };\n }\n\n private _computeBorderAttr(borderStyle: any) {\n const { scale, field, ...mergedStyle } = borderStyle;\n\n return (data: Datum, opt: IAttributeOpt) => {\n const computeStyle: any = {};\n\n Object.keys(mergedStyle).forEach(key => {\n const value = mergedStyle[key];\n if (isFunction(value)) {\n computeStyle[key] = value(data, this._attributeContext, opt, this.getDataView());\n } else {\n computeStyle[key] = value;\n }\n });\n if (!('stroke' in computeStyle)) {\n const themeColor = computeActualDataScheme(\n getDataScheme(\n this.model.getColorScheme(),\n this.model.modelType === 'series' ? this.model.getSpec?.() : undefined\n ),\n (this.model as ISeries).getDefaultColorDomain()\n );\n let colorScale = scale;\n let colorField = field;\n if ((!scale || !field) && this.model.modelType === 'series') {\n // 目前只有series有这个属性\n const { scale: globalColorScale, field: globalField } = (this.model as BaseSeries<any>).getColorAttribute();\n if (!scale) {\n // 获取全局的 colorScale\n colorScale = globalColorScale;\n }\n if (!colorField) {\n colorField = globalField;\n }\n computeStyle.stroke = colorScale?.scale(data[colorField]) || themeColor[0];\n }\n } else if (GradientType.includes(mergedStyle.stroke?.gradient)) {\n computeStyle.stroke = this._computeGradientAttr(mergedStyle.stroke)(data, opt);\n }\n return computeStyle;\n };\n }\n}\n"]}
@@ -13,10 +13,9 @@ import { Arc3dMark } from './arc-3d';
13
13
  import { ComponentMark } from './component';
14
14
  import { LinkPathMark } from './link-path';
15
15
  import { RippleMark } from './ripple';
16
- import { ProgressArcMark } from './progress-arc';
17
16
  import { CellMark } from './cell';
18
17
  import { BaseMark } from './base';
19
18
  import { PolygonMark } from './polygon/polygon';
20
19
  import { Pyramid3dMark } from './polygon/pyramid-3d';
21
- export type { IBoxPlotMarkSpec, ILineMarkSpec, ISymbolMarkSpec, IGroupMarkSpec, IRuleMarkSpec, ITextMarkSpec, IAreaMarkSpec, IRect3dMarkSpec, IRectMarkSpec, IPathMarkSpec, IArcMarkSpec, IArc3dMarkSpec, ICommonSpec, IPolygonMarkSpec, IPyramid3dMarkSpec, ILinkPathMarkSpec, IRippleMarkSpec, IProgressArcMarkSpec, ConvertToMarkStyleSpec, ICellMarkSpec } from '../typings/visual';
22
- export { BoxPlotMark, LineMark, SymbolMark, GroupMark, RuleMark, TextMark, AreaMark, Rect3dMark, RectMark, PathMark, Arc3dMark, ArcMark, ComponentMark, PolygonMark, Pyramid3dMark, LinkPathMark, RippleMark, ProgressArcMark, CellMark, BaseMark };
20
+ export type { IBoxPlotMarkSpec, ILineMarkSpec, ISymbolMarkSpec, IGroupMarkSpec, IRuleMarkSpec, ITextMarkSpec, IAreaMarkSpec, IRect3dMarkSpec, IRectMarkSpec, IPathMarkSpec, IArcMarkSpec, IArc3dMarkSpec, ICommonSpec, IPolygonMarkSpec, IPyramid3dMarkSpec, ILinkPathMarkSpec, IRippleMarkSpec, ConvertToMarkStyleSpec, ICellMarkSpec } from '../typings/visual';
21
+ export { BoxPlotMark, LineMark, SymbolMark, GroupMark, RuleMark, TextMark, AreaMark, Rect3dMark, RectMark, PathMark, Arc3dMark, ArcMark, ComponentMark, PolygonMark, Pyramid3dMark, LinkPathMark, RippleMark, CellMark, BaseMark };
package/cjs/mark/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
- }), exports.BaseMark = exports.CellMark = exports.ProgressArcMark = exports.RippleMark = exports.LinkPathMark = exports.Pyramid3dMark = exports.PolygonMark = exports.ComponentMark = exports.ArcMark = exports.Arc3dMark = exports.PathMark = exports.RectMark = exports.Rect3dMark = exports.AreaMark = exports.TextMark = exports.RuleMark = exports.GroupMark = exports.SymbolMark = exports.LineMark = exports.BoxPlotMark = void 0;
5
+ }), exports.BaseMark = exports.CellMark = exports.RippleMark = exports.LinkPathMark = exports.Pyramid3dMark = exports.PolygonMark = exports.ComponentMark = exports.ArcMark = exports.Arc3dMark = exports.PathMark = exports.RectMark = exports.Rect3dMark = exports.AreaMark = exports.TextMark = exports.RuleMark = exports.GroupMark = exports.SymbolMark = exports.LineMark = exports.BoxPlotMark = void 0;
6
6
 
7
7
  const box_plot_1 = require("./box-plot");
8
8
 
@@ -139,15 +139,6 @@ Object.defineProperty(exports, "RippleMark", {
139
139
  }
140
140
  });
141
141
 
142
- const progress_arc_1 = require("./progress-arc");
143
-
144
- Object.defineProperty(exports, "ProgressArcMark", {
145
- enumerable: !0,
146
- get: function() {
147
- return progress_arc_1.ProgressArcMark;
148
- }
149
- });
150
-
151
142
  const cell_1 = require("./cell");
152
143
 
153
144
  Object.defineProperty(exports, "CellMark", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/index.ts"],"names":[],"mappings":";;;AAIA,yCAAyC;AA6CvC,4FA7CO,sBAAW,OA6CP;AA5Cb,iCAAkC;AA6ChC,yFA7CO,eAAQ,OA6CP;AA5CV,qCAAsC;AA6CpC,2FA7CO,mBAAU,OA6CP;AA5CZ,mCAAoC;AA6ClC,0FA7CO,iBAAS,OA6CP;AA5CX,iCAAkC;AA6ChC,yFA7CO,eAAQ,OA6CP;AA5CV,iCAAkC;AA6ChC,yFA7CO,eAAQ,OA6CP;AA5CV,iCAAkC;AA6ChC,yFA7CO,eAAQ,OA6CP;AA5CV,iCAAkC;AA8ChC,yFA9CO,eAAQ,OA8CP;AA7CV,uCAAuC;AA4CrC,2FA5CO,oBAAU,OA4CP;AA3CZ,iCAAkC;AA6ChC,yFA7CO,eAAQ,OA6CP;AA5CV,+BAAgC;AA8C9B,wFA9CO,aAAO,OA8CP;AA7CT,qCAAqC;AA4CnC,0FA5CO,kBAAS,OA4CP;AA3CX,2CAA4C;AA6C1C,8FA7CO,yBAAa,OA6CP;AA5Cf,2CAA2C;AA+CzC,6FA/CO,wBAAY,OA+CP;AA9Cd,qCAAsC;AA+CpC,2FA/CO,mBAAU,OA+CP;AA9CZ,iDAAiD;AA+C/C,gGA/CO,8BAAe,OA+CP;AA9CjB,iCAAkC;AA+ChC,yFA/CO,eAAQ,OA+CP;AA9CV,iCAAkC;AA+ChC,yFA/CO,eAAQ,OA+CP;AA9CV,+CAAgD;AAwC9C,4FAxCO,qBAAW,OAwCP;AAvCb,qDAAqD;AAwCnD,8FAxCO,0BAAa,OAwCP","file":"index.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\n/**\n * @description export all mark modules\n */\nimport { BoxPlotMark } from './box-plot';\nimport { LineMark } from './line';\nimport { SymbolMark } from './symbol';\nimport { GroupMark } from './group';\nimport { RuleMark } from './rule';\nimport { TextMark } from './text';\nimport { AreaMark } from './area';\nimport { RectMark } from './rect';\nimport { Rect3dMark } from './rect-3d';\nimport { PathMark } from './path';\nimport { ArcMark } from './arc';\nimport { Arc3dMark } from './arc-3d';\nimport { ComponentMark } from './component';\nimport { LinkPathMark } from './link-path';\nimport { RippleMark } from './ripple';\nimport { ProgressArcMark } from './progress-arc';\nimport { CellMark } from './cell';\nimport { BaseMark } from './base';\nimport { PolygonMark } from './polygon/polygon';\nimport { Pyramid3dMark } from './polygon/pyramid-3d';\n\nexport type {\n IBoxPlotMarkSpec,\n ILineMarkSpec,\n ISymbolMarkSpec,\n IGroupMarkSpec,\n IRuleMarkSpec,\n ITextMarkSpec,\n IAreaMarkSpec,\n IRect3dMarkSpec,\n IRectMarkSpec,\n IPathMarkSpec,\n IArcMarkSpec,\n IArc3dMarkSpec,\n ICommonSpec,\n IPolygonMarkSpec,\n IPyramid3dMarkSpec,\n ILinkPathMarkSpec,\n IRippleMarkSpec,\n IProgressArcMarkSpec,\n ConvertToMarkStyleSpec,\n ICellMarkSpec\n} from '../typings/visual';\n\nexport {\n BoxPlotMark,\n LineMark,\n SymbolMark,\n GroupMark,\n RuleMark,\n TextMark,\n AreaMark,\n Rect3dMark,\n RectMark,\n PathMark,\n Arc3dMark,\n ArcMark,\n ComponentMark,\n PolygonMark,\n Pyramid3dMark,\n LinkPathMark,\n RippleMark,\n ProgressArcMark,\n CellMark,\n BaseMark\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/index.ts"],"names":[],"mappings":";;;AAIA,yCAAyC;AA2CvC,4FA3CO,sBAAW,OA2CP;AA1Cb,iCAAkC;AA2ChC,yFA3CO,eAAQ,OA2CP;AA1CV,qCAAsC;AA2CpC,2FA3CO,mBAAU,OA2CP;AA1CZ,mCAAoC;AA2ClC,0FA3CO,iBAAS,OA2CP;AA1CX,iCAAkC;AA2ChC,yFA3CO,eAAQ,OA2CP;AA1CV,iCAAkC;AA2ChC,yFA3CO,eAAQ,OA2CP;AA1CV,iCAAkC;AA2ChC,yFA3CO,eAAQ,OA2CP;AA1CV,iCAAkC;AA4ChC,yFA5CO,eAAQ,OA4CP;AA3CV,uCAAuC;AA0CrC,2FA1CO,oBAAU,OA0CP;AAzCZ,iCAAkC;AA2ChC,yFA3CO,eAAQ,OA2CP;AA1CV,+BAAgC;AA4C9B,wFA5CO,aAAO,OA4CP;AA3CT,qCAAqC;AA0CnC,0FA1CO,kBAAS,OA0CP;AAzCX,2CAA4C;AA2C1C,8FA3CO,yBAAa,OA2CP;AA1Cf,2CAA2C;AA6CzC,6FA7CO,wBAAY,OA6CP;AA5Cd,qCAAsC;AA6CpC,2FA7CO,mBAAU,OA6CP;AA5CZ,iCAAkC;AA6ChC,yFA7CO,eAAQ,OA6CP;AA5CV,iCAAkC;AA6ChC,yFA7CO,eAAQ,OA6CP;AA5CV,+CAAgD;AAuC9C,4FAvCO,qBAAW,OAuCP;AAtCb,qDAAqD;AAuCnD,8FAvCO,0BAAa,OAuCP","file":"index.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\n/**\n * @description export all mark modules\n */\nimport { BoxPlotMark } from './box-plot';\nimport { LineMark } from './line';\nimport { SymbolMark } from './symbol';\nimport { GroupMark } from './group';\nimport { RuleMark } from './rule';\nimport { TextMark } from './text';\nimport { AreaMark } from './area';\nimport { RectMark } from './rect';\nimport { Rect3dMark } from './rect-3d';\nimport { PathMark } from './path';\nimport { ArcMark } from './arc';\nimport { Arc3dMark } from './arc-3d';\nimport { ComponentMark } from './component';\nimport { LinkPathMark } from './link-path';\nimport { RippleMark } from './ripple';\nimport { CellMark } from './cell';\nimport { BaseMark } from './base';\nimport { PolygonMark } from './polygon/polygon';\nimport { Pyramid3dMark } from './polygon/pyramid-3d';\n\nexport type {\n IBoxPlotMarkSpec,\n ILineMarkSpec,\n ISymbolMarkSpec,\n IGroupMarkSpec,\n IRuleMarkSpec,\n ITextMarkSpec,\n IAreaMarkSpec,\n IRect3dMarkSpec,\n IRectMarkSpec,\n IPathMarkSpec,\n IArcMarkSpec,\n IArc3dMarkSpec,\n ICommonSpec,\n IPolygonMarkSpec,\n IPyramid3dMarkSpec,\n ILinkPathMarkSpec,\n IRippleMarkSpec,\n ConvertToMarkStyleSpec,\n ICellMarkSpec\n} from '../typings/visual';\n\nexport {\n BoxPlotMark,\n LineMark,\n SymbolMark,\n GroupMark,\n RuleMark,\n TextMark,\n AreaMark,\n Rect3dMark,\n RectMark,\n PathMark,\n Arc3dMark,\n ArcMark,\n ComponentMark,\n PolygonMark,\n Pyramid3dMark,\n LinkPathMark,\n RippleMark,\n CellMark,\n BaseMark\n};\n"]}
@@ -16,7 +16,6 @@ export declare const enum MarkTypeEnum {
16
16
  pyramid3d = "pyramid3d",
17
17
  boxPlot = "boxPlot",
18
18
  linkPath = "linkPath",
19
- progressArc = "progressArc",
20
19
  cell = "cell",
21
20
  ripple = "ripple",
22
21
  liquid = "liquid",
@@ -10,8 +10,7 @@ Object.defineProperty(exports, "__esModule", {
10
10
  MarkTypeEnum.rect3d = "rect3d", MarkTypeEnum.image = "image", MarkTypeEnum.path = "path",
11
11
  MarkTypeEnum.area = "area", MarkTypeEnum.arc = "arc", MarkTypeEnum.arc3d = "arc3d",
12
12
  MarkTypeEnum.polygon = "polygon", MarkTypeEnum.pyramid3d = "pyramid3d", MarkTypeEnum.boxPlot = "boxPlot",
13
- MarkTypeEnum.linkPath = "linkPath", MarkTypeEnum.progressArc = "progressArc", MarkTypeEnum.cell = "cell",
14
- MarkTypeEnum.ripple = "ripple", MarkTypeEnum.liquid = "liquid", MarkTypeEnum.component = "component",
15
- MarkTypeEnum.label = "label";
13
+ MarkTypeEnum.linkPath = "linkPath", MarkTypeEnum.cell = "cell", MarkTypeEnum.ripple = "ripple",
14
+ MarkTypeEnum.liquid = "liquid", MarkTypeEnum.component = "component", MarkTypeEnum.label = "label";
16
15
  }(MarkTypeEnum = exports.MarkTypeEnum || (exports.MarkTypeEnum = {}));
17
16
  //# sourceMappingURL=type.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/interface/type.ts"],"names":[],"mappings":";;;AAEA,IAAkB,YAyBjB;AAzBD,WAAkB,YAAY;IAC5B,+BAAe,CAAA;IAEf,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,2BAAW,CAAA;IACX,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,2CAA2B,CAAA;IAC3B,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IAEjB,uCAAuB,CAAA;IACvB,+BAAe,CAAA;AACjB,CAAC,EAzBiB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAyB7B","file":"type.js","sourcesContent":["export type MarkType = keyof typeof MarkTypeEnum | string;\n\nexport const enum MarkTypeEnum {\n group = 'group',\n\n symbol = 'symbol',\n rule = 'rule',\n line = 'line',\n text = 'text',\n rect = 'rect',\n rect3d = 'rect3d',\n image = 'image',\n path = 'path',\n area = 'area',\n arc = 'arc',\n arc3d = 'arc3d',\n polygon = 'polygon',\n pyramid3d = 'pyramid3d',\n boxPlot = 'boxPlot',\n linkPath = 'linkPath',\n progressArc = 'progressArc',\n cell = 'cell',\n ripple = 'ripple',\n liquid = 'liquid',\n\n component = 'component',\n label = 'label'\n}\n"]}
1
+ {"version":3,"sources":["../src/mark/interface/type.ts"],"names":[],"mappings":";;;AAEA,IAAkB,YAwBjB;AAxBD,WAAkB,YAAY;IAC5B,+BAAe,CAAA;IAEf,iCAAiB,CAAA;IACjB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,2BAAW,CAAA;IACX,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IAEjB,uCAAuB,CAAA;IACvB,+BAAe,CAAA;AACjB,CAAC,EAxBiB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAwB7B","file":"type.js","sourcesContent":["export type MarkType = keyof typeof MarkTypeEnum | string;\n\nexport const enum MarkTypeEnum {\n group = 'group',\n\n symbol = 'symbol',\n rule = 'rule',\n line = 'line',\n text = 'text',\n rect = 'rect',\n rect3d = 'rect3d',\n image = 'image',\n path = 'path',\n area = 'area',\n arc = 'arc',\n arc3d = 'arc3d',\n polygon = 'polygon',\n pyramid3d = 'pyramid3d',\n boxPlot = 'boxPlot',\n linkPath = 'linkPath',\n cell = 'cell',\n ripple = 'ripple',\n liquid = 'liquid',\n\n component = 'component',\n label = 'label'\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { IComponentMark } from './component';
2
2
  import type { IMark } from './interface/common';
3
3
  import { MarkTypeEnum } from './interface/type';
4
- import { TextMark } from './text';
4
+ import { ITextMark, TextMark } from './text';
5
5
  export declare class LabelMark extends TextMark implements ILabelMark {
6
6
  static readonly type = MarkTypeEnum.text;
7
7
  static readonly constructorType = MarkTypeEnum.label;
@@ -16,7 +16,7 @@ export declare class LabelMark extends TextMark implements ILabelMark {
16
16
  getComponent(): IMark;
17
17
  setComponent(component: IMark): void;
18
18
  }
19
- export interface ILabelMark extends IMark {
19
+ export interface ILabelMark extends ITextMark {
20
20
  skipEncode: boolean;
21
21
  getRule: () => string;
22
22
  setRule: (rule: string) => void;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/label.ts"],"names":[],"mappings":";;;AAAA,2DAA8D;AAC9D,+CAA4C;AAI5C,iCAAkC;AAElC,MAAa,SAAU,SAAQ,eAAQ;IAAvC;;QAIE,eAAU,GAAG,KAAK,CAAC;IA4BrB,CAAC;IAzBC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAGD,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,SAAS,CAAC,MAAa;QACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC;IAGD,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,YAAY,CAAC,SAAgB;QAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;;AA/BH,8BAgCC;AA/BiB,cAAI,UAAqB;AACzB,yBAAe,WAAsB;AA6ChD,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,iBAAO,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAC3D,IAAA,mCAAmB,GAAE,CAAC;AACxB,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B","file":"label.js","sourcesContent":["import { registerTextGraphic } from '@visactor/vgrammar-core';\nimport { Factory } from './../core/factory';\nimport type { IComponentMark } from './component';\nimport type { IMark } from './interface/common';\nimport { MarkTypeEnum } from './interface/type';\nimport { TextMark } from './text';\n\nexport class LabelMark extends TextMark implements ILabelMark {\n static readonly type = MarkTypeEnum.text;\n static readonly constructorType = MarkTypeEnum.label;\n\n skipEncode = false;\n\n private _rule: string;\n getRule() {\n return this._rule;\n }\n setRule(rule: string) {\n this._rule = rule;\n }\n\n private _target: IMark;\n getTarget() {\n return this._target;\n }\n setTarget(target: IMark) {\n this._target = target;\n if (!this._rule) {\n this.setRule(target.type);\n }\n }\n\n private _component: IMark;\n getComponent() {\n return this._component;\n }\n setComponent(component: IMark) {\n this._component = component;\n }\n}\n\nexport interface ILabelMark extends IMark {\n skipEncode: boolean;\n\n getRule: () => string;\n setRule: (rule: string) => void;\n\n getTarget: () => IMark;\n setTarget: (target: IMark) => void;\n\n getComponent: () => IComponentMark;\n setComponent: (component: IComponentMark) => void;\n}\n\nexport const registerLabelMark = () => {\n Factory.registerMark(LabelMark.constructorType, LabelMark);\n registerTextGraphic();\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/label.ts"],"names":[],"mappings":";;;AAAA,2DAA8D;AAC9D,+CAA4C;AAI5C,iCAA6C;AAE7C,MAAa,SAAU,SAAQ,eAAQ;IAAvC;;QAIE,eAAU,GAAG,KAAK,CAAC;IA4BrB,CAAC;IAzBC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAGD,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,SAAS,CAAC,MAAa;QACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC;IAGD,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,YAAY,CAAC,SAAgB;QAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;;AA/BH,8BAgCC;AA/BiB,cAAI,UAAqB;AACzB,yBAAe,WAAsB;AA6ChD,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,iBAAO,CAAC,YAAY,CAAC,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAC3D,IAAA,mCAAmB,GAAE,CAAC;AACxB,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B","file":"label.js","sourcesContent":["import { registerTextGraphic } from '@visactor/vgrammar-core';\nimport { Factory } from './../core/factory';\nimport type { IComponentMark } from './component';\nimport type { IMark } from './interface/common';\nimport { MarkTypeEnum } from './interface/type';\nimport { ITextMark, TextMark } from './text';\n\nexport class LabelMark extends TextMark implements ILabelMark {\n static readonly type = MarkTypeEnum.text;\n static readonly constructorType = MarkTypeEnum.label;\n\n skipEncode = false;\n\n private _rule: string;\n getRule() {\n return this._rule;\n }\n setRule(rule: string) {\n this._rule = rule;\n }\n\n private _target: IMark;\n getTarget() {\n return this._target;\n }\n setTarget(target: IMark) {\n this._target = target;\n if (!this._rule) {\n this.setRule(target.type);\n }\n }\n\n private _component: IMark;\n getComponent() {\n return this._component;\n }\n setComponent(component: IMark) {\n this._component = component;\n }\n}\n\nexport interface ILabelMark extends ITextMark {\n skipEncode: boolean;\n\n getRule: () => string;\n setRule: (rule: string) => void;\n\n getTarget: () => IMark;\n setTarget: (target: IMark) => void;\n\n getComponent: () => IComponentMark;\n setComponent: (component: IComponentMark) => void;\n}\n\nexport const registerLabelMark = () => {\n Factory.registerMark(LabelMark.constructorType, LabelMark);\n registerTextGraphic();\n};\n"]}
@@ -1,13 +1,22 @@
1
- import type { ITextMarkSpec } from '../typings/visual';
1
+ import type { IComposedTextMarkSpec } from '../typings/visual';
2
2
  import { BaseMark } from './base/base-mark';
3
- import type { IMarkRaw, IMarkStyle } from './interface';
3
+ import type { IMarkOption, IMarkRaw, IMarkStyle } from './interface';
4
4
  import { MarkTypeEnum } from './interface';
5
- import type { IGroupMark } from '@visactor/vgrammar-core';
6
- export type ITextMark = IMarkRaw<ITextMarkSpec>;
7
- export declare class TextMark extends BaseMark<ITextMarkSpec> implements ITextMark {
5
+ import { IMarkSpec } from '../typings/spec/common';
6
+ export type ITextMark = IMarkRaw<IComposedTextMarkSpec> & {
7
+ getTextType: () => 'text' | 'rich';
8
+ };
9
+ export type ITextSpec<T> = IMarkSpec<T> & {
10
+ textType?: 'rich' | 'text';
11
+ };
12
+ export declare class TextMark extends BaseMark<IComposedTextMarkSpec> implements ITextMark {
8
13
  static readonly type = MarkTypeEnum.text;
9
14
  readonly type = MarkTypeEnum.text;
10
- protected _getDefaultStyle(): IMarkStyle<ITextMarkSpec>;
11
- protected _initProduct(group?: string | IGroupMark): void;
15
+ protected _textType: 'text' | 'rich';
16
+ getTextType(): "text" | "rich";
17
+ constructor(name: string, option: IMarkOption);
18
+ protected _getDefaultStyle(): IMarkStyle<IComposedTextMarkSpec>;
19
+ initStyleWithSpec(spec: ITextSpec<IComposedTextMarkSpec>, key?: string): void;
20
+ compileEncode(): void;
12
21
  }
13
22
  export declare const registerTextMark: () => void;
package/cjs/mark/text.js CHANGED
@@ -7,8 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const factory_1 = require("./../core/factory"), base_mark_1 = require("./base/base-mark"), vgrammar_core_1 = require("@visactor/vgrammar-core");
8
8
 
9
9
  class TextMark extends base_mark_1.BaseMark {
10
- constructor() {
11
- super(...arguments), this.type = TextMark.type;
10
+ getTextType() {
11
+ return this._textType;
12
+ }
13
+ constructor(name, option) {
14
+ super(name, option), this.type = TextMark.type, this._textType = "text";
12
15
  }
13
16
  _getDefaultStyle() {
14
17
  return Object.assign(Object.assign({}, super._getDefaultStyle()), {
@@ -18,10 +21,13 @@ class TextMark extends base_mark_1.BaseMark {
18
21
  textConfig: []
19
22
  });
20
23
  }
21
- _initProduct(group) {
22
- const view = this.getVGrammarView(), id = this.getProductId();
23
- "rich" === this.getStyle("textType") ? this._product = view.mark(vgrammar_core_1.GrammarMarkType.richtext, null != group ? group : view.rootMark).id(id) : this._product = view.mark(vgrammar_core_1.GrammarMarkType.text, null != group ? group : view.rootMark).id(id),
24
- this._compiledProductId = id;
24
+ initStyleWithSpec(spec, key) {
25
+ super.initStyleWithSpec(spec, key), spec.textType && (this._textType = spec.textType);
26
+ }
27
+ compileEncode() {
28
+ super.compileEncode(), "rich" === this._textType && this._product.encodeState("group", {
29
+ textType: this._textType
30
+ });
25
31
  }
26
32
  }
27
33
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/text.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,gDAA4C;AAI5C,2DAAwG;AAKxG,MAAa,QAAS,SAAQ,oBAAuB;IAArD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IA4BhC,CAAC;IA1BW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAE3B,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,EAAE,GACf,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,YAAY,CAAC,KAA2B;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAGpC,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAE/B,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE;YACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,+BAAe,CAAC,QAA2B,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACvG;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,+BAAe,CAAC,IAAuB,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACnG;QAED,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC/B,CAAC;;AA7BH,4BA8BC;AA7BiB,aAAI,UAAqB;AA+BpC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,iBAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAA,mCAAmB,GAAE,CAAC;IACtB,IAAA,uCAAuB,GAAE,CAAC;AAC5B,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B","file":"text.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { ITextMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface';\nimport { GrammarMarkType, registerRichTextGraphic, registerTextGraphic } from '@visactor/vgrammar-core';\nimport type { IGroupMark } from '@visactor/vgrammar-core';\n\nexport type ITextMark = IMarkRaw<ITextMarkSpec>;\n\nexport class TextMark extends BaseMark<ITextMarkSpec> implements ITextMark {\n static readonly type = MarkTypeEnum.text;\n readonly type = TextMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ITextMarkSpec> = {\n ...super._getDefaultStyle(),\n // TODO: 删除后会有显示问题,待排查\n angle: 0,\n textAlign: 'center',\n lineWidth: 0,\n textConfig: []\n };\n return defaultStyle;\n }\n\n protected _initProduct(group?: string | IGroupMark) {\n const view = this.getVGrammarView();\n\n // 声明语法元素\n const id = this.getProductId();\n\n if (this.getStyle('textType') === 'rich') {\n this._product = view.mark(GrammarMarkType.richtext as GrammarMarkType, group ?? view.rootMark).id(id);\n } else {\n this._product = view.mark(GrammarMarkType.text as GrammarMarkType, group ?? view.rootMark).id(id);\n }\n\n this._compiledProductId = id;\n }\n}\n\nexport const registerTextMark = () => {\n Factory.registerMark(TextMark.type, TextMark);\n registerTextGraphic();\n registerRichTextGraphic();\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/text.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,gDAA4C;AAI5C,2DAAuF;AAOvF,MAAa,QAAS,SAAQ,oBAA+B;IAK3D,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,YAAY,IAAY,EAAE,MAAmB;QAC3C,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QARb,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAEpB,cAAS,GAAoB,MAAM,CAAC;IAO9C,CAAC;IAES,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAE3B,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,EAAE,GACf,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,iBAAiB,CAAC,IAAsC,EAAE,GAAY;QACpE,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;SAChC;IACH,CAAC;IAED,aAAa;QACX,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;SAClE;IACH,CAAC;;AArCH,4BAsCC;AArCiB,aAAI,UAAqB;AAuCpC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,iBAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAA,mCAAmB,GAAE,CAAC;IACtB,IAAA,uCAAuB,GAAE,CAAC;AAC5B,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B","file":"text.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IComposedTextMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkOption, IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface';\nimport { registerRichTextGraphic, registerTextGraphic } from '@visactor/vgrammar-core';\nimport { IMarkSpec } from '../typings/spec/common';\n\nexport type ITextMark = IMarkRaw<IComposedTextMarkSpec> & { getTextType: () => 'text' | 'rich' };\n\nexport type ITextSpec<T> = IMarkSpec<T> & { textType?: 'rich' | 'text' };\n\nexport class TextMark extends BaseMark<IComposedTextMarkSpec> implements ITextMark {\n static readonly type = MarkTypeEnum.text;\n readonly type = TextMark.type;\n\n protected _textType: 'text' | 'rich' = 'text';\n getTextType() {\n return this._textType;\n }\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IComposedTextMarkSpec> = {\n ...super._getDefaultStyle(),\n // TODO: 删除后会有显示问题,待排查\n angle: 0,\n textAlign: 'center',\n lineWidth: 0,\n textConfig: []\n };\n return defaultStyle;\n }\n\n initStyleWithSpec(spec: ITextSpec<IComposedTextMarkSpec>, key?: string) {\n super.initStyleWithSpec(spec, key);\n if (spec.textType) {\n this._textType = spec.textType;\n }\n }\n\n compileEncode() {\n super.compileEncode();\n if (this._textType === 'rich') {\n this._product.encodeState('group', { textType: this._textType });\n }\n }\n}\n\nexport const registerTextMark = () => {\n Factory.registerMark(TextMark.type, TextMark);\n registerTextGraphic();\n registerRichTextGraphic();\n};\n"]}
@@ -0,0 +1,28 @@
1
+ import { BasePlugin } from '../../base/base-plugin';
2
+ import { IChartPlugin, IChartPluginService } from '../interface';
3
+ export declare class FormatterPlugin extends BasePlugin implements IChartPlugin {
4
+ static readonly pluginType: 'chart';
5
+ static readonly specKey = "formatter";
6
+ static readonly type: string;
7
+ readonly type: string;
8
+ private readonly _timeModeFormat;
9
+ protected _spec: {
10
+ timeMode: 'utc' | 'local';
11
+ customFormatter: (specifier: string, text: string | number | string[] | number[], datum: any) => string | string[];
12
+ numericFormatter: (specifier: string, text: string | number | string[] | number[]) => string;
13
+ timeFormatter: (specifier: string, text: string | number | string[] | number[]) => string;
14
+ };
15
+ protected _formatter: (text: string | number | string[] | number[], datum: any, formatter: string | string[]) => string | number | (string | number)[];
16
+ private _timeFormatter;
17
+ private _numericFormatter;
18
+ private _numericSpecifier;
19
+ private _numericFormatterCache;
20
+ private _isNumericFormatterCache;
21
+ constructor();
22
+ onInit(service: IChartPluginService, chartSpec: any): void;
23
+ protected _format(text: string | number | string[] | number[], datum: any, formatter: string | string[]): string | number | (string | number)[];
24
+ protected _formatSingleLine(text: string | number, datum: any, formatter: string): string | number;
25
+ protected _formatSingleText(text: string | number, formatter: string): string | number;
26
+ dispose(): void;
27
+ }
28
+ export declare const registerFormatPlugin: () => void;