@visactor/vchart 1.10.0-alpha.4 → 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 (553) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +32729 -32038
  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/base/base-chart-transformer.js +7 -9
  8. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  9. package/cjs/chart/base/base-chart.d.ts +1 -1
  10. package/cjs/chart/base/base-chart.js.map +1 -1
  11. package/cjs/chart/interface/chart.d.ts +1 -1
  12. package/cjs/chart/interface/chart.js.map +1 -1
  13. package/cjs/chart/progress/circular/circular-progress-transformer.js +2 -0
  14. package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  15. package/cjs/compile/compiler.d.ts +1 -1
  16. package/cjs/compile/compiler.js +3 -3
  17. package/cjs/compile/compiler.js.map +1 -1
  18. package/cjs/compile/mark/interface.js.map +1 -1
  19. package/cjs/component/axis/base-axis.d.ts +9 -6
  20. package/cjs/component/axis/base-axis.js +37 -6
  21. package/cjs/component/axis/base-axis.js.map +1 -1
  22. package/cjs/component/axis/cartesian/axis.d.ts +1 -5
  23. package/cjs/component/axis/cartesian/axis.js +9 -31
  24. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  25. package/cjs/component/axis/cartesian/time-axis.d.ts +1 -1
  26. package/cjs/component/axis/cartesian/time-axis.js +3 -3
  27. package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
  28. package/cjs/component/axis/cartesian/util/index.d.ts +0 -1
  29. package/cjs/component/axis/cartesian/util/index.js +1 -1
  30. package/cjs/component/axis/cartesian/util/index.js.map +1 -1
  31. package/cjs/component/axis/interface/common.d.ts +2 -1
  32. package/cjs/component/axis/interface/common.js.map +1 -1
  33. package/cjs/component/axis/interface/spec.d.ts +2 -0
  34. package/cjs/component/axis/interface/spec.js.map +1 -1
  35. package/cjs/component/axis/polar/axis.d.ts +1 -5
  36. package/cjs/component/axis/polar/axis.js +5 -23
  37. package/cjs/component/axis/polar/axis.js.map +1 -1
  38. package/cjs/component/base/util.d.ts +5 -0
  39. package/cjs/component/base/util.js +24 -16
  40. package/cjs/component/base/util.js.map +1 -1
  41. package/cjs/component/crosshair/base.d.ts +4 -1
  42. package/cjs/component/crosshair/base.js +1 -10
  43. package/cjs/component/crosshair/base.js.map +1 -1
  44. package/cjs/component/crosshair/cartesian.d.ts +1 -7
  45. package/cjs/component/crosshair/cartesian.js +17 -208
  46. package/cjs/component/crosshair/cartesian.js.map +1 -1
  47. package/cjs/component/crosshair/config.js.map +1 -1
  48. package/cjs/component/crosshair/interface/cartesian.d.ts +46 -0
  49. package/cjs/component/crosshair/interface/cartesian.js +6 -0
  50. package/cjs/component/crosshair/interface/cartesian.js.map +1 -0
  51. package/cjs/component/crosshair/interface/common.d.ts +7 -0
  52. package/cjs/component/crosshair/interface/common.js +6 -0
  53. package/cjs/component/crosshair/interface/common.js.map +1 -0
  54. package/cjs/component/crosshair/interface/index.d.ts +3 -0
  55. package/cjs/component/crosshair/interface/index.js +3 -1
  56. package/cjs/component/crosshair/interface/index.js.map +1 -1
  57. package/cjs/component/crosshair/interface/polar.d.ts +23 -0
  58. package/cjs/component/crosshair/interface/polar.js +6 -0
  59. package/cjs/component/crosshair/interface/polar.js.map +1 -0
  60. package/cjs/component/crosshair/interface/spec.d.ts +1 -0
  61. package/cjs/component/crosshair/interface/spec.js.map +1 -1
  62. package/cjs/component/crosshair/polar.d.ts +2 -2
  63. package/cjs/component/crosshair/polar.js +17 -114
  64. package/cjs/component/crosshair/polar.js.map +1 -1
  65. package/cjs/component/crosshair/utils/cartesian.d.ts +32 -0
  66. package/cjs/component/crosshair/utils/cartesian.js +238 -0
  67. package/cjs/component/crosshair/utils/cartesian.js.map +1 -0
  68. package/{esm/component/crosshair/util.d.ts → cjs/component/crosshair/utils/common.d.ts} +3 -3
  69. package/cjs/component/crosshair/{util.js → utils/common.js} +2 -2
  70. package/cjs/component/crosshair/utils/common.js.map +1 -0
  71. package/cjs/component/crosshair/utils/index.d.ts +1 -0
  72. package/cjs/component/crosshair/utils/index.js +21 -0
  73. package/cjs/component/crosshair/utils/index.js.map +1 -0
  74. package/cjs/component/crosshair/utils/polar.d.ts +37 -0
  75. package/cjs/component/crosshair/utils/polar.js +133 -0
  76. package/cjs/component/crosshair/utils/polar.js.map +1 -0
  77. package/cjs/component/custom-mark/custom-mark.js +2 -1
  78. package/cjs/component/custom-mark/custom-mark.js.map +1 -1
  79. package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  80. package/cjs/component/data-zoom/data-zoom/data-zoom.js +10 -3
  81. package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  82. package/cjs/component/data-zoom/data-zoom/interface.d.ts +4 -5
  83. package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
  84. package/cjs/component/data-zoom/scroll-bar/interface.d.ts +2 -4
  85. package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
  86. package/cjs/component/data-zoom/util.d.ts +0 -4
  87. package/cjs/component/data-zoom/util.js +2 -10
  88. package/cjs/component/data-zoom/util.js.map +1 -1
  89. package/cjs/component/index.d.ts +1 -0
  90. package/cjs/component/index.js +16 -1
  91. package/cjs/component/index.js.map +1 -1
  92. package/cjs/component/interface/theme.d.ts +8 -0
  93. package/cjs/component/interface/theme.js.map +1 -1
  94. package/cjs/component/label/interface.d.ts +1 -1
  95. package/cjs/component/label/interface.js.map +1 -1
  96. package/cjs/component/label/util.js +4 -4
  97. package/cjs/component/label/util.js.map +1 -1
  98. package/cjs/component/legend/continuous/interface.d.ts +6 -12
  99. package/cjs/component/legend/continuous/interface.js.map +1 -1
  100. package/cjs/component/legend/discrete/interface.d.ts +17 -4
  101. package/cjs/component/legend/discrete/interface.js.map +1 -1
  102. package/cjs/component/legend/discrete/legend.d.ts +1 -0
  103. package/cjs/component/legend/discrete/legend.js +11 -2
  104. package/cjs/component/legend/discrete/legend.js.map +1 -1
  105. package/cjs/component/legend/discrete/util.js +6 -4
  106. package/cjs/component/legend/discrete/util.js.map +1 -1
  107. package/cjs/component/legend/util.d.ts +1 -2
  108. package/cjs/component/legend/util.js +2 -6
  109. package/cjs/component/legend/util.js.map +1 -1
  110. package/cjs/component/player/interface/theme.d.ts +1 -1
  111. package/cjs/component/player/interface/theme.js.map +1 -1
  112. package/cjs/component/player/utils/transform.js.map +1 -1
  113. package/cjs/component/tooltip/interface/common.d.ts +2 -2
  114. package/cjs/component/tooltip/interface/common.js.map +1 -1
  115. package/cjs/component/tooltip/interface/event.d.ts +0 -2
  116. package/cjs/component/tooltip/interface/event.js.map +1 -1
  117. package/cjs/component/tooltip/interface/index.d.ts +1 -0
  118. package/cjs/component/tooltip/interface/index.js +1 -1
  119. package/cjs/component/tooltip/interface/index.js.map +1 -1
  120. package/cjs/component/tooltip/interface/spec.d.ts +2 -2
  121. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  122. package/cjs/component/tooltip/interface/theme.d.ts +3 -3
  123. package/cjs/component/tooltip/interface/theme.js.map +1 -1
  124. package/cjs/component/tooltip/processor/dimension-tooltip.js +2 -1
  125. package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  126. package/cjs/component/tooltip/processor/mark-tooltip.js +2 -1
  127. package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
  128. package/cjs/component/tooltip/tooltip.d.ts +3 -3
  129. package/cjs/component/tooltip/tooltip.js +7 -5
  130. package/cjs/component/tooltip/tooltip.js.map +1 -1
  131. package/cjs/component/tooltip/utils/show-tooltip.js +3 -0
  132. package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
  133. package/cjs/component/util.d.ts +8 -0
  134. package/cjs/component/util.js +15 -3
  135. package/cjs/component/util.js.map +1 -1
  136. package/cjs/core/factory.d.ts +3 -0
  137. package/cjs/core/factory.js +6 -0
  138. package/cjs/core/factory.js.map +1 -1
  139. package/cjs/core/index.d.ts +2 -1
  140. package/cjs/core/index.js +3 -2
  141. package/cjs/core/index.js.map +1 -1
  142. package/cjs/core/interface.d.ts +1 -1
  143. package/cjs/core/interface.js.map +1 -1
  144. package/cjs/core/vchart.d.ts +2 -1
  145. package/cjs/core/vchart.js +2 -2
  146. package/cjs/core/vchart.js.map +1 -1
  147. package/cjs/data/initialize.js.map +1 -1
  148. package/cjs/event/events/dimension/interface.d.ts +3 -2
  149. package/cjs/event/events/dimension/interface.js.map +1 -1
  150. package/cjs/event/events/dimension/util/cartesian.js +1 -0
  151. package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
  152. package/cjs/event/events/dimension/util/polar.js +2 -0
  153. package/cjs/event/events/dimension/util/polar.js.map +1 -1
  154. package/cjs/index-lark.js +2 -2
  155. package/cjs/index-lark.js.map +1 -1
  156. package/cjs/index-wx-simple.js +2 -2
  157. package/cjs/index-wx-simple.js.map +1 -1
  158. package/cjs/index-wx.js +2 -2
  159. package/cjs/index-wx.js.map +1 -1
  160. package/cjs/index.d.ts +1 -0
  161. package/cjs/index.js +1 -1
  162. package/cjs/index.js.map +1 -1
  163. package/cjs/mark/arc.js +3 -1
  164. package/cjs/mark/arc.js.map +1 -1
  165. package/cjs/mark/base/base-mark.d.ts +3 -3
  166. package/cjs/mark/base/base-mark.js +20 -13
  167. package/cjs/mark/base/base-mark.js.map +1 -1
  168. package/cjs/mark/index.d.ts +2 -3
  169. package/cjs/mark/index.js +1 -10
  170. package/cjs/mark/index.js.map +1 -1
  171. package/cjs/mark/interface/type.d.ts +0 -1
  172. package/cjs/mark/interface/type.js +2 -3
  173. package/cjs/mark/interface/type.js.map +1 -1
  174. package/cjs/plugin/chart/formatter/formatter.d.ts +28 -0
  175. package/cjs/plugin/chart/formatter/formatter.js +74 -0
  176. package/cjs/plugin/chart/formatter/formatter.js.map +1 -0
  177. package/cjs/plugin/chart/formatter/index.d.ts +1 -0
  178. package/cjs/plugin/chart/formatter/index.js +21 -0
  179. package/cjs/plugin/chart/formatter/index.js.map +1 -0
  180. package/cjs/plugin/components/index.d.ts +2 -5
  181. package/cjs/plugin/components/index.js +16 -7
  182. package/cjs/plugin/components/index.js.map +1 -1
  183. package/cjs/plugin/components/tooltip-handler/base.d.ts +6 -6
  184. package/cjs/plugin/components/tooltip-handler/base.js +112 -51
  185. package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
  186. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.d.ts +2 -2
  187. package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  188. package/cjs/plugin/components/tooltip-handler/constants.d.ts +2 -2
  189. package/cjs/plugin/components/tooltip-handler/constants.js.map +1 -1
  190. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +8 -4
  191. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +31 -9
  192. package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  193. package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.d.ts +2 -2
  194. package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -1
  195. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.d.ts +2 -2
  196. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +2 -3
  197. package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  198. package/cjs/plugin/components/tooltip-handler/dom/model/interface.d.ts +2 -2
  199. package/cjs/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -1
  200. package/cjs/plugin/components/tooltip-handler/utils/attribute.d.ts +2 -2
  201. package/cjs/plugin/components/tooltip-handler/utils/attribute.js +1 -1
  202. package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  203. package/cjs/plugin/components/tooltip-handler/utils/common.d.ts +3 -3
  204. package/cjs/plugin/components/tooltip-handler/utils/common.js +9 -3
  205. package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  206. package/cjs/plugin/components/tooltip-handler/utils/compose.d.ts +2 -2
  207. package/cjs/plugin/components/tooltip-handler/utils/compose.js +9 -8
  208. package/cjs/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  209. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js +12 -9
  210. package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  211. package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +18 -3
  212. package/cjs/plugin/components/tooltip-handler/utils/position.js +49 -8
  213. package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  214. package/cjs/plugin/index.d.ts +1 -0
  215. package/cjs/plugin/index.js +1 -1
  216. package/cjs/plugin/index.js.map +1 -1
  217. package/cjs/series/base/base-series.js +2 -1
  218. package/cjs/series/base/base-series.js.map +1 -1
  219. package/cjs/series/base/tooltip-helper.d.ts +3 -3
  220. package/cjs/series/base/tooltip-helper.js.map +1 -1
  221. package/cjs/series/dot/tooltip-helper.js +2 -2
  222. package/cjs/series/dot/tooltip-helper.js.map +1 -1
  223. package/cjs/series/gauge/constant.js +2 -2
  224. package/cjs/series/gauge/constant.js.map +1 -1
  225. package/cjs/series/gauge/gauge.js +2 -2
  226. package/cjs/series/gauge/gauge.js.map +1 -1
  227. package/cjs/series/gauge/interface.d.ts +3 -3
  228. package/cjs/series/gauge/interface.js.map +1 -1
  229. package/cjs/series/interface/common.d.ts +1 -1
  230. package/cjs/series/interface/common.js.map +1 -1
  231. package/cjs/series/link/tooltip-helper.js +2 -2
  232. package/cjs/series/link/tooltip-helper.js.map +1 -1
  233. package/cjs/series/polar/progress-like/progress-like.js +24 -26
  234. package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
  235. package/cjs/series/progress/circular/circular.js +3 -4
  236. package/cjs/series/progress/circular/circular.js.map +1 -1
  237. package/cjs/series/progress/circular/constant.js +2 -2
  238. package/cjs/series/progress/circular/constant.js.map +1 -1
  239. package/cjs/series/progress/circular/interface.d.ts +5 -5
  240. package/cjs/series/progress/circular/interface.js.map +1 -1
  241. package/cjs/series/range-area/tooltip-helper.js.map +1 -1
  242. package/cjs/series/sankey/tooltip-helper.js.map +1 -1
  243. package/cjs/series/sunburst/sunburst.d.ts +1 -1
  244. package/cjs/series/word-cloud/interface.js.map +1 -1
  245. package/cjs/theme/builtin/common/mark.js +2 -1
  246. package/cjs/theme/builtin/common/mark.js.map +1 -1
  247. package/cjs/theme/builtin/common/series/box-plot.js +5 -0
  248. package/cjs/theme/builtin/common/series/box-plot.js.map +1 -1
  249. package/cjs/theme/builtin/common/series/rangeColumn.js +1 -0
  250. package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
  251. package/cjs/theme/builtin/common/series/waterfall.js +4 -1
  252. package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
  253. package/cjs/typings/spec/common.d.ts +4 -3
  254. package/cjs/typings/spec/common.js.map +1 -1
  255. package/cjs/typings/tooltip/line.d.ts +5 -2
  256. package/cjs/typings/tooltip/line.js.map +1 -1
  257. package/cjs/typings/tooltip/position.d.ts +21 -10
  258. package/cjs/typings/tooltip/position.js.map +1 -1
  259. package/cjs/typings/tooltip/shape.d.ts +2 -2
  260. package/cjs/typings/tooltip/shape.js.map +1 -1
  261. package/cjs/typings/tooltip/tooltip.d.ts +8 -8
  262. package/cjs/typings/tooltip/tooltip.js.map +1 -1
  263. package/cjs/typings/visual.d.ts +2 -4
  264. package/cjs/typings/visual.js.map +1 -1
  265. package/cjs/util/index.d.ts +1 -2
  266. package/cjs/util/index.js +2 -2
  267. package/cjs/util/index.js.map +1 -1
  268. package/cjs/vchart-all.js +2 -2
  269. package/cjs/vchart-all.js.map +1 -1
  270. package/cjs/vchart-simple.js +2 -2
  271. package/cjs/vchart-simple.js.map +1 -1
  272. package/esm/animation/utils.js +5 -5
  273. package/esm/animation/utils.js.map +1 -1
  274. package/esm/chart/base/base-chart-transformer.js +7 -9
  275. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  276. package/esm/chart/base/base-chart.d.ts +1 -1
  277. package/esm/chart/base/base-chart.js.map +1 -1
  278. package/esm/chart/interface/chart.d.ts +1 -1
  279. package/esm/chart/interface/chart.js.map +1 -1
  280. package/esm/chart/progress/circular/circular-progress-transformer.js +2 -0
  281. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  282. package/esm/compile/compiler.d.ts +1 -1
  283. package/esm/compile/compiler.js +4 -4
  284. package/esm/compile/compiler.js.map +1 -1
  285. package/esm/compile/mark/interface.js.map +1 -1
  286. package/esm/component/axis/base-axis.d.ts +9 -6
  287. package/esm/component/axis/base-axis.js +39 -5
  288. package/esm/component/axis/base-axis.js.map +1 -1
  289. package/esm/component/axis/cartesian/axis.d.ts +1 -5
  290. package/esm/component/axis/cartesian/axis.js +8 -26
  291. package/esm/component/axis/cartesian/axis.js.map +1 -1
  292. package/esm/component/axis/cartesian/time-axis.d.ts +1 -1
  293. package/esm/component/axis/cartesian/time-axis.js +2 -2
  294. package/esm/component/axis/cartesian/time-axis.js.map +1 -1
  295. package/esm/component/axis/cartesian/util/index.d.ts +0 -1
  296. package/esm/component/axis/cartesian/util/index.js +0 -2
  297. package/esm/component/axis/cartesian/util/index.js.map +1 -1
  298. package/esm/component/axis/interface/common.d.ts +2 -1
  299. package/esm/component/axis/interface/common.js.map +1 -1
  300. package/esm/component/axis/interface/spec.d.ts +2 -0
  301. package/esm/component/axis/interface/spec.js.map +1 -1
  302. package/esm/component/axis/polar/axis.d.ts +1 -5
  303. package/esm/component/axis/polar/axis.js +5 -23
  304. package/esm/component/axis/polar/axis.js.map +1 -1
  305. package/esm/component/base/util.d.ts +5 -0
  306. package/esm/component/base/util.js +12 -9
  307. package/esm/component/base/util.js.map +1 -1
  308. package/esm/component/crosshair/base.d.ts +4 -1
  309. package/esm/component/crosshair/base.js +1 -10
  310. package/esm/component/crosshair/base.js.map +1 -1
  311. package/esm/component/crosshair/cartesian.d.ts +1 -7
  312. package/esm/component/crosshair/cartesian.js +20 -206
  313. package/esm/component/crosshair/cartesian.js.map +1 -1
  314. package/esm/component/crosshair/config.js.map +1 -1
  315. package/esm/component/crosshair/interface/cartesian.d.ts +46 -0
  316. package/esm/component/crosshair/interface/cartesian.js +2 -0
  317. package/esm/component/crosshair/interface/cartesian.js.map +1 -0
  318. package/esm/component/crosshair/interface/common.d.ts +7 -0
  319. package/esm/component/crosshair/interface/common.js +2 -0
  320. package/esm/component/crosshair/interface/common.js.map +1 -0
  321. package/esm/component/crosshair/interface/index.d.ts +3 -0
  322. package/esm/component/crosshair/interface/index.js +6 -0
  323. package/esm/component/crosshair/interface/index.js.map +1 -1
  324. package/esm/component/crosshair/interface/polar.d.ts +23 -0
  325. package/esm/component/crosshair/interface/polar.js +2 -0
  326. package/esm/component/crosshair/interface/polar.js.map +1 -0
  327. package/esm/component/crosshair/interface/spec.d.ts +1 -0
  328. package/esm/component/crosshair/interface/spec.js.map +1 -1
  329. package/esm/component/crosshair/polar.d.ts +2 -2
  330. package/esm/component/crosshair/polar.js +19 -116
  331. package/esm/component/crosshair/polar.js.map +1 -1
  332. package/esm/component/crosshair/utils/cartesian.d.ts +32 -0
  333. package/esm/component/crosshair/utils/cartesian.js +233 -0
  334. package/esm/component/crosshair/utils/cartesian.js.map +1 -0
  335. package/{cjs/component/crosshair/util.d.ts → esm/component/crosshair/utils/common.d.ts} +3 -3
  336. package/esm/component/crosshair/{util.js → utils/common.js} +6 -6
  337. package/esm/component/crosshair/utils/common.js.map +1 -0
  338. package/esm/component/crosshair/utils/index.d.ts +1 -0
  339. package/esm/component/crosshair/utils/index.js +2 -0
  340. package/esm/component/crosshair/utils/index.js.map +1 -0
  341. package/esm/component/crosshair/utils/polar.d.ts +37 -0
  342. package/esm/component/crosshair/utils/polar.js +125 -0
  343. package/esm/component/crosshair/utils/polar.js.map +1 -0
  344. package/esm/component/custom-mark/custom-mark.js +2 -1
  345. package/esm/component/custom-mark/custom-mark.js.map +1 -1
  346. package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
  347. package/esm/component/data-zoom/data-zoom/data-zoom.js +10 -2
  348. package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
  349. package/esm/component/data-zoom/data-zoom/interface.d.ts +4 -5
  350. package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
  351. package/esm/component/data-zoom/scroll-bar/interface.d.ts +2 -4
  352. package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
  353. package/esm/component/data-zoom/util.d.ts +0 -4
  354. package/esm/component/data-zoom/util.js +1 -10
  355. package/esm/component/data-zoom/util.js.map +1 -1
  356. package/esm/component/index.d.ts +1 -0
  357. package/esm/component/index.js +2 -0
  358. package/esm/component/index.js.map +1 -1
  359. package/esm/component/interface/theme.d.ts +8 -0
  360. package/esm/component/interface/theme.js.map +1 -1
  361. package/esm/component/label/interface.d.ts +1 -1
  362. package/esm/component/label/interface.js.map +1 -1
  363. package/esm/component/label/util.js +6 -3
  364. package/esm/component/label/util.js.map +1 -1
  365. package/esm/component/legend/continuous/interface.d.ts +6 -12
  366. package/esm/component/legend/continuous/interface.js.map +1 -1
  367. package/esm/component/legend/discrete/interface.d.ts +17 -4
  368. package/esm/component/legend/discrete/interface.js.map +1 -1
  369. package/esm/component/legend/discrete/legend.d.ts +1 -0
  370. package/esm/component/legend/discrete/legend.js +11 -1
  371. package/esm/component/legend/discrete/legend.js.map +1 -1
  372. package/esm/component/legend/discrete/util.js +3 -2
  373. package/esm/component/legend/discrete/util.js.map +1 -1
  374. package/esm/component/legend/util.d.ts +1 -2
  375. package/esm/component/legend/util.js +0 -4
  376. package/esm/component/legend/util.js.map +1 -1
  377. package/esm/component/player/interface/theme.d.ts +1 -1
  378. package/esm/component/player/interface/theme.js.map +1 -1
  379. package/esm/component/player/utils/transform.js.map +1 -1
  380. package/esm/component/tooltip/interface/common.d.ts +2 -2
  381. package/esm/component/tooltip/interface/common.js.map +1 -1
  382. package/esm/component/tooltip/interface/event.d.ts +0 -2
  383. package/esm/component/tooltip/interface/event.js.map +1 -1
  384. package/esm/component/tooltip/interface/index.d.ts +1 -0
  385. package/esm/component/tooltip/interface/index.js +2 -0
  386. package/esm/component/tooltip/interface/index.js.map +1 -1
  387. package/esm/component/tooltip/interface/spec.d.ts +2 -2
  388. package/esm/component/tooltip/interface/spec.js.map +1 -1
  389. package/esm/component/tooltip/interface/theme.d.ts +3 -3
  390. package/esm/component/tooltip/interface/theme.js.map +1 -1
  391. package/esm/component/tooltip/processor/dimension-tooltip.js +2 -1
  392. package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
  393. package/esm/component/tooltip/processor/mark-tooltip.js +2 -1
  394. package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
  395. package/esm/component/tooltip/tooltip.d.ts +3 -3
  396. package/esm/component/tooltip/tooltip.js +8 -6
  397. package/esm/component/tooltip/tooltip.js.map +1 -1
  398. package/esm/component/tooltip/utils/show-tooltip.js +3 -0
  399. package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
  400. package/esm/component/util.d.ts +8 -0
  401. package/esm/component/util.js +14 -0
  402. package/esm/component/util.js.map +1 -1
  403. package/esm/core/factory.d.ts +3 -0
  404. package/esm/core/factory.js +6 -0
  405. package/esm/core/factory.js.map +1 -1
  406. package/esm/core/index.d.ts +2 -1
  407. package/esm/core/index.js +3 -1
  408. package/esm/core/index.js.map +1 -1
  409. package/esm/core/interface.d.ts +1 -1
  410. package/esm/core/interface.js.map +1 -1
  411. package/esm/core/vchart.d.ts +2 -1
  412. package/esm/core/vchart.js +3 -1
  413. package/esm/core/vchart.js.map +1 -1
  414. package/esm/data/initialize.js.map +1 -1
  415. package/esm/event/events/dimension/interface.d.ts +3 -2
  416. package/esm/event/events/dimension/interface.js.map +1 -1
  417. package/esm/event/events/dimension/util/cartesian.js +1 -0
  418. package/esm/event/events/dimension/util/cartesian.js.map +1 -1
  419. package/esm/event/events/dimension/util/polar.js +2 -0
  420. package/esm/event/events/dimension/util/polar.js.map +1 -1
  421. package/esm/index-lark.js +4 -2
  422. package/esm/index-lark.js.map +1 -1
  423. package/esm/index-wx-simple.js +4 -2
  424. package/esm/index-wx-simple.js.map +1 -1
  425. package/esm/index-wx.js +1 -1
  426. package/esm/index-wx.js.map +1 -1
  427. package/esm/index.d.ts +1 -0
  428. package/esm/index.js +2 -0
  429. package/esm/index.js.map +1 -1
  430. package/esm/mark/arc.js +3 -1
  431. package/esm/mark/arc.js.map +1 -1
  432. package/esm/mark/base/base-mark.d.ts +3 -3
  433. package/esm/mark/base/base-mark.js +20 -13
  434. package/esm/mark/base/base-mark.js.map +1 -1
  435. package/esm/mark/index.d.ts +2 -3
  436. package/esm/mark/index.js +1 -3
  437. package/esm/mark/index.js.map +1 -1
  438. package/esm/mark/interface/type.d.ts +0 -1
  439. package/esm/mark/interface/type.js +2 -3
  440. package/esm/mark/interface/type.js.map +1 -1
  441. package/esm/plugin/chart/formatter/formatter.d.ts +28 -0
  442. package/esm/plugin/chart/formatter/formatter.js +71 -0
  443. package/esm/plugin/chart/formatter/formatter.js.map +1 -0
  444. package/esm/plugin/chart/formatter/index.d.ts +1 -0
  445. package/esm/plugin/chart/formatter/index.js +2 -0
  446. package/esm/plugin/chart/formatter/index.js.map +1 -0
  447. package/esm/plugin/components/index.d.ts +2 -5
  448. package/esm/plugin/components/index.js +2 -4
  449. package/esm/plugin/components/index.js.map +1 -1
  450. package/esm/plugin/components/tooltip-handler/base.d.ts +6 -6
  451. package/esm/plugin/components/tooltip-handler/base.js +111 -50
  452. package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
  453. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.d.ts +2 -2
  454. package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
  455. package/esm/plugin/components/tooltip-handler/constants.d.ts +2 -2
  456. package/esm/plugin/components/tooltip-handler/constants.js.map +1 -1
  457. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +8 -4
  458. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +31 -8
  459. package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
  460. package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.d.ts +2 -2
  461. package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -1
  462. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.d.ts +2 -2
  463. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +2 -3
  464. package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
  465. package/esm/plugin/components/tooltip-handler/dom/model/interface.d.ts +2 -2
  466. package/esm/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -1
  467. package/esm/plugin/components/tooltip-handler/utils/attribute.d.ts +2 -2
  468. package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
  469. package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
  470. package/esm/plugin/components/tooltip-handler/utils/common.d.ts +3 -3
  471. package/esm/plugin/components/tooltip-handler/utils/common.js +10 -1
  472. package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -1
  473. package/esm/plugin/components/tooltip-handler/utils/compose.d.ts +2 -2
  474. package/esm/plugin/components/tooltip-handler/utils/compose.js +5 -7
  475. package/esm/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
  476. package/esm/plugin/components/tooltip-handler/utils/get-spec.js +12 -9
  477. package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
  478. package/esm/plugin/components/tooltip-handler/utils/position.d.ts +18 -3
  479. package/esm/plugin/components/tooltip-handler/utils/position.js +39 -7
  480. package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
  481. package/esm/plugin/index.d.ts +1 -0
  482. package/esm/plugin/index.js +2 -0
  483. package/esm/plugin/index.js.map +1 -1
  484. package/esm/series/base/base-series.js +2 -1
  485. package/esm/series/base/base-series.js.map +1 -1
  486. package/esm/series/base/tooltip-helper.d.ts +3 -3
  487. package/esm/series/base/tooltip-helper.js.map +1 -1
  488. package/esm/series/dot/tooltip-helper.js +1 -3
  489. package/esm/series/dot/tooltip-helper.js.map +1 -1
  490. package/esm/series/gauge/constant.js +2 -2
  491. package/esm/series/gauge/constant.js.map +1 -1
  492. package/esm/series/gauge/gauge.js +3 -3
  493. package/esm/series/gauge/gauge.js.map +1 -1
  494. package/esm/series/gauge/interface.d.ts +3 -3
  495. package/esm/series/gauge/interface.js.map +1 -1
  496. package/esm/series/interface/common.d.ts +1 -1
  497. package/esm/series/interface/common.js.map +1 -1
  498. package/esm/series/link/tooltip-helper.js +1 -1
  499. package/esm/series/link/tooltip-helper.js.map +1 -1
  500. package/esm/series/polar/progress-like/progress-like.js +23 -25
  501. package/esm/series/polar/progress-like/progress-like.js.map +1 -1
  502. package/esm/series/progress/circular/circular.js +1 -3
  503. package/esm/series/progress/circular/circular.js.map +1 -1
  504. package/esm/series/progress/circular/constant.js +2 -2
  505. package/esm/series/progress/circular/constant.js.map +1 -1
  506. package/esm/series/progress/circular/interface.d.ts +5 -5
  507. package/esm/series/progress/circular/interface.js.map +1 -1
  508. package/esm/series/range-area/tooltip-helper.js.map +1 -1
  509. package/esm/series/sankey/tooltip-helper.js.map +1 -1
  510. package/esm/series/sunburst/sunburst.d.ts +1 -1
  511. package/esm/series/word-cloud/interface.js.map +1 -1
  512. package/esm/theme/builtin/common/mark.js +2 -1
  513. package/esm/theme/builtin/common/mark.js.map +1 -1
  514. package/esm/theme/builtin/common/series/box-plot.js +5 -0
  515. package/esm/theme/builtin/common/series/box-plot.js.map +1 -1
  516. package/esm/theme/builtin/common/series/rangeColumn.js +1 -0
  517. package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
  518. package/esm/theme/builtin/common/series/waterfall.js +4 -1
  519. package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
  520. package/esm/typings/spec/common.d.ts +4 -3
  521. package/esm/typings/spec/common.js.map +1 -1
  522. package/esm/typings/tooltip/line.d.ts +5 -2
  523. package/esm/typings/tooltip/line.js.map +1 -1
  524. package/esm/typings/tooltip/position.d.ts +21 -10
  525. package/esm/typings/tooltip/position.js.map +1 -1
  526. package/esm/typings/tooltip/shape.d.ts +2 -2
  527. package/esm/typings/tooltip/shape.js.map +1 -1
  528. package/esm/typings/tooltip/tooltip.d.ts +8 -8
  529. package/esm/typings/tooltip/tooltip.js.map +1 -1
  530. package/esm/typings/visual.d.ts +2 -4
  531. package/esm/typings/visual.js.map +1 -1
  532. package/esm/util/index.d.ts +1 -2
  533. package/esm/util/index.js +1 -3
  534. package/esm/util/index.js.map +1 -1
  535. package/esm/vchart-all.js +4 -2
  536. package/esm/vchart-all.js.map +1 -1
  537. package/esm/vchart-simple.js +1 -1
  538. package/esm/vchart-simple.js.map +1 -1
  539. package/package.json +17 -17
  540. package/cjs/component/axis/cartesian/util/time.d.ts +0 -80
  541. package/cjs/component/axis/cartesian/util/time.js +0 -204
  542. package/cjs/component/axis/cartesian/util/time.js.map +0 -1
  543. package/cjs/component/crosshair/util.js.map +0 -1
  544. package/cjs/mark/progress-arc.d.ts +0 -14
  545. package/cjs/mark/progress-arc.js +0 -55
  546. package/cjs/mark/progress-arc.js.map +0 -1
  547. package/esm/component/axis/cartesian/util/time.d.ts +0 -80
  548. package/esm/component/axis/cartesian/util/time.js +0 -196
  549. package/esm/component/axis/cartesian/util/time.js.map +0 -1
  550. package/esm/component/crosshair/util.js.map +0 -1
  551. package/esm/mark/progress-arc.d.ts +0 -14
  552. package/esm/mark/progress-arc.js +0 -47
  553. package/esm/mark/progress-arc.js.map +0 -1
@@ -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"]}
@@ -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;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.registerFormatPlugin = exports.FormatterPlugin = void 0;
6
+
7
+ const vutils_1 = require("@visactor/vutils"), base_plugin_1 = require("../../base/base-plugin"), core_1 = require("../../../core"), bracketReg = /\{([^}]+)\}/, bracketGReg = /\{([^}]+)\}/g, semicolonReg = /:/;
8
+
9
+ class FormatterPlugin extends base_plugin_1.BasePlugin {
10
+ constructor() {
11
+ super(FormatterPlugin.type), this.type = "formatterPlugin", this._timeModeFormat = {
12
+ utc: vutils_1.TimeUtil.getInstance().timeUTCFormat,
13
+ local: vutils_1.TimeUtil.getInstance().timeFormat
14
+ }, this._formatter = this._format, this._timeFormatter = this._timeModeFormat.local,
15
+ this._numericFormatter = vutils_1.NumberUtil.getInstance().format, this._numericSpecifier = vutils_1.NumberUtil.getInstance().formatter,
16
+ this._numericFormatterCache = new Map, this._isNumericFormatterCache = new Map;
17
+ }
18
+ onInit(service, chartSpec) {
19
+ var _a;
20
+ const {globalInstance: globalInstance} = service;
21
+ if (!globalInstance) return;
22
+ this._spec = null !== (_a = null == chartSpec ? void 0 : chartSpec[FormatterPlugin.specKey]) && void 0 !== _a ? _a : {};
23
+ const {timeMode: timeMode, customFormatter: customFormatter, numericFormatter: numericFormatter, timeFormatter: timeFormatter} = this._spec;
24
+ (0, vutils_1.isFunction)(customFormatter) ? this._formatter = customFormatter : (this._formatter = this._format.bind(this),
25
+ (0, vutils_1.isFunction)(timeFormatter) ? this._timeFormatter = timeFormatter : timeMode && this._timeModeFormat[timeMode] && (this._timeFormatter = this._timeModeFormat[timeMode]),
26
+ numericFormatter && (this._numericFormatter = numericFormatter, this._numericSpecifier = null,
27
+ this._numericFormatterCache = null)), core_1.Factory.registerFormatter(this._formatter);
28
+ }
29
+ _format(text, datum, formatter) {
30
+ return (0, vutils_1.isArray)(text) ? text.map(((t, i) => {
31
+ const f = (0, vutils_1.isArray)(formatter) ? formatter[i] : formatter;
32
+ return f ? this._formatSingleLine(t, datum, f) : t;
33
+ })) : (0, vutils_1.isArray)(formatter) ? formatter.map((f => this._formatSingleLine(text, datum, f))) : this._formatSingleLine(text, datum, formatter);
34
+ }
35
+ _formatSingleLine(text, datum, formatter) {
36
+ let isTemplate;
37
+ if (this._isNumericFormatterCache && (this._isNumericFormatterCache.get(formatter) ? isTemplate = this._isNumericFormatterCache.get(formatter) : (isTemplate = bracketReg.test(formatter),
38
+ this._isNumericFormatterCache.set(formatter, isTemplate))), isTemplate) {
39
+ return formatter.replace(bracketGReg, ((match, key) => {
40
+ if (semicolonReg.test(key)) {
41
+ const parts = key.split(":"), value = datum[parts.shift()], valueFormatter = parts.join(":");
42
+ return this._formatSingleText(value, valueFormatter);
43
+ }
44
+ {
45
+ const value = datum[key.trim()];
46
+ return void 0 !== value ? value : match;
47
+ }
48
+ }));
49
+ }
50
+ return this._formatSingleText(text, formatter);
51
+ }
52
+ _formatSingleText(text, formatter) {
53
+ if (vutils_1.numberSpecifierReg.test(formatter) && this._numericFormatter) {
54
+ let numericFormat;
55
+ return this._numericFormatterCache && this._numericSpecifier ? (this._numericFormatterCache.get(formatter) ? numericFormat = this._numericFormatterCache.get(formatter) : (numericFormat = this._numericSpecifier(formatter),
56
+ this._numericFormatterCache.set(formatter, numericFormat)), numericFormat(Number(text))) : this._numericFormatter(formatter, Number(text));
57
+ }
58
+ return formatter.includes("%") && this._timeFormatter ? this._timeFormatter(formatter, text) : text;
59
+ }
60
+ dispose() {
61
+ this._format = null, this._timeFormatter = null, this._numericFormatter = null,
62
+ this._numericSpecifier = null, this._numericFormatterCache = null, this._isNumericFormatterCache = null;
63
+ }
64
+ }
65
+
66
+ exports.FormatterPlugin = FormatterPlugin, FormatterPlugin.pluginType = "chart",
67
+ FormatterPlugin.specKey = "formatter", FormatterPlugin.type = "formatterPlugin";
68
+
69
+ const registerFormatPlugin = () => {
70
+ (0, core_1.registerChartPlugin)(FormatterPlugin);
71
+ };
72
+
73
+ exports.registerFormatPlugin = registerFormatPlugin;
74
+ //# sourceMappingURL=formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/plugin/chart/formatter/formatter.ts"],"names":[],"mappings":";;;AAAA,6CAAiG;AAEjG,wDAAoD;AAGpD,wCAA6D;AAE7D,MAAM,UAAU,GAAG,aAAa,CAAC;AACjC,MAAM,WAAW,GAAG,cAAc,CAAC;AAEnC,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB,MAAa,eAAgB,SAAQ,wBAAU;IA8B7C;QACE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAzBrB,SAAI,GAAW,iBAAiB,CAAC;QAEzB,oBAAe,GAAG;YACjC,GAAG,EAAE,iBAAQ,CAAC,WAAW,EAAE,CAAC,aAAa;YACzC,KAAK,EAAE,iBAAQ,CAAC,WAAW,EAAE,CAAC,UAAU;SACzC,CAAC;QASQ,eAAU,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5B,mBAAc,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QAC5C,sBAAiB,GAAG,mBAAU,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;QAGpD,sBAAiB,GAAG,mBAAU,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC;QACvD,2BAAsB,GAAG,IAAI,GAAG,EAAe,CAAC;QAChD,6BAAwB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAI9D,CAAC;IAED,MAAM,CAAC,OAA4B,EAAE,SAAc;;QACjD,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO;SACR;QACD,IAAI,CAAC,KAAK,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,eAAe,CAAC,OAAO,CAAC,mCAAI,EAAE,CAAC;QACxD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAElF,IAAI,IAAA,mBAAU,EAAC,eAAe,CAAC,EAAE;YAC/B,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,IAAA,mBAAU,EAAC,aAAa,CAAC,EAAE;gBAC7B,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;aACrC;iBAAM,IAAI,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;gBACrD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;aACtD;YAED,IAAI,gBAAgB,EAAE;gBACpB,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;gBAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACpC;SACF;QACD,cAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAES,OAAO,CAAC,IAA2C,EAAE,KAAU,EAAE,SAA4B;QACrG,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE;YACjB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACvB,MAAM,CAAC,GAAG,IAAA,gBAAO,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxD,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE;YACtB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;SACnE;aAAM;YACL,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;SACvD;IACH,CAAC;IAES,iBAAiB,CAAC,IAAqB,EAAE,KAAU,EAAE,SAAiB;QAC9E,IAAI,UAAU,CAAC;QACf,IAAI,IAAI,CAAC,wBAAwB,EAAE;YACjC,IAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAChD,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC3D;iBAAM;gBACL,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aAC1D;SACF;QACD,IAAI,UAAU,EAAE;YACd,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC3D,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5C,IAAI,CAAC,YAAY,EAAE;oBACjB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;oBAChC,OAAO,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;iBACrD;qBAAM;oBACL,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;oBACnC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;iBACtD;YACH,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;SACf;aAAM;YACL,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAChD;IACH,CAAC;IAES,iBAAiB,CAAC,IAAqB,EAAE,SAAiB;QAClE,MAAM,SAAS,GAAG,2BAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,SAAS,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAEvC,IAAI,aAAa,CAAC;YAClB,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACzD,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBAC9C,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAC5D;qBAAM;oBACL,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAQ,CAAC;oBACzD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;iBAC3D;gBACD,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACpC;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SACxD;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE;YACzD,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SAC7C;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACvC,CAAC;;AAtIH,0CAuIC;AAtIiB,0BAAU,GAAY,OAAO,CAAC;AAE9B,uBAAO,GAAG,WAAW,CAAC;AAEtB,oBAAI,GAAW,iBAAiB,CAAC;AAoI5C,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAA,0BAAmB,EAAC,eAAe,CAAC,CAAC;AACvC,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B","file":"formatter.js","sourcesContent":["import { isFunction, isArray, TimeUtil, NumberUtil, numberSpecifierReg } from '@visactor/vutils';\n\nimport { BasePlugin } from '../../base/base-plugin';\n\nimport { IChartPlugin, IChartPluginService } from '../interface';\nimport { Factory, registerChartPlugin } from '../../../core';\n\nconst bracketReg = /\\{([^}]+)\\}/;\nconst bracketGReg = /\\{([^}]+)\\}/g;\n\nconst semicolonReg = /:/;\n\nexport class FormatterPlugin extends BasePlugin implements IChartPlugin {\n static readonly pluginType: 'chart' = 'chart';\n\n static readonly specKey = 'formatter';\n\n static readonly type: string = 'formatterPlugin';\n readonly type: string = 'formatterPlugin';\n\n private readonly _timeModeFormat = {\n utc: TimeUtil.getInstance().timeUTCFormat,\n local: TimeUtil.getInstance().timeFormat\n };\n\n protected _spec: {\n timeMode: 'utc' | 'local';\n customFormatter: (specifier: string, text: string | number | string[] | number[], datum: any) => string | string[];\n numericFormatter: (specifier: string, text: string | number | string[] | number[]) => string;\n timeFormatter: (specifier: string, text: string | number | string[] | number[]) => string;\n };\n\n protected _formatter = this._format;\n\n private _timeFormatter = this._timeModeFormat.local;\n private _numericFormatter = NumberUtil.getInstance().format;\n\n // used for optimize performance,avoiding repeatedly parsing same format template string,\n private _numericSpecifier = NumberUtil.getInstance().formatter;\n private _numericFormatterCache = new Map<string, any>();\n private _isNumericFormatterCache = new Map<string, boolean>();\n\n constructor() {\n super(FormatterPlugin.type);\n }\n\n onInit(service: IChartPluginService, chartSpec: any) {\n const { globalInstance } = service;\n if (!globalInstance) {\n return;\n }\n this._spec = chartSpec?.[FormatterPlugin.specKey] ?? {};\n const { timeMode, customFormatter, numericFormatter, timeFormatter } = this._spec;\n\n if (isFunction(customFormatter)) {\n this._formatter = customFormatter;\n } else {\n this._formatter = this._format.bind(this);\n if (isFunction(timeFormatter)) {\n this._timeFormatter = timeFormatter;\n } else if (timeMode && this._timeModeFormat[timeMode]) {\n this._timeFormatter = this._timeModeFormat[timeMode];\n }\n\n if (numericFormatter) {\n this._numericFormatter = numericFormatter;\n this._numericSpecifier = null;\n this._numericFormatterCache = null;\n }\n }\n Factory.registerFormatter(this._formatter);\n }\n\n protected _format(text: string | number | string[] | number[], datum: any, formatter: string | string[]) {\n if (isArray(text)) {\n return text.map((t, i) => {\n const f = isArray(formatter) ? formatter[i] : formatter;\n return f ? this._formatSingleLine(t, datum, f) : t;\n });\n }\n\n if (isArray(formatter)) {\n return formatter.map(f => this._formatSingleLine(text, datum, f));\n } else {\n return this._formatSingleLine(text, datum, formatter);\n }\n }\n\n protected _formatSingleLine(text: string | number, datum: any, formatter: string) {\n let isTemplate;\n if (this._isNumericFormatterCache) {\n if (this._isNumericFormatterCache.get(formatter)) {\n isTemplate = this._isNumericFormatterCache.get(formatter);\n } else {\n isTemplate = bracketReg.test(formatter);\n this._isNumericFormatterCache.set(formatter, isTemplate);\n }\n }\n if (isTemplate) {\n const result = formatter.replace(bracketGReg, (match, key) => {\n const hasFormatter = semicolonReg.test(key);\n if (!hasFormatter) {\n const value = datum[key.trim()];\n return typeof value !== 'undefined' ? value : match;\n } else {\n const parts = key.split(':');\n const value = datum[parts.shift()];\n const valueFormatter = parts.join(':');\n return this._formatSingleText(value, valueFormatter);\n }\n });\n return result;\n } else {\n return this._formatSingleText(text, formatter);\n }\n }\n\n protected _formatSingleText(text: string | number, formatter: string): string | number {\n const isNumeric = numberSpecifierReg.test(formatter);\n if (isNumeric && this._numericFormatter) {\n // 内置的 formatter 逻辑,可以进行缓存性能优化\n let numericFormat;\n if (this._numericFormatterCache && this._numericSpecifier) {\n if (this._numericFormatterCache.get(formatter)) {\n numericFormat = this._numericFormatterCache.get(formatter);\n } else {\n numericFormat = this._numericSpecifier(formatter) as any;\n this._numericFormatterCache.set(formatter, numericFormat);\n }\n return numericFormat(Number(text));\n }\n return this._numericFormatter(formatter, Number(text));\n } else if (formatter.includes('%') && this._timeFormatter) {\n return this._timeFormatter(formatter, text);\n } else {\n return text;\n }\n }\n\n dispose() {\n this._format = null;\n this._timeFormatter = null;\n this._numericFormatter = null;\n this._numericSpecifier = null;\n this._numericFormatterCache = null;\n this._isNumericFormatterCache = null;\n }\n}\n\nexport const registerFormatPlugin = () => {\n registerChartPlugin(FormatterPlugin);\n};\n"]}
@@ -0,0 +1 @@
1
+ export * from './formatter';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
4
+ void 0 === k2 && (k2 = k);
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
7
+ enumerable: !0,
8
+ get: function() {
9
+ return m[k];
10
+ }
11
+ }), Object.defineProperty(o, k2, desc);
12
+ } : function(o, m, k, k2) {
13
+ void 0 === k2 && (k2 = k), o[k2] = m[k];
14
+ }), __exportStar = this && this.__exportStar || function(m, exports) {
15
+ for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p);
16
+ };
17
+
18
+ Object.defineProperty(exports, "__esModule", {
19
+ value: !0
20
+ }), __exportStar(require("./formatter"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/plugin/chart/formatter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B","file":"index.js","sourcesContent":["export * from './formatter';\n"]}
@@ -1,5 +1,2 @@
1
- import { AxisSyncPlugin } from './axis-sync';
2
- declare const _default: {
3
- AxisSyncPlugin: typeof AxisSyncPlugin;
4
- };
5
- export default _default;
1
+ export * from './axis-sync';
2
+ export * from './tooltip-handler';
@@ -1,12 +1,21 @@
1
1
  "use strict";
2
2
 
3
+ var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
4
+ void 0 === k2 && (k2 = k);
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
7
+ enumerable: !0,
8
+ get: function() {
9
+ return m[k];
10
+ }
11
+ }), Object.defineProperty(o, k2, desc);
12
+ } : function(o, m, k, k2) {
13
+ void 0 === k2 && (k2 = k), o[k2] = m[k];
14
+ }), __exportStar = this && this.__exportStar || function(m, exports) {
15
+ for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p);
16
+ };
17
+
3
18
  Object.defineProperty(exports, "__esModule", {
4
19
  value: !0
5
- });
6
-
7
- const axis_sync_1 = require("./axis-sync");
8
-
9
- exports.default = {
10
- AxisSyncPlugin: axis_sync_1.AxisSyncPlugin
11
- };
20
+ }), __exportStar(require("./axis-sync"), exports), __exportStar(require("./tooltip-handler"), exports);
12
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/plugin/components/index.ts"],"names":[],"mappings":";;AAAA,2CAA6C;AAE7C,kBAAe;IACb,cAAc,EAAd,0BAAc;CACf,CAAC","file":"index.js","sourcesContent":["import { AxisSyncPlugin } from './axis-sync';\n\nexport default {\n AxisSyncPlugin\n};\n"]}
1
+ {"version":3,"sources":["../src/plugin/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,oDAAkC","file":"index.js","sourcesContent":["export * from './axis-sync';\nexport * from './tooltip-handler';\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { Options } from './constants';
2
2
  import type { Maybe, ILayoutPoint, RenderMode } from '../../../typings';
3
- import type { TooltipData, IToolTipActual, TooltipActiveType, ITooltipHandler, ITooltipPattern, ITooltipPositionActual } from '../../../typings/tooltip';
3
+ import type { TooltipData, ITooltipActual, TooltipActiveType, ITooltipHandler, ITooltipPattern, ITooltipPositionActual } from '../../../typings/tooltip';
4
4
  import type { IGroup } from '@visactor/vrender-core';
5
5
  import type { Compiler } from '../../../compile/compiler';
6
6
  import type { IContainerSize } from '@visactor/vrender-components';
@@ -26,7 +26,7 @@ export declare abstract class BaseTooltipHandler extends BasePlugin implements I
26
26
  protected _chartContainer: Maybe<HTMLElement>;
27
27
  protected _compiler: Compiler;
28
28
  protected _cacheViewSpec: ITooltipSpec | undefined;
29
- protected _cacheActualTooltip: IToolTipActual | undefined;
29
+ protected _cacheActualTooltip: ITooltipActual | undefined;
30
30
  protected _isTooltipPaused: boolean;
31
31
  protected _isPointerEscaped: boolean;
32
32
  protected _cachePointerTimer: number;
@@ -46,13 +46,13 @@ export declare abstract class BaseTooltipHandler extends BasePlugin implements I
46
46
  protected _clearAllCache(): void;
47
47
  protected _clearCacheOfContent(): void;
48
48
  protected _clearCacheOfPosition(): void;
49
- protected abstract _updateTooltip(visible: boolean, params: TooltipHandlerParams, domData?: IToolTipActual): void;
49
+ protected abstract _updateTooltip(visible: boolean, params: TooltipHandlerParams, domData?: ITooltipActual): void;
50
50
  protected abstract _removeTooltip(): void;
51
51
  protected _throttle(callback: any): (...args: unknown[]) => unknown;
52
52
  protected _getDefaultOption(): Options;
53
- protected _getActualTooltipContent: (pattern: ITooltipPattern, data: TooltipData, params: TooltipHandlerParams) => IToolTipActual;
54
- protected _getActualTooltipPosition: (actualTooltip: IToolTipActual, params: TooltipHandlerParams, tooltipBoxSize: IContainerSize | undefined) => ITooltipPositionActual;
55
- protected _getTooltipBoxSize(actualTooltip: IToolTipActual, changePositionOnly: boolean): IContainerSize | undefined;
53
+ protected _getActualTooltipContent: (pattern: ITooltipPattern, data: TooltipData, params: TooltipHandlerParams) => ITooltipActual;
54
+ protected _getActualTooltipPosition: (actualTooltip: ITooltipActual, params: TooltipHandlerParams, tooltipBoxSize: IContainerSize | undefined) => ITooltipPositionActual;
55
+ protected _getTooltipBoxSize(actualTooltip: ITooltipActual, changePositionOnly: boolean): IContainerSize | undefined;
56
56
  protected _getPointerPositionRelativeToTooltipParent(params: TooltipHandlerParams): {
57
57
  x: any;
58
58
  y: any;