@visactor/vchart-extension 2.0.0-alpha.0 → 2.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (739) hide show
  1. package/build/index.js +14841 -4920
  2. package/build/index.min.js +2 -2
  3. package/cjs/charts/3d/arc-3d.d.ts +11 -0
  4. package/cjs/charts/3d/arc-3d.js +30 -0
  5. package/cjs/charts/3d/arc-3d.js.map +1 -0
  6. package/cjs/charts/3d/enum.d.ts +33 -0
  7. package/cjs/charts/3d/enum.js +28 -0
  8. package/cjs/charts/3d/enum.js.map +1 -0
  9. package/cjs/charts/3d/interface.d.ts +13 -0
  10. package/cjs/charts/3d/interface.js +6 -0
  11. package/cjs/charts/3d/interface.js.map +1 -0
  12. package/cjs/charts/3d/layout.d.ts +21 -0
  13. package/cjs/charts/3d/layout.js +97 -0
  14. package/cjs/charts/3d/layout.js.map +1 -0
  15. package/cjs/charts/3d/plugin.d.ts +12 -0
  16. package/cjs/charts/3d/plugin.js +35 -0
  17. package/cjs/charts/3d/plugin.js.map +1 -0
  18. package/cjs/charts/3d/pyramid-3d.d.ts +11 -0
  19. package/cjs/charts/3d/pyramid-3d.js +31 -0
  20. package/cjs/charts/3d/pyramid-3d.js.map +1 -0
  21. package/cjs/charts/3d/rect-3d.d.ts +13 -0
  22. package/cjs/charts/3d/rect-3d.js +36 -0
  23. package/cjs/charts/3d/rect-3d.js.map +1 -0
  24. package/cjs/charts/3d/util.d.ts +3 -0
  25. package/cjs/charts/3d/util.js +19 -0
  26. package/cjs/charts/3d/util.js.map +1 -0
  27. package/cjs/charts/axis-3d/band-axis.d.ts +46 -0
  28. package/cjs/charts/axis-3d/band-axis.js +27 -0
  29. package/cjs/charts/axis-3d/band-axis.js.map +1 -0
  30. package/cjs/charts/axis-3d/index.d.ts +1 -0
  31. package/cjs/charts/axis-3d/index.js +14 -0
  32. package/cjs/charts/axis-3d/index.js.map +1 -0
  33. package/cjs/charts/axis-3d/linear-axis.d.ts +42 -0
  34. package/cjs/charts/axis-3d/linear-axis.js +32 -0
  35. package/cjs/charts/axis-3d/linear-axis.js.map +1 -0
  36. package/cjs/charts/axis-3d/log-axis.d.ts +46 -0
  37. package/cjs/charts/axis-3d/log-axis.js +27 -0
  38. package/cjs/charts/axis-3d/log-axis.js.map +1 -0
  39. package/cjs/charts/axis-3d/symlog-axis.d.ts +46 -0
  40. package/cjs/charts/axis-3d/symlog-axis.js +27 -0
  41. package/cjs/charts/axis-3d/symlog-axis.js.map +1 -0
  42. package/cjs/charts/axis-3d/theme.d.ts +2 -0
  43. package/cjs/charts/axis-3d/theme.js +10 -0
  44. package/cjs/charts/axis-3d/theme.js.map +1 -0
  45. package/cjs/charts/axis-3d/time-axis.d.ts +45 -0
  46. package/cjs/charts/axis-3d/time-axis.js +26 -0
  47. package/cjs/charts/axis-3d/time-axis.js.map +1 -0
  48. package/cjs/charts/axis-3d/util.d.ts +2 -0
  49. package/cjs/charts/axis-3d/util.js +45 -0
  50. package/cjs/charts/axis-3d/util.js.map +1 -0
  51. package/cjs/charts/bar-3d/animation.d.ts +1 -0
  52. package/cjs/charts/bar-3d/animation.js +17 -0
  53. package/cjs/charts/bar-3d/animation.js.map +1 -0
  54. package/cjs/charts/bar-3d/chart-spec-transformer.d.ts +6 -0
  55. package/cjs/charts/bar-3d/chart-spec-transformer.js +19 -0
  56. package/cjs/charts/bar-3d/chart-spec-transformer.js.map +1 -0
  57. package/cjs/charts/bar-3d/chart.d.ts +13 -0
  58. package/cjs/charts/bar-3d/chart.js +25 -0
  59. package/cjs/charts/bar-3d/chart.js.map +1 -0
  60. package/cjs/charts/bar-3d/constant.d.ts +12 -0
  61. package/cjs/charts/bar-3d/constant.js +15 -0
  62. package/cjs/charts/bar-3d/constant.js.map +1 -0
  63. package/cjs/charts/bar-3d/index.d.ts +5 -0
  64. package/cjs/charts/bar-3d/index.js +23 -0
  65. package/cjs/charts/bar-3d/index.js.map +1 -0
  66. package/cjs/charts/bar-3d/interface.d.ts +13 -0
  67. package/cjs/charts/bar-3d/interface.js +6 -0
  68. package/cjs/charts/bar-3d/interface.js.map +1 -0
  69. package/cjs/charts/bar-3d/series-spec-transformer.d.ts +5 -0
  70. package/cjs/charts/bar-3d/series-spec-transformer.js +15 -0
  71. package/cjs/charts/bar-3d/series-spec-transformer.js.map +1 -0
  72. package/cjs/charts/bar-3d/series.d.ts +17 -0
  73. package/cjs/charts/bar-3d/series.js +28 -0
  74. package/cjs/charts/bar-3d/series.js.map +1 -0
  75. package/cjs/charts/bar-3d/theme.d.ts +2 -0
  76. package/cjs/charts/bar-3d/theme.js +19 -0
  77. package/cjs/charts/bar-3d/theme.js.map +1 -0
  78. package/cjs/charts/conversion-funnel/arrow-data-transform.js.map +1 -1
  79. package/cjs/charts/conversion-funnel/constants.d.ts +21 -0
  80. package/cjs/charts/conversion-funnel/constants.js +24 -0
  81. package/cjs/charts/conversion-funnel/constants.js.map +1 -0
  82. package/cjs/charts/conversion-funnel/conversion-funnel-transformer.d.ts +2 -3
  83. package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js +7 -6
  84. package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js.map +1 -1
  85. package/cjs/charts/conversion-funnel/conversion-funnel.d.ts +0 -21
  86. package/cjs/charts/conversion-funnel/conversion-funnel.js +2 -19
  87. package/cjs/charts/conversion-funnel/conversion-funnel.js.map +1 -1
  88. package/cjs/charts/conversion-funnel/index.js.map +1 -1
  89. package/cjs/charts/conversion-funnel/interface.js +1 -1
  90. package/cjs/charts/conversion-funnel/interface.js.map +1 -1
  91. package/cjs/charts/conversion-funnel/util.d.ts +1 -1
  92. package/cjs/charts/conversion-funnel/util.js +1 -1
  93. package/cjs/charts/conversion-funnel/util.js.map +1 -1
  94. package/cjs/charts/funnel-3d/chart.d.ts +12 -0
  95. package/cjs/charts/funnel-3d/chart.js +25 -0
  96. package/cjs/charts/funnel-3d/chart.js.map +1 -0
  97. package/cjs/charts/funnel-3d/constant.d.ts +80 -0
  98. package/cjs/charts/funnel-3d/constant.js +31 -0
  99. package/cjs/charts/funnel-3d/constant.js.map +1 -0
  100. package/cjs/charts/funnel-3d/index.d.ts +4 -0
  101. package/cjs/charts/funnel-3d/index.js +22 -0
  102. package/cjs/charts/funnel-3d/index.js.map +1 -0
  103. package/cjs/charts/funnel-3d/interface.d.ts +18 -0
  104. package/cjs/charts/funnel-3d/interface.js +6 -0
  105. package/cjs/charts/funnel-3d/interface.js.map +1 -0
  106. package/cjs/charts/funnel-3d/series-spec-transformer.d.ts +5 -0
  107. package/cjs/charts/funnel-3d/series-spec-transformer.js +16 -0
  108. package/cjs/charts/funnel-3d/series-spec-transformer.js.map +1 -0
  109. package/cjs/charts/funnel-3d/series.d.ts +99 -0
  110. package/cjs/charts/funnel-3d/series.js +83 -0
  111. package/cjs/charts/funnel-3d/series.js.map +1 -0
  112. package/cjs/charts/funnel-3d/theme.d.ts +1 -0
  113. package/cjs/charts/funnel-3d/theme.js +10 -0
  114. package/cjs/charts/funnel-3d/theme.js.map +1 -0
  115. package/cjs/charts/histogram-3d/chart.d.ts +12 -0
  116. package/cjs/charts/histogram-3d/chart.js +31 -0
  117. package/cjs/charts/histogram-3d/chart.js.map +1 -0
  118. package/cjs/charts/histogram-3d/index.d.ts +2 -0
  119. package/cjs/charts/histogram-3d/index.js +21 -0
  120. package/cjs/charts/histogram-3d/index.js.map +1 -0
  121. package/cjs/charts/histogram-3d/interface.d.ts +5 -0
  122. package/cjs/charts/histogram-3d/interface.js +6 -0
  123. package/cjs/charts/histogram-3d/interface.js.map +1 -0
  124. package/cjs/charts/image-cloud/image-cloud-transformer.d.ts +6 -0
  125. package/cjs/charts/image-cloud/image-cloud-transformer.js +19 -0
  126. package/cjs/charts/image-cloud/image-cloud-transformer.js.map +1 -0
  127. package/cjs/charts/image-cloud/image-cloud.d.ts +12 -0
  128. package/cjs/charts/image-cloud/image-cloud.js +24 -0
  129. package/cjs/charts/image-cloud/image-cloud.js.map +1 -0
  130. package/cjs/charts/image-cloud/index.d.ts +2 -0
  131. package/cjs/charts/image-cloud/index.js +21 -0
  132. package/cjs/charts/image-cloud/index.js.map +1 -0
  133. package/cjs/charts/image-cloud/interface.d.ts +6 -0
  134. package/cjs/charts/image-cloud/interface.js +6 -0
  135. package/cjs/charts/image-cloud/interface.js.map +1 -0
  136. package/cjs/charts/image-cloud/series/animation.d.ts +23 -0
  137. package/cjs/charts/image-cloud/series/animation.js +100 -0
  138. package/cjs/charts/image-cloud/series/animation.js.map +1 -0
  139. package/cjs/charts/image-cloud/series/constant.d.ts +76 -0
  140. package/cjs/charts/image-cloud/series/constant.js +25 -0
  141. package/cjs/charts/image-cloud/series/constant.js.map +1 -0
  142. package/cjs/charts/image-cloud/series/image-cloud.d.ts +137 -0
  143. package/cjs/charts/image-cloud/series/image-cloud.js +196 -0
  144. package/cjs/charts/image-cloud/series/image-cloud.js.map +1 -0
  145. package/cjs/charts/image-cloud/series/index.d.ts +2 -0
  146. package/cjs/charts/image-cloud/series/index.js +21 -0
  147. package/cjs/charts/image-cloud/series/index.js.map +1 -0
  148. package/cjs/charts/image-cloud/series/interface.d.ts +25 -0
  149. package/cjs/charts/image-cloud/series/interface.js +6 -0
  150. package/cjs/charts/image-cloud/series/interface.js.map +1 -0
  151. package/cjs/charts/image-cloud/series/tooltip-helper.d.ts +10 -0
  152. package/cjs/charts/image-cloud/series/tooltip-helper.js +30 -0
  153. package/cjs/charts/image-cloud/series/tooltip-helper.js.map +1 -0
  154. package/cjs/charts/pictogram/element-highlight-by-graphic-name.d.ts +12 -0
  155. package/cjs/charts/pictogram/element-highlight-by-graphic-name.js +53 -0
  156. package/cjs/charts/pictogram/element-highlight-by-graphic-name.js.map +1 -0
  157. package/cjs/charts/pictogram/element-select-by-graphic-name.d.ts +8 -0
  158. package/cjs/charts/pictogram/element-select-by-graphic-name.js +31 -0
  159. package/cjs/charts/pictogram/element-select-by-graphic-name.js.map +1 -0
  160. package/cjs/charts/pictogram/index.d.ts +5 -0
  161. package/cjs/charts/pictogram/index.js +23 -0
  162. package/cjs/charts/pictogram/index.js.map +1 -0
  163. package/cjs/charts/pictogram/interface.d.ts +6 -0
  164. package/cjs/charts/pictogram/interface.js +6 -0
  165. package/cjs/charts/pictogram/interface.js.map +1 -0
  166. package/cjs/charts/pictogram/pictogram-transformer.d.ts +8 -0
  167. package/cjs/charts/pictogram/pictogram-transformer.js +24 -0
  168. package/cjs/charts/pictogram/pictogram-transformer.js.map +1 -0
  169. package/cjs/charts/pictogram/pictogram.d.ts +12 -0
  170. package/cjs/charts/pictogram/pictogram.js +25 -0
  171. package/cjs/charts/pictogram/pictogram.js.map +1 -0
  172. package/cjs/charts/pictogram/series/constant.d.ts +73 -0
  173. package/cjs/charts/pictogram/series/constant.js +22 -0
  174. package/cjs/charts/pictogram/series/constant.js.map +1 -0
  175. package/cjs/charts/pictogram/series/interface.d.ts +13 -0
  176. package/cjs/charts/pictogram/series/interface.js +6 -0
  177. package/cjs/charts/pictogram/series/interface.js.map +1 -0
  178. package/cjs/charts/pictogram/series/pictogram-transformer.d.ts +4 -0
  179. package/cjs/charts/pictogram/series/pictogram-transformer.js +23 -0
  180. package/cjs/charts/pictogram/series/pictogram-transformer.js.map +1 -0
  181. package/cjs/charts/pictogram/series/pictogram.d.ts +129 -0
  182. package/cjs/charts/pictogram/series/pictogram.js +296 -0
  183. package/cjs/charts/pictogram/series/pictogram.js.map +1 -0
  184. package/cjs/charts/pictogram/series/svg-source.d.ts +7 -0
  185. package/cjs/charts/pictogram/series/svg-source.js +38 -0
  186. package/cjs/charts/pictogram/series/svg-source.js.map +1 -0
  187. package/cjs/charts/pictogram/series/tooltip-helper.d.ts +7 -0
  188. package/cjs/charts/pictogram/series/tooltip-helper.js +26 -0
  189. package/cjs/charts/pictogram/series/tooltip-helper.js.map +1 -0
  190. package/cjs/charts/pictogram/series/transform.d.ts +76 -0
  191. package/cjs/charts/pictogram/series/transform.js +150 -0
  192. package/cjs/charts/pictogram/series/transform.js.map +1 -0
  193. package/cjs/charts/pie-3d/animation.d.ts +1 -0
  194. package/cjs/charts/pie-3d/animation.js +17 -0
  195. package/cjs/charts/pie-3d/animation.js.map +1 -0
  196. package/cjs/charts/pie-3d/chart-spec-transformer.d.ts +6 -0
  197. package/cjs/charts/pie-3d/chart-spec-transformer.js +18 -0
  198. package/cjs/charts/pie-3d/chart-spec-transformer.js.map +1 -0
  199. package/cjs/charts/pie-3d/chart.d.ts +13 -0
  200. package/cjs/charts/pie-3d/chart.js +25 -0
  201. package/cjs/charts/pie-3d/chart.js.map +1 -0
  202. package/cjs/charts/pie-3d/constant.d.ts +70 -0
  203. package/cjs/charts/pie-3d/constant.js +19 -0
  204. package/cjs/charts/pie-3d/constant.js.map +1 -0
  205. package/cjs/charts/pie-3d/index.d.ts +5 -0
  206. package/cjs/charts/pie-3d/index.js +23 -0
  207. package/cjs/charts/pie-3d/index.js.map +1 -0
  208. package/cjs/charts/pie-3d/interface.d.ts +17 -0
  209. package/cjs/charts/pie-3d/interface.js +6 -0
  210. package/cjs/charts/pie-3d/interface.js.map +1 -0
  211. package/cjs/charts/pie-3d/series-spec-transformer.d.ts +5 -0
  212. package/cjs/charts/pie-3d/series-spec-transformer.js +16 -0
  213. package/cjs/charts/pie-3d/series-spec-transformer.js.map +1 -0
  214. package/cjs/charts/pie-3d/series.d.ts +88 -0
  215. package/cjs/charts/pie-3d/series.js +42 -0
  216. package/cjs/charts/pie-3d/series.js.map +1 -0
  217. package/cjs/charts/pie-3d/theme.d.ts +2 -0
  218. package/cjs/charts/pie-3d/theme.js +19 -0
  219. package/cjs/charts/pie-3d/theme.js.map +1 -0
  220. package/cjs/charts/range-column-3d/chart-spec-transformer.d.ts +5 -0
  221. package/cjs/charts/range-column-3d/chart-spec-transformer.js +19 -0
  222. package/cjs/charts/range-column-3d/chart-spec-transformer.js.map +1 -0
  223. package/cjs/charts/range-column-3d/chart.d.ts +13 -0
  224. package/cjs/charts/range-column-3d/chart.js +31 -0
  225. package/cjs/charts/range-column-3d/chart.js.map +1 -0
  226. package/cjs/charts/range-column-3d/constant.d.ts +19 -0
  227. package/cjs/charts/range-column-3d/constant.js +19 -0
  228. package/cjs/charts/range-column-3d/constant.js.map +1 -0
  229. package/cjs/charts/range-column-3d/index.d.ts +5 -0
  230. package/cjs/charts/range-column-3d/index.js +23 -0
  231. package/cjs/charts/range-column-3d/index.js.map +1 -0
  232. package/cjs/charts/range-column-3d/interface.d.ts +8 -0
  233. package/cjs/charts/range-column-3d/interface.js +6 -0
  234. package/cjs/charts/range-column-3d/interface.js.map +1 -0
  235. package/cjs/charts/range-column-3d/series-spec-transformer.d.ts +6 -0
  236. package/cjs/charts/range-column-3d/series-spec-transformer.js +17 -0
  237. package/cjs/charts/range-column-3d/series-spec-transformer.js.map +1 -0
  238. package/cjs/charts/range-column-3d/series.d.ts +30 -0
  239. package/cjs/charts/range-column-3d/series.js +27 -0
  240. package/cjs/charts/range-column-3d/series.js.map +1 -0
  241. package/cjs/charts/ranking-bar/interface.js +1 -1
  242. package/cjs/charts/ranking-bar/interface.js.map +1 -1
  243. package/cjs/charts/ranking-bar/ranking-bar-transformer.js +1 -1
  244. package/cjs/charts/ranking-bar/ranking-bar-transformer.js.map +1 -1
  245. package/cjs/charts/ranking-bar/ranking-bar.js +1 -1
  246. package/cjs/charts/ranking-bar/ranking-bar.js.map +1 -1
  247. package/cjs/charts/ranking-list/constant.d.ts +2 -0
  248. package/cjs/charts/ranking-list/constant.js +75 -0
  249. package/cjs/charts/ranking-list/constant.js.map +1 -0
  250. package/cjs/charts/ranking-list/interface.d.ts +74 -0
  251. package/cjs/charts/ranking-list/interface.js +6 -0
  252. package/cjs/charts/ranking-list/interface.js.map +1 -0
  253. package/cjs/charts/ranking-list/ranking-list-transformer.d.ts +460 -0
  254. package/cjs/charts/ranking-list/ranking-list-transformer.js +383 -0
  255. package/cjs/charts/ranking-list/ranking-list-transformer.js.map +1 -0
  256. package/cjs/charts/ranking-list/ranking-list.d.ts +16 -0
  257. package/cjs/charts/ranking-list/ranking-list.js +34 -0
  258. package/cjs/charts/ranking-list/ranking-list.js.map +1 -0
  259. package/cjs/charts/ranking-list/utils.d.ts +7 -0
  260. package/cjs/charts/ranking-list/utils.js +51 -0
  261. package/cjs/charts/ranking-list/utils.js.map +1 -0
  262. package/cjs/charts/sequence-scatter-kde/constant.d.ts +3 -0
  263. package/cjs/charts/sequence-scatter-kde/constant.js +7 -0
  264. package/cjs/charts/sequence-scatter-kde/constant.js.map +1 -0
  265. package/cjs/charts/sequence-scatter-kde/interface.d.ts +29 -0
  266. package/cjs/charts/sequence-scatter-kde/interface.js +6 -0
  267. package/cjs/charts/sequence-scatter-kde/interface.js.map +1 -0
  268. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.d.ts +6 -0
  269. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js +142 -0
  270. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js.map +1 -0
  271. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.d.ts +16 -0
  272. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.js +34 -0
  273. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.js.map +1 -0
  274. package/cjs/charts/sequence-scatter-kde/utils.d.ts +9 -0
  275. package/cjs/charts/sequence-scatter-kde/utils.js +42 -0
  276. package/cjs/charts/sequence-scatter-kde/utils.js.map +1 -0
  277. package/cjs/charts/sequence-scatter-link/interface.d.ts +59 -0
  278. package/cjs/charts/sequence-scatter-link/interface.js +6 -0
  279. package/cjs/charts/sequence-scatter-link/interface.js.map +1 -0
  280. package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.d.ts +6 -0
  281. package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.js +328 -0
  282. package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.js.map +1 -0
  283. package/cjs/charts/sequence-scatter-link/sequence-scatter-link.d.ts +16 -0
  284. package/cjs/charts/sequence-scatter-link/sequence-scatter-link.js +34 -0
  285. package/cjs/charts/sequence-scatter-link/sequence-scatter-link.js.map +1 -0
  286. package/cjs/charts/sequence-scatter-pixel/constant.d.ts +3 -0
  287. package/cjs/charts/sequence-scatter-pixel/constant.js +7 -0
  288. package/cjs/charts/sequence-scatter-pixel/constant.js.map +1 -0
  289. package/cjs/charts/sequence-scatter-pixel/interface.d.ts +29 -0
  290. package/cjs/charts/sequence-scatter-pixel/interface.js +6 -0
  291. package/cjs/charts/sequence-scatter-pixel/interface.js.map +1 -0
  292. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.d.ts +4 -0
  293. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js +68 -0
  294. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js.map +1 -0
  295. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.d.ts +16 -0
  296. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.js +34 -0
  297. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.js.map +1 -0
  298. package/cjs/charts/sequence-scatter-pixel/utils.d.ts +3 -0
  299. package/cjs/charts/sequence-scatter-pixel/utils.js +54 -0
  300. package/cjs/charts/sequence-scatter-pixel/utils.js.map +1 -0
  301. package/cjs/charts/word-cloud-3d/animation.d.ts +4 -0
  302. package/cjs/charts/word-cloud-3d/animation.js +24 -0
  303. package/cjs/charts/word-cloud-3d/animation.js.map +1 -0
  304. package/cjs/charts/word-cloud-3d/chart-spec-transformer.d.ts +5 -0
  305. package/cjs/charts/word-cloud-3d/chart-spec-transformer.js +17 -0
  306. package/cjs/charts/word-cloud-3d/chart-spec-transformer.js.map +1 -0
  307. package/cjs/charts/word-cloud-3d/chart.d.ts +14 -0
  308. package/cjs/charts/word-cloud-3d/chart.js +31 -0
  309. package/cjs/charts/word-cloud-3d/chart.js.map +1 -0
  310. package/cjs/charts/word-cloud-3d/index.d.ts +4 -0
  311. package/cjs/charts/word-cloud-3d/index.js +22 -0
  312. package/cjs/charts/word-cloud-3d/index.js.map +1 -0
  313. package/cjs/charts/word-cloud-3d/interface.d.ts +22 -0
  314. package/cjs/charts/word-cloud-3d/interface.js +6 -0
  315. package/cjs/charts/word-cloud-3d/interface.js.map +1 -0
  316. package/cjs/charts/word-cloud-3d/series.d.ts +37 -0
  317. package/cjs/charts/word-cloud-3d/series.js +80 -0
  318. package/cjs/charts/word-cloud-3d/series.js.map +1 -0
  319. package/cjs/charts/word-cloud-3d/theme.d.ts +2 -0
  320. package/cjs/charts/word-cloud-3d/theme.js +14 -0
  321. package/cjs/charts/word-cloud-3d/theme.js.map +1 -0
  322. package/cjs/components/bar-link/bar-link.d.ts +1 -1
  323. package/cjs/components/bar-link/bar-link.js +5 -5
  324. package/cjs/components/bar-link/bar-link.js.map +1 -1
  325. package/cjs/components/bar-link/constant.js.map +1 -1
  326. package/cjs/components/bar-link/index.js +2 -1
  327. package/cjs/components/bar-link/index.js.map +1 -1
  328. package/cjs/components/bar-link/type.js.map +1 -1
  329. package/cjs/components/bar-link/util.d.ts +3 -4
  330. package/cjs/components/bar-link/util.js +10 -10
  331. package/cjs/components/bar-link/util.js.map +1 -1
  332. package/cjs/components/map-label/index.d.ts +2 -0
  333. package/cjs/components/map-label/index.js +21 -0
  334. package/cjs/components/map-label/index.js.map +1 -0
  335. package/cjs/components/map-label/layout.d.ts +23 -0
  336. package/cjs/components/map-label/layout.js +154 -0
  337. package/cjs/components/map-label/layout.js.map +1 -0
  338. package/cjs/components/map-label/map-label-transformer.d.ts +5 -0
  339. package/cjs/components/map-label/map-label-transformer.js +16 -0
  340. package/cjs/components/map-label/map-label-transformer.js.map +1 -0
  341. package/cjs/components/map-label/map-label.d.ts +53 -0
  342. package/cjs/components/map-label/map-label.js +266 -0
  343. package/cjs/components/map-label/map-label.js.map +1 -0
  344. package/cjs/components/map-label/theme.d.ts +2 -0
  345. package/cjs/components/map-label/theme.js +63 -0
  346. package/cjs/components/map-label/theme.js.map +1 -0
  347. package/cjs/components/map-label/type.d.ts +39 -0
  348. package/cjs/components/map-label/type.js +6 -0
  349. package/cjs/components/map-label/type.js.map +1 -0
  350. package/cjs/components/series-break/constant.js +1 -2
  351. package/cjs/components/series-break/constant.js.map +1 -1
  352. package/cjs/components/series-break/index.js.map +1 -1
  353. package/cjs/components/series-break/series-break.js.map +1 -1
  354. package/cjs/components/series-break/type.js.map +1 -1
  355. package/cjs/components/series-break/util.d.ts +2 -2
  356. package/cjs/components/series-break/util.js.map +1 -1
  357. package/cjs/components/series-label/constant.js.map +1 -1
  358. package/cjs/components/series-label/index.js.map +1 -1
  359. package/cjs/components/series-label/series-label.js +2 -2
  360. package/cjs/components/series-label/series-label.js.map +1 -1
  361. package/cjs/components/series-label/type.js.map +1 -1
  362. package/cjs/components/series-label/util.js +4 -4
  363. package/cjs/components/series-label/util.js.map +1 -1
  364. package/cjs/index.d.ts +13 -0
  365. package/cjs/index.js +19 -3
  366. package/cjs/index.js.map +1 -1
  367. package/cjs/type/index.js.map +1 -1
  368. package/cjs/type/type.js.map +1 -1
  369. package/cjs/utils/element.js.map +1 -1
  370. package/cjs/utils/math.js.map +1 -1
  371. package/esm/charts/3d/arc-3d.d.ts +11 -0
  372. package/esm/charts/3d/arc-3d.js +25 -0
  373. package/esm/charts/3d/arc-3d.js.map +1 -0
  374. package/esm/charts/3d/enum.d.ts +33 -0
  375. package/esm/charts/3d/enum.js +36 -0
  376. package/esm/charts/3d/enum.js.map +1 -0
  377. package/esm/charts/3d/interface.d.ts +13 -0
  378. package/esm/charts/3d/interface.js +2 -0
  379. package/esm/charts/3d/interface.js.map +1 -0
  380. package/esm/charts/3d/layout.d.ts +21 -0
  381. package/esm/charts/3d/layout.js +87 -0
  382. package/esm/charts/3d/layout.js.map +1 -0
  383. package/esm/charts/3d/plugin.d.ts +12 -0
  384. package/esm/charts/3d/plugin.js +31 -0
  385. package/esm/charts/3d/plugin.js.map +1 -0
  386. package/esm/charts/3d/pyramid-3d.d.ts +11 -0
  387. package/esm/charts/3d/pyramid-3d.js +26 -0
  388. package/esm/charts/3d/pyramid-3d.js.map +1 -0
  389. package/esm/charts/3d/rect-3d.d.ts +13 -0
  390. package/esm/charts/3d/rect-3d.js +32 -0
  391. package/esm/charts/3d/rect-3d.js.map +1 -0
  392. package/esm/charts/3d/util.d.ts +3 -0
  393. package/esm/charts/3d/util.js +10 -0
  394. package/esm/charts/3d/util.js.map +1 -0
  395. package/esm/charts/axis-3d/band-axis.d.ts +46 -0
  396. package/esm/charts/axis-3d/band-axis.js +25 -0
  397. package/esm/charts/axis-3d/band-axis.js.map +1 -0
  398. package/esm/charts/axis-3d/index.d.ts +1 -0
  399. package/esm/charts/axis-3d/index.js +19 -0
  400. package/esm/charts/axis-3d/index.js.map +1 -0
  401. package/esm/charts/axis-3d/linear-axis.d.ts +42 -0
  402. package/esm/charts/axis-3d/linear-axis.js +30 -0
  403. package/esm/charts/axis-3d/linear-axis.js.map +1 -0
  404. package/esm/charts/axis-3d/log-axis.d.ts +46 -0
  405. package/esm/charts/axis-3d/log-axis.js +25 -0
  406. package/esm/charts/axis-3d/log-axis.js.map +1 -0
  407. package/esm/charts/axis-3d/symlog-axis.d.ts +46 -0
  408. package/esm/charts/axis-3d/symlog-axis.js +25 -0
  409. package/esm/charts/axis-3d/symlog-axis.js.map +1 -0
  410. package/esm/charts/axis-3d/theme.d.ts +2 -0
  411. package/esm/charts/axis-3d/theme.js +6 -0
  412. package/esm/charts/axis-3d/theme.js.map +1 -0
  413. package/esm/charts/axis-3d/time-axis.d.ts +45 -0
  414. package/esm/charts/axis-3d/time-axis.js +24 -0
  415. package/esm/charts/axis-3d/time-axis.js.map +1 -0
  416. package/esm/charts/axis-3d/util.d.ts +2 -0
  417. package/esm/charts/axis-3d/util.js +39 -0
  418. package/esm/charts/axis-3d/util.js.map +1 -0
  419. package/esm/charts/bar-3d/animation.d.ts +1 -0
  420. package/esm/charts/bar-3d/animation.js +11 -0
  421. package/esm/charts/bar-3d/animation.js.map +1 -0
  422. package/esm/charts/bar-3d/chart-spec-transformer.d.ts +6 -0
  423. package/esm/charts/bar-3d/chart-spec-transformer.js +11 -0
  424. package/esm/charts/bar-3d/chart-spec-transformer.js.map +1 -0
  425. package/esm/charts/bar-3d/chart.d.ts +13 -0
  426. package/esm/charts/bar-3d/chart.js +25 -0
  427. package/esm/charts/bar-3d/chart.js.map +1 -0
  428. package/esm/charts/bar-3d/constant.d.ts +12 -0
  429. package/esm/charts/bar-3d/constant.js +11 -0
  430. package/esm/charts/bar-3d/constant.js.map +1 -0
  431. package/esm/charts/bar-3d/index.d.ts +5 -0
  432. package/esm/charts/bar-3d/index.js +10 -0
  433. package/esm/charts/bar-3d/index.js.map +1 -0
  434. package/esm/charts/bar-3d/interface.d.ts +13 -0
  435. package/esm/charts/bar-3d/interface.js +2 -0
  436. package/esm/charts/bar-3d/interface.js.map +1 -0
  437. package/esm/charts/bar-3d/series-spec-transformer.d.ts +5 -0
  438. package/esm/charts/bar-3d/series-spec-transformer.js +7 -0
  439. package/esm/charts/bar-3d/series-spec-transformer.js.map +1 -0
  440. package/esm/charts/bar-3d/series.d.ts +17 -0
  441. package/esm/charts/bar-3d/series.js +30 -0
  442. package/esm/charts/bar-3d/series.js.map +1 -0
  443. package/esm/charts/bar-3d/theme.d.ts +2 -0
  444. package/esm/charts/bar-3d/theme.js +15 -0
  445. package/esm/charts/bar-3d/theme.js.map +1 -0
  446. package/esm/charts/conversion-funnel/arrow-data-transform.js.map +1 -1
  447. package/esm/charts/conversion-funnel/constants.d.ts +21 -0
  448. package/esm/charts/conversion-funnel/constants.js +25 -0
  449. package/esm/charts/conversion-funnel/constants.js.map +1 -0
  450. package/esm/charts/conversion-funnel/conversion-funnel-transformer.d.ts +2 -3
  451. package/esm/charts/conversion-funnel/conversion-funnel-transformer.js +4 -3
  452. package/esm/charts/conversion-funnel/conversion-funnel-transformer.js.map +1 -1
  453. package/esm/charts/conversion-funnel/conversion-funnel.d.ts +0 -21
  454. package/esm/charts/conversion-funnel/conversion-funnel.js +0 -25
  455. package/esm/charts/conversion-funnel/conversion-funnel.js.map +1 -1
  456. package/esm/charts/conversion-funnel/index.js.map +1 -1
  457. package/esm/charts/conversion-funnel/interface.js +1 -1
  458. package/esm/charts/conversion-funnel/interface.js.map +1 -1
  459. package/esm/charts/conversion-funnel/util.d.ts +1 -1
  460. package/esm/charts/conversion-funnel/util.js +1 -1
  461. package/esm/charts/conversion-funnel/util.js.map +1 -1
  462. package/esm/charts/funnel-3d/chart.d.ts +12 -0
  463. package/esm/charts/funnel-3d/chart.js +25 -0
  464. package/esm/charts/funnel-3d/chart.js.map +1 -0
  465. package/esm/charts/funnel-3d/constant.d.ts +80 -0
  466. package/esm/charts/funnel-3d/constant.js +25 -0
  467. package/esm/charts/funnel-3d/constant.js.map +1 -0
  468. package/esm/charts/funnel-3d/index.d.ts +4 -0
  469. package/esm/charts/funnel-3d/index.js +8 -0
  470. package/esm/charts/funnel-3d/index.js.map +1 -0
  471. package/esm/charts/funnel-3d/interface.d.ts +18 -0
  472. package/esm/charts/funnel-3d/interface.js +2 -0
  473. package/esm/charts/funnel-3d/interface.js.map +1 -0
  474. package/esm/charts/funnel-3d/series-spec-transformer.d.ts +5 -0
  475. package/esm/charts/funnel-3d/series-spec-transformer.js +8 -0
  476. package/esm/charts/funnel-3d/series-spec-transformer.js.map +1 -0
  477. package/esm/charts/funnel-3d/series.d.ts +99 -0
  478. package/esm/charts/funnel-3d/series.js +84 -0
  479. package/esm/charts/funnel-3d/series.js.map +1 -0
  480. package/esm/charts/funnel-3d/theme.d.ts +1 -0
  481. package/esm/charts/funnel-3d/theme.js +4 -0
  482. package/esm/charts/funnel-3d/theme.js.map +1 -0
  483. package/esm/charts/histogram-3d/chart.d.ts +12 -0
  484. package/esm/charts/histogram-3d/chart.js +30 -0
  485. package/esm/charts/histogram-3d/chart.js.map +1 -0
  486. package/esm/charts/histogram-3d/index.d.ts +2 -0
  487. package/esm/charts/histogram-3d/index.js +4 -0
  488. package/esm/charts/histogram-3d/index.js.map +1 -0
  489. package/esm/charts/histogram-3d/interface.d.ts +5 -0
  490. package/esm/charts/histogram-3d/interface.js +2 -0
  491. package/esm/charts/histogram-3d/interface.js.map +1 -0
  492. package/esm/charts/image-cloud/image-cloud-transformer.d.ts +6 -0
  493. package/esm/charts/image-cloud/image-cloud-transformer.js +11 -0
  494. package/esm/charts/image-cloud/image-cloud-transformer.js.map +1 -0
  495. package/esm/charts/image-cloud/image-cloud.d.ts +12 -0
  496. package/esm/charts/image-cloud/image-cloud.js +22 -0
  497. package/esm/charts/image-cloud/image-cloud.js.map +1 -0
  498. package/esm/charts/image-cloud/index.d.ts +2 -0
  499. package/esm/charts/image-cloud/index.js +4 -0
  500. package/esm/charts/image-cloud/index.js.map +1 -0
  501. package/esm/charts/image-cloud/interface.d.ts +6 -0
  502. package/esm/charts/image-cloud/interface.js +2 -0
  503. package/esm/charts/image-cloud/interface.js.map +1 -0
  504. package/esm/charts/image-cloud/series/animation.d.ts +23 -0
  505. package/esm/charts/image-cloud/series/animation.js +94 -0
  506. package/esm/charts/image-cloud/series/animation.js.map +1 -0
  507. package/esm/charts/image-cloud/series/constant.d.ts +76 -0
  508. package/esm/charts/image-cloud/series/constant.js +23 -0
  509. package/esm/charts/image-cloud/series/constant.js.map +1 -0
  510. package/esm/charts/image-cloud/series/image-cloud.d.ts +137 -0
  511. package/esm/charts/image-cloud/series/image-cloud.js +198 -0
  512. package/esm/charts/image-cloud/series/image-cloud.js.map +1 -0
  513. package/esm/charts/image-cloud/series/index.d.ts +2 -0
  514. package/esm/charts/image-cloud/series/index.js +4 -0
  515. package/esm/charts/image-cloud/series/index.js.map +1 -0
  516. package/esm/charts/image-cloud/series/interface.d.ts +25 -0
  517. package/esm/charts/image-cloud/series/interface.js +2 -0
  518. package/esm/charts/image-cloud/series/interface.js.map +1 -0
  519. package/esm/charts/image-cloud/series/tooltip-helper.d.ts +10 -0
  520. package/esm/charts/image-cloud/series/tooltip-helper.js +22 -0
  521. package/esm/charts/image-cloud/series/tooltip-helper.js.map +1 -0
  522. package/esm/charts/pictogram/element-highlight-by-graphic-name.d.ts +12 -0
  523. package/esm/charts/pictogram/element-highlight-by-graphic-name.js +49 -0
  524. package/esm/charts/pictogram/element-highlight-by-graphic-name.js.map +1 -0
  525. package/esm/charts/pictogram/element-select-by-graphic-name.d.ts +8 -0
  526. package/esm/charts/pictogram/element-select-by-graphic-name.js +25 -0
  527. package/esm/charts/pictogram/element-select-by-graphic-name.js.map +1 -0
  528. package/esm/charts/pictogram/index.d.ts +5 -0
  529. package/esm/charts/pictogram/index.js +10 -0
  530. package/esm/charts/pictogram/index.js.map +1 -0
  531. package/esm/charts/pictogram/interface.d.ts +6 -0
  532. package/esm/charts/pictogram/interface.js +2 -0
  533. package/esm/charts/pictogram/interface.js.map +1 -0
  534. package/esm/charts/pictogram/pictogram-transformer.d.ts +8 -0
  535. package/esm/charts/pictogram/pictogram-transformer.js +18 -0
  536. package/esm/charts/pictogram/pictogram-transformer.js.map +1 -0
  537. package/esm/charts/pictogram/pictogram.d.ts +12 -0
  538. package/esm/charts/pictogram/pictogram.js +22 -0
  539. package/esm/charts/pictogram/pictogram.js.map +1 -0
  540. package/esm/charts/pictogram/series/constant.d.ts +73 -0
  541. package/esm/charts/pictogram/series/constant.js +23 -0
  542. package/esm/charts/pictogram/series/constant.js.map +1 -0
  543. package/esm/charts/pictogram/series/interface.d.ts +13 -0
  544. package/esm/charts/pictogram/series/interface.js +2 -0
  545. package/esm/charts/pictogram/series/interface.js.map +1 -0
  546. package/esm/charts/pictogram/series/pictogram-transformer.d.ts +4 -0
  547. package/esm/charts/pictogram/series/pictogram-transformer.js +19 -0
  548. package/esm/charts/pictogram/series/pictogram-transformer.js.map +1 -0
  549. package/esm/charts/pictogram/series/pictogram.d.ts +129 -0
  550. package/esm/charts/pictogram/series/pictogram.js +305 -0
  551. package/esm/charts/pictogram/series/pictogram.js.map +1 -0
  552. package/esm/charts/pictogram/series/svg-source.d.ts +7 -0
  553. package/esm/charts/pictogram/series/svg-source.js +33 -0
  554. package/esm/charts/pictogram/series/svg-source.js.map +1 -0
  555. package/esm/charts/pictogram/series/tooltip-helper.d.ts +7 -0
  556. package/esm/charts/pictogram/series/tooltip-helper.js +18 -0
  557. package/esm/charts/pictogram/series/tooltip-helper.js.map +1 -0
  558. package/esm/charts/pictogram/series/transform.d.ts +76 -0
  559. package/esm/charts/pictogram/series/transform.js +144 -0
  560. package/esm/charts/pictogram/series/transform.js.map +1 -0
  561. package/esm/charts/pie-3d/animation.d.ts +1 -0
  562. package/esm/charts/pie-3d/animation.js +11 -0
  563. package/esm/charts/pie-3d/animation.js.map +1 -0
  564. package/esm/charts/pie-3d/chart-spec-transformer.d.ts +6 -0
  565. package/esm/charts/pie-3d/chart-spec-transformer.js +10 -0
  566. package/esm/charts/pie-3d/chart-spec-transformer.js.map +1 -0
  567. package/esm/charts/pie-3d/chart.d.ts +13 -0
  568. package/esm/charts/pie-3d/chart.js +26 -0
  569. package/esm/charts/pie-3d/chart.js.map +1 -0
  570. package/esm/charts/pie-3d/constant.d.ts +70 -0
  571. package/esm/charts/pie-3d/constant.js +13 -0
  572. package/esm/charts/pie-3d/constant.js.map +1 -0
  573. package/esm/charts/pie-3d/index.d.ts +5 -0
  574. package/esm/charts/pie-3d/index.js +10 -0
  575. package/esm/charts/pie-3d/index.js.map +1 -0
  576. package/esm/charts/pie-3d/interface.d.ts +17 -0
  577. package/esm/charts/pie-3d/interface.js +2 -0
  578. package/esm/charts/pie-3d/interface.js.map +1 -0
  579. package/esm/charts/pie-3d/series-spec-transformer.d.ts +5 -0
  580. package/esm/charts/pie-3d/series-spec-transformer.js +8 -0
  581. package/esm/charts/pie-3d/series-spec-transformer.js.map +1 -0
  582. package/esm/charts/pie-3d/series.d.ts +88 -0
  583. package/esm/charts/pie-3d/series.js +45 -0
  584. package/esm/charts/pie-3d/series.js.map +1 -0
  585. package/esm/charts/pie-3d/theme.d.ts +2 -0
  586. package/esm/charts/pie-3d/theme.js +15 -0
  587. package/esm/charts/pie-3d/theme.js.map +1 -0
  588. package/esm/charts/range-column-3d/chart-spec-transformer.d.ts +5 -0
  589. package/esm/charts/range-column-3d/chart-spec-transformer.js +11 -0
  590. package/esm/charts/range-column-3d/chart-spec-transformer.js.map +1 -0
  591. package/esm/charts/range-column-3d/chart.d.ts +13 -0
  592. package/esm/charts/range-column-3d/chart.js +32 -0
  593. package/esm/charts/range-column-3d/chart.js.map +1 -0
  594. package/esm/charts/range-column-3d/constant.d.ts +19 -0
  595. package/esm/charts/range-column-3d/constant.js +13 -0
  596. package/esm/charts/range-column-3d/constant.js.map +1 -0
  597. package/esm/charts/range-column-3d/index.d.ts +5 -0
  598. package/esm/charts/range-column-3d/index.js +10 -0
  599. package/esm/charts/range-column-3d/index.js.map +1 -0
  600. package/esm/charts/range-column-3d/interface.d.ts +8 -0
  601. package/esm/charts/range-column-3d/interface.js +2 -0
  602. package/esm/charts/range-column-3d/interface.js.map +1 -0
  603. package/esm/charts/range-column-3d/series-spec-transformer.d.ts +6 -0
  604. package/esm/charts/range-column-3d/series-spec-transformer.js +9 -0
  605. package/esm/charts/range-column-3d/series-spec-transformer.js.map +1 -0
  606. package/esm/charts/range-column-3d/series.d.ts +30 -0
  607. package/esm/charts/range-column-3d/series.js +24 -0
  608. package/esm/charts/range-column-3d/series.js.map +1 -0
  609. package/esm/charts/ranking-bar/interface.js +1 -1
  610. package/esm/charts/ranking-bar/interface.js.map +1 -1
  611. package/esm/charts/ranking-bar/ranking-bar-transformer.js +1 -1
  612. package/esm/charts/ranking-bar/ranking-bar-transformer.js.map +1 -1
  613. package/esm/charts/ranking-bar/ranking-bar.js +1 -1
  614. package/esm/charts/ranking-bar/ranking-bar.js.map +1 -1
  615. package/esm/charts/ranking-list/constant.d.ts +2 -0
  616. package/esm/charts/ranking-list/constant.js +69 -0
  617. package/esm/charts/ranking-list/constant.js.map +1 -0
  618. package/esm/charts/ranking-list/interface.d.ts +74 -0
  619. package/esm/charts/ranking-list/interface.js +2 -0
  620. package/esm/charts/ranking-list/interface.js.map +1 -0
  621. package/esm/charts/ranking-list/ranking-list-transformer.d.ts +460 -0
  622. package/esm/charts/ranking-list/ranking-list-transformer.js +383 -0
  623. package/esm/charts/ranking-list/ranking-list-transformer.js.map +1 -0
  624. package/esm/charts/ranking-list/ranking-list.d.ts +16 -0
  625. package/esm/charts/ranking-list/ranking-list.js +27 -0
  626. package/esm/charts/ranking-list/ranking-list.js.map +1 -0
  627. package/esm/charts/ranking-list/utils.d.ts +7 -0
  628. package/esm/charts/ranking-list/utils.js +41 -0
  629. package/esm/charts/ranking-list/utils.js.map +1 -0
  630. package/esm/charts/sequence-scatter-kde/constant.d.ts +3 -0
  631. package/esm/charts/sequence-scatter-kde/constant.js +6 -0
  632. package/esm/charts/sequence-scatter-kde/constant.js.map +1 -0
  633. package/esm/charts/sequence-scatter-kde/interface.d.ts +29 -0
  634. package/esm/charts/sequence-scatter-kde/interface.js +2 -0
  635. package/esm/charts/sequence-scatter-kde/interface.js.map +1 -0
  636. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.d.ts +6 -0
  637. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js +137 -0
  638. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js.map +1 -0
  639. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.d.ts +16 -0
  640. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.js +28 -0
  641. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.js.map +1 -0
  642. package/esm/charts/sequence-scatter-kde/utils.d.ts +9 -0
  643. package/esm/charts/sequence-scatter-kde/utils.js +34 -0
  644. package/esm/charts/sequence-scatter-kde/utils.js.map +1 -0
  645. package/esm/charts/sequence-scatter-link/interface.d.ts +59 -0
  646. package/esm/charts/sequence-scatter-link/interface.js +2 -0
  647. package/esm/charts/sequence-scatter-link/interface.js.map +1 -0
  648. package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.d.ts +6 -0
  649. package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.js +321 -0
  650. package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.js.map +1 -0
  651. package/esm/charts/sequence-scatter-link/sequence-scatter-link.d.ts +16 -0
  652. package/esm/charts/sequence-scatter-link/sequence-scatter-link.js +28 -0
  653. package/esm/charts/sequence-scatter-link/sequence-scatter-link.js.map +1 -0
  654. package/esm/charts/sequence-scatter-pixel/constant.d.ts +3 -0
  655. package/esm/charts/sequence-scatter-pixel/constant.js +6 -0
  656. package/esm/charts/sequence-scatter-pixel/constant.js.map +1 -0
  657. package/esm/charts/sequence-scatter-pixel/interface.d.ts +29 -0
  658. package/esm/charts/sequence-scatter-pixel/interface.js +2 -0
  659. package/esm/charts/sequence-scatter-pixel/interface.js.map +1 -0
  660. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.d.ts +4 -0
  661. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js +64 -0
  662. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js.map +1 -0
  663. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.d.ts +16 -0
  664. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.js +28 -0
  665. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.js.map +1 -0
  666. package/esm/charts/sequence-scatter-pixel/utils.d.ts +3 -0
  667. package/esm/charts/sequence-scatter-pixel/utils.js +46 -0
  668. package/esm/charts/sequence-scatter-pixel/utils.js.map +1 -0
  669. package/esm/charts/word-cloud-3d/animation.d.ts +4 -0
  670. package/esm/charts/word-cloud-3d/animation.js +18 -0
  671. package/esm/charts/word-cloud-3d/animation.js.map +1 -0
  672. package/esm/charts/word-cloud-3d/chart-spec-transformer.d.ts +5 -0
  673. package/esm/charts/word-cloud-3d/chart-spec-transformer.js +9 -0
  674. package/esm/charts/word-cloud-3d/chart-spec-transformer.js.map +1 -0
  675. package/esm/charts/word-cloud-3d/chart.d.ts +14 -0
  676. package/esm/charts/word-cloud-3d/chart.js +29 -0
  677. package/esm/charts/word-cloud-3d/chart.js.map +1 -0
  678. package/esm/charts/word-cloud-3d/index.d.ts +4 -0
  679. package/esm/charts/word-cloud-3d/index.js +8 -0
  680. package/esm/charts/word-cloud-3d/index.js.map +1 -0
  681. package/esm/charts/word-cloud-3d/interface.d.ts +22 -0
  682. package/esm/charts/word-cloud-3d/interface.js +2 -0
  683. package/esm/charts/word-cloud-3d/interface.js.map +1 -0
  684. package/esm/charts/word-cloud-3d/series.d.ts +37 -0
  685. package/esm/charts/word-cloud-3d/series.js +74 -0
  686. package/esm/charts/word-cloud-3d/series.js.map +1 -0
  687. package/esm/charts/word-cloud-3d/theme.d.ts +2 -0
  688. package/esm/charts/word-cloud-3d/theme.js +10 -0
  689. package/esm/charts/word-cloud-3d/theme.js.map +1 -0
  690. package/esm/components/bar-link/bar-link.d.ts +1 -1
  691. package/esm/components/bar-link/bar-link.js +1 -1
  692. package/esm/components/bar-link/bar-link.js.map +1 -1
  693. package/esm/components/bar-link/constant.js.map +1 -1
  694. package/esm/components/bar-link/index.js +2 -1
  695. package/esm/components/bar-link/index.js.map +1 -1
  696. package/esm/components/bar-link/type.js.map +1 -1
  697. package/esm/components/bar-link/util.d.ts +3 -4
  698. package/esm/components/bar-link/util.js +10 -11
  699. package/esm/components/bar-link/util.js.map +1 -1
  700. package/esm/components/map-label/index.d.ts +2 -0
  701. package/esm/components/map-label/index.js +4 -0
  702. package/esm/components/map-label/index.js.map +1 -0
  703. package/esm/components/map-label/layout.d.ts +23 -0
  704. package/esm/components/map-label/layout.js +143 -0
  705. package/esm/components/map-label/layout.js.map +1 -0
  706. package/esm/components/map-label/map-label-transformer.d.ts +5 -0
  707. package/esm/components/map-label/map-label-transformer.js +10 -0
  708. package/esm/components/map-label/map-label-transformer.js.map +1 -0
  709. package/esm/components/map-label/map-label.d.ts +53 -0
  710. package/esm/components/map-label/map-label.js +265 -0
  711. package/esm/components/map-label/map-label.js.map +1 -0
  712. package/esm/components/map-label/theme.d.ts +2 -0
  713. package/esm/components/map-label/theme.js +57 -0
  714. package/esm/components/map-label/theme.js.map +1 -0
  715. package/esm/components/map-label/type.d.ts +39 -0
  716. package/esm/components/map-label/type.js +2 -0
  717. package/esm/components/map-label/type.js.map +1 -0
  718. package/esm/components/series-break/constant.js +1 -2
  719. package/esm/components/series-break/constant.js.map +1 -1
  720. package/esm/components/series-break/index.js.map +1 -1
  721. package/esm/components/series-break/series-break.js.map +1 -1
  722. package/esm/components/series-break/type.js.map +1 -1
  723. package/esm/components/series-break/util.d.ts +2 -2
  724. package/esm/components/series-break/util.js.map +1 -1
  725. package/esm/components/series-label/constant.js.map +1 -1
  726. package/esm/components/series-label/index.js.map +1 -1
  727. package/esm/components/series-label/series-label.js +1 -1
  728. package/esm/components/series-label/series-label.js.map +1 -1
  729. package/esm/components/series-label/type.js.map +1 -1
  730. package/esm/components/series-label/util.js +4 -4
  731. package/esm/components/series-label/util.js.map +1 -1
  732. package/esm/index.d.ts +13 -0
  733. package/esm/index.js +27 -1
  734. package/esm/index.js.map +1 -1
  735. package/esm/type/index.js.map +1 -1
  736. package/esm/type/type.js.map +1 -1
  737. package/esm/utils/element.js.map +1 -1
  738. package/esm/utils/math.js.map +1 -1
  739. package/package.json +10 -9
@@ -0,0 +1,265 @@
1
+ import { DataView } from "@visactor/vdataset";
2
+
3
+ import { graphicCreator } from "@visactor/vrender-core";
4
+
5
+ import { isValid } from "@visactor/vutils";
6
+
7
+ import { MarkPoint } from "@visactor/vrender-components";
8
+
9
+ import { LayoutZIndex, normalizeLayoutPaddingSpec, transformToGraphic, TransformLevel, getSpecInfo, CompilableData, VChart, BaseComponent, getDatumOfGraphic } from "@visactor/vchart";
10
+
11
+ import { layoutByPosition, layoutOuter, placeRectByOrient } from "./layout";
12
+
13
+ import { MapLabelSpecTransformer } from "./map-label-transformer";
14
+
15
+ export class MapLabelComponent extends BaseComponent {
16
+ constructor() {
17
+ super(...arguments), this.type = "mapLabel", this.name = " mapLabel", this.specKey = "mapLabel",
18
+ this.transformerConstructor = MapLabelSpecTransformer, this.layoutType = "none",
19
+ this.layoutZIndex = LayoutZIndex.MarkPoint, this._activeDatum = [];
20
+ }
21
+ static getSpecInfo(chartSpec) {
22
+ return getSpecInfo(chartSpec, this.specKey, this.type, (s => s.visible && isValid(s.seriesId)));
23
+ }
24
+ setAttrFromSpec() {
25
+ var _a, _b, _c, _d;
26
+ this.nameField = null !== (_a = this._spec.nameField) && void 0 !== _a ? _a : null === (_b = this._series) || void 0 === _b ? void 0 : _b.getDimensionField()[0],
27
+ this.valueField = null !== (_c = this._spec.valueField) && void 0 !== _c ? _c : null === (_d = this._series) || void 0 === _d ? void 0 : _d.getMeasureField()[0];
28
+ }
29
+ created() {
30
+ super.created(), !1 != !!this._spec.visible && (this.initRelatedInfo(), this.initData(),
31
+ this.initEvent());
32
+ }
33
+ initRelatedInfo() {
34
+ var _a, _b, _c, _d, _e, _f, _g, _h;
35
+ this._series = this._option.getSeriesInUserIdOrIndex([ this._spec.seriesId ])[0],
36
+ "outer" === this._spec.position && (this._map = null === (_b = null === (_a = this._regions[0].getSeriesInType("map")[0]) || void 0 === _a ? void 0 : _a.getMapViewData()) || void 0 === _b ? void 0 : _b.latestData,
37
+ this._longitudeField = null === (_e = null === (_d = (_c = this._regions[0]).getSpec) || void 0 === _d ? void 0 : _d.call(_c)) || void 0 === _e ? void 0 : _e.longitudeField,
38
+ this._latitudeField = null === (_h = null === (_g = (_f = this._regions[0]).getSpec) || void 0 === _g ? void 0 : _g.call(_f)) || void 0 === _h ? void 0 : _h.latitudeField);
39
+ }
40
+ initData() {
41
+ const series = this._series;
42
+ if (!series) return;
43
+ const seriesData = series.getViewData();
44
+ if (seriesData) {
45
+ const data = new DataView(this._option.dataSet, {
46
+ name: `${this.name}_data`
47
+ });
48
+ data.parse([ seriesData ], {
49
+ type: "dataview"
50
+ }), data.transform({
51
+ type: "copyDataView",
52
+ level: TransformLevel.copyDataView
53
+ }, !1), this._data = new CompilableData(this._option, data), data.target.addListener("change", (() => {
54
+ "hover" !== this._spec.trigger && "click" !== this._spec.trigger && (this._activeDatum = this._data.getLatestData());
55
+ }));
56
+ }
57
+ }
58
+ initEvent() {
59
+ this.event.on("zoom", {
60
+ filter: params => this._isRelativeModel(params.model)
61
+ }, (() => (this.handleZoom(), !0))), this.event.on("panmove", {
62
+ filter: params => this._isRelativeModel(params.model)
63
+ }, (e => (this.handlePan(e), !0)));
64
+ const trigger = this._spec.trigger;
65
+ "none" !== trigger && ("hover" === trigger ? (this.event.on("element-highlight:start", (params => {
66
+ const g = params.graphics[0];
67
+ this._isRelativeSeries(g) && this._updateDatum(getDatumOfGraphic(g));
68
+ })), this.event.on("element-highlight:reset", (params => {
69
+ this._activeDatum && this._updateDatum(null);
70
+ }))) : "click" === trigger && (this.event.on("element-select:start", (params => {
71
+ const g = params.graphics[0];
72
+ this._isRelativeSeries(g) && this._updateDatum(getDatumOfGraphic(g));
73
+ })), this.event.on("elementSelectReset", (params => {
74
+ this._activeDatum && this._updateDatum([]);
75
+ }))));
76
+ }
77
+ handlePan(e) {
78
+ const {delta: delta} = e;
79
+ this._markerComponents.forEach((marker => {
80
+ marker.translate(delta[0], delta[1]);
81
+ }));
82
+ }
83
+ handleZoom() {
84
+ this._updateMarkerLayoutAttribute();
85
+ }
86
+ _updateDatum(datum) {
87
+ this._activeDatum = datum, this._markerComponents.forEach(((marker, index) => {
88
+ var _a;
89
+ const markerDatum = null === (_a = this._data) || void 0 === _a ? void 0 : _a.getLatestData()[index];
90
+ this._activeDatum.includes(markerDatum) ? marker.setAttribute("visible", !0) : marker.setAttribute("visible", !1);
91
+ }));
92
+ }
93
+ dataToPosition(datum) {
94
+ return this._series.dataToPosition(datum);
95
+ }
96
+ updateLayoutAttribute() {
97
+ var _a;
98
+ const markData = null === (_a = this._data) || void 0 === _a ? void 0 : _a.getLatestData();
99
+ markData && 0 !== markData.length && (super.updateLayoutAttribute(), this._updateMarkerLayoutAttribute());
100
+ }
101
+ _updateMarkerLayoutAttribute() {
102
+ var _a;
103
+ const layoutPairInfo = [], markerMarks = [];
104
+ this._markerComponents || (this._markerComponents = null === (_a = this._data) || void 0 === _a ? void 0 : _a.getLatestData().map(((data, index) => {
105
+ var _a;
106
+ const cmp = new MarkPoint({
107
+ position: void 0,
108
+ animation: !1
109
+ });
110
+ return cmp && (cmp.name = `${this.name}_marker_${index}`, cmp.id = null !== (_a = this._spec.id) && void 0 !== _a ? _a : `${this.name}_marker_${this.id}`,
111
+ cmp.setAttribute("zIndex", this.layoutZIndex)), cmp;
112
+ })));
113
+ this._markerComponents.forEach(((marker, index) => {
114
+ const {pairInfo: pairInfo, contentMarks: contentMarks} = this._evaluateMarker(this._data.getLatestData()[index], index);
115
+ pairInfo && layoutPairInfo.push(pairInfo), contentMarks && markerMarks.push(contentMarks);
116
+ }));
117
+ const positionedRects = this._layoutLabels(layoutPairInfo);
118
+ this._layoutMarkers(positionedRects, markerMarks), this._renderMarkers();
119
+ }
120
+ _evaluateMarker(data, index) {
121
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
122
+ let contentItemCount = 0, paddingWidth = 0, paddingHeight = 0, contentWidth = 0, contentHeight = 0;
123
+ const position = this._spec.position || "top", offset = this._spec.offset, padding = normalizeLayoutPaddingSpec(null === (_a = this._spec.background) || void 0 === _a ? void 0 : _a.padding), space = this._spec.space || 0;
124
+ paddingWidth += ((null == padding ? void 0 : padding.left) || 0) + ((null == padding ? void 0 : padding.right) || 0),
125
+ paddingHeight += ((null == padding ? void 0 : padding.top) || 0) + ((null == padding ? void 0 : padding.bottom) || 0);
126
+ const contentMarks = {}, positionAttr = this.dataToPosition(data), container = graphicCreator.group({});
127
+ if (container.name = `${this.name}_marker_itemContainer_${index}`, contentMarks.container = container,
128
+ null === (_b = this._spec.background) || void 0 === _b ? void 0 : _b.visible) {
129
+ const labelBackground = graphicCreator.rect(transformToGraphic(Object.assign({}, this._spec.background.style)));
130
+ labelBackground.setAttributes(positionAttr), contentMarks.labelBackground = labelBackground,
131
+ container.appendChild(labelBackground);
132
+ }
133
+ if (null === (_c = this._spec.icon) || void 0 === _c ? void 0 : _c.visible) {
134
+ const icon = graphicCreator.symbol(transformToGraphic(Object.assign({}, this._spec.icon.style)));
135
+ icon.setAttributes(positionAttr), icon.setAttribute("symbolType", null !== (_e = null === (_d = this._spec.icon.style) || void 0 === _d ? void 0 : _d.symbolType) && void 0 !== _e ? _e : null === (_f = this._spec.icon.style) || void 0 === _f ? void 0 : _f.shape);
136
+ const iconBound = icon.AABBBounds, iconHeight = null !== (_g = (null == iconBound ? void 0 : iconBound.y2) - (null == iconBound ? void 0 : iconBound.y1)) && void 0 !== _g ? _g : 0, iconWidth = null !== (_h = (null == iconBound ? void 0 : iconBound.x2) - (null == iconBound ? void 0 : iconBound.x1)) && void 0 !== _h ? _h : 0;
137
+ contentMarks.icon = icon, container.appendChild(icon), contentHeight = iconHeight,
138
+ contentWidth += iconWidth, contentItemCount++;
139
+ }
140
+ if (null === (_j = this._spec.nameLabel) || void 0 === _j ? void 0 : _j.visible) {
141
+ const nameLabel = graphicCreator.text(transformToGraphic(Object.assign({}, this._spec.nameLabel.style)));
142
+ nameLabel.setAttributes(positionAttr), nameLabel.setAttribute("text", data[this.nameField]);
143
+ const nameLabelBound = nameLabel.AABBBounds, nameLabelHeight = null !== (_k = (null == nameLabelBound ? void 0 : nameLabelBound.y2) - (null == nameLabelBound ? void 0 : nameLabelBound.y1)) && void 0 !== _k ? _k : 0, nameLabelWidth = null !== (_l = (null == nameLabelBound ? void 0 : nameLabelBound.x2) - (null == nameLabelBound ? void 0 : nameLabelBound.x1)) && void 0 !== _l ? _l : 0;
144
+ contentMarks.nameLabel = nameLabel, container.appendChild(nameLabel), contentHeight = Math.max(contentHeight, nameLabelHeight),
145
+ contentWidth += nameLabelWidth, contentItemCount++;
146
+ }
147
+ if ((null === (_m = this._spec.valueLabel) || void 0 === _m ? void 0 : _m.visible) && isValid(data[this.valueField])) {
148
+ const valueLabel = graphicCreator.text(transformToGraphic(Object.assign({}, this._spec.valueLabel.style)));
149
+ valueLabel.setAttributes(positionAttr), valueLabel.setAttribute("text", data[this.valueField]);
150
+ const valueLabelBound = valueLabel.AABBBounds, valueLabelHeight = null !== (_o = (null == valueLabelBound ? void 0 : valueLabelBound.y2) - (null == valueLabelBound ? void 0 : valueLabelBound.y1)) && void 0 !== _o ? _o : 0, valueLabelWidth = null !== (_p = (null == valueLabelBound ? void 0 : valueLabelBound.x2) - (null == valueLabelBound ? void 0 : valueLabelBound.x1)) && void 0 !== _p ? _p : 0;
151
+ contentMarks.valueLabel = valueLabel, container.appendChild(valueLabel), contentHeight = Math.max(contentHeight, valueLabelHeight),
152
+ contentWidth += valueLabelWidth, contentItemCount++;
153
+ }
154
+ const firstValidMark = Object.values(contentMarks).find((m => !!m && "group" !== m.type)), anchor = {
155
+ x: null == firstValidMark ? void 0 : firstValidMark.getComputedAttribute("x"),
156
+ y: null == firstValidMark ? void 0 : firstValidMark.getComputedAttribute("y")
157
+ }, itemRect = {
158
+ x: anchor.x,
159
+ y: anchor.y,
160
+ width: 0,
161
+ height: 0
162
+ };
163
+ itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space, itemRect.height = paddingHeight + contentHeight;
164
+ const pairInfo = {
165
+ rect: itemRect,
166
+ point: anchor,
167
+ index: index
168
+ };
169
+ if ("outer" !== position) {
170
+ const anchors = [ "top", "right", "left", "bottom" ].filter((a => a !== position));
171
+ pairInfo.rect = placeRectByOrient(itemRect, position, offset), pairInfo.anchors = anchors,
172
+ pairInfo.offset = offset;
173
+ } else pairInfo.pointCoord = {
174
+ x: +(null == data ? void 0 : data[this._longitudeField]),
175
+ y: +(null == data ? void 0 : data[this._latitudeField])
176
+ };
177
+ return {
178
+ pairInfo: pairInfo,
179
+ contentMarks: contentMarks
180
+ };
181
+ }
182
+ _layoutMarkers(positionedRects, contentMarks) {
183
+ var _a, _b, _c;
184
+ for (let i = 0; i < contentMarks.length; i++) {
185
+ if (!positionedRects[i] || !contentMarks[i]) return;
186
+ const {icon: icon, nameLabel: nameLabel, valueLabel: valueLabel, labelBackground: labelBackground, container: container} = contentMarks[i], itemRect = positionedRects[i], padding = normalizeLayoutPaddingSpec(null === (_a = this._spec.background) || void 0 === _a ? void 0 : _a.padding), space = this._spec.space || 0, curY = itemRect.height / 2;
187
+ let curX = (null == padding ? void 0 : padding.left) || 0;
188
+ [ icon, nameLabel, valueLabel ].forEach(((item, index) => {
189
+ var _a, _b;
190
+ if (item) {
191
+ const bounds = item.AABBBounds;
192
+ let offset = 0;
193
+ "symbol" === item.type && (offset += (null !== (_a = bounds.x2 - bounds.x1) && void 0 !== _a ? _a : 0) / 2),
194
+ item.setAttributes({
195
+ x: curX + offset,
196
+ y: curY
197
+ }), curX += null !== (_b = bounds.x2 - bounds.x1) && void 0 !== _b ? _b : 0, 2 !== index && (curX += space);
198
+ }
199
+ })), null == labelBackground || labelBackground.setAttributes({
200
+ x: 0,
201
+ y: 0,
202
+ width: itemRect.width,
203
+ height: itemRect.height
204
+ }), null == container || container.setAttributes({
205
+ dx: -itemRect.width / 2,
206
+ dy: -itemRect.height / 2
207
+ });
208
+ const datum = this._data.getLatestData()[i], anchor = this.dataToPosition(datum), regionPos = this.getRegions()[0].getLayoutStartPoint(), showLeader = !(!(null === (_b = this._spec.leader) || void 0 === _b ? void 0 : _b.visible) || !(icon || nameLabel || valueLabel));
209
+ this._markerComponents[i].setAttributes({
210
+ x: regionPos.x,
211
+ y: regionPos.y,
212
+ position: anchor,
213
+ visible: this._activeDatum.includes(datum),
214
+ itemContent: {
215
+ refX: 0,
216
+ type: "custom",
217
+ renderCustomCallback: () => container,
218
+ autoRotate: !1,
219
+ offsetX: itemRect.x + itemRect.width / 2 - anchor.x,
220
+ offsetY: itemRect.y + itemRect.height / 2 - anchor.y
221
+ },
222
+ itemLine: {
223
+ visible: showLeader,
224
+ type: "type-po",
225
+ lineStyle: transformToGraphic(Object.assign({}, null === (_c = this._spec.leader) || void 0 === _c ? void 0 : _c.style)),
226
+ startSymbol: {
227
+ visible: !1
228
+ }
229
+ }
230
+ });
231
+ }
232
+ }
233
+ _renderMarkers() {
234
+ if (this._markerComponents && this._markerComponents.length) for (let i = 0; i < this._markerComponents.length; i++) this.getContainer().add(this._markerComponents[i]);
235
+ }
236
+ _layoutLabels(rects) {
237
+ return "outer" === this._spec.position && this._map ? layoutOuter(rects, this._map, (coord => this._series.dataToPosition({
238
+ [this._longitudeField]: coord[0],
239
+ [this._latitudeField]: coord[1]
240
+ }))) : layoutByPosition(rects);
241
+ }
242
+ _isRelativeModel(model) {
243
+ var _a, _b, _c;
244
+ const id = null !== (_b = null === (_a = this._series.getXAxisHelper()) || void 0 === _a ? void 0 : _a.getAxisId()) && void 0 !== _b ? _b : null === (_c = this._series.getCoordinateHelper()) || void 0 === _c ? void 0 : _c.getCoordinateId();
245
+ return (null == model ? void 0 : model.id) === id;
246
+ }
247
+ _isRelativeSeries(g) {
248
+ var _a;
249
+ return (null === (_a = g.context) || void 0 === _a ? void 0 : _a.modelId) === this._series.id;
250
+ }
251
+ _getNeedClearVRenderComponents() {
252
+ return this._markerComponents;
253
+ }
254
+ getVRenderComponents() {
255
+ return this._markerComponents;
256
+ }
257
+ }
258
+
259
+ MapLabelComponent.type = "mapLabel", MapLabelComponent.specKey = "mapLabel", MapLabelComponent.transformerConstructor = MapLabelSpecTransformer;
260
+
261
+ export const registerMapLabel = option => {
262
+ const vchartConstructor = (null == option ? void 0 : option.VChart) || VChart;
263
+ vchartConstructor && vchartConstructor.useComponent([ MapLabelComponent ]);
264
+ };
265
+ //# sourceMappingURL=map-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/map-label/map-label.ts"],"names":[],"mappings":"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","file":"map-label.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IGraphic, IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender-core';\nimport { graphicCreator } from '@visactor/vrender-core';\nimport type { Maybe } from '@visactor/vutils';\nimport { isValid } from '@visactor/vutils';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport {\n LayoutZIndex,\n normalizeLayoutPaddingSpec,\n transformToGraphic,\n TransformLevel,\n getSpecInfo,\n CompilableData,\n VChart,\n BaseComponent,\n getDatumOfGraphic\n} from '@visactor/vchart';\nimport type {\n IPadding,\n IRect,\n IOrientType,\n IPoint,\n Datum,\n IModel,\n IModelSpecInfo,\n PanEventParam,\n ICartesianSeries,\n IGeoSeries,\n IMarkGraphic\n} from '@visactor/vchart';\nimport type { IPairInfo } from './layout';\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './type';\nimport { MapLabelSpecTransformer } from './map-label-transformer';\n\nexport class MapLabelComponent extends BaseComponent<IMapLabelSpec> {\n static type = 'mapLabel';\n type = 'mapLabel';\n name = ' mapLabel';\n\n static specKey = 'mapLabel';\n specKey = 'mapLabel';\n\n static readonly transformerConstructor = MapLabelSpecTransformer as any;\n readonly transformerConstructor = MapLabelSpecTransformer;\n\n layoutType: 'none' = 'none';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMapLabelSpec>(chartSpec, this.specKey, this.type, (s: IMapLabelSpec) => {\n return s.visible && isValid(s.seriesId);\n });\n }\n\n setAttrFromSpec(): void {\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet, { name: `${this.name}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView', level: TransformLevel.copyDataView }, false);\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, () => {\n this.handleZoom();\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (trigger === 'hover') {\n this.event.on('element-highlight:start', (params: any) => {\n const g = params.graphics[0];\n if (this._isRelativeSeries(g)) {\n this._updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('element-highlight:reset', (params: any) => {\n if (this._activeDatum) {\n this._updateDatum(null);\n }\n });\n } else if (trigger === 'click') {\n this.event.on('element-select:start', (params: any) => {\n const g = params.graphics[0];\n if (this._isRelativeSeries(g)) {\n this._updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('elementSelectReset', (params: any) => {\n if (this._activeDatum) {\n this._updateDatum([]);\n }\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom() {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined,\n animation: false // 地图标签使用的是markPoint, 暂不开启动画, 待优化@chensiji\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = (this._spec as any).id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = graphicCreator.group({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = graphicCreator.rect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = graphicCreator.symbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.symbolType ?? this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = graphicCreator.text(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = graphicCreator.text(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const regionPos = this.getRegions()[0].getLayoutStartPoint();\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: regionPos.x,\n y: regionPos.y,\n position: anchor,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(g: IMarkGraphic) {\n return g.context?.modelId === this._series.id;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return this._markerComponents as unknown as IGroup[];\n }\n\n getVRenderComponents() {\n return this._markerComponents as unknown as IGroup[];\n }\n}\n\nexport const registerMapLabel = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useComponent([MapLabelComponent as any]);\n }\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type { IMapLabelStyleSpec } from './type';
2
+ export declare const mapLabel: IMapLabelStyleSpec;
@@ -0,0 +1,57 @@
1
+ const getLabelSpec = () => ({
2
+ visible: !0,
3
+ style: {
4
+ textBaseline: "middle",
5
+ textAlign: "left",
6
+ fill: "black",
7
+ fontSize: 10
8
+ }
9
+ });
10
+
11
+ export const mapLabel = {
12
+ visible: !0,
13
+ offset: 12,
14
+ position: "top",
15
+ space: 10,
16
+ nameLabel: {
17
+ visible: !0,
18
+ style: {
19
+ textBaseline: "middle",
20
+ textAlign: "left",
21
+ fill: "black",
22
+ fontSize: 10
23
+ }
24
+ },
25
+ valueLabel: {
26
+ visible: !0,
27
+ style: {
28
+ textBaseline: "middle",
29
+ textAlign: "left",
30
+ fill: "black",
31
+ fontSize: 10
32
+ }
33
+ },
34
+ background: {
35
+ visible: !0,
36
+ padding: {
37
+ top: 4,
38
+ bottom: 4,
39
+ left: 6,
40
+ right: 6
41
+ },
42
+ style: {
43
+ cornerRadius: 2,
44
+ lineWidth: 1,
45
+ fill: "white",
46
+ stroke: "grey"
47
+ }
48
+ },
49
+ leader: {
50
+ visible: !1,
51
+ style: {
52
+ lineWidth: 1,
53
+ stroke: "black"
54
+ }
55
+ }
56
+ };
57
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/map-label/theme.ts"],"names":[],"mappings":"AAGA,MAAM,YAAY,GAAG,GAGnB,EAAE;IACF,OAAO;QACL,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YACL,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,EAAE;SACb;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,YAAY,EAAE;IACzB,UAAU,EAAE,YAAY,EAAE;IAC1B,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACjD,KAAK,EAAE;YACL,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM;SACf;KACF;IACD,MAAM,EAAE;QACN,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,OAAO;SAChB;KACF;CACF,CAAC","file":"theme.js","sourcesContent":["import type { IMapLabelStyleSpec } from './type';\nimport type { ITextMarkSpec } from '@visactor/vchart';\n\nconst getLabelSpec = (): {\n visible?: boolean;\n style?: ITextMarkSpec;\n} => {\n return {\n visible: true,\n style: {\n textBaseline: 'middle',\n textAlign: 'left',\n fill: 'black',\n fontSize: 10\n }\n };\n};\n\nexport const mapLabel: IMapLabelStyleSpec = {\n visible: true,\n offset: 12,\n position: 'top',\n space: 10,\n nameLabel: getLabelSpec(),\n valueLabel: getLabelSpec(),\n background: {\n visible: true,\n padding: { top: 4, bottom: 4, left: 6, right: 6 },\n style: {\n cornerRadius: 2,\n lineWidth: 1,\n fill: 'white',\n stroke: 'grey'\n }\n },\n leader: {\n visible: false,\n style: {\n lineWidth: 1,\n stroke: 'black'\n }\n }\n};\n"]}
@@ -0,0 +1,39 @@
1
+ import type { IGraphic } from '@visactor/vrender-core';
2
+ import type { IPadding, IOrientType, StringOrNumber } from '@visactor/vchart';
3
+ import type { IPathMarkSpec, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '@visactor/vchart';
4
+ export type LabelPosition = IOrientType | 'outer';
5
+ export interface IMapLabelSpec extends IMapLabelStyleSpec {
6
+ seriesId: StringOrNumber;
7
+ nameField?: string;
8
+ valueField?: string;
9
+ trigger?: 'hover' | 'click' | 'none';
10
+ }
11
+ export type IMapLabelNodes = 'nameLabel' | 'valueLabel' | 'icon' | 'labelBackground' | 'container';
12
+ export type MapLabelSceneNodeMap = Partial<Record<IMapLabelNodes, IGraphic>>;
13
+ export interface IMapLabelStyleSpec {
14
+ visible?: boolean;
15
+ offset?: number;
16
+ space?: number;
17
+ position?: LabelPosition;
18
+ nameLabel?: {
19
+ visible?: boolean;
20
+ style?: ITextMarkSpec;
21
+ };
22
+ valueLabel?: {
23
+ visible?: boolean;
24
+ style?: ITextMarkSpec;
25
+ };
26
+ icon?: {
27
+ visible?: boolean;
28
+ style?: ISymbolMarkSpec;
29
+ };
30
+ background?: {
31
+ visible?: boolean;
32
+ padding?: IPadding;
33
+ style?: IRectMarkSpec;
34
+ };
35
+ leader?: {
36
+ visible?: boolean;
37
+ style?: IPathMarkSpec;
38
+ };
39
+ }
@@ -0,0 +1,2 @@
1
+ export { };
2
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/map-label/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender-core';\nimport type { IPadding, IOrientType, StringOrNumber } from '@visactor/vchart';\nimport type { IPathMarkSpec, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '@visactor/vchart';\n\nexport type LabelPosition = IOrientType | 'outer';\n\nexport interface IMapLabelSpec extends IMapLabelStyleSpec {\n /** 关联的系列 id */\n seriesId: StringOrNumber;\n /** 名称文本的数据字段 */\n nameField?: string;\n /** 数值文本的数据字段 */\n valueField?: string;\n /**\n * 交互触发类型\n * @default 'none'\n */\n trigger?: 'hover' | 'click' | 'none';\n}\n\nexport type IMapLabelNodes = 'nameLabel' | 'valueLabel' | 'icon' | 'labelBackground' | 'container';\n\nexport type MapLabelSceneNodeMap = Partial<Record<IMapLabelNodes, IGraphic>>;\n\nexport interface IMapLabelStyleSpec {\n /**\n * 是否显示\n * @default false\n */\n visible?: boolean;\n /**\n * 标签非 outer 位置下与标记点的间距\n * @default 12\n */\n offset?: number;\n /**\n * icon 和 label之间的距离\n * @default 10\n */\n space?: number;\n /**\n * 标签位置。支持 'left' | 'top' | 'right' | 'bottom' | 'outer'\n * @default 'top'\n */\n position?: LabelPosition;\n /** 名称文本样式设置 */\n nameLabel?: {\n visible?: boolean;\n style?: ITextMarkSpec;\n };\n /** 数值文本样式设置 */\n valueLabel?: {\n visible?: boolean;\n style?: ITextMarkSpec;\n };\n /** 图标样式设置 */\n icon?: {\n visible?: boolean;\n style?: ISymbolMarkSpec;\n };\n /** 背景样式设置 */\n background?: {\n /** @default true */\n visible?: boolean;\n /** 背景框边距 */\n padding?: IPadding;\n style?: IRectMarkSpec;\n };\n /** 引导线样式设置 */\n leader?: {\n visible?: boolean;\n style?: IPathMarkSpec;\n };\n}\n"]}
@@ -1,2 +1 @@
1
- export const SERIES_BREAK = "seriesBreak";
2
- //# sourceMappingURL=constant.js.map
1
+ export const SERIES_BREAK = "seriesBreak";
@@ -1 +1 @@
1
- {"version":3,"sources":["components/series-break/constant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC","file":"constant.js","sourcesContent":["export const SERIES_BREAK = 'seriesBreak';\n"]}
1
+ {"version":3,"sources":["../src/components/series-break/constant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC","file":"constant.js","sourcesContent":["export const SERIES_BREAK = 'seriesBreak';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["components/series-break/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAC;AACvE,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC","file":"index.js","sourcesContent":["export { registerSeriesBreak, SeriesBreakComponent } from './series-break';\nexport { getSeriesBreakConfig, appendSeriesBreakConfig } from './util';\nexport * from './type';\nexport * from './constant';\n"]}
1
+ {"version":3,"sources":["../src/components/series-break/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAC;AACvE,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC","file":"index.js","sourcesContent":["export { registerSeriesBreak, SeriesBreakComponent } from './series-break';\nexport { getSeriesBreakConfig, appendSeriesBreakConfig } from './util';\nexport * from './type';\nexport * from './constant';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["components/series-break/series-break.ts"],"names":[],"mappings":"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","file":"series-break.js","sourcesContent":["/**\n * @description vchart 自定义组件,用于实现 bar、area、line 这些图形的截断图形生成\n * @author zhangweixing\n */\n\nimport { AbstractComponent, Point } from '@visactor/vrender-components';\nimport { SeriesBreakAttrs, SeriesBreakData } from './type';\nimport { createGroup, createPath, IGraphic } from '@visactor/vrender-core';\nimport { isEmpty, isNumberClose, isValid } from '@visactor/vutils';\nimport { SERIES_BREAK } from './constant';\nimport { Factory } from '@visactor/vchart';\n\n/**\n * 求锯齿的路径(一个锯齿由向上和向下的两个线段组成)\n * @param start 锯齿的起始点\n * @param end 锯齿的结束点\n * @param size 锯齿的高度\n * @param angle 锯齿的角度\n * @param gap 两条锯齿的间距\n * @param isVertical 是否垂直\n * @returns\n */\nfunction generateZigzagPath(start: Point, end: Point, size: number, angle: number, isVertical = false) {\n const path = [];\n const { x: startX, y: startY } = start;\n const { x: endX, y: endY } = end;\n\n // 计算锯齿的数量\n const numZigzags = isVertical ? Math.floor((endY - startY) / (size * 2)) : Math.floor((endX - startX) / (size * 2));\n\n // 计算倾斜角度的增量\n const angleRad = (Math.PI / 180) * angle; // 转换为弧度\n const deltaX = size * Math.cos(angleRad);\n const deltaY = size * Math.sin(angleRad);\n\n // 添加第一条锯齿的起始点\n path.push(`M ${startX} ${startY}`);\n\n for (let i = 0; i <= numZigzags; i++) {\n const x = isVertical ? startX + (i % 2 === 0 ? deltaX : -deltaX) : startX + i * size * 2;\n const y = isVertical ? startY + i * size * 2 : i % 2 === 0 ? startY - deltaY : startY + deltaY;\n path.push(`L ${x} ${y}`);\n }\n\n // 添加第一条锯齿的结束点\n path.push(`L ${isVertical ? startX : endX} ${isVertical ? endY : startY}`);\n\n return path.join(' ');\n}\n\nconst checkOverlap = (prevData: SeriesBreakData[], newEntry: SeriesBreakData) => {\n const { start, end } = newEntry;\n const isVertical = start.x === end.x;\n const equalDim = isVertical ? 'x' : 'y';\n const diffDim = isVertical ? 'y' : 'x';\n let needAppend = true;\n const EPS = 1e-6;\n\n if (prevData.length) {\n prevData.forEach(prevEntry => {\n if (isNumberClose(prevEntry.start[equalDim], start[equalDim])) {\n // 判断是否有重叠,有重叠取交集\n const minDim = Math.min(start[diffDim], end[diffDim]);\n const maxDim = Math.max(start[diffDim], end[diffDim]);\n const prevMinDim = Math.min(prevEntry.start[diffDim], prevEntry.end[diffDim]);\n const prevMaxDim = Math.max(prevEntry.start[diffDim], prevEntry.end[diffDim]);\n const hasOverlap = !(maxDim < prevMinDim - EPS || minDim > prevMaxDim + EPS);\n\n if (hasOverlap) {\n prevEntry.start[diffDim] = Math.min(prevMinDim, minDim);\n prevEntry.end[diffDim] = Math.max(prevMaxDim, maxDim);\n needAppend = false;\n return;\n }\n }\n });\n }\n\n if (needAppend) {\n prevData.push(newEntry);\n }\n};\n\nexport class SeriesBreakComponent extends AbstractComponent<Required<SeriesBreakAttrs>> {\n name = SERIES_BREAK;\n protected render() {\n this.removeAllChild();\n const { data = [] } = this.attribute as SeriesBreakAttrs;\n if (isEmpty(data)) {\n return;\n }\n // 去除重叠数据\n const verticalData: SeriesBreakData[] = [];\n const horizontalData: SeriesBreakData[] = [];\n\n data.forEach(breakData => {\n const { start, end } = breakData;\n const isVertical = start.x === end.x;\n\n checkOverlap(isVertical ? verticalData : horizontalData, breakData);\n });\n\n [...verticalData, ...horizontalData].forEach((breakData, id) => {\n const { start, end, size = 4, gap = 5, style = {}, ...rest } = breakData;\n const breakGroup = createGroup({});\n const isVertical = start.x === end.x;\n\n let startPathStart;\n let startPathEnd;\n let endPathStart;\n let endPathEnd;\n if (isVertical) {\n startPathStart = {\n x: start.x - gap / 2,\n y: start.y\n };\n startPathEnd = {\n x: end.x - gap / 2,\n y: end.y\n };\n endPathStart = {\n x: start.x + gap / 2,\n y: start.y\n };\n endPathEnd = {\n x: end.x + gap / 2,\n y: end.y\n };\n } else {\n startPathStart = {\n x: start.x,\n y: start.y - gap / 2\n };\n startPathEnd = {\n x: end.x,\n y: end.y - gap / 2\n };\n endPathStart = {\n x: start.x,\n y: start.y + gap / 2\n };\n endPathEnd = {\n x: end.x,\n y: end.y + gap / 2\n };\n }\n\n const startPath = generateZigzagPath(startPathStart, startPathEnd, size, isVertical ? 75 : 15, isVertical);\n const centerPath = generateZigzagPath(start, end, size, isVertical ? 75 : 15, isVertical);\n const endPath = generateZigzagPath(endPathStart, endPathEnd, size, isVertical ? 75 : 15, isVertical);\n breakGroup.add(\n createPath({\n path: startPath,\n stroke: '#000',\n lineWidth: 1,\n ...style,\n pickable: false,\n zIndex: 1\n })\n );\n breakGroup.add(\n createPath({\n path: endPath,\n stroke: '#000',\n lineWidth: 1,\n ...style,\n pickable: false,\n zIndex: 1\n })\n );\n breakGroup.add(\n createPath({\n path: centerPath,\n stroke: '#fff',\n lineWidth: gap,\n pickable: false,\n zIndex: 0\n })\n );\n\n breakGroup.name = 'series-break';\n breakGroup.data = rest;\n\n if (isValid(rest.axisId)) {\n breakGroup.id = `${rest.axisId ?? ''}_${id}`;\n }\n\n this.add(breakGroup);\n });\n }\n}\n\nexport const registerSeriesBreak = () => {\n Factory.registerGraphicComponent(\n 'seriesBreak',\n (attrs: Required<SeriesBreakAttrs>) => new SeriesBreakComponent(attrs) as unknown as IGraphic\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/components/series-break/series-break.ts"],"names":[],"mappings":"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","file":"series-break.js","sourcesContent":["/**\n * @description vchart 自定义组件,用于实现 bar、area、line 这些图形的截断图形生成\n * @author zhangweixing\n */\n\nimport { AbstractComponent, Point } from '@visactor/vrender-components';\nimport { SeriesBreakAttrs, SeriesBreakData } from './type';\nimport { createGroup, createPath, IGraphic } from '@visactor/vrender-core';\nimport { isEmpty, isNumberClose, isValid } from '@visactor/vutils';\nimport { SERIES_BREAK } from './constant';\nimport { Factory } from '@visactor/vchart';\n\n/**\n * 求锯齿的路径(一个锯齿由向上和向下的两个线段组成)\n * @param start 锯齿的起始点\n * @param end 锯齿的结束点\n * @param size 锯齿的高度\n * @param angle 锯齿的角度\n * @param gap 两条锯齿的间距\n * @param isVertical 是否垂直\n * @returns\n */\nfunction generateZigzagPath(start: Point, end: Point, size: number, angle: number, isVertical = false) {\n const path = [];\n const { x: startX, y: startY } = start;\n const { x: endX, y: endY } = end;\n\n // 计算锯齿的数量\n const numZigzags = isVertical ? Math.floor((endY - startY) / (size * 2)) : Math.floor((endX - startX) / (size * 2));\n\n // 计算倾斜角度的增量\n const angleRad = (Math.PI / 180) * angle; // 转换为弧度\n const deltaX = size * Math.cos(angleRad);\n const deltaY = size * Math.sin(angleRad);\n\n // 添加第一条锯齿的起始点\n path.push(`M ${startX} ${startY}`);\n\n for (let i = 0; i <= numZigzags; i++) {\n const x = isVertical ? startX + (i % 2 === 0 ? deltaX : -deltaX) : startX + i * size * 2;\n const y = isVertical ? startY + i * size * 2 : i % 2 === 0 ? startY - deltaY : startY + deltaY;\n path.push(`L ${x} ${y}`);\n }\n\n // 添加第一条锯齿的结束点\n path.push(`L ${isVertical ? startX : endX} ${isVertical ? endY : startY}`);\n\n return path.join(' ');\n}\n\nconst checkOverlap = (prevData: SeriesBreakData[], newEntry: SeriesBreakData) => {\n const { start, end } = newEntry;\n const isVertical = start.x === end.x;\n const equalDim = isVertical ? 'x' : 'y';\n const diffDim = isVertical ? 'y' : 'x';\n let needAppend = true;\n const EPS = 1e-6;\n\n if (prevData.length) {\n prevData.forEach(prevEntry => {\n if (isNumberClose(prevEntry.start[equalDim], start[equalDim])) {\n // 判断是否有重叠,有重叠取交集\n const minDim = Math.min(start[diffDim], end[diffDim]);\n const maxDim = Math.max(start[diffDim], end[diffDim]);\n const prevMinDim = Math.min(prevEntry.start[diffDim], prevEntry.end[diffDim]);\n const prevMaxDim = Math.max(prevEntry.start[diffDim], prevEntry.end[diffDim]);\n const hasOverlap = !(maxDim < prevMinDim - EPS || minDim > prevMaxDim + EPS);\n\n if (hasOverlap) {\n prevEntry.start[diffDim] = Math.min(prevMinDim, minDim);\n prevEntry.end[diffDim] = Math.max(prevMaxDim, maxDim);\n needAppend = false;\n return;\n }\n }\n });\n }\n\n if (needAppend) {\n prevData.push(newEntry);\n }\n};\n\nexport class SeriesBreakComponent extends AbstractComponent<Required<SeriesBreakAttrs>> {\n name = SERIES_BREAK;\n protected render() {\n this.removeAllChild();\n const { data = [] } = this.attribute as SeriesBreakAttrs;\n if (isEmpty(data)) {\n return;\n }\n // 去除重叠数据\n const verticalData: SeriesBreakData[] = [];\n const horizontalData: SeriesBreakData[] = [];\n\n data.forEach(breakData => {\n const { start, end } = breakData;\n const isVertical = start.x === end.x;\n\n checkOverlap(isVertical ? verticalData : horizontalData, breakData);\n });\n\n [...verticalData, ...horizontalData].forEach((breakData, id) => {\n const { start, end, size = 4, gap = 5, style = {}, ...rest } = breakData;\n const breakGroup = createGroup({});\n const isVertical = start.x === end.x;\n\n let startPathStart;\n let startPathEnd;\n let endPathStart;\n let endPathEnd;\n if (isVertical) {\n startPathStart = {\n x: start.x - gap / 2,\n y: start.y\n };\n startPathEnd = {\n x: end.x - gap / 2,\n y: end.y\n };\n endPathStart = {\n x: start.x + gap / 2,\n y: start.y\n };\n endPathEnd = {\n x: end.x + gap / 2,\n y: end.y\n };\n } else {\n startPathStart = {\n x: start.x,\n y: start.y - gap / 2\n };\n startPathEnd = {\n x: end.x,\n y: end.y - gap / 2\n };\n endPathStart = {\n x: start.x,\n y: start.y + gap / 2\n };\n endPathEnd = {\n x: end.x,\n y: end.y + gap / 2\n };\n }\n\n const startPath = generateZigzagPath(startPathStart, startPathEnd, size, isVertical ? 75 : 15, isVertical);\n const centerPath = generateZigzagPath(start, end, size, isVertical ? 75 : 15, isVertical);\n const endPath = generateZigzagPath(endPathStart, endPathEnd, size, isVertical ? 75 : 15, isVertical);\n breakGroup.add(\n createPath({\n path: startPath,\n stroke: '#000',\n lineWidth: 1,\n ...style,\n pickable: false,\n zIndex: 1\n })\n );\n breakGroup.add(\n createPath({\n path: endPath,\n stroke: '#000',\n lineWidth: 1,\n ...style,\n pickable: false,\n zIndex: 1\n })\n );\n breakGroup.add(\n createPath({\n path: centerPath,\n stroke: '#fff',\n lineWidth: gap,\n pickable: false,\n zIndex: 0\n })\n );\n\n breakGroup.name = 'series-break';\n breakGroup.data = rest;\n\n if (isValid(rest.axisId)) {\n breakGroup.id = `${rest.axisId ?? ''}_${id}`;\n }\n\n this.add(breakGroup);\n });\n }\n}\n\nexport const registerSeriesBreak = () => {\n Factory.registerGraphicComponent(\n 'seriesBreak',\n (attrs: Required<SeriesBreakAttrs>) => new SeriesBreakComponent(attrs) as unknown as IGraphic\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["components/series-break/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import { Point } from '@visactor/vrender-components';\nimport { IGroupGraphicAttribute, ILineGraphicAttribute } from '@visactor/vrender-core';\n\nexport type SeriesBreakData = {\n /**\n * 起始点\n */\n start: Point;\n /**\n * 结束点\n */\n end: Point;\n /**\n * 锯齿的大小\n * @default 4\n */\n size?: number;\n /**\n * 两条平行的锯齿的间距\n * @default 5\n */\n gap?: number;\n /**\n * 截断样式\n */\n style?: ILineGraphicAttribute;\n /**\n * 轴截断关联的坐标轴 id\n */\n axisId: string;\n /**\n * 当前轴截断的数据范围\n */\n data: [number, number];\n};\n\nexport interface SeriesBreakAttrs extends IGroupGraphicAttribute {\n data: SeriesBreakData[];\n}\n"]}
1
+ {"version":3,"sources":["../src/components/series-break/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import { Point } from '@visactor/vrender-components';\nimport { IGroupGraphicAttribute, ILineGraphicAttribute } from '@visactor/vrender-core';\n\nexport type SeriesBreakData = {\n /**\n * 起始点\n */\n start: Point;\n /**\n * 结束点\n */\n end: Point;\n /**\n * 锯齿的大小\n * @default 4\n */\n size?: number;\n /**\n * 两条平行的锯齿的间距\n * @default 5\n */\n gap?: number;\n /**\n * 截断样式\n */\n style?: ILineGraphicAttribute;\n /**\n * 轴截断关联的坐标轴 id\n */\n axisId: string;\n /**\n * 当前轴截断的数据范围\n */\n data: [number, number];\n};\n\nexport interface SeriesBreakAttrs extends IGroupGraphicAttribute {\n data: SeriesBreakData[];\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { ILinearAxisSpec } from '@visactor/vchart/esm/component/axis';
2
- import { ISpec } from '@visactor/vchart';
3
- import { SeriesBreakData } from './type';
2
+ import type { ISpec } from '@visactor/vchart';
3
+ import type { SeriesBreakData } from './type';
4
4
  export declare function getSeriesBreakConfig(axesSpec: ILinearAxisSpec[], axesIndex?: number[]): {
5
5
  type: string;
6
6
  componentType: string;