@visactor/vchart 2.1.0-alpha.9 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.es.js +49019 -51701
  3. package/build/index.js +49021 -51703
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/callback-disappear.d.ts +1 -1
  7. package/cjs/animation/callback-disappear.js +2 -2
  8. package/cjs/animation/callback-disappear.js.map +1 -1
  9. package/cjs/animation/config.js +34 -34
  10. package/cjs/animation/config.js.map +1 -1
  11. package/cjs/animation/grammar-dector.js +1 -2
  12. package/cjs/animation/index.js +2 -1
  13. package/cjs/chart/base/base-chart.d.ts +2 -0
  14. package/cjs/chart/base/base-chart.js +14 -5
  15. package/cjs/chart/base/base-chart.js.map +1 -1
  16. package/cjs/compile/compiler.js +8 -3
  17. package/cjs/compile/compiler.js.map +1 -1
  18. package/cjs/compile/interface/compiler.js.map +1 -1
  19. package/cjs/compile/morph.js +4 -4
  20. package/cjs/compile/morph.js.map +1 -1
  21. package/cjs/compile/stage-app.d.ts +10 -2
  22. package/cjs/compile/stage-app.js +69 -26
  23. package/cjs/compile/stage-app.js.map +1 -1
  24. package/cjs/compile/util.js +1 -2
  25. package/cjs/component/axis/base-axis.d.ts +1 -1
  26. package/cjs/component/axis/base-axis.js +3 -3
  27. package/cjs/component/axis/base-axis.js.map +1 -1
  28. package/cjs/component/axis/cartesian/band-axis.js +4 -4
  29. package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
  30. package/cjs/component/axis/cartesian/linear-axis.d.ts +3 -2
  31. package/cjs/component/axis/cartesian/linear-axis.js +8 -4
  32. package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
  33. package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +2 -0
  34. package/cjs/component/axis/mixin/linear-axis-mixin.js +7 -1
  35. package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  36. package/cjs/component/brush/brush.d.ts +1 -0
  37. package/cjs/component/brush/brush.js +15 -10
  38. package/cjs/component/brush/brush.js.map +1 -1
  39. package/cjs/component/crosshair/base.d.ts +1 -1
  40. package/cjs/component/crosshair/base.js +3 -3
  41. package/cjs/component/crosshair/base.js.map +1 -1
  42. package/cjs/component/crosshair/cartesian.js +3 -3
  43. package/cjs/component/crosshair/cartesian.js.map +1 -1
  44. package/cjs/component/index.js +2 -1
  45. package/cjs/component/label/label.js +2 -2
  46. package/cjs/component/label/label.js.map +1 -1
  47. package/cjs/component/legend/base-legend.js +1 -1
  48. package/cjs/component/legend/base-legend.js.map +1 -1
  49. package/cjs/component/legend/discrete/interface.d.ts +11 -1
  50. package/cjs/component/legend/discrete/interface.js.map +1 -1
  51. package/cjs/component/legend/discrete/legend.d.ts +1 -1
  52. package/cjs/component/legend/discrete/legend.js +9 -8
  53. package/cjs/component/legend/discrete/legend.js.map +1 -1
  54. package/cjs/component/legend/discrete/util.d.ts +2 -1
  55. package/cjs/component/legend/discrete/util.js +39 -5
  56. package/cjs/component/legend/discrete/util.js.map +1 -1
  57. package/cjs/component/marker/base-marker.js +11 -7
  58. package/cjs/component/marker/base-marker.js.map +1 -1
  59. package/cjs/component/marker/mark-line/cartesian-mark-line.js +18 -7
  60. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  61. package/cjs/component/marker/mark-line/interface/spec.d.ts +9 -2
  62. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  63. package/cjs/component/marker/mark-point/base-mark-point.js +30 -17
  64. package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
  65. package/cjs/component/marker/utils.js +17 -7
  66. package/cjs/component/marker/utils.js.map +1 -1
  67. package/cjs/component/player/player.js +10 -5
  68. package/cjs/component/player/player.js.map +1 -1
  69. package/cjs/constant/box-plot.js +1 -2
  70. package/cjs/constant/correlation.js +2 -1
  71. package/cjs/constant/layout.js +1 -1
  72. package/cjs/core/index.d.ts +3 -2
  73. package/cjs/core/index.js +9 -5
  74. package/cjs/core/index.js.map +1 -1
  75. package/cjs/core/vchart.js +22 -9
  76. package/cjs/core/vchart.js.map +1 -1
  77. package/cjs/env/env.js +10 -10
  78. package/cjs/env/env.js.map +1 -1
  79. package/cjs/mark/arc.js +4 -4
  80. package/cjs/mark/arc.js.map +1 -1
  81. package/cjs/mark/area.js +4 -5
  82. package/cjs/mark/area.js.map +1 -1
  83. package/cjs/mark/base/base-line.js +2 -2
  84. package/cjs/mark/base/base-line.js.map +1 -1
  85. package/cjs/mark/base/base-mark.d.ts +0 -1
  86. package/cjs/mark/base/base-mark.js +16 -24
  87. package/cjs/mark/base/base-mark.js.map +1 -1
  88. package/cjs/mark/glyph.d.ts +3 -0
  89. package/cjs/mark/glyph.js +29 -5
  90. package/cjs/mark/glyph.js.map +1 -1
  91. package/cjs/mark/group.js +5 -5
  92. package/cjs/mark/group.js.map +1 -1
  93. package/cjs/mark/interface/common.js.map +1 -1
  94. package/cjs/mark/line.js +4 -5
  95. package/cjs/mark/line.js.map +1 -1
  96. package/cjs/mark/rect.js +3 -3
  97. package/cjs/mark/rect.js.map +1 -1
  98. package/cjs/mark/symbol.js +3 -3
  99. package/cjs/mark/symbol.js.map +1 -1
  100. package/cjs/mark/text.js +4 -4
  101. package/cjs/mark/text.js.map +1 -1
  102. package/cjs/plugin/components/axis-sync/tick-align-transform.js +2 -2
  103. package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  104. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
  105. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js +2 -2
  106. package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  107. package/cjs/plugin/other.js +5 -5
  108. package/cjs/plugin/other.js.map +1 -1
  109. package/cjs/series/base/base-series.d.ts +3 -0
  110. package/cjs/series/base/base-series.js +57 -27
  111. package/cjs/series/base/base-series.js.map +1 -1
  112. package/cjs/series/dot/dot.d.ts +1 -0
  113. package/cjs/series/interface/common.d.ts +2 -1
  114. package/cjs/series/interface/common.js.map +1 -1
  115. package/cjs/series/line/line.js +3 -3
  116. package/cjs/series/line/line.js.map +1 -1
  117. package/cjs/series/waterfall/waterfall.d.ts +2 -0
  118. package/cjs/series/waterfall/waterfall.js +12 -4
  119. package/cjs/series/waterfall/waterfall.js.map +1 -1
  120. package/cjs/series/word-cloud/animation.js +3 -0
  121. package/cjs/series/word-cloud/animation.js.map +1 -1
  122. package/cjs/theme/builtin/common/series/word-cloud.js +2 -6
  123. package/cjs/theme/builtin/common/series/word-cloud.js.map +1 -1
  124. package/cjs/util/mark.js +7 -3
  125. package/cjs/util/mark.js.map +1 -1
  126. package/cjs/util/math.d.ts +1 -1
  127. package/cjs/util/math.js +2 -2
  128. package/cjs/util/math.js.map +1 -1
  129. package/cjs/util/style.js +24 -2
  130. package/cjs/util/style.js.map +1 -1
  131. package/cjs/util/text.js +2 -2
  132. package/cjs/util/text.js.map +1 -1
  133. package/cjs/vchart-line.d.ts +4 -0
  134. package/cjs/vchart-line.js +35 -0
  135. package/cjs/vchart-line.js.map +1 -0
  136. package/cjs/vchart-simple.d.ts +5 -1
  137. package/cjs/vchart-simple.js +11 -10
  138. package/cjs/vchart-simple.js.map +1 -1
  139. package/esm/animation/callback-disappear.d.ts +1 -1
  140. package/esm/animation/callback-disappear.js +1 -1
  141. package/esm/animation/callback-disappear.js.map +1 -1
  142. package/esm/animation/config.js +33 -1
  143. package/esm/animation/config.js.map +1 -1
  144. package/esm/animation/grammar-dector.js +1 -2
  145. package/esm/animation/index.js +2 -1
  146. package/esm/chart/base/base-chart.d.ts +2 -0
  147. package/esm/chart/base/base-chart.js +14 -5
  148. package/esm/chart/base/base-chart.js.map +1 -1
  149. package/esm/compile/compiler.js +8 -4
  150. package/esm/compile/compiler.js.map +1 -1
  151. package/esm/compile/interface/compiler.js.map +1 -1
  152. package/esm/compile/morph.js +1 -1
  153. package/esm/compile/morph.js.map +1 -1
  154. package/esm/compile/stage-app.d.ts +10 -2
  155. package/esm/compile/stage-app.js +65 -23
  156. package/esm/compile/stage-app.js.map +1 -1
  157. package/esm/compile/util.js +1 -2
  158. package/esm/component/axis/base-axis.d.ts +1 -1
  159. package/esm/component/axis/base-axis.js +2 -2
  160. package/esm/component/axis/base-axis.js.map +1 -1
  161. package/esm/component/axis/cartesian/band-axis.js +4 -2
  162. package/esm/component/axis/cartesian/band-axis.js.map +1 -1
  163. package/esm/component/axis/cartesian/linear-axis.d.ts +3 -2
  164. package/esm/component/axis/cartesian/linear-axis.js +9 -1
  165. package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
  166. package/esm/component/axis/mixin/linear-axis-mixin.d.ts +2 -0
  167. package/esm/component/axis/mixin/linear-axis-mixin.js +7 -1
  168. package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
  169. package/esm/component/brush/brush.d.ts +1 -0
  170. package/esm/component/brush/brush.js +16 -10
  171. package/esm/component/brush/brush.js.map +1 -1
  172. package/esm/component/crosshair/base.d.ts +1 -1
  173. package/esm/component/crosshair/base.js +1 -1
  174. package/esm/component/crosshair/base.js.map +1 -1
  175. package/esm/component/crosshair/cartesian.js +3 -1
  176. package/esm/component/crosshair/cartesian.js.map +1 -1
  177. package/esm/component/index.js +2 -1
  178. package/esm/component/label/label.js +1 -1
  179. package/esm/component/label/label.js.map +1 -1
  180. package/esm/component/legend/base-legend.js +1 -1
  181. package/esm/component/legend/base-legend.js.map +1 -1
  182. package/esm/component/legend/discrete/interface.d.ts +11 -1
  183. package/esm/component/legend/discrete/interface.js.map +1 -1
  184. package/esm/component/legend/discrete/legend.d.ts +1 -1
  185. package/esm/component/legend/discrete/legend.js +4 -3
  186. package/esm/component/legend/discrete/legend.js.map +1 -1
  187. package/esm/component/legend/discrete/util.d.ts +2 -1
  188. package/esm/component/legend/discrete/util.js +37 -4
  189. package/esm/component/legend/discrete/util.js.map +1 -1
  190. package/esm/component/marker/base-marker.js +11 -7
  191. package/esm/component/marker/base-marker.js.map +1 -1
  192. package/esm/component/marker/mark-line/cartesian-mark-line.js +18 -8
  193. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  194. package/esm/component/marker/mark-line/interface/spec.d.ts +9 -2
  195. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  196. package/esm/component/marker/mark-point/base-mark-point.js +29 -16
  197. package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
  198. package/esm/component/marker/utils.js +16 -6
  199. package/esm/component/marker/utils.js.map +1 -1
  200. package/esm/component/player/player.js +10 -5
  201. package/esm/component/player/player.js.map +1 -1
  202. package/esm/constant/box-plot.js +1 -2
  203. package/esm/constant/correlation.js +2 -1
  204. package/esm/constant/layout.js +1 -1
  205. package/esm/core/index.d.ts +3 -2
  206. package/esm/core/index.js +4 -2
  207. package/esm/core/index.js.map +1 -1
  208. package/esm/core/vchart.js +21 -8
  209. package/esm/core/vchart.js.map +1 -1
  210. package/esm/env/env.js +1 -1
  211. package/esm/env/env.js.map +1 -1
  212. package/esm/mark/arc.js +4 -2
  213. package/esm/mark/arc.js.map +1 -1
  214. package/esm/mark/area.js +6 -2
  215. package/esm/mark/area.js.map +1 -1
  216. package/esm/mark/base/base-line.js +2 -2
  217. package/esm/mark/base/base-line.js.map +1 -1
  218. package/esm/mark/base/base-mark.d.ts +0 -1
  219. package/esm/mark/base/base-mark.js +16 -24
  220. package/esm/mark/base/base-mark.js.map +1 -1
  221. package/esm/mark/glyph.d.ts +3 -0
  222. package/esm/mark/glyph.js +30 -4
  223. package/esm/mark/glyph.js.map +1 -1
  224. package/esm/mark/group.js +5 -4
  225. package/esm/mark/group.js.map +1 -1
  226. package/esm/mark/interface/common.js.map +1 -1
  227. package/esm/mark/line.js +6 -2
  228. package/esm/mark/line.js.map +1 -1
  229. package/esm/mark/rect.js +4 -2
  230. package/esm/mark/rect.js.map +1 -1
  231. package/esm/mark/symbol.js +4 -2
  232. package/esm/mark/symbol.js.map +1 -1
  233. package/esm/mark/text.js +5 -1
  234. package/esm/mark/text.js.map +1 -1
  235. package/esm/plugin/components/axis-sync/tick-align-transform.js +1 -1
  236. package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
  237. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
  238. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js +1 -1
  239. package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
  240. package/esm/plugin/other.js +2 -2
  241. package/esm/plugin/other.js.map +1 -1
  242. package/esm/series/base/base-series.d.ts +3 -0
  243. package/esm/series/base/base-series.js +54 -24
  244. package/esm/series/base/base-series.js.map +1 -1
  245. package/esm/series/dot/dot.d.ts +1 -0
  246. package/esm/series/interface/common.d.ts +2 -1
  247. package/esm/series/interface/common.js.map +1 -1
  248. package/esm/series/line/line.js +3 -1
  249. package/esm/series/line/line.js.map +1 -1
  250. package/esm/series/waterfall/waterfall.d.ts +2 -0
  251. package/esm/series/waterfall/waterfall.js +12 -4
  252. package/esm/series/waterfall/waterfall.js.map +1 -1
  253. package/esm/series/word-cloud/animation.js +3 -0
  254. package/esm/series/word-cloud/animation.js.map +1 -1
  255. package/esm/theme/builtin/common/series/word-cloud.js +2 -6
  256. package/esm/theme/builtin/common/series/word-cloud.js.map +1 -1
  257. package/esm/util/mark.js +8 -2
  258. package/esm/util/mark.js.map +1 -1
  259. package/esm/util/math.d.ts +1 -1
  260. package/esm/util/math.js +1 -1
  261. package/esm/util/math.js.map +1 -1
  262. package/esm/util/style.js +23 -2
  263. package/esm/util/style.js.map +1 -1
  264. package/esm/util/text.js +1 -1
  265. package/esm/util/text.js.map +1 -1
  266. package/esm/vchart-line.d.ts +4 -0
  267. package/esm/vchart-line.js +28 -0
  268. package/esm/vchart-line.js.map +1 -0
  269. package/esm/vchart-simple.d.ts +5 -1
  270. package/esm/vchart-simple.js +9 -1
  271. package/esm/vchart-simple.js.map +1 -1
  272. package/package.json +10 -9
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/mark-point/base-mark-point.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,oCAQkB;AAGlB,qEAA+E;AAC/E,6CAAkD;AAClD,+CAAyD;AACzD,gDAA4C;AAC5C,qDAAwD;AAIxD,MAAsB,aAAc,SAAQ,wBAA0B;IAAtE;;QAEE,YAAO,GAAG,WAAW,CAAC;QAEtB,iBAAY,GAAW,qBAAY,CAAC,SAAS,CAAC;IA6PhD,CAAC;IAxPC,MAAM,CAAC,wBAAwB,CAAC,UAAe;QAC7C,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,IAAA,+BAAuB,EAAC,UAAU,CAAC,CAAC;QAC7E,IAAI,UAAU,CAAC,cAAc,KAAK,OAAO,IAAI,cAAc,EAAE;YAC3D,OAAO,OAAO,CAAC;SAChB;aAAM,IAAI,UAAU,CAAC,cAAc,KAAK,KAAK,IAAI,YAAY,EAAE;YAC9D,OAAO,KAAK,CAAC;SACd;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAES,sBAAsB;;QAC9B,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1E,MAAM,MAoBF,WAAkB,EApBhB,EACJ,IAAI,GAAG,MAAM,EAGb,IAAI,EAAE,KAAK,EACX,MAAM,EACN,KAAK,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,aAAa,EACb,eAAe,EAGf,KAAK,GAAG,EAAE,EACV,KAAK,GAAG,EAAE,QAGU,EADjB,eAAe,eAnBd,6JAoBL,CAAqB,CAAC;QAEvB,IAAI,gBAAgB,GAAG,IAAI,CAAC;QAC5B,IAAI,gBAAgB,GAAG,IAAI,CAAC;QAC5B,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,gBAAgB,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,mCAAI,KAAK,CAAC;YACzC,YAAY,GAAG;gBACb,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,CAAC;aACN,CAAC;YACF,gBAAgB,GAAG,IAAA,gCAAwB,kCAEpC,KAAK,KACR,KAAK,EAAE,IAAA,cAAK,EACV,YAAY,EACZ,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,mCAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,mCAAI,SAAS,mCAAK,KAAyC,CAC5F,KAEH,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B,CAAC;SACH;aAAM,IAAK,IAAY,KAAK,UAAU,EAAE;YACvC,gBAAgB,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,mCAAI,KAAK,CAAC;YAC5C,YAAY,GAAG;gBACb,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;aACZ,CAAC;YACF,gBAAgB,GAAG,IAAA,sBAAc,EAC/B,IAAA,cAAK,EAAC,YAAY,EAAE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,mCAAI,aAAa,mCAAI,KAAK,CAAC,EAC9D,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B,CAAC;SACH;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;YAC5B,gBAAgB,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,KAAK,CAAC;YAC1C,YAAY,GAAG;gBACb,UAAU,EAAE,MAAM;gBAClB,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,GAAG;gBAChB,IAAI,EAAE,EAAE;aACT,CAAC;YACF,gBAAgB,GAAG,IAAA,0BAAkB,EACnC,IAAA,sBAAc,EACZ,IAAA,cAAK,EAAC,YAAY,EAAE,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,WAAW,mCAAI,KAAK,CAAC,EAC1D,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B,CACF,CAAC;SACH;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE;YAC3B,gBAAgB,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,mCAAI,KAAK,CAAC;YACzC,YAAY,GAAG;gBACb,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;aACX,CAAC;YACF,gBAAgB,GAAG,IAAA,sBAAc,EAC/B,IAAA,cAAK,EAAC,YAAY,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,mCAAI,UAAU,mCAAI,KAAK,CAAC,EACxD,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B,CAAC;SACH;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;YAC5B,gBAAgB,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,mCAAI,KAAK,CAAC;YAC9C,gBAAgB,GAAG,IAAA,sBAAc,EAC/B,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,mCAAI,eAAe,mCAAI,KAAK,EAC7C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B,CAAC;SACH;QACD,MAAM,cAAc,GAAmB;YACrC,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,IAAI;YAC3C,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,IAAI;YACrC,MAAM,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,IAAI;YACtC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YACxB,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,KAAK;YACrC,WAAW,gCACT,IAAI,EACJ,OAAO,EAAE,IAAA,uBAAe,EAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,EAC/E,OAAO,EAAE,IAAA,uBAAe,EAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,IAC5E,eAAe,KAClB,KAAK,EAAE,IAAA,sBAAc,EAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,GACtF;YACD,YAAY,EAAE;gBACZ,MAAM,EAAE,MAAA,YAAY,CAAC,MAAM,mCAAI,CAAC;gBAChC,OAAO,EAAE,MAAA,YAAY,CAAC,OAAO,mCAAI,KAAK;gBACtC,IAAI,EAAE,MAAA,YAAY,CAAC,IAAI,mCAAI,EAAE;gBAC7B,KAAK,EAAE,IAAA,sBAAc,EAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;aACxF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,IAAA,sBAAc,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,0CAAE,KAAK,mCAAI,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;gBACzG,eAAe,EAAE,IAAA,sBAAc,EAC7B,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,0CAAE,KAAK,mCAAI,EAAE,EAC5C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B;gBACD,aAAa,EAAE,IAAA,sBAAc,EAC3B,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,0CAAE,KAAK,mCAAI,EAAE,EAC1C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B;gBACD,WAAW,EAAE,IAAA,sBAAc,EAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;gBAC3F,cAAc,EAAE,IAAA,sBAAc,EAC5B,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,0CAAE,eAAe,0CAAE,KAAK,EACnD,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B;gBACD,UAAU,EAAE,IAAA,sBAAc,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,KAAK,mCAAI,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;aAC/G;YACD,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,KAAK;YACxC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;YACzC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACvC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;SAC5C,CAAC;QAEF,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,KAAsB,QAAQ,EAAzB,YAAY,UAAK,QAAQ,EAAlD,mBAAuC,CAAW,CAAC;QACzD,IAAI,OAAO,KAAK,KAAK,EAAE;YACrB,cAAc,CAAC,QAAQ,GAAG,gCACrB,YAAY,KACf,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,IAAA,0BAAkB,EAAC,IAAI,CAAC,KAAK,CAAC,GACnC,CAAC;SACV;aAAM;YACL,cAAc,CAAC,QAAQ,GAAG;gBACxB,OAAO,EAAE,KAAK;aACf,CAAC;SACH;QAED,MAAM,SAAS,GAAG,IAAI,8BAAkB,CAAC,cAAc,CAAC,CAAC;QACzD,OAAO,SAA8B,CAAC;IACxC,CAAC;IAES,aAAa;;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAE5C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,UAAU,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI;YACrB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;gBACnD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;gBAC/B,CAAC,CAAC,IAAI,CAAC,UAAU;YACnB,CAAC,CAAC,UAAU,CAAC;QACf,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,GAAG,EAAE,KAAsB,QAAQ,EAAzB,YAAY,UAAK,QAAQ,EAAnE,mBAAwD,CAAW,CAAC;QAC1E,MAAM,aAAa,GACjB,eAAe,KAAK,KAAK;YACvB,CAAC,CAAE,gCACI,YAAY,KACf,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,IAAA,0BAAkB,EAAC,IAAI,CAAC,KAAK,CAAC,GAClC;YACX,CAAC,CAAC;gBACE,OAAO,EAAE,KAAK;aACf,CAAC;QACR,MAAM,UAAU,GAAG,IAAA,gCAAwB,EACzC,gCACK,WAAW,CAAC,IAAI,KACnB,KAAK,EAAE,IAAA,cAAK,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,MAAA,MAAA,WAAW,CAAC,IAAI,0CAAE,KAAK,mCAAI,WAAW,CAAC,KAAK,CAAC,GAC/C,EAC/B,IAAI,EACJ,IAAI,CAAC,qBAAqB,CACpB,CAAC;QAET,IAAI,SAAS,CAAC;QACd,IAAI,IAAI,CAAC,IAAI,KAAI,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO,CAAA,EAAE;YAC1C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAA,wBAAgB,EAAC,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAClF,SAAS,GAAG;gBACV,CAAC,EAAE,IAAI;gBACP,CAAC,EAAE,IAAI;gBACP,KAAK,EAAE,IAAI,GAAG,IAAI;gBAClB,MAAM,EAAE,IAAI,GAAG,IAAI;aACpB,CAAC;SACH;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,mCAAI,EAAE,CAAC;YACxD,MAAM,SAAS,GAAG,MAAA,MAAC,SAAS,CAAC,WAAmB,0CAAE,SAAS,mCAAI,EAAE,CAAC;YAClE,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,0CAAE,IAAI,CAAC;YACnD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;gBAClC,QAAQ,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK;gBAC5D,WAAW,EAAE,gCACR,SAAS,CAAC,WAAW,KACxB,KAAK,EAAE,MAAA,UAAU,CAAC,KAAK,mCAAI,MAAC,SAAS,CAAC,WAAmB,0CAAE,KAAK,EAChE,OAAO,EAAE,MAAA,UAAU,CAAC,OAAO,mCAAI,MAAC,SAAS,CAAC,WAAmB,0CAAE,OAAO,EACtE,SAAS,gDACJ,SAAS,GACT,CAAC,MAAA,UAAU,CAAC,SAAS,mCAAI,EAAE,CAAC,KAC/B,IAAI,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,0CAAE,YAAY;4BAC7C,CAAC;gCACE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAS;4BAC3E,CAAC,CAAC,IAAA,gBAAO,EAAC,QAAQ,CAAC;gCACnB,CAAC,CAAC,QAAQ;gCACV,CAAC,CAAC,SAAS,CAAC,IAAI,KAEpB,OAAO,EAAE,IAAA,+BAAuB,EAAC,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,EACxG,OAAO,EAAE,IAAA,+BAAuB,EAAC,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,GAClG;gBACR,QAAQ,EAAE,aAAa;gBACvB,SAAS;gBACT,EAAE,EAAE,IAAI,CAAC,cAAc;gBACvB,EAAE,EAAE,IAAI,CAAC,cAAc;aACxB,CAAC,CAAC;SACJ;IACH,CAAC;IAES,aAAa;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAY,CAAC;QAC/B,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,CAAC;QACpF,MAAM,mBAAmB,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,mBAAmB,IAAI,CAAC,WAAW,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,EAAE;YAC5E,OAAO;SACR;QAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;;AAhQH,sCAiQC;AAhQQ,qBAAO,GAAG,WAAW,CAAC","file":"base-mark-point.js","sourcesContent":["import type { IMarkPoint, IMarkPointSpec } from './interface';\nimport {\n computeClipRange,\n computeOffsetFromRegion,\n getMarkPointProcessInfo,\n transformLabelAttributes,\n transformOffset,\n transformState,\n transformStyle\n} from '../utils';\nimport type { MarkPointAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkPoint as MarkPointComponent } from '@visactor/vrender-components';\nimport { isValid, merge } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport { LayoutZIndex } from '../../../constant/layout';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { IMarkerLabelSpec, IMarkerLabelWithoutRefSpec } from '../interface';\n\nexport abstract class BaseMarkPoint extends BaseMarker<IMarkPointSpec> implements IMarkPoint {\n static specKey = 'markPoint';\n specKey = 'markPoint';\n\n layoutZIndex: number = LayoutZIndex.MarkPoint;\n protected declare _markerComponent: MarkPointComponent;\n\n protected abstract _computePointsAttr(): any;\n\n static _getMarkerCoordinateType(markerSpec: any): string {\n const { doPolarProcess, doGeoProcess } = getMarkPointProcessInfo(markerSpec);\n if (markerSpec.coordinateType === 'polar' || doPolarProcess) {\n return 'polar';\n } else if (markerSpec.coordinateType === 'geo' || doGeoProcess) {\n return 'geo';\n }\n return 'cartesian';\n }\n\n protected _createMarkerComponent() {\n const { itemContent = {}, itemLine = {}, targetSymbol = {} } = this._spec;\n const {\n type = 'text',\n\n // 老写法\n text: label,\n symbol,\n image,\n richText,\n customMark,\n textStyle,\n symbolStyle,\n imageStyle,\n richTextStyle,\n customMarkStyle,\n\n // 新写法\n style = {},\n state = {},\n\n ...restItemContent\n } = itemContent as any;\n\n let itemContentState = null;\n let itemContentStyle = null;\n let defaultStyle = {};\n\n if (type === 'text') {\n itemContentState = label?.state ?? state;\n defaultStyle = {\n dx: 0,\n dy: 0\n };\n itemContentStyle = transformLabelAttributes(\n {\n ...label,\n style: merge(\n defaultStyle,\n label?.style ?? label?.textStyle ?? textStyle ?? (style as Pick<IMarkerLabelSpec, 'style'>)\n )\n },\n this._markerData,\n this._markAttributeContext\n );\n } else if ((type as any) === 'richText') {\n itemContentState = richText?.state ?? state;\n defaultStyle = {\n width: 100,\n height: 100\n };\n itemContentStyle = transformStyle(\n merge(defaultStyle, richText?.style ?? richTextStyle ?? style),\n this._markerData,\n this._markAttributeContext\n );\n } else if (type === 'symbol') {\n itemContentState = symbol?.state ?? state;\n defaultStyle = {\n symbolType: 'star',\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8,\n size: 20\n };\n itemContentStyle = transformToGraphic(\n transformStyle(\n merge(defaultStyle, symbol?.style ?? symbolStyle ?? style),\n this._markerData,\n this._markAttributeContext\n )\n );\n } else if (type === 'image') {\n itemContentState = image?.state ?? state;\n defaultStyle = {\n width: 80,\n height: 80\n };\n itemContentStyle = transformStyle(\n merge(defaultStyle, image?.style ?? imageStyle ?? style),\n this._markerData,\n this._markAttributeContext\n );\n } else if (type === 'custom') {\n itemContentState = customMark?.state ?? state;\n itemContentStyle = transformStyle(\n customMark?.style ?? customMarkStyle ?? style,\n this._markerData,\n this._markAttributeContext\n );\n }\n const markPointAttrs: MarkPointAttrs = {\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? true,\n hover: this._spec.interactive ?? true,\n select: this._spec.interactive ?? true,\n position: { x: 0, y: 0 },\n clipInRange: this._spec.clip ?? false,\n itemContent: {\n type,\n offsetX: transformOffset(itemContent.offsetX, this._relativeSeries.getRegion()),\n offsetY: transformOffset(itemContent.offsetX, this._relativeSeries.getRegion()),\n ...restItemContent, // Tips: 因为网站 demo 上已经透出了 imageStyle richTextStyle 的写法,为了兼容所以这个需要在后面覆盖\n style: transformStyle(itemContentStyle, this._markerData, this._markAttributeContext)\n },\n targetSymbol: {\n offset: targetSymbol.offset ?? 0,\n visible: targetSymbol.visible ?? false,\n size: targetSymbol.size ?? 20,\n style: transformStyle(targetSymbol.style, this._markerData, this._markAttributeContext)\n },\n state: {\n line: transformState(this._spec.itemLine.line?.state ?? {}, this._markerData, this._markAttributeContext),\n lineStartSymbol: transformState(\n this._spec.itemLine.startSymbol?.state ?? {},\n this._markerData,\n this._markAttributeContext\n ),\n lineEndSymbol: transformState(\n this._spec.itemLine.endSymbol?.state ?? {},\n this._markerData,\n this._markAttributeContext\n ),\n itemContent: transformState(itemContentState, this._markerData, this._markAttributeContext),\n textBackground: transformState(\n this._spec.itemContent.text?.labelBackground?.state,\n this._markerData,\n this._markAttributeContext\n ),\n targetItem: transformState(this._spec.targetSymbol?.state ?? {}, this._markerData, this._markAttributeContext)\n },\n animation: this._spec.animation ?? false,\n animationEnter: this._spec.animationEnter,\n animationExit: this._spec.animationExit,\n animationUpdate: this._spec.animationUpdate\n };\n\n const { visible, line = {}, ...restItemLine } = itemLine;\n if (visible !== false) {\n markPointAttrs.itemLine = {\n ...restItemLine,\n visible: true,\n lineStyle: transformToGraphic(line.style)\n } as any;\n } else {\n markPointAttrs.itemLine = {\n visible: false\n };\n }\n\n const markPoint = new MarkPointComponent(markPointAttrs);\n return markPoint as unknown as IGroup;\n }\n\n protected _markerLayout() {\n const spec = this._spec;\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n\n const { point } = this._computePointsAttr();\n\n const seriesData = this._getRelativeDataView().latestData;\n const dataPoints = data\n ? data.latestData[0] && data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n const { itemLine = {}, itemContent = {} } = this._spec;\n const { visible: itemLineVisible, line = {}, ...restItemLine } = itemLine;\n const itemLineAttrs =\n itemLineVisible !== false\n ? ({\n ...restItemLine,\n visible: true,\n lineStyle: transformToGraphic(line.style)\n } as any)\n : {\n visible: false\n };\n const labelAttrs = transformLabelAttributes(\n {\n ...itemContent.text,\n style: merge({ dx: 0, dy: 0 }, itemContent.text?.style ?? itemContent.style)\n } as IMarkerLabelWithoutRefSpec,\n data,\n this._markAttributeContext\n ) as any;\n\n let limitRect;\n if (spec.clip || spec.itemContent?.confine) {\n const { minX, maxX, minY, maxY } = computeClipRange([relativeSeries.getRegion()]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n if (this._markerComponent) {\n const attribute = this._markerComponent.attribute ?? {};\n const textStyle = (attribute.itemContent as any)?.textStyle ?? {};\n const specText = this._spec.itemContent.text?.text;\n this._markerComponent.setAttributes({\n position: point === undefined ? { x: null, y: null } : point, // setAttrs时merge时undefined会被忽略, 所以这里做转换\n itemContent: {\n ...attribute.itemContent,\n panel: labelAttrs.panel ?? (attribute.itemContent as any)?.panel,\n padding: labelAttrs.padding ?? (attribute.itemContent as any)?.padding,\n textStyle: {\n ...textStyle,\n ...(labelAttrs.textStyle ?? {}),\n text: this._spec.itemContent.text?.formatMethod\n ? // type error here will be fixed in components\n (this._spec.itemContent.text.formatMethod(dataPoints, seriesData) as any)\n : isValid(specText)\n ? specText\n : textStyle.text\n },\n offsetX: computeOffsetFromRegion(point, attribute.itemContent.offsetX, this._relativeSeries.getRegion()),\n offsetY: computeOffsetFromRegion(point, attribute.itemContent.offsetY, this._relativeSeries.getRegion())\n } as any,\n itemLine: itemLineAttrs,\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n });\n }\n }\n\n protected _initDataView(): void {\n const spec = this._spec as any;\n const { doXYProcess, doPolarProcess, doGeoProcess } = getMarkPointProcessInfo(spec);\n const isCoordinateProcess = isValid(spec.coordinate);\n if (!isCoordinateProcess && !doXYProcess && !doPolarProcess && !doGeoProcess) {\n return;\n }\n\n this._initCommonDataView();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/mark-point/base-mark-point.ts"],"names":[],"mappings":"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","file":"base-mark-point.js","sourcesContent":["import type { IMarkPoint, IMarkPointSpec } from './interface';\nimport {\n computeClipRange,\n computeOffsetFromRegion,\n getMarkPointProcessInfo,\n transformLabelAttributes,\n transformOffset,\n transformState,\n transformStyle\n} from '../utils';\nimport type { MarkPointAttrs } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkPoint as MarkPointComponent } from '@visactor/vrender-components';\nimport { isValid, merge } from '@visactor/vutils';\nimport { transformToGraphic } from '../../../util/style';\nimport { BaseMarker } from '../base-marker';\nimport { LayoutZIndex } from '../../../constant/layout';\nimport type { IGroup } from '@visactor/vrender-core';\nimport type { IMarkerLabelSpec, IMarkerLabelWithoutRefSpec } from '../interface';\n\nconst isRichTextStyle = (style: any) => style?.type === 'rich';\n\nconst normalizeRichTextStyle = (style: any) => {\n if (!style) {\n return style;\n }\n const { type: _type, text, textConfig, ...restStyle } = style;\n const normalizedStyle = {\n ...restStyle\n };\n const richTextConfig = isValid(textConfig) ? textConfig : text;\n if (isValid(richTextConfig)) {\n (normalizedStyle as any).textConfig = richTextConfig;\n }\n return normalizedStyle;\n};\n\nexport abstract class BaseMarkPoint extends BaseMarker<IMarkPointSpec> implements IMarkPoint {\n static specKey = 'markPoint';\n specKey = 'markPoint';\n\n layoutZIndex: number = LayoutZIndex.MarkPoint;\n protected declare _markerComponent: MarkPointComponent;\n\n protected abstract _computePointsAttr(): any;\n\n static _getMarkerCoordinateType(markerSpec: any): string {\n const { doPolarProcess, doGeoProcess } = getMarkPointProcessInfo(markerSpec);\n if (markerSpec.coordinateType === 'polar' || doPolarProcess) {\n return 'polar';\n } else if (markerSpec.coordinateType === 'geo' || doGeoProcess) {\n return 'geo';\n }\n return 'cartesian';\n }\n\n protected _createMarkerComponent() {\n const { itemContent = {}, itemLine = {}, targetSymbol = {} } = this._spec;\n const region = this._relativeSeries.getRegion();\n const {\n type = 'text',\n\n // 老写法\n text: label,\n symbol,\n image,\n richText,\n customMark,\n textStyle,\n symbolStyle,\n imageStyle,\n richTextStyle,\n customMarkStyle,\n\n // 新写法\n style = {},\n state = {},\n\n ...restItemContent\n } = itemContent as any;\n\n let itemContentState = null;\n let itemContentStyle = null;\n let itemContentType = type;\n let defaultStyle = {};\n\n if (type === 'text') {\n itemContentState = label?.state ?? state;\n const labelStyle = label?.style ?? label?.textStyle ?? textStyle ?? (style as Pick<IMarkerLabelSpec, 'style'>);\n if (isRichTextStyle(labelStyle)) {\n itemContentType = 'richText';\n defaultStyle = {\n width: 100,\n height: 100\n };\n itemContentStyle = transformStyle(\n merge(defaultStyle, normalizeRichTextStyle(labelStyle)),\n this._markerData,\n this._markAttributeContext\n );\n } else {\n defaultStyle = {\n dx: 0,\n dy: 0\n };\n itemContentStyle = transformLabelAttributes(\n {\n ...label,\n style: merge(defaultStyle, labelStyle)\n },\n this._markerData,\n this._markAttributeContext\n );\n }\n } else if ((type as any) === 'richText') {\n itemContentState = richText?.state ?? state;\n defaultStyle = {\n width: 100,\n height: 100\n };\n itemContentStyle = transformStyle(\n merge(defaultStyle, richText?.style ?? richTextStyle ?? style),\n this._markerData,\n this._markAttributeContext\n );\n } else if (type === 'symbol') {\n itemContentState = symbol?.state ?? state;\n defaultStyle = {\n symbolType: 'star',\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8,\n size: 20\n };\n itemContentStyle = transformToGraphic(\n transformStyle(\n merge(defaultStyle, symbol?.style ?? symbolStyle ?? style),\n this._markerData,\n this._markAttributeContext\n )\n );\n } else if (type === 'image') {\n itemContentState = image?.state ?? state;\n defaultStyle = {\n width: 80,\n height: 80\n };\n itemContentStyle = transformStyle(\n merge(defaultStyle, image?.style ?? imageStyle ?? style),\n this._markerData,\n this._markAttributeContext\n );\n } else if (type === 'custom') {\n itemContentState = customMark?.state ?? state;\n itemContentStyle = transformStyle(\n customMark?.style ?? customMarkStyle ?? style,\n this._markerData,\n this._markAttributeContext\n );\n }\n const markPointAttrs: MarkPointAttrs = {\n zIndex: this.layoutZIndex,\n interactive: this._spec.interactive ?? true,\n hover: this._spec.interactive ?? true,\n select: this._spec.interactive ?? true,\n position: { x: 0, y: 0 },\n clipInRange: this._spec.clip ?? false,\n itemContent: {\n type: itemContentType,\n offsetX: transformOffset(itemContent.offsetX, region),\n offsetY: transformOffset(itemContent.offsetY, region),\n ...restItemContent, // Tips: 因为网站 demo 上已经透出了 imageStyle richTextStyle 的写法,为了兼容所以这个需要在后面覆盖\n style: transformStyle(itemContentStyle, this._markerData, this._markAttributeContext)\n },\n targetSymbol: {\n offset: targetSymbol.offset ?? 0,\n visible: targetSymbol.visible ?? false,\n size: targetSymbol.size ?? 20,\n style: transformStyle(targetSymbol.style, this._markerData, this._markAttributeContext)\n },\n state: {\n line: transformState(this._spec.itemLine.line?.state ?? {}, this._markerData, this._markAttributeContext),\n lineStartSymbol: transformState(\n this._spec.itemLine.startSymbol?.state ?? {},\n this._markerData,\n this._markAttributeContext\n ),\n lineEndSymbol: transformState(\n this._spec.itemLine.endSymbol?.state ?? {},\n this._markerData,\n this._markAttributeContext\n ),\n itemContent: transformState(itemContentState, this._markerData, this._markAttributeContext),\n textBackground: transformState(\n this._spec.itemContent.text?.labelBackground?.state,\n this._markerData,\n this._markAttributeContext\n ),\n targetItem: transformState(this._spec.targetSymbol?.state ?? {}, this._markerData, this._markAttributeContext)\n },\n animation: this._spec.animation ?? false,\n animationEnter: this._spec.animationEnter,\n animationExit: this._spec.animationExit,\n animationUpdate: this._spec.animationUpdate\n };\n\n const { visible, line = {}, ...restItemLine } = itemLine;\n if (visible !== false) {\n markPointAttrs.itemLine = {\n ...restItemLine,\n visible: true,\n lineStyle: transformToGraphic(line.style)\n } as any;\n } else {\n markPointAttrs.itemLine = {\n visible: false\n };\n }\n\n const markPoint = new MarkPointComponent(markPointAttrs);\n return markPoint as unknown as IGroup;\n }\n\n protected _markerLayout() {\n const spec = this._spec;\n const data = this._markerData;\n const relativeSeries = this._relativeSeries;\n\n const { point } = this._computePointsAttr();\n\n const seriesData = this._getRelativeDataView().latestData;\n const dataPoints = data\n ? data.latestData[0] && data.latestData[0].latestData\n ? data.latestData[0].latestData\n : data.latestData\n : seriesData;\n const { itemLine = {}, itemContent = {} } = this._spec;\n const region = this._relativeSeries.getRegion();\n const { visible: itemLineVisible, line = {}, ...restItemLine } = itemLine;\n const itemLineAttrs =\n itemLineVisible !== false\n ? ({\n ...restItemLine,\n visible: true,\n lineStyle: transformToGraphic(line.style)\n } as any)\n : {\n visible: false\n };\n const labelAttrs = transformLabelAttributes(\n {\n ...itemContent.text,\n style: merge({ dx: 0, dy: 0 }, itemContent.text?.style ?? itemContent.style)\n } as IMarkerLabelWithoutRefSpec,\n data,\n this._markAttributeContext\n ) as any;\n\n let limitRect;\n if (spec.clip || spec.itemContent?.confine) {\n const { minX, maxX, minY, maxY } = computeClipRange([relativeSeries.getRegion()]);\n limitRect = {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n }\n if (this._markerComponent) {\n const attribute = this._markerComponent.attribute ?? {};\n const textStyle = (attribute.itemContent as any)?.textStyle ?? {};\n const specText = this._spec.itemContent.text?.text;\n const offsetX = transformOffset(itemContent.offsetX, region);\n const offsetY = transformOffset(itemContent.offsetY, region);\n this._markerComponent.setAttributes({\n position: point === undefined ? { x: null, y: null } : point, // setAttrs时merge时undefined会被忽略, 所以这里做转换\n itemContent: {\n ...attribute.itemContent,\n panel: labelAttrs.panel ?? (attribute.itemContent as any)?.panel,\n padding: labelAttrs.padding ?? (attribute.itemContent as any)?.padding,\n textStyle: {\n ...textStyle,\n ...(labelAttrs.textStyle ?? {}),\n text: this._spec.itemContent.text?.formatMethod\n ? // type error here will be fixed in components\n (this._spec.itemContent.text.formatMethod(dataPoints, seriesData) as any)\n : isValid(specText)\n ? specText\n : textStyle.text\n },\n offsetX: computeOffsetFromRegion(point, offsetX, region),\n offsetY: computeOffsetFromRegion(point, offsetY, region)\n } as any,\n itemLine: itemLineAttrs,\n limitRect,\n dx: this._layoutOffsetX,\n dy: this._layoutOffsetY\n });\n }\n }\n\n protected _initDataView(): void {\n const spec = this._spec as any;\n const { doXYProcess, doPolarProcess, doGeoProcess } = getMarkPointProcessInfo(spec);\n const isCoordinateProcess = isValid(spec.coordinate);\n if (!isCoordinateProcess && !doXYProcess && !doPolarProcess && !doGeoProcess) {\n return;\n }\n\n this._initCommonDataView();\n }\n}\n"]}
@@ -185,22 +185,32 @@ function geoLayout(data, relativeSeries) {
185
185
  })), lines;
186
186
  }
187
187
 
188
+ function getCartesianCoordinateRefSeries(datum, relativeSeries) {
189
+ return (null == datum ? void 0 : datum.getRefRelativeSeries) ? datum.getRefRelativeSeries() : relativeSeries;
190
+ }
191
+
192
+ function extendCartesianCoordinateDomain(datum, refRelativeSeries, autoRange, autoRangeExtendDomainKeyPrefix) {
193
+ var _a, _b, _c, _d;
194
+ const xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain(), yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain(), xValue = (0,
195
+ vutils_1.array)(datum.x), yValue = (0, vutils_1.array)(datum.y);
196
+ 1 === xValue.length && (0, vutils_1.isNumber)(xValue[0]) && isNeedExtendDomain(xDomain, xValue[0], autoRange) && (null === (_b = null === (_a = refRelativeSeries.getXAxisHelper()) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, "xAxis"), xValue[0])),
197
+ 1 === yValue.length && (0, vutils_1.isNumber)(yValue[0]) && isNeedExtendDomain(yDomain, yValue[0], autoRange) && (null === (_d = null === (_c = refRelativeSeries.getYAxisHelper()) || void 0 === _c ? void 0 : _c.setExtendDomain) || void 0 === _d || _d.call(_c, getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, "yAxis"), yValue[0]));
198
+ }
199
+
188
200
  function cartesianCoordinateLayout(data, relativeSeries, autoRange, coordinatesOffset, autoRangeExtendDomainKeyPrefix) {
189
201
  const points = [], dataPoints = data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData, isArrayCoordinatesOffset = (0,
190
202
  vutils_1.isArray)(coordinatesOffset);
191
- return dataPoints.forEach(((datum, index) => {
192
- var _a, _b, _c, _d;
193
- const refRelativeSeries = (null == datum ? void 0 : datum.getRefRelativeSeries) ? datum.getRefRelativeSeries() : relativeSeries, regionStart = refRelativeSeries.getRegion(), regionStartLayoutStartPoint = regionStart.getLayoutStartPoint(), {width: regionWidth, height: regionHeight} = regionStart.getLayoutRect();
203
+ return autoRange && dataPoints.forEach((datum => {
204
+ extendCartesianCoordinateDomain(datum, getCartesianCoordinateRefSeries(datum, relativeSeries), autoRange, autoRangeExtendDomainKeyPrefix);
205
+ })), dataPoints.forEach(((datum, index) => {
206
+ const refRelativeSeries = getCartesianCoordinateRefSeries(datum, relativeSeries), regionStart = refRelativeSeries.getRegion(), regionStartLayoutStartPoint = regionStart.getLayoutStartPoint(), {width: regionWidth, height: regionHeight} = regionStart.getLayoutRect();
194
207
  let offsetX = 0, offsetY = 0;
195
208
  if (coordinatesOffset) {
196
209
  const currentCoordinatesOffset = isArrayCoordinatesOffset ? coordinatesOffset[index] : coordinatesOffset, x = currentCoordinatesOffset.x, y = currentCoordinatesOffset.y;
197
210
  x && (offsetX = (0, util_1.isPercent)(x) ? Number(x.substring(0, x.length - 1)) * regionWidth / 100 : x),
198
211
  y && (offsetY = (0, util_1.isPercent)(y) ? Number(y.substring(0, y.length - 1)) * regionHeight / 100 : y);
199
212
  }
200
- const xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain(), yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain(), xValue = (0,
201
- vutils_1.array)(datum.x), yValue = (0, vutils_1.array)(datum.y);
202
- 1 === xValue.length && (0, vutils_1.isNumber)(xValue[0]) && isNeedExtendDomain(xDomain, xValue[0], autoRange) && (null === (_b = null === (_a = refRelativeSeries.getXAxisHelper()) || void 0 === _a ? void 0 : _a.setExtendDomain) || void 0 === _b || _b.call(_a, getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, "xAxis"), xValue[0])),
203
- 1 === yValue.length && (0, vutils_1.isNumber)(yValue[0]) && isNeedExtendDomain(yDomain, yValue[0], autoRange) && (null === (_d = null === (_c = refRelativeSeries.getYAxisHelper()) || void 0 === _c ? void 0 : _c.setExtendDomain) || void 0 === _d || _d.call(_c, getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, "yAxis"), yValue[0])),
213
+ const xValue = (0, vutils_1.array)(datum.x), yValue = (0, vutils_1.array)(datum.y);
204
214
  points.push({
205
215
  x: convertDatumToValue(refRelativeSeries.getXAxisHelper(), xValue) + regionStartLayoutStartPoint.x + offsetX,
206
216
  y: convertDatumToValue(refRelativeSeries.getYAxisHelper(), yValue) + regionStartLayoutStartPoint.y + offsetY
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/marker/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { ICartesianSeries, IGeoSeries, IPolarSeries, ISeries } from '../../series/interface';\nimport type { DataView } from '@visactor/vdataset';\nimport {\n isValid,\n isNumber,\n array,\n minInArray,\n maxInArray,\n isArray,\n normalizePadding,\n isFunction,\n type IPointLike\n} from '@visactor/vutils';\nimport type { Datum, IPoint, StringOrNumber } from '../../typings';\nimport { isPercent, transformToGraphic } from '../../util';\nimport type {\n IDataPos,\n IMarkerAttributeContext,\n IMarkerLabelSpec,\n IMarkerState,\n IMarkerSupportSeries,\n IPolarPoint,\n MarkerPositionPoint,\n MarkerStateValue\n} from './interface';\nimport { AGGR_TYPE } from '../../constant/marker';\nimport type { IRegion } from '../../region/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { OffsetPoint } from './interface';\nimport type { IAxisHelper, IPolarAxisHelper } from '../axis';\nimport type { BandScale } from '@visactor/vscale';\nimport { isContinuous } from '@visactor/vscale';\n\ntype FullBandTemp = {\n min: {\n value: number;\n index: number;\n };\n max: {\n value: number;\n index: number;\n };\n};\n\nfunction isNeedExtendDomain(domain: number[], datum: number, autoRange: boolean) {\n if (!autoRange) {\n return false;\n }\n const domainNum = domain.map((n: any) => n * 1);\n const min = minInArray(domainNum);\n const max = maxInArray(domainNum);\n if (datum < min || datum > max) {\n return true;\n }\n return false;\n}\n\nfunction getAutoRangeExtendDomainKey(\n keyPrefix: string | undefined,\n axisKey: 'xAxis' | 'yAxis' | 'angleAxis' | 'radiusAxis'\n) {\n return keyPrefix ? `${keyPrefix}_${axisKey}_extend` : `marker_${axisKey}_extend`;\n}\n\nfunction getXValue(\n datum: Datum,\n xDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n regionWidth: number,\n regionStartLayoutStartPoint: IPoint,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.x) &&\n isNeedExtendDomain(xDomain, datum.x, autoRange) &&\n (relativeSeries as ICartesianSeries)\n ?.getXAxisHelper()\n .setExtendDomain?.(getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'xAxis'), datum.x);\n let x: number;\n if (isPercent(datum.x)) {\n x = convertPercentToValue(datum.x, regionWidth) + regionStartLayoutStartPoint.x;\n } else {\n x =\n convertDatumToValue((relativeSeries as ICartesianSeries).getXAxisHelper(), [datum.x]) +\n regionStartLayoutStartPoint.x;\n }\n\n return x;\n}\n\nfunction getYValue(\n datum: Datum,\n yDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n regionHeight: number,\n regionStartLayoutStartPoint: IPoint,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.y) &&\n isNeedExtendDomain(yDomain, datum.y, autoRange) &&\n (relativeSeries as ICartesianSeries)\n .getYAxisHelper()\n ?.setExtendDomain?.(getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'yAxis'), datum.y);\n\n let y: number;\n if (isPercent(datum.y)) {\n y = convertPercentToValue(datum.y, regionHeight) + regionStartLayoutStartPoint.y;\n } else {\n y =\n convertDatumToValue((relativeSeries as ICartesianSeries).getYAxisHelper(), [datum.y]) +\n regionStartLayoutStartPoint.y;\n }\n\n return y;\n}\n\nfunction getAngleValue(\n datum: Datum,\n angleDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.angle) &&\n isNeedExtendDomain(angleDomain, datum.angle, autoRange) &&\n (relativeSeries as IPolarSeries).angleAxisHelper?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'angleAxis'),\n datum.angle\n );\n\n return convertDatumToValue((relativeSeries as IPolarSeries).angleAxisHelper, [datum.angle]);\n}\n\nfunction getRadiusValue(\n datum: Datum,\n radiusDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.radius) &&\n isNeedExtendDomain(radiusDomain, datum.radius, autoRange) &&\n (relativeSeries as IPolarSeries).radiusAxisHelper?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'radiusAxis'),\n datum.radius\n );\n\n return convertDatumToValue((relativeSeries as IPolarSeries).radiusAxisHelper, [datum.radius]);\n}\n\nfunction convertPercentToValue(percent: string, relativeLength: number) {\n return (Number(percent.substring(0, percent.length - 1)) * relativeLength) / 100;\n}\n\nfunction convertDatumToValue(axisHelper: IAxisHelper | IPolarAxisHelper, datum: (number | string)[]) {\n const scale = axisHelper.getScale(0);\n if (isContinuous(scale.type) && scale.domain()[0] === scale.domain()[1] && datum[0] !== scale.domain()[0]) {\n return NaN;\n }\n return axisHelper.dataToPosition(datum);\n}\n\nexport function isAggrSpec(spec: IDataPos) {\n return AGGR_TYPE.includes(spec as any);\n}\n\nexport function xyLayout(\n data: DataView,\n startRelativeSeries: IMarkerSupportSeries,\n endRelativeSeries: IMarkerSupportSeries,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n includeFullBand: boolean = false,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n const regionWidth = Math.abs(\n Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) -\n Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n )\n );\n const regionHeight = Math.abs(\n Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) -\n Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n )\n );\n\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n\n const lines: IPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n\n const xAxisHelper = (relativeSeries as ICartesianSeries).getXAxisHelper();\n const yAxisHelper = (relativeSeries as ICartesianSeries).getYAxisHelper();\n\n const xDomain = xAxisHelper.getScale(0).domain();\n const yDomain = yAxisHelper.getScale(0).domain();\n\n const isXExpand = includeFullBand && !xAxisHelper.isContinuous && !!xAxisHelper.getBandwidth;\n const isyExpand = includeFullBand && !yAxisHelper.isContinuous && !!yAxisHelper.getBandwidth;\n const xTemp: FullBandTemp = { min: null, max: null };\n const yTemp: FullBandTemp = { min: null, max: null };\n\n dataPoints.forEach((datum: IPoint) => {\n const isValidX = isValid(datum.x);\n const isValidY = isValid(datum.y);\n let x;\n let y;\n if (isValidX && isValidY) {\n x = getXValue(\n datum,\n xDomain,\n autoRange,\n refSeries,\n regionWidth,\n regionStartLayoutStartPoint,\n autoRangeExtendDomainKeyPrefix\n );\n y = getYValue(\n datum,\n yDomain,\n autoRange,\n refSeries,\n regionHeight,\n regionStartLayoutStartPoint,\n autoRangeExtendDomainKeyPrefix\n );\n setTempWithValid(x, isXExpand, xTemp, lines.length);\n setTempWithValid(y, isyExpand, yTemp, lines.length);\n lines.push([{ x, y }]);\n } else if (isValidX) {\n x = getXValue(\n datum,\n xDomain,\n autoRange,\n refSeries,\n regionWidth,\n regionStartLayoutStartPoint,\n autoRangeExtendDomainKeyPrefix\n );\n y = Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n );\n const y1 = Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y);\n setTempWithValid(x, isXExpand, xTemp, lines.length);\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x,\n y: y1\n }\n ]);\n } else if (isValidY) {\n x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x);\n y = getYValue(\n datum,\n yDomain,\n autoRange,\n refSeries,\n regionHeight,\n regionStartLayoutStartPoint,\n autoRangeExtendDomainKeyPrefix\n );\n const x1 = Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n );\n setTempWithValid(y, isyExpand, yTemp, lines.length);\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x1,\n y: y\n }\n ]);\n }\n });\n setTempToLines(lines, xAxisHelper, yAxisHelper, xTemp, yTemp);\n return lines;\n}\n\nfunction setTempToLines(\n lines: IPoint[][],\n xAxisHelper: IAxisHelper | IPolarAxisHelper,\n yAxisHelper: IAxisHelper | IPolarAxisHelper,\n xTemp: FullBandTemp,\n yTemp: FullBandTemp\n) {\n if (xTemp.min || xTemp.max) {\n const xBandSize = xAxisHelper.getBandwidth(0) * (1 + (xAxisHelper.getScale(0) as BandScale).paddingInner());\n if (xTemp.min) {\n lines[xTemp.min.index].forEach(p => (p.x -= xBandSize / 2));\n }\n if (xTemp.max) {\n lines[xTemp.max.index].forEach(p => (p.x += xBandSize / 2));\n }\n }\n if (yTemp.min || yTemp.max) {\n const yBandSize = yAxisHelper.getBandwidth(0) * (1 + (yAxisHelper.getScale(0) as BandScale).paddingInner());\n if (yTemp.min) {\n lines[yTemp.min.index].forEach(p => (p.y -= yBandSize / 2));\n }\n if (yTemp.max) {\n lines[yTemp.max.index].forEach(p => (p.y += yBandSize / 2));\n }\n }\n}\n\nfunction setTempWithValid(v: number, isExpand: boolean, temp: FullBandTemp, index: number): number {\n if (isExpand) {\n if (temp.min === null || temp.min.value > v) {\n temp.min = {\n value: v,\n index\n };\n }\n if (temp.max === null || temp.max.value < v) {\n temp.max = {\n value: v,\n index\n };\n }\n }\n return v;\n}\n\nexport function polarLayout(\n data: DataView,\n startRelativeSeries: IMarkerSupportSeries,\n endRelativeSeries: IMarkerSupportSeries,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n const lines: IPolarPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n\n const angleDomain = (relativeSeries as IPolarSeries).angleAxisHelper.getScale(0).domain();\n const radiusDomain = (relativeSeries as IPolarSeries).radiusAxisHelper.getScale(0).domain();\n const regionRadius = Math.min(\n relativeSeries.getRegion().getLayoutRect().width / 2,\n relativeSeries.getRegion().getLayoutRect().height / 2\n );\n dataPoints.forEach((datum: IPolarPoint) => {\n const isValidAngle = isValid(datum.angle);\n const isValidRadius = isValid(datum.radius);\n if (isValidAngle && isValidRadius) {\n const angle = getAngleValue(datum, angleDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);\n const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);\n lines.push([{ angle, radius }]);\n } else if (isValidAngle) {\n const angle = getAngleValue(datum, angleDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);\n lines.push([\n {\n angle,\n radius: -regionRadius\n },\n {\n angle,\n radius: regionRadius\n }\n ]);\n } else if (isValidRadius) {\n const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);\n lines.push([\n {\n radius,\n angle: 0\n },\n {\n radius,\n angle: Math.PI * 2\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function geoLayout(data: DataView, relativeSeries: IMarkerSupportSeries) {\n const lines: IPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach((datum: any) => {\n const isValidName = isValid(datum.areaName);\n if (isValidName) {\n lines.push([\n {\n x:\n (relativeSeries as IGeoSeries).nameValueToPosition(datum.areaName).x +\n relativeSeries.getRegion().getLayoutStartPoint().x,\n y:\n (relativeSeries as IGeoSeries).nameValueToPosition(datum.areaName).y +\n relativeSeries.getRegion().getLayoutStartPoint().y\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function cartesianCoordinateLayout(\n data: DataView,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n coordinatesOffset: OffsetPoint[] | OffsetPoint,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const points: IPoint[] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const isArrayCoordinatesOffset = isArray(coordinatesOffset);\n dataPoints.forEach(\n (\n datum: {\n x: StringOrNumber[] | StringOrNumber | null;\n y: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n },\n index: number\n ) => {\n const refRelativeSeries = (\n datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries\n ) as ICartesianSeries;\n const regionStart = refRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n\n const { width: regionWidth, height: regionHeight } = regionStart.getLayoutRect();\n\n let offsetX = 0;\n let offsetY = 0;\n if (coordinatesOffset) {\n const currentCoordinatesOffset = isArrayCoordinatesOffset ? coordinatesOffset[index] : coordinatesOffset;\n const x = currentCoordinatesOffset.x;\n const y = currentCoordinatesOffset.y;\n if (x) {\n offsetX = isPercent(x) ? (Number(x.substring(0, x.length - 1)) * regionWidth) / 100 : (x as number);\n }\n if (y) {\n offsetY = isPercent(y) ? (Number(y.substring(0, y.length - 1)) * regionHeight) / 100 : (y as number);\n }\n }\n\n const xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain();\n const yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain();\n const xValue = array(datum.x);\n const yValue = array(datum.y);\n\n xValue.length === 1 &&\n isNumber(xValue[0]) &&\n isNeedExtendDomain(xDomain, xValue[0], autoRange) &&\n refRelativeSeries\n .getXAxisHelper()\n ?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'xAxis'),\n xValue[0] as number\n );\n\n yValue.length === 1 &&\n isNumber(yValue[0]) &&\n isNeedExtendDomain(yDomain, yValue[0], autoRange) &&\n refRelativeSeries\n .getYAxisHelper()\n ?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'yAxis'),\n yValue[0] as number\n );\n points.push({\n x: convertDatumToValue(refRelativeSeries.getXAxisHelper(), xValue) + regionStartLayoutStartPoint.x + offsetX,\n y: convertDatumToValue(refRelativeSeries.getYAxisHelper(), yValue) + regionStartLayoutStartPoint.y + offsetY\n });\n }\n );\n return points;\n}\n\nexport function polarCoordinateLayout(\n data: DataView,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const points: IPolarPoint[] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach(\n (datum: {\n angle: StringOrNumber[] | StringOrNumber | null;\n radius: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n }) => {\n const refRelativeSeries = (\n datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries\n ) as IPolarSeries;\n\n const angleDomain = refRelativeSeries.angleAxisHelper.getScale(0).domain();\n const radiusDomain = refRelativeSeries.radiusAxisHelper.getScale(0).domain();\n const angleValue = array(datum.angle);\n const radiusValue = array(datum.radius);\n\n angleValue.length === 1 &&\n isNumber(angleValue[0]) &&\n isNeedExtendDomain(angleDomain, angleValue[0], autoRange) &&\n refRelativeSeries.angleAxisHelper?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'angleAxis'),\n angleValue[0] as number\n );\n\n radiusValue.length === 1 &&\n isNumber(radiusValue[0]) &&\n isNeedExtendDomain(radiusDomain, radiusValue[0], autoRange) &&\n refRelativeSeries.radiusAxisHelper?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'radiusAxis'),\n radiusValue[0] as number\n );\n points.push({\n angle: convertDatumToValue(refRelativeSeries.angleAxisHelper, angleValue),\n radius: convertDatumToValue(refRelativeSeries.radiusAxisHelper, radiusValue)\n });\n }\n );\n return points;\n}\n\nfunction convertPosition(position: MarkerPositionPoint, relativeWidth: number, relativeHeight: number): IPoint {\n let { x, y } = position;\n if (isPercent(x)) {\n x = convertPercentToValue(x, relativeWidth);\n }\n if (isPercent(y)) {\n y = convertPercentToValue(y, relativeHeight);\n }\n\n return {\n x: x as number,\n y: y as number\n };\n}\n\nexport function positionLayout(\n positions:\n | MarkerPositionPoint\n | MarkerPositionPoint[]\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint)\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint[]),\n series: IMarkerSupportSeries,\n regionRelative: boolean\n): IPoint[] {\n let transformPositions;\n if (isFunction(positions)) {\n transformPositions = array(positions(series.getData().getLatestData(), series));\n } else {\n transformPositions = array(positions);\n }\n\n if (regionRelative) {\n const region = series.getRegion();\n const { x: regionStartX, y: regionStartY } = region.getLayoutStartPoint();\n const { width: regionWidth, height: regionHeight } = region.getLayoutRect();\n return transformPositions.map(position => {\n let { x, y } = convertPosition(position, regionWidth, regionHeight);\n\n x = (x as number) + regionStartX;\n y = (y as number) + regionStartY;\n\n return {\n x,\n y\n };\n });\n }\n\n const { width: canvasWidth, height: canvasHeight } = series.getOption().getChart().getViewRect();\n return transformPositions.map(position => {\n return convertPosition(position, canvasWidth, canvasHeight);\n });\n}\n\nexport function computeClipRange(regions: IRegion[]) {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n regions.forEach((region: IRegion) => {\n const regionPos = region.getLayoutStartPoint();\n const regionRect = region.getLayoutRect();\n if (regionPos.x < minX) {\n minX = regionPos.x;\n }\n if (regionPos.x + regionRect.width > maxX) {\n maxX = regionPos.x + regionRect.width;\n }\n if (regionPos.y < minY) {\n minY = regionPos.y;\n }\n if (regionPos.y + regionRect.height > maxY) {\n maxY = regionPos.y + regionRect.height;\n }\n });\n return { minX, maxX, minY, maxY };\n}\n\nexport function transformLabelAttributes(\n label: IMarkerLabelSpec,\n markerData: any,\n markAttributeContext: IMarkerAttributeContext\n) {\n const { labelBackground = {}, style, shape, ...restLabel } = label;\n\n if (label.visible !== false) {\n const labelAttrs = restLabel as any;\n\n if (shape?.visible) {\n labelAttrs.shape = {\n visible: true,\n ...transformToGraphic(shape.style)\n };\n } else {\n labelAttrs.shape = {\n visible: false\n };\n }\n\n if (labelBackground.visible !== false) {\n labelAttrs.panel = {\n visible: true,\n customShape: labelBackground.customShape,\n ...transformStyle(transformToGraphic(labelBackground.style), markerData, markAttributeContext)\n };\n if (isValid(labelBackground.padding)) {\n labelAttrs.padding = normalizePadding(labelBackground.padding);\n }\n } else {\n labelAttrs.panel = {\n visible: false\n };\n labelAttrs.padding = 0;\n }\n\n if (style) {\n labelAttrs.textStyle = transformStyle(transformToGraphic(style), markerData, markAttributeContext);\n }\n return labelAttrs;\n }\n return {\n visible: false\n };\n}\n\nexport function transformState(\n state: {} | Record<MarkerStateValue, any | IMarkerState<any>>,\n markerData: DataView,\n markerAttributeContext: IMarkerAttributeContext\n) {\n for (const stateKey in state) {\n if (isFunction(state[stateKey])) {\n state[stateKey] = state[stateKey](markerData, markerAttributeContext);\n }\n }\n return state;\n}\n\nexport function transformStyle(style: any, markerData: DataView, markerAttributeContext: IMarkerAttributeContext) {\n if (isFunction(style)) {\n return style(markerData, markerAttributeContext);\n }\n return style;\n}\n\nexport function transformOffset(offset: string | number | Function, region: IRegion) {\n if (isFunction(offset)) {\n return offset(region);\n }\n return offset;\n}\n\nexport function computeOffsetFromRegion(point: IPointLike, offset: string | number, region: IRegion): number {\n if (!isValid(point)) {\n return offset as number;\n }\n if (offset === 'regionLeft') {\n return region.getLayoutStartPoint().x - point.x;\n } else if (offset === 'regionRight') {\n return region.getLayoutStartPoint().x + region.getLayoutRect().width - point.x;\n } else if (offset === 'regionTop') {\n return region.getLayoutStartPoint().y - point.y;\n } else if (offset === 'regionBottom') {\n return region.getLayoutStartPoint().y + region.getLayoutRect().height - point.y;\n }\n return offset as number;\n}\n\nexport function getProcessInfo(spec: any) {\n return {\n isXProcess: isValid(spec.x),\n isYProcess: isValid(spec.y),\n isX1Process: isValid(spec.x1),\n isY1Process: isValid(spec.y1),\n isAngleProcess: isValid(spec.angle),\n isRadiusProcess: isValid(spec.radius),\n isAngle1Process: isValid(spec.angle1),\n isRadius1Process: isValid(spec.radius1),\n isCoordinatesProcess: isValid(spec.coordinates),\n isValidProcess: isValid(spec.process)\n };\n}\n\nexport function getMarkLineProcessInfo(spec: any) {\n const {\n isXProcess,\n isYProcess,\n isX1Process,\n isY1Process,\n isAngleProcess,\n isRadiusProcess,\n isAngle1Process,\n isRadius1Process,\n isCoordinatesProcess,\n isValidProcess\n } = getProcessInfo(spec);\n\n return {\n doXProcess: isXProcess && !isYProcess && !isY1Process,\n doXYY1Process: isXProcess && isYProcess && isY1Process,\n doYProcess: isYProcess && !isXProcess && !isX1Process,\n doYXX1Process: isYProcess && isXProcess && isX1Process,\n doXYProcess: isXProcess && isYProcess && isX1Process && isY1Process,\n doAngleProcess: isAngleProcess && !isAngle1Process && !isRadiusProcess && !isRadius1Process,\n doRadiusProcess: isRadiusProcess && !isRadius1Process && !isAngleProcess && !isAngle1Process,\n doAngRadRad1Process: isAngleProcess && !isAngle1Process && isRadiusProcess && isRadius1Process,\n doRadAngAng1Process: isRadiusProcess && isAngleProcess && isAngle1Process && !isRadius1Process,\n doRadAngProcess: isAngleProcess && isRadiusProcess && isAngle1Process && isRadius1Process,\n doCoordinatesProcess: isCoordinatesProcess && (!isValidProcess || ('process' in spec && 'xy' in spec.process))\n };\n}\n\nexport function getMarkAreaProcessInfo(spec: any) {\n const {\n isXProcess,\n isYProcess,\n isX1Process,\n isY1Process,\n isAngleProcess,\n isRadiusProcess,\n isAngle1Process,\n isRadius1Process,\n isCoordinatesProcess\n } = getProcessInfo(spec);\n return {\n doXProcess: isXProcess && isX1Process && !isYProcess && !isY1Process,\n doYProcess: isYProcess && isY1Process && !isXProcess && !isX1Process,\n doXYProcess: isXProcess && isX1Process && isYProcess && isY1Process,\n doAngleProcess: isAngleProcess && isAngle1Process && !isRadiusProcess && !isRadius1Process,\n doRadiusProcess: isRadiusProcess && isRadius1Process && !isAngleProcess && !isAngle1Process,\n doRadAngProcess: isAngleProcess && isRadiusProcess && isAngle1Process && isRadius1Process,\n doCoordinatesProcess: isCoordinatesProcess\n };\n}\n\nexport function getMarkPointProcessInfo(spec: any) {\n const isXYProcess = isValid(spec.x) && isValid(spec.y);\n const isPolarProcess = isValid(spec.angle) && isValid(spec.radius);\n const isGeoProcess = isValid(spec.areaName);\n return {\n doXYProcess: isXYProcess,\n doPolarProcess: isPolarProcess,\n doGeoProcess: isGeoProcess\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/component/marker/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,6CAU0B;AAE1B,qCAA2D;AAW3D,kDAAkD;AAMlD,6CAAgD;AAmBhD,SAAS,kBAAkB,CAAC,MAAgB,EAAE,KAAa,EAAE,SAAkB;IAC7E,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,KAAK,CAAC;KACd;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC;IAClC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,2BAA2B,CAClC,SAA6B,EAC7B,OAAuD;IAEvD,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,UAAU,OAAO,SAAS,CAAC;AACnF,CAAC;AAED,SAAS,SAAS,CAChB,KAAY,EACZ,OAAiB,EACjB,SAAkB,EAClB,SAAkD,EAClD,WAAmB,EACnB,2BAAmC,EACnC,8BAAuC;;IAEvC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;QACf,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;SAC/C,MAAC,cAAmC,aAAnC,cAAc,6BAAd,cAAc,CACX,cAAc,IACf,eAAe,mDAAG,2BAA2B,CAAC,8BAA8B,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC;IACtG,IAAI,CAAS,CAAC;IACd,IAAI,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACtB,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC;KACjF;SAAM;QACL,CAAC;YACC,mBAAmB,CAAE,cAAmC,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrF,2BAA2B,CAAC,CAAC,CAAC;KACjC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,SAAS,CAChB,KAAY,EACZ,OAAiB,EACjB,SAAkB,EAClB,SAAkD,EAClD,YAAoB,EACpB,2BAAmC,EACnC,8BAAuC;;IAEvC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;QACf,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;SAC/C,MAAA,MAAC,cAAmC;aACjC,cAAc,EAAE,0CACf,eAAe,mDAAG,2BAA2B,CAAC,8BAA8B,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC;IAEvG,IAAI,CAAS,CAAC;IACd,IAAI,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACtB,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC;KAClF;SAAM;QACL,CAAC;YACC,mBAAmB,CAAE,cAAmC,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrF,2BAA2B,CAAC,CAAC,CAAC;KACjC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,aAAa,CACpB,KAAY,EACZ,WAAqB,EACrB,SAAkB,EAClB,SAAkD,EAClD,8BAAuC;;IAEvC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,IAAA,iBAAQ,EAAC,KAAK,CAAC,KAAK,CAAC;QACnB,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC;SACvD,MAAA,MAAC,cAA+B,CAAC,eAAe,0CAAE,eAAe,mDAC/D,2BAA2B,CAAC,8BAA8B,EAAE,WAAW,CAAC,EACxE,KAAK,CAAC,KAAK,CACZ,CAAA,CAAC;IAEJ,OAAO,mBAAmB,CAAE,cAA+B,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,cAAc,CACrB,KAAY,EACZ,YAAsB,EACtB,SAAkB,EAClB,SAAkD,EAClD,8BAAuC;;IAEvC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACrC,IAAA,iBAAQ,EAAC,KAAK,CAAC,MAAM,CAAC;QACpB,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC;SACzD,MAAA,MAAC,cAA+B,CAAC,gBAAgB,0CAAE,eAAe,mDAChE,2BAA2B,CAAC,8BAA8B,EAAE,YAAY,CAAC,EACzE,KAAK,CAAC,MAAM,CACb,CAAA,CAAC;IAEJ,OAAO,mBAAmB,CAAE,cAA+B,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe,EAAE,cAAsB;IACpE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;AACnF,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA0C,EAAE,KAA0B;IACjG,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;QACzG,OAAO,GAAG,CAAC;KACZ;IACD,OAAO,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,UAAU,CAAC,IAAc;IACvC,OAAO,kBAAS,CAAC,QAAQ,CAAC,IAAW,CAAC,CAAC;AACzC,CAAC;AAFD,gCAEC;AAED,SAAgB,QAAQ,CACtB,IAAc,EACd,mBAAyC,EACzC,iBAAuC,EACvC,cAAoC,EACpC,SAAkB,EAClB,kBAA2B,KAAK,EAChC,8BAAuC;IAEvC,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC;IACpD,MAAM,2BAA2B,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;IACtE,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;IAChD,MAAM,yBAAyB,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC;IAElE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,CACN,2BAA2B,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,KAAK,EACjE,yBAAyB,CAAC,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAC9D,CACJ,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,CACN,2BAA2B,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,MAAM,EAClE,yBAAyB,CAAC,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,CAC/D,CACJ,CAAC;IAEF,MAAM,SAAS,GAAG;QAChB,cAAc;QACd,mBAAmB;QACnB,iBAAiB;KAClB,CAAC;IAEF,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAExG,MAAM,WAAW,GAAI,cAAmC,CAAC,cAAc,EAAE,CAAC;IAC1E,MAAM,WAAW,GAAI,cAAmC,CAAC,cAAc,EAAE,CAAC;IAE1E,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAEjD,MAAM,SAAS,GAAG,eAAe,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;IAC7F,MAAM,SAAS,GAAG,eAAe,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;IAC7F,MAAM,KAAK,GAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACrD,MAAM,KAAK,GAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAErD,UAAU,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,CAAC;QACN,IAAI,CAAC,CAAC;QACN,IAAI,QAAQ,IAAI,QAAQ,EAAE;YACxB,CAAC,GAAG,SAAS,CACX,KAAK,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,WAAW,EACX,2BAA2B,EAC3B,8BAA8B,CAC/B,CAAC;YACF,CAAC,GAAG,SAAS,CACX,KAAK,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,YAAY,EACZ,2BAA2B,EAC3B,8BAA8B,CAC/B,CAAC;YACF,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACxB;aAAM,IAAI,QAAQ,EAAE;YACnB,CAAC,GAAG,SAAS,CACX,KAAK,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,WAAW,EACX,2BAA2B,EAC3B,8BAA8B,CAC/B,CAAC;YACF,CAAC,GAAG,IAAI,CAAC,GAAG,CACV,2BAA2B,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,MAAM,EAClE,yBAAyB,CAAC,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,CAC/D,CAAC;YACF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAChF,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC;gBACT;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;iBACL;gBACD;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,EAAE;iBACN;aACF,CAAC,CAAC;SACJ;aAAM,IAAI,QAAQ,EAAE;YACnB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC,GAAG,SAAS,CACX,KAAK,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,YAAY,EACZ,2BAA2B,EAC3B,8BAA8B,CAC/B,CAAC;YACF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CACjB,2BAA2B,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,KAAK,EACjE,yBAAyB,CAAC,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAC9D,CAAC;YACF,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC;gBACT;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;iBACL;gBACD;oBACE,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,CAAC;iBACL;aACF,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IACH,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AArID,4BAqIC;AAED,SAAS,cAAc,CACrB,KAAiB,EACjB,WAA2C,EAC3C,WAA2C,EAC3C,KAAmB,EACnB,KAAmB;IAEnB,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE;QAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAe,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5G,IAAI,KAAK,CAAC,GAAG,EAAE;YACb,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7D;QACD,IAAI,KAAK,CAAC,GAAG,EAAE;YACb,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7D;KACF;IACD,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE;QAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAe,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5G,IAAI,KAAK,CAAC,GAAG,EAAE;YACb,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7D;QACD,IAAI,KAAK,CAAC,GAAG,EAAE;YACb,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7D;KACF;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS,EAAE,QAAiB,EAAE,IAAkB,EAAE,KAAa;IACvF,IAAI,QAAQ,EAAE;QACZ,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE;YAC3C,IAAI,CAAC,GAAG,GAAG;gBACT,KAAK,EAAE,CAAC;gBACR,KAAK;aACN,CAAC;SACH;QACD,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE;YAC3C,IAAI,CAAC,GAAG,GAAG;gBACT,KAAK,EAAE,CAAC;gBACR,KAAK;aACN,CAAC;SACH;KACF;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,WAAW,CACzB,IAAc,EACd,mBAAyC,EACzC,iBAAuC,EACvC,cAAoC,EACpC,SAAkB,EAClB,8BAAuC;IAEvC,MAAM,SAAS,GAAG;QAChB,cAAc;QACd,mBAAmB;QACnB,iBAAiB;KAClB,CAAC;IACF,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAExG,MAAM,WAAW,GAAI,cAA+B,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1F,MAAM,YAAY,GAAI,cAA+B,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5F,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,cAAc,CAAC,SAAS,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,GAAG,CAAC,EACpD,cAAc,CAAC,SAAS,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC,CACtD,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAkB,EAAE,EAAE;QACxC,MAAM,YAAY,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,YAAY,IAAI,aAAa,EAAE;YACjC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;YACtG,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;YACzG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;SACjC;aAAM,IAAI,YAAY,EAAE;YACvB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;YACtG,KAAK,CAAC,IAAI,CAAC;gBACT;oBACE,KAAK;oBACL,MAAM,EAAE,CAAC,YAAY;iBACtB;gBACD;oBACE,KAAK;oBACL,MAAM,EAAE,YAAY;iBACrB;aACF,CAAC,CAAC;SACJ;aAAM,IAAI,aAAa,EAAE;YACxB,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;YACzG,KAAK,CAAC,IAAI,CAAC;gBACT;oBACE,MAAM;oBACN,KAAK,EAAE,CAAC;iBACT;gBACD;oBACE,MAAM;oBACN,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC;iBACnB;aACF,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AA1DD,kCA0DC;AAED,SAAgB,SAAS,CAAC,IAAc,EAAE,cAAoC;IAC5E,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACxG,UAAU,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;QAChC,MAAM,WAAW,GAAG,IAAA,gBAAO,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,WAAW,EAAE;YACf,KAAK,CAAC,IAAI,CAAC;gBACT;oBACE,CAAC,EACE,cAA6B,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACpE,cAAc,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC;oBACpD,CAAC,EACE,cAA6B,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACpE,cAAc,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC;iBACrD;aACF,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AArBD,8BAqBC;AAED,SAAS,+BAA+B,CAAC,KAA+B,EAAE,cAAoC;IAC5G,OAAO,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,oBAAoB,EAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,cAAc,CAAqB,CAAC;AAC3G,CAAC;AAED,SAAS,+BAA+B,CACtC,KAA+B,EAC/B,iBAAmC,EACnC,SAAkB,EAClB,8BAAuC;;IAEvC,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxE,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACxE,MAAM,MAAM,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE9B,MAAM,CAAC,MAAM,KAAK,CAAC;QACjB,IAAA,iBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;SACjD,MAAA,MAAA,iBAAiB;aACd,cAAc,EAAE,0CACf,eAAe,mDAAG,2BAA2B,CAAC,8BAA8B,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAW,CAAC,CAAA,CAAC;IAEnH,MAAM,CAAC,MAAM,KAAK,CAAC;QACjB,IAAA,iBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;SACjD,MAAA,MAAA,iBAAiB;aACd,cAAc,EAAE,0CACf,eAAe,mDAAG,2BAA2B,CAAC,8BAA8B,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAW,CAAC,CAAA,CAAC;AACrH,CAAC;AAED,SAAgB,yBAAyB,CACvC,IAAc,EACd,cAAoC,EACpC,SAAkB,EAClB,iBAA8C,EAC9C,8BAAuC;IAEvC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACxG,MAAM,wBAAwB,GAAG,IAAA,gBAAO,EAAC,iBAAiB,CAAC,CAAC;IAE5D,IAAI,SAAS,EAAE;QACb,UAAU,CAAC,OAAO,CAAC,CAAC,KAA+B,EAAE,EAAE;YACrD,+BAA+B,CAC7B,KAAK,EACL,+BAA+B,CAAC,KAAK,EAAE,cAAc,CAAC,EACtD,SAAS,EACT,8BAA8B,CAC/B,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,UAAU,CAAC,OAAO,CAAC,CAAC,KAA+B,EAAE,KAAa,EAAE,EAAE;QACpE,MAAM,iBAAiB,GAAG,+BAA+B,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAClD,MAAM,2BAA2B,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAEtE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;QAEjF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,iBAAiB,EAAE;YACrB,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACzG,MAAM,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE;gBACL,OAAO,GAAG,IAAA,gBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAY,CAAC;aACrG;YACD,IAAI,CAAC,EAAE;gBACL,OAAO,GAAG,IAAA,gBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAY,CAAC;aACtG;SACF;QAED,MAAM,MAAM,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,CAAC,IAAI,CAAC;YACV,CAAC,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,GAAG,2BAA2B,CAAC,CAAC,GAAG,OAAO;YAC5G,CAAC,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,GAAG,2BAA2B,CAAC,CAAC,GAAG,OAAO;SAC7G,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AArDD,8DAqDC;AAED,SAAgB,qBAAqB,CACnC,IAAc,EACd,cAAoC,EACpC,SAAkB,EAClB,8BAAuC;IAEvC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACxG,UAAU,CAAC,OAAO,CAChB,CAAC,KAIA,EAAE,EAAE;;QACH,MAAM,iBAAiB,GAAG,CACxB,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,oBAAoB,EAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,cAAc,CAC5D,CAAC;QAElB,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3E,MAAM,YAAY,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7E,MAAM,UAAU,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAExC,UAAU,CAAC,MAAM,KAAK,CAAC;YACrB,IAAA,iBAAQ,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvB,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;aACzD,MAAA,MAAA,iBAAiB,CAAC,eAAe,0CAAE,eAAe,mDAChD,2BAA2B,CAAC,8BAA8B,EAAE,WAAW,CAAC,EACxE,UAAU,CAAC,CAAC,CAAW,CACxB,CAAA,CAAC;QAEJ,WAAW,CAAC,MAAM,KAAK,CAAC;YACtB,IAAA,iBAAQ,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACxB,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;aAC3D,MAAA,MAAA,iBAAiB,CAAC,gBAAgB,0CAAE,eAAe,mDACjD,2BAA2B,CAAC,8BAA8B,EAAE,YAAY,CAAC,EACzE,WAAW,CAAC,CAAC,CAAW,CACzB,CAAA,CAAC;QACJ,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,eAAe,EAAE,UAAU,CAAC;YACzE,MAAM,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,WAAW,CAAC;SAC7E,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AA9CD,sDA8CC;AAED,SAAS,eAAe,CAAC,QAA6B,EAAE,aAAqB,EAAE,cAAsB;IACnG,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC;IACxB,IAAI,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE;QAChB,CAAC,GAAG,qBAAqB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;KAC7C;IACD,IAAI,IAAA,gBAAS,EAAC,CAAC,CAAC,EAAE;QAChB,CAAC,GAAG,qBAAqB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;KAC9C;IAED,OAAO;QACL,CAAC,EAAE,CAAW;QACd,CAAC,EAAE,CAAW;KACf,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,SAI0F,EAC1F,MAA4B,EAC5B,cAAuB;IAEvB,IAAI,kBAAkB,CAAC;IACvB,IAAI,IAAA,mBAAU,EAAC,SAAS,CAAC,EAAE;QACzB,kBAAkB,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;KACjF;SAAM;QACL,kBAAkB,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,CAAC;KACvC;IAED,IAAI,cAAc,EAAE;QAClB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC1E,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC5E,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACvC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YAEpE,CAAC,GAAI,CAAY,GAAG,YAAY,CAAC;YACjC,CAAC,GAAI,CAAY,GAAG,YAAY,CAAC;YAEjC,OAAO;gBACL,CAAC;gBACD,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;IACjG,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACvC,OAAO,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC;AArCD,wCAqCC;AAED,SAAgB,gBAAgB,CAAC,OAAkB;IACjD,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IACrB,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IACrB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAe,EAAE,EAAE;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1C,IAAI,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE;YACtB,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;SACpB;QACD,IAAI,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,GAAG,IAAI,EAAE;YACzC,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;SACvC;QACD,IAAI,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE;YACtB,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;SACpB;QACD,IAAI,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,IAAI,EAAE;YAC1C,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;SACxC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC;AAtBD,4CAsBC;AAED,SAAgB,wBAAwB,CACtC,KAAuB,EACvB,UAAe,EACf,oBAA6C;IAE7C,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAA5D,qCAAoD,CAAQ,CAAC;IAEnE,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;QAC3B,MAAM,UAAU,GAAG,SAAgB,CAAC;QAEpC,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE;YAClB,UAAU,CAAC,KAAK,mBACd,OAAO,EAAE,IAAI,IACV,IAAA,yBAAkB,EAAC,KAAK,CAAC,KAAK,CAAC,CACnC,CAAC;SACH;aAAM;YACL,UAAU,CAAC,KAAK,GAAG;gBACjB,OAAO,EAAE,KAAK;aACf,CAAC;SACH;QAED,IAAI,eAAe,CAAC,OAAO,KAAK,KAAK,EAAE;YACrC,UAAU,CAAC,KAAK,mBACd,OAAO,EAAE,IAAI,EACb,WAAW,EAAE,eAAe,CAAC,WAAW,IACrC,cAAc,CAAC,IAAA,yBAAkB,EAAC,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAC/F,CAAC;YACF,IAAI,IAAA,gBAAO,EAAC,eAAe,CAAC,OAAO,CAAC,EAAE;gBACpC,UAAU,CAAC,OAAO,GAAG,IAAA,yBAAgB,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC;aAChE;SACF;aAAM;YACL,UAAU,CAAC,KAAK,GAAG;gBACjB,OAAO,EAAE,KAAK;aACf,CAAC;YACF,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC;SACxB;QAED,IAAI,KAAK,EAAE;YACT,UAAU,CAAC,SAAS,GAAG,cAAc,CAAC,IAAA,yBAAkB,EAAC,KAAK,CAAC,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;SACpG;QACD,OAAO,UAAU,CAAC;KACnB;IACD,OAAO;QACL,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC;AA7CD,4DA6CC;AAED,SAAgB,cAAc,CAC5B,KAA6D,EAC7D,UAAoB,EACpB,sBAA+C;IAE/C,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;QAC5B,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;YAC/B,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;SACvE;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAXD,wCAWC;AAED,SAAgB,cAAc,CAAC,KAAU,EAAE,UAAoB,EAAE,sBAA+C;IAC9G,IAAI,IAAA,mBAAU,EAAC,KAAK,CAAC,EAAE;QACrB,OAAO,KAAK,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;KAClD;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AALD,wCAKC;AAED,SAAgB,eAAe,CAAC,MAAkC,EAAE,MAAe;IACjF,IAAI,IAAA,mBAAU,EAAC,MAAM,CAAC,EAAE;QACtB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;KACvB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AALD,0CAKC;AAED,SAAgB,uBAAuB,CAAC,KAAiB,EAAE,MAAuB,EAAE,MAAe;IACjG,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE;QACnB,OAAO,MAAgB,CAAC;KACzB;IACD,IAAI,MAAM,KAAK,YAAY,EAAE;QAC3B,OAAO,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;KACjD;SAAM,IAAI,MAAM,KAAK,aAAa,EAAE;QACnC,OAAO,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;KAChF;SAAM,IAAI,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;KACjD;SAAM,IAAI,MAAM,KAAK,cAAc,EAAE;QACpC,OAAO,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;KACjF;IACD,OAAO,MAAgB,CAAC;AAC1B,CAAC;AAdD,0DAcC;AAED,SAAgB,cAAc,CAAC,IAAS;IACtC,OAAO;QACL,UAAU,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,CAAC,CAAC;QAC3B,UAAU,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,CAAC,CAAC;QAC3B,WAAW,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,WAAW,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,cAAc,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC;QACnC,eAAe,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC;QACrC,eAAe,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC;QACrC,gBAAgB,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC;QACvC,oBAAoB,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,WAAW,CAAC;QAC/C,cAAc,EAAE,IAAA,gBAAO,EAAC,IAAI,CAAC,OAAO,CAAC;KACtC,CAAC;AACJ,CAAC;AAbD,wCAaC;AAED,SAAgB,sBAAsB,CAAC,IAAS;IAC9C,MAAM,EACJ,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACf,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEzB,OAAO;QACL,UAAU,EAAE,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QACrD,aAAa,EAAE,UAAU,IAAI,UAAU,IAAI,WAAW;QACtD,UAAU,EAAE,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QACrD,aAAa,EAAE,UAAU,IAAI,UAAU,IAAI,WAAW;QACtD,WAAW,EAAE,UAAU,IAAI,UAAU,IAAI,WAAW,IAAI,WAAW;QACnE,cAAc,EAAE,cAAc,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,IAAI,CAAC,gBAAgB;QAC3F,eAAe,EAAE,eAAe,IAAI,CAAC,gBAAgB,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe;QAC5F,mBAAmB,EAAE,cAAc,IAAI,CAAC,eAAe,IAAI,eAAe,IAAI,gBAAgB;QAC9F,mBAAmB,EAAE,eAAe,IAAI,cAAc,IAAI,eAAe,IAAI,CAAC,gBAAgB;QAC9F,eAAe,EAAE,cAAc,IAAI,eAAe,IAAI,eAAe,IAAI,gBAAgB;QACzF,oBAAoB,EAAE,oBAAoB,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/G,CAAC;AACJ,CAAC;AA3BD,wDA2BC;AAED,SAAgB,sBAAsB,CAAC,IAAS;IAC9C,MAAM,EACJ,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACrB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO;QACL,UAAU,EAAE,UAAU,IAAI,WAAW,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QACpE,UAAU,EAAE,UAAU,IAAI,WAAW,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QACpE,WAAW,EAAE,UAAU,IAAI,WAAW,IAAI,UAAU,IAAI,WAAW;QACnE,cAAc,EAAE,cAAc,IAAI,eAAe,IAAI,CAAC,eAAe,IAAI,CAAC,gBAAgB;QAC1F,eAAe,EAAE,eAAe,IAAI,gBAAgB,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe;QAC3F,eAAe,EAAE,cAAc,IAAI,eAAe,IAAI,eAAe,IAAI,gBAAgB;QACzF,oBAAoB,EAAE,oBAAoB;KAC3C,CAAC;AACJ,CAAC;AArBD,wDAqBC;AAED,SAAgB,uBAAuB,CAAC,IAAS;IAC/C,MAAM,WAAW,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,IAAA,gBAAO,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO;QACL,WAAW,EAAE,WAAW;QACxB,cAAc,EAAE,cAAc;QAC9B,YAAY,EAAE,YAAY;KAC3B,CAAC;AACJ,CAAC;AATD,0DASC","file":"utils.js","sourcesContent":["import type { ICartesianSeries, IGeoSeries, IPolarSeries, ISeries } from '../../series/interface';\nimport type { DataView } from '@visactor/vdataset';\nimport {\n isValid,\n isNumber,\n array,\n minInArray,\n maxInArray,\n isArray,\n normalizePadding,\n isFunction,\n type IPointLike\n} from '@visactor/vutils';\nimport type { Datum, IPoint, StringOrNumber } from '../../typings';\nimport { isPercent, transformToGraphic } from '../../util';\nimport type {\n IDataPos,\n IMarkerAttributeContext,\n IMarkerLabelSpec,\n IMarkerState,\n IMarkerSupportSeries,\n IPolarPoint,\n MarkerPositionPoint,\n MarkerStateValue\n} from './interface';\nimport { AGGR_TYPE } from '../../constant/marker';\nimport type { IRegion } from '../../region/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { OffsetPoint } from './interface';\nimport type { IAxisHelper, IPolarAxisHelper } from '../axis';\nimport type { BandScale } from '@visactor/vscale';\nimport { isContinuous } from '@visactor/vscale';\n\ntype FullBandTemp = {\n min: {\n value: number;\n index: number;\n };\n max: {\n value: number;\n index: number;\n };\n};\n\ntype CartesianCoordinateDatum = {\n x: StringOrNumber[] | StringOrNumber | null;\n y: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n};\n\nfunction isNeedExtendDomain(domain: number[], datum: number, autoRange: boolean) {\n if (!autoRange) {\n return false;\n }\n const domainNum = domain.map((n: any) => n * 1);\n const min = minInArray(domainNum);\n const max = maxInArray(domainNum);\n if (datum < min || datum > max) {\n return true;\n }\n return false;\n}\n\nfunction getAutoRangeExtendDomainKey(\n keyPrefix: string | undefined,\n axisKey: 'xAxis' | 'yAxis' | 'angleAxis' | 'radiusAxis'\n) {\n return keyPrefix ? `${keyPrefix}_${axisKey}_extend` : `marker_${axisKey}_extend`;\n}\n\nfunction getXValue(\n datum: Datum,\n xDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n regionWidth: number,\n regionStartLayoutStartPoint: IPoint,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.x) &&\n isNeedExtendDomain(xDomain, datum.x, autoRange) &&\n (relativeSeries as ICartesianSeries)\n ?.getXAxisHelper()\n .setExtendDomain?.(getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'xAxis'), datum.x);\n let x: number;\n if (isPercent(datum.x)) {\n x = convertPercentToValue(datum.x, regionWidth) + regionStartLayoutStartPoint.x;\n } else {\n x =\n convertDatumToValue((relativeSeries as ICartesianSeries).getXAxisHelper(), [datum.x]) +\n regionStartLayoutStartPoint.x;\n }\n\n return x;\n}\n\nfunction getYValue(\n datum: Datum,\n yDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n regionHeight: number,\n regionStartLayoutStartPoint: IPoint,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.y) &&\n isNeedExtendDomain(yDomain, datum.y, autoRange) &&\n (relativeSeries as ICartesianSeries)\n .getYAxisHelper()\n ?.setExtendDomain?.(getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'yAxis'), datum.y);\n\n let y: number;\n if (isPercent(datum.y)) {\n y = convertPercentToValue(datum.y, regionHeight) + regionStartLayoutStartPoint.y;\n } else {\n y =\n convertDatumToValue((relativeSeries as ICartesianSeries).getYAxisHelper(), [datum.y]) +\n regionStartLayoutStartPoint.y;\n }\n\n return y;\n}\n\nfunction getAngleValue(\n datum: Datum,\n angleDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.angle) &&\n isNeedExtendDomain(angleDomain, datum.angle, autoRange) &&\n (relativeSeries as IPolarSeries).angleAxisHelper?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'angleAxis'),\n datum.angle\n );\n\n return convertDatumToValue((relativeSeries as IPolarSeries).angleAxisHelper, [datum.angle]);\n}\n\nfunction getRadiusValue(\n datum: Datum,\n radiusDomain: number[],\n autoRange: boolean,\n refSeries: { [key: string]: IMarkerSupportSeries },\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const { relativeSeries } = refSeries;\n isNumber(datum.radius) &&\n isNeedExtendDomain(radiusDomain, datum.radius, autoRange) &&\n (relativeSeries as IPolarSeries).radiusAxisHelper?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'radiusAxis'),\n datum.radius\n );\n\n return convertDatumToValue((relativeSeries as IPolarSeries).radiusAxisHelper, [datum.radius]);\n}\n\nfunction convertPercentToValue(percent: string, relativeLength: number) {\n return (Number(percent.substring(0, percent.length - 1)) * relativeLength) / 100;\n}\n\nfunction convertDatumToValue(axisHelper: IAxisHelper | IPolarAxisHelper, datum: (number | string)[]) {\n const scale = axisHelper.getScale(0);\n if (isContinuous(scale.type) && scale.domain()[0] === scale.domain()[1] && datum[0] !== scale.domain()[0]) {\n return NaN;\n }\n return axisHelper.dataToPosition(datum);\n}\n\nexport function isAggrSpec(spec: IDataPos) {\n return AGGR_TYPE.includes(spec as any);\n}\n\nexport function xyLayout(\n data: DataView,\n startRelativeSeries: IMarkerSupportSeries,\n endRelativeSeries: IMarkerSupportSeries,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n includeFullBand: boolean = false,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const regionStart = startRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n const regionEnd = endRelativeSeries.getRegion();\n const regionEndLayoutStartPoint = regionEnd.getLayoutStartPoint();\n\n const regionWidth = Math.abs(\n Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x) -\n Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n )\n );\n const regionHeight = Math.abs(\n Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y) -\n Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n )\n );\n\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n\n const lines: IPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n\n const xAxisHelper = (relativeSeries as ICartesianSeries).getXAxisHelper();\n const yAxisHelper = (relativeSeries as ICartesianSeries).getYAxisHelper();\n\n const xDomain = xAxisHelper.getScale(0).domain();\n const yDomain = yAxisHelper.getScale(0).domain();\n\n const isXExpand = includeFullBand && !xAxisHelper.isContinuous && !!xAxisHelper.getBandwidth;\n const isyExpand = includeFullBand && !yAxisHelper.isContinuous && !!yAxisHelper.getBandwidth;\n const xTemp: FullBandTemp = { min: null, max: null };\n const yTemp: FullBandTemp = { min: null, max: null };\n\n dataPoints.forEach((datum: IPoint) => {\n const isValidX = isValid(datum.x);\n const isValidY = isValid(datum.y);\n let x;\n let y;\n if (isValidX && isValidY) {\n x = getXValue(\n datum,\n xDomain,\n autoRange,\n refSeries,\n regionWidth,\n regionStartLayoutStartPoint,\n autoRangeExtendDomainKeyPrefix\n );\n y = getYValue(\n datum,\n yDomain,\n autoRange,\n refSeries,\n regionHeight,\n regionStartLayoutStartPoint,\n autoRangeExtendDomainKeyPrefix\n );\n setTempWithValid(x, isXExpand, xTemp, lines.length);\n setTempWithValid(y, isyExpand, yTemp, lines.length);\n lines.push([{ x, y }]);\n } else if (isValidX) {\n x = getXValue(\n datum,\n xDomain,\n autoRange,\n refSeries,\n regionWidth,\n regionStartLayoutStartPoint,\n autoRangeExtendDomainKeyPrefix\n );\n y = Math.max(\n regionStartLayoutStartPoint.y + regionStart.getLayoutRect().height,\n regionEndLayoutStartPoint.y + regionEnd.getLayoutRect().height\n );\n const y1 = Math.min(regionStartLayoutStartPoint.y, regionEndLayoutStartPoint.y);\n setTempWithValid(x, isXExpand, xTemp, lines.length);\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x,\n y: y1\n }\n ]);\n } else if (isValidY) {\n x = Math.min(regionStartLayoutStartPoint.x, regionEndLayoutStartPoint.x);\n y = getYValue(\n datum,\n yDomain,\n autoRange,\n refSeries,\n regionHeight,\n regionStartLayoutStartPoint,\n autoRangeExtendDomainKeyPrefix\n );\n const x1 = Math.max(\n regionStartLayoutStartPoint.x + regionStart.getLayoutRect().width,\n regionEndLayoutStartPoint.x + regionEnd.getLayoutRect().width\n );\n setTempWithValid(y, isyExpand, yTemp, lines.length);\n lines.push([\n {\n x: x,\n y: y\n },\n {\n x: x1,\n y: y\n }\n ]);\n }\n });\n setTempToLines(lines, xAxisHelper, yAxisHelper, xTemp, yTemp);\n return lines;\n}\n\nfunction setTempToLines(\n lines: IPoint[][],\n xAxisHelper: IAxisHelper | IPolarAxisHelper,\n yAxisHelper: IAxisHelper | IPolarAxisHelper,\n xTemp: FullBandTemp,\n yTemp: FullBandTemp\n) {\n if (xTemp.min || xTemp.max) {\n const xBandSize = xAxisHelper.getBandwidth(0) * (1 + (xAxisHelper.getScale(0) as BandScale).paddingInner());\n if (xTemp.min) {\n lines[xTemp.min.index].forEach(p => (p.x -= xBandSize / 2));\n }\n if (xTemp.max) {\n lines[xTemp.max.index].forEach(p => (p.x += xBandSize / 2));\n }\n }\n if (yTemp.min || yTemp.max) {\n const yBandSize = yAxisHelper.getBandwidth(0) * (1 + (yAxisHelper.getScale(0) as BandScale).paddingInner());\n if (yTemp.min) {\n lines[yTemp.min.index].forEach(p => (p.y -= yBandSize / 2));\n }\n if (yTemp.max) {\n lines[yTemp.max.index].forEach(p => (p.y += yBandSize / 2));\n }\n }\n}\n\nfunction setTempWithValid(v: number, isExpand: boolean, temp: FullBandTemp, index: number): number {\n if (isExpand) {\n if (temp.min === null || temp.min.value > v) {\n temp.min = {\n value: v,\n index\n };\n }\n if (temp.max === null || temp.max.value < v) {\n temp.max = {\n value: v,\n index\n };\n }\n }\n return v;\n}\n\nexport function polarLayout(\n data: DataView,\n startRelativeSeries: IMarkerSupportSeries,\n endRelativeSeries: IMarkerSupportSeries,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const refSeries = {\n relativeSeries,\n startRelativeSeries,\n endRelativeSeries\n };\n const lines: IPolarPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n\n const angleDomain = (relativeSeries as IPolarSeries).angleAxisHelper.getScale(0).domain();\n const radiusDomain = (relativeSeries as IPolarSeries).radiusAxisHelper.getScale(0).domain();\n const regionRadius = Math.min(\n relativeSeries.getRegion().getLayoutRect().width / 2,\n relativeSeries.getRegion().getLayoutRect().height / 2\n );\n dataPoints.forEach((datum: IPolarPoint) => {\n const isValidAngle = isValid(datum.angle);\n const isValidRadius = isValid(datum.radius);\n if (isValidAngle && isValidRadius) {\n const angle = getAngleValue(datum, angleDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);\n const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);\n lines.push([{ angle, radius }]);\n } else if (isValidAngle) {\n const angle = getAngleValue(datum, angleDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);\n lines.push([\n {\n angle,\n radius: -regionRadius\n },\n {\n angle,\n radius: regionRadius\n }\n ]);\n } else if (isValidRadius) {\n const radius = getRadiusValue(datum, radiusDomain, autoRange, refSeries, autoRangeExtendDomainKeyPrefix);\n lines.push([\n {\n radius,\n angle: 0\n },\n {\n radius,\n angle: Math.PI * 2\n }\n ]);\n }\n });\n\n return lines;\n}\n\nexport function geoLayout(data: DataView, relativeSeries: IMarkerSupportSeries) {\n const lines: IPoint[][] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach((datum: any) => {\n const isValidName = isValid(datum.areaName);\n if (isValidName) {\n lines.push([\n {\n x:\n (relativeSeries as IGeoSeries).nameValueToPosition(datum.areaName).x +\n relativeSeries.getRegion().getLayoutStartPoint().x,\n y:\n (relativeSeries as IGeoSeries).nameValueToPosition(datum.areaName).y +\n relativeSeries.getRegion().getLayoutStartPoint().y\n }\n ]);\n }\n });\n\n return lines;\n}\n\nfunction getCartesianCoordinateRefSeries(datum: CartesianCoordinateDatum, relativeSeries: IMarkerSupportSeries) {\n return (datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries) as ICartesianSeries;\n}\n\nfunction extendCartesianCoordinateDomain(\n datum: CartesianCoordinateDatum,\n refRelativeSeries: ICartesianSeries,\n autoRange: boolean,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const xDomain = refRelativeSeries.getXAxisHelper().getScale(0).domain();\n const yDomain = refRelativeSeries.getYAxisHelper().getScale(0).domain();\n const xValue = array(datum.x);\n const yValue = array(datum.y);\n\n xValue.length === 1 &&\n isNumber(xValue[0]) &&\n isNeedExtendDomain(xDomain, xValue[0], autoRange) &&\n refRelativeSeries\n .getXAxisHelper()\n ?.setExtendDomain?.(getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'xAxis'), xValue[0] as number);\n\n yValue.length === 1 &&\n isNumber(yValue[0]) &&\n isNeedExtendDomain(yDomain, yValue[0], autoRange) &&\n refRelativeSeries\n .getYAxisHelper()\n ?.setExtendDomain?.(getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'yAxis'), yValue[0] as number);\n}\n\nexport function cartesianCoordinateLayout(\n data: DataView,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n coordinatesOffset: OffsetPoint[] | OffsetPoint,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const points: IPoint[] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n const isArrayCoordinatesOffset = isArray(coordinatesOffset);\n\n if (autoRange) {\n dataPoints.forEach((datum: CartesianCoordinateDatum) => {\n extendCartesianCoordinateDomain(\n datum,\n getCartesianCoordinateRefSeries(datum, relativeSeries),\n autoRange,\n autoRangeExtendDomainKeyPrefix\n );\n });\n }\n\n dataPoints.forEach((datum: CartesianCoordinateDatum, index: number) => {\n const refRelativeSeries = getCartesianCoordinateRefSeries(datum, relativeSeries);\n const regionStart = refRelativeSeries.getRegion();\n const regionStartLayoutStartPoint = regionStart.getLayoutStartPoint();\n\n const { width: regionWidth, height: regionHeight } = regionStart.getLayoutRect();\n\n let offsetX = 0;\n let offsetY = 0;\n if (coordinatesOffset) {\n const currentCoordinatesOffset = isArrayCoordinatesOffset ? coordinatesOffset[index] : coordinatesOffset;\n const x = currentCoordinatesOffset.x;\n const y = currentCoordinatesOffset.y;\n if (x) {\n offsetX = isPercent(x) ? (Number(x.substring(0, x.length - 1)) * regionWidth) / 100 : (x as number);\n }\n if (y) {\n offsetY = isPercent(y) ? (Number(y.substring(0, y.length - 1)) * regionHeight) / 100 : (y as number);\n }\n }\n\n const xValue = array(datum.x);\n const yValue = array(datum.y);\n\n points.push({\n x: convertDatumToValue(refRelativeSeries.getXAxisHelper(), xValue) + regionStartLayoutStartPoint.x + offsetX,\n y: convertDatumToValue(refRelativeSeries.getYAxisHelper(), yValue) + regionStartLayoutStartPoint.y + offsetY\n });\n });\n return points;\n}\n\nexport function polarCoordinateLayout(\n data: DataView,\n relativeSeries: IMarkerSupportSeries,\n autoRange: boolean,\n autoRangeExtendDomainKeyPrefix?: string\n) {\n const points: IPolarPoint[] = [];\n const dataPoints =\n data.latestData[0] && data.latestData[0].latestData ? data.latestData[0].latestData : data.latestData;\n dataPoints.forEach(\n (datum: {\n angle: StringOrNumber[] | StringOrNumber | null;\n radius: StringOrNumber[] | StringOrNumber | null;\n getRefRelativeSeries?: () => ICartesianSeries;\n }) => {\n const refRelativeSeries = (\n datum?.getRefRelativeSeries ? datum.getRefRelativeSeries() : relativeSeries\n ) as IPolarSeries;\n\n const angleDomain = refRelativeSeries.angleAxisHelper.getScale(0).domain();\n const radiusDomain = refRelativeSeries.radiusAxisHelper.getScale(0).domain();\n const angleValue = array(datum.angle);\n const radiusValue = array(datum.radius);\n\n angleValue.length === 1 &&\n isNumber(angleValue[0]) &&\n isNeedExtendDomain(angleDomain, angleValue[0], autoRange) &&\n refRelativeSeries.angleAxisHelper?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'angleAxis'),\n angleValue[0] as number\n );\n\n radiusValue.length === 1 &&\n isNumber(radiusValue[0]) &&\n isNeedExtendDomain(radiusDomain, radiusValue[0], autoRange) &&\n refRelativeSeries.radiusAxisHelper?.setExtendDomain?.(\n getAutoRangeExtendDomainKey(autoRangeExtendDomainKeyPrefix, 'radiusAxis'),\n radiusValue[0] as number\n );\n points.push({\n angle: convertDatumToValue(refRelativeSeries.angleAxisHelper, angleValue),\n radius: convertDatumToValue(refRelativeSeries.radiusAxisHelper, radiusValue)\n });\n }\n );\n return points;\n}\n\nfunction convertPosition(position: MarkerPositionPoint, relativeWidth: number, relativeHeight: number): IPoint {\n let { x, y } = position;\n if (isPercent(x)) {\n x = convertPercentToValue(x, relativeWidth);\n }\n if (isPercent(y)) {\n y = convertPercentToValue(y, relativeHeight);\n }\n\n return {\n x: x as number,\n y: y as number\n };\n}\n\nexport function positionLayout(\n positions:\n | MarkerPositionPoint\n | MarkerPositionPoint[]\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint)\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => MarkerPositionPoint[]),\n series: IMarkerSupportSeries,\n regionRelative: boolean\n): IPoint[] {\n let transformPositions;\n if (isFunction(positions)) {\n transformPositions = array(positions(series.getData().getLatestData(), series));\n } else {\n transformPositions = array(positions);\n }\n\n if (regionRelative) {\n const region = series.getRegion();\n const { x: regionStartX, y: regionStartY } = region.getLayoutStartPoint();\n const { width: regionWidth, height: regionHeight } = region.getLayoutRect();\n return transformPositions.map(position => {\n let { x, y } = convertPosition(position, regionWidth, regionHeight);\n\n x = (x as number) + regionStartX;\n y = (y as number) + regionStartY;\n\n return {\n x,\n y\n };\n });\n }\n\n const { width: canvasWidth, height: canvasHeight } = series.getOption().getChart().getViewRect();\n return transformPositions.map(position => {\n return convertPosition(position, canvasWidth, canvasHeight);\n });\n}\n\nexport function computeClipRange(regions: IRegion[]) {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n regions.forEach((region: IRegion) => {\n const regionPos = region.getLayoutStartPoint();\n const regionRect = region.getLayoutRect();\n if (regionPos.x < minX) {\n minX = regionPos.x;\n }\n if (regionPos.x + regionRect.width > maxX) {\n maxX = regionPos.x + regionRect.width;\n }\n if (regionPos.y < minY) {\n minY = regionPos.y;\n }\n if (regionPos.y + regionRect.height > maxY) {\n maxY = regionPos.y + regionRect.height;\n }\n });\n return { minX, maxX, minY, maxY };\n}\n\nexport function transformLabelAttributes(\n label: IMarkerLabelSpec,\n markerData: any,\n markAttributeContext: IMarkerAttributeContext\n) {\n const { labelBackground = {}, style, shape, ...restLabel } = label;\n\n if (label.visible !== false) {\n const labelAttrs = restLabel as any;\n\n if (shape?.visible) {\n labelAttrs.shape = {\n visible: true,\n ...transformToGraphic(shape.style)\n };\n } else {\n labelAttrs.shape = {\n visible: false\n };\n }\n\n if (labelBackground.visible !== false) {\n labelAttrs.panel = {\n visible: true,\n customShape: labelBackground.customShape,\n ...transformStyle(transformToGraphic(labelBackground.style), markerData, markAttributeContext)\n };\n if (isValid(labelBackground.padding)) {\n labelAttrs.padding = normalizePadding(labelBackground.padding);\n }\n } else {\n labelAttrs.panel = {\n visible: false\n };\n labelAttrs.padding = 0;\n }\n\n if (style) {\n labelAttrs.textStyle = transformStyle(transformToGraphic(style), markerData, markAttributeContext);\n }\n return labelAttrs;\n }\n return {\n visible: false\n };\n}\n\nexport function transformState(\n state: {} | Record<MarkerStateValue, any | IMarkerState<any>>,\n markerData: DataView,\n markerAttributeContext: IMarkerAttributeContext\n) {\n for (const stateKey in state) {\n if (isFunction(state[stateKey])) {\n state[stateKey] = state[stateKey](markerData, markerAttributeContext);\n }\n }\n return state;\n}\n\nexport function transformStyle(style: any, markerData: DataView, markerAttributeContext: IMarkerAttributeContext) {\n if (isFunction(style)) {\n return style(markerData, markerAttributeContext);\n }\n return style;\n}\n\nexport function transformOffset(offset: string | number | Function, region: IRegion) {\n if (isFunction(offset)) {\n return offset(region);\n }\n return offset;\n}\n\nexport function computeOffsetFromRegion(point: IPointLike, offset: string | number, region: IRegion): number {\n if (!isValid(point)) {\n return offset as number;\n }\n if (offset === 'regionLeft') {\n return region.getLayoutStartPoint().x - point.x;\n } else if (offset === 'regionRight') {\n return region.getLayoutStartPoint().x + region.getLayoutRect().width - point.x;\n } else if (offset === 'regionTop') {\n return region.getLayoutStartPoint().y - point.y;\n } else if (offset === 'regionBottom') {\n return region.getLayoutStartPoint().y + region.getLayoutRect().height - point.y;\n }\n return offset as number;\n}\n\nexport function getProcessInfo(spec: any) {\n return {\n isXProcess: isValid(spec.x),\n isYProcess: isValid(spec.y),\n isX1Process: isValid(spec.x1),\n isY1Process: isValid(spec.y1),\n isAngleProcess: isValid(spec.angle),\n isRadiusProcess: isValid(spec.radius),\n isAngle1Process: isValid(spec.angle1),\n isRadius1Process: isValid(spec.radius1),\n isCoordinatesProcess: isValid(spec.coordinates),\n isValidProcess: isValid(spec.process)\n };\n}\n\nexport function getMarkLineProcessInfo(spec: any) {\n const {\n isXProcess,\n isYProcess,\n isX1Process,\n isY1Process,\n isAngleProcess,\n isRadiusProcess,\n isAngle1Process,\n isRadius1Process,\n isCoordinatesProcess,\n isValidProcess\n } = getProcessInfo(spec);\n\n return {\n doXProcess: isXProcess && !isYProcess && !isY1Process,\n doXYY1Process: isXProcess && isYProcess && isY1Process,\n doYProcess: isYProcess && !isXProcess && !isX1Process,\n doYXX1Process: isYProcess && isXProcess && isX1Process,\n doXYProcess: isXProcess && isYProcess && isX1Process && isY1Process,\n doAngleProcess: isAngleProcess && !isAngle1Process && !isRadiusProcess && !isRadius1Process,\n doRadiusProcess: isRadiusProcess && !isRadius1Process && !isAngleProcess && !isAngle1Process,\n doAngRadRad1Process: isAngleProcess && !isAngle1Process && isRadiusProcess && isRadius1Process,\n doRadAngAng1Process: isRadiusProcess && isAngleProcess && isAngle1Process && !isRadius1Process,\n doRadAngProcess: isAngleProcess && isRadiusProcess && isAngle1Process && isRadius1Process,\n doCoordinatesProcess: isCoordinatesProcess && (!isValidProcess || ('process' in spec && 'xy' in spec.process))\n };\n}\n\nexport function getMarkAreaProcessInfo(spec: any) {\n const {\n isXProcess,\n isYProcess,\n isX1Process,\n isY1Process,\n isAngleProcess,\n isRadiusProcess,\n isAngle1Process,\n isRadius1Process,\n isCoordinatesProcess\n } = getProcessInfo(spec);\n return {\n doXProcess: isXProcess && isX1Process && !isYProcess && !isY1Process,\n doYProcess: isYProcess && isY1Process && !isXProcess && !isX1Process,\n doXYProcess: isXProcess && isX1Process && isYProcess && isY1Process,\n doAngleProcess: isAngleProcess && isAngle1Process && !isRadiusProcess && !isRadius1Process,\n doRadiusProcess: isRadiusProcess && isRadius1Process && !isAngleProcess && !isAngle1Process,\n doRadAngProcess: isAngleProcess && isRadiusProcess && isAngle1Process && isRadius1Process,\n doCoordinatesProcess: isCoordinatesProcess\n };\n}\n\nexport function getMarkPointProcessInfo(spec: any) {\n const isXYProcess = isValid(spec.x) && isValid(spec.y);\n const isPolarProcess = isValid(spec.angle) && isValid(spec.radius);\n const isGeoProcess = isValid(spec.areaName);\n return {\n doXYProcess: isXYProcess,\n doPolarProcess: isPolarProcess,\n doGeoProcess: isGeoProcess\n };\n}\n"]}
@@ -51,7 +51,7 @@ class Player extends base_component_1.BaseComponent {
51
51
  return sliderHeight >= controllersHeight ? sliderHeight - controllersHeight : 0;
52
52
  }, this.autoPlayCallback = () => {
53
53
  var _a;
54
- (null === (_a = this._spec) || void 0 === _a ? void 0 : _a.auto) && (this._playerComponent.pause(),
54
+ (null === (_a = this._spec) || void 0 === _a ? void 0 : _a.auto) && this._playerComponent && (this._playerComponent.pause(),
55
55
  this._playerComponent.play());
56
56
  }, this._initEvent = () => {
57
57
  this._option.disableTriggerEvent || (this._option.globalInstance.off(event_1.ChartEvent.rendered, this.autoPlayCallback),
@@ -203,18 +203,23 @@ class Player extends base_component_1.BaseComponent {
203
203
  return (0, orient_1.isHorizontal)(this._orient) || "start" === this._position ? 0 : "middle" === this._position ? (rect.height - this._height) / 2 : rect.height - this._height;
204
204
  }
205
205
  changePlayerIndex(index) {
206
- const spec = this._specs[index];
207
- this._option.globalInstance.updateFullData(spec.data), this.event.emit(event_1.ChartEvent.playerChange, {
206
+ var _a, _b;
207
+ const spec = null === (_a = this._specs) || void 0 === _a ? void 0 : _a[index];
208
+ spec && (null === (_b = this._option) || void 0 === _b ? void 0 : _b.globalInstance) && (this._option.globalInstance.updateFullData(spec.data),
209
+ this.event.emit(event_1.ChartEvent.playerChange, {
208
210
  model: this,
209
211
  value: {
210
212
  spec: spec,
211
213
  index: index,
212
214
  specs: this._specs
213
215
  }
214
- });
216
+ }));
215
217
  }
216
218
  release() {
217
- this._option.globalInstance.off(event_1.ChartEvent.rendered, this.autoPlayCallback);
219
+ var _a, _b, _c, _d;
220
+ null === (_b = null === (_a = this._playerComponent) || void 0 === _a ? void 0 : _a.pause) || void 0 === _b || _b.call(_a),
221
+ null === (_d = null === (_c = this._option) || void 0 === _c ? void 0 : _c.globalInstance) || void 0 === _d || _d.off(event_1.ChartEvent.rendered, this.autoPlayCallback),
222
+ super.release(), this._playerComponent = null, this._cacheAttrs = null, this._specs = [];
218
223
  }
219
224
  }
220
225
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/player/player.ts"],"names":[],"mappings":"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","file":"player.js","sourcesContent":["import { Factory } from './../../core/factory';\nimport type { INode, IGroup, IGraphic } from '@visactor/vrender-core';\nimport type { ContinuousPlayerAttributes, DiscretePlayerAttributes } from '@visactor/vrender-components';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscretePlayer, ContinuousPlayer, PlayerEventEnum } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isNumber, array, isEqual, isValidNumber } from '@visactor/vutils';\n\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\n\nimport type { DirectionType, IPlayer } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IComponent } from '../interface';\nimport type { IPoint, IOrientType, ILayoutRect, IChartSpec, IDataValues } from '../../typings';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { BaseComponent } from '../base/base-component';\nimport { transformContinuousSpecToAttrs, transformDiscreteSpecToAttrs } from './utils/transform';\nimport { isHorizontal, isVertical } from './utils/orient';\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { ChartEvent } from '../../constant/event';\nimport { player } from '../../theme/builtin/common/component/player';\n\nexport class Player extends BaseComponent<IPlayer> implements IComponent {\n layoutZIndex: number = LayoutZIndex.Player;\n layoutLevel: number = LayoutLevel.Player;\n\n static readonly builtInTheme = {\n player\n };\n\n static specKey = 'player';\n specKey: string = 'player';\n\n static type = ComponentTypeEnum.player;\n type = ComponentTypeEnum.player;\n protected _orient: IOrientType = 'bottom';\n private _specs: Partial<IChartSpec>[];\n\n private _playerComponent: DiscretePlayer | ContinuousPlayer;\n private _cacheAttrs: ContinuousPlayerAttributes | DiscretePlayerAttributes;\n\n private _visible: boolean;\n private _direction: DirectionType;\n private _alternate: boolean;\n private _dx: number;\n private _dy: number;\n private _width: number;\n private _height: number;\n private _position: 'start' | 'middle' | 'end';\n\n get orient() {\n return this._orient;\n }\n\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n }\n\n /**\n * 设置Attr\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._orient = this._spec.orient ?? 'bottom';\n this._specs = this._spec.specs ?? [];\n this._direction = this._spec.direction ?? 'default';\n this._alternate = this._spec.alternate ?? false;\n this._dx = this._spec.dx ?? 0;\n this._dy = this._spec.dy ?? 0;\n this._position = this._spec.position ?? 'middle';\n this._visible = this._spec.visible ?? true;\n }\n\n _compareSpec(spec: IPlayer, prevSpec: IPlayer) {\n const result = super._compareSpec(spec, prevSpec);\n const specChanged = !isEqual(prevSpec, spec);\n\n if (prevSpec?.type !== spec?.type) {\n result.reMake = true;\n return result;\n }\n if (specChanged && !result.reMake && !result.reCompile) {\n result.change = true;\n result.reRender = true;\n result.effects = {\n ...result.effects,\n component: true,\n layout: true,\n render: true\n };\n }\n\n return result;\n }\n\n /**\n * 计算组件位置(布局的左上角起点)\n * @param pos\n */\n afterSetLayoutStartPoint(pos: IPoint) {\n super.afterSetLayoutStartPoint(pos);\n if (isValidNumber(pos.x)) {\n const offsetX = isVertical(this._orient) ? pos.x + this._sliderExceededSize() / 2 : pos.x;\n this._playerComponent && this._playerComponent.setAttribute('x', offsetX);\n }\n if (isValidNumber(pos.y)) {\n const offsetY = isHorizontal(this._orient) ? pos.y + this._sliderExceededSize() / 2 : pos.y;\n this._playerComponent && this._playerComponent.setAttribute('y', offsetY);\n }\n }\n\n /**\n * 计算组件占用的bound box\n * @param rect\n * @returns\n */\n getBoundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect) {\n this._width = this._computeWidth(rect);\n this._height = this._computeHeight(rect);\n this._dx = this._computeDx(fullSpace);\n this._dy = this._computeDy(fullSpace);\n\n const bounds = this._computeLayoutRect(rect, this._width, this._height);\n\n this._createOrUpdatePlayerComponent();\n\n return bounds;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._playerComponent] as unknown as IGroup[];\n }\n\n /**\n * 播放器属性\n */\n private _getPlayerAttrs = () => {\n const type = this._spec.type;\n const layoutAttrs = {\n size: {\n width: this._width,\n height: this._height\n },\n dx: this._spec.dx ?? 0 + this._dx,\n dy: this._spec.dy ?? 0 + this._dy\n };\n // 离散类型Attrs\n if (type === 'discrete') {\n return {\n ...transformDiscreteSpecToAttrs(this._spec, this._specs),\n ...layoutAttrs,\n disableTriggerEvent: this._option.disableTriggerEvent,\n loop: this._spec?.loop ?? true\n };\n }\n // 连续类型Attrs\n return {\n ...transformContinuousSpecToAttrs(this._spec, this._specs),\n ...layoutAttrs,\n disableTriggerEvent: this._option.disableTriggerEvent,\n loop: this._spec?.loop ?? true\n };\n };\n\n /**\n * 创建或更新播放器组件\n */\n private _createOrUpdatePlayerComponent = () => {\n const attrs = { ...this._getPlayerAttrs() };\n const container = this.getContainer();\n if (this._playerComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._cacheAttrs = attrs;\n this._playerComponent.setAttributes(attrs);\n // FIXME: player 组件没有重写 setAttributes 方法,因此不能正常更新样式。以下两句模拟执行了 setAttributes 方法,但是应在 vrender-component 的后续版本中实现 setAttributes 方法\n this._playerComponent._initAttributes();\n this._playerComponent.render();\n }\n } else {\n if (attrs.type === 'discrete') {\n this._playerComponent = new DiscretePlayer(attrs);\n } else {\n this._playerComponent = new ContinuousPlayer(attrs);\n }\n\n this._cacheAttrs = attrs;\n this._playerComponent.name = `player`;\n\n container.add(this._playerComponent as unknown as INode);\n\n this._initEvent();\n }\n };\n\n /**\n * 计算起点\n */\n private _computeLayoutRect(rect: ILayoutRect, width: number, height: number) {\n // don't set bounds when player hidden\n if (this._visible === false) {\n return { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n // set bounds by 4 kinds of orient\n switch (this._orient) {\n case 'top': {\n return { x1: 0, y1: 0, x2: width, y2: height };\n }\n case 'right': {\n return { x1: rect.width - width, y1: 0, x2: rect.width, y2: rect.height };\n }\n case 'left': {\n return { x1: 0, y1: 0, x2: width, y2: height };\n }\n case 'bottom':\n default: {\n return { x1: 0, y1: rect.height - height, x2: rect.width, y2: rect.height };\n }\n }\n }\n\n /**\n * 计算组件宽度\n */\n private _computeWidth(rect: ILayoutRect) {\n // 若设置的是数值则直接返回\n if (isNumber(this._spec.width)) {\n return Math.min(rect.width, Number(this._spec.width));\n }\n\n if (isVertical(this._orient)) {\n return this._maxSize();\n }\n return rect.width;\n }\n\n /**\n * 计算组件高度\n */\n private _computeHeight(rect: ILayoutRect) {\n // 若设置的是数值则直接返回\n if (isNumber(this._spec.height)) {\n this._height = this._spec.height;\n return Math.min(rect.height, Number(this._spec.height));\n }\n\n if (isHorizontal(this._orient)) {\n return this._maxSize();\n }\n return rect.height;\n }\n\n /**\n * 计算x方向的偏移, 用于实现对齐\n */\n private _computeDx(rect: ILayoutRect) {\n // 垂直时, x不偏移\n if (isVertical(this._orient)) {\n return 0;\n }\n\n // start\n if (this._position === 'start') {\n return 0;\n }\n // middle\n else if (this._position === 'middle') {\n return (rect.width - this._width) / 2;\n }\n // end\n return rect.width - this._width;\n }\n\n /**\n * 计算y方向的偏移, 用于实现对齐\n */\n private _computeDy(rect: ILayoutRect) {\n // 水平时, y不偏移\n if (isHorizontal(this._orient)) {\n return 0;\n }\n\n // start\n if (this._position === 'start') {\n return 0;\n }\n // middle\n else if (this._position === 'middle') {\n return (rect.height - this._height) / 2;\n }\n\n // end\n return rect.height - this._height;\n }\n\n /**\n * 播放器宽度取计算子组件中最高的一个\n */\n private _maxSize = () => {\n return Math.max(\n ...array(this._spec.controller.start?.style?.size),\n ...array(this._spec.controller.pause?.style?.size),\n ...array(this._spec.controller.backward?.style?.size),\n ...array(this._spec.controller.forward?.style?.size),\n (isVertical(this._orient) ? this._spec.slider.railStyle.width : this._spec.slider.railStyle.height) ?? 10\n );\n };\n\n /**\n * 滑动条超过按钮的高度\n */\n private _sliderExceededSize = () => {\n const sliderHeight =\n (isVertical(this._orient) ? this._spec.slider.railStyle.width : this._spec.slider.railStyle.height) ?? 10;\n const controllersHeight = Math.max(\n ...array(this._spec.controller.start?.style?.size),\n ...array(this._spec.controller.pause?.style?.size),\n ...array(this._spec.controller.backward?.style?.size),\n ...array(this._spec.controller.forward?.style?.size)\n );\n if (sliderHeight >= controllersHeight) {\n return sliderHeight - controllersHeight;\n }\n return 0;\n };\n\n changePlayerIndex(index: number) {\n const spec = this._specs[index];\n\n this._option.globalInstance.updateFullData((spec as any).data);\n\n this.event.emit(ChartEvent.playerChange, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n }\n autoPlayCallback = () => {\n if (this._spec?.auto) {\n this._playerComponent.pause();\n this._playerComponent.play();\n }\n };\n /**\n * 事件\n */\n private _initEvent = () => {\n if (this._option.disableTriggerEvent) {\n return;\n }\n // 自动播放\n this._option.globalInstance.off(ChartEvent.rendered, this.autoPlayCallback);\n // 自动播放\n this._option.globalInstance.on(ChartEvent.rendered, this.autoPlayCallback);\n\n // 循环播放 与 交替方向\n this._playerComponent.addEventListener(PlayerEventEnum.end, () => {\n this.event.emit(ChartEvent.playerEnd, { model: this });\n\n // 交替方向, 仅离散轴支持\n if (this._alternate && this._spec.type === 'discrete') {\n this._direction = this._direction === 'default' ? 'reverse' : 'default';\n this._playerComponent.setAttributes({\n direction: this._direction,\n dataIndex: this._direction === 'reverse' ? this._specs.length - 2 : 1\n });\n }\n\n // 循环播放\n if (this._spec?.loop) {\n this._playerComponent.play();\n }\n });\n\n // 数据更新\n this._playerComponent.addEventListener(PlayerEventEnum.change, (e: { detail: { index: number } }) => {\n // 更新data\n const { index } = e.detail;\n this.changePlayerIndex(index);\n });\n\n // 后退\n this._playerComponent.addEventListener(PlayerEventEnum.backward, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerBackward, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 前进\n this._playerComponent.addEventListener(PlayerEventEnum.forward, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerForward, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 播放\n this._playerComponent.addEventListener(PlayerEventEnum.play, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerPlay, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 暂停\n this._playerComponent.addEventListener(PlayerEventEnum.pause, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerPause, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n };\n release(): void {\n // 自动播放\n this._option.globalInstance.off(ChartEvent.rendered, this.autoPlayCallback);\n }\n}\n\nexport const registerPlayer = () => {\n Factory.registerComponent(Player.type, Player);\n};\n"]}
1
+ {"version":3,"sources":["../src/component/player/player.ts"],"names":[],"mappings":";;;AAAA,kDAA+C;AAK/C,qEAAiG;AAEjG,6CAA2E;AAW3E,4CAAsD;AACtD,2DAAuD;AACvD,iDAAiG;AACjG,2CAA0D;AAC1D,kDAAkE;AAClE,gDAAkD;AAClD,wEAAqE;AAErE,MAAa,MAAO,SAAQ,8BAAsB;IAAlD;;QACE,iBAAY,GAAW,qBAAY,CAAC,MAAM,CAAC;QAC3C,gBAAW,GAAW,oBAAW,CAAC,MAAM,CAAC;QAOzC,YAAO,GAAW,QAAQ,CAAC;QAG3B,SAAI,GAAG,wBAAiB,CAAC,MAAM,CAAC;QACtB,YAAO,GAAgB,QAAQ,CAAC;QAqGlC,oBAAe,GAAG,GAAG,EAAE;;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAC7B,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE;oBACJ,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB;gBACD,EAAE,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,CAAC,GAAG,IAAI,CAAC,GAAG;gBACjC,EAAE,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,CAAC,GAAG,IAAI,CAAC,GAAG;aAClC,CAAC;YAEF,IAAI,IAAI,KAAK,UAAU,EAAE;gBACvB,qDACK,IAAA,wCAA4B,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GACrD,WAAW,KACd,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EACrD,IAAI,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,mCAAI,IAAI,IAC9B;aACH;YAED,qDACK,IAAA,0CAA8B,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GACvD,WAAW,KACd,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EACrD,IAAI,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,mCAAI,IAAI,IAC9B;QACJ,CAAC,CAAC;QAKM,mCAA8B,GAAG,GAAG,EAAE;YAC5C,MAAM,KAAK,qBAAQ,IAAI,CAAC,eAAe,EAAE,CAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;oBACrC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;oBACzB,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAE3C,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC;oBACxC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;iBAChC;aACF;iBAAM;gBACL,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;oBAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,mCAAc,CAAC,KAAK,CAAC,CAAC;iBACnD;qBAAM;oBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,qCAAgB,CAAC,KAAK,CAAC,CAAC;iBACrD;gBAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,QAAQ,CAAC;gBAEtC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAoC,CAAC,CAAC;gBAEzD,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;QACH,CAAC,CAAC;QAyGM,aAAQ,GAAG,GAAG,EAAE;;YACtB,OAAO,IAAI,CAAC,GAAG,CACb,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI,CAAC,EAClD,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI,CAAC,EAClD,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,0CAAE,KAAK,0CAAE,IAAI,CAAC,EACrD,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0CAAE,KAAK,0CAAE,IAAI,CAAC,EACpD,MAAA,CAAC,IAAA,mBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,EAAE,CAC1G,CAAC;QACJ,CAAC,CAAC;QAKM,wBAAmB,GAAG,GAAG,EAAE;;YACjC,MAAM,YAAY,GAChB,MAAA,CAAC,IAAA,mBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;YAC5G,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAChC,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI,CAAC,EAClD,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,0CAAE,KAAK,0CAAE,IAAI,CAAC,EAClD,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,0CAAE,KAAK,0CAAE,IAAI,CAAC,EACrD,GAAG,IAAA,cAAK,EAAC,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0CAAE,KAAK,0CAAE,IAAI,CAAC,CACrD,CAAC;YACF,IAAI,YAAY,IAAI,iBAAiB,EAAE;gBACrC,OAAO,YAAY,GAAG,iBAAiB,CAAC;aACzC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QAoBF,qBAAgB,GAAG,GAAG,EAAE;;YACtB,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,KAAI,IAAI,CAAC,gBAAgB,EAAE;gBAC7C,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;aAC9B;QACH,CAAC,CAAC;QAIM,eAAU,GAAG,GAAG,EAAE;YACxB,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;gBACpC,OAAO;aACR;YAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,kBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE5E,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,kBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAG3E,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,GAAG,EAAE,GAAG,EAAE;;gBAC/D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAGvD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;oBACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;oBACxE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;wBAClC,SAAS,EAAE,IAAI,CAAC,UAAU;wBAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;qBACtE,CAAC,CAAC;iBACJ;gBAGD,IAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,EAAE;oBACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,MAAM,EAAE,CAAC,CAAgC,EAAE,EAAE;gBAElG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,QAAQ,EAAE,CAAC,CAAgC,EAAE,EAAE;gBACpG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,cAAc,EAAE;oBACzC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,OAAO,EAAE,CAAC,CAAgC,EAAE,EAAE;gBACnG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,aAAa,EAAE;oBACxC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,IAAI,EAAE,CAAC,CAAgC,EAAE,EAAE;gBAChG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,UAAU,EAAE;oBACrC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oCAAe,CAAC,KAAK,EAAE,CAAC,CAAgC,EAAE,EAAE;gBACjG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,WAAW,EAAE;oBACtC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBACL,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;qBACnB;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IAUJ,CAAC;IAlZC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,YAAY,CAAC,CAAc;QAC7B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;IAKD,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,QAAQ,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,SAAS,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,KAAK,CAAC;QAChD,IAAI,CAAC,GAAG,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAAI,QAAQ,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,IAAI,CAAC;IAC7C,CAAC;IAED,YAAY,CAAC,IAAa,EAAE,QAAiB;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,CAAC,IAAA,gBAAO,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE7C,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,OAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,EAAE;YACjC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,OAAO,MAAM,CAAC;SACf;QACD,IAAI,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACtD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,OAAO,mCACT,MAAM,CAAC,OAAO,KACjB,SAAS,EAAE,IAAI,EACf,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,GACb,CAAC;SACH;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAMD,wBAAwB,CAAC,GAAW;QAClC,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,IAAA,sBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACxB,MAAM,OAAO,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SAC3E;QACD,IAAI,IAAA,sBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACxB,MAAM,OAAO,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SAC3E;IACH,CAAC;IAOD,eAAe,CAAC,IAAiB,EAAE,SAAsB;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAExE,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,8BAA8B;QACtC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAwB,CAAC;IACxD,CAAC;IAkEO,kBAAkB,CAAC,IAAiB,EAAE,KAAa,EAAE,MAAc;QAEzE,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;YAC3B,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;SACvC;QAED,QAAQ,IAAI,CAAC,OAAO,EAAE;YACpB,KAAK,KAAK,CAAC,CAAC;gBACV,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;aAChD;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAC3E;YACD,KAAK,MAAM,CAAC,CAAC;gBACX,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;aAChD;YACD,KAAK,QAAQ,CAAC;YACd,OAAO,CAAC,CAAC;gBACP,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;aAC7E;SACF;IACH,CAAC;IAKO,aAAa,CAAC,IAAiB;QAErC,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SACvD;QAED,IAAI,IAAA,mBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAKO,cAAc,CAAC,IAAiB;QAEtC,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACjC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;SACzD;QAED,IAAI,IAAA,qBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAKO,UAAU,CAAC,IAAiB;QAElC,IAAI,IAAA,mBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC5B,OAAO,CAAC,CAAC;SACV;QAGD,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;YAC9B,OAAO,CAAC,CAAC;SACV;aAEI,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACvC;QAED,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;IAClC,CAAC;IAKO,UAAU,CAAC,IAAiB;QAElC,IAAI,IAAA,qBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC9B,OAAO,CAAC,CAAC;SACV;QAGD,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;YAC9B,OAAO,CAAC,CAAC;SACV;aAEI,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACzC;QAGD,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;IACpC,CAAC;IAiCD,iBAAiB,CAAC,KAAa;;QAC7B,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAG,KAAK,CAAC,CAAC;QAElC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,CAAA,EAAE;YAC1C,OAAO;SACR;QAED,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,CAAE,IAAY,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,YAAY,EAAE;YACvC,KAAK,EAAE,IAAI;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;aACnB;SACF,CAAC,CAAC;IACL,CAAC;IAqGD,OAAO;;QACL,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,KAAK,kDAAI,CAAC;QAEjC,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,0CAAE,GAAG,CAAC,kBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9E,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,gBAAgB,GAAG,IAAoD,CAAC;QAC7E,IAAI,CAAC,WAAW,GAAG,IAAwE,CAAC;QAC5F,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;;AA7aH,wBA8aC;AA1aiB,mBAAY,GAAG;IAC7B,MAAM,EAAN,eAAM;CACP,CAAC;AAEK,cAAO,GAAG,QAAQ,CAAC;AAGnB,WAAI,GAAG,wBAAiB,CAAC,MAAM,CAAC;AAqalC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,iBAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB","file":"player.js","sourcesContent":["import { Factory } from './../../core/factory';\nimport type { INode, IGroup, IGraphic } from '@visactor/vrender-core';\nimport type { ContinuousPlayerAttributes, DiscretePlayerAttributes } from '@visactor/vrender-components';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscretePlayer, ContinuousPlayer, PlayerEventEnum } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { isNumber, array, isEqual, isValidNumber } from '@visactor/vutils';\n\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\n\nimport type { DirectionType, IPlayer } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IComponent } from '../interface';\nimport type { IPoint, IOrientType, ILayoutRect, IChartSpec, IDataValues } from '../../typings';\n\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { BaseComponent } from '../base/base-component';\nimport { transformContinuousSpecToAttrs, transformDiscreteSpecToAttrs } from './utils/transform';\nimport { isHorizontal, isVertical } from './utils/orient';\nimport { LayoutLevel, LayoutZIndex } from '../../constant/layout';\nimport { ChartEvent } from '../../constant/event';\nimport { player } from '../../theme/builtin/common/component/player';\n\nexport class Player extends BaseComponent<IPlayer> implements IComponent {\n layoutZIndex: number = LayoutZIndex.Player;\n layoutLevel: number = LayoutLevel.Player;\n\n static readonly builtInTheme = {\n player\n };\n\n static specKey = 'player';\n specKey: string = 'player';\n\n static type = ComponentTypeEnum.player;\n type = ComponentTypeEnum.player;\n protected _orient: IOrientType = 'bottom';\n private _specs: Partial<IChartSpec>[];\n\n private _playerComponent: DiscretePlayer | ContinuousPlayer;\n private _cacheAttrs: ContinuousPlayerAttributes | DiscretePlayerAttributes;\n\n private _visible: boolean;\n private _direction: DirectionType;\n private _alternate: boolean;\n private _dx: number;\n private _dy: number;\n private _width: number;\n private _height: number;\n private _position: 'start' | 'middle' | 'end';\n\n get orient() {\n return this._orient;\n }\n\n set layoutOrient(v: IOrientType) {\n this._orient = v;\n }\n\n /**\n * 设置Attr\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._orient = this._spec.orient ?? 'bottom';\n this._specs = this._spec.specs ?? [];\n this._direction = this._spec.direction ?? 'default';\n this._alternate = this._spec.alternate ?? false;\n this._dx = this._spec.dx ?? 0;\n this._dy = this._spec.dy ?? 0;\n this._position = this._spec.position ?? 'middle';\n this._visible = this._spec.visible ?? true;\n }\n\n _compareSpec(spec: IPlayer, prevSpec: IPlayer) {\n const result = super._compareSpec(spec, prevSpec);\n const specChanged = !isEqual(prevSpec, spec);\n\n if (prevSpec?.type !== spec?.type) {\n result.reMake = true;\n return result;\n }\n if (specChanged && !result.reMake && !result.reCompile) {\n result.change = true;\n result.reRender = true;\n result.effects = {\n ...result.effects,\n component: true,\n layout: true,\n render: true\n };\n }\n\n return result;\n }\n\n /**\n * 计算组件位置(布局的左上角起点)\n * @param pos\n */\n afterSetLayoutStartPoint(pos: IPoint) {\n super.afterSetLayoutStartPoint(pos);\n if (isValidNumber(pos.x)) {\n const offsetX = isVertical(this._orient) ? pos.x + this._sliderExceededSize() / 2 : pos.x;\n this._playerComponent && this._playerComponent.setAttribute('x', offsetX);\n }\n if (isValidNumber(pos.y)) {\n const offsetY = isHorizontal(this._orient) ? pos.y + this._sliderExceededSize() / 2 : pos.y;\n this._playerComponent && this._playerComponent.setAttribute('y', offsetY);\n }\n }\n\n /**\n * 计算组件占用的bound box\n * @param rect\n * @returns\n */\n getBoundsInRect(rect: ILayoutRect, fullSpace: ILayoutRect) {\n this._width = this._computeWidth(rect);\n this._height = this._computeHeight(rect);\n this._dx = this._computeDx(fullSpace);\n this._dy = this._computeDy(fullSpace);\n\n const bounds = this._computeLayoutRect(rect, this._width, this._height);\n\n this._createOrUpdatePlayerComponent();\n\n return bounds;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._playerComponent] as unknown as IGroup[];\n }\n\n /**\n * 播放器属性\n */\n private _getPlayerAttrs = () => {\n const type = this._spec.type;\n const layoutAttrs = {\n size: {\n width: this._width,\n height: this._height\n },\n dx: this._spec.dx ?? 0 + this._dx,\n dy: this._spec.dy ?? 0 + this._dy\n };\n // 离散类型Attrs\n if (type === 'discrete') {\n return {\n ...transformDiscreteSpecToAttrs(this._spec, this._specs),\n ...layoutAttrs,\n disableTriggerEvent: this._option.disableTriggerEvent,\n loop: this._spec?.loop ?? true\n };\n }\n // 连续类型Attrs\n return {\n ...transformContinuousSpecToAttrs(this._spec, this._specs),\n ...layoutAttrs,\n disableTriggerEvent: this._option.disableTriggerEvent,\n loop: this._spec?.loop ?? true\n };\n };\n\n /**\n * 创建或更新播放器组件\n */\n private _createOrUpdatePlayerComponent = () => {\n const attrs = { ...this._getPlayerAttrs() };\n const container = this.getContainer();\n if (this._playerComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._cacheAttrs = attrs;\n this._playerComponent.setAttributes(attrs);\n // FIXME: player 组件没有重写 setAttributes 方法,因此不能正常更新样式。以下两句模拟执行了 setAttributes 方法,但是应在 vrender-component 的后续版本中实现 setAttributes 方法\n this._playerComponent._initAttributes();\n this._playerComponent.render();\n }\n } else {\n if (attrs.type === 'discrete') {\n this._playerComponent = new DiscretePlayer(attrs);\n } else {\n this._playerComponent = new ContinuousPlayer(attrs);\n }\n\n this._cacheAttrs = attrs;\n this._playerComponent.name = `player`;\n\n container.add(this._playerComponent as unknown as INode);\n\n this._initEvent();\n }\n };\n\n /**\n * 计算起点\n */\n private _computeLayoutRect(rect: ILayoutRect, width: number, height: number) {\n // don't set bounds when player hidden\n if (this._visible === false) {\n return { x1: 0, x2: 0, y1: 0, y2: 0 };\n }\n // set bounds by 4 kinds of orient\n switch (this._orient) {\n case 'top': {\n return { x1: 0, y1: 0, x2: width, y2: height };\n }\n case 'right': {\n return { x1: rect.width - width, y1: 0, x2: rect.width, y2: rect.height };\n }\n case 'left': {\n return { x1: 0, y1: 0, x2: width, y2: height };\n }\n case 'bottom':\n default: {\n return { x1: 0, y1: rect.height - height, x2: rect.width, y2: rect.height };\n }\n }\n }\n\n /**\n * 计算组件宽度\n */\n private _computeWidth(rect: ILayoutRect) {\n // 若设置的是数值则直接返回\n if (isNumber(this._spec.width)) {\n return Math.min(rect.width, Number(this._spec.width));\n }\n\n if (isVertical(this._orient)) {\n return this._maxSize();\n }\n return rect.width;\n }\n\n /**\n * 计算组件高度\n */\n private _computeHeight(rect: ILayoutRect) {\n // 若设置的是数值则直接返回\n if (isNumber(this._spec.height)) {\n this._height = this._spec.height;\n return Math.min(rect.height, Number(this._spec.height));\n }\n\n if (isHorizontal(this._orient)) {\n return this._maxSize();\n }\n return rect.height;\n }\n\n /**\n * 计算x方向的偏移, 用于实现对齐\n */\n private _computeDx(rect: ILayoutRect) {\n // 垂直时, x不偏移\n if (isVertical(this._orient)) {\n return 0;\n }\n\n // start\n if (this._position === 'start') {\n return 0;\n }\n // middle\n else if (this._position === 'middle') {\n return (rect.width - this._width) / 2;\n }\n // end\n return rect.width - this._width;\n }\n\n /**\n * 计算y方向的偏移, 用于实现对齐\n */\n private _computeDy(rect: ILayoutRect) {\n // 水平时, y不偏移\n if (isHorizontal(this._orient)) {\n return 0;\n }\n\n // start\n if (this._position === 'start') {\n return 0;\n }\n // middle\n else if (this._position === 'middle') {\n return (rect.height - this._height) / 2;\n }\n\n // end\n return rect.height - this._height;\n }\n\n /**\n * 播放器宽度取计算子组件中最高的一个\n */\n private _maxSize = () => {\n return Math.max(\n ...array(this._spec.controller.start?.style?.size),\n ...array(this._spec.controller.pause?.style?.size),\n ...array(this._spec.controller.backward?.style?.size),\n ...array(this._spec.controller.forward?.style?.size),\n (isVertical(this._orient) ? this._spec.slider.railStyle.width : this._spec.slider.railStyle.height) ?? 10\n );\n };\n\n /**\n * 滑动条超过按钮的高度\n */\n private _sliderExceededSize = () => {\n const sliderHeight =\n (isVertical(this._orient) ? this._spec.slider.railStyle.width : this._spec.slider.railStyle.height) ?? 10;\n const controllersHeight = Math.max(\n ...array(this._spec.controller.start?.style?.size),\n ...array(this._spec.controller.pause?.style?.size),\n ...array(this._spec.controller.backward?.style?.size),\n ...array(this._spec.controller.forward?.style?.size)\n );\n if (sliderHeight >= controllersHeight) {\n return sliderHeight - controllersHeight;\n }\n return 0;\n };\n\n changePlayerIndex(index: number) {\n const spec = this._specs?.[index];\n\n if (!spec || !this._option?.globalInstance) {\n return;\n }\n\n this._option.globalInstance.updateFullData((spec as any).data);\n\n this.event.emit(ChartEvent.playerChange, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n }\n autoPlayCallback = () => {\n if (this._spec?.auto && this._playerComponent) {\n this._playerComponent.pause();\n this._playerComponent.play();\n }\n };\n /**\n * 事件\n */\n private _initEvent = () => {\n if (this._option.disableTriggerEvent) {\n return;\n }\n // 自动播放\n this._option.globalInstance.off(ChartEvent.rendered, this.autoPlayCallback);\n // 自动播放\n this._option.globalInstance.on(ChartEvent.rendered, this.autoPlayCallback);\n\n // 循环播放 与 交替方向\n this._playerComponent.addEventListener(PlayerEventEnum.end, () => {\n this.event.emit(ChartEvent.playerEnd, { model: this });\n\n // 交替方向, 仅离散轴支持\n if (this._alternate && this._spec.type === 'discrete') {\n this._direction = this._direction === 'default' ? 'reverse' : 'default';\n this._playerComponent.setAttributes({\n direction: this._direction,\n dataIndex: this._direction === 'reverse' ? this._specs.length - 2 : 1\n });\n }\n\n // 循环播放\n if (this._spec?.loop) {\n this._playerComponent.play();\n }\n });\n\n // 数据更新\n this._playerComponent.addEventListener(PlayerEventEnum.change, (e: { detail: { index: number } }) => {\n // 更新data\n const { index } = e.detail;\n this.changePlayerIndex(index);\n });\n\n // 后退\n this._playerComponent.addEventListener(PlayerEventEnum.backward, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerBackward, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 前进\n this._playerComponent.addEventListener(PlayerEventEnum.forward, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerForward, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 播放\n this._playerComponent.addEventListener(PlayerEventEnum.play, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerPlay, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n\n // 暂停\n this._playerComponent.addEventListener(PlayerEventEnum.pause, (e: { detail: { index: number } }) => {\n const { index } = e.detail;\n const spec = this._specs[index];\n this.event.emit(ChartEvent.playerPause, {\n model: this,\n value: {\n spec: spec,\n index: index,\n specs: this._specs\n }\n });\n });\n };\n release(): void {\n this._playerComponent?.pause?.();\n // 自动播放\n this._option?.globalInstance?.off(ChartEvent.rendered, this.autoPlayCallback);\n super.release();\n this._playerComponent = null as unknown as DiscretePlayer | ContinuousPlayer;\n this._cacheAttrs = null as unknown as ContinuousPlayerAttributes | DiscretePlayerAttributes;\n this._specs = [];\n }\n}\n\nexport const registerPlayer = () => {\n Factory.registerComponent(Player.type, Player);\n};\n"]}
@@ -13,5 +13,4 @@ function(BOX_PLOT_TOOLTIP_KEYS) {
13
13
  BOX_PLOT_TOOLTIP_KEYS.OUTLIER = "outlier", BOX_PLOT_TOOLTIP_KEYS.MAX = "max", BOX_PLOT_TOOLTIP_KEYS.MIN = "min",
14
14
  BOX_PLOT_TOOLTIP_KEYS.MEDIAN = "median", BOX_PLOT_TOOLTIP_KEYS.Q1 = "q1", BOX_PLOT_TOOLTIP_KEYS.Q3 = "q3",
15
15
  BOX_PLOT_TOOLTIP_KEYS.SERIES_FIELD = "seriesField";
16
- }(BOX_PLOT_TOOLTIP_KEYS = exports.BOX_PLOT_TOOLTIP_KEYS || (exports.BOX_PLOT_TOOLTIP_KEYS = {}));
17
- //# sourceMappingURL=box-plot.js.map
16
+ }(BOX_PLOT_TOOLTIP_KEYS = exports.BOX_PLOT_TOOLTIP_KEYS || (exports.BOX_PLOT_TOOLTIP_KEYS = {}));
@@ -7,4 +7,5 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const base_1 = require("./base");
8
8
 
9
9
  exports.CORRELATION_X = `${base_1.PREFIX}_CORRELATION_X`, exports.CORRELATION_Y = `${base_1.PREFIX}_CORRELATION_Y`,
10
- exports.CORRELATION_SIZE = `${base_1.PREFIX}_CORRELATION_SIZE`;
10
+ exports.CORRELATION_SIZE = `${base_1.PREFIX}_CORRELATION_SIZE`;
11
+ //# sourceMappingURL=correlation.js.map
@@ -25,4 +25,4 @@ function(LayoutZIndex) {
25
25
  LayoutLevel[LayoutLevel.Legend = 50] = "Legend", LayoutLevel[LayoutLevel.Title = 70] = "Title",
26
26
  LayoutLevel[LayoutLevel.CustomMark = 70] = "CustomMark";
27
27
  }(LayoutLevel = exports.LayoutLevel || (exports.LayoutLevel = {}));
28
- //# sourceMappingURL=layout.js.map
28
+ //# sourceMappingURL=layout.js.map
@@ -1,7 +1,7 @@
1
1
  import { VChart } from './vchart';
2
2
  import { Factory } from './factory';
3
3
  export { VChart, Factory };
4
- export declare const version = "2.0.22";
4
+ export declare const version = "2.1.1";
5
5
  export type { IVChart } from './interface';
6
6
  export type { IStateSpec, StateValueType } from '../compile/mark';
7
7
  export type { IRegion } from '../region/interface';
@@ -23,7 +23,8 @@ export * from '../typings/visual';
23
23
  export * from '../typings/tooltip';
24
24
  export * from '../theme/index';
25
25
  export { vglobal, createGroup, createRichText, createText, createArc, createArea, createRect, createLine, createSymbol } from '@visactor/vrender-core';
26
- export { ManualTicker, StreamLight } from '@visactor/vrender-animate';
26
+ export { ManualTicker } from '@visactor/vrender-animate/ticker/manual-ticker';
27
+ export { StreamLight } from '@visactor/vrender-animate/custom/streamLight';
27
28
  export * from '../util/space';
28
29
  export { transformToGraphic } from '../util/style';
29
30
  export { getSpecInfo } from '../component/util';