@visactor/vchart 2.1.0-alpha.2 → 2.1.0-alpha.20

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 (320) hide show
  1. package/build/es5/index.js +3 -3
  2. package/build/index.es.js +19187 -25472
  3. package/build/index.js +19189 -25474
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/chart/base/base-chart-transformer.d.ts +0 -3
  7. package/cjs/chart/base/base-chart-transformer.js +1 -21
  8. package/cjs/chart/base/base-chart-transformer.js.map +1 -1
  9. package/cjs/chart/base/base-chart.d.ts +9 -15
  10. package/cjs/chart/base/base-chart.js +24 -115
  11. package/cjs/chart/base/base-chart.js.map +1 -1
  12. package/cjs/chart/interface/chart.d.ts +0 -1
  13. package/cjs/chart/interface/chart.js.map +1 -1
  14. package/cjs/chart/pie/base/pie-transformer.js +2 -2
  15. package/cjs/chart/pie/base/pie-transformer.js.map +1 -1
  16. package/cjs/chart/progress/circular/circular-progress-transformer.js +2 -2
  17. package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  18. package/cjs/chart/util.d.ts +1 -4
  19. package/cjs/chart/util.js +4 -40
  20. package/cjs/chart/util.js.map +1 -1
  21. package/cjs/chart/waterfall/waterfall-transformer.js +1 -2
  22. package/cjs/chart/waterfall/waterfall-transformer.js.map +1 -1
  23. package/cjs/compile/compiler.d.ts +0 -2
  24. package/cjs/compile/compiler.js +40 -53
  25. package/cjs/compile/compiler.js.map +1 -1
  26. package/cjs/compile/data/compilable-data.d.ts +1 -1
  27. package/cjs/compile/data/compilable-data.js +1 -1
  28. package/cjs/compile/data/compilable-data.js.map +1 -1
  29. package/cjs/compile/grammar-item.d.ts +1 -1
  30. package/cjs/compile/grammar-item.js.map +1 -1
  31. package/cjs/compile/interface/compilable-item.d.ts +1 -1
  32. package/cjs/compile/interface/compilable-item.js.map +1 -1
  33. package/cjs/compile/interface/compiler.d.ts +1 -2
  34. package/cjs/compile/interface/compiler.js.map +1 -1
  35. package/cjs/component/axis/base-axis.d.ts +7 -2
  36. package/cjs/component/axis/base-axis.js +3 -25
  37. package/cjs/component/axis/base-axis.js.map +1 -1
  38. package/cjs/component/axis/cartesian/band-axis.d.ts +7 -1
  39. package/cjs/component/base/base-component.d.ts +7 -7
  40. package/cjs/component/base/base-component.js +6 -41
  41. package/cjs/component/base/base-component.js.map +1 -1
  42. package/cjs/component/brush/brush.d.ts +7 -2
  43. package/cjs/component/brush/brush.js +12 -16
  44. package/cjs/component/brush/brush.js.map +1 -1
  45. package/cjs/component/crosshair/base.d.ts +7 -1
  46. package/cjs/component/custom-mark/custom-mark.d.ts +7 -1
  47. package/cjs/component/data-zoom/data-filter-base-component.d.ts +7 -1
  48. package/cjs/component/geo/geo-coordinate.d.ts +7 -1
  49. package/cjs/component/index.js +2 -1
  50. package/cjs/component/label/base-label.d.ts +7 -1
  51. package/cjs/component/label/label.js +1 -1
  52. package/cjs/component/label/label.js.map +1 -1
  53. package/cjs/component/legend/base-legend.d.ts +7 -2
  54. package/cjs/component/legend/base-legend.js +4 -21
  55. package/cjs/component/legend/base-legend.js.map +1 -1
  56. package/cjs/component/marker/base-marker.d.ts +7 -7
  57. package/cjs/component/marker/base-marker.js +6 -23
  58. package/cjs/component/marker/base-marker.js.map +1 -1
  59. package/cjs/component/marker/mark-line/base-mark-line.js +4 -2
  60. package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
  61. package/cjs/component/marker/mark-line/cartesian-mark-line.js +18 -7
  62. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  63. package/cjs/component/marker/mark-line/interface/spec.d.ts +9 -2
  64. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  65. package/cjs/component/title/title.d.ts +7 -1
  66. package/cjs/component/title/title.js +2 -6
  67. package/cjs/component/title/title.js.map +1 -1
  68. package/cjs/component/util.js +1 -2
  69. package/cjs/constant/scatter.js +2 -1
  70. package/cjs/constant/scroll-bar.js +1 -2
  71. package/cjs/core/instance-manager.js +1 -1
  72. package/cjs/core/vchart.d.ts +1 -5
  73. package/cjs/core/vchart.js +12 -28
  74. package/cjs/core/vchart.js.map +1 -1
  75. package/cjs/interaction/interaction.js +8 -11
  76. package/cjs/interaction/interaction.js.map +1 -1
  77. package/cjs/interaction/triggers/element-active-by-legend.js +2 -3
  78. package/cjs/interaction/triggers/element-active-by-legend.js.map +1 -1
  79. package/cjs/interaction/triggers/element-active.js +3 -4
  80. package/cjs/interaction/triggers/element-active.js.map +1 -1
  81. package/cjs/interaction/triggers/element-highlight-by-group.js +2 -3
  82. package/cjs/interaction/triggers/element-highlight-by-group.js.map +1 -1
  83. package/cjs/interaction/triggers/element-highlight-by-legend.js +2 -2
  84. package/cjs/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  85. package/cjs/interaction/triggers/element-highlight-by-name.js +2 -2
  86. package/cjs/interaction/triggers/element-highlight-by-name.js.map +1 -1
  87. package/cjs/interaction/triggers/element-highlight.js +2 -2
  88. package/cjs/interaction/triggers/element-highlight.js.map +1 -1
  89. package/cjs/interaction/triggers/element-select.js +3 -3
  90. package/cjs/interaction/triggers/element-select.js.map +1 -1
  91. package/cjs/mark/base/base-line.js +2 -2
  92. package/cjs/mark/base/base-line.js.map +1 -1
  93. package/cjs/mark/base/base-mark.d.ts +2 -13
  94. package/cjs/mark/base/base-mark.js +23 -101
  95. package/cjs/mark/base/base-mark.js.map +1 -1
  96. package/cjs/mark/component.d.ts +0 -9
  97. package/cjs/mark/component.js +3 -51
  98. package/cjs/mark/component.js.map +1 -1
  99. package/cjs/mark/group.js +1 -1
  100. package/cjs/mark/group.js.map +1 -1
  101. package/cjs/mark/interface/mark.d.ts +0 -2
  102. package/cjs/mark/interface/mark.js.map +1 -1
  103. package/cjs/mark/utils/glyph.js +2 -3
  104. package/cjs/mark/utils/glyph.js.map +1 -1
  105. package/cjs/model/base-model.d.ts +15 -3
  106. package/cjs/model/base-model.js.map +1 -1
  107. package/cjs/model/interface.d.ts +0 -13
  108. package/cjs/model/interface.js.map +1 -1
  109. package/cjs/region/region.d.ts +7 -1
  110. package/cjs/series/area/area.d.ts +0 -2
  111. package/cjs/series/area/area.js +0 -6
  112. package/cjs/series/area/area.js.map +1 -1
  113. package/cjs/series/bar/bar.d.ts +0 -3
  114. package/cjs/series/bar/bar.js +4 -30
  115. package/cjs/series/bar/bar.js.map +1 -1
  116. package/cjs/series/base/base-series.d.ts +7 -8
  117. package/cjs/series/base/base-series.js +13 -54
  118. package/cjs/series/base/base-series.js.map +1 -1
  119. package/cjs/series/base/constant.d.ts +0 -3
  120. package/cjs/series/base/constant.js +1 -9
  121. package/cjs/series/base/constant.js.map +1 -1
  122. package/cjs/series/box-plot/box-plot.d.ts +0 -2
  123. package/cjs/series/box-plot/box-plot.js +2 -14
  124. package/cjs/series/box-plot/box-plot.js.map +1 -1
  125. package/cjs/series/heatmap/heatmap.d.ts +0 -2
  126. package/cjs/series/heatmap/heatmap.js +0 -10
  127. package/cjs/series/heatmap/heatmap.js.map +1 -1
  128. package/cjs/series/line/line.d.ts +0 -2
  129. package/cjs/series/line/line.js +0 -6
  130. package/cjs/series/line/line.js.map +1 -1
  131. package/cjs/series/mixin/line-mixin.d.ts +0 -1
  132. package/cjs/series/mixin/line-mixin.js +1 -6
  133. package/cjs/series/mixin/line-mixin.js.map +1 -1
  134. package/cjs/series/pie/pie.d.ts +7 -3
  135. package/cjs/series/pie/pie.js +1 -16
  136. package/cjs/series/pie/pie.js.map +1 -1
  137. package/cjs/series/progress/circular/circular.d.ts +0 -2
  138. package/cjs/series/progress/circular/circular.js +1 -9
  139. package/cjs/series/progress/circular/circular.js.map +1 -1
  140. package/cjs/series/progress/linear/linear.d.ts +0 -2
  141. package/cjs/series/progress/linear/linear.js +1 -17
  142. package/cjs/series/progress/linear/linear.js.map +1 -1
  143. package/cjs/series/sankey/sankey.js +24 -32
  144. package/cjs/series/sankey/sankey.js.map +1 -1
  145. package/cjs/series/scatter/scatter.d.ts +0 -2
  146. package/cjs/series/scatter/scatter.js +1 -9
  147. package/cjs/series/scatter/scatter.js.map +1 -1
  148. package/cjs/series/waterfall/waterfall.d.ts +2 -2
  149. package/cjs/series/waterfall/waterfall.js +12 -14
  150. package/cjs/series/waterfall/waterfall.js.map +1 -1
  151. package/esm/chart/base/base-chart-transformer.d.ts +0 -3
  152. package/esm/chart/base/base-chart-transformer.js +0 -22
  153. package/esm/chart/base/base-chart-transformer.js.map +1 -1
  154. package/esm/chart/base/base-chart.d.ts +9 -15
  155. package/esm/chart/base/base-chart.js +23 -111
  156. package/esm/chart/base/base-chart.js.map +1 -1
  157. package/esm/chart/interface/chart.d.ts +0 -1
  158. package/esm/chart/interface/chart.js.map +1 -1
  159. package/esm/chart/pie/base/pie-transformer.js +2 -2
  160. package/esm/chart/pie/base/pie-transformer.js.map +1 -1
  161. package/esm/chart/progress/circular/circular-progress-transformer.js +2 -2
  162. package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
  163. package/esm/chart/util.d.ts +1 -4
  164. package/esm/chart/util.js +1 -34
  165. package/esm/chart/util.js.map +1 -1
  166. package/esm/chart/waterfall/waterfall-transformer.js +1 -2
  167. package/esm/chart/waterfall/waterfall-transformer.js.map +1 -1
  168. package/esm/compile/compiler.d.ts +0 -2
  169. package/esm/compile/compiler.js +39 -55
  170. package/esm/compile/compiler.js.map +1 -1
  171. package/esm/compile/data/compilable-data.d.ts +1 -1
  172. package/esm/compile/data/compilable-data.js +1 -1
  173. package/esm/compile/data/compilable-data.js.map +1 -1
  174. package/esm/compile/grammar-item.d.ts +1 -1
  175. package/esm/compile/grammar-item.js.map +1 -1
  176. package/esm/compile/interface/compilable-item.d.ts +1 -1
  177. package/esm/compile/interface/compilable-item.js.map +1 -1
  178. package/esm/compile/interface/compiler.d.ts +1 -2
  179. package/esm/compile/interface/compiler.js.map +1 -1
  180. package/esm/component/axis/base-axis.d.ts +7 -2
  181. package/esm/component/axis/base-axis.js +2 -25
  182. package/esm/component/axis/base-axis.js.map +1 -1
  183. package/esm/component/axis/cartesian/band-axis.d.ts +7 -1
  184. package/esm/component/base/base-component.d.ts +7 -7
  185. package/esm/component/base/base-component.js +5 -41
  186. package/esm/component/base/base-component.js.map +1 -1
  187. package/esm/component/brush/brush.d.ts +7 -2
  188. package/esm/component/brush/brush.js +7 -12
  189. package/esm/component/brush/brush.js.map +1 -1
  190. package/esm/component/crosshair/base.d.ts +7 -1
  191. package/esm/component/custom-mark/custom-mark.d.ts +7 -1
  192. package/esm/component/data-zoom/data-filter-base-component.d.ts +7 -1
  193. package/esm/component/geo/geo-coordinate.d.ts +7 -1
  194. package/esm/component/index.js +2 -1
  195. package/esm/component/label/base-label.d.ts +7 -1
  196. package/esm/component/label/label.js +1 -1
  197. package/esm/component/label/label.js.map +1 -1
  198. package/esm/component/legend/base-legend.d.ts +7 -2
  199. package/esm/component/legend/base-legend.js +3 -21
  200. package/esm/component/legend/base-legend.js.map +1 -1
  201. package/esm/component/marker/base-marker.d.ts +7 -7
  202. package/esm/component/marker/base-marker.js +5 -24
  203. package/esm/component/marker/base-marker.js.map +1 -1
  204. package/esm/component/marker/mark-line/base-mark-line.js +4 -2
  205. package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
  206. package/esm/component/marker/mark-line/cartesian-mark-line.js +18 -8
  207. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  208. package/esm/component/marker/mark-line/interface/spec.d.ts +9 -2
  209. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  210. package/esm/component/title/title.d.ts +7 -1
  211. package/esm/component/title/title.js +2 -6
  212. package/esm/component/title/title.js.map +1 -1
  213. package/esm/component/util.js +1 -2
  214. package/esm/constant/scatter.js +2 -1
  215. package/esm/constant/scroll-bar.js +1 -2
  216. package/esm/core/instance-manager.js +1 -1
  217. package/esm/core/vchart.d.ts +1 -5
  218. package/esm/core/vchart.js +12 -29
  219. package/esm/core/vchart.js.map +1 -1
  220. package/esm/interaction/interaction.js +8 -10
  221. package/esm/interaction/interaction.js.map +1 -1
  222. package/esm/interaction/triggers/element-active-by-legend.js +1 -3
  223. package/esm/interaction/triggers/element-active-by-legend.js.map +1 -1
  224. package/esm/interaction/triggers/element-active.js +2 -4
  225. package/esm/interaction/triggers/element-active.js.map +1 -1
  226. package/esm/interaction/triggers/element-highlight-by-group.js +1 -4
  227. package/esm/interaction/triggers/element-highlight-by-group.js.map +1 -1
  228. package/esm/interaction/triggers/element-highlight-by-legend.js +1 -3
  229. package/esm/interaction/triggers/element-highlight-by-legend.js.map +1 -1
  230. package/esm/interaction/triggers/element-highlight-by-name.js +1 -3
  231. package/esm/interaction/triggers/element-highlight-by-name.js.map +1 -1
  232. package/esm/interaction/triggers/element-highlight.js +1 -3
  233. package/esm/interaction/triggers/element-highlight.js.map +1 -1
  234. package/esm/interaction/triggers/element-select.js +2 -4
  235. package/esm/interaction/triggers/element-select.js.map +1 -1
  236. package/esm/mark/base/base-line.js +2 -2
  237. package/esm/mark/base/base-line.js.map +1 -1
  238. package/esm/mark/base/base-mark.d.ts +2 -13
  239. package/esm/mark/base/base-mark.js +22 -102
  240. package/esm/mark/base/base-mark.js.map +1 -1
  241. package/esm/mark/component.d.ts +0 -9
  242. package/esm/mark/component.js +2 -51
  243. package/esm/mark/component.js.map +1 -1
  244. package/esm/mark/group.js +1 -1
  245. package/esm/mark/group.js.map +1 -1
  246. package/esm/mark/interface/mark.d.ts +0 -2
  247. package/esm/mark/interface/mark.js.map +1 -1
  248. package/esm/mark/utils/glyph.js +1 -3
  249. package/esm/mark/utils/glyph.js.map +1 -1
  250. package/esm/model/base-model.d.ts +15 -3
  251. package/esm/model/base-model.js.map +1 -1
  252. package/esm/model/interface.d.ts +0 -13
  253. package/esm/model/interface.js.map +1 -1
  254. package/esm/region/region.d.ts +7 -1
  255. package/esm/series/area/area.d.ts +0 -2
  256. package/esm/series/area/area.js +1 -7
  257. package/esm/series/area/area.js.map +1 -1
  258. package/esm/series/bar/bar.d.ts +0 -3
  259. package/esm/series/bar/bar.js +4 -30
  260. package/esm/series/bar/bar.js.map +1 -1
  261. package/esm/series/base/base-series.d.ts +7 -8
  262. package/esm/series/base/base-series.js +11 -50
  263. package/esm/series/base/base-series.js.map +1 -1
  264. package/esm/series/base/constant.d.ts +0 -3
  265. package/esm/series/base/constant.js +0 -10
  266. package/esm/series/base/constant.js.map +1 -1
  267. package/esm/series/box-plot/box-plot.d.ts +0 -2
  268. package/esm/series/box-plot/box-plot.js +2 -13
  269. package/esm/series/box-plot/box-plot.js.map +1 -1
  270. package/esm/series/heatmap/heatmap.d.ts +0 -2
  271. package/esm/series/heatmap/heatmap.js +0 -10
  272. package/esm/series/heatmap/heatmap.js.map +1 -1
  273. package/esm/series/line/line.d.ts +0 -2
  274. package/esm/series/line/line.js +1 -7
  275. package/esm/series/line/line.js.map +1 -1
  276. package/esm/series/mixin/line-mixin.d.ts +0 -1
  277. package/esm/series/mixin/line-mixin.js +0 -5
  278. package/esm/series/mixin/line-mixin.js.map +1 -1
  279. package/esm/series/pie/pie.d.ts +7 -3
  280. package/esm/series/pie/pie.js +0 -17
  281. package/esm/series/pie/pie.js.map +1 -1
  282. package/esm/series/progress/circular/circular.d.ts +0 -2
  283. package/esm/series/progress/circular/circular.js +0 -10
  284. package/esm/series/progress/circular/circular.js.map +1 -1
  285. package/esm/series/progress/linear/linear.d.ts +0 -2
  286. package/esm/series/progress/linear/linear.js +0 -18
  287. package/esm/series/progress/linear/linear.js.map +1 -1
  288. package/esm/series/sankey/sankey.js +21 -25
  289. package/esm/series/sankey/sankey.js.map +1 -1
  290. package/esm/series/scatter/scatter.d.ts +0 -2
  291. package/esm/series/scatter/scatter.js +0 -10
  292. package/esm/series/scatter/scatter.js.map +1 -1
  293. package/esm/series/waterfall/waterfall.d.ts +2 -2
  294. package/esm/series/waterfall/waterfall.js +12 -14
  295. package/esm/series/waterfall/waterfall.js.map +1 -1
  296. package/package.json +8 -10
  297. package/cjs/compile/stage-app.d.ts +0 -9
  298. package/cjs/compile/stage-app.js +0 -39
  299. package/cjs/compile/stage-app.js.map +0 -1
  300. package/cjs/component/base/release-vrender-component.d.ts +0 -10
  301. package/cjs/component/base/release-vrender-component.js +0 -37
  302. package/cjs/component/base/release-vrender-component.js.map +0 -1
  303. package/cjs/data/data-view-utils.d.ts +0 -5
  304. package/cjs/data/data-view-utils.js +0 -58
  305. package/cjs/data/data-view-utils.js.map +0 -1
  306. package/cjs/util/graphic-state.d.ts +0 -4
  307. package/cjs/util/graphic-state.js +0 -40
  308. package/cjs/util/graphic-state.js.map +0 -1
  309. package/esm/compile/stage-app.d.ts +0 -9
  310. package/esm/compile/stage-app.js +0 -35
  311. package/esm/compile/stage-app.js.map +0 -1
  312. package/esm/component/base/release-vrender-component.d.ts +0 -10
  313. package/esm/component/base/release-vrender-component.js +0 -24
  314. package/esm/component/base/release-vrender-component.js.map +0 -1
  315. package/esm/data/data-view-utils.d.ts +0 -5
  316. package/esm/data/data-view-utils.js +0 -46
  317. package/esm/data/data-view-utils.js.map +0 -1
  318. package/esm/util/graphic-state.d.ts +0 -4
  319. package/esm/util/graphic-state.js +0 -30
  320. package/esm/util/graphic-state.js.map +0 -1
@@ -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"]}
@@ -5,7 +5,7 @@ import { MarkTypeEnum } from '../interface';
5
5
  import type { IMarkRaw, IMarkStateStyle, IMarkStyle, IMark, IMarkOption, StyleConvert, MarkInputStyle, GroupedData, IAttrs, IMarkGraphic, ProgressiveContext, IProgressiveTransformResult, MarkType, AnimationStateValues } from '../interface';
6
6
  import type { ICompilableMark, IMarkCompileOption, IMarkConfig, IMarkStateManager, StateValueType } from '../../compile/mark/interface';
7
7
  import type { ICompilableInitOption } from '../../compile/interface';
8
- import type { IGroupGraphicAttribute, IGroup, IGraphic, StateDefinitionsInput } from '@visactor/vrender-core';
8
+ import type { IGroupGraphicAttribute, IGroup, IGraphic } from '@visactor/vrender-core';
9
9
  import { GrammarItem } from '../../compile/grammar-item';
10
10
  import type { IModel } from '../../model/interface';
11
11
  import type { ICompilableData } from '../../compile/data/interface';
@@ -74,7 +74,7 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
74
74
  stopAnimationByState(state?: string): void;
75
75
  pauseAnimationByState(state?: string): void;
76
76
  resumeAnimationByState(state?: string): void;
77
- removeProduct(releaseDetach?: boolean): void;
77
+ removeProduct(): void;
78
78
  release(): void;
79
79
  protected _simpleStyle: T;
80
80
  setSimpleStyle(s: T): void;
@@ -82,11 +82,6 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
82
82
  protected _option: IMarkOption;
83
83
  protected _attributeContext: IModelMarkAttributeContext;
84
84
  protected _encoderOfState: Record<string, Record<string, (datum: Datum) => any>>;
85
- protected _sharedStateDefinitionsCacheKey?: string;
86
- protected _sharedStateDefinitionsCache?: StateDefinitionsInput<Record<string, unknown>>;
87
- protected _sharedStateDefinitionRefIds: WeakMap<object, number>;
88
- protected _sharedStateDefinitionRefId: number;
89
- protected _dynamicSharedStateNames: Set<string>;
90
85
  _extensionChannel: {
91
86
  [key: string | number | symbol]: string[];
92
87
  };
@@ -160,14 +155,8 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
160
155
  protected _getEncoderOfStyle: (stateName: string, style: Partial<IAttrs<T>>) => Record<string, (datum: Datum) => any>;
161
156
  protected _setGraphicFromMarkConfig: (g: IMarkGraphic) => void;
162
157
  protected _setStateOfGraphic: (g: IMarkGraphic, hasAnimation?: boolean) => void;
163
- protected _getSharedStateDefinitionRefId(value: unknown): string;
164
- protected _getSharedStateDefinitionValueKey(value: unknown): string;
165
- protected _isStaticSharedStateAttribute(stateName: string, key: string): boolean;
166
- protected _applySharedStateDefinitions(): void;
167
158
  protected _addProgressiveGraphic(parent: IGroup, g: IMarkGraphic): void;
168
159
  protected _runEncoder(graphics: IMarkGraphic[], noGroupEncode?: boolean): void;
169
- protected _excludeStateControlledDiffAttrs(g: IMarkGraphic, diffAttrs: Record<string, any>): Record<string, any>;
170
- protected _hasDiffAttrs(g: IMarkGraphic): boolean;
171
160
  protected _runApplyGraphic(graphics: IMarkGraphic[]): void;
172
161
  protected _updateEncoderByState(): void;
173
162
  protected _runState(graphics: IMarkGraphic[]): void;
@@ -56,10 +56,6 @@ import { log } from "../../util/debug";
56
56
 
57
57
  import { morph as runMorph } from "../../compile/morph";
58
58
 
59
- import { addGraphicState, removeGraphicState, setGraphicStates } from "../../util/graphic-state";
60
-
61
- const statesClearedBeforeReInitKey = Symbol("statesClearedBeforeReInit");
62
-
63
59
  export class BaseMark extends GrammarItem {
64
60
  commit(render, recursion) {
65
61
  recursion && this.getMarks().length > 0 && this.getMarks().forEach((m => m.commit(!1, recursion))),
@@ -212,8 +208,8 @@ export class BaseMark extends GrammarItem {
212
208
  stopAnimationByState(state) {}
213
209
  pauseAnimationByState(state) {}
214
210
  resumeAnimationByState(state) {}
215
- removeProduct(releaseDetach) {
216
- this._product && this._product.parent && this._product.parent.removeChild(this._product, releaseDetach),
211
+ removeProduct() {
212
+ this._product && this._product.parent && this._product.parent.removeChild(this._product),
217
213
  this._product = null, this._compiledProductId = null;
218
214
  }
219
215
  release() {
@@ -231,9 +227,8 @@ export class BaseMark extends GrammarItem {
231
227
  zIndex: LayoutZIndex.Mark,
232
228
  morph: !1
233
229
  }, this._visible = !0, this.stateStyle = {}, this._unCompileChannel = {}, this._disabledAnimationStates = [],
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) => {
230
+ this._skipBeforeLayouted = !1, this._extensionChannel = {}, this._computeExChannel = {},
231
+ this._graphicMap = new Map, this._graphics = [], this._getEncoderOfStyle = (stateName, style) => {
237
232
  if (style && stateName) {
238
233
  const validEncoder = {};
239
234
  return Object.keys(style).forEach((key => {
@@ -246,10 +241,10 @@ export class BaseMark extends GrammarItem {
246
241
  setCustomizedShape && (g.pathProxy = attrs => setCustomizedShape(g.context.data, attrs, new CustomPath2D)),
247
242
  graphicName && (isFunction(graphicName) ? g.name = graphicName(g) : g.name = graphicName);
248
243
  }, this._setStateOfGraphic = (g, hasAnimation) => {
249
- var _a, _b, _c;
250
- g.stateProxy = null;
251
- 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
- ((null == targetStates ? void 0 : targetStates.length) || hasCurrentState) && setGraphicStates(g, targetStates, hasAnimation);
244
+ g.clearStates(), g.stateProxy = null, g.context.diffState !== DiffState.enter && g.context.diffState !== DiffState.update || (g.stateProxy = (stateName, nexStates) => {
245
+ var _a;
246
+ return this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a[stateName], g);
247
+ }, g.context.states && g.useStates(g.context.states, hasAnimation));
253
248
  }, this.name = name, this.model = option.model, this.key = option.key, this.state = new MarkStateManager(option, this),
254
249
  this._attributeContext = option.attributeContext, null === (_a = option.map) || void 0 === _a || _a.set(this.id, this);
255
250
  }
@@ -583,7 +578,6 @@ export class BaseMark extends GrammarItem {
583
578
  if (graphics.forEach((g => {
584
579
  const state = g.context.animationState;
585
580
  if ("appear" === state) return;
586
- if ("update" === state && !this._hasDiffAttrs(g)) return;
587
581
  const config = animationConfig[state];
588
582
  if (config && config.length > 0) {
589
583
  const configList = config.map(((item, index) => ({
@@ -682,101 +676,33 @@ export class BaseMark extends GrammarItem {
682
676
  groupStyles: groupStyles
683
677
  };
684
678
  }
685
- _getSharedStateDefinitionRefId(value) {
686
- if ("object" != typeof value && "function" != typeof value || null === value) return `${value}`;
687
- const objectValue = value;
688
- let id = this._sharedStateDefinitionRefIds.get(objectValue);
689
- return id || (id = ++this._sharedStateDefinitionRefId, this._sharedStateDefinitionRefIds.set(objectValue, id)),
690
- `ref:${id}`;
691
- }
692
- _getSharedStateDefinitionValueKey(value) {
693
- try {
694
- const jsonValue = JSON.stringify(value);
695
- return null != jsonValue ? jsonValue : `${value}`;
696
- } catch (_error) {
697
- return this._getSharedStateDefinitionRefId(value);
698
- }
699
- }
700
- _isStaticSharedStateAttribute(stateName, key) {
701
- var _a, _b;
702
- const stateStyle = null === (_a = this.stateStyle[stateName]) || void 0 === _a ? void 0 : _a[key];
703
- if (!stateStyle || stateStyle.referer || isFunction(stateStyle.postProcess) || key in this._computeExChannel) return !1;
704
- const style = stateStyle.style;
705
- return !isFunction(style) && (!GradientType.includes(null == style ? void 0 : style.gradient) && (![ "outerBorder", "innerBorder" ].includes(key) && !isValidScaleType(null === (_b = null == style ? void 0 : style.scale) || void 0 === _b ? void 0 : _b.type)));
706
- }
707
- _applySharedStateDefinitions() {
708
- var _a;
709
- if (!this._product) return;
710
- 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));
712
- const sortedStateNames = this._stateSort ? stateNames.slice().sort(this._stateSort) : stateNames, statePriority = new Map;
713
- sortedStateNames.forEach(((stateName, index) => {
714
- statePriority.set(stateName, index);
715
- }));
716
- const sharedStateDefinitions = {}, cacheKeys = [], dynamicSharedStateNames = new Set;
717
- if (stateNames.forEach((stateName => {
718
- var _a;
719
- const encoder = this._encoderOfState[stateName], patch = {}, dynamicEncoder = {}, patchKeys = [], dynamicKeys = [];
720
- if (Object.keys(null != encoder ? encoder : {}).forEach((key => {
721
- this._isStaticSharedStateAttribute(stateName, key) ? (patch[key] = this._computeAttribute(key, stateName)(void 0),
722
- patchKeys.push(key)) : (dynamicEncoder[key] = encoder[key], dynamicKeys.push(key));
723
- })), !patchKeys.length && !dynamicKeys.length) return;
724
- const definition = {
725
- priority: null !== (_a = statePriority.get(stateName)) && void 0 !== _a ? _a : 0
726
- };
727
- patchKeys.length && (definition.patch = patch), dynamicKeys.length && (dynamicSharedStateNames.add(stateName),
728
- definition.declaredAffectedKeys = dynamicKeys, definition.resolver = ({graphic: graphic}) => this._runEncoderOfGraphic(dynamicEncoder, graphic)),
729
- sharedStateDefinitions[stateName] = definition, cacheKeys.push([ stateName, definition.priority, patchKeys.sort().map((key => `${key}:${this._getSharedStateDefinitionValueKey(patch[key])}`)), dynamicKeys.sort().map((key => {
730
- var _a;
731
- const stateStyle = null === (_a = this.stateStyle[stateName]) || void 0 === _a ? void 0 : _a[key];
732
- 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
- })) ].join("|"));
734
- })), !cacheKeys.length) return this._dynamicSharedStateNames.clear(), void (void 0 !== this._product.sharedStateDefinitions && (this._product.sharedStateDefinitions = void 0));
735
- 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,
737
- this._sharedStateDefinitionsCache = sharedStateDefinitions, this._product.sharedStateDefinitions = sharedStateDefinitions);
738
- }
739
679
  _addProgressiveGraphic(parent, g) {
740
680
  parent.incrementalAppendChild(g);
741
681
  }
742
682
  _runEncoder(graphics, noGroupEncode) {
743
683
  var _a;
744
684
  const attrsByGroup = noGroupEncode ? null : this._runGroupEncoder(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a.group);
745
- graphics.forEach((g => {
746
- var _a;
747
- const attrs = this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a.update, g);
748
- isNil(this._markConfig.interactive) || (attrs.pickable = this._markConfig.interactive);
685
+ graphics.forEach(((g, index) => {
686
+ var _a, _b;
687
+ let attrs = this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a.update, g);
688
+ null === (_b = g.currentStates) || void 0 === _b || _b.forEach((_state => {
689
+ var _a;
690
+ const stateAttr = this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a[_state], g);
691
+ attrs = Object.assign(Object.assign({}, attrs), stateAttr);
692
+ })), isNil(this._markConfig.interactive) || (attrs.pickable = this._markConfig.interactive);
749
693
  const finalAttrs = this._transformGraphicAttributes(g, attrs, null == attrsByGroup ? void 0 : attrsByGroup[g.context.groupKey]);
750
694
  g.context.finalAttrs = finalAttrs;
751
695
  }));
752
696
  }
753
- _excludeStateControlledDiffAttrs(g, diffAttrs) {
754
- var _a;
755
- if (!diffAttrs || !Object.keys(diffAttrs).length) return diffAttrs;
756
- let nextDiffAttrs;
757
- const excludeKey = key => {
758
- key in diffAttrs && (nextDiffAttrs || (nextDiffAttrs = Object.assign({}, diffAttrs)),
759
- 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
- })), null != nextDiffAttrs ? nextDiffAttrs : diffAttrs;
767
- }
768
- _hasDiffAttrs(g) {
769
- return !!g.context.diffAttrs && Object.keys(g.context.diffAttrs).length > 0;
770
- }
771
697
  _runApplyGraphic(graphics) {
772
698
  const hasAnimation = this.hasAnimation();
773
699
  graphics.forEach(((g, index) => {
774
700
  var _a, _b, _c;
775
701
  const finalAttrs = g.context.finalAttrs, hasStateAnimation = this.hasAnimationByState(g.context.animationState);
776
702
  if (g.setAttributes) {
777
- const diffAttrs = this._excludeStateControlledDiffAttrs(g, getDiffAttributesOfGraphic(g, finalAttrs));
703
+ const diffAttrs = getDiffAttributesOfGraphic(g, finalAttrs);
778
704
  g.context.diffAttrs = diffAttrs, g.context.reusing ? (g.context.lastAttrs = g.attribute,
779
- g.initAttributes(finalAttrs), g.context.reusing = !1) : hasStateAnimation || (hasAnimation ? g.setAttributesAndPreventAnimate(diffAttrs) : g.setAttributes(diffAttrs)),
705
+ g.initAttributes({}), g.context.reusing = !1) : hasStateAnimation || (hasAnimation ? g.setAttributesAndPreventAnimate(diffAttrs) : g.setAttributes(diffAttrs)),
780
706
  !(null === (_c = this.renderContext) || void 0 === _c ? void 0 : _c.progressive) && this._product && g.parent !== this._product && this._product.appendChild(g),
781
707
  hasAnimation && g.setFinalAttributes(finalAttrs);
782
708
  } else {
@@ -847,7 +773,7 @@ export class BaseMark extends GrammarItem {
847
773
  }
848
774
  renderInner() {
849
775
  var _a, _b, _c;
850
- this._updateEncoderByState(), this._applySharedStateDefinitions();
776
+ this._updateEncoderByState();
851
777
  const data = null !== (_b = null === (_a = this._data) || void 0 === _a ? void 0 : _a.getProduct()) && void 0 !== _b ? _b : [ {} ], transformData = this._runBeforeTransform(data);
852
778
  let markData;
853
779
  if (null == transformData ? void 0 : transformData.progressive) {
@@ -872,12 +798,7 @@ export class BaseMark extends GrammarItem {
872
798
  if (!this._product) return;
873
799
  const stateInfo = this.state.getStateInfo(key);
874
800
  this._graphics.forEach((g => {
875
- const reinitStateGraphic = g, statesClearedBeforeReInit = reinitStateGraphic[statesClearedBeforeReInitKey], wasStateClearedBeforeReInit = null == statesClearedBeforeReInit ? void 0 : statesClearedBeforeReInit.includes(key), hasStateAnimation = !wasStateClearedBeforeReInit && this.hasAnimationByState("state");
876
- if ("in" === this.state.checkOneState(g, g.context.data, stateInfo) ? addGraphicState(g, key, !0, hasStateAnimation) : removeGraphicState(g, key, hasStateAnimation),
877
- wasStateClearedBeforeReInit) {
878
- const nextStates = statesClearedBeforeReInit.filter((stateName => stateName !== key));
879
- nextStates.length ? reinitStateGraphic[statesClearedBeforeReInitKey] = nextStates : delete reinitStateGraphic[statesClearedBeforeReInitKey];
880
- }
801
+ "in" === this.state.checkOneState(g, g.context.data, stateInfo) ? g.addState(key, !0, this.hasAnimationByState("state")) : g.removeState(key, this.hasAnimationByState("state"));
881
802
  }));
882
803
  }
883
804
  clearExitGraphics() {
@@ -897,7 +818,7 @@ export class BaseMark extends GrammarItem {
897
818
  })
898
819
  })));
899
820
  g.applyAnimationState([ "exit" ], [ 1 === exitConfigList.length ? exitConfigList[0] : exitConfigList ], (() => {
900
- g.context.diffState === DiffState.exit && g.isExiting && this._graphicMap.get(key) === g && doRemove(g, key);
821
+ doRemove(g, key);
901
822
  }));
902
823
  }
903
824
  } else doRemove(g, key);
@@ -1008,8 +929,7 @@ export class BaseMark extends GrammarItem {
1008
929
  }
1009
930
  clearBeforeReInit() {
1010
931
  this.state.clearAllStateInfo(), this.uncommit(), this.stateStyle = {}, this.getGraphics().forEach((g => {
1011
- var _a;
1012
- (null === (_a = g.currentStates) || void 0 === _a ? void 0 : _a.length) && (g[statesClearedBeforeReInitKey] = g.currentStates.slice());
932
+ g.clearStates();
1013
933
  }));
1014
934
  }
1015
935
  }