@visactor/vrender-components 0.17.0-alpha.8 → 0.17.1-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 (455) hide show
  1. package/cjs/axis/base.d.ts +2 -1
  2. package/cjs/axis/base.js +31 -22
  3. package/cjs/axis/base.js.map +1 -1
  4. package/cjs/axis/circle.d.ts +9 -4
  5. package/cjs/axis/circle.js +9 -6
  6. package/cjs/axis/circle.js.map +1 -1
  7. package/cjs/axis/grid/base.js +6 -8
  8. package/cjs/axis/grid/base.js.map +1 -1
  9. package/cjs/axis/grid/circle.d.ts +2 -1
  10. package/cjs/axis/grid/circle.js +2 -2
  11. package/cjs/axis/grid/circle.js.map +1 -1
  12. package/cjs/axis/grid/line.d.ts +2 -1
  13. package/cjs/axis/grid/line.js +2 -3
  14. package/cjs/axis/grid/line.js.map +1 -1
  15. package/cjs/axis/line.d.ts +3 -3
  16. package/cjs/axis/line.js +41 -48
  17. package/cjs/axis/line.js.map +1 -1
  18. package/cjs/axis/overlap/auto-hide.js +8 -7
  19. package/cjs/axis/overlap/auto-hide.js.map +1 -1
  20. package/cjs/axis/overlap/auto-limit.js.map +1 -1
  21. package/cjs/axis/overlap/auto-rotate.js +3 -35
  22. package/cjs/axis/overlap/auto-rotate.js.map +1 -1
  23. package/cjs/axis/overlap/util.d.ts +3 -0
  24. package/cjs/axis/overlap/util.js +44 -0
  25. package/cjs/axis/overlap/util.js.map +1 -0
  26. package/cjs/axis/type.d.ts +6 -6
  27. package/cjs/axis/type.js.map +1 -1
  28. package/cjs/axis/util.d.ts +8 -0
  29. package/cjs/axis/util.js +34 -0
  30. package/cjs/axis/util.js.map +1 -0
  31. package/cjs/brush/brush.d.ts +2 -1
  32. package/cjs/brush/brush.js +9 -6
  33. package/cjs/brush/brush.js.map +1 -1
  34. package/cjs/brush/type.d.ts +2 -1
  35. package/cjs/brush/type.js.map +1 -1
  36. package/cjs/checkbox/checkbox.d.ts +4 -2
  37. package/cjs/checkbox/checkbox.js +26 -12
  38. package/cjs/checkbox/checkbox.js.map +1 -1
  39. package/cjs/checkbox/index.js +1 -2
  40. package/cjs/checkbox/type.d.ts +5 -1
  41. package/cjs/checkbox/type.js +2 -1
  42. package/cjs/checkbox/type.js.map +1 -1
  43. package/cjs/constant.d.ts +6 -0
  44. package/cjs/constant.js +6 -1
  45. package/cjs/constant.js.map +1 -1
  46. package/cjs/core/base.d.ts +4 -2
  47. package/cjs/core/base.js +9 -6
  48. package/cjs/core/base.js.map +1 -1
  49. package/cjs/core/type.d.ts +15 -0
  50. package/cjs/core/type.js.map +1 -1
  51. package/cjs/crosshair/circle.d.ts +2 -1
  52. package/cjs/crosshair/circle.js +2 -2
  53. package/cjs/crosshair/circle.js.map +1 -1
  54. package/cjs/crosshair/line.d.ts +2 -1
  55. package/cjs/crosshair/line.js +2 -2
  56. package/cjs/crosshair/line.js.map +1 -1
  57. package/cjs/crosshair/polygon.d.ts +2 -1
  58. package/cjs/crosshair/polygon.js +2 -2
  59. package/cjs/crosshair/polygon.js.map +1 -1
  60. package/cjs/crosshair/rect.d.ts +2 -1
  61. package/cjs/crosshair/rect.js +2 -2
  62. package/cjs/crosshair/rect.js.map +1 -1
  63. package/cjs/crosshair/sector.d.ts +2 -1
  64. package/cjs/crosshair/sector.js +2 -2
  65. package/cjs/crosshair/sector.js.map +1 -1
  66. package/cjs/data-zoom/config.d.ts +6 -6
  67. package/cjs/data-zoom/config.js +7 -7
  68. package/cjs/data-zoom/config.js.map +1 -1
  69. package/cjs/data-zoom/data-zoom.d.ts +21 -11
  70. package/cjs/data-zoom/data-zoom.js +80 -64
  71. package/cjs/data-zoom/data-zoom.js.map +1 -1
  72. package/cjs/data-zoom/type.d.ts +17 -5
  73. package/cjs/data-zoom/type.js +6 -1
  74. package/cjs/data-zoom/type.js.map +1 -1
  75. package/cjs/index.d.ts +1 -1
  76. package/cjs/index.js +1 -1
  77. package/cjs/index.js.map +1 -1
  78. package/cjs/indicator/config.js +1 -2
  79. package/cjs/indicator/index.js +2 -1
  80. package/cjs/indicator/indicator.js +43 -7
  81. package/cjs/indicator/indicator.js.map +1 -1
  82. package/cjs/indicator/type.d.ts +2 -1
  83. package/cjs/indicator/type.js.map +1 -1
  84. package/cjs/interface.d.ts +5 -0
  85. package/cjs/interface.js.map +1 -1
  86. package/cjs/label/animate/animate.d.ts +8 -2
  87. package/cjs/label/animate/animate.js +37 -3
  88. package/cjs/label/animate/animate.js.map +1 -1
  89. package/cjs/label/arc.d.ts +7 -7
  90. package/cjs/label/arc.js +6 -19
  91. package/cjs/label/arc.js.map +1 -1
  92. package/cjs/label/area.d.ts +15 -0
  93. package/cjs/label/area.js +41 -0
  94. package/cjs/label/area.js.map +1 -0
  95. package/cjs/label/base.d.ts +28 -18
  96. package/cjs/label/base.js +115 -62
  97. package/cjs/label/base.js.map +1 -1
  98. package/cjs/label/dataLabel.d.ts +2 -1
  99. package/cjs/label/dataLabel.js +13 -8
  100. package/cjs/label/dataLabel.js.map +1 -1
  101. package/cjs/label/index.d.ts +2 -0
  102. package/cjs/label/index.js +1 -0
  103. package/cjs/label/index.js.map +1 -1
  104. package/cjs/label/line-data.d.ts +13 -0
  105. package/cjs/label/line-data.js +31 -0
  106. package/cjs/label/line-data.js.map +1 -0
  107. package/cjs/label/line.d.ts +4 -3
  108. package/cjs/label/line.js +8 -14
  109. package/cjs/label/line.js.map +1 -1
  110. package/cjs/label/polygon.d.ts +2 -1
  111. package/cjs/label/polygon.js +3 -2
  112. package/cjs/label/polygon.js.map +1 -1
  113. package/cjs/label/rect.d.ts +2 -1
  114. package/cjs/label/rect.js +29 -3
  115. package/cjs/label/rect.js.map +1 -1
  116. package/cjs/label/symbol.d.ts +2 -1
  117. package/cjs/label/symbol.js +5 -44
  118. package/cjs/label/symbol.js.map +1 -1
  119. package/cjs/label/type.d.ts +42 -8
  120. package/cjs/label/type.js +1 -2
  121. package/cjs/label/type.js.map +1 -1
  122. package/cjs/label/util.d.ts +11 -1
  123. package/cjs/label/util.js +74 -1
  124. package/cjs/label/util.js.map +1 -1
  125. package/cjs/legend/base.js +1 -1
  126. package/cjs/legend/base.js.map +1 -1
  127. package/cjs/legend/color/color.d.ts +2 -1
  128. package/cjs/legend/color/color.js +6 -5
  129. package/cjs/legend/color/color.js.map +1 -1
  130. package/cjs/legend/constant.js +2 -1
  131. package/cjs/legend/discrete/discrete.d.ts +5 -1
  132. package/cjs/legend/discrete/discrete.js +82 -71
  133. package/cjs/legend/discrete/discrete.js.map +1 -1
  134. package/cjs/legend/discrete/type.d.ts +2 -0
  135. package/cjs/legend/discrete/type.js.map +1 -1
  136. package/cjs/legend/index.d.ts +1 -0
  137. package/cjs/legend/index.js +2 -1
  138. package/cjs/legend/index.js.map +1 -1
  139. package/cjs/legend/size/size.d.ts +2 -3
  140. package/cjs/legend/size/size.js +10 -19
  141. package/cjs/legend/size/size.js.map +1 -1
  142. package/cjs/legend/type.d.ts +1 -0
  143. package/cjs/legend/type.js.map +1 -1
  144. package/cjs/legend/util.d.ts +2 -0
  145. package/cjs/legend/util.js +13 -0
  146. package/cjs/legend/util.js.map +1 -0
  147. package/cjs/link-path/link-path.d.ts +2 -1
  148. package/cjs/link-path/link-path.js +3 -3
  149. package/cjs/link-path/link-path.js.map +1 -1
  150. package/cjs/link-path/type.js +1 -1
  151. package/cjs/marker/area.d.ts +8 -2
  152. package/cjs/marker/area.js +15 -5
  153. package/cjs/marker/area.js.map +1 -1
  154. package/cjs/marker/base.d.ts +1 -0
  155. package/cjs/marker/base.js +14 -10
  156. package/cjs/marker/base.js.map +1 -1
  157. package/cjs/marker/line.d.ts +8 -1
  158. package/cjs/marker/line.js +15 -3
  159. package/cjs/marker/line.js.map +1 -1
  160. package/cjs/marker/point.d.ts +7 -4
  161. package/cjs/marker/point.js +10 -7
  162. package/cjs/marker/point.js.map +1 -1
  163. package/cjs/marker/type.d.ts +16 -16
  164. package/cjs/marker/type.js.map +1 -1
  165. package/cjs/pager/pager.d.ts +2 -1
  166. package/cjs/pager/pager.js +9 -10
  167. package/cjs/pager/pager.js.map +1 -1
  168. package/cjs/pager/type.d.ts +1 -0
  169. package/cjs/pager/type.js.map +1 -1
  170. package/cjs/player/base-player.d.ts +2 -1
  171. package/cjs/player/base-player.js +7 -5
  172. package/cjs/player/base-player.js.map +1 -1
  173. package/cjs/player/continuous-player.js +2 -2
  174. package/cjs/player/continuous-player.js.map +1 -1
  175. package/cjs/player/controller/controller.d.ts +2 -1
  176. package/cjs/player/controller/controller.js +5 -5
  177. package/cjs/player/controller/controller.js.map +1 -1
  178. package/cjs/player/controller/type.d.ts +1 -0
  179. package/cjs/player/controller/type.js.map +1 -1
  180. package/cjs/player/discrete-player.d.ts +2 -1
  181. package/cjs/player/discrete-player.js +5 -5
  182. package/cjs/player/discrete-player.js.map +1 -1
  183. package/cjs/player/type/base.d.ts +1 -0
  184. package/cjs/player/type/base.js.map +1 -1
  185. package/cjs/poptip/poptip-plugin.d.ts +1 -0
  186. package/cjs/poptip/poptip-plugin.js +6 -3
  187. package/cjs/poptip/poptip-plugin.js.map +1 -1
  188. package/cjs/poptip/poptip.d.ts +2 -1
  189. package/cjs/poptip/poptip.js +3 -3
  190. package/cjs/poptip/poptip.js.map +1 -1
  191. package/cjs/scrollbar/scrollbar.d.ts +6 -1
  192. package/cjs/scrollbar/scrollbar.js +40 -20
  193. package/cjs/scrollbar/scrollbar.js.map +1 -1
  194. package/cjs/scrollbar/type.d.ts +5 -1
  195. package/cjs/scrollbar/type.js.map +1 -1
  196. package/cjs/segment/segment.d.ts +2 -1
  197. package/cjs/segment/segment.js +8 -6
  198. package/cjs/segment/segment.js.map +1 -1
  199. package/cjs/segment/type.d.ts +6 -2
  200. package/cjs/segment/type.js.map +1 -1
  201. package/cjs/slider/slider.d.ts +2 -1
  202. package/cjs/slider/slider.js +38 -33
  203. package/cjs/slider/slider.js.map +1 -1
  204. package/cjs/slider/type.d.ts +1 -0
  205. package/cjs/slider/type.js.map +1 -1
  206. package/cjs/tag/tag.d.ts +2 -1
  207. package/cjs/tag/tag.js +90 -43
  208. package/cjs/tag/tag.js.map +1 -1
  209. package/cjs/tag/type.d.ts +4 -5
  210. package/cjs/tag/type.js.map +1 -1
  211. package/cjs/title/title.d.ts +2 -1
  212. package/cjs/title/title.js +92 -59
  213. package/cjs/title/title.js.map +1 -1
  214. package/cjs/title/type.d.ts +10 -5
  215. package/cjs/title/type.js.map +1 -1
  216. package/cjs/tooltip/tooltip.d.ts +2 -1
  217. package/cjs/tooltip/tooltip.js +53 -15
  218. package/cjs/tooltip/tooltip.js.map +1 -1
  219. package/cjs/tooltip/type.d.ts +7 -2
  220. package/cjs/tooltip/type.js.map +1 -1
  221. package/cjs/tooltip/util.js +9 -1
  222. package/cjs/tooltip/util.js.map +1 -1
  223. package/cjs/util/label-smartInvert.d.ts +2 -2
  224. package/cjs/util/label-smartInvert.js +9 -5
  225. package/cjs/util/label-smartInvert.js.map +1 -1
  226. package/cjs/util/text.d.ts +2 -2
  227. package/dist/index.js +11581 -15729
  228. package/dist/index.min.js +1 -1
  229. package/es/axis/base.d.ts +2 -1
  230. package/es/axis/base.js +33 -19
  231. package/es/axis/base.js.map +1 -1
  232. package/es/axis/circle.d.ts +9 -4
  233. package/es/axis/circle.js +11 -6
  234. package/es/axis/circle.js.map +1 -1
  235. package/es/axis/grid/base.js +7 -7
  236. package/es/axis/grid/base.js.map +1 -1
  237. package/es/axis/grid/circle.d.ts +2 -1
  238. package/es/axis/grid/circle.js +2 -2
  239. package/es/axis/grid/circle.js.map +1 -1
  240. package/es/axis/grid/line.d.ts +2 -1
  241. package/es/axis/grid/line.js +2 -2
  242. package/es/axis/grid/line.js.map +1 -1
  243. package/es/axis/line.d.ts +3 -3
  244. package/es/axis/line.js +42 -48
  245. package/es/axis/line.js.map +1 -1
  246. package/es/axis/overlap/auto-hide.js +9 -6
  247. package/es/axis/overlap/auto-hide.js.map +1 -1
  248. package/es/axis/overlap/auto-limit.js.map +1 -1
  249. package/es/axis/overlap/auto-rotate.js +3 -33
  250. package/es/axis/overlap/auto-rotate.js.map +1 -1
  251. package/es/axis/overlap/util.d.ts +3 -0
  252. package/es/axis/overlap/util.js +35 -0
  253. package/es/axis/overlap/util.js.map +1 -0
  254. package/es/axis/type.d.ts +6 -6
  255. package/es/axis/type.js.map +1 -1
  256. package/es/axis/util.d.ts +8 -0
  257. package/es/axis/util.js +28 -0
  258. package/es/axis/util.js.map +1 -0
  259. package/es/brush/brush.d.ts +2 -1
  260. package/es/brush/brush.js +13 -9
  261. package/es/brush/brush.js.map +1 -1
  262. package/es/brush/type.d.ts +2 -1
  263. package/es/brush/type.js.map +1 -1
  264. package/es/checkbox/checkbox.d.ts +4 -2
  265. package/es/checkbox/checkbox.js +25 -10
  266. package/es/checkbox/checkbox.js.map +1 -1
  267. package/es/checkbox/index.js +1 -2
  268. package/es/checkbox/type.d.ts +5 -1
  269. package/es/checkbox/type.js +2 -1
  270. package/es/checkbox/type.js.map +1 -1
  271. package/es/constant.d.ts +6 -0
  272. package/es/constant.js +7 -0
  273. package/es/constant.js.map +1 -1
  274. package/es/core/base.d.ts +4 -2
  275. package/es/core/base.js +6 -4
  276. package/es/core/base.js.map +1 -1
  277. package/es/core/type.d.ts +15 -0
  278. package/es/core/type.js.map +1 -1
  279. package/es/crosshair/circle.d.ts +2 -1
  280. package/es/crosshair/circle.js +2 -2
  281. package/es/crosshair/circle.js.map +1 -1
  282. package/es/crosshair/line.d.ts +2 -1
  283. package/es/crosshair/line.js +2 -2
  284. package/es/crosshair/line.js.map +1 -1
  285. package/es/crosshair/polygon.d.ts +2 -1
  286. package/es/crosshair/polygon.js +2 -2
  287. package/es/crosshair/polygon.js.map +1 -1
  288. package/es/crosshair/rect.d.ts +2 -1
  289. package/es/crosshair/rect.js +2 -2
  290. package/es/crosshair/rect.js.map +1 -1
  291. package/es/crosshair/sector.d.ts +2 -1
  292. package/es/crosshair/sector.js +2 -2
  293. package/es/crosshair/sector.js.map +1 -1
  294. package/es/data-zoom/config.d.ts +6 -6
  295. package/es/data-zoom/config.js +6 -7
  296. package/es/data-zoom/config.js.map +1 -1
  297. package/es/data-zoom/data-zoom.d.ts +21 -11
  298. package/es/data-zoom/data-zoom.js +77 -58
  299. package/es/data-zoom/data-zoom.js.map +1 -1
  300. package/es/data-zoom/type.d.ts +17 -5
  301. package/es/data-zoom/type.js +6 -1
  302. package/es/data-zoom/type.js.map +1 -1
  303. package/es/index.d.ts +1 -1
  304. package/es/index.js +1 -1
  305. package/es/index.js.map +1 -1
  306. package/es/indicator/config.js +1 -2
  307. package/es/indicator/index.js +2 -1
  308. package/es/indicator/indicator.js +44 -6
  309. package/es/indicator/indicator.js.map +1 -1
  310. package/es/indicator/type.d.ts +2 -1
  311. package/es/indicator/type.js.map +1 -1
  312. package/es/interface.d.ts +5 -0
  313. package/es/interface.js.map +1 -1
  314. package/es/label/animate/animate.d.ts +8 -2
  315. package/es/label/animate/animate.js +35 -0
  316. package/es/label/animate/animate.js.map +1 -1
  317. package/es/label/arc.d.ts +7 -7
  318. package/es/label/arc.js +7 -19
  319. package/es/label/arc.js.map +1 -1
  320. package/es/label/area.d.ts +15 -0
  321. package/es/label/area.js +39 -0
  322. package/es/label/area.js.map +1 -0
  323. package/es/label/base.d.ts +28 -18
  324. package/es/label/base.js +117 -62
  325. package/es/label/base.js.map +1 -1
  326. package/es/label/dataLabel.d.ts +2 -1
  327. package/es/label/dataLabel.js +18 -7
  328. package/es/label/dataLabel.js.map +1 -1
  329. package/es/label/index.d.ts +2 -0
  330. package/es/label/index.js +4 -0
  331. package/es/label/index.js.map +1 -1
  332. package/es/label/line-data.d.ts +13 -0
  333. package/es/label/line-data.js +29 -0
  334. package/es/label/line-data.js.map +1 -0
  335. package/es/label/line.d.ts +4 -3
  336. package/es/label/line.js +9 -13
  337. package/es/label/line.js.map +1 -1
  338. package/es/label/polygon.d.ts +2 -1
  339. package/es/label/polygon.js +3 -2
  340. package/es/label/polygon.js.map +1 -1
  341. package/es/label/rect.d.ts +2 -1
  342. package/es/label/rect.js +29 -3
  343. package/es/label/rect.js.map +1 -1
  344. package/es/label/symbol.d.ts +2 -1
  345. package/es/label/symbol.js +6 -43
  346. package/es/label/symbol.js.map +1 -1
  347. package/es/label/type.d.ts +42 -8
  348. package/es/label/type.js +1 -2
  349. package/es/label/type.js.map +1 -1
  350. package/es/label/util.d.ts +11 -1
  351. package/es/label/util.js +69 -0
  352. package/es/label/util.js.map +1 -1
  353. package/es/legend/base.js +2 -2
  354. package/es/legend/base.js.map +1 -1
  355. package/es/legend/color/color.d.ts +2 -1
  356. package/es/legend/color/color.js +7 -6
  357. package/es/legend/color/color.js.map +1 -1
  358. package/es/legend/constant.js +2 -1
  359. package/es/legend/discrete/discrete.d.ts +5 -1
  360. package/es/legend/discrete/discrete.js +82 -68
  361. package/es/legend/discrete/discrete.js.map +1 -1
  362. package/es/legend/discrete/type.d.ts +2 -0
  363. package/es/legend/discrete/type.js.map +1 -1
  364. package/es/legend/index.d.ts +1 -0
  365. package/es/legend/index.js +2 -0
  366. package/es/legend/index.js.map +1 -1
  367. package/es/legend/size/size.d.ts +2 -3
  368. package/es/legend/size/size.js +10 -14
  369. package/es/legend/size/size.js.map +1 -1
  370. package/es/legend/type.d.ts +1 -0
  371. package/es/legend/type.js.map +1 -1
  372. package/es/legend/util.d.ts +2 -0
  373. package/es/legend/util.js +7 -0
  374. package/es/legend/util.js.map +1 -0
  375. package/es/link-path/link-path.d.ts +2 -1
  376. package/es/link-path/link-path.js +3 -3
  377. package/es/link-path/link-path.js.map +1 -1
  378. package/es/link-path/type.js +1 -1
  379. package/es/marker/area.d.ts +8 -2
  380. package/es/marker/area.js +16 -5
  381. package/es/marker/area.js.map +1 -1
  382. package/es/marker/base.d.ts +1 -0
  383. package/es/marker/base.js +15 -11
  384. package/es/marker/base.js.map +1 -1
  385. package/es/marker/line.d.ts +8 -1
  386. package/es/marker/line.js +15 -3
  387. package/es/marker/line.js.map +1 -1
  388. package/es/marker/point.d.ts +7 -4
  389. package/es/marker/point.js +11 -6
  390. package/es/marker/point.js.map +1 -1
  391. package/es/marker/type.d.ts +16 -16
  392. package/es/marker/type.js.map +1 -1
  393. package/es/pager/pager.d.ts +2 -1
  394. package/es/pager/pager.js +10 -10
  395. package/es/pager/pager.js.map +1 -1
  396. package/es/pager/type.d.ts +1 -0
  397. package/es/pager/type.js.map +1 -1
  398. package/es/player/base-player.d.ts +2 -1
  399. package/es/player/base-player.js +7 -5
  400. package/es/player/base-player.js.map +1 -1
  401. package/es/player/continuous-player.js +2 -2
  402. package/es/player/continuous-player.js.map +1 -1
  403. package/es/player/controller/controller.d.ts +2 -1
  404. package/es/player/controller/controller.js +5 -5
  405. package/es/player/controller/controller.js.map +1 -1
  406. package/es/player/controller/type.d.ts +1 -0
  407. package/es/player/controller/type.js.map +1 -1
  408. package/es/player/discrete-player.d.ts +2 -1
  409. package/es/player/discrete-player.js +5 -4
  410. package/es/player/discrete-player.js.map +1 -1
  411. package/es/player/type/base.d.ts +1 -0
  412. package/es/player/type/base.js.map +1 -1
  413. package/es/poptip/poptip-plugin.d.ts +1 -0
  414. package/es/poptip/poptip-plugin.js +6 -3
  415. package/es/poptip/poptip-plugin.js.map +1 -1
  416. package/es/poptip/poptip.d.ts +2 -1
  417. package/es/poptip/poptip.js +3 -2
  418. package/es/poptip/poptip.js.map +1 -1
  419. package/es/scrollbar/scrollbar.d.ts +6 -1
  420. package/es/scrollbar/scrollbar.js +42 -20
  421. package/es/scrollbar/scrollbar.js.map +1 -1
  422. package/es/scrollbar/type.d.ts +5 -1
  423. package/es/scrollbar/type.js.map +1 -1
  424. package/es/segment/segment.d.ts +2 -1
  425. package/es/segment/segment.js +9 -7
  426. package/es/segment/segment.js.map +1 -1
  427. package/es/segment/type.d.ts +6 -2
  428. package/es/segment/type.js.map +1 -1
  429. package/es/slider/slider.d.ts +2 -1
  430. package/es/slider/slider.js +39 -33
  431. package/es/slider/slider.js.map +1 -1
  432. package/es/slider/type.d.ts +1 -0
  433. package/es/slider/type.js.map +1 -1
  434. package/es/tag/tag.d.ts +2 -1
  435. package/es/tag/tag.js +89 -40
  436. package/es/tag/tag.js.map +1 -1
  437. package/es/tag/type.d.ts +4 -5
  438. package/es/tag/type.js.map +1 -1
  439. package/es/title/title.d.ts +2 -1
  440. package/es/title/title.js +91 -55
  441. package/es/title/title.js.map +1 -1
  442. package/es/title/type.d.ts +10 -5
  443. package/es/title/type.js.map +1 -1
  444. package/es/tooltip/tooltip.d.ts +2 -1
  445. package/es/tooltip/tooltip.js +55 -15
  446. package/es/tooltip/tooltip.js.map +1 -1
  447. package/es/tooltip/type.d.ts +7 -2
  448. package/es/tooltip/type.js.map +1 -1
  449. package/es/tooltip/util.js +9 -1
  450. package/es/tooltip/util.js.map +1 -1
  451. package/es/util/label-smartInvert.d.ts +2 -2
  452. package/es/util/label-smartInvert.js +9 -5
  453. package/es/util/label-smartInvert.js.map +1 -1
  454. package/es/util/text.d.ts +2 -2
  455. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scrollbar/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type { IGroupGraphicAttribute, IRectGraphicAttribute } from '@visactor/vrender-core';\nimport type { Direction } from '../interface';\nimport type { Padding } from '../core/type';\nexport interface ScrollBarAttributes extends IGroupGraphicAttribute {\n x: number;\n y: number;\n /**\n * 滚动条的布局方向,默认为 `horizontal`,水平布局。\n * @default horizontal\n */\n direction?: Direction;\n /** 滚动条的宽度。 */\n width: number;\n /** 滚动条的高度。 */\n height: number;\n /** 滑块是否圆角。 */\n round?: boolean;\n /**\n * 滚动条轨道样式。\n */\n railStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n /**\n * 滚动条滑块样式。\n */\n sliderStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n /**\n * 滚动条内边距,影响滑轨的实际可用空间 [top, right, bottom, left]\n */\n padding?: Padding;\n /** 滑块当前的可视范围,数值为 0 - 1 */\n range: [number, number];\n /**\n * 滑块限制的滚动范围,数值为 0 - 1\n */\n limitRange?: [number, number];\n}\n"]}
1
+ {"version":3,"sources":["../src/scrollbar/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type { IGroupGraphicAttribute, IRectGraphicAttribute } from '@visactor/vrender-core';\nimport type { Direction, IDelayType } from '../interface';\nimport type { Padding } from '../core/type';\nexport interface ScrollBarAttributes extends IGroupGraphicAttribute {\n x: number;\n y: number;\n /**\n * 滚动条的布局方向,默认为 `horizontal`,水平布局。\n * @default horizontal\n */\n direction?: Direction;\n /** 滚动条的宽度。 */\n width: number;\n /** 滚动条的高度。 */\n height: number;\n /** 滑块是否圆角。 */\n round?: boolean;\n /**\n * 滚动条轨道样式。\n */\n railStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n /**\n * 滚动条滑块样式。\n */\n sliderStyle?: Omit<IRectGraphicAttribute, 'width' | 'height'>;\n /**\n * 滚动条内边距,影响滑轨的实际可用空间 [top, right, bottom, left]\n */\n padding?: Padding;\n /** 滑块当前的可视范围,数值为 0 - 1 */\n range: [number, number];\n /**\n * 滑块限制的滚动范围,数值为 0 - 1\n */\n limitRange?: [number, number];\n /**\n * 关闭交互效果\n * @default false\n */\n disableTriggerEvent?: boolean;\n /*\n * 事件触发延迟类型\n * @default 'throttle'\n */\n delayType?: IDelayType;\n\n /**\n * 事件触发延迟时长\n * @default 0\n */\n delayTime?: number;\n /**\n * 是否在操作时动态更新视图\n * @default true\n */\n realTime?: boolean;\n}\n"]}
@@ -2,6 +2,7 @@ import type { ISymbol } from '@visactor/vrender-core';
2
2
  import { AbstractComponent } from '../core/base';
3
3
  import type { SegmentAttributes } from './type';
4
4
  import type { Point } from '../core/type';
5
+ import type { ComponentOptions } from '../interface';
5
6
  export declare class Segment extends AbstractComponent<Required<SegmentAttributes>> {
6
7
  name: string;
7
8
  startSymbol?: ISymbol;
@@ -13,7 +14,7 @@ export declare class Segment extends AbstractComponent<Required<SegmentAttribute
13
14
  private _mainSegmentPoints;
14
15
  getMainSegmentPoints(): Point[];
15
16
  static defaultAttributes: Partial<SegmentAttributes>;
16
- constructor(attributes: SegmentAttributes);
17
+ constructor(attributes: SegmentAttributes, options?: ComponentOptions);
17
18
  protected render(): void;
18
19
  private _renderSymbol;
19
20
  private _getMainSegmentPoints;
@@ -16,8 +16,9 @@ class Segment extends base_1.AbstractComponent {
16
16
  getMainSegmentPoints() {
17
17
  return this._mainSegmentPoints;
18
18
  }
19
- constructor(attributes) {
20
- super((0, vutils_1.merge)({}, Segment.defaultAttributes, attributes)), this.name = "segment";
19
+ constructor(attributes, options) {
20
+ super((null == options ? void 0 : options.skipDefault) ? attributes : (0, vutils_1.merge)({}, Segment.defaultAttributes, attributes)),
21
+ this.name = "segment";
21
22
  }
22
23
  render() {
23
24
  this.removeAllChild(), this._reset();
@@ -33,7 +34,7 @@ class Segment extends base_1.AbstractComponent {
33
34
  }
34
35
  points.forEach(((point, index) => {
35
36
  var _a, _b;
36
- const line = (0, vrender_core_1.createLine)(Object.assign(Object.assign({
37
+ const line = vrender_core_1.graphicCreator.line(Object.assign(Object.assign({
37
38
  points: point
38
39
  }, (0, vutils_1.isArray)(lineStyle) ? null !== (_a = lineStyle[index]) && void 0 !== _a ? _a : lineStyle[lineStyle.length - 1] : lineStyle), {
39
40
  fill: !1
@@ -43,10 +44,11 @@ class Segment extends base_1.AbstractComponent {
43
44
  this.add(line);
44
45
  }));
45
46
  } else {
46
- const line = (0, vrender_core_1.createLine)(Object.assign(Object.assign({
47
+ const line = vrender_core_1.graphicCreator.polygon(Object.assign(Object.assign({
47
48
  points: this._clipPoints(this.attribute.points)
48
49
  }, (0, vutils_1.array)(lineStyle)[0]), {
49
- fill: !1
50
+ fill: !1,
51
+ closePath: !1
50
52
  }));
51
53
  line.name = `${this.name}-line`, line.id = this._getNodeId("line"), (0, vutils_1.isEmpty)(null == state ? void 0 : state.line) || (line.states = [].concat(state.line)[0]),
52
54
  this.add(line);
@@ -66,7 +68,7 @@ class Segment extends base_1.AbstractComponent {
66
68
  }, rotate = startAngle + Math.PI / 2) : (position = {
67
69
  x: end.x + ((0, vutils_1.isValidNumber)(endAngle) ? refX * Math.cos(endAngle) + refY * Math.cos(endAngle - Math.PI / 2) : 0),
68
70
  y: end.y + ((0, vutils_1.isValidNumber)(endAngle) ? refX * Math.sin(endAngle) + refY * Math.sin(endAngle - Math.PI / 2) : 0)
69
- }, rotate = endAngle + Math.PI / 2), symbol = (0, vrender_core_1.createSymbol)(Object.assign(Object.assign(Object.assign({}, position), {
71
+ }, rotate = endAngle + Math.PI / 2), symbol = vrender_core_1.graphicCreator.symbol(Object.assign(Object.assign(Object.assign({}, position), {
70
72
  symbolType: symbolType,
71
73
  size: size,
72
74
  angle: autoRotate ? rotate + refAngle : 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/segment/segment.ts"],"names":[],"mappings":"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","file":"segment.js","sourcesContent":["/**\n * @description 标签组件\n */\nimport { array, flattenArray, isArray, isEmpty, isValidNumber, merge } from '@visactor/vutils';\nimport type { ISymbol } from '@visactor/vrender-core';\nimport { createSymbol, createLine } from '@visactor/vrender-core';\nimport { AbstractComponent } from '../core/base';\nimport type { SegmentAttributes, SymbolAttributes } from './type';\nimport type { Point } from '../core/type';\n\nexport class Segment extends AbstractComponent<Required<SegmentAttributes>> {\n name = 'segment';\n\n startSymbol?: ISymbol;\n endSymbol?: ISymbol;\n\n private _startAngle!: number;\n /**\n * 外部获取segment起点正方向\n */\n getStartAngle() {\n return this._startAngle;\n }\n\n private _endAngle!: number;\n /**\n * 外部获取segment终点正方向\n */\n getEndAngle() {\n return this._endAngle;\n }\n\n private _mainSegmentPoints: Point[]; // 组成主线段的点\n getMainSegmentPoints() {\n return this._mainSegmentPoints;\n }\n\n static defaultAttributes: Partial<SegmentAttributes> = {\n visible: true,\n lineStyle: {\n lineWidth: 1,\n stroke: '#000'\n },\n startSymbol: {\n visible: false,\n autoRotate: true,\n symbolType: 'triangle',\n size: 12,\n refX: 0,\n refY: 0,\n refAngle: 0,\n style: {\n fill: '#000',\n zIndex: 1 // 默认 symbol 绘制在 line 上面\n }\n },\n endSymbol: {\n visible: false,\n autoRotate: true,\n symbolType: 'triangle',\n size: 12,\n refX: 0,\n refY: 0,\n refAngle: 0,\n style: {\n fill: '#000',\n zIndex: 1 // 默认 symbol 绘制在 line 上面\n }\n }\n };\n\n constructor(attributes: SegmentAttributes) {\n super(merge({}, Segment.defaultAttributes, attributes));\n }\n\n protected render() {\n this.removeAllChild();\n this._reset();\n const {\n // points,\n startSymbol,\n endSymbol,\n lineStyle,\n state,\n visible = true,\n multiSegment,\n mainSegmentIndex\n } = this.attribute as SegmentAttributes;\n\n if (!visible) {\n return;\n }\n\n // 计算线的起点和终点角度\n // 计算角度的原因:\n // 1. segment symbol的自动旋转提供参数\n // 2. 使用segment时,需要根据line的角度对附加元素进行自动旋转(比如:markLine的标签, markPoint的装饰线)\n this._computeLineAngle();\n\n // 绘制start和end symbol\n const startSymbolShape = this._renderSymbol(startSymbol as SymbolAttributes, 'start');\n const endSymbolShape = this._renderSymbol(endSymbol as SymbolAttributes, 'end');\n\n this.startSymbol = startSymbolShape;\n this.endSymbol = endSymbolShape;\n\n if (multiSegment) {\n const points = [...this.attribute.points];\n if (isValidNumber(mainSegmentIndex)) {\n points[mainSegmentIndex] = this._clipPoints(points[mainSegmentIndex] as Point[]);\n } else {\n const clipPoints = this._clipPoints(flattenArray(points) as Point[]);\n points[0][0] = clipPoints[0];\n (points[points.length - 1] as Point[])[(points[points.length - 1] as Point[]).length - 1] =\n clipPoints[clipPoints.length - 1];\n }\n points.forEach((point: Point[], index) => {\n const line = createLine({\n points: point,\n ...(isArray(lineStyle) ? lineStyle[index] ?? lineStyle[lineStyle.length - 1] : lineStyle),\n fill: false\n });\n\n line.name = `${this.name}-line`;\n line.id = this._getNodeId('line' + index);\n if (!isEmpty(state?.line)) {\n line.states = isArray(state.line) ? state.line[index] ?? state.line[state.line.length - 1] : state.line;\n }\n this.add(line);\n });\n } else {\n const line = createLine({\n points: this._clipPoints(this.attribute.points as Point[]),\n ...array(lineStyle)[0],\n fill: false\n });\n\n line.name = `${this.name}-line`;\n line.id = this._getNodeId('line');\n if (!isEmpty(state?.line)) {\n line.states = [].concat(state.line)[0];\n }\n this.add(line);\n }\n }\n\n private _renderSymbol(attribute: SymbolAttributes, dim: string): ISymbol | undefined {\n const points = this._getMainSegmentPoints();\n if (!points.length) {\n return;\n }\n\n const { autoRotate = true } = attribute;\n let symbol;\n if (attribute?.visible) {\n const startAngle = this._startAngle;\n const endAngle = this._endAngle;\n const { state } = this.attribute as SegmentAttributes;\n const start = points[0];\n const end = points[points.length - 1];\n const { refX = 0, refY = 0, refAngle = 0, style, symbolType, size = 12 } = attribute;\n let position;\n let rotate;\n if (dim === 'start') {\n position = {\n x:\n start.x +\n (isValidNumber(startAngle) ? refX * Math.cos(startAngle) + refY * Math.cos(startAngle - Math.PI / 2) : 0),\n y:\n start.y +\n (isValidNumber(startAngle) ? refX * Math.sin(startAngle) + refY * Math.sin(startAngle - Math.PI / 2) : 0)\n };\n rotate = startAngle + Math.PI / 2; // @chensiji - 加Math.PI / 2是因为:默认symbol的包围盒垂直于line,所以在做自动旋转时需要在line正方向基础上做90度偏移\n } else {\n position = {\n x:\n end.x + (isValidNumber(endAngle) ? refX * Math.cos(endAngle) + refY * Math.cos(endAngle - Math.PI / 2) : 0),\n y: end.y + (isValidNumber(endAngle) ? refX * Math.sin(endAngle) + refY * Math.sin(endAngle - Math.PI / 2) : 0)\n };\n rotate = endAngle + Math.PI / 2;\n }\n\n symbol = createSymbol({\n ...position,\n symbolType: symbolType as string,\n size,\n angle: autoRotate ? rotate + refAngle : 0,\n strokeBoundsBuffer: 0,\n ...style\n });\n symbol.name = `${this.name}-${dim}-symbol`;\n symbol.id = this._getNodeId(`${dim}-symbol`);\n\n if (!isEmpty(state?.symbol)) {\n symbol.states = state.symbol;\n }\n\n this.add(symbol);\n }\n return symbol;\n }\n\n private _getMainSegmentPoints(): Point[] {\n if (this._mainSegmentPoints) {\n return this._mainSegmentPoints;\n }\n const { points: originPoints, multiSegment, mainSegmentIndex } = this.attribute as SegmentAttributes;\n\n let points: Point[];\n // 需要做下约束判断\n if (multiSegment) {\n if (isValidNumber(mainSegmentIndex)) {\n points = originPoints[mainSegmentIndex] as Point[];\n } else {\n points = flattenArray(originPoints);\n }\n } else {\n points = originPoints as Point[];\n }\n this._mainSegmentPoints = points;\n\n return points;\n }\n\n private _clipPoints(points: Point[]) {\n const { startSymbol, endSymbol } = this.attribute as SegmentAttributes;\n // 通过改变line起点和终点的方式达到symbol在fill为false的情况下,也可以遮盖line的效果\n let pointsAfterClip = points;\n if (startSymbol?.visible) {\n const startSize = startSymbol?.clip ? startSymbol?.size || 10 : 0;\n const pointsStart = {\n x: points[0].x - (startSize / 2) * (Math.cos(this._startAngle) || 0),\n y: points[0].y - (startSize / 2) * (Math.sin(this._startAngle) || 0)\n };\n pointsAfterClip = [pointsStart, ...pointsAfterClip.slice(1)];\n }\n if (endSymbol?.visible) {\n const endSize = endSymbol?.clip ? endSymbol?.size || 10 : 0;\n const pointsEnd = {\n x: points[points.length - 1].x - (endSize / 2) * (Math.cos(this._endAngle) || 0),\n y: points[points.length - 1].y - (endSize / 2) * (Math.sin(this._endAngle) || 0)\n };\n pointsAfterClip = [...pointsAfterClip.slice(0, pointsAfterClip.length - 1), pointsEnd];\n }\n\n return pointsAfterClip;\n }\n\n private _computeLineAngle() {\n const points = this._getMainSegmentPoints();\n if (points.length <= 1) {\n return;\n }\n const start = points[0];\n const startInside = points[1];\n const endInside = points[points.length - 2];\n const end = points[points.length - 1];\n const startVector = [start.x - startInside.x, start.y - startInside.y]; // 起点正方向向量\n const startAngle = Math.atan2(startVector[1], startVector[0]); // 起点正方向角度\n const endVector = [end.x - endInside.x, end.y - endInside.y]; // 终点正方向向量\n const endAngle = Math.atan2(endVector[1], endVector[0]); // 终点正方向角度\n\n this._startAngle = startAngle;\n this._endAngle = endAngle;\n }\n\n private _reset() {\n this.startSymbol = null;\n this.endSymbol = null;\n this._startAngle = null;\n this._endAngle = null;\n this._mainSegmentPoints = null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/segment/segment.ts"],"names":[],"mappings":"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","file":"segment.js","sourcesContent":["/**\n * @description 标签组件\n */\nimport { array, flattenArray, isArray, isEmpty, isValidNumber, merge } from '@visactor/vutils';\nimport type { ISymbol } from '@visactor/vrender-core';\nimport { graphicCreator } from '@visactor/vrender-core';\nimport { AbstractComponent } from '../core/base';\nimport type { SegmentAttributes, SymbolAttributes } from './type';\nimport type { Point } from '../core/type';\nimport type { ComponentOptions } from '../interface';\n\nexport class Segment extends AbstractComponent<Required<SegmentAttributes>> {\n name = 'segment';\n\n startSymbol?: ISymbol;\n endSymbol?: ISymbol;\n\n private _startAngle!: number;\n /**\n * 外部获取segment起点正方向\n */\n getStartAngle() {\n return this._startAngle;\n }\n\n private _endAngle!: number;\n /**\n * 外部获取segment终点正方向\n */\n getEndAngle() {\n return this._endAngle;\n }\n\n private _mainSegmentPoints: Point[]; // 组成主线段的点\n getMainSegmentPoints() {\n return this._mainSegmentPoints;\n }\n\n static defaultAttributes: Partial<SegmentAttributes> = {\n visible: true,\n lineStyle: {\n lineWidth: 1,\n stroke: '#000'\n },\n startSymbol: {\n visible: false,\n autoRotate: true,\n symbolType: 'triangle',\n size: 12,\n refX: 0,\n refY: 0,\n refAngle: 0,\n style: {\n fill: '#000',\n zIndex: 1 // 默认 symbol 绘制在 line 上面\n }\n },\n endSymbol: {\n visible: false,\n autoRotate: true,\n symbolType: 'triangle',\n size: 12,\n refX: 0,\n refY: 0,\n refAngle: 0,\n style: {\n fill: '#000',\n zIndex: 1 // 默认 symbol 绘制在 line 上面\n }\n }\n };\n\n constructor(attributes: SegmentAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, Segment.defaultAttributes, attributes));\n }\n\n protected render() {\n this.removeAllChild();\n this._reset();\n const {\n // points,\n startSymbol,\n endSymbol,\n lineStyle,\n state,\n visible = true,\n multiSegment,\n mainSegmentIndex\n } = this.attribute as SegmentAttributes;\n\n if (!visible) {\n return;\n }\n\n // 计算线的起点和终点角度\n // 计算角度的原因:\n // 1. segment symbol的自动旋转提供参数\n // 2. 使用segment时,需要根据line的角度对附加元素进行自动旋转(比如:markLine的标签, markPoint的装饰线)\n this._computeLineAngle();\n\n // 绘制start和end symbol\n const startSymbolShape = this._renderSymbol(startSymbol as SymbolAttributes, 'start');\n const endSymbolShape = this._renderSymbol(endSymbol as SymbolAttributes, 'end');\n\n this.startSymbol = startSymbolShape;\n this.endSymbol = endSymbolShape;\n\n if (multiSegment) {\n const points = [...this.attribute.points];\n if (isValidNumber(mainSegmentIndex)) {\n points[mainSegmentIndex] = this._clipPoints(points[mainSegmentIndex] as Point[]);\n } else {\n const clipPoints = this._clipPoints(flattenArray(points) as Point[]);\n points[0][0] = clipPoints[0];\n (points[points.length - 1] as Point[])[(points[points.length - 1] as Point[]).length - 1] =\n clipPoints[clipPoints.length - 1];\n }\n points.forEach((point: Point[], index) => {\n const line = graphicCreator.line({\n points: point,\n ...(isArray(lineStyle) ? lineStyle[index] ?? lineStyle[lineStyle.length - 1] : lineStyle),\n fill: false\n });\n\n line.name = `${this.name}-line`;\n line.id = this._getNodeId('line' + index);\n if (!isEmpty(state?.line)) {\n line.states = isArray(state.line) ? state.line[index] ?? state.line[state.line.length - 1] : state.line;\n }\n this.add(line);\n });\n } else {\n const line = graphicCreator.polygon({\n points: this._clipPoints(this.attribute.points as Point[]),\n ...array(lineStyle)[0],\n fill: false,\n closePath: false\n });\n\n line.name = `${this.name}-line`;\n line.id = this._getNodeId('line');\n if (!isEmpty(state?.line)) {\n line.states = [].concat(state.line)[0];\n }\n this.add(line);\n }\n }\n\n private _renderSymbol(attribute: SymbolAttributes, dim: string): ISymbol | undefined {\n const points = this._getMainSegmentPoints();\n if (!points.length) {\n return;\n }\n\n const { autoRotate = true } = attribute;\n let symbol;\n if (attribute?.visible) {\n const startAngle = this._startAngle;\n const endAngle = this._endAngle;\n const { state } = this.attribute as SegmentAttributes;\n const start = points[0];\n const end = points[points.length - 1];\n const { refX = 0, refY = 0, refAngle = 0, style, symbolType, size = 12 } = attribute;\n let position;\n let rotate;\n if (dim === 'start') {\n position = {\n x:\n start.x +\n (isValidNumber(startAngle) ? refX * Math.cos(startAngle) + refY * Math.cos(startAngle - Math.PI / 2) : 0),\n y:\n start.y +\n (isValidNumber(startAngle) ? refX * Math.sin(startAngle) + refY * Math.sin(startAngle - Math.PI / 2) : 0)\n };\n rotate = startAngle + Math.PI / 2; // @chensiji - 加Math.PI / 2是因为:默认symbol的包围盒垂直于line,所以在做自动旋转时需要在line正方向基础上做90度偏移\n } else {\n position = {\n x:\n end.x + (isValidNumber(endAngle) ? refX * Math.cos(endAngle) + refY * Math.cos(endAngle - Math.PI / 2) : 0),\n y: end.y + (isValidNumber(endAngle) ? refX * Math.sin(endAngle) + refY * Math.sin(endAngle - Math.PI / 2) : 0)\n };\n rotate = endAngle + Math.PI / 2;\n }\n\n symbol = graphicCreator.symbol({\n ...position,\n symbolType: symbolType as string,\n size,\n angle: autoRotate ? rotate + refAngle : 0,\n strokeBoundsBuffer: 0,\n ...style\n });\n symbol.name = `${this.name}-${dim}-symbol`;\n symbol.id = this._getNodeId(`${dim}-symbol`);\n\n if (!isEmpty(state?.symbol)) {\n symbol.states = state.symbol;\n }\n\n this.add(symbol);\n }\n return symbol;\n }\n\n private _getMainSegmentPoints(): Point[] {\n if (this._mainSegmentPoints) {\n return this._mainSegmentPoints;\n }\n const { points: originPoints, multiSegment, mainSegmentIndex } = this.attribute as SegmentAttributes;\n\n let points: Point[];\n // 需要做下约束判断\n if (multiSegment) {\n if (isValidNumber(mainSegmentIndex)) {\n points = originPoints[mainSegmentIndex] as Point[];\n } else {\n points = flattenArray(originPoints);\n }\n } else {\n points = originPoints as Point[];\n }\n this._mainSegmentPoints = points;\n\n return points;\n }\n\n private _clipPoints(points: Point[]) {\n const { startSymbol, endSymbol } = this.attribute as SegmentAttributes;\n // 通过改变line起点和终点的方式达到symbol在fill为false的情况下,也可以遮盖line的效果\n let pointsAfterClip = points;\n if (startSymbol?.visible) {\n const startSize = startSymbol?.clip ? startSymbol?.size || 10 : 0;\n const pointsStart = {\n x: points[0].x - (startSize / 2) * (Math.cos(this._startAngle) || 0),\n y: points[0].y - (startSize / 2) * (Math.sin(this._startAngle) || 0)\n };\n pointsAfterClip = [pointsStart, ...pointsAfterClip.slice(1)];\n }\n if (endSymbol?.visible) {\n const endSize = endSymbol?.clip ? endSymbol?.size || 10 : 0;\n const pointsEnd = {\n x: points[points.length - 1].x - (endSize / 2) * (Math.cos(this._endAngle) || 0),\n y: points[points.length - 1].y - (endSize / 2) * (Math.sin(this._endAngle) || 0)\n };\n pointsAfterClip = [...pointsAfterClip.slice(0, pointsAfterClip.length - 1), pointsEnd];\n }\n\n return pointsAfterClip;\n }\n\n private _computeLineAngle() {\n const points = this._getMainSegmentPoints();\n if (points.length <= 1) {\n return;\n }\n const start = points[0];\n const startInside = points[1];\n const endInside = points[points.length - 2];\n const end = points[points.length - 1];\n const startVector = [start.x - startInside.x, start.y - startInside.y]; // 起点正方向向量\n const startAngle = Math.atan2(startVector[1], startVector[0]); // 起点正方向角度\n const endVector = [end.x - endInside.x, end.y - endInside.y]; // 终点正方向向量\n const endAngle = Math.atan2(endVector[1], endVector[0]); // 终点正方向角度\n\n this._startAngle = startAngle;\n this._endAngle = endAngle;\n }\n\n private _reset() {\n this.startSymbol = null;\n this.endSymbol = null;\n this._startAngle = null;\n this._endAngle = null;\n this._mainSegmentPoints = null;\n }\n}\n"]}
@@ -18,9 +18,13 @@ export interface SegmentAttributes extends IGroupGraphicAttribute {
18
18
  points: Point[] | Point[][];
19
19
  startSymbol?: SymbolAttributes;
20
20
  endSymbol?: SymbolAttributes;
21
- lineStyle?: Partial<ILineGraphicAttribute> | Partial<ILineGraphicAttribute>[];
21
+ lineStyle?: ILineGraphicWithCornerRadius | Partial<ILineGraphicAttribute>[];
22
22
  state?: {
23
- line?: State<Partial<ILineGraphicAttribute> | Partial<ILineGraphicAttribute>[]>;
23
+ line?: State<ILineGraphicWithCornerRadius | Partial<ILineGraphicAttribute>[]>;
24
24
  symbol?: State<Partial<ISymbolGraphicAttribute>>;
25
25
  };
26
26
  }
27
+ interface ILineGraphicWithCornerRadius extends Partial<ILineGraphicAttribute> {
28
+ cornerRadius?: number;
29
+ }
30
+ export {};
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/segment/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type {\n IGraphicAttribute,\n IGroupGraphicAttribute,\n ILineGraphicAttribute,\n ISymbolGraphicAttribute,\n SymbolType\n} from '@visactor/vrender-core';\nimport type { Point, State } from '../core/type';\n\nexport type SymbolAttributes = {\n /** 是否展示 symbol */\n visible: boolean;\n /**\n * symbol 形状,默认为带左右方向的箭头\n */\n symbolType?: SymbolType;\n /**\n * symbol 大小\n */\n size?: number;\n /**\n * 自动旋转,沿着线的方向,默认 true\n */\n autoRotate?: boolean;\n /**\n * symbol 相对line平行方向上的偏移\n */\n refX?: number;\n /**\n * symbol 相对line正交方向上的偏移\n */\n refY?: number;\n /**\n * symbol 相对默认角度的偏移\n * @description (@chensiji: 默认角度为笛卡尔坐标系y正方向,即默认symbol包围盒的角度为笛卡尔坐标系y正方向, 做自动旋转时, 会在此基础上,将包围盒转换到line平行方向上。)\n */\n refAngle?: number;\n /**\n * symbol 是否clip line,即当symbol fill为false时,line在symbol内部的部分是否展示\n * @defalut false\n */\n clip?: boolean;\n /**\n * symbol 样式配置\n */\n style?: Partial<IGraphicAttribute>;\n};\n\nexport interface SegmentAttributes extends IGroupGraphicAttribute {\n /**\n * 可见性\n * @default true\n */\n visible?: boolean;\n /**\n * 是否对 points 进行多段处理,默认为 false,即直接将所有的点连接成线。\n * 如果需要进行多段处理,需要将 points 属性配置为 Point[][] 类型\n * @default false\n */\n multiSegment?: boolean;\n /**\n * 在 `multiSegment` 属性开启的前提下,用于声明那一段线段用来作为主线段,如果不声明,默认全段为主线段\n */\n mainSegmentIndex?: number;\n points: Point[] | Point[][];\n /** 轴线起始点 symbol 配置 */\n startSymbol?: SymbolAttributes;\n /** 轴线末端 symbol 配置 */\n endSymbol?: SymbolAttributes;\n /**\n * 线样式配置\n */\n lineStyle?: Partial<ILineGraphicAttribute> | Partial<ILineGraphicAttribute>[];\n\n state?: {\n line?: State<Partial<ILineGraphicAttribute> | Partial<ILineGraphicAttribute>[]>;\n symbol?: State<Partial<ISymbolGraphicAttribute>>;\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/segment/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type {\n IGraphicAttribute,\n IGroupGraphicAttribute,\n ILineGraphicAttribute,\n ISymbolGraphicAttribute,\n SymbolType\n} from '@visactor/vrender-core';\nimport type { Point, State } from '../core/type';\n\nexport type SymbolAttributes = {\n /** 是否展示 symbol */\n visible: boolean;\n /**\n * symbol 形状,默认为带左右方向的箭头\n */\n symbolType?: SymbolType;\n /**\n * symbol 大小\n */\n size?: number;\n /**\n * 自动旋转,沿着线的方向,默认 true\n */\n autoRotate?: boolean;\n /**\n * symbol 相对line平行方向上的偏移\n */\n refX?: number;\n /**\n * symbol 相对line正交方向上的偏移\n */\n refY?: number;\n /**\n * symbol 相对默认角度的偏移\n * @description (@chensiji: 默认角度为笛卡尔坐标系y正方向,即默认symbol包围盒的角度为笛卡尔坐标系y正方向, 做自动旋转时, 会在此基础上,将包围盒转换到line平行方向上。)\n */\n refAngle?: number;\n /**\n * symbol 是否clip line,即当symbol fill为false时,line在symbol内部的部分是否展示\n * @defalut false\n */\n clip?: boolean;\n /**\n * symbol 样式配置\n */\n style?: Partial<IGraphicAttribute>;\n};\n\nexport interface SegmentAttributes extends IGroupGraphicAttribute {\n /**\n * 可见性\n * @default true\n */\n visible?: boolean;\n /**\n * 是否对 points 进行多段处理,默认为 false,即直接将所有的点连接成线。\n * 如果需要进行多段处理,需要将 points 属性配置为 Point[][] 类型\n * @default false\n */\n multiSegment?: boolean;\n /**\n * 在 `multiSegment` 属性开启的前提下,用于声明那一段线段用来作为主线段,如果不声明,默认全段为主线段\n */\n mainSegmentIndex?: number;\n points: Point[] | Point[][];\n /** 轴线起始点 symbol 配置 */\n startSymbol?: SymbolAttributes;\n /** 轴线末端 symbol 配置 */\n endSymbol?: SymbolAttributes;\n /**\n * 线样式配置\n */\n lineStyle?: ILineGraphicWithCornerRadius | Partial<ILineGraphicAttribute>[];\n\n state?: {\n line?: State<ILineGraphicWithCornerRadius | Partial<ILineGraphicAttribute>[]>;\n symbol?: State<Partial<ISymbolGraphicAttribute>>;\n };\n}\n\ninterface ILineGraphicWithCornerRadius extends Partial<ILineGraphicAttribute> {\n /**\n * 折现拐角处的圆角配置\n */\n cornerRadius?: number;\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import type { IGroup, ISymbol, IGraphic, ISymbolGraphicAttribute, IText } from '@visactor/vrender-core';
2
2
  import { AbstractComponent } from '../core/base';
3
3
  import type { SliderAttributes } from './type';
4
+ import type { ComponentOptions } from '../interface';
4
5
  export declare class Slider extends AbstractComponent<Required<SliderAttributes>> {
5
6
  name: string;
6
7
  static defaultAttributes: {
@@ -70,7 +71,7 @@ export declare class Slider extends AbstractComponent<Required<SliderAttributes>
70
71
  };
71
72
  get startHandler(): ISymbol;
72
73
  get endHandler(): ISymbol;
73
- constructor(attributes: SliderAttributes);
74
+ constructor(attributes: SliderAttributes, options?: ComponentOptions);
74
75
  setValue(value: number | number[]): void;
75
76
  render(): void;
76
77
  protected _renderRail(container: IGroup): import("@visactor/vrender-core").IRect;
@@ -27,15 +27,17 @@ class Slider extends base_1.AbstractComponent {
27
27
  get endHandler() {
28
28
  return this._endHandler;
29
29
  }
30
- constructor(attributes) {
31
- super((0, vutils_1.merge)({}, Slider.defaultAttributes, attributes)), this.name = "slider",
32
- this._isHorizontal = !0, this._startHandler = null, this._endHandler = null, this._startHandlerText = null,
33
- this._endHandlerText = null, this._currentHandler = null, this._currentValue = {},
34
- this._onHandlerPointerdown = e => {
30
+ constructor(attributes, options) {
31
+ super((null == options ? void 0 : options.skipDefault) ? attributes : (0, vutils_1.merge)({}, Slider.defaultAttributes, attributes)),
32
+ this.name = "slider", this._isHorizontal = !0, this._startHandler = null, this._endHandler = null,
33
+ this._startHandlerText = null, this._endHandlerText = null, this._currentHandler = null,
34
+ this._currentValue = {}, this._onHandlerPointerdown = e => {
35
35
  e.stopPropagation(), this._currentHandler = e.target, this._prePos = this._isHorizontal ? e.clientX : e.clientY,
36
- "browser" === vrender_core_1.vglobal.env ? (vrender_core_1.vglobal.addEventListener("pointermove", this._onHandlerPointerMove),
37
- vrender_core_1.vglobal.addEventListener("pointerup", this._onHandlerPointerUp)) : (this._currentHandler.addEventListener("pointermove", this._onHandlerPointerMove),
38
- this._currentHandler.addEventListener("pointerup", this._onHandlerPointerUp), this._currentHandler.addEventListener("pointerupoutside", this._onHandlerPointerUp));
36
+ "browser" === vrender_core_1.vglobal.env ? (vrender_core_1.vglobal.addEventListener("pointermove", this._onHandlerPointerMove, {
37
+ capture: !0
38
+ }), vrender_core_1.vglobal.addEventListener("pointerup", this._onHandlerPointerUp)) : (this.stage.addEventListener("pointermove", this._onHandlerPointerMove, {
39
+ capture: !0
40
+ }), this.stage.addEventListener("pointerup", this._onHandlerPointerUp), this.stage.addEventListener("pointerupoutside", this._onHandlerPointerUp));
39
41
  }, this._onHandlerPointerMove = e => {
40
42
  var _a, _b;
41
43
  e.stopPropagation();
@@ -51,17 +53,18 @@ class Slider extends base_1.AbstractComponent {
51
53
  "text" === this._currentHandler.type ? this._updateHandlerText(this._currentHandler, newPos, currentValue) : this._updateHandler(this._currentHandler, newPos, currentValue),
52
54
  this._updateTrack(), this._prePos = currentPos, this._dispatchChangeEvent();
53
55
  }, this._onHandlerPointerUp = e => {
54
- if (e.preventDefault(), this._currentHandler = null, "browser" === vrender_core_1.vglobal.env) vrender_core_1.vglobal.removeEventListener("pointermove", this._onHandlerPointerMove),
55
- vrender_core_1.vglobal.removeEventListener("pointerup", this._onHandlerPointerUp); else {
56
- const currentTarget = e.target;
57
- currentTarget.removeEventListener("pointermove", this._onHandlerPointerMove), currentTarget.removeEventListener("pointerup", this._onHandlerPointerUp),
58
- currentTarget.removeEventListener("pointerupoutside", this._onHandlerPointerUp);
59
- }
56
+ e.preventDefault(), this._currentHandler = null, "browser" === vrender_core_1.vglobal.env ? (vrender_core_1.vglobal.removeEventListener("pointermove", this._onHandlerPointerMove, {
57
+ capture: !0
58
+ }), vrender_core_1.vglobal.removeEventListener("pointerup", this._onHandlerPointerUp)) : (this.stage.removeEventListener("pointermove", this._onHandlerPointerMove, {
59
+ capture: !0
60
+ }), this.stage.removeEventListener("pointerup", this._onHandlerPointerUp), this.stage.removeEventListener("pointerupoutside", this._onHandlerPointerUp));
60
61
  }, this._onTrackPointerdown = e => {
61
62
  e.stopPropagation(), this._prePos = this._isHorizontal ? e.clientX : e.clientY,
62
- "browser" === vrender_core_1.vglobal.env ? (vrender_core_1.vglobal.addEventListener("pointermove", this._onTrackPointerMove),
63
- vrender_core_1.vglobal.addEventListener("pointerup", this._onTrackPointerUp)) : (this._track.addEventListener("pointermove", this._onTrackPointerMove),
64
- this._track.addEventListener("pointerup", this._onTrackPointerUp), this._track.addEventListener("pointerupoutside", this._onTrackPointerUp));
63
+ "browser" === vrender_core_1.vglobal.env ? (vrender_core_1.vglobal.addEventListener("pointermove", this._onTrackPointerMove, {
64
+ capture: !0
65
+ }), vrender_core_1.vglobal.addEventListener("pointerup", this._onTrackPointerUp)) : (this.stage.addEventListener("pointermove", this._onTrackPointerMove, {
66
+ capture: !0
67
+ }), this.stage.addEventListener("pointerup", this._onTrackPointerUp), this.stage.addEventListener("pointerupoutside", this._onTrackPointerUp));
65
68
  }, this._onTrackPointerMove = e => {
66
69
  e.stopPropagation();
67
70
  const {railWidth: railWidth, railHeight: railHeight, min: min, max: max} = this.attribute;
@@ -90,9 +93,11 @@ class Slider extends base_1.AbstractComponent {
90
93
  }
91
94
  this._prePos = currentPos, this._dispatchChangeEvent();
92
95
  }, this._onTrackPointerUp = e => {
93
- e.preventDefault(), "browser" === vrender_core_1.vglobal.env ? (vrender_core_1.vglobal.removeEventListener("pointermove", this._onTrackPointerMove),
94
- vrender_core_1.vglobal.removeEventListener("pointerup", this._onTrackPointerUp)) : (this._track.removeEventListener("pointermove", this._onTrackPointerMove),
95
- this._track.removeEventListener("pointerup", this._onTrackPointerUp), this._track.removeEventListener("pointerupoutside", this._onTrackPointerUp));
96
+ e.preventDefault(), "browser" === vrender_core_1.vglobal.env ? (vrender_core_1.vglobal.removeEventListener("pointermove", this._onTrackPointerMove, {
97
+ capture: !0
98
+ }), vrender_core_1.vglobal.removeEventListener("pointerup", this._onTrackPointerUp)) : (this.stage.removeEventListener("pointermove", this._onTrackPointerMove, {
99
+ capture: !0
100
+ }), this.stage.removeEventListener("pointerup", this._onTrackPointerUp), this.stage.removeEventListener("pointerupoutside", this._onTrackPointerUp));
96
101
  }, this._onRailPointerDown = e => {
97
102
  e.stopPropagation();
98
103
  const {railWidth: railWidth, railHeight: railHeight, min: min, max: max} = this.attribute;
@@ -132,7 +137,7 @@ class Slider extends base_1.AbstractComponent {
132
137
  };
133
138
  const isHorizontal = "horizontal" === layout;
134
139
  this._isHorizontal = isHorizontal;
135
- const innerView = (0, vrender_core_1.createGroup)({
140
+ const innerView = vrender_core_1.graphicCreator.group({
136
141
  x: 0,
137
142
  y: 0
138
143
  });
@@ -140,7 +145,7 @@ class Slider extends base_1.AbstractComponent {
140
145
  this._innerView = innerView;
141
146
  let startTextShape, startLen = 0;
142
147
  if (startText && startText.visible) {
143
- startTextShape = (0, vrender_core_1.createText)(Object.assign({
148
+ startTextShape = vrender_core_1.graphicCreator.text(Object.assign({
144
149
  x: isHorizontal ? 0 : railWidth / 2,
145
150
  y: isHorizontal ? railHeight / 2 : 0,
146
151
  textAlign: isHorizontal ? "start" : "center",
@@ -152,12 +157,12 @@ class Slider extends base_1.AbstractComponent {
152
157
  const space = (0, vutils_1.isValid)(startText.space) ? startText.space : 0;
153
158
  startLen += (isHorizontal ? startTextShape.AABBBounds.width() : startTextShape.AABBBounds.height()) + space;
154
159
  }
155
- const mainContainer = (0, vrender_core_1.createGroup)({
160
+ const mainContainer = vrender_core_1.graphicCreator.group({
156
161
  x: isHorizontal ? startLen : 0,
157
162
  y: isHorizontal ? 0 : startLen
158
163
  });
159
164
  innerView.add(mainContainer);
160
- const railContainer = (0, vrender_core_1.createGroup)({
165
+ const railContainer = vrender_core_1.graphicCreator.group({
161
166
  x: 0,
162
167
  y: 0
163
168
  });
@@ -166,7 +171,7 @@ class Slider extends base_1.AbstractComponent {
166
171
  mainContainer.add(railContainer), this._renderRail(railContainer), startLen += isHorizontal ? railWidth : railHeight,
167
172
  endText && endText.visible) {
168
173
  const space = (0, vutils_1.isValid)(endText.space) ? endText.space : 0;
169
- endTextShape = (0, vrender_core_1.createText)(Object.assign({
174
+ endTextShape = vrender_core_1.graphicCreator.text(Object.assign({
170
175
  x: isHorizontal ? startLen + space : railWidth / 2,
171
176
  y: isHorizontal ? railHeight / 2 : startLen + space,
172
177
  textAlign: isHorizontal ? "start" : "center",
@@ -183,7 +188,7 @@ class Slider extends base_1.AbstractComponent {
183
188
  const {railWidth: railWidth, railHeight: railHeight, railStyle: railStyle, slidable: slidable} = this.attribute;
184
189
  let cursor = "default";
185
190
  !1 !== slidable && (cursor = "pointer");
186
- const railShape = (0, vrender_core_1.createRect)(Object.assign({
191
+ const railShape = vrender_core_1.graphicCreator.rect(Object.assign({
187
192
  x: 0,
188
193
  y: 0,
189
194
  width: railWidth,
@@ -235,7 +240,7 @@ class Slider extends base_1.AbstractComponent {
235
240
  } else startValue = min, endValue = (0, vutils_1.clamp)(value, min, max);
236
241
  const isHorizontal = this._isHorizontal, railLen = isHorizontal ? railWidth : railHeight;
237
242
  range || (startValue = min);
238
- const trackContainer = (0, vrender_core_1.createGroup)({
243
+ const trackContainer = vrender_core_1.graphicCreator.group({
239
244
  x: 0,
240
245
  y: 0,
241
246
  width: railWidth,
@@ -248,8 +253,7 @@ class Slider extends base_1.AbstractComponent {
248
253
  const draggableTrack = (0, vutils_1.isObject)(range) && !0 === range.draggableTrack;
249
254
  let cursor;
250
255
  cursor = !1 === slidable ? "default" : !1 === range || !1 === draggableTrack ? "pointer" : getDefaultCursor(isHorizontal);
251
- const trackWidth = max === min ? railLen : (endValue - startValue) / (max - min) * railLen, startPos = max === min ? 0 : (startValue - min) / (max - min) * railLen, track = (0,
252
- vrender_core_1.createRect)(Object.assign({
256
+ const trackWidth = max === min ? railLen : (endValue - startValue) / (max - min) * railLen, startPos = max === min ? 0 : (startValue - min) / (max - min) * railLen, track = vrender_core_1.graphicCreator.rect(Object.assign({
253
257
  x: isHorizontal ? startPos : 0,
254
258
  y: isHorizontal ? 0 : startPos,
255
259
  width: isHorizontal ? trackWidth : railWidth,
@@ -260,24 +264,25 @@ class Slider extends base_1.AbstractComponent {
260
264
  container.add(trackContainer);
261
265
  }
262
266
  _renderHandler(style) {
263
- return (0, vrender_core_1.createSymbol)(style);
267
+ return vrender_core_1.graphicCreator.symbol(style);
264
268
  }
265
269
  _renderHandlerText(value, position) {
266
270
  var _a, _b, _c;
267
- const {align: align, min: min, max: max, handlerSize: handlerSize = 14, handlerText: handlerText = {}, railHeight: railHeight, railWidth: railWidth, slidable: slidable} = this.attribute, isHorizontal = this._isHorizontal, railLen = isHorizontal ? railWidth : railHeight, handlerStart = max === min ? "start" === position ? 0 : railLen : (value - min) / (max - min) * railLen, textSpace = null !== (_a = handlerText.space) && void 0 !== _a ? _a : 4, textStyle = Object.assign({
271
+ const {align: align, min: min, max: max, handlerSize: handlerSize = 14, handlerText: handlerText = {}, railHeight: railHeight, railWidth: railWidth, slidable: slidable} = this.attribute, isHorizontal = this._isHorizontal, railLen = isHorizontal ? railWidth : railHeight, handlerStart = max === min ? "start" === position ? 0 : railLen : (value - min) / (max - min) * railLen, textSpace = null !== (_a = handlerText.space) && void 0 !== _a ? _a : 4, textStyle = {
268
272
  text: (null == handlerText ? void 0 : handlerText.formatter) ? handlerText.formatter(value) : value.toFixed(null !== (_b = null == handlerText ? void 0 : handlerText.precision) && void 0 !== _b ? _b : 0),
269
273
  lineHeight: null === (_c = handlerText.style) || void 0 === _c ? void 0 : _c.lineHeight,
270
274
  cursor: !1 === slidable ? "default" : getDefaultCursor(isHorizontal)
271
- }, handlerText.style);
275
+ };
272
276
  isHorizontal ? "top" === align ? (textStyle.textBaseline = "bottom", textStyle.textAlign = "center",
273
277
  textStyle.x = handlerStart, textStyle.y = (railHeight - handlerSize) / 2 - textSpace) : (textStyle.textBaseline = "top",
274
278
  textStyle.textAlign = "center", textStyle.x = handlerStart, textStyle.y = (railHeight + handlerSize) / 2 + textSpace) : "left" === align ? (textStyle.textBaseline = "middle",
275
279
  textStyle.textAlign = "end", textStyle.x = (railWidth - handlerSize) / 2 - textSpace,
276
280
  textStyle.y = handlerStart) : (textStyle.textBaseline = "middle", textStyle.textAlign = "start",
277
281
  textStyle.x = (railWidth + handlerSize) / 2 + textSpace, textStyle.y = handlerStart);
278
- return (0, vrender_core_1.createText)(textStyle);
282
+ return vrender_core_1.graphicCreator.text(Object.assign(Object.assign({}, textStyle), handlerText.style));
279
283
  }
280
284
  _bindEvents() {
285
+ if (this.attribute.disableTriggerEvent) return;
281
286
  const {slidable: slidable, range: range} = this.attribute;
282
287
  slidable && (this._startHandler && this._startHandler.addEventListener("pointerdown", this._onHandlerPointerdown),
283
288
  this._startHandlerText && this._startHandlerText.addEventListener("pointerdown", this._onHandlerPointerdown),