@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/env/env.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAKnD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,UAAU,EAAE,CAAC;AACf,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAElC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,WAAW,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,WAAW,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,WAAW,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,SAAS,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,SAAS,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC,CAAC","file":"env.js","sourcesContent":["import {\n initAllEnv,\n loadBrowserEnv,\n loadFeishuEnv,\n loadLynxEnv,\n loadNodeEnv,\n loadTaroEnv,\n loadWxEnv,\n loadTTEnv,\n loadHarmonyEnv\n} from '@visactor/vrender-kits';\nimport { container } from '@visactor/vrender-core';\n\n/**\n * 加载所有环境兼容代码\n */\nexport const registerAllEnv = () => {\n initAllEnv();\n};\n\n/**\n * 加载浏览器环境代码\n */\nexport const registerBrowserEnv = () => {\n loadBrowserEnv(container);\n};\n\n/**\n * 加载飞书(飞书小程序/block/tt)环境代码\n */\nexport const registerLarkEnv = () => {\n // TODO: 后续统一为 loadLarkEnv\n loadFeishuEnv(container);\n};\n\n/**\n * 加载 Lynx 环境代码\n */\nexport const registerLynxEnv = () => {\n loadLynxEnv(container);\n};\n\n/**\n * 加载 Node 环境代码\n */\nexport const registerNodeEnv = () => {\n loadNodeEnv(container);\n};\n\n/**\n * 加载 Taro 环境代码\n */\nexport const registerTaroEnv = () => {\n loadTaroEnv(container);\n};\n\n/**\n * 加载微信小程序环境代码\n */\nexport const registerWXEnv = () => {\n loadWxEnv(container);\n};\n/**\n * 加载TT小程序环境代码\n */\nexport const registerTTEnv = () => {\n loadTTEnv(container);\n};\n/**\n * 加载Harmony环境代码\n */\nexport const registerHarmonyEnv = () => {\n loadHarmonyEnv(container);\n};\n"]}
1
+ {"version":3,"sources":["../src/env/env.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAKnD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,UAAU,EAAE,CAAC;AACf,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAElC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,WAAW,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,WAAW,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,WAAW,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,SAAS,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,SAAS,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC,CAAC","file":"env.js","sourcesContent":["import {\n initAllEnv,\n loadBrowserEnv,\n loadFeishuEnv,\n loadLynxEnv,\n loadNodeEnv,\n loadTaroEnv,\n loadWxEnv,\n loadTTEnv,\n loadHarmonyEnv\n} from '@visactor/vrender-kits/env';\nimport { container } from '@visactor/vrender-core';\n\n/**\n * 加载所有环境兼容代码\n */\nexport const registerAllEnv = () => {\n initAllEnv();\n};\n\n/**\n * 加载浏览器环境代码\n */\nexport const registerBrowserEnv = () => {\n loadBrowserEnv(container);\n};\n\n/**\n * 加载飞书(飞书小程序/block/tt)环境代码\n */\nexport const registerLarkEnv = () => {\n // TODO: 后续统一为 loadLarkEnv\n loadFeishuEnv(container);\n};\n\n/**\n * 加载 Lynx 环境代码\n */\nexport const registerLynxEnv = () => {\n loadLynxEnv(container);\n};\n\n/**\n * 加载 Node 环境代码\n */\nexport const registerNodeEnv = () => {\n loadNodeEnv(container);\n};\n\n/**\n * 加载 Taro 环境代码\n */\nexport const registerTaroEnv = () => {\n loadTaroEnv(container);\n};\n\n/**\n * 加载微信小程序环境代码\n */\nexport const registerWXEnv = () => {\n loadWxEnv(container);\n};\n/**\n * 加载TT小程序环境代码\n */\nexport const registerTTEnv = () => {\n loadTTEnv(container);\n};\n/**\n * 加载Harmony环境代码\n */\nexport const registerHarmonyEnv = () => {\n loadHarmonyEnv(container);\n};\n"]}
package/esm/mark/arc.js CHANGED
@@ -10,9 +10,11 @@ import { polarToCartesian } from "@visactor/vutils";
10
10
 
11
11
  import { createArc } from "@visactor/vrender-core";
12
12
 
13
- import { registerArcDataLabel } from "@visactor/vrender-components";
13
+ import { registerArcDataLabel } from "@visactor/vrender-components/label";
14
14
 
15
- import { registerArc, registerShadowRoot } from "@visactor/vrender-kits";
15
+ import { registerArc } from "@visactor/vrender-kits/register/register-arc";
16
+
17
+ import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
16
18
 
17
19
  export class BaseArcMark extends BaseMark {
18
20
  constructor(name, option) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":"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","file":"arc.js","sourcesContent":["import { Factory } from './../core/factory';\nimport { ARC_MIDDLE_ANGLE } from '../constant/polar';\nimport type { IArcMarkSpec, Datum, StateValueType } from '../typings';\nimport type { ExChannelCall } from './base/base-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseMark } from './base/base-mark';\nimport type { IArcMark, IMarkOption, IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerArcAnimation } from '../animation/config';\nimport { polarToCartesian } from '@visactor/vutils';\nimport { createArc } from '@visactor/vrender-core';\nimport { registerArcDataLabel } from '@visactor/vrender-components';\nimport { registerArc, registerShadowRoot } from '@visactor/vrender-kits';\n\nexport class BaseArcMark<T extends IArcMarkSpec> extends BaseMark<T> implements IMarkRaw<T> {\n readonly type: string = ArcMark.type;\n\n _unCompileChannel = { centerOffset: true, radiusOffset: true };\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n\n // because of set object.function, this setting should be write after object init\n this._computeExChannel.x = this.computeCenter as ExChannelCall;\n this._computeExChannel.y = this.computeCenter as ExChannelCall;\n this._computeExChannel.outerRadius = this.computeOuterRadius as ExChannelCall;\n\n this._extensionChannel.centerOffset = ['x', 'y'];\n this._extensionChannel.radiusOffset = ['outerRadius'];\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<T> = {\n ...super._getDefaultStyle(),\n startAngle: 0,\n endAngle: 0,\n outerRadius: 0,\n innerRadius: 0,\n cornerRadius: 0,\n lineWidth: 0,\n innerPadding: 0,\n outerPadding: 0\n };\n return defaultStyle;\n }\n\n protected computeOuterRadius = (\n key: string,\n datum: Datum,\n states: StateValueType = 'normal',\n superValue: number\n ): number => {\n const offset = (this.getAttribute('radiusOffset', datum, states) as number) ?? 0;\n return superValue + offset;\n };\n\n protected computeCenter = (key: 'x' | 'y', datum: Datum, states: StateValueType = 'normal', center: number) => {\n return (\n polarToCartesian(\n { x: 0, y: 0 },\n this.getAttribute('centerOffset', datum, states) as number,\n datum[ARC_MIDDLE_ANGLE]\n )[key] + center\n );\n };\n}\n\nexport class ArcMark extends BaseArcMark<IArcMarkSpec> implements IArcMark {\n static readonly type = MarkTypeEnum.arc;\n readonly type: MarkTypeEnum = ArcMark.type;\n}\n\nexport const registerArcMark = () => {\n registerShadowRoot();\n registerArc();\n registerArcDataLabel();\n registerArcAnimation();\n Factory.registerGraphicComponent(MarkTypeEnum.arc, createArc);\n Factory.registerMark(ArcMark.type, ArcMark);\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":"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","file":"arc.js","sourcesContent":["import { Factory } from './../core/factory';\nimport { ARC_MIDDLE_ANGLE } from '../constant/polar';\nimport type { IArcMarkSpec, Datum, StateValueType } from '../typings';\nimport type { ExChannelCall } from './base/base-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseMark } from './base/base-mark';\nimport type { IArcMark, IMarkOption, IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerArcAnimation } from '../animation/config';\nimport { polarToCartesian } from '@visactor/vutils';\nimport { createArc } from '@visactor/vrender-core';\nimport { registerArcDataLabel } from '@visactor/vrender-components/label';\nimport { registerArc } from '@visactor/vrender-kits/register/register-arc';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\n\nexport class BaseArcMark<T extends IArcMarkSpec> extends BaseMark<T> implements IMarkRaw<T> {\n readonly type: string = ArcMark.type;\n\n _unCompileChannel = { centerOffset: true, radiusOffset: true };\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n\n // because of set object.function, this setting should be write after object init\n this._computeExChannel.x = this.computeCenter as ExChannelCall;\n this._computeExChannel.y = this.computeCenter as ExChannelCall;\n this._computeExChannel.outerRadius = this.computeOuterRadius as ExChannelCall;\n\n this._extensionChannel.centerOffset = ['x', 'y'];\n this._extensionChannel.radiusOffset = ['outerRadius'];\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<T> = {\n ...super._getDefaultStyle(),\n startAngle: 0,\n endAngle: 0,\n outerRadius: 0,\n innerRadius: 0,\n cornerRadius: 0,\n lineWidth: 0,\n innerPadding: 0,\n outerPadding: 0\n };\n return defaultStyle;\n }\n\n protected computeOuterRadius = (\n key: string,\n datum: Datum,\n states: StateValueType = 'normal',\n superValue: number\n ): number => {\n const offset = (this.getAttribute('radiusOffset', datum, states) as number) ?? 0;\n return superValue + offset;\n };\n\n protected computeCenter = (key: 'x' | 'y', datum: Datum, states: StateValueType = 'normal', center: number) => {\n return (\n polarToCartesian(\n { x: 0, y: 0 },\n this.getAttribute('centerOffset', datum, states) as number,\n datum[ARC_MIDDLE_ANGLE]\n )[key] + center\n );\n };\n}\n\nexport class ArcMark extends BaseArcMark<IArcMarkSpec> implements IArcMark {\n static readonly type = MarkTypeEnum.arc;\n readonly type: MarkTypeEnum = ArcMark.type;\n}\n\nexport const registerArcMark = () => {\n registerShadowRoot();\n registerArc();\n registerArcDataLabel();\n registerArcAnimation();\n Factory.registerGraphicComponent(MarkTypeEnum.arc, createArc);\n Factory.registerMark(ArcMark.type, ArcMark);\n};\n"]}
package/esm/mark/area.js CHANGED
@@ -4,9 +4,13 @@ import { BaseLineMark, LINE_SEGMENT_ATTRIBUTES } from "./base/base-line";
4
4
 
5
5
  import { registerLineOrAreaAnimation } from "../animation/config";
6
6
 
7
- import { registerArea, registerShadowRoot } from "@visactor/vrender-kits";
7
+ import { registerArea } from "@visactor/vrender-kits/register/register-area";
8
8
 
9
- import { registerLineDataLabel, registerSymbolDataLabel } from "@visactor/vrender-components";
9
+ import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
10
+
11
+ import { registerLineDataLabel } from "@visactor/vrender-components/label/line";
12
+
13
+ import { registerSymbolDataLabel } from "@visactor/vrender-components/label/symbol";
10
14
 
11
15
  import { createArea } from "@visactor/vrender-core";
12
16
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/area.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAIzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,uBAAuB,GAAG;IAC9B,GAAG,uBAAuB;IAC1B,MAAM;IACN,aAAa;IACb,YAAY;IACZ,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,cAAc;CACf,CAAC;AAEF,MAAM,OAAO,QAAS,SAAQ,YAA2B;IAAzD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAkB9B,yBAAoB,GAAG,CAAC,OAAe,EAAE,EAAE;YACzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC;IACJ,CAAC;IAnBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,qBAAqB;QAC7B,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAES,oBAAoB;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;;AAjBe,aAAI,UAAqB;AAwB3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC;IACf,qBAAqB,EAAE,CAAC;IACxB,uBAAuB,EAAE,CAAC;IAC1B,2BAA2B,EAAE,CAAC;IAC9B,OAAO,CAAC,wBAAwB,SAAoB,UAAU,CAAC,CAAC;AAClE,CAAC,CAAC","file":"area.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IAreaMarkSpec } from '../typings/visual';\nimport { BaseLineMark, LINE_SEGMENT_ATTRIBUTES } from './base/base-line';\nimport type { IAreaMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerLineOrAreaAnimation } from '../animation/config';\nimport { registerArea, registerShadowRoot } from '@visactor/vrender-kits';\nimport { registerLineDataLabel, registerSymbolDataLabel } from '@visactor/vrender-components';\nimport { createArea } from '@visactor/vrender-core';\n\nconst AREA_SEGMENT_ATTRIBUTES = [\n ...LINE_SEGMENT_ATTRIBUTES,\n 'fill',\n 'fillOpacity',\n 'background',\n 'texture',\n 'texturePadding',\n 'textureSize',\n 'textureColor'\n];\n\nexport class AreaMark extends BaseLineMark<IAreaMarkSpec> implements IAreaMark {\n static readonly type = MarkTypeEnum.area;\n readonly type = AreaMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IAreaMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 0\n };\n return defaultStyle;\n }\n\n protected _getSegmentAttributes() {\n return AREA_SEGMENT_ATTRIBUTES;\n }\n\n protected _getIgnoreAttributes(): string[] {\n return [];\n }\n\n _isValidPointChannel = (channel: string) => {\n return ['x', 'y', 'x1', 'y1', 'defined'].includes(channel);\n };\n}\n\nexport const registerAreaMark = () => {\n Factory.registerMark(AreaMark.type, AreaMark);\n registerShadowRoot();\n registerArea();\n registerLineDataLabel();\n registerSymbolDataLabel();\n registerLineOrAreaAnimation();\n Factory.registerGraphicComponent(MarkTypeEnum.area, createArea);\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/area.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAIzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,uBAAuB,GAAG;IAC9B,GAAG,uBAAuB;IAC1B,MAAM;IACN,aAAa;IACb,YAAY;IACZ,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,cAAc;CACf,CAAC;AAEF,MAAM,OAAO,QAAS,SAAQ,YAA2B;IAAzD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAkB9B,yBAAoB,GAAG,CAAC,OAAe,EAAE,EAAE;YACzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC;IACJ,CAAC;IAnBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,qBAAqB;QAC7B,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAES,oBAAoB;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;;AAjBe,aAAI,UAAqB;AAwB3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,kBAAkB,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC;IACf,qBAAqB,EAAE,CAAC;IACxB,uBAAuB,EAAE,CAAC;IAC1B,2BAA2B,EAAE,CAAC;IAC9B,OAAO,CAAC,wBAAwB,SAAoB,UAAU,CAAC,CAAC;AAClE,CAAC,CAAC","file":"area.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IAreaMarkSpec } from '../typings/visual';\nimport { BaseLineMark, LINE_SEGMENT_ATTRIBUTES } from './base/base-line';\nimport type { IAreaMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerLineOrAreaAnimation } from '../animation/config';\nimport { registerArea } from '@visactor/vrender-kits/register/register-area';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { registerLineDataLabel } from '@visactor/vrender-components/label/line';\nimport { registerSymbolDataLabel } from '@visactor/vrender-components/label/symbol';\nimport { createArea } from '@visactor/vrender-core';\n\nconst AREA_SEGMENT_ATTRIBUTES = [\n ...LINE_SEGMENT_ATTRIBUTES,\n 'fill',\n 'fillOpacity',\n 'background',\n 'texture',\n 'texturePadding',\n 'textureSize',\n 'textureColor'\n];\n\nexport class AreaMark extends BaseLineMark<IAreaMarkSpec> implements IAreaMark {\n static readonly type = MarkTypeEnum.area;\n readonly type = AreaMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IAreaMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 0\n };\n return defaultStyle;\n }\n\n protected _getSegmentAttributes() {\n return AREA_SEGMENT_ATTRIBUTES;\n }\n\n protected _getIgnoreAttributes(): string[] {\n return [];\n }\n\n _isValidPointChannel = (channel: string) => {\n return ['x', 'y', 'x1', 'y1', 'defined'].includes(channel);\n };\n}\n\nexport const registerAreaMark = () => {\n Factory.registerMark(AreaMark.type, AreaMark);\n registerShadowRoot();\n registerArea();\n registerLineDataLabel();\n registerSymbolDataLabel();\n registerLineOrAreaAnimation();\n Factory.registerGraphicComponent(MarkTypeEnum.area, createArea);\n};\n"]}
@@ -55,7 +55,7 @@ export class BaseLineMark extends BaseMark {
55
55
  })), res)), []) : null;
56
56
  }
57
57
  _runPointsEncoder(newStyles, g, attrs = {}) {
58
- var _a, _b, _c;
58
+ var _a, _b;
59
59
  const data = g.context.data, lineAttrs = [], points = [], commonAttrs = {}, progressive = null === (_a = this.renderContext) || void 0 === _a ? void 0 : _a.progressive, isFirstFrame = progressive && 0 === progressive.currentIndex;
60
60
  if (data.forEach(((datum, index) => {
61
61
  var _a;
@@ -63,7 +63,7 @@ export class BaseLineMark extends BaseMark {
63
63
  this._isValidPointChannel(attrName) ? points[index][attrName] = newStyles[attrName](datum) : this._segmentStyleKeys.includes(attrName) && !progressive ? lineAttrs[index][attrName] = newStyles[attrName](datum) : 0 !== index || progressive && !isFirstFrame || (commonAttrs[attrName] = newStyles[attrName](datum));
64
64
  })), points[index].context = null !== (_a = this._keyGetter(datum)) && void 0 !== _a ? _a : index;
65
65
  })), progressive) {
66
- const segments = null !== (_c = null === (_b = g.attribute) || void 0 === _b ? void 0 : _b.segments) && void 0 !== _c ? _c : [];
66
+ const segments = (null === (_b = g.attribute) || void 0 === _b ? void 0 : _b.segments) ? [ ...g.attribute.segments ] : [];
67
67
  return segments.push({
68
68
  points: points
69
69
  }), isFirstFrame ? Object.assign(Object.assign({}, commonAttrs), {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/base/base-line.ts"],"names":[],"mappings":"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","file":"base-line.js","sourcesContent":["import { isValidScaleType } from '@visactor/vscale';\nimport type { StateValueType } from '../../compile/mark';\nimport type { ConvertToMarkStyleSpec, ILineLikeMarkSpec } from '../../typings/visual';\nimport type { IPointLike } from '@visactor/vutils';\nimport { isFunction, isNil } from '@visactor/vutils';\nimport { BaseMark } from './base-mark';\nimport { DiffState, type IMarkGraphic, type IMarkStyle } from '../interface';\nimport type { Datum } from '../../typings/common';\nimport type { IGroup, ILine, ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { isSegmentAttrEqual } from '../utils/line';\nimport type { IMarkSpec } from '../../typings/spec/common';\nimport { DEFAULT_DATA_KEY } from '../../constant/data';\n\nexport const LINE_SEGMENT_ATTRIBUTES = [\n 'stroke',\n 'strokeOpacity',\n 'lineDash',\n 'lineDashOffset',\n 'lineCap',\n 'lineJoin',\n 'lineWidth',\n 'miterLimit'\n];\n\nexport abstract class BaseLineMark<T extends ILineLikeMarkSpec = ILineLikeMarkSpec> extends BaseMark<T> {\n protected abstract _getIgnoreAttributes(): string[];\n\n protected _getSegmentAttributes() {\n return LINE_SEGMENT_ATTRIBUTES;\n }\n\n protected _segmentStyleKeys: string[] = [];\n\n initStyleWithSpec(spec: IMarkSpec<T>) {\n this._segmentStyleKeys = [];\n\n super.initStyleWithSpec(spec);\n }\n /**\n * @override\n * 之所以覆写是因为 vgrammar 侧默认都会处理 lineSegments,非常耗性能,所以需要 VChart 给一个标志位用于是否执行。\n * 由外部series调用,设置markStyle的接口。\n * @param style\n * @param level\n * @param state\n */\n setStyle<T>(\n style: Partial<ConvertToMarkStyleSpec<T>> | Partial<IMarkStyle<T>>,\n state: StateValueType = 'normal',\n level: number = 0\n ): void {\n if (isNil(style)) {\n return;\n }\n\n if (this.stateStyle[state] === undefined) {\n this.stateStyle[state] = {};\n }\n\n const ignoreAttributes = this._getIgnoreAttributes();\n const segmentAttributes = this._getSegmentAttributes();\n const isUserLevel = this.isUserLevel(level);\n\n Object.keys(style).forEach(attr => {\n const attrStyle = (style as any)[attr];\n if (isNil(attrStyle) || ignoreAttributes.includes(attr)) {\n return;\n }\n if (\n isUserLevel &&\n segmentAttributes.includes(attr) &&\n (isValidScaleType(attrStyle?.type) || attrStyle?.scale || isFunction(attrStyle))\n ) {\n if (!this._segmentStyleKeys.includes(attr)) {\n this._segmentStyleKeys.push(attr);\n }\n }\n\n const styleConverter = this._filterAttribute(attr as any, attrStyle, state, level, isUserLevel);\n\n this.setAttribute(attr as any, styleConverter, state, level);\n });\n }\n\n _isValidPointChannel = (channel: string) => {\n return ['x', 'y', 'defined'].includes(channel);\n };\n\n _getLineSegments(items: any[], points: IPointLike[]) {\n if (!this._segmentStyleKeys || !this._segmentStyleKeys.length) {\n return null;\n }\n\n const segments: { attrs: any; startIndex: number; endIndex?: number }[] = [];\n let prevSegmentAttrs: any = null;\n\n items.forEach((item, index) => {\n if (\n !prevSegmentAttrs ||\n !this._segmentStyleKeys.every(key => {\n return isSegmentAttrEqual(prevSegmentAttrs[key], item[key], key);\n })\n ) {\n if (segments.length) {\n segments[segments.length - 1].endIndex = index;\n }\n\n prevSegmentAttrs = item;\n segments.push({\n attrs: prevSegmentAttrs,\n startIndex: index\n });\n }\n });\n\n if (segments.length >= 2) {\n return segments.map(entry => {\n return {\n ...entry.attrs,\n points: points.slice(entry.startIndex, isNil(entry.endIndex) ? points.length : entry.endIndex)\n };\n });\n }\n\n return null;\n }\n\n _getPrevPoints(g: ILine): IPointLike[] | null {\n const { points, segments } = g.attribute;\n\n return (\n points ??\n (segments\n ? segments.reduce((res: IPointLike[], seg: ILineGraphicAttribute) => {\n if (seg.points) {\n seg.points.forEach((point: IPointLike) => {\n res.push(point);\n });\n }\n\n return res;\n }, [])\n : null)\n );\n }\n\n _runPointsEncoder(newStyles: Record<string, (datum: Datum) => any>, g: IMarkGraphic, attrs: any = {}) {\n const data = g.context.data;\n const lineAttrs: any[] = [];\n const points: IPointLike[] = [];\n const commonAttrs: any = {};\n const progressive = this.renderContext?.progressive;\n const isFirstFrame = progressive && progressive.currentIndex === 0;\n\n data.forEach((datum: Datum, index: number) => {\n points[index] = {} as IPointLike;\n lineAttrs[index] = {};\n\n Object.keys(newStyles).forEach(attrName => {\n if (this._isValidPointChannel(attrName)) {\n (points[index] as any)[attrName] = newStyles[attrName](datum);\n } else if (this._segmentStyleKeys.includes(attrName) && !progressive) {\n lineAttrs[index][attrName] = newStyles[attrName](datum);\n } else if (index === 0 && (!progressive || isFirstFrame)) {\n commonAttrs[attrName] = newStyles[attrName](datum);\n }\n });\n\n // todo 上下文,似乎是动画相关的\n (points[index] as any).context = this._keyGetter(datum) ?? index;\n });\n\n if (progressive) {\n const segments = (g as any).attribute?.segments ?? [];\n\n segments.push({\n points\n });\n return isFirstFrame\n ? {\n ...commonAttrs,\n segments\n }\n : { segments };\n } else if (this._segmentStyleKeys && this._segmentStyleKeys.length) {\n const segments = this._getLineSegments(lineAttrs, points);\n\n if (segments) {\n return {\n ...commonAttrs,\n ...lineAttrs[0],\n segments,\n points: null as IPointLike[]\n };\n }\n }\n\n return {\n ...commonAttrs,\n ...lineAttrs[0],\n points,\n segments: null as any[]\n };\n }\n\n _runEncoderOfGraphic(newStyles: Record<string, (datum: Datum) => any>, g: IMarkGraphic, attrs: any = {}) {\n const data = g.context.data;\n if (newStyles && Object.keys(newStyles).some(this._isValidPointChannel) && data && data.length) {\n return this._runPointsEncoder(newStyles, g, attrs);\n }\n\n return super._runEncoderOfGraphic(newStyles, g, attrs);\n }\n\n protected _getDataByKey(data: Datum[]) {\n return this._dataByGroup;\n }\n\n protected _runProgressiveJoin() {\n const currentIndex = this.renderContext.progressive.currentIndex;\n const graphics: IMarkGraphic[] = [];\n\n this._dataByGroup.keys.forEach((groupKey, index) => {\n const data = this.renderContext.progressive.groupedData.get(groupKey as string);\n const groupStep = this.renderContext.progressive.step;\n const dataSlice = data.slice(currentIndex * groupStep, (currentIndex + 1) * groupStep);\n\n if (currentIndex === 0) {\n const g = {\n context: {\n ...this._getCommonContext(),\n diffState: DiffState.enter,\n data: dataSlice,\n uniqueKey: groupKey,\n key: groupKey,\n groupKey: groupKey\n }\n };\n\n graphics.push(g as IMarkGraphic);\n } else {\n const g = this._graphics[index];\n g.context.data = dataSlice;\n }\n });\n const res = currentIndex === 0 ? graphics : this._graphics;\n\n return {\n graphicsByGroup: { [DEFAULT_DATA_KEY]: res },\n graphics: res,\n needUpdate: false\n };\n }\n\n protected _setCommonAttributesToTheme(g: IMarkGraphic) {\n // do nothing in line/area\n }\n protected _addProgressiveGraphic(parent: IGroup, g: IMarkGraphic) {\n g.incremental = 1;\n (parent as IGroup).appendChild(g);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/mark/base/base-line.ts"],"names":[],"mappings":"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","file":"base-line.js","sourcesContent":["import { isValidScaleType } from '@visactor/vscale';\nimport type { StateValueType } from '../../compile/mark';\nimport type { ConvertToMarkStyleSpec, ILineLikeMarkSpec } from '../../typings/visual';\nimport type { IPointLike } from '@visactor/vutils';\nimport { isFunction, isNil } from '@visactor/vutils';\nimport { BaseMark } from './base-mark';\nimport { DiffState, type IMarkGraphic, type IMarkStyle } from '../interface';\nimport type { Datum } from '../../typings/common';\nimport type { IGroup, ILine, ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { isSegmentAttrEqual } from '../utils/line';\nimport type { IMarkSpec } from '../../typings/spec/common';\nimport { DEFAULT_DATA_KEY } from '../../constant/data';\n\nexport const LINE_SEGMENT_ATTRIBUTES = [\n 'stroke',\n 'strokeOpacity',\n 'lineDash',\n 'lineDashOffset',\n 'lineCap',\n 'lineJoin',\n 'lineWidth',\n 'miterLimit'\n];\n\nexport abstract class BaseLineMark<T extends ILineLikeMarkSpec = ILineLikeMarkSpec> extends BaseMark<T> {\n protected abstract _getIgnoreAttributes(): string[];\n\n protected _getSegmentAttributes() {\n return LINE_SEGMENT_ATTRIBUTES;\n }\n\n protected _segmentStyleKeys: string[] = [];\n\n initStyleWithSpec(spec: IMarkSpec<T>) {\n this._segmentStyleKeys = [];\n\n super.initStyleWithSpec(spec);\n }\n /**\n * @override\n * 之所以覆写是因为 vgrammar 侧默认都会处理 lineSegments,非常耗性能,所以需要 VChart 给一个标志位用于是否执行。\n * 由外部series调用,设置markStyle的接口。\n * @param style\n * @param level\n * @param state\n */\n setStyle<T>(\n style: Partial<ConvertToMarkStyleSpec<T>> | Partial<IMarkStyle<T>>,\n state: StateValueType = 'normal',\n level: number = 0\n ): void {\n if (isNil(style)) {\n return;\n }\n\n if (this.stateStyle[state] === undefined) {\n this.stateStyle[state] = {};\n }\n\n const ignoreAttributes = this._getIgnoreAttributes();\n const segmentAttributes = this._getSegmentAttributes();\n const isUserLevel = this.isUserLevel(level);\n\n Object.keys(style).forEach(attr => {\n const attrStyle = (style as any)[attr];\n if (isNil(attrStyle) || ignoreAttributes.includes(attr)) {\n return;\n }\n if (\n isUserLevel &&\n segmentAttributes.includes(attr) &&\n (isValidScaleType(attrStyle?.type) || attrStyle?.scale || isFunction(attrStyle))\n ) {\n if (!this._segmentStyleKeys.includes(attr)) {\n this._segmentStyleKeys.push(attr);\n }\n }\n\n const styleConverter = this._filterAttribute(attr as any, attrStyle, state, level, isUserLevel);\n\n this.setAttribute(attr as any, styleConverter, state, level);\n });\n }\n\n _isValidPointChannel = (channel: string) => {\n return ['x', 'y', 'defined'].includes(channel);\n };\n\n _getLineSegments(items: any[], points: IPointLike[]) {\n if (!this._segmentStyleKeys || !this._segmentStyleKeys.length) {\n return null;\n }\n\n const segments: { attrs: any; startIndex: number; endIndex?: number }[] = [];\n let prevSegmentAttrs: any = null;\n\n items.forEach((item, index) => {\n if (\n !prevSegmentAttrs ||\n !this._segmentStyleKeys.every(key => {\n return isSegmentAttrEqual(prevSegmentAttrs[key], item[key], key);\n })\n ) {\n if (segments.length) {\n segments[segments.length - 1].endIndex = index;\n }\n\n prevSegmentAttrs = item;\n segments.push({\n attrs: prevSegmentAttrs,\n startIndex: index\n });\n }\n });\n\n if (segments.length >= 2) {\n return segments.map(entry => {\n return {\n ...entry.attrs,\n points: points.slice(entry.startIndex, isNil(entry.endIndex) ? points.length : entry.endIndex)\n };\n });\n }\n\n return null;\n }\n\n _getPrevPoints(g: ILine): IPointLike[] | null {\n const { points, segments } = g.attribute;\n\n return (\n points ??\n (segments\n ? segments.reduce((res: IPointLike[], seg: ILineGraphicAttribute) => {\n if (seg.points) {\n seg.points.forEach((point: IPointLike) => {\n res.push(point);\n });\n }\n\n return res;\n }, [])\n : null)\n );\n }\n\n _runPointsEncoder(newStyles: Record<string, (datum: Datum) => any>, g: IMarkGraphic, attrs: any = {}) {\n const data = g.context.data;\n const lineAttrs: any[] = [];\n const points: IPointLike[] = [];\n const commonAttrs: any = {};\n const progressive = this.renderContext?.progressive;\n const isFirstFrame = progressive && progressive.currentIndex === 0;\n\n data.forEach((datum: Datum, index: number) => {\n points[index] = {} as IPointLike;\n lineAttrs[index] = {};\n\n Object.keys(newStyles).forEach(attrName => {\n if (this._isValidPointChannel(attrName)) {\n (points[index] as any)[attrName] = newStyles[attrName](datum);\n } else if (this._segmentStyleKeys.includes(attrName) && !progressive) {\n lineAttrs[index][attrName] = newStyles[attrName](datum);\n } else if (index === 0 && (!progressive || isFirstFrame)) {\n commonAttrs[attrName] = newStyles[attrName](datum);\n }\n });\n\n // todo 上下文,似乎是动画相关的\n (points[index] as any).context = this._keyGetter(datum) ?? index;\n });\n\n if (progressive) {\n const segments = (g as any).attribute?.segments ? [...(g as any).attribute.segments] : [];\n\n segments.push({\n points\n });\n return isFirstFrame\n ? {\n ...commonAttrs,\n segments\n }\n : { segments };\n } else if (this._segmentStyleKeys && this._segmentStyleKeys.length) {\n const segments = this._getLineSegments(lineAttrs, points);\n\n if (segments) {\n return {\n ...commonAttrs,\n ...lineAttrs[0],\n segments,\n points: null as IPointLike[]\n };\n }\n }\n\n return {\n ...commonAttrs,\n ...lineAttrs[0],\n points,\n segments: null as any[]\n };\n }\n\n _runEncoderOfGraphic(newStyles: Record<string, (datum: Datum) => any>, g: IMarkGraphic, attrs: any = {}) {\n const data = g.context.data;\n if (newStyles && Object.keys(newStyles).some(this._isValidPointChannel) && data && data.length) {\n return this._runPointsEncoder(newStyles, g, attrs);\n }\n\n return super._runEncoderOfGraphic(newStyles, g, attrs);\n }\n\n protected _getDataByKey(data: Datum[]) {\n return this._dataByGroup;\n }\n\n protected _runProgressiveJoin() {\n const currentIndex = this.renderContext.progressive.currentIndex;\n const graphics: IMarkGraphic[] = [];\n\n this._dataByGroup.keys.forEach((groupKey, index) => {\n const data = this.renderContext.progressive.groupedData.get(groupKey as string);\n const groupStep = this.renderContext.progressive.step;\n const dataSlice = data.slice(currentIndex * groupStep, (currentIndex + 1) * groupStep);\n\n if (currentIndex === 0) {\n const g = {\n context: {\n ...this._getCommonContext(),\n diffState: DiffState.enter,\n data: dataSlice,\n uniqueKey: groupKey,\n key: groupKey,\n groupKey: groupKey\n }\n };\n\n graphics.push(g as IMarkGraphic);\n } else {\n const g = this._graphics[index];\n g.context.data = dataSlice;\n }\n });\n const res = currentIndex === 0 ? graphics : this._graphics;\n\n return {\n graphicsByGroup: { [DEFAULT_DATA_KEY]: res },\n graphics: res,\n needUpdate: false\n };\n }\n\n protected _setCommonAttributesToTheme(g: IMarkGraphic) {\n // do nothing in line/area\n }\n protected _addProgressiveGraphic(parent: IGroup, g: IMarkGraphic) {\n g.incremental = 1;\n (parent as IGroup).appendChild(g);\n }\n}\n"]}
@@ -86,7 +86,6 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
86
86
  protected _sharedStateDefinitionsCache?: StateDefinitionsInput<Record<string, unknown>>;
87
87
  protected _sharedStateDefinitionRefIds: WeakMap<object, number>;
88
88
  protected _sharedStateDefinitionRefId: number;
89
- protected _dynamicSharedStateNames: Set<string>;
90
89
  _extensionChannel: {
91
90
  [key: string | number | symbol]: string[];
92
91
  };
@@ -232,8 +232,8 @@ export class BaseMark extends GrammarItem {
232
232
  morph: !1
233
233
  }, this._visible = !0, this.stateStyle = {}, this._unCompileChannel = {}, this._disabledAnimationStates = [],
234
234
  this._skipBeforeLayouted = !1, this._sharedStateDefinitionRefIds = new WeakMap,
235
- this._sharedStateDefinitionRefId = 0, this._dynamicSharedStateNames = new Set, this._extensionChannel = {},
236
- this._computeExChannel = {}, this._graphicMap = new Map, this._graphics = [], this._getEncoderOfStyle = (stateName, style) => {
235
+ this._sharedStateDefinitionRefId = 0, this._extensionChannel = {}, this._computeExChannel = {},
236
+ this._graphicMap = new Map, this._graphics = [], this._getEncoderOfStyle = (stateName, style) => {
237
237
  if (style && stateName) {
238
238
  const validEncoder = {};
239
239
  return Object.keys(style).forEach((key => {
@@ -247,7 +247,6 @@ export class BaseMark extends GrammarItem {
247
247
  graphicName && (isFunction(graphicName) ? g.name = graphicName(g) : g.name = graphicName);
248
248
  }, this._setStateOfGraphic = (g, hasAnimation) => {
249
249
  var _a, _b, _c;
250
- g.stateProxy = null;
251
250
  const targetStates = g.context.diffState === DiffState.enter || g.context.diffState === DiffState.update ? g.context.states : void 0, hasCurrentState = !!((null === (_a = g.currentStates) || void 0 === _a ? void 0 : _a.length) || (null === (_b = g.effectiveStates) || void 0 === _b ? void 0 : _b.length) || g.resolvedStatePatch || (null === (_c = g.registeredActiveScopes) || void 0 === _c ? void 0 : _c.size));
252
251
  ((null == targetStates ? void 0 : targetStates.length) || hasCurrentState) && setGraphicStates(g, targetStates, hasAnimation);
253
252
  }, this.name = name, this.model = option.model, this.key = option.key, this.state = new MarkStateManager(option, this),
@@ -614,7 +613,7 @@ export class BaseMark extends GrammarItem {
614
613
  return diffState === AnimationStateEnum.exit ? AnimationStateEnum.exit : diffState === AnimationStateEnum.update ? AnimationStateEnum.update : AnimationStateEnum.appear;
615
614
  }), customizedState = callback(g);
616
615
  g.context.animationState = null != customizedState ? customizedState : g.context.diffState,
617
- g.context.animationState === DiffState.exit && (g.context.reusing = !0, g.animates && g.animates.forEach((a => a.stop())));
616
+ g.context.animationState === DiffState.exit && (g.context.reusing = !0, g.stopAnimates());
618
617
  }
619
618
  _runJoin(data) {
620
619
  const newGroupedData = this._getDataByKey(data), prevGroupedData = this._prevDataByKey, allGraphics = [], enterGraphics = new Set(this._graphics.filter((g => g.context.diffState === DiffState.enter))), callback = (key, newData, prevData) => {
@@ -708,12 +707,12 @@ export class BaseMark extends GrammarItem {
708
707
  var _a;
709
708
  if (!this._product) return;
710
709
  const stateNames = Object.keys(null !== (_a = this._encoderOfState) && void 0 !== _a ? _a : {}).filter((stateName => "group" !== stateName && "update" !== stateName));
711
- if (!stateNames.length) return this._dynamicSharedStateNames.clear(), void (void 0 !== this._product.sharedStateDefinitions && (this._product.sharedStateDefinitions = void 0));
710
+ if (!stateNames.length) return void (void 0 !== this._product.sharedStateDefinitions && (this._product.sharedStateDefinitions = void 0));
712
711
  const sortedStateNames = this._stateSort ? stateNames.slice().sort(this._stateSort) : stateNames, statePriority = new Map;
713
712
  sortedStateNames.forEach(((stateName, index) => {
714
713
  statePriority.set(stateName, index);
715
714
  }));
716
- const sharedStateDefinitions = {}, cacheKeys = [], dynamicSharedStateNames = new Set;
715
+ const sharedStateDefinitions = {}, cacheKeys = [];
717
716
  if (stateNames.forEach((stateName => {
718
717
  var _a;
719
718
  const encoder = this._encoderOfState[stateName], patch = {}, dynamicEncoder = {}, patchKeys = [], dynamicKeys = [];
@@ -724,16 +723,16 @@ export class BaseMark extends GrammarItem {
724
723
  const definition = {
725
724
  priority: null !== (_a = statePriority.get(stateName)) && void 0 !== _a ? _a : 0
726
725
  };
727
- patchKeys.length && (definition.patch = patch), dynamicKeys.length && (dynamicSharedStateNames.add(stateName),
728
- definition.declaredAffectedKeys = dynamicKeys, definition.resolver = ({graphic: graphic}) => this._runEncoderOfGraphic(dynamicEncoder, graphic)),
726
+ patchKeys.length && (definition.patch = patch), dynamicKeys.length && (definition.declaredAffectedKeys = dynamicKeys,
727
+ definition.resolver = ({graphic: graphic}) => this._runEncoderOfGraphic(dynamicEncoder, graphic)),
729
728
  sharedStateDefinitions[stateName] = definition, cacheKeys.push([ stateName, definition.priority, patchKeys.sort().map((key => `${key}:${this._getSharedStateDefinitionValueKey(patch[key])}`)), dynamicKeys.sort().map((key => {
730
729
  var _a;
731
730
  const stateStyle = null === (_a = this.stateStyle[stateName]) || void 0 === _a ? void 0 : _a[key];
732
731
  return `${key}:${this._getSharedStateDefinitionRefId(null == stateStyle ? void 0 : stateStyle.style)}:${this._getSharedStateDefinitionRefId(null == stateStyle ? void 0 : stateStyle.postProcess)}:${this._getSharedStateDefinitionRefId(null == stateStyle ? void 0 : stateStyle.referer)}`;
733
732
  })) ].join("|"));
734
- })), !cacheKeys.length) return this._dynamicSharedStateNames.clear(), void (void 0 !== this._product.sharedStateDefinitions && (this._product.sharedStateDefinitions = void 0));
733
+ })), !cacheKeys.length) return void (void 0 !== this._product.sharedStateDefinitions && (this._product.sharedStateDefinitions = void 0));
735
734
  const cacheKey = cacheKeys.sort().join("||");
736
- this._dynamicSharedStateNames = dynamicSharedStateNames, cacheKey === this._sharedStateDefinitionsCacheKey && this._sharedStateDefinitionsCache ? this._product.sharedStateDefinitions !== this._sharedStateDefinitionsCache && (this._product.sharedStateDefinitions = this._sharedStateDefinitionsCache) : (this._sharedStateDefinitionsCacheKey = cacheKey,
735
+ cacheKey === this._sharedStateDefinitionsCacheKey && this._sharedStateDefinitionsCache ? this._product.sharedStateDefinitions !== this._sharedStateDefinitionsCache && (this._product.sharedStateDefinitions = this._sharedStateDefinitionsCache) : (this._sharedStateDefinitionsCacheKey = cacheKey,
737
736
  this._sharedStateDefinitionsCache = sharedStateDefinitions, this._product.sharedStateDefinitions = sharedStateDefinitions);
738
737
  }
739
738
  _addProgressiveGraphic(parent, g) {
@@ -751,18 +750,11 @@ export class BaseMark extends GrammarItem {
751
750
  }));
752
751
  }
753
752
  _excludeStateControlledDiffAttrs(g, diffAttrs) {
754
- var _a;
755
- if (!diffAttrs || !Object.keys(diffAttrs).length) return diffAttrs;
753
+ if (!diffAttrs || !Object.keys(diffAttrs).length || !g.resolvedStatePatch) return diffAttrs;
756
754
  let nextDiffAttrs;
757
- const excludeKey = key => {
755
+ return Object.keys(g.resolvedStatePatch).forEach((key => {
758
756
  key in diffAttrs && (nextDiffAttrs || (nextDiffAttrs = Object.assign({}, diffAttrs)),
759
757
  delete nextDiffAttrs[key]);
760
- };
761
- return g.resolvedStatePatch && Object.keys(g.resolvedStatePatch).forEach(excludeKey),
762
- null === (_a = g.context.states) || void 0 === _a || _a.forEach((stateName => {
763
- var _a;
764
- const encoder = null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a[stateName];
765
- encoder && Object.keys(encoder).forEach(excludeKey);
766
758
  })), null != nextDiffAttrs ? nextDiffAttrs : diffAttrs;
767
759
  }
768
760
  _hasDiffAttrs(g) {
@@ -771,19 +763,19 @@ export class BaseMark extends GrammarItem {
771
763
  _runApplyGraphic(graphics) {
772
764
  const hasAnimation = this.hasAnimation();
773
765
  graphics.forEach(((g, index) => {
774
- var _a, _b, _c;
766
+ var _a, _b;
775
767
  const finalAttrs = g.context.finalAttrs, hasStateAnimation = this.hasAnimationByState(g.context.animationState);
776
768
  if (g.setAttributes) {
777
769
  const diffAttrs = this._excludeStateControlledDiffAttrs(g, getDiffAttributesOfGraphic(g, finalAttrs));
778
770
  g.context.diffAttrs = diffAttrs, g.context.reusing ? (g.context.lastAttrs = g.attribute,
779
771
  g.initAttributes(finalAttrs), g.context.reusing = !1) : hasStateAnimation || (hasAnimation ? g.setAttributesAndPreventAnimate(diffAttrs) : g.setAttributes(diffAttrs)),
780
- !(null === (_c = this.renderContext) || void 0 === _c ? void 0 : _c.progressive) && this._product && g.parent !== this._product && this._product.appendChild(g);
772
+ !(null === (_b = this.renderContext) || void 0 === _b ? void 0 : _b.progressive) && this._product && g.parent !== this._product && this._product.appendChild(g);
781
773
  } else {
782
774
  const mockGraphic = g;
783
- g = this._createGraphic(finalAttrs), hasAnimation && (null === (_a = g.setFinalAttributes) || void 0 === _a || _a.call(g, finalAttrs)),
784
- g.context = mockGraphic.context, g.context.diffAttrs = finalAttrs, g.stateSort = this._stateSort;
775
+ (g = this._createGraphic(finalAttrs)).context = mockGraphic.context, g.context.diffAttrs = finalAttrs,
776
+ g.stateSort = this._stateSort;
785
777
  const gIndex = this._graphics === graphics ? index : index + this._graphics.length - graphics.length;
786
- if (gIndex >= 0 && (this._graphics[gIndex] = g), null === (_b = this.renderContext) || void 0 === _b ? void 0 : _b.progressive) {
778
+ if (gIndex >= 0 && (this._graphics[gIndex] = g), null === (_a = this.renderContext) || void 0 === _a ? void 0 : _a.progressive) {
787
779
  const groupIndex = this._dataByGroup ? this._dataByGroup.keys.indexOf(g.context.groupKey) : 0, group = groupIndex >= 0 ? this._product.getChildAt(groupIndex) : null;
788
780
  group && this._addProgressiveGraphic(group, g);
789
781
  } else this._product.appendChild(g), this._graphicMap.set(g.context.uniqueKey, g);