@visactor/vrender-components 0.17.1-alpha.2 → 0.17.1-alpha.3

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 (587) hide show
  1. package/cjs/axis/animate/group-fade.d.ts +2 -2
  2. package/cjs/axis/animate/group-fade.js +3 -3
  3. package/cjs/axis/animate/group-fade.js.map +1 -1
  4. package/cjs/axis/animate/group-transition.d.ts +2 -2
  5. package/cjs/axis/animate/group-transition.js +3 -3
  6. package/cjs/axis/animate/group-transition.js.map +1 -1
  7. package/cjs/axis/base.d.ts +1 -1
  8. package/cjs/axis/base.js +11 -11
  9. package/cjs/axis/base.js.map +1 -1
  10. package/cjs/axis/circle.d.ts +1 -1
  11. package/cjs/axis/circle.js +4 -2
  12. package/cjs/axis/circle.js.map +1 -1
  13. package/cjs/axis/grid/base.d.ts +1 -1
  14. package/cjs/axis/grid/base.js +5 -5
  15. package/cjs/axis/grid/base.js.map +1 -1
  16. package/cjs/axis/grid/circle.js +3 -1
  17. package/cjs/axis/grid/circle.js.map +1 -1
  18. package/cjs/axis/grid/line.js +3 -1
  19. package/cjs/axis/grid/line.js.map +1 -1
  20. package/cjs/axis/grid/type.d.ts +1 -1
  21. package/cjs/axis/grid/type.js.map +1 -1
  22. package/cjs/axis/line.d.ts +1 -1
  23. package/cjs/axis/line.js +5 -3
  24. package/cjs/axis/line.js.map +1 -1
  25. package/cjs/axis/overlap/auto-hide.d.ts +1 -1
  26. package/cjs/axis/overlap/auto-hide.js.map +1 -1
  27. package/cjs/axis/overlap/auto-limit.d.ts +1 -1
  28. package/cjs/axis/overlap/auto-limit.js.map +1 -1
  29. package/cjs/axis/overlap/auto-rotate.d.ts +1 -1
  30. package/cjs/axis/overlap/auto-rotate.js.map +1 -1
  31. package/cjs/axis/overlap/util.d.ts +1 -1
  32. package/cjs/axis/overlap/util.js.map +1 -1
  33. package/cjs/axis/register.d.ts +4 -0
  34. package/cjs/axis/register.js +32 -0
  35. package/cjs/axis/register.js.map +1 -0
  36. package/cjs/axis/type.d.ts +1 -1
  37. package/cjs/axis/type.js.map +1 -1
  38. package/cjs/axis/util.d.ts +1 -1
  39. package/cjs/axis/util.js +2 -2
  40. package/cjs/axis/util.js.map +1 -1
  41. package/cjs/brush/brush.d.ts +1 -1
  42. package/cjs/brush/brush.js +4 -2
  43. package/cjs/brush/brush.js.map +1 -1
  44. package/cjs/brush/register.d.ts +1 -0
  45. package/cjs/brush/register.js +14 -0
  46. package/cjs/brush/register.js.map +1 -0
  47. package/cjs/brush/type.d.ts +1 -1
  48. package/cjs/brush/type.js +1 -2
  49. package/cjs/brush/type.js.map +1 -1
  50. package/cjs/checkbox/checkbox.d.ts +1 -1
  51. package/cjs/checkbox/checkbox.js +8 -6
  52. package/cjs/checkbox/checkbox.js.map +1 -1
  53. package/cjs/checkbox/index.js +2 -1
  54. package/cjs/checkbox/register.d.ts +1 -0
  55. package/cjs/checkbox/register.js +15 -0
  56. package/cjs/checkbox/register.js.map +1 -0
  57. package/cjs/checkbox/type.d.ts +1 -1
  58. package/cjs/checkbox/type.js.map +1 -1
  59. package/cjs/core/base.d.ts +2 -2
  60. package/cjs/core/base.js +2 -2
  61. package/cjs/core/base.js.map +1 -1
  62. package/cjs/core/type.d.ts +1 -1
  63. package/cjs/core/type.js.map +1 -1
  64. package/cjs/crosshair/base.d.ts +1 -1
  65. package/cjs/crosshair/base.js.map +1 -1
  66. package/cjs/crosshair/circle.d.ts +2 -2
  67. package/cjs/crosshair/circle.js +3 -1
  68. package/cjs/crosshair/circle.js.map +1 -1
  69. package/cjs/crosshair/line.d.ts +2 -2
  70. package/cjs/crosshair/line.js +3 -1
  71. package/cjs/crosshair/line.js.map +1 -1
  72. package/cjs/crosshair/polygon.d.ts +2 -2
  73. package/cjs/crosshair/polygon.js +3 -1
  74. package/cjs/crosshair/polygon.js.map +1 -1
  75. package/cjs/crosshair/rect.d.ts +2 -2
  76. package/cjs/crosshair/rect.js +3 -1
  77. package/cjs/crosshair/rect.js.map +1 -1
  78. package/cjs/crosshair/register.d.ts +5 -0
  79. package/cjs/crosshair/register.js +32 -0
  80. package/cjs/crosshair/register.js.map +1 -0
  81. package/cjs/crosshair/sector.d.ts +2 -2
  82. package/cjs/crosshair/sector.js +3 -1
  83. package/cjs/crosshair/sector.js.map +1 -1
  84. package/cjs/crosshair/type.d.ts +1 -1
  85. package/cjs/crosshair/type.js.map +1 -1
  86. package/cjs/data-zoom/config.js +1 -2
  87. package/cjs/data-zoom/data-zoom.d.ts +1 -1
  88. package/cjs/data-zoom/data-zoom.js +6 -4
  89. package/cjs/data-zoom/data-zoom.js.map +1 -1
  90. package/cjs/data-zoom/register.d.ts +1 -0
  91. package/cjs/data-zoom/register.js +15 -0
  92. package/cjs/data-zoom/register.js.map +1 -0
  93. package/cjs/data-zoom/type.d.ts +1 -1
  94. package/cjs/data-zoom/type.js.map +1 -1
  95. package/cjs/index.d.ts +1 -1
  96. package/cjs/index.js +1 -1
  97. package/cjs/index.js.map +1 -1
  98. package/cjs/indicator/config.js +2 -1
  99. package/cjs/indicator/indicator.js +3 -1
  100. package/cjs/indicator/indicator.js.map +1 -1
  101. package/cjs/indicator/register.d.ts +1 -0
  102. package/cjs/indicator/register.js +14 -0
  103. package/cjs/indicator/register.js.map +1 -0
  104. package/cjs/indicator/type.d.ts +1 -1
  105. package/cjs/indicator/type.js.map +1 -1
  106. package/cjs/interface.d.ts +1 -1
  107. package/cjs/interface.js.map +1 -1
  108. package/cjs/jsx/component-type.d.ts +1 -1
  109. package/cjs/jsx/component-type.js.map +1 -1
  110. package/cjs/label/animate/animate.d.ts +1 -1
  111. package/cjs/label/animate/animate.js +2 -2
  112. package/cjs/label/animate/animate.js.map +1 -1
  113. package/cjs/label/arc.d.ts +1 -1
  114. package/cjs/label/arc.js +2 -2
  115. package/cjs/label/arc.js.map +1 -1
  116. package/cjs/label/area.d.ts +1 -1
  117. package/cjs/label/area.js.map +1 -1
  118. package/cjs/label/base.d.ts +2 -2
  119. package/cjs/label/base.js +10 -8
  120. package/cjs/label/base.js.map +1 -1
  121. package/cjs/label/dataLabel.js.map +1 -1
  122. package/cjs/label/index.js +1 -2
  123. package/cjs/label/line.d.ts +1 -1
  124. package/cjs/label/line.js.map +1 -1
  125. package/cjs/label/overlap/place.d.ts +1 -1
  126. package/cjs/label/overlap/place.js.map +1 -1
  127. package/cjs/label/register.d.ts +1 -0
  128. package/cjs/label/register.js +15 -0
  129. package/cjs/label/register.js.map +1 -0
  130. package/cjs/label/type.d.ts +1 -1
  131. package/cjs/label/type.js +2 -1
  132. package/cjs/label/type.js.map +1 -1
  133. package/cjs/label/util.d.ts +1 -1
  134. package/cjs/label/util.js +1 -1
  135. package/cjs/label/util.js.map +1 -1
  136. package/cjs/legend/base.d.ts +1 -1
  137. package/cjs/legend/base.js +3 -3
  138. package/cjs/legend/base.js.map +1 -1
  139. package/cjs/legend/color/color.js +3 -1
  140. package/cjs/legend/color/color.js.map +1 -1
  141. package/cjs/legend/constant.js +1 -1
  142. package/cjs/legend/discrete/discrete.js +13 -11
  143. package/cjs/legend/discrete/discrete.js.map +1 -1
  144. package/cjs/legend/discrete/type.d.ts +1 -1
  145. package/cjs/legend/discrete/type.js.map +1 -1
  146. package/cjs/legend/index.js +1 -1
  147. package/cjs/legend/register.d.ts +3 -0
  148. package/cjs/legend/register.js +27 -0
  149. package/cjs/legend/register.js.map +1 -0
  150. package/cjs/legend/size/size.js +5 -3
  151. package/cjs/legend/size/size.js.map +1 -1
  152. package/cjs/legend/size/type.d.ts +1 -1
  153. package/cjs/legend/size/type.js.map +1 -1
  154. package/cjs/legend/type.d.ts +1 -1
  155. package/cjs/legend/type.js +1 -1
  156. package/cjs/legend/type.js.map +1 -1
  157. package/cjs/legend/util.js +1 -1
  158. package/cjs/link-path/index.js +1 -1
  159. package/cjs/link-path/link-path.js +2 -2
  160. package/cjs/link-path/link-path.js.map +1 -1
  161. package/cjs/link-path/register.d.ts +1 -0
  162. package/cjs/link-path/register.js +14 -0
  163. package/cjs/link-path/register.js.map +1 -0
  164. package/cjs/link-path/type.d.ts +1 -1
  165. package/cjs/link-path/type.js.map +1 -1
  166. package/cjs/marker/area.d.ts +1 -1
  167. package/cjs/marker/area.js +4 -2
  168. package/cjs/marker/area.js.map +1 -1
  169. package/cjs/marker/base.d.ts +1 -1
  170. package/cjs/marker/base.js +4 -4
  171. package/cjs/marker/base.js.map +1 -1
  172. package/cjs/marker/config.d.ts +1 -1
  173. package/cjs/marker/config.js.map +1 -1
  174. package/cjs/marker/line.d.ts +1 -1
  175. package/cjs/marker/line.js +3 -1
  176. package/cjs/marker/line.js.map +1 -1
  177. package/cjs/marker/point.d.ts +1 -1
  178. package/cjs/marker/point.js +5 -3
  179. package/cjs/marker/point.js.map +1 -1
  180. package/cjs/marker/register.d.ts +3 -0
  181. package/cjs/marker/register.js +28 -0
  182. package/cjs/marker/register.js.map +1 -0
  183. package/cjs/marker/type.d.ts +1 -1
  184. package/cjs/marker/type.js.map +1 -1
  185. package/cjs/pager/pager.d.ts +1 -1
  186. package/cjs/pager/pager.js +9 -7
  187. package/cjs/pager/pager.js.map +1 -1
  188. package/cjs/pager/register.d.ts +1 -0
  189. package/cjs/pager/register.js +14 -0
  190. package/cjs/pager/register.js.map +1 -0
  191. package/cjs/pager/type.d.ts +1 -1
  192. package/cjs/pager/type.js.map +1 -1
  193. package/cjs/player/base-player.js +2 -2
  194. package/cjs/player/base-player.js.map +1 -1
  195. package/cjs/player/continuous-player.js +8 -6
  196. package/cjs/player/continuous-player.js.map +1 -1
  197. package/cjs/player/controller/controller.d.ts +1 -1
  198. package/cjs/player/controller/controller.js +2 -2
  199. package/cjs/player/controller/controller.js.map +1 -1
  200. package/cjs/player/controller/icon/icon.d.ts +2 -2
  201. package/cjs/player/controller/icon/icon.js +2 -2
  202. package/cjs/player/controller/icon/icon.js.map +1 -1
  203. package/cjs/player/controller/type.d.ts +1 -1
  204. package/cjs/player/controller/type.js.map +1 -1
  205. package/cjs/player/discrete-player.js +7 -5
  206. package/cjs/player/discrete-player.js.map +1 -1
  207. package/cjs/player/register.d.ts +2 -0
  208. package/cjs/player/register.js +22 -0
  209. package/cjs/player/register.js.map +1 -0
  210. package/cjs/player/type/base.d.ts +1 -1
  211. package/cjs/player/type/base.js.map +1 -1
  212. package/cjs/player/type/layout.d.ts +1 -1
  213. package/cjs/player/type/layout.js.map +1 -1
  214. package/cjs/poptip/contribution.d.ts +1 -1
  215. package/cjs/poptip/contribution.js +2 -2
  216. package/cjs/poptip/contribution.js.map +1 -1
  217. package/cjs/poptip/index.d.ts +0 -1
  218. package/cjs/poptip/index.js +1 -2
  219. package/cjs/poptip/index.js.map +1 -1
  220. package/cjs/poptip/poptip-plugin.d.ts +1 -1
  221. package/cjs/poptip/poptip-plugin.js +5 -5
  222. package/cjs/poptip/poptip-plugin.js.map +1 -1
  223. package/cjs/poptip/poptip.js +3 -1
  224. package/cjs/poptip/poptip.js.map +1 -1
  225. package/cjs/poptip/register.d.ts +2 -1
  226. package/cjs/poptip/register.js +14 -9
  227. package/cjs/poptip/register.js.map +1 -1
  228. package/cjs/poptip/type.d.ts +1 -1
  229. package/cjs/poptip/type.js.map +1 -1
  230. package/cjs/scrollbar/index.d.ts +0 -1
  231. package/cjs/scrollbar/index.js +1 -2
  232. package/cjs/scrollbar/index.js.map +1 -1
  233. package/cjs/scrollbar/register.d.ts +2 -1
  234. package/cjs/scrollbar/register.js +10 -6
  235. package/cjs/scrollbar/register.js.map +1 -1
  236. package/cjs/scrollbar/scrollbar-plugin.d.ts +1 -1
  237. package/cjs/scrollbar/scrollbar-plugin.js +3 -3
  238. package/cjs/scrollbar/scrollbar-plugin.js.map +1 -1
  239. package/cjs/scrollbar/scrollbar.js +8 -6
  240. package/cjs/scrollbar/scrollbar.js.map +1 -1
  241. package/cjs/scrollbar/type.d.ts +1 -1
  242. package/cjs/scrollbar/type.js.map +1 -1
  243. package/cjs/segment/register.d.ts +1 -0
  244. package/cjs/segment/register.js +15 -0
  245. package/cjs/segment/register.js.map +1 -0
  246. package/cjs/segment/segment.d.ts +1 -1
  247. package/cjs/segment/segment.js +6 -4
  248. package/cjs/segment/segment.js.map +1 -1
  249. package/cjs/segment/type.d.ts +1 -1
  250. package/cjs/segment/type.js.map +1 -1
  251. package/cjs/slider/register.d.ts +1 -0
  252. package/cjs/slider/register.js +15 -0
  253. package/cjs/slider/register.js.map +1 -0
  254. package/cjs/slider/slider.d.ts +3 -3
  255. package/cjs/slider/slider.js +22 -20
  256. package/cjs/slider/slider.js.map +1 -1
  257. package/cjs/slider/type.d.ts +1 -1
  258. package/cjs/slider/type.js.map +1 -1
  259. package/cjs/tag/register.d.ts +1 -0
  260. package/cjs/tag/register.js +15 -0
  261. package/cjs/tag/register.js.map +1 -0
  262. package/cjs/tag/tag.js +3 -1
  263. package/cjs/tag/tag.js.map +1 -1
  264. package/cjs/tag/type.d.ts +1 -1
  265. package/cjs/tag/type.js.map +1 -1
  266. package/cjs/title/register.d.ts +1 -0
  267. package/cjs/title/register.js +14 -0
  268. package/cjs/title/register.js.map +1 -0
  269. package/cjs/title/title.js +3 -1
  270. package/cjs/title/title.js.map +1 -1
  271. package/cjs/title/type.d.ts +1 -1
  272. package/cjs/title/type.js.map +1 -1
  273. package/cjs/tooltip/register.d.ts +1 -0
  274. package/cjs/tooltip/register.js +15 -0
  275. package/cjs/tooltip/register.js.map +1 -0
  276. package/cjs/tooltip/tooltip.js +6 -4
  277. package/cjs/tooltip/tooltip.js.map +1 -1
  278. package/cjs/tooltip/type.d.ts +1 -1
  279. package/cjs/tooltip/type.js.map +1 -1
  280. package/cjs/tooltip/util.d.ts +1 -1
  281. package/cjs/tooltip/util.js.map +1 -1
  282. package/cjs/util/align.d.ts +1 -1
  283. package/cjs/util/align.js.map +1 -1
  284. package/cjs/util/common.d.ts +1 -1
  285. package/cjs/util/common.js.map +1 -1
  286. package/cjs/util/label-smartInvert.d.ts +1 -1
  287. package/cjs/util/label-smartInvert.js.map +1 -1
  288. package/cjs/util/limit-shape.d.ts +1 -1
  289. package/cjs/util/limit-shape.js.map +1 -1
  290. package/cjs/util/text.d.ts +1 -1
  291. package/cjs/util/text.js +3 -3
  292. package/cjs/util/text.js.map +1 -1
  293. package/dist/index.js +6280 -1673
  294. package/dist/index.min.js +1 -1
  295. package/es/axis/animate/group-fade.d.ts +2 -2
  296. package/es/axis/animate/group-fade.js +1 -1
  297. package/es/axis/animate/group-fade.js.map +1 -1
  298. package/es/axis/animate/group-transition.d.ts +2 -2
  299. package/es/axis/animate/group-transition.js +1 -1
  300. package/es/axis/animate/group-transition.js.map +1 -1
  301. package/es/axis/base.d.ts +1 -1
  302. package/es/axis/base.js +1 -1
  303. package/es/axis/base.js.map +1 -1
  304. package/es/axis/circle.d.ts +1 -1
  305. package/es/axis/circle.js +5 -1
  306. package/es/axis/circle.js.map +1 -1
  307. package/es/axis/grid/base.d.ts +1 -1
  308. package/es/axis/grid/base.js +1 -1
  309. package/es/axis/grid/base.js.map +1 -1
  310. package/es/axis/grid/circle.js +4 -0
  311. package/es/axis/grid/circle.js.map +1 -1
  312. package/es/axis/grid/line.js +4 -0
  313. package/es/axis/grid/line.js.map +1 -1
  314. package/es/axis/grid/type.d.ts +1 -1
  315. package/es/axis/grid/type.js.map +1 -1
  316. package/es/axis/line.d.ts +1 -1
  317. package/es/axis/line.js +5 -1
  318. package/es/axis/line.js.map +1 -1
  319. package/es/axis/overlap/auto-hide.d.ts +1 -1
  320. package/es/axis/overlap/auto-hide.js.map +1 -1
  321. package/es/axis/overlap/auto-limit.d.ts +1 -1
  322. package/es/axis/overlap/auto-limit.js.map +1 -1
  323. package/es/axis/overlap/auto-rotate.d.ts +1 -1
  324. package/es/axis/overlap/auto-rotate.js.map +1 -1
  325. package/es/axis/overlap/util.d.ts +1 -1
  326. package/es/axis/overlap/util.js.map +1 -1
  327. package/es/axis/register.d.ts +4 -0
  328. package/es/axis/register.js +22 -0
  329. package/es/axis/register.js.map +1 -0
  330. package/es/axis/type.d.ts +1 -1
  331. package/es/axis/type.js.map +1 -1
  332. package/es/axis/util.d.ts +1 -1
  333. package/es/axis/util.js +1 -1
  334. package/es/axis/util.js.map +1 -1
  335. package/es/brush/brush.d.ts +1 -1
  336. package/es/brush/brush.js +5 -1
  337. package/es/brush/brush.js.map +1 -1
  338. package/es/brush/register.d.ts +1 -0
  339. package/es/brush/register.js +6 -0
  340. package/es/brush/register.js.map +1 -0
  341. package/es/brush/type.d.ts +1 -1
  342. package/es/brush/type.js +1 -2
  343. package/es/brush/type.js.map +1 -1
  344. package/es/checkbox/checkbox.d.ts +1 -1
  345. package/es/checkbox/checkbox.js +5 -1
  346. package/es/checkbox/checkbox.js.map +1 -1
  347. package/es/checkbox/index.js +2 -1
  348. package/es/checkbox/register.d.ts +1 -0
  349. package/es/checkbox/register.js +6 -0
  350. package/es/checkbox/register.js.map +1 -0
  351. package/es/checkbox/type.d.ts +1 -1
  352. package/es/checkbox/type.js.map +1 -1
  353. package/es/core/base.d.ts +2 -2
  354. package/es/core/base.js +1 -1
  355. package/es/core/base.js.map +1 -1
  356. package/es/core/type.d.ts +1 -1
  357. package/es/core/type.js.map +1 -1
  358. package/es/crosshair/base.d.ts +1 -1
  359. package/es/crosshair/base.js.map +1 -1
  360. package/es/crosshair/circle.d.ts +2 -2
  361. package/es/crosshair/circle.js +4 -0
  362. package/es/crosshair/circle.js.map +1 -1
  363. package/es/crosshair/line.d.ts +2 -2
  364. package/es/crosshair/line.js +4 -0
  365. package/es/crosshair/line.js.map +1 -1
  366. package/es/crosshair/polygon.d.ts +2 -2
  367. package/es/crosshair/polygon.js +4 -0
  368. package/es/crosshair/polygon.js.map +1 -1
  369. package/es/crosshair/rect.d.ts +2 -2
  370. package/es/crosshair/rect.js +4 -0
  371. package/es/crosshair/rect.js.map +1 -1
  372. package/es/crosshair/register.d.ts +5 -0
  373. package/es/crosshair/register.js +22 -0
  374. package/es/crosshair/register.js.map +1 -0
  375. package/es/crosshair/sector.d.ts +2 -2
  376. package/es/crosshair/sector.js +4 -0
  377. package/es/crosshair/sector.js.map +1 -1
  378. package/es/crosshair/type.d.ts +1 -1
  379. package/es/crosshair/type.js.map +1 -1
  380. package/es/data-zoom/config.js +1 -2
  381. package/es/data-zoom/data-zoom.d.ts +1 -1
  382. package/es/data-zoom/data-zoom.js +5 -1
  383. package/es/data-zoom/data-zoom.js.map +1 -1
  384. package/es/data-zoom/register.d.ts +1 -0
  385. package/es/data-zoom/register.js +8 -0
  386. package/es/data-zoom/register.js.map +1 -0
  387. package/es/data-zoom/type.d.ts +1 -1
  388. package/es/data-zoom/type.js.map +1 -1
  389. package/es/index.d.ts +1 -1
  390. package/es/index.js +1 -1
  391. package/es/index.js.map +1 -1
  392. package/es/indicator/config.js +2 -1
  393. package/es/indicator/indicator.js +4 -0
  394. package/es/indicator/indicator.js.map +1 -1
  395. package/es/indicator/register.d.ts +1 -0
  396. package/es/indicator/register.js +6 -0
  397. package/es/indicator/register.js.map +1 -0
  398. package/es/indicator/type.d.ts +1 -1
  399. package/es/indicator/type.js.map +1 -1
  400. package/es/interface.d.ts +1 -1
  401. package/es/interface.js.map +1 -1
  402. package/es/jsx/component-type.d.ts +1 -1
  403. package/es/jsx/component-type.js.map +1 -1
  404. package/es/label/animate/animate.d.ts +1 -1
  405. package/es/label/animate/animate.js +1 -1
  406. package/es/label/animate/animate.js.map +1 -1
  407. package/es/label/arc.d.ts +1 -1
  408. package/es/label/arc.js +1 -1
  409. package/es/label/arc.js.map +1 -1
  410. package/es/label/area.d.ts +1 -1
  411. package/es/label/area.js.map +1 -1
  412. package/es/label/base.d.ts +2 -2
  413. package/es/label/base.js +5 -1
  414. package/es/label/base.js.map +1 -1
  415. package/es/label/dataLabel.js.map +1 -1
  416. package/es/label/index.js +1 -2
  417. package/es/label/line.d.ts +1 -1
  418. package/es/label/line.js.map +1 -1
  419. package/es/label/overlap/place.d.ts +1 -1
  420. package/es/label/overlap/place.js.map +1 -1
  421. package/es/label/register.d.ts +1 -0
  422. package/es/label/register.js +6 -0
  423. package/es/label/register.js.map +1 -0
  424. package/es/label/type.d.ts +1 -1
  425. package/es/label/type.js +2 -1
  426. package/es/label/type.js.map +1 -1
  427. package/es/label/util.d.ts +1 -1
  428. package/es/label/util.js +1 -1
  429. package/es/label/util.js.map +1 -1
  430. package/es/legend/base.d.ts +1 -1
  431. package/es/legend/base.js +2 -2
  432. package/es/legend/base.js.map +1 -1
  433. package/es/legend/color/color.js +4 -0
  434. package/es/legend/color/color.js.map +1 -1
  435. package/es/legend/constant.js +1 -1
  436. package/es/legend/discrete/discrete.js +5 -1
  437. package/es/legend/discrete/discrete.js.map +1 -1
  438. package/es/legend/discrete/type.d.ts +1 -1
  439. package/es/legend/discrete/type.js.map +1 -1
  440. package/es/legend/index.js +1 -1
  441. package/es/legend/register.d.ts +3 -0
  442. package/es/legend/register.js +24 -0
  443. package/es/legend/register.js.map +1 -0
  444. package/es/legend/size/size.js +5 -1
  445. package/es/legend/size/size.js.map +1 -1
  446. package/es/legend/size/type.d.ts +1 -1
  447. package/es/legend/size/type.js.map +1 -1
  448. package/es/legend/type.d.ts +1 -1
  449. package/es/legend/type.js +1 -1
  450. package/es/legend/type.js.map +1 -1
  451. package/es/legend/util.js +1 -1
  452. package/es/link-path/index.js +1 -1
  453. package/es/link-path/link-path.js +4 -0
  454. package/es/link-path/link-path.js.map +1 -1
  455. package/es/link-path/register.d.ts +1 -0
  456. package/es/link-path/register.js +6 -0
  457. package/es/link-path/register.js.map +1 -0
  458. package/es/link-path/type.d.ts +1 -1
  459. package/es/link-path/type.js.map +1 -1
  460. package/es/marker/area.d.ts +1 -1
  461. package/es/marker/area.js +5 -1
  462. package/es/marker/area.js.map +1 -1
  463. package/es/marker/base.d.ts +1 -1
  464. package/es/marker/base.js +1 -1
  465. package/es/marker/base.js.map +1 -1
  466. package/es/marker/config.d.ts +1 -1
  467. package/es/marker/config.js.map +1 -1
  468. package/es/marker/line.d.ts +1 -1
  469. package/es/marker/line.js +4 -0
  470. package/es/marker/line.js.map +1 -1
  471. package/es/marker/point.d.ts +1 -1
  472. package/es/marker/point.js +5 -1
  473. package/es/marker/point.js.map +1 -1
  474. package/es/marker/register.d.ts +3 -0
  475. package/es/marker/register.js +22 -0
  476. package/es/marker/register.js.map +1 -0
  477. package/es/marker/type.d.ts +1 -1
  478. package/es/marker/type.js.map +1 -1
  479. package/es/pager/pager.d.ts +1 -1
  480. package/es/pager/pager.js +5 -1
  481. package/es/pager/pager.js.map +1 -1
  482. package/es/pager/register.d.ts +1 -0
  483. package/es/pager/register.js +6 -0
  484. package/es/pager/register.js.map +1 -0
  485. package/es/pager/type.d.ts +1 -1
  486. package/es/pager/type.js.map +1 -1
  487. package/es/player/base-player.js +1 -1
  488. package/es/player/base-player.js.map +1 -1
  489. package/es/player/continuous-player.js +5 -1
  490. package/es/player/continuous-player.js.map +1 -1
  491. package/es/player/controller/controller.d.ts +1 -1
  492. package/es/player/controller/controller.js +1 -1
  493. package/es/player/controller/controller.js.map +1 -1
  494. package/es/player/controller/icon/icon.d.ts +2 -2
  495. package/es/player/controller/icon/icon.js +1 -1
  496. package/es/player/controller/icon/icon.js.map +1 -1
  497. package/es/player/controller/type.d.ts +1 -1
  498. package/es/player/controller/type.js.map +1 -1
  499. package/es/player/discrete-player.js +5 -1
  500. package/es/player/discrete-player.js.map +1 -1
  501. package/es/player/register.d.ts +2 -0
  502. package/es/player/register.js +16 -0
  503. package/es/player/register.js.map +1 -0
  504. package/es/player/type/base.d.ts +1 -1
  505. package/es/player/type/base.js.map +1 -1
  506. package/es/player/type/layout.d.ts +1 -1
  507. package/es/player/type/layout.js.map +1 -1
  508. package/es/poptip/contribution.d.ts +1 -1
  509. package/es/poptip/contribution.js +1 -1
  510. package/es/poptip/contribution.js.map +1 -1
  511. package/es/poptip/index.d.ts +0 -1
  512. package/es/poptip/index.js +0 -2
  513. package/es/poptip/index.js.map +1 -1
  514. package/es/poptip/poptip-plugin.d.ts +1 -1
  515. package/es/poptip/poptip-plugin.js +1 -1
  516. package/es/poptip/poptip-plugin.js.map +1 -1
  517. package/es/poptip/poptip.js +4 -0
  518. package/es/poptip/poptip.js.map +1 -1
  519. package/es/poptip/register.d.ts +2 -1
  520. package/es/poptip/register.js +7 -1
  521. package/es/poptip/register.js.map +1 -1
  522. package/es/poptip/type.d.ts +1 -1
  523. package/es/poptip/type.js.map +1 -1
  524. package/es/scrollbar/index.d.ts +0 -1
  525. package/es/scrollbar/index.js +0 -2
  526. package/es/scrollbar/index.js.map +1 -1
  527. package/es/scrollbar/register.d.ts +2 -1
  528. package/es/scrollbar/register.js +7 -1
  529. package/es/scrollbar/register.js.map +1 -1
  530. package/es/scrollbar/scrollbar-plugin.d.ts +1 -1
  531. package/es/scrollbar/scrollbar-plugin.js +1 -1
  532. package/es/scrollbar/scrollbar-plugin.js.map +1 -1
  533. package/es/scrollbar/scrollbar.js +5 -1
  534. package/es/scrollbar/scrollbar.js.map +1 -1
  535. package/es/scrollbar/type.d.ts +1 -1
  536. package/es/scrollbar/type.js.map +1 -1
  537. package/es/segment/register.d.ts +1 -0
  538. package/es/segment/register.js +6 -0
  539. package/es/segment/register.js.map +1 -0
  540. package/es/segment/segment.d.ts +1 -1
  541. package/es/segment/segment.js +5 -1
  542. package/es/segment/segment.js.map +1 -1
  543. package/es/segment/type.d.ts +1 -1
  544. package/es/segment/type.js.map +1 -1
  545. package/es/slider/register.d.ts +1 -0
  546. package/es/slider/register.js +6 -0
  547. package/es/slider/register.js.map +1 -0
  548. package/es/slider/slider.d.ts +3 -3
  549. package/es/slider/slider.js +5 -1
  550. package/es/slider/slider.js.map +1 -1
  551. package/es/slider/type.d.ts +1 -1
  552. package/es/slider/type.js.map +1 -1
  553. package/es/tag/register.d.ts +1 -0
  554. package/es/tag/register.js +6 -0
  555. package/es/tag/register.js.map +1 -0
  556. package/es/tag/tag.js +4 -0
  557. package/es/tag/tag.js.map +1 -1
  558. package/es/tag/type.d.ts +1 -1
  559. package/es/tag/type.js.map +1 -1
  560. package/es/title/register.d.ts +1 -0
  561. package/es/title/register.js +6 -0
  562. package/es/title/register.js.map +1 -0
  563. package/es/title/title.js +4 -0
  564. package/es/title/title.js.map +1 -1
  565. package/es/title/type.d.ts +1 -1
  566. package/es/title/type.js.map +1 -1
  567. package/es/tooltip/register.d.ts +1 -0
  568. package/es/tooltip/register.js +6 -0
  569. package/es/tooltip/register.js.map +1 -0
  570. package/es/tooltip/tooltip.js +5 -1
  571. package/es/tooltip/tooltip.js.map +1 -1
  572. package/es/tooltip/type.d.ts +1 -1
  573. package/es/tooltip/type.js.map +1 -1
  574. package/es/tooltip/util.d.ts +1 -1
  575. package/es/tooltip/util.js.map +1 -1
  576. package/es/util/align.d.ts +1 -1
  577. package/es/util/align.js.map +1 -1
  578. package/es/util/common.d.ts +1 -1
  579. package/es/util/common.js.map +1 -1
  580. package/es/util/label-smartInvert.d.ts +1 -1
  581. package/es/util/label-smartInvert.js.map +1 -1
  582. package/es/util/limit-shape.d.ts +1 -1
  583. package/es/util/limit-shape.js.map +1 -1
  584. package/es/util/text.d.ts +1 -1
  585. package/es/util/text.js +1 -1
  586. package/es/util/text.js.map +1 -1
  587. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data-zoom/data-zoom.ts"],"names":[],"mappings":"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","file":"data-zoom.js","sourcesContent":["import type { FederatedPointerEvent, IArea, IGroup, ILine, IRect, ISymbol, INode } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { vglobal, CustomEvent } from '@visactor/vrender-core';\nimport type { IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, clamp, debounce, isFunction, isValid, merge, throttle } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { TagAttributes } from '../tag';\n// eslint-disable-next-line no-duplicate-imports\nimport { Tag } from '../tag';\nimport { DEFAULT_DATA_ZOOM_ATTRIBUTES } from './config';\nimport { DataZoomActiveTag } from './type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { DataZoomAttributes } from './type';\nimport type { ComponentOptions } from '../interface';\n\nconst delayMap = {\n debounce: debounce,\n throttle: throttle\n};\n\nexport class DataZoom extends AbstractComponent<Required<DataZoomAttributes>> {\n name = 'dataZoom';\n static defaultAttributes = DEFAULT_DATA_ZOOM_ATTRIBUTES;\n\n private _isHorizontal: boolean;\n\n private _background!: IRect;\n\n private _container!: IGroup;\n\n /** 手柄 */\n private _startHandler!: ISymbol;\n private _middleHandlerSymbol!: ISymbol;\n private _middleHandlerRect!: IRect;\n private _endHandler!: ISymbol;\n private _selectedBackground!: IRect;\n private _dragMask!: IRect;\n private _startText!: Tag;\n private _endText!: Tag;\n private _startValue!: string | number;\n private _endValue!: string | number;\n private _showText!: boolean;\n\n /** 背景图表 */\n private _previewData: any[] = [];\n private _previewGroup!: IGroup;\n private _previewLine!: ILine;\n private _previewArea!: IArea;\n private _selectedPreviewGroupClip!: IGroup;\n private _selectedPreviewGroup!: IGroup;\n private _selectedPreviewLine!: ILine;\n private _selectedPreviewArea!: IArea;\n\n /** 交互状态 */\n protected _activeTag!: DataZoomActiveTag;\n protected _activeItem!: any;\n protected _activeState = false;\n protected _activeCache: {\n startPos: IPointLike;\n lastPos: IPointLike;\n } = {\n startPos: { x: 0, y: 0 },\n lastPos: { x: 0, y: 0 }\n };\n protected _layoutCache: {\n attPos: 'x' | 'y';\n attSize: 'width' | 'height';\n max: number;\n } = {\n attPos: 'x',\n attSize: 'width',\n max: 0\n };\n /** 起始状态 */\n readonly state = {\n start: 0,\n end: 1\n };\n protected _spanCache: number;\n\n /** 回调函数 */\n private _previewPointsX!: (datum: any) => number;\n private _previewPointsY!: (datum: any) => number;\n private _previewPointsX1!: (datum: any) => number;\n private _previewPointsY1!: (datum: any) => number;\n private _updateStateCallback!: (start: number, end: number, trigger?: DataZoomActiveTag) => void;\n private _statePointToData: (state: number) => any = state => state;\n private _layoutAttrFromConfig: any; // 用于缓存\n\n constructor(attributes: DataZoomAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, DataZoom.defaultAttributes, attributes));\n const {\n start,\n end,\n size,\n orient,\n showDetail,\n position,\n previewData,\n previewPointsX,\n previewPointsY,\n previewPointsX1,\n previewPointsY1,\n updateStateCallback\n } = this.attribute as DataZoomAttributes;\n const { width, height } = size;\n start && (this.state.start = start);\n end && (this.state.end = end);\n this._spanCache = this.state.end - this.state.start;\n this._isHorizontal = orient === 'top' || orient === 'bottom';\n this._layoutCache.max = this._isHorizontal ? width : height;\n this._layoutCache.attPos = this._isHorizontal ? 'x' : 'y';\n this._layoutCache.attSize = this._isHorizontal ? 'width' : 'height';\n this._activeCache.startPos = position;\n this._activeCache.lastPos = position;\n if (showDetail === 'auto') {\n this._showText = false as boolean;\n } else {\n this._showText = showDetail as boolean;\n }\n previewData && (this._previewData = previewData);\n isFunction(previewPointsX) && (this._previewPointsX = previewPointsX);\n isFunction(previewPointsY) && (this._previewPointsY = previewPointsY);\n isFunction(previewPointsX1) && (this._previewPointsX1 = previewPointsX1);\n isFunction(previewPointsY1) && (this._previewPointsY1 = previewPointsY1);\n isFunction(updateStateCallback) && (this._updateStateCallback = updateStateCallback);\n }\n\n protected bindEvents(): void {\n if (this.attribute.disableTriggerEvent) {\n return;\n }\n const { showDetail, brushSelect, delayType = 'throttle', delayTime = 0 } = this.attribute as DataZoomAttributes;\n // 拖拽开始\n if (this._startHandler) {\n this._startHandler.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'start') as unknown as EventListener\n );\n }\n if (this._endHandler) {\n this._endHandler.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'end') as unknown as EventListener\n );\n }\n if (this._middleHandlerSymbol) {\n this._middleHandlerSymbol.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'middleSymbol') as unknown as EventListener\n );\n }\n if (this._middleHandlerRect) {\n this._middleHandlerRect.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'middleRect') as unknown as EventListener\n );\n }\n\n const selectedTag = brushSelect ? 'background' : 'middleRect';\n if (this._selectedBackground) {\n this._selectedBackground.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, selectedTag) as unknown as EventListener\n );\n }\n if (brushSelect && this._background) {\n this._background.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'background') as unknown as EventListener\n );\n }\n if (brushSelect && this._previewGroup) {\n this._previewGroup.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'background') as unknown as EventListener\n );\n }\n if (this._selectedPreviewGroup) {\n this._selectedPreviewGroup.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, selectedTag) as unknown as EventListener\n );\n }\n if (vglobal.env === 'browser') {\n // 拖拽时\n vglobal.addEventListener(\n 'pointermove',\n delayMap[delayType](this._onHandlerPointerMove.bind(this), delayTime) as EventListener,\n {\n capture: true\n }\n );\n // 拖拽结束\n vglobal.addEventListener('pointerup', this._onHandlerPointerUp.bind(this) as EventListener);\n }\n // 拖拽时\n (this as unknown as IGroup).addEventListener(\n 'pointermove',\n delayMap[delayType](this._onHandlerPointerMove, delayTime) as EventListener,\n {\n capture: true\n }\n );\n // 拖拽结束\n (this as unknown as IGroup).addEventListener('pointerup', this._onHandlerPointerUp as EventListener);\n (this as unknown as IGroup).addEventListener('pointerupoutside', this._onHandlerPointerUp as EventListener);\n // hover\n if (showDetail === 'auto') {\n (this as unknown as IGroup).addEventListener('pointerenter', this._onHandlerPointerEnter as EventListener);\n (this as unknown as IGroup).addEventListener('pointerleave', this._onHandlerPointerLeave as EventListener);\n }\n }\n\n /** dragMask size边界处理 */\n protected dragMaskSize() {\n const { position } = this.attribute as DataZoomAttributes;\n const { attPos, max } = this._layoutCache;\n if (this._activeCache.lastPos[attPos] - position[attPos] > max) {\n return max + position[attPos] - this._activeCache.startPos[attPos];\n } else if (this._activeCache.lastPos[attPos] - position[attPos] < 0) {\n return position[attPos] - this._activeCache.startPos[attPos];\n }\n return this._activeCache.lastPos[attPos] - this._activeCache.startPos[attPos];\n }\n\n /** state 边界处理 */\n protected setStateAttr(start: number, end: number, shouldRender: boolean) {\n const { zoomLock = false, minSpan = 0, maxSpan = 1 } = this.attribute as DataZoomAttributes;\n const span = end - start;\n if (span !== this._spanCache && (zoomLock || span < minSpan || span > maxSpan)) {\n return;\n }\n this._spanCache = span;\n this.state.start = start;\n this.state.end = end;\n shouldRender && this.setAttributes({ start, end });\n }\n\n /** 事件系统坐标转换为stage坐标 */\n protected eventPosToStagePos(e: FederatedPointerEvent) {\n const stagePosition = (this as unknown as IGroup).stage?.window.getBoundingClientRect();\n return {\n x: e.clientX - (stagePosition?.left || 0) - ((this as unknown as IGroup).stage?.x || 0),\n y: e.clientY - (stagePosition?.top || 0) - ((this as unknown as IGroup).stage?.y || 0)\n };\n }\n\n /**\n * 拖拽开始事件\n * @description 开启activeState + 通过tag判断事件在哪个元素上触发 并 更新交互坐标\n */\n private _onHandlerPointerDown = (e: FederatedPointerEvent, tag: string) => {\n e.stopPropagation();\n if (tag === 'start') {\n this._activeTag = DataZoomActiveTag.startHandler;\n this._activeItem = this._startHandler;\n } else if (tag === 'end') {\n this._activeTag = DataZoomActiveTag.endHandler;\n this._activeItem = this._endHandler;\n } else if (tag === 'middleRect') {\n this._activeTag = DataZoomActiveTag.middleHandler;\n this._activeItem = this._middleHandlerRect;\n } else if (tag === 'middleSymbol') {\n this._activeTag = DataZoomActiveTag.middleHandler;\n this._activeItem = this._middleHandlerSymbol;\n } else if (tag === 'background') {\n this._activeTag = DataZoomActiveTag.background;\n this._activeItem = this._background;\n }\n this._activeState = true;\n this._activeCache.startPos = this.eventPosToStagePos(e);\n this._activeCache.lastPos = this.eventPosToStagePos(e);\n };\n\n /**\n * 拖拽进行事件\n * @description 分为以下四种情况:\n * 1. 在背景 or 背景图表上拖拽 (activeTag === 'background'): 改变lastPos => dragMask的宽 or 高被改变\n * 2. 在middleHandler上拖拽 (activeTag === 'middleHandler'): 改变lastPos、start & end + 边界处理: 防止拖拽结果超出背景 => 所有handler的位置被改变\n * 3. 在startHandler上拖拽 (activeTag === 'startHandler'): 改变lastPos、start & end + 边界处理: startHandler和endHandler交换 => 所有handler的位置被改变\n * 4. 在endHandler上拖拽,同上\n */\n private _onHandlerPointerMove = (e: FederatedPointerEvent) => {\n e.stopPropagation();\n const { start: startAttr, end: endAttr, brushSelect, realTime = true } = this.attribute as DataZoomAttributes;\n const pos = this.eventPosToStagePos(e);\n const { attPos, max } = this._layoutCache;\n const dis = (pos[attPos] - this._activeCache.lastPos[attPos]) / max;\n\n let { start, end } = this.state;\n // this._activeState= false;\n if (this._activeState) {\n // if (this._activeTag === DataZoomActiveTag.background) {\n // } else\n if (this._activeTag === DataZoomActiveTag.middleHandler) {\n this.moveZoomWithMiddle((this.state.start + this.state.end) / 2 + dis);\n } else if (this._activeTag === DataZoomActiveTag.startHandler) {\n if (start + dis > end) {\n start = end;\n end = start + dis;\n this._activeTag = DataZoomActiveTag.endHandler;\n } else {\n start = start + dis;\n }\n } else if (this._activeTag === DataZoomActiveTag.endHandler) {\n if (end + dis < start) {\n end = start;\n start = end + dis;\n this._activeTag = DataZoomActiveTag.startHandler;\n } else {\n end = end + dis;\n }\n }\n this._activeCache.lastPos = pos;\n brushSelect && this.renderDragMask();\n }\n start = Math.min(Math.max(start, 0), 1);\n end = Math.min(Math.max(end, 0), 1);\n\n // 避免attributes相同时, 重复渲染\n if (startAttr !== start || endAttr !== end) {\n this.setStateAttr(start, end, true);\n realTime && this._updateStateCallback?.(start, end, this._activeTag);\n this._dispatchChangeEvent(start, end);\n }\n };\n\n /**\n * 拖拽结束事件\n * @description 关闭activeState + 边界情况处理: 防止拖拽后start和end过近\n */\n private _onHandlerPointerUp(e: FederatedPointerEvent) {\n e.preventDefault();\n const { start, end, brushSelect, realTime = true } = this.attribute as DataZoomAttributes;\n if (this._activeState) {\n if (this._activeTag === DataZoomActiveTag.background) {\n const pos = this.eventPosToStagePos(e);\n this.backgroundDragZoom(this._activeCache.startPos, pos);\n }\n }\n this._activeState = false;\n\n // dragMask不依赖于state更新\n brushSelect && this.renderDragMask();\n\n // 避免attributes相同时, 重复渲染\n if (!realTime || start !== this.state.start || end !== this.state.end) {\n this.setStateAttr(this.state.start, this.state.end, true);\n this._updateStateCallback?.(this.state.start, this.state.end, this._activeTag);\n this._dispatchChangeEvent(this.state.start, this.state.end);\n }\n }\n\n /**\n * 鼠标进入事件\n * @description 鼠标进入选中部分出现start和end文字\n */\n private _onHandlerPointerEnter(e: FederatedPointerEvent) {\n e.stopPropagation();\n this._showText = true;\n this.renderText();\n }\n\n /**\n * 鼠标移出事件\n * @description 鼠标移出选中部分不出现start和end文字\n */\n private _onHandlerPointerLeave(e: FederatedPointerEvent) {\n e.stopPropagation();\n this._showText = false;\n this.renderText();\n }\n\n protected backgroundDragZoom(startPos: IPointLike, endPos: IPointLike) {\n const { attPos, max } = this._layoutCache;\n const { position } = this.attribute as DataZoomAttributes;\n const startPosInComponent = startPos[attPos] - position[attPos];\n const endPosInComponent = endPos[attPos] - position[attPos];\n const start = Math.min(Math.max(Math.min(startPosInComponent, endPosInComponent) / max, 0), 1);\n const end = Math.min(Math.max(Math.max(startPosInComponent, endPosInComponent) / max, 0), 1);\n if (Math.abs(start - end) < 0.01) {\n this.moveZoomWithMiddle(start);\n } else {\n this.setStateAttr(start, end, false);\n }\n }\n\n protected moveZoomWithMiddle(middle: number) {\n const currentMiddle = (this.state.start + this.state.end) / 2;\n let offset = middle - currentMiddle;\n // 拖拽middleHandler时,限制在background范围内\n if (offset === 0) {\n return;\n } else if (offset > 0) {\n if (this.state.end + offset > 1) {\n offset = 1 - this.state.end;\n }\n } else if (offset < 0) {\n if (this.state.start + offset < 0) {\n offset = -this.state.start;\n }\n }\n this.setStateAttr(this.state.start + offset, this.state.end + offset, false);\n }\n\n protected renderDragMask() {\n const { dragMaskStyle } = this.attribute as DataZoomAttributes;\n const { position, width, height } = this.getLayoutAttrFromConfig();\n // drag部分\n if (this._isHorizontal) {\n this._dragMask = this._container.createOrUpdateChild(\n 'dragMask',\n {\n x: clamp(\n this.dragMaskSize() < 0 ? this._activeCache.lastPos.x : this._activeCache.startPos.x,\n position.x,\n position.x + width\n ),\n y: position.y,\n width:\n (this._activeState && this._activeTag === DataZoomActiveTag.background && Math.abs(this.dragMaskSize())) ||\n 0,\n height,\n ...dragMaskStyle\n },\n 'rect'\n ) as IRect;\n } else {\n this._dragMask = this._container.createOrUpdateChild(\n 'dragMask',\n {\n x: position.x,\n y: clamp(\n this.dragMaskSize() < 0 ? this._activeCache.lastPos.y : this._activeCache.startPos.y,\n position.y,\n position.y + height\n ),\n width,\n height:\n (this._activeState && this._activeTag === DataZoomActiveTag.background && Math.abs(this.dragMaskSize())) ||\n 0,\n ...dragMaskStyle\n },\n 'rect'\n ) as IRect;\n }\n }\n\n protected renderText() {\n const { startTextStyle, endTextStyle } = this.attribute as DataZoomAttributes;\n const { formatMethod: startTextFormat, ...restStartStyle } = startTextStyle;\n const { formatMethod: endTextFormat, ...restEndTextStyle } = endTextStyle;\n const { start, end } = this.state;\n this._startValue = this._statePointToData(start);\n this._endValue = this._statePointToData(end);\n const { position, width, height } = this.getLayoutAttrFromConfig();\n\n if (this._isHorizontal) {\n // 起始文字\n this._startText = this.maybeAddLabel(\n this._container,\n merge({}, restStartStyle, {\n text: startTextFormat ? startTextFormat(this._startValue) : this._startValue,\n x: position.x + start * width,\n y: position.y + height / 2,\n visible: this._showText,\n pickable: false,\n childrenPickable: false,\n textStyle: {\n textAlign: 'right',\n textBaseline: 'middle'\n }\n }),\n `data-zoom-start-text-${position}`\n );\n this._endText = this.maybeAddLabel(\n this._container,\n merge({}, restEndTextStyle, {\n text: endTextFormat ? endTextFormat(this._endValue) : this._endValue,\n x: position.x + end * width,\n y: position.y + height / 2,\n visible: this._showText,\n pickable: false,\n childrenPickable: false,\n textStyle: {\n textAlign: 'left',\n textBaseline: 'middle'\n }\n }),\n `data-zoom-end-text-${position}`\n );\n } else {\n // 起始文字\n this._startText = this.maybeAddLabel(\n this._container,\n merge({}, restStartStyle, {\n text: startTextFormat ? startTextFormat(this._startValue) : this._startValue,\n x: position.x + width / 2,\n y: position.y + start * height,\n visible: this._showText,\n pickable: false,\n childrenPickable: false,\n textStyle: {\n textAlign: 'center',\n textBaseline: 'bottom'\n }\n }),\n `data-zoom-start-text-${position}`\n );\n this._endText = this.maybeAddLabel(\n this._container,\n merge({}, restEndTextStyle, {\n text: endTextFormat ? endTextFormat(this._endValue) : this._endValue,\n x: position.x + width / 2,\n y: position.y + end * height,\n visible: this._showText,\n pickable: false,\n childrenPickable: false,\n textStyle: {\n textAlign: 'center',\n textBaseline: 'top'\n }\n }),\n `data-zoom-end-text-${position}`\n );\n }\n }\n\n /**\n * 获取背景框中的位置和宽高\n * @description 实际绘制的背景框中的高度或宽度 减去 中间手柄的高度或宽度\n */\n protected getLayoutAttrFromConfig() {\n if (this._layoutAttrFromConfig) {\n return this._layoutAttrFromConfig;\n }\n const {\n position: positionConfig,\n size,\n orient,\n middleHandlerStyle,\n startHandlerStyle,\n endHandlerStyle\n } = this.attribute as DataZoomAttributes;\n const { width: widthConfig, height: heightConfig } = size;\n const middleHandlerSize = middleHandlerStyle?.background?.size ?? 10;\n\n // 如果middleHandler显示的话,要将其宽高计入datazoom宽高\n let width;\n let height;\n let position;\n if (middleHandlerStyle?.visible) {\n if (this._isHorizontal) {\n width = widthConfig;\n height = heightConfig - middleHandlerSize;\n position = {\n x: positionConfig.x,\n y: positionConfig.y + middleHandlerSize\n };\n } else {\n width = widthConfig - middleHandlerSize;\n height = heightConfig;\n position = {\n x: positionConfig.x + (orient === 'left' ? middleHandlerSize : 0),\n y: positionConfig.y\n };\n }\n } else {\n width = widthConfig;\n height = heightConfig;\n position = positionConfig;\n }\n\n const startHandlerSize = (startHandlerStyle?.size as number) ?? (this._isHorizontal ? height : width);\n const endHandlerSize = (endHandlerStyle?.size as number) ?? (this._isHorizontal ? height : width);\n // 如果startHandler显示的话,要将其宽高计入dataZoom宽高\n if (startHandlerStyle?.visible) {\n if (this._isHorizontal) {\n width -= (startHandlerSize + endHandlerSize) / 2;\n position = {\n x: position.x + startHandlerSize / 2,\n y: position.y\n };\n } else {\n height -= (startHandlerSize + endHandlerSize) / 2;\n position = {\n x: position.x,\n y: position.y + startHandlerSize\n };\n }\n }\n\n this._layoutAttrFromConfig = {\n position,\n width,\n height\n };\n return this._layoutAttrFromConfig;\n }\n\n protected render() {\n this._layoutAttrFromConfig = null;\n const {\n // start,\n // end,\n orient,\n backgroundStyle,\n backgroundChartStyle,\n selectedBackgroundStyle,\n selectedBackgroundChartStyle,\n middleHandlerStyle,\n startHandlerStyle,\n endHandlerStyle,\n brushSelect\n } = this.attribute as DataZoomAttributes;\n const { start, end } = this.state;\n const { position, width, height } = this.getLayoutAttrFromConfig();\n const group = (this as unknown as IGroup).createOrUpdateChild('dataZoom-container', {}, 'group') as IGroup;\n this._container = group;\n this._background = group.createOrUpdateChild(\n 'background',\n {\n x: position.x,\n y: position.y,\n width,\n height,\n cursor: brushSelect ? 'crosshair' : 'auto',\n ...backgroundStyle\n },\n 'rect'\n ) as IRect;\n\n /** 背景图表 */\n backgroundChartStyle?.line?.visible && this.setPreviewAttributes('line', group);\n backgroundChartStyle?.area?.visible && this.setPreviewAttributes('area', group);\n\n /** drag mask */\n brushSelect && this.renderDragMask();\n\n /** 选中背景 */\n if (this._isHorizontal) {\n // 选中部分\n this._selectedBackground = group.createOrUpdateChild(\n 'selectedBackground',\n {\n x: position.x + start * width,\n y: position.y,\n width: (end - start) * width,\n height: height,\n cursor: brushSelect ? 'crosshair' : 'move',\n ...selectedBackgroundStyle\n },\n 'rect'\n ) as IRect;\n } else {\n // 选中部分\n this._selectedBackground = group.createOrUpdateChild(\n 'selectedBackground',\n {\n x: position.x,\n y: position.y + start * height,\n width,\n height: (end - start) * height,\n cursor: brushSelect ? 'crosshair' : 'move',\n ...selectedBackgroundStyle\n },\n 'rect'\n ) as IRect;\n }\n\n /** 选中的背景图表 */\n selectedBackgroundChartStyle?.line?.visible && this.setSelectedPreviewAttributes('line', group);\n selectedBackgroundChartStyle?.area?.visible && this.setSelectedPreviewAttributes('area', group);\n\n /** 中间手柄 */\n\n /** 左右文字 */\n if (this._showText) {\n this.renderText();\n }\n\n /** 左右 和 中间手柄 */\n if (this._isHorizontal) {\n this._startHandler = group.createOrUpdateChild(\n 'startHandler',\n {\n x: position.x + start * width,\n y: position.y + height / 2,\n size: height,\n angle: 0,\n symbolType: startHandlerStyle?.symbolType ?? 'square',\n cursor: 'ew-resize',\n strokeBoundsBuffer: 0,\n boundsPadding: 2,\n pickMode: 'imprecise',\n ...startHandlerStyle\n },\n 'symbol'\n ) as ISymbol;\n this._endHandler = group.createOrUpdateChild(\n 'endHandler',\n {\n x: position.x + end * width,\n y: position.y + height / 2,\n size: height,\n angle: 0,\n symbolType: endHandlerStyle?.symbolType ?? 'square',\n cursor: 'ew-resize',\n strokeBoundsBuffer: 0,\n boundsPadding: 2,\n pickMode: 'imprecise',\n ...endHandlerStyle\n },\n 'symbol'\n ) as ISymbol;\n if (middleHandlerStyle?.visible) {\n this._middleHandlerRect = group.createOrUpdateChild(\n 'middleHandlerRect',\n {\n x: position.x + start * width,\n y: position.y - (middleHandlerStyle?.background?.size || 10),\n width: (end - start) * width,\n height: middleHandlerStyle?.background?.size || 10,\n ...middleHandlerStyle?.background?.style\n },\n 'rect'\n ) as IRect;\n this._middleHandlerSymbol = group.createOrUpdateChild(\n 'middleHandlerSymbol',\n {\n x: position.x + ((start + end) / 2) * width,\n y: position.y - (middleHandlerStyle?.background?.size || 10) / 2,\n strokeBoundsBuffer: 0,\n angle: 0,\n symbolType: middleHandlerStyle?.icon?.symbolType ?? 'square',\n ...middleHandlerStyle?.icon\n },\n 'symbol'\n ) as ISymbol;\n }\n } else {\n this._startHandler = group.createOrUpdateChild(\n 'startHandler',\n {\n x: position.x + width / 2,\n y: position.y + start * height,\n size: width,\n angle: 90 * (Math.PI / 180),\n symbolType: startHandlerStyle?.symbolType ?? 'square',\n cursor: 'ns-resize',\n boundsPadding: 2,\n pickMode: 'imprecise',\n strokeBoundsBuffer: 0,\n ...startHandlerStyle\n },\n 'symbol'\n ) as ISymbol;\n if (middleHandlerStyle?.visible) {\n this._middleHandlerRect = group.createOrUpdateChild(\n 'middleHandlerRect',\n {\n x: orient === 'left' ? position.x - (middleHandlerStyle?.background?.size || 10) : position.x + width,\n y: position.y + start * height,\n width: middleHandlerStyle?.background?.size || 10,\n height: (end - start) * height,\n ...middleHandlerStyle?.background?.style\n },\n 'rect'\n ) as IRect;\n this._middleHandlerSymbol = group.createOrUpdateChild(\n 'middleHandlerSymbol',\n {\n x:\n orient === 'left'\n ? position.x - (middleHandlerStyle?.background?.size || 10) / 2\n : position.x + width + (middleHandlerStyle?.background?.size || 10) / 2,\n y: position.y + ((start + end) / 2) * height,\n // size: height,\n angle: 90 * (Math.PI / 180),\n symbolType: middleHandlerStyle?.icon?.symbolType ?? 'square',\n strokeBoundsBuffer: 0,\n ...middleHandlerStyle?.icon\n },\n 'symbol'\n ) as ISymbol;\n }\n this._endHandler = group.createOrUpdateChild(\n 'endHandler',\n {\n x: position.x + width / 2,\n y: position.y + end * height,\n size: width,\n angle: 90 * (Math.PI / 180),\n symbolType: endHandlerStyle?.symbolType ?? 'square',\n cursor: 'ns-resize',\n boundsPadding: 2,\n pickMode: 'imprecise',\n strokeBoundsBuffer: 0,\n ...endHandlerStyle\n },\n 'symbol'\n ) as ISymbol;\n }\n }\n\n computeBasePoints() {\n const { orient } = this.attribute as DataZoomAttributes;\n const { position, width, height } = this.getLayoutAttrFromConfig();\n let basePointStart: any;\n let basePointEnd: any;\n if (this._isHorizontal) {\n basePointStart = [\n {\n x: position.x,\n y: position.y + height\n }\n ];\n basePointEnd = [\n {\n x: position.x + width,\n y: position.y + height\n }\n ];\n } else if (orient === 'left') {\n basePointStart = [\n {\n x: position.x + width,\n y: position.y\n }\n ];\n basePointEnd = [\n {\n x: position.x + width,\n y: position.y + height\n }\n ];\n } else {\n basePointStart = [\n {\n x: position.x,\n y: position.y + height\n }\n ];\n basePointEnd = [\n {\n x: position.x,\n y: position.y\n }\n ];\n }\n return {\n basePointStart,\n basePointEnd\n };\n }\n\n protected getPreviewLinePoints() {\n const previewPoints = this._previewData.map(d => {\n return {\n x: this._previewPointsX && this._previewPointsX(d),\n y: this._previewPointsY && this._previewPointsY(d)\n };\n });\n // 仅在有数据的时候增加base point, 以弥补背景图表两端的不连续缺口。不然的话没有数据时,会因为base point而仍然绘制图形\n if (previewPoints.length === 0) {\n return previewPoints;\n }\n const { basePointStart, basePointEnd } = this.computeBasePoints();\n return basePointStart.concat(previewPoints).concat(basePointEnd);\n }\n\n protected getPreviewAreaPoints() {\n const previewPoints = this._previewData.map(d => {\n return {\n x: this._previewPointsX && this._previewPointsX(d),\n y: this._previewPointsY && this._previewPointsY(d),\n x1: this._previewPointsX1 && this._previewPointsX1(d),\n y1: this._previewPointsY1 && this._previewPointsY1(d)\n };\n });\n // 仅在有数据的时候增加base point, 以弥补背景图表两端的不连续缺口。不然的话没有数据时,会因为base point而仍然绘制图形\n if (previewPoints.length === 0) {\n return previewPoints;\n }\n const { basePointStart, basePointEnd } = this.computeBasePoints();\n return basePointStart.concat(previewPoints).concat(basePointEnd);\n }\n\n /** 使用callback绘制背景图表 (数据和数据映射从外部传进来) */\n protected setPreviewAttributes(type: 'line' | 'area', group: IGroup) {\n if (!this._previewGroup) {\n this._previewGroup = group.createOrUpdateChild('previewGroup', { pickable: false }, 'group') as IGroup;\n }\n if (type === 'line') {\n this._previewLine = this._previewGroup.createOrUpdateChild('previewLine', {}, 'line') as ILine;\n } else {\n this._previewArea = this._previewGroup.createOrUpdateChild(\n 'previewArea',\n { curveType: 'basis' },\n 'area'\n ) as IArea;\n }\n\n const { backgroundChartStyle } = this.attribute as DataZoomAttributes;\n\n type === 'line' &&\n this._previewLine.setAttributes({\n points: this.getPreviewLinePoints(),\n curveType: 'basis',\n pickable: false,\n ...backgroundChartStyle?.line\n });\n type === 'area' &&\n this._previewArea.setAttributes({\n points: this.getPreviewAreaPoints(),\n curveType: 'basis',\n pickable: false,\n ...backgroundChartStyle?.area\n });\n }\n\n /** 使用callback绘制选中的背景图表 (数据和数据映射从外部传进来) */\n protected setSelectedPreviewAttributes(type: 'area' | 'line', group: IGroup) {\n if (!this._selectedPreviewGroupClip) {\n this._selectedPreviewGroupClip = group.createOrUpdateChild(\n 'selectedPreviewGroupClip',\n { pickable: false },\n 'group'\n ) as IGroup;\n this._selectedPreviewGroup = this._selectedPreviewGroupClip.createOrUpdateChild(\n 'selectedPreviewGroup',\n {},\n 'group'\n ) as IGroup;\n }\n\n if (type === 'line') {\n this._selectedPreviewLine = this._selectedPreviewGroup.createOrUpdateChild(\n 'selectedPreviewLine',\n {},\n 'line'\n ) as ILine;\n } else {\n this._selectedPreviewArea = this._selectedPreviewGroup.createOrUpdateChild(\n 'selectedPreviewArea',\n { curveType: 'basis' },\n 'area'\n ) as IArea;\n }\n\n const { selectedBackgroundChartStyle } = this.attribute as DataZoomAttributes;\n\n const { start, end } = this.state;\n const { position, width, height } = this.getLayoutAttrFromConfig();\n this._selectedPreviewGroupClip.setAttributes({\n x: this._isHorizontal ? position.x + start * width : position.x,\n y: this._isHorizontal ? position.y : position.y + start * height,\n width: this._isHorizontal ? (end - start) * width : width,\n height: this._isHorizontal ? height : (end - start) * height,\n clip: true,\n pickable: false\n } as any);\n this._selectedPreviewGroup.setAttributes({\n x: -(this._isHorizontal ? position.x + start * width : position.x),\n y: -(this._isHorizontal ? position.y : position.y + start * height),\n width: this._isHorizontal ? (end - start) * width : width,\n height: this._isHorizontal ? height : (end - start) * height,\n pickable: false\n } as any);\n type === 'line' &&\n this._selectedPreviewLine.setAttributes({\n points: this.getPreviewLinePoints(),\n curveType: 'basis',\n pickable: false,\n ...selectedBackgroundChartStyle?.line\n });\n type === 'area' &&\n this._selectedPreviewArea.setAttributes({\n points: this.getPreviewAreaPoints(),\n curveType: 'basis',\n pickable: false,\n ...selectedBackgroundChartStyle?.area\n });\n }\n\n protected maybeAddLabel(container: IGroup, attributes: TagAttributes, name: string): Tag {\n let labelShape = (this as unknown as IGroup).find(node => node.name === name, true) as unknown as Tag;\n if (labelShape) {\n labelShape.setAttributes(attributes);\n } else {\n labelShape = new Tag(attributes);\n labelShape.name = name;\n }\n\n container.add(labelShape as unknown as INode);\n return labelShape;\n }\n\n private _dispatchChangeEvent(start: number, end: number) {\n const changeEvent = new CustomEvent('change', {\n start,\n end\n });\n // FIXME: 需要在 vrender 的事件系统支持\n // @ts-ignore\n changeEvent.manager = this.stage?.eventSystem.manager;\n this.dispatchEvent(changeEvent);\n }\n\n /** 外部重置组件的起始状态 */\n setStartAndEnd(start?: number, end?: number) {\n const { start: startAttr, end: endAttr } = this.attribute as DataZoomAttributes;\n if (isValid(start) && isValid(end) && (start !== this.state.start || end !== this.state.end)) {\n this.state.start = start;\n this.state.end = end;\n if (startAttr !== this.state.start || endAttr !== this.state.end) {\n this.setStateAttr(start, end, true);\n this._updateStateCallback?.(start, end, this._activeTag);\n this._dispatchChangeEvent(start, end);\n }\n }\n }\n\n /** 外部更新背景图表的数据 */\n setPreviewData(data: any[]) {\n this._previewData = data;\n }\n\n /** 外部更新手柄文字 */\n setText(text: string, tag: 'start' | 'end') {\n if (tag === 'start') {\n this._startText.setAttribute('text', text);\n } else {\n this._endText.setAttribute('text', text);\n }\n }\n\n /** 外部获取起始点数据值 */\n getStartValue() {\n return this._startValue;\n }\n\n getEndTextValue() {\n return this._endValue;\n }\n\n getMiddleHandlerSize() {\n const { middleHandlerStyle } = this.attribute as DataZoomAttributes;\n const middleHandlerRectSize = middleHandlerStyle?.background?.size ?? 10;\n const middleHandlerSymbolSize = middleHandlerStyle?.icon?.size ?? 10;\n return Math.max(middleHandlerRectSize, ...array(middleHandlerSymbolSize));\n }\n\n /** 外部传入start和end状态更新后的逻辑 */\n setUpdateStateCallback(callback: (start: number, end: number, trigger?: DataZoomActiveTag) => void) {\n isFunction(callback) && (this._updateStateCallback = callback);\n }\n\n /** 外部传入数据映射 */\n setPreviewPointsX(callback: (d: any) => number) {\n isFunction(callback) && (this._previewPointsX = callback);\n }\n setPreviewPointsY(callback: (d: any) => number) {\n isFunction(callback) && (this._previewPointsY = callback);\n }\n setPreviewPointsX1(callback: (d: any) => number) {\n isFunction(callback) && (this._previewPointsX1 = callback);\n }\n setPreviewPointsY1(callback: (d: any) => number) {\n isFunction(callback) && (this._previewPointsY1 = callback);\n }\n setStatePointToData(callback: (state: number) => any) {\n isFunction(callback) && (this._statePointToData = callback);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/data-zoom/data-zoom.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,oDAAiE;AAGjE,6CAAgG;AAChG,uCAAiD;AAGjD,gCAA6B;AAC7B,qCAAwD;AACxD,iCAA2C;AAI3C,yCAAmD;AAEnD,MAAM,QAAQ,GAAG;IACf,QAAQ,EAAE,iBAAQ;IAClB,QAAQ,EAAE,iBAAQ;CACnB,CAAC;AACF,IAAA,gCAAqB,GAAE,CAAC;AACxB,MAAa,QAAS,SAAQ,wBAA+C;IAqE3E,YAAY,UAA8B,EAAE,OAA0B;QACpE,KAAK,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,cAAK,EAAC,EAAE,EAAE,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;QArE/F,SAAI,GAAG,UAAU,CAAC;QAuBV,iBAAY,GAAU,EAAE,CAAC;QAYvB,iBAAY,GAAG,KAAK,CAAC;QACrB,iBAAY,GAGlB;YACF,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACxB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SACxB,CAAC;QACQ,iBAAY,GAIlB;YACF,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,CAAC;SACP,CAAC;QAEO,UAAK,GAAG;YACf,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,CAAC;SACP,CAAC;QASM,sBAAiB,GAA2B,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC;QAsK3D,0BAAqB,GAAG,CAAC,CAAwB,EAAE,GAAW,EAAE,EAAE;YACxE,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,GAAG,KAAK,OAAO,EAAE;gBACnB,IAAI,CAAC,UAAU,GAAG,wBAAiB,CAAC,YAAY,CAAC;gBACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;aACvC;iBAAM,IAAI,GAAG,KAAK,KAAK,EAAE;gBACxB,IAAI,CAAC,UAAU,GAAG,wBAAiB,CAAC,UAAU,CAAC;gBAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;aACrC;iBAAM,IAAI,GAAG,KAAK,YAAY,EAAE;gBAC/B,IAAI,CAAC,UAAU,GAAG,wBAAiB,CAAC,aAAa,CAAC;gBAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;aAC5C;iBAAM,IAAI,GAAG,KAAK,cAAc,EAAE;gBACjC,IAAI,CAAC,UAAU,GAAG,wBAAiB,CAAC,aAAa,CAAC;gBAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC;aAC9C;iBAAM,IAAI,GAAG,KAAK,YAAY,EAAE;gBAC/B,IAAI,CAAC,UAAU,GAAG,wBAAiB,CAAC,UAAU,CAAC;gBAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;aACrC;YACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;QAUM,0BAAqB,GAAG,CAAC,CAAwB,EAAE,EAAE;;YAC3D,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;YAC9G,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;YAC1C,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC;YAEpE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YAEhC,IAAI,IAAI,CAAC,YAAY,EAAE;gBAGrB,IAAI,IAAI,CAAC,UAAU,KAAK,wBAAiB,CAAC,aAAa,EAAE;oBACvD,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;iBACxE;qBAAM,IAAI,IAAI,CAAC,UAAU,KAAK,wBAAiB,CAAC,YAAY,EAAE;oBAC7D,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,EAAE;wBACrB,KAAK,GAAG,GAAG,CAAC;wBACZ,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;wBAClB,IAAI,CAAC,UAAU,GAAG,wBAAiB,CAAC,UAAU,CAAC;qBAChD;yBAAM;wBACL,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;qBACrB;iBACF;qBAAM,IAAI,IAAI,CAAC,UAAU,KAAK,wBAAiB,CAAC,UAAU,EAAE;oBAC3D,IAAI,GAAG,GAAG,GAAG,GAAG,KAAK,EAAE;wBACrB,GAAG,GAAG,KAAK,CAAC;wBACZ,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;wBAClB,IAAI,CAAC,UAAU,GAAG,wBAAiB,CAAC,YAAY,CAAC;qBAClD;yBAAM;wBACL,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;qBACjB;iBACF;gBACD,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,GAAG,CAAC;gBAChC,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;aACtC;YACD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAGpC,IAAI,SAAS,KAAK,KAAK,IAAI,OAAO,KAAK,GAAG,EAAE;gBAC1C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACpC,QAAQ,KAAI,MAAA,IAAI,CAAC,oBAAoB,qDAAG,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA,CAAC;gBACrE,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;QA3OA,MAAM,EACJ,KAAK,EACL,GAAG,EACH,IAAI,EACJ,MAAM,EACN,UAAU,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,mBAAmB,EACpB,GAAG,IAAI,CAAC,SAA+B,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QACpC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,CAAC;QAC7D,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5D,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1D,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,QAAQ,CAAC;QACrC,IAAI,UAAU,KAAK,MAAM,EAAE;YACzB,IAAI,CAAC,SAAS,GAAG,KAAgB,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,UAAqB,CAAC;SACxC;QACD,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC;QACjD,IAAA,mBAAU,EAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,CAAC;QACtE,IAAA,mBAAU,EAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,CAAC;QACtE,IAAA,mBAAU,EAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC,CAAC;QACzE,IAAA,mBAAU,EAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC,CAAC;QACzE,IAAA,mBAAU,EAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,CAAC;IACvF,CAAC;IAES,UAAU;QAClB,IAAI,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE;YACtC,OAAO;SACR;QACD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,GAAG,UAAU,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;QAEhH,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CACjC,aAAa,EACb,CAAC,CAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAA6B,CACjG,CAAC;SACH;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,aAAa,EACb,CAAC,CAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAA6B,CAC/F,CAAC;SACH;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CACxC,aAAa,EACb,CAAC,CAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,cAAc,CAA6B,CACxG,CAAC;SACH;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CACtC,aAAa,EACb,CAAC,CAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,YAAY,CAA6B,CACtG,CAAC;SACH;QAED,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9D,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CACvC,aAAa,EACb,CAAC,CAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,WAAW,CAA6B,CACrG,CAAC;SACH;QACD,IAAI,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,aAAa,EACb,CAAC,CAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,YAAY,CAA6B,CACtG,CAAC;SACH;QACD,IAAI,WAAW,IAAI,IAAI,CAAC,aAAa,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CACjC,aAAa,EACb,CAAC,CAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,YAAY,CAA6B,CACtG,CAAC;SACH;QACD,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CACzC,aAAa,EACb,CAAC,CAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,WAAW,CAA6B,CACrG,CAAC;SACH;QACD,IAAI,cAAO,CAAC,GAAG,KAAK,SAAS,EAAE;YAE7B,cAAO,CAAC,gBAAgB,CACtB,aAAa,EACb,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAkB,EACtF;gBACE,OAAO,EAAE,IAAI;aACd,CACF,CAAC;YAEF,cAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAkB,CAAC,CAAC;SAC7F;QAEA,IAA0B,CAAC,gBAAgB,CAC1C,aAAa,EACb,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAkB,EAC3E;YACE,OAAO,EAAE,IAAI;SACd,CACF,CAAC;QAED,IAA0B,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAoC,CAAC,CAAC;QACpG,IAA0B,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,mBAAoC,CAAC,CAAC;QAE5G,IAAI,UAAU,KAAK,MAAM,EAAE;YACxB,IAA0B,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,sBAAuC,CAAC,CAAC;YAC1G,IAA0B,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,sBAAuC,CAAC,CAAC;SAC5G;IACH,CAAC;IAGS,YAAY;QACpB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;QAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE;YAC9D,OAAO,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACpE;aAAM,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACnE,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC9D;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChF,CAAC;IAGS,YAAY,CAAC,KAAa,EAAE,GAAW,EAAE,YAAqB;QACtE,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;QAC5F,MAAM,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,OAAO,IAAI,IAAI,GAAG,OAAO,CAAC,EAAE;YAC9E,OAAO;SACR;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IAGS,kBAAkB,CAAC,CAAwB;;QACnD,MAAM,aAAa,GAAG,MAAC,IAA0B,CAAC,KAAK,0CAAE,MAAM,CAAC,qBAAqB,EAAE,CAAC;QACxF,OAAO;YACL,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,KAAI,CAAC,CAAC,GAAG,CAAC,CAAA,MAAC,IAA0B,CAAC,KAAK,0CAAE,CAAC,KAAI,CAAC,CAAC;YACvF,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,KAAI,CAAC,CAAC,GAAG,CAAC,CAAA,MAAC,IAA0B,CAAC,KAAK,0CAAE,CAAC,KAAI,CAAC,CAAC;SACvF,CAAC;IACJ,CAAC;IAsFO,mBAAmB,CAAC,CAAwB;;QAClD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;QAC1F,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,IAAI,CAAC,UAAU,KAAK,wBAAiB,CAAC,UAAU,EAAE;gBACpD,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;aAC1D;SACF;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAG1B,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAGrC,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACrE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1D,MAAA,IAAI,CAAC,oBAAoB,qDAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/E,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC7D;IACH,CAAC;IAMO,sBAAsB,CAAC,CAAwB;QACrD,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAMO,sBAAsB,CAAC,CAAwB;QACrD,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAES,kBAAkB,CAAC,QAAoB,EAAE,MAAkB;QACnE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;QAC1D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/F,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE;YAChC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;SACtC;IACH,CAAC;IAES,kBAAkB,CAAC,MAAc;QACzC,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;QAEpC,IAAI,MAAM,KAAK,CAAC,EAAE;YAChB,OAAO;SACR;aAAM,IAAI,MAAM,GAAG,CAAC,EAAE;YACrB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC,EAAE;gBAC/B,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;aAC7B;SACF;aAAM,IAAI,MAAM,GAAG,CAAC,EAAE;YACrB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE;gBACjC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;aAC5B;SACF;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/E,CAAC;IAES,cAAc;QACtB,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;QAC/D,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEnE,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAClD,UAAU,kBAER,CAAC,EAAE,IAAA,cAAK,EACN,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EACpF,QAAQ,CAAC,CAAC,EACV,QAAQ,CAAC,CAAC,GAAG,KAAK,CACnB,EACD,CAAC,EAAE,QAAQ,CAAC,CAAC,EACb,KAAK,EACH,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,KAAK,wBAAiB,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;oBACxG,CAAC,EACH,MAAM,IACH,aAAa,GAElB,MAAM,CACE,CAAC;SACZ;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAClD,UAAU,kBAER,CAAC,EAAE,QAAQ,CAAC,CAAC,EACb,CAAC,EAAE,IAAA,cAAK,EACN,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EACpF,QAAQ,CAAC,CAAC,EACV,QAAQ,CAAC,CAAC,GAAG,MAAM,CACpB,EACD,KAAK,EACL,MAAM,EACJ,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,KAAK,wBAAiB,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;oBACxG,CAAC,IACA,aAAa,GAElB,MAAM,CACE,CAAC;SACZ;IACH,CAAC;IAES,UAAU;QAClB,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;QAC9E,MAAM,EAAE,YAAY,EAAE,eAAe,KAAwB,cAAc,EAAjC,cAAc,UAAK,cAAc,EAArE,gBAAoD,CAAiB,CAAC;QAC5E,MAAM,EAAE,YAAY,EAAE,aAAa,KAA0B,YAAY,EAAjC,gBAAgB,UAAK,YAAY,EAAnE,gBAAoD,CAAe,CAAC;QAC1E,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEnE,IAAI,IAAI,CAAC,aAAa,EAAE;YAEtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAClC,IAAI,CAAC,UAAU,EACf,IAAA,cAAK,EAAC,EAAE,EAAE,cAAc,EAAE;gBACxB,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;gBAC5E,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK;gBAC7B,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,SAAS;gBACvB,QAAQ,EAAE,KAAK;gBACf,gBAAgB,EAAE,KAAK;gBACvB,SAAS,EAAE;oBACT,SAAS,EAAE,OAAO;oBAClB,YAAY,EAAE,QAAQ;iBACvB;aACF,CAAC,EACF,wBAAwB,QAAQ,EAAE,CACnC,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAChC,IAAI,CAAC,UAAU,EACf,IAAA,cAAK,EAAC,EAAE,EAAE,gBAAgB,EAAE;gBAC1B,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;gBACpE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK;gBAC3B,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;gBAC1B,OAAO,EAAE,IAAI,CAAC,SAAS;gBACvB,QAAQ,EAAE,KAAK;gBACf,gBAAgB,EAAE,KAAK;gBACvB,SAAS,EAAE;oBACT,SAAS,EAAE,MAAM;oBACjB,YAAY,EAAE,QAAQ;iBACvB;aACF,CAAC,EACF,sBAAsB,QAAQ,EAAE,CACjC,CAAC;SACH;aAAM;YAEL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAClC,IAAI,CAAC,UAAU,EACf,IAAA,cAAK,EAAC,EAAE,EAAE,cAAc,EAAE;gBACxB,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;gBAC5E,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;gBACzB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM;gBAC9B,OAAO,EAAE,IAAI,CAAC,SAAS;gBACvB,QAAQ,EAAE,KAAK;gBACf,gBAAgB,EAAE,KAAK;gBACvB,SAAS,EAAE;oBACT,SAAS,EAAE,QAAQ;oBACnB,YAAY,EAAE,QAAQ;iBACvB;aACF,CAAC,EACF,wBAAwB,QAAQ,EAAE,CACnC,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAChC,IAAI,CAAC,UAAU,EACf,IAAA,cAAK,EAAC,EAAE,EAAE,gBAAgB,EAAE;gBAC1B,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;gBACpE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;gBACzB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM;gBAC5B,OAAO,EAAE,IAAI,CAAC,SAAS;gBACvB,QAAQ,EAAE,KAAK;gBACf,gBAAgB,EAAE,KAAK;gBACvB,SAAS,EAAE;oBACT,SAAS,EAAE,QAAQ;oBACnB,YAAY,EAAE,KAAK;iBACpB;aACF,CAAC,EACF,sBAAsB,QAAQ,EAAE,CACjC,CAAC;SACH;IACH,CAAC;IAMS,uBAAuB;;QAC/B,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,OAAO,IAAI,CAAC,qBAAqB,CAAC;SACnC;QACD,MAAM,EACJ,QAAQ,EAAE,cAAc,EACxB,IAAI,EACJ,MAAM,EACN,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EAChB,GAAG,IAAI,CAAC,SAA+B,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QAC1D,MAAM,iBAAiB,GAAG,MAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,0CAAE,IAAI,mCAAI,EAAE,CAAC;QAGrE,IAAI,KAAK,CAAC;QACV,IAAI,MAAM,CAAC;QACX,IAAI,QAAQ,CAAC;QACb,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,OAAO,EAAE;YAC/B,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,KAAK,GAAG,WAAW,CAAC;gBACpB,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAAC;gBAC1C,QAAQ,GAAG;oBACT,CAAC,EAAE,cAAc,CAAC,CAAC;oBACnB,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,iBAAiB;iBACxC,CAAC;aACH;iBAAM;gBACL,KAAK,GAAG,WAAW,GAAG,iBAAiB,CAAC;gBACxC,MAAM,GAAG,YAAY,CAAC;gBACtB,QAAQ,GAAG;oBACT,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjE,CAAC,EAAE,cAAc,CAAC,CAAC;iBACpB,CAAC;aACH;SACF;aAAM;YACL,KAAK,GAAG,WAAW,CAAC;YACpB,MAAM,GAAG,YAAY,CAAC;YACtB,QAAQ,GAAG,cAAc,CAAC;SAC3B;QAED,MAAM,gBAAgB,GAAG,MAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAe,mCAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtG,MAAM,cAAc,GAAG,MAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAe,mCAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAElG,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,OAAO,EAAE;YAC9B,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,KAAK,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBACjD,QAAQ,GAAG;oBACT,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,gBAAgB,GAAG,CAAC;oBACpC,CAAC,EAAE,QAAQ,CAAC,CAAC;iBACd,CAAC;aACH;iBAAM;gBACL,MAAM,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBAClD,QAAQ,GAAG;oBACT,CAAC,EAAE,QAAQ,CAAC,CAAC;oBACb,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,gBAAgB;iBACjC,CAAC;aACH;SACF;QAED,IAAI,CAAC,qBAAqB,GAAG;YAC3B,QAAQ;YACR,KAAK;YACL,MAAM;SACP,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAES,MAAM;;QACd,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,MAAM,EAGJ,MAAM,EACN,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,EAC5B,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,WAAW,EACZ,GAAG,IAAI,CAAC,SAA+B,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACnE,MAAM,KAAK,GAAI,IAA0B,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,EAAE,EAAE,OAAO,CAAW,CAAC;QAC3G,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,mBAAmB,CAC1C,YAAY,kBAEV,CAAC,EAAE,QAAQ,CAAC,CAAC,EACb,CAAC,EAAE,QAAQ,CAAC,CAAC,EACb,KAAK;YACL,MAAM,EACN,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,IACvC,eAAe,GAEpB,MAAM,CACE,CAAC;QAGX,CAAA,MAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,0CAAE,OAAO,KAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChF,CAAA,MAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,0CAAE,OAAO,KAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAGhF,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAGrC,IAAI,IAAI,CAAC,aAAa,EAAE;YAEtB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAClD,oBAAoB,kBAElB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,EAC7B,CAAC,EAAE,QAAQ,CAAC,CAAC,EACb,KAAK,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,EAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,IACvC,uBAAuB,GAE5B,MAAM,CACE,CAAC;SACZ;aAAM;YAEL,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,CAClD,oBAAoB,kBAElB,CAAC,EAAE,QAAQ,CAAC,CAAC,EACb,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,EAC9B,KAAK,EACL,MAAM,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,MAAM,EAC9B,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,IACvC,uBAAuB,GAE5B,MAAM,CACE,CAAC;SACZ;QAGD,CAAA,MAAA,4BAA4B,aAA5B,4BAA4B,uBAA5B,4BAA4B,CAAE,IAAI,0CAAE,OAAO,KAAI,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChG,CAAA,MAAA,4BAA4B,aAA5B,4BAA4B,uBAA5B,4BAA4B,CAAE,IAAI,0CAAE,OAAO,KAAI,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAKhG,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QAGD,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAC5C,cAAc,kBAEZ,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,EAC7B,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,UAAU,mCAAI,QAAQ,EACrD,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,CAAC,EACrB,aAAa,EAAE,CAAC,EAChB,QAAQ,EAAE,WAAW,IAClB,iBAAiB,GAEtB,QAAQ,CACE,CAAC;YACb,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,mBAAmB,CAC1C,YAAY,kBAEV,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,EAC3B,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,mCAAI,QAAQ,EACnD,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,CAAC,EACrB,aAAa,EAAE,CAAC,EAChB,QAAQ,EAAE,WAAW,IAClB,eAAe,GAEpB,QAAQ,CACE,CAAC;YACb,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,OAAO,EAAE;gBAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,mBAAmB,CACjD,mBAAmB,kBAEjB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,EAC7B,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,0CAAE,IAAI,KAAI,EAAE,CAAC,EAC5D,KAAK,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,EAC5B,MAAM,EAAE,CAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,0CAAE,IAAI,KAAI,EAAE,IAC/C,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,0CAAE,KAAK,GAE1C,MAAM,CACE,CAAC;gBACX,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,mBAAmB,CACnD,qBAAqB,kBAEnB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAC3C,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,0CAAE,IAAI,KAAI,EAAE,CAAC,GAAG,CAAC,EAChE,kBAAkB,EAAE,CAAC,EACrB,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,MAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,0CAAE,UAAU,mCAAI,QAAQ,IACzD,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,GAE7B,QAAQ,CACE,CAAC;aACd;SACF;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAC5C,cAAc,kBAEZ,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EACzB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,EAC9B,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAC3B,UAAU,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,UAAU,mCAAI,QAAQ,EACrD,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,CAAC,EAChB,QAAQ,EAAE,WAAW,EACrB,kBAAkB,EAAE,CAAC,IAClB,iBAAiB,GAEtB,QAAQ,CACE,CAAC;YACb,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,OAAO,EAAE;gBAC/B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,mBAAmB,CACjD,mBAAmB,kBAEjB,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,0CAAE,IAAI,KAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,EACrG,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,EAC9B,KAAK,EAAE,CAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,0CAAE,IAAI,KAAI,EAAE,EACjD,MAAM,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,MAAM,IAC3B,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,0CAAE,KAAK,GAE1C,MAAM,CACE,CAAC;gBACX,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,mBAAmB,CACnD,qBAAqB,kBAEnB,CAAC,EACC,MAAM,KAAK,MAAM;wBACf,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,0CAAE,IAAI,KAAI,EAAE,CAAC,GAAG,CAAC;wBAC/D,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,0CAAE,IAAI,KAAI,EAAE,CAAC,GAAG,CAAC,EAC3E,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,EAE5C,KAAK,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAC3B,UAAU,EAAE,MAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,0CAAE,UAAU,mCAAI,QAAQ,EAC5D,kBAAkB,EAAE,CAAC,IAClB,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,GAE7B,QAAQ,CACE,CAAC;aACd;YACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,mBAAmB,CAC1C,YAAY,kBAEV,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EACzB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,EAC5B,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAC3B,UAAU,EAAE,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,mCAAI,QAAQ,EACnD,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,CAAC,EAChB,QAAQ,EAAE,WAAW,EACrB,kBAAkB,EAAE,CAAC,IAClB,eAAe,GAEpB,QAAQ,CACE,CAAC;SACd;IACH,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;QACxD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACnE,IAAI,cAAmB,CAAC;QACxB,IAAI,YAAiB,CAAC;QACtB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,cAAc,GAAG;gBACf;oBACE,CAAC,EAAE,QAAQ,CAAC,CAAC;oBACb,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM;iBACvB;aACF,CAAC;YACF,YAAY,GAAG;gBACb;oBACE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK;oBACrB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM;iBACvB;aACF,CAAC;SACH;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE;YAC5B,cAAc,GAAG;gBACf;oBACE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK;oBACrB,CAAC,EAAE,QAAQ,CAAC,CAAC;iBACd;aACF,CAAC;YACF,YAAY,GAAG;gBACb;oBACE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,KAAK;oBACrB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM;iBACvB;aACF,CAAC;SACH;aAAM;YACL,cAAc,GAAG;gBACf;oBACE,CAAC,EAAE,QAAQ,CAAC,CAAC;oBACb,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,MAAM;iBACvB;aACF,CAAC;YACF,YAAY,GAAG;gBACb;oBACE,CAAC,EAAE,QAAQ,CAAC,CAAC;oBACb,CAAC,EAAE,QAAQ,CAAC,CAAC;iBACd;aACF,CAAC;SACH;QACD,OAAO;YACL,cAAc;YACd,YAAY;SACb,CAAC;IACJ,CAAC;IAES,oBAAoB;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC9C,OAAO;gBACL,CAAC,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBAClD,CAAC,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;aACnD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,OAAO,aAAa,CAAC;SACtB;QACD,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAClE,OAAO,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACnE,CAAC;IAES,oBAAoB;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC9C,OAAO;gBACL,CAAC,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBAClD,CAAC,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBAClD,EAAE,EAAE,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACrD,EAAE,EAAE,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;aACtD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,OAAO,aAAa,CAAC;SACtB;QACD,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAClE,OAAO,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACnE,CAAC;IAGS,oBAAoB,CAAC,IAAqB,EAAE,KAAa;QACjE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,CAAW,CAAC;SACxG;QACD,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAU,CAAC;SAChG;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CACxD,aAAa,EACb,EAAE,SAAS,EAAE,OAAO,EAAE,EACtB,MAAM,CACE,CAAC;SACZ;QAED,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;QAEtE,IAAI,KAAK,MAAM;YACb,IAAI,CAAC,YAAY,CAAC,aAAa,iBAC7B,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,EACnC,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,KAAK,IACZ,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,EAC7B,CAAC;QACL,IAAI,KAAK,MAAM;YACb,IAAI,CAAC,YAAY,CAAC,aAAa,iBAC7B,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,EACnC,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,KAAK,IACZ,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,EAC7B,CAAC;IACP,CAAC;IAGS,4BAA4B,CAAC,IAAqB,EAAE,KAAa;QACzE,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACnC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC,mBAAmB,CACxD,0BAA0B,EAC1B,EAAE,QAAQ,EAAE,KAAK,EAAE,EACnB,OAAO,CACE,CAAC;YACZ,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,CAAC,mBAAmB,CAC7E,sBAAsB,EACtB,EAAE,EACF,OAAO,CACE,CAAC;SACb;QAED,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CACxE,qBAAqB,EACrB,EAAE,EACF,MAAM,CACE,CAAC;SACZ;aAAM;YACL,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CACxE,qBAAqB,EACrB,EAAE,SAAS,EAAE,OAAO,EAAE,EACtB,MAAM,CACE,CAAC;SACZ;QAED,MAAM,EAAE,4BAA4B,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;QAE9E,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACnE,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC;YAC3C,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC/D,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM;YAChE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK;YACzD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,MAAM;YAC5D,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,KAAK;SACT,CAAC,CAAC;QACV,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC;YACvC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC;YACnE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK;YACzD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,MAAM;YAC5D,QAAQ,EAAE,KAAK;SACT,CAAC,CAAC;QACV,IAAI,KAAK,MAAM;YACb,IAAI,CAAC,oBAAoB,CAAC,aAAa,iBACrC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,EACnC,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,KAAK,IACZ,4BAA4B,aAA5B,4BAA4B,uBAA5B,4BAA4B,CAAE,IAAI,EACrC,CAAC;QACL,IAAI,KAAK,MAAM;YACb,IAAI,CAAC,oBAAoB,CAAC,aAAa,iBACrC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,EACnC,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,KAAK,IACZ,4BAA4B,aAA5B,4BAA4B,uBAA5B,4BAA4B,CAAE,IAAI,EACrC,CAAC;IACP,CAAC;IAES,aAAa,CAAC,SAAiB,EAAE,UAAyB,EAAE,IAAY;QAChF,IAAI,UAAU,GAAI,IAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,IAAI,CAAmB,CAAC;QACtG,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SACtC;aAAM;YACL,UAAU,GAAG,IAAI,SAAG,CAAC,UAAU,CAAC,CAAC;YACjC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;SACxB;QAED,SAAS,CAAC,GAAG,CAAC,UAA8B,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,oBAAoB,CAAC,KAAa,EAAE,GAAW;;QACrD,MAAM,WAAW,GAAG,IAAI,kBAAW,CAAC,QAAQ,EAAE;YAC5C,KAAK;YACL,GAAG;SACJ,CAAC,CAAC;QAGH,WAAW,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,CAAC,OAAO,CAAC;QACtD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAGD,cAAc,CAAC,KAAc,EAAE,GAAY;;QACzC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;QAChF,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,IAAI,IAAA,gBAAO,EAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC5F,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;YACrB,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACpC,MAAA,IAAI,CAAC,oBAAoB,qDAAG,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzD,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;aACvC;SACF;IACH,CAAC;IAGD,cAAc,CAAC,IAAW;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAGD,OAAO,CAAC,IAAY,EAAE,GAAoB;QACxC,IAAI,GAAG,KAAK,OAAO,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAC1C;IACH,CAAC;IAGD,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,oBAAoB;;QAClB,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;QACpE,MAAM,qBAAqB,GAAG,MAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,0CAAE,IAAI,mCAAI,EAAE,CAAC;QACzE,MAAM,uBAAuB,GAAG,MAAA,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,0CAAE,IAAI,mCAAI,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,IAAA,cAAK,EAAC,uBAAuB,CAAC,CAAC,CAAC;IAC5E,CAAC;IAGD,sBAAsB,CAAC,QAA2E;QAChG,IAAA,mBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,CAAC;IACjE,CAAC;IAGD,iBAAiB,CAAC,QAA4B;QAC5C,IAAA,mBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,CAAC;IAC5D,CAAC;IACD,iBAAiB,CAAC,QAA4B;QAC5C,IAAA,mBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,CAAC;IAC5D,CAAC;IACD,kBAAkB,CAAC,QAA4B;QAC7C,IAAA,mBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACD,kBAAkB,CAAC,QAA4B;QAC7C,IAAA,mBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC;IAC7D,CAAC;IACD,mBAAmB,CAAC,QAAgC;QAClD,IAAA,mBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,CAAC;IAC9D,CAAC;;AA9hCH,4BA+hCC;AA7hCQ,0BAAiB,GAAG,qCAA4B,CAAC","file":"data-zoom.js","sourcesContent":["import type { FederatedPointerEvent, IArea, IGroup, ILine, IRect, ISymbol, INode } from '@visactor/vrender/es/core';\n// eslint-disable-next-line no-duplicate-imports\nimport { vglobal, CustomEvent } from '@visactor/vrender/es/core';\nimport type { IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, clamp, debounce, isFunction, isValid, merge, throttle } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { TagAttributes } from '../tag';\n// eslint-disable-next-line no-duplicate-imports\nimport { Tag } from '../tag';\nimport { DEFAULT_DATA_ZOOM_ATTRIBUTES } from './config';\nimport { DataZoomActiveTag } from './type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { DataZoomAttributes } from './type';\nimport type { ComponentOptions } from '../interface';\nimport { loadDataZoomComponent } from './register';\n\nconst delayMap = {\n debounce: debounce,\n throttle: throttle\n};\nloadDataZoomComponent();\nexport class DataZoom extends AbstractComponent<Required<DataZoomAttributes>> {\n name = 'dataZoom';\n static defaultAttributes = DEFAULT_DATA_ZOOM_ATTRIBUTES;\n\n private _isHorizontal: boolean;\n\n private _background!: IRect;\n\n private _container!: IGroup;\n\n /** 手柄 */\n private _startHandler!: ISymbol;\n private _middleHandlerSymbol!: ISymbol;\n private _middleHandlerRect!: IRect;\n private _endHandler!: ISymbol;\n private _selectedBackground!: IRect;\n private _dragMask!: IRect;\n private _startText!: Tag;\n private _endText!: Tag;\n private _startValue!: string | number;\n private _endValue!: string | number;\n private _showText!: boolean;\n\n /** 背景图表 */\n private _previewData: any[] = [];\n private _previewGroup!: IGroup;\n private _previewLine!: ILine;\n private _previewArea!: IArea;\n private _selectedPreviewGroupClip!: IGroup;\n private _selectedPreviewGroup!: IGroup;\n private _selectedPreviewLine!: ILine;\n private _selectedPreviewArea!: IArea;\n\n /** 交互状态 */\n protected _activeTag!: DataZoomActiveTag;\n protected _activeItem!: any;\n protected _activeState = false;\n protected _activeCache: {\n startPos: IPointLike;\n lastPos: IPointLike;\n } = {\n startPos: { x: 0, y: 0 },\n lastPos: { x: 0, y: 0 }\n };\n protected _layoutCache: {\n attPos: 'x' | 'y';\n attSize: 'width' | 'height';\n max: number;\n } = {\n attPos: 'x',\n attSize: 'width',\n max: 0\n };\n /** 起始状态 */\n readonly state = {\n start: 0,\n end: 1\n };\n protected _spanCache: number;\n\n /** 回调函数 */\n private _previewPointsX!: (datum: any) => number;\n private _previewPointsY!: (datum: any) => number;\n private _previewPointsX1!: (datum: any) => number;\n private _previewPointsY1!: (datum: any) => number;\n private _updateStateCallback!: (start: number, end: number, trigger?: DataZoomActiveTag) => void;\n private _statePointToData: (state: number) => any = state => state;\n private _layoutAttrFromConfig: any; // 用于缓存\n\n constructor(attributes: DataZoomAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, DataZoom.defaultAttributes, attributes));\n const {\n start,\n end,\n size,\n orient,\n showDetail,\n position,\n previewData,\n previewPointsX,\n previewPointsY,\n previewPointsX1,\n previewPointsY1,\n updateStateCallback\n } = this.attribute as DataZoomAttributes;\n const { width, height } = size;\n start && (this.state.start = start);\n end && (this.state.end = end);\n this._spanCache = this.state.end - this.state.start;\n this._isHorizontal = orient === 'top' || orient === 'bottom';\n this._layoutCache.max = this._isHorizontal ? width : height;\n this._layoutCache.attPos = this._isHorizontal ? 'x' : 'y';\n this._layoutCache.attSize = this._isHorizontal ? 'width' : 'height';\n this._activeCache.startPos = position;\n this._activeCache.lastPos = position;\n if (showDetail === 'auto') {\n this._showText = false as boolean;\n } else {\n this._showText = showDetail as boolean;\n }\n previewData && (this._previewData = previewData);\n isFunction(previewPointsX) && (this._previewPointsX = previewPointsX);\n isFunction(previewPointsY) && (this._previewPointsY = previewPointsY);\n isFunction(previewPointsX1) && (this._previewPointsX1 = previewPointsX1);\n isFunction(previewPointsY1) && (this._previewPointsY1 = previewPointsY1);\n isFunction(updateStateCallback) && (this._updateStateCallback = updateStateCallback);\n }\n\n protected bindEvents(): void {\n if (this.attribute.disableTriggerEvent) {\n return;\n }\n const { showDetail, brushSelect, delayType = 'throttle', delayTime = 0 } = this.attribute as DataZoomAttributes;\n // 拖拽开始\n if (this._startHandler) {\n this._startHandler.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'start') as unknown as EventListener\n );\n }\n if (this._endHandler) {\n this._endHandler.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'end') as unknown as EventListener\n );\n }\n if (this._middleHandlerSymbol) {\n this._middleHandlerSymbol.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'middleSymbol') as unknown as EventListener\n );\n }\n if (this._middleHandlerRect) {\n this._middleHandlerRect.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'middleRect') as unknown as EventListener\n );\n }\n\n const selectedTag = brushSelect ? 'background' : 'middleRect';\n if (this._selectedBackground) {\n this._selectedBackground.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, selectedTag) as unknown as EventListener\n );\n }\n if (brushSelect && this._background) {\n this._background.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'background') as unknown as EventListener\n );\n }\n if (brushSelect && this._previewGroup) {\n this._previewGroup.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, 'background') as unknown as EventListener\n );\n }\n if (this._selectedPreviewGroup) {\n this._selectedPreviewGroup.addEventListener(\n 'pointerdown',\n (e: FederatedPointerEvent) => this._onHandlerPointerDown(e, selectedTag) as unknown as EventListener\n );\n }\n if (vglobal.env === 'browser') {\n // 拖拽时\n vglobal.addEventListener(\n 'pointermove',\n delayMap[delayType](this._onHandlerPointerMove.bind(this), delayTime) as EventListener,\n {\n capture: true\n }\n );\n // 拖拽结束\n vglobal.addEventListener('pointerup', this._onHandlerPointerUp.bind(this) as EventListener);\n }\n // 拖拽时\n (this as unknown as IGroup).addEventListener(\n 'pointermove',\n delayMap[delayType](this._onHandlerPointerMove, delayTime) as EventListener,\n {\n capture: true\n }\n );\n // 拖拽结束\n (this as unknown as IGroup).addEventListener('pointerup', this._onHandlerPointerUp as EventListener);\n (this as unknown as IGroup).addEventListener('pointerupoutside', this._onHandlerPointerUp as EventListener);\n // hover\n if (showDetail === 'auto') {\n (this as unknown as IGroup).addEventListener('pointerenter', this._onHandlerPointerEnter as EventListener);\n (this as unknown as IGroup).addEventListener('pointerleave', this._onHandlerPointerLeave as EventListener);\n }\n }\n\n /** dragMask size边界处理 */\n protected dragMaskSize() {\n const { position } = this.attribute as DataZoomAttributes;\n const { attPos, max } = this._layoutCache;\n if (this._activeCache.lastPos[attPos] - position[attPos] > max) {\n return max + position[attPos] - this._activeCache.startPos[attPos];\n } else if (this._activeCache.lastPos[attPos] - position[attPos] < 0) {\n return position[attPos] - this._activeCache.startPos[attPos];\n }\n return this._activeCache.lastPos[attPos] - this._activeCache.startPos[attPos];\n }\n\n /** state 边界处理 */\n protected setStateAttr(start: number, end: number, shouldRender: boolean) {\n const { zoomLock = false, minSpan = 0, maxSpan = 1 } = this.attribute as DataZoomAttributes;\n const span = end - start;\n if (span !== this._spanCache && (zoomLock || span < minSpan || span > maxSpan)) {\n return;\n }\n this._spanCache = span;\n this.state.start = start;\n this.state.end = end;\n shouldRender && this.setAttributes({ start, end });\n }\n\n /** 事件系统坐标转换为stage坐标 */\n protected eventPosToStagePos(e: FederatedPointerEvent) {\n const stagePosition = (this as unknown as IGroup).stage?.window.getBoundingClientRect();\n return {\n x: e.clientX - (stagePosition?.left || 0) - ((this as unknown as IGroup).stage?.x || 0),\n y: e.clientY - (stagePosition?.top || 0) - ((this as unknown as IGroup).stage?.y || 0)\n };\n }\n\n /**\n * 拖拽开始事件\n * @description 开启activeState + 通过tag判断事件在哪个元素上触发 并 更新交互坐标\n */\n private _onHandlerPointerDown = (e: FederatedPointerEvent, tag: string) => {\n e.stopPropagation();\n if (tag === 'start') {\n this._activeTag = DataZoomActiveTag.startHandler;\n this._activeItem = this._startHandler;\n } else if (tag === 'end') {\n this._activeTag = DataZoomActiveTag.endHandler;\n this._activeItem = this._endHandler;\n } else if (tag === 'middleRect') {\n this._activeTag = DataZoomActiveTag.middleHandler;\n this._activeItem = this._middleHandlerRect;\n } else if (tag === 'middleSymbol') {\n this._activeTag = DataZoomActiveTag.middleHandler;\n this._activeItem = this._middleHandlerSymbol;\n } else if (tag === 'background') {\n this._activeTag = DataZoomActiveTag.background;\n this._activeItem = this._background;\n }\n this._activeState = true;\n this._activeCache.startPos = this.eventPosToStagePos(e);\n this._activeCache.lastPos = this.eventPosToStagePos(e);\n };\n\n /**\n * 拖拽进行事件\n * @description 分为以下四种情况:\n * 1. 在背景 or 背景图表上拖拽 (activeTag === 'background'): 改变lastPos => dragMask的宽 or 高被改变\n * 2. 在middleHandler上拖拽 (activeTag === 'middleHandler'): 改变lastPos、start & end + 边界处理: 防止拖拽结果超出背景 => 所有handler的位置被改变\n * 3. 在startHandler上拖拽 (activeTag === 'startHandler'): 改变lastPos、start & end + 边界处理: startHandler和endHandler交换 => 所有handler的位置被改变\n * 4. 在endHandler上拖拽,同上\n */\n private _onHandlerPointerMove = (e: FederatedPointerEvent) => {\n e.stopPropagation();\n const { start: startAttr, end: endAttr, brushSelect, realTime = true } = this.attribute as DataZoomAttributes;\n const pos = this.eventPosToStagePos(e);\n const { attPos, max } = this._layoutCache;\n const dis = (pos[attPos] - this._activeCache.lastPos[attPos]) / max;\n\n let { start, end } = this.state;\n // this._activeState= false;\n if (this._activeState) {\n // if (this._activeTag === DataZoomActiveTag.background) {\n // } else\n if (this._activeTag === DataZoomActiveTag.middleHandler) {\n this.moveZoomWithMiddle((this.state.start + this.state.end) / 2 + dis);\n } else if (this._activeTag === DataZoomActiveTag.startHandler) {\n if (start + dis > end) {\n start = end;\n end = start + dis;\n this._activeTag = DataZoomActiveTag.endHandler;\n } else {\n start = start + dis;\n }\n } else if (this._activeTag === DataZoomActiveTag.endHandler) {\n if (end + dis < start) {\n end = start;\n start = end + dis;\n this._activeTag = DataZoomActiveTag.startHandler;\n } else {\n end = end + dis;\n }\n }\n this._activeCache.lastPos = pos;\n brushSelect && this.renderDragMask();\n }\n start = Math.min(Math.max(start, 0), 1);\n end = Math.min(Math.max(end, 0), 1);\n\n // 避免attributes相同时, 重复渲染\n if (startAttr !== start || endAttr !== end) {\n this.setStateAttr(start, end, true);\n realTime && this._updateStateCallback?.(start, end, this._activeTag);\n this._dispatchChangeEvent(start, end);\n }\n };\n\n /**\n * 拖拽结束事件\n * @description 关闭activeState + 边界情况处理: 防止拖拽后start和end过近\n */\n private _onHandlerPointerUp(e: FederatedPointerEvent) {\n e.preventDefault();\n const { start, end, brushSelect, realTime = true } = this.attribute as DataZoomAttributes;\n if (this._activeState) {\n if (this._activeTag === DataZoomActiveTag.background) {\n const pos = this.eventPosToStagePos(e);\n this.backgroundDragZoom(this._activeCache.startPos, pos);\n }\n }\n this._activeState = false;\n\n // dragMask不依赖于state更新\n brushSelect && this.renderDragMask();\n\n // 避免attributes相同时, 重复渲染\n if (!realTime || start !== this.state.start || end !== this.state.end) {\n this.setStateAttr(this.state.start, this.state.end, true);\n this._updateStateCallback?.(this.state.start, this.state.end, this._activeTag);\n this._dispatchChangeEvent(this.state.start, this.state.end);\n }\n }\n\n /**\n * 鼠标进入事件\n * @description 鼠标进入选中部分出现start和end文字\n */\n private _onHandlerPointerEnter(e: FederatedPointerEvent) {\n e.stopPropagation();\n this._showText = true;\n this.renderText();\n }\n\n /**\n * 鼠标移出事件\n * @description 鼠标移出选中部分不出现start和end文字\n */\n private _onHandlerPointerLeave(e: FederatedPointerEvent) {\n e.stopPropagation();\n this._showText = false;\n this.renderText();\n }\n\n protected backgroundDragZoom(startPos: IPointLike, endPos: IPointLike) {\n const { attPos, max } = this._layoutCache;\n const { position } = this.attribute as DataZoomAttributes;\n const startPosInComponent = startPos[attPos] - position[attPos];\n const endPosInComponent = endPos[attPos] - position[attPos];\n const start = Math.min(Math.max(Math.min(startPosInComponent, endPosInComponent) / max, 0), 1);\n const end = Math.min(Math.max(Math.max(startPosInComponent, endPosInComponent) / max, 0), 1);\n if (Math.abs(start - end) < 0.01) {\n this.moveZoomWithMiddle(start);\n } else {\n this.setStateAttr(start, end, false);\n }\n }\n\n protected moveZoomWithMiddle(middle: number) {\n const currentMiddle = (this.state.start + this.state.end) / 2;\n let offset = middle - currentMiddle;\n // 拖拽middleHandler时,限制在background范围内\n if (offset === 0) {\n return;\n } else if (offset > 0) {\n if (this.state.end + offset > 1) {\n offset = 1 - this.state.end;\n }\n } else if (offset < 0) {\n if (this.state.start + offset < 0) {\n offset = -this.state.start;\n }\n }\n this.setStateAttr(this.state.start + offset, this.state.end + offset, false);\n }\n\n protected renderDragMask() {\n const { dragMaskStyle } = this.attribute as DataZoomAttributes;\n const { position, width, height } = this.getLayoutAttrFromConfig();\n // drag部分\n if (this._isHorizontal) {\n this._dragMask = this._container.createOrUpdateChild(\n 'dragMask',\n {\n x: clamp(\n this.dragMaskSize() < 0 ? this._activeCache.lastPos.x : this._activeCache.startPos.x,\n position.x,\n position.x + width\n ),\n y: position.y,\n width:\n (this._activeState && this._activeTag === DataZoomActiveTag.background && Math.abs(this.dragMaskSize())) ||\n 0,\n height,\n ...dragMaskStyle\n },\n 'rect'\n ) as IRect;\n } else {\n this._dragMask = this._container.createOrUpdateChild(\n 'dragMask',\n {\n x: position.x,\n y: clamp(\n this.dragMaskSize() < 0 ? this._activeCache.lastPos.y : this._activeCache.startPos.y,\n position.y,\n position.y + height\n ),\n width,\n height:\n (this._activeState && this._activeTag === DataZoomActiveTag.background && Math.abs(this.dragMaskSize())) ||\n 0,\n ...dragMaskStyle\n },\n 'rect'\n ) as IRect;\n }\n }\n\n protected renderText() {\n const { startTextStyle, endTextStyle } = this.attribute as DataZoomAttributes;\n const { formatMethod: startTextFormat, ...restStartStyle } = startTextStyle;\n const { formatMethod: endTextFormat, ...restEndTextStyle } = endTextStyle;\n const { start, end } = this.state;\n this._startValue = this._statePointToData(start);\n this._endValue = this._statePointToData(end);\n const { position, width, height } = this.getLayoutAttrFromConfig();\n\n if (this._isHorizontal) {\n // 起始文字\n this._startText = this.maybeAddLabel(\n this._container,\n merge({}, restStartStyle, {\n text: startTextFormat ? startTextFormat(this._startValue) : this._startValue,\n x: position.x + start * width,\n y: position.y + height / 2,\n visible: this._showText,\n pickable: false,\n childrenPickable: false,\n textStyle: {\n textAlign: 'right',\n textBaseline: 'middle'\n }\n }),\n `data-zoom-start-text-${position}`\n );\n this._endText = this.maybeAddLabel(\n this._container,\n merge({}, restEndTextStyle, {\n text: endTextFormat ? endTextFormat(this._endValue) : this._endValue,\n x: position.x + end * width,\n y: position.y + height / 2,\n visible: this._showText,\n pickable: false,\n childrenPickable: false,\n textStyle: {\n textAlign: 'left',\n textBaseline: 'middle'\n }\n }),\n `data-zoom-end-text-${position}`\n );\n } else {\n // 起始文字\n this._startText = this.maybeAddLabel(\n this._container,\n merge({}, restStartStyle, {\n text: startTextFormat ? startTextFormat(this._startValue) : this._startValue,\n x: position.x + width / 2,\n y: position.y + start * height,\n visible: this._showText,\n pickable: false,\n childrenPickable: false,\n textStyle: {\n textAlign: 'center',\n textBaseline: 'bottom'\n }\n }),\n `data-zoom-start-text-${position}`\n );\n this._endText = this.maybeAddLabel(\n this._container,\n merge({}, restEndTextStyle, {\n text: endTextFormat ? endTextFormat(this._endValue) : this._endValue,\n x: position.x + width / 2,\n y: position.y + end * height,\n visible: this._showText,\n pickable: false,\n childrenPickable: false,\n textStyle: {\n textAlign: 'center',\n textBaseline: 'top'\n }\n }),\n `data-zoom-end-text-${position}`\n );\n }\n }\n\n /**\n * 获取背景框中的位置和宽高\n * @description 实际绘制的背景框中的高度或宽度 减去 中间手柄的高度或宽度\n */\n protected getLayoutAttrFromConfig() {\n if (this._layoutAttrFromConfig) {\n return this._layoutAttrFromConfig;\n }\n const {\n position: positionConfig,\n size,\n orient,\n middleHandlerStyle,\n startHandlerStyle,\n endHandlerStyle\n } = this.attribute as DataZoomAttributes;\n const { width: widthConfig, height: heightConfig } = size;\n const middleHandlerSize = middleHandlerStyle?.background?.size ?? 10;\n\n // 如果middleHandler显示的话,要将其宽高计入datazoom宽高\n let width;\n let height;\n let position;\n if (middleHandlerStyle?.visible) {\n if (this._isHorizontal) {\n width = widthConfig;\n height = heightConfig - middleHandlerSize;\n position = {\n x: positionConfig.x,\n y: positionConfig.y + middleHandlerSize\n };\n } else {\n width = widthConfig - middleHandlerSize;\n height = heightConfig;\n position = {\n x: positionConfig.x + (orient === 'left' ? middleHandlerSize : 0),\n y: positionConfig.y\n };\n }\n } else {\n width = widthConfig;\n height = heightConfig;\n position = positionConfig;\n }\n\n const startHandlerSize = (startHandlerStyle?.size as number) ?? (this._isHorizontal ? height : width);\n const endHandlerSize = (endHandlerStyle?.size as number) ?? (this._isHorizontal ? height : width);\n // 如果startHandler显示的话,要将其宽高计入dataZoom宽高\n if (startHandlerStyle?.visible) {\n if (this._isHorizontal) {\n width -= (startHandlerSize + endHandlerSize) / 2;\n position = {\n x: position.x + startHandlerSize / 2,\n y: position.y\n };\n } else {\n height -= (startHandlerSize + endHandlerSize) / 2;\n position = {\n x: position.x,\n y: position.y + startHandlerSize\n };\n }\n }\n\n this._layoutAttrFromConfig = {\n position,\n width,\n height\n };\n return this._layoutAttrFromConfig;\n }\n\n protected render() {\n this._layoutAttrFromConfig = null;\n const {\n // start,\n // end,\n orient,\n backgroundStyle,\n backgroundChartStyle,\n selectedBackgroundStyle,\n selectedBackgroundChartStyle,\n middleHandlerStyle,\n startHandlerStyle,\n endHandlerStyle,\n brushSelect\n } = this.attribute as DataZoomAttributes;\n const { start, end } = this.state;\n const { position, width, height } = this.getLayoutAttrFromConfig();\n const group = (this as unknown as IGroup).createOrUpdateChild('dataZoom-container', {}, 'group') as IGroup;\n this._container = group;\n this._background = group.createOrUpdateChild(\n 'background',\n {\n x: position.x,\n y: position.y,\n width,\n height,\n cursor: brushSelect ? 'crosshair' : 'auto',\n ...backgroundStyle\n },\n 'rect'\n ) as IRect;\n\n /** 背景图表 */\n backgroundChartStyle?.line?.visible && this.setPreviewAttributes('line', group);\n backgroundChartStyle?.area?.visible && this.setPreviewAttributes('area', group);\n\n /** drag mask */\n brushSelect && this.renderDragMask();\n\n /** 选中背景 */\n if (this._isHorizontal) {\n // 选中部分\n this._selectedBackground = group.createOrUpdateChild(\n 'selectedBackground',\n {\n x: position.x + start * width,\n y: position.y,\n width: (end - start) * width,\n height: height,\n cursor: brushSelect ? 'crosshair' : 'move',\n ...selectedBackgroundStyle\n },\n 'rect'\n ) as IRect;\n } else {\n // 选中部分\n this._selectedBackground = group.createOrUpdateChild(\n 'selectedBackground',\n {\n x: position.x,\n y: position.y + start * height,\n width,\n height: (end - start) * height,\n cursor: brushSelect ? 'crosshair' : 'move',\n ...selectedBackgroundStyle\n },\n 'rect'\n ) as IRect;\n }\n\n /** 选中的背景图表 */\n selectedBackgroundChartStyle?.line?.visible && this.setSelectedPreviewAttributes('line', group);\n selectedBackgroundChartStyle?.area?.visible && this.setSelectedPreviewAttributes('area', group);\n\n /** 中间手柄 */\n\n /** 左右文字 */\n if (this._showText) {\n this.renderText();\n }\n\n /** 左右 和 中间手柄 */\n if (this._isHorizontal) {\n this._startHandler = group.createOrUpdateChild(\n 'startHandler',\n {\n x: position.x + start * width,\n y: position.y + height / 2,\n size: height,\n angle: 0,\n symbolType: startHandlerStyle?.symbolType ?? 'square',\n cursor: 'ew-resize',\n strokeBoundsBuffer: 0,\n boundsPadding: 2,\n pickMode: 'imprecise',\n ...startHandlerStyle\n },\n 'symbol'\n ) as ISymbol;\n this._endHandler = group.createOrUpdateChild(\n 'endHandler',\n {\n x: position.x + end * width,\n y: position.y + height / 2,\n size: height,\n angle: 0,\n symbolType: endHandlerStyle?.symbolType ?? 'square',\n cursor: 'ew-resize',\n strokeBoundsBuffer: 0,\n boundsPadding: 2,\n pickMode: 'imprecise',\n ...endHandlerStyle\n },\n 'symbol'\n ) as ISymbol;\n if (middleHandlerStyle?.visible) {\n this._middleHandlerRect = group.createOrUpdateChild(\n 'middleHandlerRect',\n {\n x: position.x + start * width,\n y: position.y - (middleHandlerStyle?.background?.size || 10),\n width: (end - start) * width,\n height: middleHandlerStyle?.background?.size || 10,\n ...middleHandlerStyle?.background?.style\n },\n 'rect'\n ) as IRect;\n this._middleHandlerSymbol = group.createOrUpdateChild(\n 'middleHandlerSymbol',\n {\n x: position.x + ((start + end) / 2) * width,\n y: position.y - (middleHandlerStyle?.background?.size || 10) / 2,\n strokeBoundsBuffer: 0,\n angle: 0,\n symbolType: middleHandlerStyle?.icon?.symbolType ?? 'square',\n ...middleHandlerStyle?.icon\n },\n 'symbol'\n ) as ISymbol;\n }\n } else {\n this._startHandler = group.createOrUpdateChild(\n 'startHandler',\n {\n x: position.x + width / 2,\n y: position.y + start * height,\n size: width,\n angle: 90 * (Math.PI / 180),\n symbolType: startHandlerStyle?.symbolType ?? 'square',\n cursor: 'ns-resize',\n boundsPadding: 2,\n pickMode: 'imprecise',\n strokeBoundsBuffer: 0,\n ...startHandlerStyle\n },\n 'symbol'\n ) as ISymbol;\n if (middleHandlerStyle?.visible) {\n this._middleHandlerRect = group.createOrUpdateChild(\n 'middleHandlerRect',\n {\n x: orient === 'left' ? position.x - (middleHandlerStyle?.background?.size || 10) : position.x + width,\n y: position.y + start * height,\n width: middleHandlerStyle?.background?.size || 10,\n height: (end - start) * height,\n ...middleHandlerStyle?.background?.style\n },\n 'rect'\n ) as IRect;\n this._middleHandlerSymbol = group.createOrUpdateChild(\n 'middleHandlerSymbol',\n {\n x:\n orient === 'left'\n ? position.x - (middleHandlerStyle?.background?.size || 10) / 2\n : position.x + width + (middleHandlerStyle?.background?.size || 10) / 2,\n y: position.y + ((start + end) / 2) * height,\n // size: height,\n angle: 90 * (Math.PI / 180),\n symbolType: middleHandlerStyle?.icon?.symbolType ?? 'square',\n strokeBoundsBuffer: 0,\n ...middleHandlerStyle?.icon\n },\n 'symbol'\n ) as ISymbol;\n }\n this._endHandler = group.createOrUpdateChild(\n 'endHandler',\n {\n x: position.x + width / 2,\n y: position.y + end * height,\n size: width,\n angle: 90 * (Math.PI / 180),\n symbolType: endHandlerStyle?.symbolType ?? 'square',\n cursor: 'ns-resize',\n boundsPadding: 2,\n pickMode: 'imprecise',\n strokeBoundsBuffer: 0,\n ...endHandlerStyle\n },\n 'symbol'\n ) as ISymbol;\n }\n }\n\n computeBasePoints() {\n const { orient } = this.attribute as DataZoomAttributes;\n const { position, width, height } = this.getLayoutAttrFromConfig();\n let basePointStart: any;\n let basePointEnd: any;\n if (this._isHorizontal) {\n basePointStart = [\n {\n x: position.x,\n y: position.y + height\n }\n ];\n basePointEnd = [\n {\n x: position.x + width,\n y: position.y + height\n }\n ];\n } else if (orient === 'left') {\n basePointStart = [\n {\n x: position.x + width,\n y: position.y\n }\n ];\n basePointEnd = [\n {\n x: position.x + width,\n y: position.y + height\n }\n ];\n } else {\n basePointStart = [\n {\n x: position.x,\n y: position.y + height\n }\n ];\n basePointEnd = [\n {\n x: position.x,\n y: position.y\n }\n ];\n }\n return {\n basePointStart,\n basePointEnd\n };\n }\n\n protected getPreviewLinePoints() {\n const previewPoints = this._previewData.map(d => {\n return {\n x: this._previewPointsX && this._previewPointsX(d),\n y: this._previewPointsY && this._previewPointsY(d)\n };\n });\n // 仅在有数据的时候增加base point, 以弥补背景图表两端的不连续缺口。不然的话没有数据时,会因为base point而仍然绘制图形\n if (previewPoints.length === 0) {\n return previewPoints;\n }\n const { basePointStart, basePointEnd } = this.computeBasePoints();\n return basePointStart.concat(previewPoints).concat(basePointEnd);\n }\n\n protected getPreviewAreaPoints() {\n const previewPoints = this._previewData.map(d => {\n return {\n x: this._previewPointsX && this._previewPointsX(d),\n y: this._previewPointsY && this._previewPointsY(d),\n x1: this._previewPointsX1 && this._previewPointsX1(d),\n y1: this._previewPointsY1 && this._previewPointsY1(d)\n };\n });\n // 仅在有数据的时候增加base point, 以弥补背景图表两端的不连续缺口。不然的话没有数据时,会因为base point而仍然绘制图形\n if (previewPoints.length === 0) {\n return previewPoints;\n }\n const { basePointStart, basePointEnd } = this.computeBasePoints();\n return basePointStart.concat(previewPoints).concat(basePointEnd);\n }\n\n /** 使用callback绘制背景图表 (数据和数据映射从外部传进来) */\n protected setPreviewAttributes(type: 'line' | 'area', group: IGroup) {\n if (!this._previewGroup) {\n this._previewGroup = group.createOrUpdateChild('previewGroup', { pickable: false }, 'group') as IGroup;\n }\n if (type === 'line') {\n this._previewLine = this._previewGroup.createOrUpdateChild('previewLine', {}, 'line') as ILine;\n } else {\n this._previewArea = this._previewGroup.createOrUpdateChild(\n 'previewArea',\n { curveType: 'basis' },\n 'area'\n ) as IArea;\n }\n\n const { backgroundChartStyle } = this.attribute as DataZoomAttributes;\n\n type === 'line' &&\n this._previewLine.setAttributes({\n points: this.getPreviewLinePoints(),\n curveType: 'basis',\n pickable: false,\n ...backgroundChartStyle?.line\n });\n type === 'area' &&\n this._previewArea.setAttributes({\n points: this.getPreviewAreaPoints(),\n curveType: 'basis',\n pickable: false,\n ...backgroundChartStyle?.area\n });\n }\n\n /** 使用callback绘制选中的背景图表 (数据和数据映射从外部传进来) */\n protected setSelectedPreviewAttributes(type: 'area' | 'line', group: IGroup) {\n if (!this._selectedPreviewGroupClip) {\n this._selectedPreviewGroupClip = group.createOrUpdateChild(\n 'selectedPreviewGroupClip',\n { pickable: false },\n 'group'\n ) as IGroup;\n this._selectedPreviewGroup = this._selectedPreviewGroupClip.createOrUpdateChild(\n 'selectedPreviewGroup',\n {},\n 'group'\n ) as IGroup;\n }\n\n if (type === 'line') {\n this._selectedPreviewLine = this._selectedPreviewGroup.createOrUpdateChild(\n 'selectedPreviewLine',\n {},\n 'line'\n ) as ILine;\n } else {\n this._selectedPreviewArea = this._selectedPreviewGroup.createOrUpdateChild(\n 'selectedPreviewArea',\n { curveType: 'basis' },\n 'area'\n ) as IArea;\n }\n\n const { selectedBackgroundChartStyle } = this.attribute as DataZoomAttributes;\n\n const { start, end } = this.state;\n const { position, width, height } = this.getLayoutAttrFromConfig();\n this._selectedPreviewGroupClip.setAttributes({\n x: this._isHorizontal ? position.x + start * width : position.x,\n y: this._isHorizontal ? position.y : position.y + start * height,\n width: this._isHorizontal ? (end - start) * width : width,\n height: this._isHorizontal ? height : (end - start) * height,\n clip: true,\n pickable: false\n } as any);\n this._selectedPreviewGroup.setAttributes({\n x: -(this._isHorizontal ? position.x + start * width : position.x),\n y: -(this._isHorizontal ? position.y : position.y + start * height),\n width: this._isHorizontal ? (end - start) * width : width,\n height: this._isHorizontal ? height : (end - start) * height,\n pickable: false\n } as any);\n type === 'line' &&\n this._selectedPreviewLine.setAttributes({\n points: this.getPreviewLinePoints(),\n curveType: 'basis',\n pickable: false,\n ...selectedBackgroundChartStyle?.line\n });\n type === 'area' &&\n this._selectedPreviewArea.setAttributes({\n points: this.getPreviewAreaPoints(),\n curveType: 'basis',\n pickable: false,\n ...selectedBackgroundChartStyle?.area\n });\n }\n\n protected maybeAddLabel(container: IGroup, attributes: TagAttributes, name: string): Tag {\n let labelShape = (this as unknown as IGroup).find(node => node.name === name, true) as unknown as Tag;\n if (labelShape) {\n labelShape.setAttributes(attributes);\n } else {\n labelShape = new Tag(attributes);\n labelShape.name = name;\n }\n\n container.add(labelShape as unknown as INode);\n return labelShape;\n }\n\n private _dispatchChangeEvent(start: number, end: number) {\n const changeEvent = new CustomEvent('change', {\n start,\n end\n });\n // FIXME: 需要在 vrender 的事件系统支持\n // @ts-ignore\n changeEvent.manager = this.stage?.eventSystem.manager;\n this.dispatchEvent(changeEvent);\n }\n\n /** 外部重置组件的起始状态 */\n setStartAndEnd(start?: number, end?: number) {\n const { start: startAttr, end: endAttr } = this.attribute as DataZoomAttributes;\n if (isValid(start) && isValid(end) && (start !== this.state.start || end !== this.state.end)) {\n this.state.start = start;\n this.state.end = end;\n if (startAttr !== this.state.start || endAttr !== this.state.end) {\n this.setStateAttr(start, end, true);\n this._updateStateCallback?.(start, end, this._activeTag);\n this._dispatchChangeEvent(start, end);\n }\n }\n }\n\n /** 外部更新背景图表的数据 */\n setPreviewData(data: any[]) {\n this._previewData = data;\n }\n\n /** 外部更新手柄文字 */\n setText(text: string, tag: 'start' | 'end') {\n if (tag === 'start') {\n this._startText.setAttribute('text', text);\n } else {\n this._endText.setAttribute('text', text);\n }\n }\n\n /** 外部获取起始点数据值 */\n getStartValue() {\n return this._startValue;\n }\n\n getEndTextValue() {\n return this._endValue;\n }\n\n getMiddleHandlerSize() {\n const { middleHandlerStyle } = this.attribute as DataZoomAttributes;\n const middleHandlerRectSize = middleHandlerStyle?.background?.size ?? 10;\n const middleHandlerSymbolSize = middleHandlerStyle?.icon?.size ?? 10;\n return Math.max(middleHandlerRectSize, ...array(middleHandlerSymbolSize));\n }\n\n /** 外部传入start和end状态更新后的逻辑 */\n setUpdateStateCallback(callback: (start: number, end: number, trigger?: DataZoomActiveTag) => void) {\n isFunction(callback) && (this._updateStateCallback = callback);\n }\n\n /** 外部传入数据映射 */\n setPreviewPointsX(callback: (d: any) => number) {\n isFunction(callback) && (this._previewPointsX = callback);\n }\n setPreviewPointsY(callback: (d: any) => number) {\n isFunction(callback) && (this._previewPointsY = callback);\n }\n setPreviewPointsX1(callback: (d: any) => number) {\n isFunction(callback) && (this._previewPointsX1 = callback);\n }\n setPreviewPointsY1(callback: (d: any) => number) {\n isFunction(callback) && (this._previewPointsY1 = callback);\n }\n setStatePointToData(callback: (state: number) => any) {\n isFunction(callback) && (this._statePointToData = callback);\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function loadDataZoomComponent(): void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.loadDataZoomComponent = void 0;
6
+
7
+ const register_1 = require("@visactor/vrender/es/register"), register_2 = require("../tag/register");
8
+
9
+ function loadDataZoomComponent() {
10
+ (0, register_2.loadTagComponent)(), (0, register_1.registerRect)(), (0, register_1.registerSymbol)(),
11
+ (0, register_1.registerArea)(), (0, register_1.registerLine)();
12
+ }
13
+
14
+ exports.loadDataZoomComponent = loadDataZoomComponent;
15
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/data-zoom/register.ts"],"names":[],"mappings":";;;AAAA,4DAAyG;AACzG,8CAAmD;AACnD,SAAgB,qBAAqB;IACnC,IAAA,2BAAgB,GAAE,CAAC;IACnB,IAAA,uBAAY,GAAE,CAAC;IACf,IAAA,yBAAc,GAAE,CAAC;IACjB,IAAA,uBAAY,GAAE,CAAC;IACf,IAAA,uBAAY,GAAE,CAAC;AACjB,CAAC;AAND,sDAMC","file":"register.js","sourcesContent":["import { registerArea, registerLine, registerRect, registerSymbol } from '@visactor/vrender/es/register';\nimport { loadTagComponent } from '../tag/register';\nexport function loadDataZoomComponent() {\n loadTagComponent();\n registerRect();\n registerSymbol();\n registerArea();\n registerLine();\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { IAreaGraphicAttribute, ICurveType, IGroupGraphicAttribute, ILineGraphicAttribute, IRectGraphicAttribute, ISymbolGraphicAttribute } from '@visactor/vrender-core';
1
+ import type { IAreaGraphicAttribute, ICurveType, IGroupGraphicAttribute, ILineGraphicAttribute, IRectGraphicAttribute, ISymbolGraphicAttribute } from '@visactor/vrender/es/core';
2
2
  import type { IPointLike } from '@visactor/vutils';
3
3
  import type { IDelayType, OrientType } from '../interface';
4
4
  import type { TagAttributes } from '../tag';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data-zoom/type.ts"],"names":[],"mappings":";;;AAYA,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,kDAA6B,CAAA;IAC7B,8CAAyB,CAAA;IACzB,oDAA+B,CAAA;IAC/B,8CAAyB,CAAA;AAC3B,CAAC,EALW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAK5B","file":"type.js","sourcesContent":["import type {\n IAreaGraphicAttribute,\n ICurveType,\n IGroupGraphicAttribute,\n ILineGraphicAttribute,\n IRectGraphicAttribute,\n ISymbolGraphicAttribute\n} from '@visactor/vrender-core';\nimport type { IPointLike } from '@visactor/vutils';\nimport type { IDelayType, OrientType } from '../interface';\nimport type { TagAttributes } from '../tag';\n\nexport enum DataZoomActiveTag {\n startHandler = 'startHandler',\n endHandler = 'endHandler',\n middleHandler = 'middleHandler',\n background = 'background'\n}\n\nexport interface DataZoomAttributes extends IGroupGraphicAttribute {\n /**\n * DataZoom位置\n */\n position: IPointLike;\n /**\n * DataZoom 尺寸\n */\n size: {\n width: number;\n height: number;\n };\n /**\n * DataZoom方向\n * @default 'bottom'\n */\n orient?: OrientType;\n\n /**\n * 起点配置(比例):范围[0, 1]\n * @default 0\n */\n start?: number;\n\n /**\n * 终点配置(比例):范围[0, 1]\n * @default 1\n */\n end?: number;\n\n /**\n * 背景样式\n */\n backgroundStyle?: IRectGraphicAttribute;\n\n /**\n * 起点手柄样式\n */\n startHandlerStyle?: ISymbolGraphicAttribute;\n\n /**\n * 中间手柄样式\n */\n middleHandlerStyle?: {\n /**\n * 是否显示\n * @default false\n */\n visible?: boolean;\n /**\n * 中间手柄的中间symbol样式\n */\n icon?: ISymbolGraphicAttribute;\n /**\n * 中间手柄的背景rect样式\n */\n background?: {\n style?: IRectGraphicAttribute;\n size?: number;\n };\n };\n\n /**\n * 终点手柄样式\n */\n endHandlerStyle?: ISymbolGraphicAttribute;\n\n /**\n * 起点文字样式\n */\n startTextStyle?: {\n formatMethod?: (text: string | number) => (string | number) | (string | number)[];\n } & Partial<TagAttributes>;\n\n /**\n * 终点文字样式\n */\n endTextStyle?: {\n formatMethod?: (text: string | number) => (string | number) | (string | number)[];\n } & Partial<TagAttributes>;\n\n /**\n * 选中背景样式\n */\n selectedBackgroundStyle?: IRectGraphicAttribute;\n\n /**\n * 拖拽进行中的选中背景样式\n */\n dragMaskStyle?: IRectGraphicAttribute;\n\n /**\n * 背景图表样式\n */\n backgroundChartStyle?: {\n line?: {\n visible?: boolean;\n } & ILineGraphicAttribute;\n area?: {\n /**\n * @default true\n */\n visible?: boolean;\n curveType?: ICurveType;\n } & Omit<IAreaGraphicAttribute, 'curveType'>;\n };\n\n /**\n * 选中的背景图表样式\n */\n selectedBackgroundChartStyle?: {\n line?: {\n /**\n * @default true\n */\n visible?: boolean;\n } & ILineGraphicAttribute;\n area?: {\n /**\n * @default true\n */\n visible?: boolean;\n curveType?: ICurveType;\n } & Omit<IAreaGraphicAttribute, 'curveType'>;\n };\n\n /**\n * 是否显示startText和endText\n * @default 'auto' 鼠标hover在选中区域时才显示startText和endText\n */\n showDetail?: 'auto' | boolean;\n\n /**\n * 是否开启框选, 如果不开启则支持selectedBackground拖拽(框选和拖拽两者互斥)\n * @default true\n */\n brushSelect?: boolean;\n\n /**\n * 是否锁定选择区域(或叫做数据窗口)的大小\n */\n zoomLock?: boolean;\n\n /**\n * 用于限制窗口大小的最小值, [0, 1]\n * @default 0\n */\n minSpan?: number;\n\n /**\n * 用于限制窗口大小的最大值, [0, 1]\n * @default 1\n */\n maxSpan?: number;\n\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 /**\n * 绘制背景图表的数据 & 映射函数\n */\n previewData?: any[];\n previewPointsX?: (datum: any) => number;\n previewPointsY?: (datum: any) => number;\n previewPointsX1?: (datum: any) => number;\n previewPointsY1?: (datum: any) => number;\n updateStateCallback?: (start: number, end: number) => any;\n /**\n * 关闭交互效果\n * @default false\n */\n disableTriggerEvent?: boolean;\n}\n"]}
1
+ {"version":3,"sources":["../src/data-zoom/type.ts"],"names":[],"mappings":";;;AAYA,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,kDAA6B,CAAA;IAC7B,8CAAyB,CAAA;IACzB,oDAA+B,CAAA;IAC/B,8CAAyB,CAAA;AAC3B,CAAC,EALW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAK5B","file":"type.js","sourcesContent":["import type {\n IAreaGraphicAttribute,\n ICurveType,\n IGroupGraphicAttribute,\n ILineGraphicAttribute,\n IRectGraphicAttribute,\n ISymbolGraphicAttribute\n} from '@visactor/vrender/es/core';\nimport type { IPointLike } from '@visactor/vutils';\nimport type { IDelayType, OrientType } from '../interface';\nimport type { TagAttributes } from '../tag';\n\nexport enum DataZoomActiveTag {\n startHandler = 'startHandler',\n endHandler = 'endHandler',\n middleHandler = 'middleHandler',\n background = 'background'\n}\n\nexport interface DataZoomAttributes extends IGroupGraphicAttribute {\n /**\n * DataZoom位置\n */\n position: IPointLike;\n /**\n * DataZoom 尺寸\n */\n size: {\n width: number;\n height: number;\n };\n /**\n * DataZoom方向\n * @default 'bottom'\n */\n orient?: OrientType;\n\n /**\n * 起点配置(比例):范围[0, 1]\n * @default 0\n */\n start?: number;\n\n /**\n * 终点配置(比例):范围[0, 1]\n * @default 1\n */\n end?: number;\n\n /**\n * 背景样式\n */\n backgroundStyle?: IRectGraphicAttribute;\n\n /**\n * 起点手柄样式\n */\n startHandlerStyle?: ISymbolGraphicAttribute;\n\n /**\n * 中间手柄样式\n */\n middleHandlerStyle?: {\n /**\n * 是否显示\n * @default false\n */\n visible?: boolean;\n /**\n * 中间手柄的中间symbol样式\n */\n icon?: ISymbolGraphicAttribute;\n /**\n * 中间手柄的背景rect样式\n */\n background?: {\n style?: IRectGraphicAttribute;\n size?: number;\n };\n };\n\n /**\n * 终点手柄样式\n */\n endHandlerStyle?: ISymbolGraphicAttribute;\n\n /**\n * 起点文字样式\n */\n startTextStyle?: {\n formatMethod?: (text: string | number) => (string | number) | (string | number)[];\n } & Partial<TagAttributes>;\n\n /**\n * 终点文字样式\n */\n endTextStyle?: {\n formatMethod?: (text: string | number) => (string | number) | (string | number)[];\n } & Partial<TagAttributes>;\n\n /**\n * 选中背景样式\n */\n selectedBackgroundStyle?: IRectGraphicAttribute;\n\n /**\n * 拖拽进行中的选中背景样式\n */\n dragMaskStyle?: IRectGraphicAttribute;\n\n /**\n * 背景图表样式\n */\n backgroundChartStyle?: {\n line?: {\n visible?: boolean;\n } & ILineGraphicAttribute;\n area?: {\n /**\n * @default true\n */\n visible?: boolean;\n curveType?: ICurveType;\n } & Omit<IAreaGraphicAttribute, 'curveType'>;\n };\n\n /**\n * 选中的背景图表样式\n */\n selectedBackgroundChartStyle?: {\n line?: {\n /**\n * @default true\n */\n visible?: boolean;\n } & ILineGraphicAttribute;\n area?: {\n /**\n * @default true\n */\n visible?: boolean;\n curveType?: ICurveType;\n } & Omit<IAreaGraphicAttribute, 'curveType'>;\n };\n\n /**\n * 是否显示startText和endText\n * @default 'auto' 鼠标hover在选中区域时才显示startText和endText\n */\n showDetail?: 'auto' | boolean;\n\n /**\n * 是否开启框选, 如果不开启则支持selectedBackground拖拽(框选和拖拽两者互斥)\n * @default true\n */\n brushSelect?: boolean;\n\n /**\n * 是否锁定选择区域(或叫做数据窗口)的大小\n */\n zoomLock?: boolean;\n\n /**\n * 用于限制窗口大小的最小值, [0, 1]\n * @default 0\n */\n minSpan?: number;\n\n /**\n * 用于限制窗口大小的最大值, [0, 1]\n * @default 1\n */\n maxSpan?: number;\n\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 /**\n * 绘制背景图表的数据 & 映射函数\n */\n previewData?: any[];\n previewPointsX?: (datum: any) => number;\n previewPointsY?: (datum: any) => number;\n previewPointsX1?: (datum: any) => number;\n previewPointsY1?: (datum: any) => number;\n updateStateCallback?: (start: number, end: number) => any;\n /**\n * 关闭交互效果\n * @default false\n */\n disableTriggerEvent?: boolean;\n}\n"]}
package/cjs/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const version = "0.17.1-alpha.2";
1
+ export declare const version = "0.17.1-alpha.3";
2
2
  export * from './core/base';
3
3
  export * from './scrollbar';
4
4
  export * from './tag';
package/cjs/index.js CHANGED
@@ -17,7 +17,7 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
17
17
 
18
18
  Object.defineProperty(exports, "__esModule", {
19
19
  value: !0
20
- }), exports.version = void 0, exports.version = "0.17.1-alpha.2", __exportStar(require("./core/base"), exports),
20
+ }), exports.version = void 0, exports.version = "0.17.1-alpha.3", __exportStar(require("./core/base"), exports),
21
21
  __exportStar(require("./scrollbar"), exports), __exportStar(require("./tag"), exports),
22
22
  __exportStar(require("./poptip"), exports), __exportStar(require("./crosshair"), exports),
23
23
  __exportStar(require("./label"), exports), __exportStar(require("./axis"), exports),
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACa,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAExC,8CAA4B;AAC5B,8CAA4B;AAC5B,wCAAsB;AACtB,2CAAyB;AACzB,8CAA4B;AAC5B,0CAAwB;AACxB,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B;AAC5B,2CAAyB;AACzB,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B;AAC5B,wCAAsB;AACtB,6CAA2B","file":"index.js","sourcesContent":["// 导出版本号\nexport const version = \"0.17.1-alpha.2\";\n\nexport * from './core/base';\nexport * from './scrollbar';\nexport * from './tag';\nexport * from './poptip';\nexport * from './crosshair';\nexport * from './label';\nexport * from './axis';\nexport * from './axis/grid';\nexport * from './segment';\nexport * from './data-zoom';\nexport * from './marker';\nexport * from './pager';\nexport * from './legend';\nexport * from './title';\nexport * from './indicator';\nexport * from './slider';\nexport * from './link-path';\nexport * from './player';\nexport * from './brush';\nexport * from './tooltip';\nexport * from './interface';\nexport * from './jsx';\nexport * from './checkbox';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACa,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAExC,8CAA4B;AAC5B,8CAA4B;AAC5B,wCAAsB;AACtB,2CAAyB;AACzB,8CAA4B;AAC5B,0CAAwB;AACxB,yCAAuB;AACvB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B;AAC5B,2CAAyB;AACzB,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B;AAC5B,wCAAsB;AACtB,6CAA2B","file":"index.js","sourcesContent":["// 导出版本号\nexport const version = \"0.17.1-alpha.3\";\n\nexport * from './core/base';\nexport * from './scrollbar';\nexport * from './tag';\nexport * from './poptip';\nexport * from './crosshair';\nexport * from './label';\nexport * from './axis';\nexport * from './axis/grid';\nexport * from './segment';\nexport * from './data-zoom';\nexport * from './marker';\nexport * from './pager';\nexport * from './legend';\nexport * from './title';\nexport * from './indicator';\nexport * from './slider';\nexport * from './link-path';\nexport * from './player';\nexport * from './brush';\nexport * from './tooltip';\nexport * from './interface';\nexport * from './jsx';\nexport * from './checkbox';\n"]}
@@ -25,4 +25,5 @@ Object.defineProperty(exports, "__esModule", {
25
25
  textAlign: "center"
26
26
  }
27
27
  }
28
- };
28
+ };
29
+ //# sourceMappingURL=config.js.map
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.Indicator = void 0;
6
6
 
7
- const vutils_1 = require("@visactor/vutils"), base_1 = require("../core/base"), util_1 = require("../util"), config_1 = require("./config"), constant_1 = require("../constant");
7
+ const vutils_1 = require("@visactor/vutils"), base_1 = require("../core/base"), util_1 = require("../util"), config_1 = require("./config"), constant_1 = require("../constant"), register_1 = require("./register");
8
+
9
+ (0, register_1.loadIndicatorComponent)();
8
10
 
9
11
  class Indicator extends base_1.AbstractComponent {
10
12
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/indicator/indicator.ts"],"names":[],"mappings":"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","file":"indicator.js","sourcesContent":["/**\n * @description 指标卡组件\n */\nimport type { IGroup, INode, IText, ITextGraphicAttribute } from '@visactor/vrender-core';\nimport { merge, isValid, array, isValidNumber, get } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport { measureTextSize } from '../util';\nimport type { IndicatorAttributes, IndicatorItemSpec } from './type';\nimport { DEFAULT_INDICATOR_THEME } from './config';\nimport { DEFAULT_HTML_TEXT_SPEC } from '../constant';\n\nexport class Indicator extends AbstractComponent<Required<IndicatorAttributes>> {\n name = 'indicator';\n\n private _title?: IText;\n private _content?: IText | IText[];\n\n protected render() {\n const { visible, title, content, size, limitRatio = Infinity } = this.attribute as IndicatorAttributes;\n\n const limit = Math.min(size.width, size.height) * limitRatio;\n\n const group = this.createOrUpdateChild('indicator-container', { x: 0, y: 0, zIndex: 1 }, 'group') as IGroup;\n\n // 指标卡全部隐藏\n if (visible !== true) {\n group && group.hideAll();\n return;\n }\n\n if (isValid(title)) {\n if (title.visible !== false) {\n const titleStyle = merge({}, get(DEFAULT_INDICATOR_THEME, 'title.style'), title.style);\n if (titleStyle.type === 'rich') {\n this._title = group.createOrUpdateChild(\n 'indicator-title',\n {\n textConfig: titleStyle.text,\n ...titleStyle,\n visible: title.visible,\n x: 0,\n y: 0,\n width: titleStyle.width ?? 0,\n height: titleStyle.height ?? 0\n },\n 'richtext'\n ) as IText;\n } else if (titleStyle.type === 'html') {\n this._title = group.createOrUpdateChild(\n 'indicator-title',\n {\n textConfig: [],\n html: {\n dom: titleStyle.text as string,\n ...DEFAULT_HTML_TEXT_SPEC,\n ...titleStyle\n },\n ...titleStyle,\n visible: title.visible,\n x: 0,\n y: 0\n },\n 'richtext'\n ) as IText;\n } else {\n this._title = group.createOrUpdateChild(\n 'indicator-title',\n {\n ...titleStyle,\n /**\n * 加入以下逻辑:如果没有声明lineHeight,默认 lineHeight 等于 fontSize\n * 因为如果不声明 vrender 底层会默认给文本加上 2px 的高度,会影响布局计算\n * 注意:在autoFit改变fontsize时,lineHeight也要同步修改\n */\n lineHeight: isValid(titleStyle.lineHeight) ? titleStyle.lineHeight : titleStyle.fontSize,\n visible: title.visible,\n x: 0,\n y: 0\n },\n 'text'\n ) as IText;\n }\n\n // auto-fit\n if (title.autoFit && isValidNumber(limit)) {\n this._setAutoFit(limit, this._title, title);\n }\n\n //auto-limit\n if (title.autoLimit && isValidNumber(limitRatio)) {\n this._title.setAttribute('maxLineWidth', limit);\n }\n } else {\n /**\n * indicator部分隐藏\n * 例如title隐藏了,content还保留。直接设置visible:false 计算group.AABBounts是错的,影响上下居中。\n * 这里把隐藏的nodes删除后,group.AABBounts计算才正确。\n */\n const titleNode = group.find(node => node.name === 'indicator-title', false);\n titleNode && group.removeChild(titleNode as INode);\n this._title = undefined;\n }\n }\n\n const titleHeight = this._title ? this._title.AABBBounds.height() : 0;\n\n if (isValid(content)) {\n const titleSpace = this._title ? (title?.space ? title.space : 0) : 0;\n const contents: IndicatorItemSpec[] = array(content);\n const contentComponents: IText[] = [];\n let lastContentHeight = 0;\n contents.forEach((contentItem, i) => {\n if (contentItem.visible !== false) {\n const contentStyle = merge({}, get(DEFAULT_INDICATOR_THEME, 'content.style'), contentItem.style);\n let contentComponent;\n if (contentStyle.type === 'rich') {\n contentComponent = group.createOrUpdateChild(\n 'indicator-content-' + i,\n {\n textConfig: contentStyle.text,\n ...contentStyle,\n visible: title.visible,\n x: 0,\n y: titleHeight + titleSpace + lastContentHeight,\n width: contentStyle.width ?? 0,\n height: contentStyle.height ?? 0\n },\n 'richtext'\n ) as IText;\n } else if (contentStyle.type === 'html') {\n contentComponent = group.createOrUpdateChild(\n 'indicator-content-' + i,\n {\n textConfig: [],\n html: {\n dom: contentStyle.text as string,\n ...DEFAULT_HTML_TEXT_SPEC,\n ...contentStyle\n },\n ...contentStyle,\n visible: title.visible,\n x: 0,\n y: titleHeight + titleSpace + lastContentHeight\n },\n 'richtext'\n ) as IText;\n } else {\n contentComponent = group.createOrUpdateChild(\n 'indicator-content-' + i,\n {\n ...contentStyle,\n lineHeight: isValid(contentStyle.lineHeight) ? contentStyle.lineHeight : contentStyle.fontSize,\n visible: contentItem.visible,\n x: 0,\n y: titleHeight + titleSpace + lastContentHeight\n },\n 'text'\n ) as IText;\n }\n\n // auto-fit\n if (contentItem.autoFit && isValidNumber(limit)) {\n this._setAutoFit(limit, contentComponent, contentItem);\n }\n\n //auto-limit\n if (contentItem.autoLimit && isValidNumber(limitRatio)) {\n contentComponent.setAttribute('maxLineWidth', limit);\n }\n\n contentComponents.push(contentComponent);\n const contentSpace = contentItem?.space ? contentItem.space : 0;\n lastContentHeight += contentComponent.AABBBounds.height() + contentSpace;\n } else {\n /**\n * indicator部分隐藏\n */\n const contentItemNode = group.find(node => node.name === 'indicator-content-' + i, false);\n contentItemNode && group.removeChild(contentItemNode as INode);\n }\n });\n this._content = contentComponents;\n }\n\n const totalHeight = group?.AABBBounds.height() ?? 0;\n group.setAttribute('y', size.height / 2 - totalHeight / 2);\n group.setAttribute('x', size.width / 2);\n }\n\n private _setAutoFit(limit: number, indicatorItem: IText, indicatorItemSpec: IndicatorItemSpec) {\n const originWidth = measureTextSize(\n (indicatorItemSpec.style?.text ?? '') as string | number | number[] | string[],\n (indicatorItemSpec.style ?? {}) as Partial<ITextGraphicAttribute>\n ).width;\n if (originWidth > 0) {\n const ratio = (limit * (indicatorItemSpec.fitPercent ?? 0.5)) / originWidth;\n const fontSize = Math.floor((indicatorItemSpec.style?.fontSize ?? 20) * ratio);\n indicatorItem.setAttribute('fontSize', fontSize);\n indicatorItem.setAttribute(\n 'lineHeight',\n isValid(indicatorItemSpec.style.lineHeight) ? indicatorItemSpec.style.lineHeight : fontSize\n );\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/indicator/indicator.ts"],"names":[],"mappings":";;;AAIA,6CAA6E;AAC7E,uCAAiD;AACjD,kCAA0C;AAE1C,qCAAmD;AACnD,0CAAqD;AACrD,yCAAoD;AAEpD,IAAA,iCAAsB,GAAE,CAAC;AACzB,MAAa,SAAU,SAAQ,wBAAgD;IAA/E;;QACE,SAAI,GAAG,WAAW,CAAC;IAgMrB,CAAC;IA3LW,MAAM;;QACd,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAgC,CAAC;QAEvG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;QAE7D,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,OAAO,CAAW,CAAC;QAG5G,IAAI,OAAO,KAAK,IAAI,EAAE;YACpB,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;SACR;QAED,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE;YAClB,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;gBAC3B,MAAM,UAAU,GAAG,IAAA,cAAK,EAAC,EAAE,EAAE,IAAA,YAAG,EAAC,gCAAuB,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvF,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE;oBAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,mBAAmB,CACrC,iBAAiB,gCAEf,UAAU,EAAE,UAAU,CAAC,IAAI,IACxB,UAAU,KACb,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,KAAK,EAAE,MAAA,UAAU,CAAC,KAAK,mCAAI,CAAC,EAC5B,MAAM,EAAE,MAAA,UAAU,CAAC,MAAM,mCAAI,CAAC,KAEhC,UAAU,CACF,CAAC;iBACZ;qBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE;oBACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,mBAAmB,CACrC,iBAAiB,gCAEf,UAAU,EAAE,EAAE,EACd,IAAI,gCACF,GAAG,EAAE,UAAU,CAAC,IAAc,IAC3B,iCAAsB,GACtB,UAAU,KAEZ,UAAU,KACb,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,KAEN,UAAU,CACF,CAAC;iBACZ;qBAAM;oBACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,mBAAmB,CACrC,iBAAiB,kCAEZ,UAAU,KAMb,UAAU,EAAE,IAAA,gBAAO,EAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EACxF,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,KAEN,MAAM,CACE,CAAC;iBACZ;gBAGD,IAAI,KAAK,CAAC,OAAO,IAAI,IAAA,sBAAa,EAAC,KAAK,CAAC,EAAE;oBACzC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;iBAC7C;gBAGD,IAAI,KAAK,CAAC,SAAS,IAAI,IAAA,sBAAa,EAAC,UAAU,CAAC,EAAE;oBAChD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;iBACjD;aACF;iBAAM;gBAML,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,KAAK,CAAC,CAAC;gBAC7E,SAAS,IAAI,KAAK,CAAC,WAAW,CAAC,SAAkB,CAAC,CAAC;gBACnD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;aACzB;SACF;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtE,IAAI,IAAA,gBAAO,EAAC,OAAO,CAAC,EAAE;YACpB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,EAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,MAAM,QAAQ,GAAwB,IAAA,cAAK,EAAC,OAAO,CAAC,CAAC;YACrD,MAAM,iBAAiB,GAAY,EAAE,CAAC;YACtC,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;;gBAClC,IAAI,WAAW,CAAC,OAAO,KAAK,KAAK,EAAE;oBACjC,MAAM,YAAY,GAAG,IAAA,cAAK,EAAC,EAAE,EAAE,IAAA,YAAG,EAAC,gCAAuB,EAAE,eAAe,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;oBACjG,IAAI,gBAAgB,CAAC;oBACrB,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE;wBAChC,gBAAgB,GAAG,KAAK,CAAC,mBAAmB,CAC1C,oBAAoB,GAAG,CAAC,gCAEtB,UAAU,EAAE,YAAY,CAAC,IAAI,IAC1B,YAAY,KACf,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,iBAAiB,EAC/C,KAAK,EAAE,MAAA,YAAY,CAAC,KAAK,mCAAI,CAAC,EAC9B,MAAM,EAAE,MAAA,YAAY,CAAC,MAAM,mCAAI,CAAC,KAElC,UAAU,CACF,CAAC;qBACZ;yBAAM,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE;wBACvC,gBAAgB,GAAG,KAAK,CAAC,mBAAmB,CAC1C,oBAAoB,GAAG,CAAC,gCAEtB,UAAU,EAAE,EAAE,EACd,IAAI,gCACF,GAAG,EAAE,YAAY,CAAC,IAAc,IAC7B,iCAAsB,GACtB,YAAY,KAEd,YAAY,KACf,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,iBAAiB,KAEjD,UAAU,CACF,CAAC;qBACZ;yBAAM;wBACL,gBAAgB,GAAG,KAAK,CAAC,mBAAmB,CAC1C,oBAAoB,GAAG,CAAC,kCAEnB,YAAY,KACf,UAAU,EAAE,IAAA,gBAAO,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAC9F,OAAO,EAAE,WAAW,CAAC,OAAO,EAC5B,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,iBAAiB,KAEjD,MAAM,CACE,CAAC;qBACZ;oBAGD,IAAI,WAAW,CAAC,OAAO,IAAI,IAAA,sBAAa,EAAC,KAAK,CAAC,EAAE;wBAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;qBACxD;oBAGD,IAAI,WAAW,CAAC,SAAS,IAAI,IAAA,sBAAa,EAAC,UAAU,CAAC,EAAE;wBACtD,gBAAgB,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;qBACtD;oBAED,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBACzC,MAAM,YAAY,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChE,iBAAiB,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC;iBAC1E;qBAAM;oBAIL,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC1F,eAAe,IAAI,KAAK,CAAC,WAAW,CAAC,eAAwB,CAAC,CAAC;iBAChE;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC;SACnC;QAED,MAAM,WAAW,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,CAAC,MAAM,EAAE,mCAAI,CAAC,CAAC;QACpD,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;QAC3D,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;IAEO,WAAW,CAAC,KAAa,EAAE,aAAoB,EAAE,iBAAoC;;QAC3F,MAAM,WAAW,GAAG,IAAA,sBAAe,EACjC,CAAC,MAAA,MAAA,iBAAiB,CAAC,KAAK,0CAAE,IAAI,mCAAI,EAAE,CAA0C,EAC9E,CAAC,MAAA,iBAAiB,CAAC,KAAK,mCAAI,EAAE,CAAmC,CAClE,CAAC,KAAK,CAAC;QACR,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,MAAA,iBAAiB,CAAC,UAAU,mCAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;YAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAA,MAAA,iBAAiB,CAAC,KAAK,0CAAE,QAAQ,mCAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;YAC/E,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACjD,aAAa,CAAC,YAAY,CACxB,YAAY,EACZ,IAAA,gBAAO,EAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAC5F,CAAC;SACH;IACH,CAAC;CACF;AAjMD,8BAiMC","file":"indicator.js","sourcesContent":["/**\n * @description 指标卡组件\n */\nimport type { IGroup, INode, IText, ITextGraphicAttribute } from '@visactor/vrender/es/core';\nimport { merge, isValid, array, isValidNumber, get } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport { measureTextSize } from '../util';\nimport type { IndicatorAttributes, IndicatorItemSpec } from './type';\nimport { DEFAULT_INDICATOR_THEME } from './config';\nimport { DEFAULT_HTML_TEXT_SPEC } from '../constant';\nimport { loadIndicatorComponent } from './register';\n\nloadIndicatorComponent();\nexport class Indicator extends AbstractComponent<Required<IndicatorAttributes>> {\n name = 'indicator';\n\n private _title?: IText;\n private _content?: IText | IText[];\n\n protected render() {\n const { visible, title, content, size, limitRatio = Infinity } = this.attribute as IndicatorAttributes;\n\n const limit = Math.min(size.width, size.height) * limitRatio;\n\n const group = this.createOrUpdateChild('indicator-container', { x: 0, y: 0, zIndex: 1 }, 'group') as IGroup;\n\n // 指标卡全部隐藏\n if (visible !== true) {\n group && group.hideAll();\n return;\n }\n\n if (isValid(title)) {\n if (title.visible !== false) {\n const titleStyle = merge({}, get(DEFAULT_INDICATOR_THEME, 'title.style'), title.style);\n if (titleStyle.type === 'rich') {\n this._title = group.createOrUpdateChild(\n 'indicator-title',\n {\n textConfig: titleStyle.text,\n ...titleStyle,\n visible: title.visible,\n x: 0,\n y: 0,\n width: titleStyle.width ?? 0,\n height: titleStyle.height ?? 0\n },\n 'richtext'\n ) as IText;\n } else if (titleStyle.type === 'html') {\n this._title = group.createOrUpdateChild(\n 'indicator-title',\n {\n textConfig: [],\n html: {\n dom: titleStyle.text as string,\n ...DEFAULT_HTML_TEXT_SPEC,\n ...titleStyle\n },\n ...titleStyle,\n visible: title.visible,\n x: 0,\n y: 0\n },\n 'richtext'\n ) as IText;\n } else {\n this._title = group.createOrUpdateChild(\n 'indicator-title',\n {\n ...titleStyle,\n /**\n * 加入以下逻辑:如果没有声明lineHeight,默认 lineHeight 等于 fontSize\n * 因为如果不声明 vrender 底层会默认给文本加上 2px 的高度,会影响布局计算\n * 注意:在autoFit改变fontsize时,lineHeight也要同步修改\n */\n lineHeight: isValid(titleStyle.lineHeight) ? titleStyle.lineHeight : titleStyle.fontSize,\n visible: title.visible,\n x: 0,\n y: 0\n },\n 'text'\n ) as IText;\n }\n\n // auto-fit\n if (title.autoFit && isValidNumber(limit)) {\n this._setAutoFit(limit, this._title, title);\n }\n\n //auto-limit\n if (title.autoLimit && isValidNumber(limitRatio)) {\n this._title.setAttribute('maxLineWidth', limit);\n }\n } else {\n /**\n * indicator部分隐藏\n * 例如title隐藏了,content还保留。直接设置visible:false 计算group.AABBounts是错的,影响上下居中。\n * 这里把隐藏的nodes删除后,group.AABBounts计算才正确。\n */\n const titleNode = group.find(node => node.name === 'indicator-title', false);\n titleNode && group.removeChild(titleNode as INode);\n this._title = undefined;\n }\n }\n\n const titleHeight = this._title ? this._title.AABBBounds.height() : 0;\n\n if (isValid(content)) {\n const titleSpace = this._title ? (title?.space ? title.space : 0) : 0;\n const contents: IndicatorItemSpec[] = array(content);\n const contentComponents: IText[] = [];\n let lastContentHeight = 0;\n contents.forEach((contentItem, i) => {\n if (contentItem.visible !== false) {\n const contentStyle = merge({}, get(DEFAULT_INDICATOR_THEME, 'content.style'), contentItem.style);\n let contentComponent;\n if (contentStyle.type === 'rich') {\n contentComponent = group.createOrUpdateChild(\n 'indicator-content-' + i,\n {\n textConfig: contentStyle.text,\n ...contentStyle,\n visible: title.visible,\n x: 0,\n y: titleHeight + titleSpace + lastContentHeight,\n width: contentStyle.width ?? 0,\n height: contentStyle.height ?? 0\n },\n 'richtext'\n ) as IText;\n } else if (contentStyle.type === 'html') {\n contentComponent = group.createOrUpdateChild(\n 'indicator-content-' + i,\n {\n textConfig: [],\n html: {\n dom: contentStyle.text as string,\n ...DEFAULT_HTML_TEXT_SPEC,\n ...contentStyle\n },\n ...contentStyle,\n visible: title.visible,\n x: 0,\n y: titleHeight + titleSpace + lastContentHeight\n },\n 'richtext'\n ) as IText;\n } else {\n contentComponent = group.createOrUpdateChild(\n 'indicator-content-' + i,\n {\n ...contentStyle,\n lineHeight: isValid(contentStyle.lineHeight) ? contentStyle.lineHeight : contentStyle.fontSize,\n visible: contentItem.visible,\n x: 0,\n y: titleHeight + titleSpace + lastContentHeight\n },\n 'text'\n ) as IText;\n }\n\n // auto-fit\n if (contentItem.autoFit && isValidNumber(limit)) {\n this._setAutoFit(limit, contentComponent, contentItem);\n }\n\n //auto-limit\n if (contentItem.autoLimit && isValidNumber(limitRatio)) {\n contentComponent.setAttribute('maxLineWidth', limit);\n }\n\n contentComponents.push(contentComponent);\n const contentSpace = contentItem?.space ? contentItem.space : 0;\n lastContentHeight += contentComponent.AABBBounds.height() + contentSpace;\n } else {\n /**\n * indicator部分隐藏\n */\n const contentItemNode = group.find(node => node.name === 'indicator-content-' + i, false);\n contentItemNode && group.removeChild(contentItemNode as INode);\n }\n });\n this._content = contentComponents;\n }\n\n const totalHeight = group?.AABBBounds.height() ?? 0;\n group.setAttribute('y', size.height / 2 - totalHeight / 2);\n group.setAttribute('x', size.width / 2);\n }\n\n private _setAutoFit(limit: number, indicatorItem: IText, indicatorItemSpec: IndicatorItemSpec) {\n const originWidth = measureTextSize(\n (indicatorItemSpec.style?.text ?? '') as string | number | number[] | string[],\n (indicatorItemSpec.style ?? {}) as Partial<ITextGraphicAttribute>\n ).width;\n if (originWidth > 0) {\n const ratio = (limit * (indicatorItemSpec.fitPercent ?? 0.5)) / originWidth;\n const fontSize = Math.floor((indicatorItemSpec.style?.fontSize ?? 20) * ratio);\n indicatorItem.setAttribute('fontSize', fontSize);\n indicatorItem.setAttribute(\n 'lineHeight',\n isValid(indicatorItemSpec.style.lineHeight) ? indicatorItemSpec.style.lineHeight : fontSize\n );\n }\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function loadIndicatorComponent(): void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.loadIndicatorComponent = void 0;
6
+
7
+ const register_1 = require("@visactor/vrender/es/register");
8
+
9
+ function loadIndicatorComponent() {
10
+ (0, register_1.registerGroup)(), (0, register_1.registerText)(), (0, register_1.registerRichtext)();
11
+ }
12
+
13
+ exports.loadIndicatorComponent = loadIndicatorComponent;
14
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/indicator/register.ts"],"names":[],"mappings":";;;AAAA,4DAA8F;AAE9F,SAAgB,sBAAsB;IACpC,IAAA,wBAAa,GAAE,CAAC;IAChB,IAAA,uBAAY,GAAE,CAAC;IACf,IAAA,2BAAgB,GAAE,CAAC;AACrB,CAAC;AAJD,wDAIC","file":"register.js","sourcesContent":["import { registerGroup, registerRichtext, registerText } from '@visactor/vrender/es/register';\n\nexport function loadIndicatorComponent() {\n registerGroup();\n registerText();\n registerRichtext();\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { IGroupGraphicAttribute, ITextGraphicAttribute } from '@visactor/vrender-core';
1
+ import type { IGroupGraphicAttribute, ITextGraphicAttribute } from '@visactor/vrender/es/core';
2
2
  import type { TextContent } from '../core/type';
3
3
  export interface IndicatorAttributes extends IGroupGraphicAttribute {
4
4
  visible?: boolean;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/indicator/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type { IGroupGraphicAttribute, ITextGraphicAttribute, IRichTextCharacter } from '@visactor/vrender-core';\nimport type { TextContent } from '../core/type';\n\nexport interface IndicatorAttributes extends IGroupGraphicAttribute {\n /**\n * 是否显示指标卡组件\n * @default true\n */\n visible?: boolean;\n /**\n * 内容尺寸\n */\n size: { width: number; height: number };\n /**\n * 指标卡 x 方向偏移\n * @default 0\n */\n dx?: number;\n /**\n * 指标卡 y 方向偏移\n * @default 0\n */\n dy?: number;\n /**\n * 指标卡宽度占内容区域的最大比值(从0到1)\n */\n limitRatio?: number;\n /**\n * 指标卡标题文字配置\n */\n title?: IndicatorItemSpec;\n /**\n * 指标卡内容文字配置\n */\n content?: IndicatorItemSpec[] | IndicatorItemSpec;\n}\n\nexport interface IndicatorItemSpec {\n /**\n * 是否显示当前项\n * @default true\n */\n visible?: boolean;\n /**\n * title.space: title 和 content 之间的间距\n * contentItem.space: content 之间的间距\n */\n space?: number;\n /**\n * 是否自适应文字空间进行缩略\n * 按照原字体大小,根据空间大小缩略文字\n * @default false\n */\n autoLimit?: boolean;\n /**\n * 是否自适应文字空间缩放文字大小\n * 不缩略文字,改变字体大小以适应空间\n * @default false\n */\n autoFit?: boolean;\n /**\n * 自适应文字宽度与可用空间的比例\n * @default 0.5\n */\n fitPercent?: number;\n /**\n * 文字样式\n */\n style?: Omit<ITextGraphicAttribute, 'text'> & TextContent;\n}\n"]}
1
+ {"version":3,"sources":["../src/indicator/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type { IGroupGraphicAttribute, ITextGraphicAttribute, IRichTextCharacter } from '@visactor/vrender/es/core';\nimport type { TextContent } from '../core/type';\n\nexport interface IndicatorAttributes extends IGroupGraphicAttribute {\n /**\n * 是否显示指标卡组件\n * @default true\n */\n visible?: boolean;\n /**\n * 内容尺寸\n */\n size: { width: number; height: number };\n /**\n * 指标卡 x 方向偏移\n * @default 0\n */\n dx?: number;\n /**\n * 指标卡 y 方向偏移\n * @default 0\n */\n dy?: number;\n /**\n * 指标卡宽度占内容区域的最大比值(从0到1)\n */\n limitRatio?: number;\n /**\n * 指标卡标题文字配置\n */\n title?: IndicatorItemSpec;\n /**\n * 指标卡内容文字配置\n */\n content?: IndicatorItemSpec[] | IndicatorItemSpec;\n}\n\nexport interface IndicatorItemSpec {\n /**\n * 是否显示当前项\n * @default true\n */\n visible?: boolean;\n /**\n * title.space: title 和 content 之间的间距\n * contentItem.space: content 之间的间距\n */\n space?: number;\n /**\n * 是否自适应文字空间进行缩略\n * 按照原字体大小,根据空间大小缩略文字\n * @default false\n */\n autoLimit?: boolean;\n /**\n * 是否自适应文字空间缩放文字大小\n * 不缩略文字,改变字体大小以适应空间\n * @default false\n */\n autoFit?: boolean;\n /**\n * 自适应文字宽度与可用空间的比例\n * @default 0.5\n */\n fitPercent?: number;\n /**\n * 文字样式\n */\n style?: Omit<ITextGraphicAttribute, 'text'> & TextContent;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { IRectGraphicAttribute } from '@visactor/vrender-core';
1
+ import type { IRectGraphicAttribute } from '@visactor/vrender/es/core';
2
2
  export type Direction = 'horizontal' | 'vertical';
3
3
  export type OrientType = 'top' | 'right' | 'bottom' | 'left';
4
4
  export type BackgroundAttributes = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IRectGraphicAttribute } from '@visactor/vrender-core';\n\nexport type Direction = 'horizontal' | 'vertical';\n\nexport type OrientType = 'top' | 'right' | 'bottom' | 'left';\n\nexport type BackgroundAttributes = {\n /**\n * 是否绘制背景层\n */\n visible: boolean;\n} & Partial<IRectGraphicAttribute>;\n\nexport type IDelayType = 'debounce' | 'throttle';\n\nexport interface ComponentOptions {\n /** skip default attributes of component */\n skipDefault?: boolean;\n /** the mode of component, only axis support 3d mode now */\n mode?: '2d' | '3d';\n}\n"]}
1
+ {"version":3,"sources":["../src/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IRectGraphicAttribute } from '@visactor/vrender/es/core';\n\nexport type Direction = 'horizontal' | 'vertical';\n\nexport type OrientType = 'top' | 'right' | 'bottom' | 'left';\n\nexport type BackgroundAttributes = {\n /**\n * 是否绘制背景层\n */\n visible: boolean;\n} & Partial<IRectGraphicAttribute>;\n\nexport type IDelayType = 'debounce' | 'throttle';\n\nexport interface ComponentOptions {\n /** skip default attributes of component */\n skipDefault?: boolean;\n /** the mode of component, only axis support 3d mode now */\n mode?: '2d' | '3d';\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { IDefaultGraphicParamsType } from '@visactor/vrender-kits';
1
+ import type { IDefaultGraphicParamsType } from '@visactor/vrender/es/kits';
2
2
  import type { TagAttributes } from '../tag';
3
3
  import { Tag } from '../tag';
4
4
  export declare function VTag(params: IDefaultGraphicParamsType<TagAttributes>): Tag;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/jsx/component-type.ts"],"names":[],"mappings":";;;AAEA,gCAA6B;AAE7B,SAAgB,IAAI,CAAC,MAAgD;IACnE,OAAO,IAAI,SAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjD,CAAC;AAFD,oBAEC","file":"component-type.js","sourcesContent":["import type { IDefaultGraphicParamsType } from '@visactor/vrender-kits';\nimport type { TagAttributes } from '../tag';\nimport { Tag } from '../tag';\n\nexport function VTag(params: IDefaultGraphicParamsType<TagAttributes>) {\n return new Tag(params ? params.attribute : {});\n}\n"]}
1
+ {"version":3,"sources":["../src/jsx/component-type.ts"],"names":[],"mappings":";;;AAEA,gCAA6B;AAE7B,SAAgB,IAAI,CAAC,MAAgD;IACnE,OAAO,IAAI,SAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjD,CAAC;AAFD,oBAEC","file":"component-type.js","sourcesContent":["import type { IDefaultGraphicParamsType } from '@visactor/vrender/es/kits';\nimport type { TagAttributes } from '../tag';\nimport { Tag } from '../tag';\n\nexport function VTag(params: IDefaultGraphicParamsType<TagAttributes>) {\n return new Tag(params ? params.attribute : {});\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { IText, ITextGraphicAttribute, EasingType } from '@visactor/vrender-core';
1
+ import type { IText, ITextGraphicAttribute, EasingType } from '@visactor/vrender/es/core';
2
2
  import type { BaseLabelAttrs, ILabelAnimation, ILabelUpdateChannelAnimation } from '../type';
3
3
  export declare function getAnimationAttributes(textAttribute: ITextGraphicAttribute, type: 'fadeIn' | 'fadeOut'): {
4
4
  from: any;