@visactor/vseed 0.4.2 → 0.4.4

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 (310) hide show
  1. package/dist/cjs/index.cjs +646 -1
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/buildSpec.d.ts +1 -2
  4. package/dist/esm/builder/builder/buildSpec.js.map +1 -1
  5. package/dist/esm/builder/builder/builder.d.ts +54 -14290
  6. package/dist/esm/builder/builder/builder.js +10 -0
  7. package/dist/esm/builder/builder/builder.js.map +1 -1
  8. package/dist/esm/builder/builder/prepare.d.ts +12 -0
  9. package/dist/esm/builder/builder/prepare.js +269 -0
  10. package/dist/esm/builder/builder/prepare.js.map +1 -0
  11. package/dist/esm/builder/register/all.js +4 -1
  12. package/dist/esm/builder/register/all.js.map +1 -1
  13. package/dist/esm/builder/register/chartType/index.d.ts +3 -0
  14. package/dist/esm/builder/register/chartType/index.js +4 -1
  15. package/dist/esm/builder/register/chartType/raceDonut.d.ts +5 -0
  16. package/dist/esm/builder/register/chartType/raceDonut.js +9 -0
  17. package/dist/esm/builder/register/chartType/raceDonut.js.map +1 -0
  18. package/dist/esm/builder/register/chartType/raceLine.d.ts +5 -0
  19. package/dist/esm/builder/register/chartType/raceLine.js +9 -0
  20. package/dist/esm/builder/register/chartType/raceLine.js.map +1 -0
  21. package/dist/esm/builder/register/chartType/racePie.d.ts +5 -0
  22. package/dist/esm/builder/register/chartType/racePie.js +9 -0
  23. package/dist/esm/builder/register/chartType/racePie.js.map +1 -0
  24. package/dist/esm/dataReshape/constant.d.ts +1 -0
  25. package/dist/esm/dataReshape/constant.js +2 -1
  26. package/dist/esm/dataReshape/constant.js.map +1 -1
  27. package/dist/esm/dataSelector/selector.d.ts +71 -2
  28. package/dist/esm/dataSelector/selector.js +96 -32
  29. package/dist/esm/dataSelector/selector.js.map +1 -1
  30. package/dist/esm/pipeline/advanced/chart/pipeline/index.d.ts +3 -0
  31. package/dist/esm/pipeline/advanced/chart/pipeline/index.js +4 -1
  32. package/dist/esm/pipeline/advanced/chart/pipeline/raceDonut.d.ts +2 -0
  33. package/dist/esm/pipeline/advanced/chart/pipeline/raceDonut.js +33 -0
  34. package/dist/esm/pipeline/advanced/chart/pipeline/raceDonut.js.map +1 -0
  35. package/dist/esm/pipeline/advanced/chart/pipeline/raceLine.d.ts +2 -0
  36. package/dist/esm/pipeline/advanced/chart/pipeline/raceLine.js +36 -0
  37. package/dist/esm/pipeline/advanced/chart/pipeline/raceLine.js.map +1 -0
  38. package/dist/esm/pipeline/advanced/chart/pipeline/racePie.d.ts +2 -0
  39. package/dist/esm/pipeline/advanced/chart/pipeline/racePie.js +33 -0
  40. package/dist/esm/pipeline/advanced/chart/pipeline/racePie.js.map +1 -0
  41. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js +2 -1
  42. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js.map +1 -1
  43. package/dist/esm/pipeline/advanced/chart/pipes/encoding/index.d.ts +3 -0
  44. package/dist/esm/pipeline/advanced/chart/pipes/encoding/index.js +4 -1
  45. package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceBar.js +0 -3
  46. package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceBar.js.map +1 -1
  47. package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceColumn.js +0 -3
  48. package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceColumn.js.map +1 -1
  49. package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceDonut.d.ts +3 -0
  50. package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceDonut.js +74 -0
  51. package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceDonut.js.map +1 -0
  52. package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceLine.d.ts +3 -0
  53. package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceLine.js +89 -0
  54. package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceLine.js.map +1 -0
  55. package/dist/esm/pipeline/advanced/chart/pipes/encoding/racePie.d.ts +3 -0
  56. package/dist/esm/pipeline/advanced/chart/pipes/encoding/racePie.js +74 -0
  57. package/dist/esm/pipeline/advanced/chart/pipes/encoding/racePie.js.map +1 -0
  58. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js +2 -1
  59. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js.map +1 -1
  60. package/dist/esm/pipeline/spec/chart/pipeline/index.d.ts +3 -0
  61. package/dist/esm/pipeline/spec/chart/pipeline/index.js +4 -1
  62. package/dist/esm/pipeline/spec/chart/pipeline/raceBar.js +2 -2
  63. package/dist/esm/pipeline/spec/chart/pipeline/raceBar.js.map +1 -1
  64. package/dist/esm/pipeline/spec/chart/pipeline/raceColumn.js +2 -2
  65. package/dist/esm/pipeline/spec/chart/pipeline/raceColumn.js.map +1 -1
  66. package/dist/esm/pipeline/spec/chart/pipeline/raceDonut.d.ts +2 -0
  67. package/dist/esm/pipeline/spec/chart/pipeline/raceDonut.js +21 -0
  68. package/dist/esm/pipeline/spec/chart/pipeline/raceDonut.js.map +1 -0
  69. package/dist/esm/pipeline/spec/chart/pipeline/raceLine.d.ts +2 -0
  70. package/dist/esm/pipeline/spec/chart/pipeline/raceLine.js +25 -0
  71. package/dist/esm/pipeline/spec/chart/pipeline/raceLine.js.map +1 -0
  72. package/dist/esm/pipeline/spec/chart/pipeline/racePie.d.ts +2 -0
  73. package/dist/esm/pipeline/spec/chart/pipeline/racePie.js +21 -0
  74. package/dist/esm/pipeline/spec/chart/pipeline/racePie.js.map +1 -0
  75. package/dist/esm/pipeline/spec/chart/pipeline/raceScatter.js +2 -2
  76. package/dist/esm/pipeline/spec/chart/pipeline/raceScatter.js.map +1 -1
  77. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js +10 -4
  78. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js.map +1 -1
  79. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointCommon.d.ts +8 -2
  80. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointCommon.js +13 -4
  81. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointCommon.js.map +1 -1
  82. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js +8 -4
  83. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js.map +1 -1
  84. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js +10 -4
  85. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js.map +1 -1
  86. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js.map +1 -1
  87. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.d.ts +9 -1
  88. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js +7 -1
  89. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js.map +1 -1
  90. package/dist/esm/pipeline/spec/chart/pipes/legend/boxLegend.js.map +1 -1
  91. package/dist/esm/pipeline/spec/chart/pipes/legend/heatmapColorLegend.js.map +1 -1
  92. package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.js +3 -2
  93. package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.js.map +1 -1
  94. package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.js +5 -2
  95. package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.js.map +1 -1
  96. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointState.js.map +1 -1
  97. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.js +3 -2
  98. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.js.map +1 -1
  99. package/dist/esm/pipeline/spec/chart/pipes/player/index.d.ts +5 -3
  100. package/dist/esm/pipeline/spec/chart/pipes/player/index.js +5 -3
  101. package/dist/esm/pipeline/spec/chart/pipes/player/isPlayer.d.ts +2 -2
  102. package/dist/esm/pipeline/spec/chart/pipes/player/isPlayer.js +8 -7
  103. package/dist/esm/pipeline/spec/chart/pipes/player/isPlayer.js.map +1 -1
  104. package/dist/esm/pipeline/spec/chart/pipes/player/{playerXY.d.ts → playerBar.d.ts} +1 -1
  105. package/dist/esm/pipeline/spec/chart/pipes/player/{playerYX.js → playerBar.js} +6 -7
  106. package/dist/esm/pipeline/spec/chart/pipes/player/playerBar.js.map +1 -0
  107. package/dist/esm/pipeline/spec/chart/pipes/player/playerColumn.d.ts +2 -0
  108. package/dist/esm/pipeline/spec/chart/pipes/player/{playerXY.js → playerColumn.js} +6 -7
  109. package/dist/esm/pipeline/spec/chart/pipes/player/playerColumn.js.map +1 -0
  110. package/dist/esm/pipeline/spec/chart/pipes/player/{playerYX.d.ts → playerLine.d.ts} +1 -1
  111. package/dist/esm/pipeline/spec/chart/pipes/player/playerLine.js +144 -0
  112. package/dist/esm/pipeline/spec/chart/pipes/player/playerLine.js.map +1 -0
  113. package/dist/esm/pipeline/spec/chart/pipes/player/{playerYY.d.ts → playerPie.d.ts} +1 -1
  114. package/dist/esm/pipeline/spec/chart/pipes/player/playerPie.js +174 -0
  115. package/dist/esm/pipeline/spec/chart/pipes/player/playerPie.js.map +1 -0
  116. package/dist/esm/pipeline/spec/chart/pipes/player/playerScatter.d.ts +2 -0
  117. package/dist/esm/pipeline/spec/chart/pipes/player/{playerYY.js → playerScatter.js} +7 -7
  118. package/dist/esm/pipeline/spec/chart/pipes/player/playerScatter.js.map +1 -0
  119. package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.d.ts +4 -1
  120. package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.js +12 -1
  121. package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.js.map +1 -1
  122. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js +6 -3
  123. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -1
  124. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js +7 -3
  125. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js.map +1 -1
  126. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.js.map +1 -1
  127. package/dist/esm/pipeline/utils/index.d.ts +1 -0
  128. package/dist/esm/pipeline/utils/index.js +1 -0
  129. package/dist/esm/pipeline/utils/sandbox/builtin-utils.d.ts +6 -0
  130. package/dist/esm/pipeline/utils/sandbox/builtin-utils.js +337 -0
  131. package/dist/esm/pipeline/utils/sandbox/builtin-utils.js.map +1 -0
  132. package/dist/esm/pipeline/utils/sandbox/execute.d.ts +73 -0
  133. package/dist/esm/pipeline/utils/sandbox/execute.js +716 -0
  134. package/dist/esm/pipeline/utils/sandbox/execute.js.map +1 -0
  135. package/dist/esm/pipeline/utils/sandbox/index.d.ts +7 -0
  136. package/dist/esm/pipeline/utils/sandbox/index.js +3 -0
  137. package/dist/esm/theme/dark/dark.js +10 -5
  138. package/dist/esm/theme/dark/dark.js.map +1 -1
  139. package/dist/esm/theme/dark/raceLine.d.ts +182 -0
  140. package/dist/esm/theme/dark/raceLine.js +39 -0
  141. package/dist/esm/theme/dark/raceLine.js.map +1 -0
  142. package/dist/esm/theme/dark/racePie.d.ts +157 -0
  143. package/dist/esm/theme/dark/racePie.js +18 -0
  144. package/dist/esm/theme/dark/racePie.js.map +1 -0
  145. package/dist/esm/theme/light/light.js +6 -1
  146. package/dist/esm/theme/light/light.js.map +1 -1
  147. package/dist/esm/theme/light/raceLine.d.ts +182 -0
  148. package/dist/esm/theme/light/raceLine.js +39 -0
  149. package/dist/esm/theme/light/raceLine.js.map +1 -0
  150. package/dist/esm/theme/light/racePie.d.ts +157 -0
  151. package/dist/esm/theme/light/racePie.js +18 -0
  152. package/dist/esm/theme/light/racePie.js.map +1 -0
  153. package/dist/esm/types/builder/builder.d.ts +1 -0
  154. package/dist/esm/types/builder/builder.js.map +1 -1
  155. package/dist/esm/types/chartType/area/zArea.d.ts +682 -18
  156. package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +682 -18
  157. package/dist/esm/types/chartType/bar/zBar.d.ts +362 -10
  158. package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +362 -10
  159. package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +362 -10
  160. package/dist/esm/types/chartType/boxPlot/zBoxPlot.d.ts +210 -14
  161. package/dist/esm/types/chartType/circlePacking/zCirclePacking.d.ts +2 -2
  162. package/dist/esm/types/chartType/column/zColumn.d.ts +363 -10
  163. package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +363 -10
  164. package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +362 -10
  165. package/dist/esm/types/chartType/donut/zDonut.d.ts +2 -2
  166. package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +842 -22
  167. package/dist/esm/types/chartType/funnel/zFunnel.d.ts +2 -2
  168. package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +2 -2
  169. package/dist/esm/types/chartType/histogram/zHistogram.d.ts +362 -10
  170. package/dist/esm/types/chartType/index.d.ts +7 -0
  171. package/dist/esm/types/chartType/index.js +3 -0
  172. package/dist/esm/types/chartType/line/zLine.d.ts +522 -14
  173. package/dist/esm/types/chartType/pie/zPie.d.ts +2 -2
  174. package/dist/esm/types/chartType/pivotTable/zPivotTable.d.ts +241 -4
  175. package/dist/esm/types/chartType/pivotTable/zPivotTable.js +1 -1
  176. package/dist/esm/types/chartType/pivotTable/zPivotTable.js.map +1 -1
  177. package/dist/esm/types/chartType/raceBar/raceBar.d.ts +2 -2
  178. package/dist/esm/types/chartType/raceBar/zRaceBar.d.ts +363 -10
  179. package/dist/esm/types/chartType/raceColumn/raceColumn.d.ts +106 -3
  180. package/dist/esm/types/chartType/raceColumn/zRaceColumn.d.ts +363 -10
  181. package/dist/esm/types/chartType/raceDonut/index.d.ts +2 -0
  182. package/dist/esm/types/chartType/raceDonut/index.js +1 -0
  183. package/dist/esm/types/chartType/raceDonut/raceDonut.d.ts +75 -0
  184. package/dist/esm/types/chartType/raceDonut/zRaceDonut.d.ts +387 -0
  185. package/dist/esm/types/chartType/raceDonut/zRaceDonut.js +23 -0
  186. package/dist/esm/types/chartType/raceDonut/zRaceDonut.js.map +1 -0
  187. package/dist/esm/types/chartType/raceLine/index.d.ts +2 -0
  188. package/dist/esm/types/chartType/raceLine/index.js +1 -0
  189. package/dist/esm/types/chartType/raceLine/raceLine.d.ts +122 -0
  190. package/dist/esm/types/chartType/raceLine/raceLine.js +0 -0
  191. package/dist/esm/types/chartType/raceLine/zRaceLine.d.ts +1904 -0
  192. package/dist/esm/types/chartType/raceLine/zRaceLine.js +35 -0
  193. package/dist/esm/types/chartType/raceLine/zRaceLine.js.map +1 -0
  194. package/dist/esm/types/chartType/racePie/index.d.ts +2 -0
  195. package/dist/esm/types/chartType/racePie/index.js +1 -0
  196. package/dist/esm/types/chartType/racePie/racePie.d.ts +75 -0
  197. package/dist/esm/types/chartType/racePie/racePie.js +0 -0
  198. package/dist/esm/types/chartType/racePie/zRacePie.d.ts +387 -0
  199. package/dist/esm/types/chartType/racePie/zRacePie.js +23 -0
  200. package/dist/esm/types/chartType/racePie/zRacePie.js.map +1 -0
  201. package/dist/esm/types/chartType/raceScatter/raceScatter.d.ts +84 -0
  202. package/dist/esm/types/chartType/raceScatter/zRaceScatter.d.ts +363 -10
  203. package/dist/esm/types/chartType/radar/zRadar.d.ts +2 -2
  204. package/dist/esm/types/chartType/rose/zRose.d.ts +2 -2
  205. package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +2 -2
  206. package/dist/esm/types/chartType/scatter/zScatter.d.ts +362 -10
  207. package/dist/esm/types/chartType/sunburst/sunburst.d.ts +1 -1
  208. package/dist/esm/types/chartType/sunburst/zSunburst.d.ts +2 -2
  209. package/dist/esm/types/chartType/table/zTable.d.ts +241 -4
  210. package/dist/esm/types/chartType/table/zTable.js +1 -1
  211. package/dist/esm/types/chartType/table/zTable.js.map +1 -1
  212. package/dist/esm/types/chartType/treeMap/zTreeMap.d.ts +2 -2
  213. package/dist/esm/types/dataSelector/selector.d.ts +594 -3
  214. package/dist/esm/types/dataSelector/selector.js +58 -2
  215. package/dist/esm/types/dataSelector/selector.js.map +1 -1
  216. package/dist/esm/types/properties/annotation/annotation.d.ts +200 -4
  217. package/dist/esm/types/properties/annotation/annotationHorizontalLine.d.ts +12 -0
  218. package/dist/esm/types/properties/annotation/annotationPoint.d.ts +19 -0
  219. package/dist/esm/types/properties/annotation/annotationVerticalLine.d.ts +12 -0
  220. package/dist/esm/types/properties/annotation/zAnnotationHorizontalLine.d.ts +10 -0
  221. package/dist/esm/types/properties/annotation/zAnnotationHorizontalLine.js +2 -0
  222. package/dist/esm/types/properties/annotation/zAnnotationHorizontalLine.js.map +1 -1
  223. package/dist/esm/types/properties/annotation/zAnnotationPoint.d.ts +80 -2
  224. package/dist/esm/types/properties/annotation/zAnnotationPoint.js +2 -1
  225. package/dist/esm/types/properties/annotation/zAnnotationPoint.js.map +1 -1
  226. package/dist/esm/types/properties/annotation/zAnnotationVerticalLine.d.ts +10 -0
  227. package/dist/esm/types/properties/annotation/zAnnotationVerticalLine.js +2 -0
  228. package/dist/esm/types/properties/annotation/zAnnotationVerticalLine.js.map +1 -1
  229. package/dist/esm/types/properties/cellStyle/bodyCellStyle.d.ts +105 -2
  230. package/dist/esm/types/properties/cellStyle/bodyCellStyle.js +2 -1
  231. package/dist/esm/types/properties/cellStyle/bodyCellStyle.js.map +1 -1
  232. package/dist/esm/types/properties/cellStyle/cellStyle.d.ts +83 -2
  233. package/dist/esm/types/properties/chartType/chartType.d.ts +4 -1
  234. package/dist/esm/types/properties/chartType/chartType.js +3 -0
  235. package/dist/esm/types/properties/chartType/chartType.js.map +1 -1
  236. package/dist/esm/types/properties/config/annotation/zAnnotation.d.ts +156 -0
  237. package/dist/esm/types/properties/config/area.d.ts +160 -4
  238. package/dist/esm/types/properties/config/bar.d.ts +240 -6
  239. package/dist/esm/types/properties/config/boxplot.d.ts +80 -2
  240. package/dist/esm/types/properties/config/circlePacking.d.ts +2 -2
  241. package/dist/esm/types/properties/config/column.d.ts +240 -6
  242. package/dist/esm/types/properties/config/config.d.ts +3576 -96
  243. package/dist/esm/types/properties/config/config.js +4 -1
  244. package/dist/esm/types/properties/config/config.js.map +1 -1
  245. package/dist/esm/types/properties/config/dualAxis.d.ts +80 -2
  246. package/dist/esm/types/properties/config/funnel.d.ts +2 -2
  247. package/dist/esm/types/properties/config/heatmap.d.ts +2 -2
  248. package/dist/esm/types/properties/config/histogram.d.ts +80 -2
  249. package/dist/esm/types/properties/config/label/zLabel.d.ts +2 -2
  250. package/dist/esm/types/properties/config/label/zPieLabel.d.ts +2 -2
  251. package/dist/esm/types/properties/config/line.d.ts +80 -2
  252. package/dist/esm/types/properties/config/pie.d.ts +6 -6
  253. package/dist/esm/types/properties/config/player/player.d.ts +2 -2
  254. package/dist/esm/types/properties/config/player/zPlayer.d.ts +1 -0
  255. package/dist/esm/types/properties/config/player/zPlayer.js +1 -0
  256. package/dist/esm/types/properties/config/player/zPlayer.js.map +1 -1
  257. package/dist/esm/types/properties/config/race.d.ts +2519 -50
  258. package/dist/esm/types/properties/config/race.js +10 -3
  259. package/dist/esm/types/properties/config/race.js.map +1 -1
  260. package/dist/esm/types/properties/config/rose.d.ts +4 -4
  261. package/dist/esm/types/properties/config/scatter.d.ts +80 -2
  262. package/dist/esm/types/properties/config/sunburst.d.ts +2 -2
  263. package/dist/esm/types/properties/config/treeMap.d.ts +2 -2
  264. package/dist/esm/types/properties/dimensions/index.d.ts +3 -0
  265. package/dist/esm/types/properties/dimensions/raceDonutDimension.d.ts +14 -0
  266. package/dist/esm/types/properties/dimensions/raceDonutDimension.js +0 -0
  267. package/dist/esm/types/properties/dimensions/raceLineDimension.d.ts +15 -0
  268. package/dist/esm/types/properties/dimensions/raceLineDimension.js +0 -0
  269. package/dist/esm/types/properties/dimensions/racePieDimension.d.ts +14 -0
  270. package/dist/esm/types/properties/dimensions/racePieDimension.js +0 -0
  271. package/dist/esm/types/properties/markStyle/areaStyle.d.ts +19 -0
  272. package/dist/esm/types/properties/markStyle/barStyle.d.ts +99 -2
  273. package/dist/esm/types/properties/markStyle/barStyle.js +2 -1
  274. package/dist/esm/types/properties/markStyle/barStyle.js.map +1 -1
  275. package/dist/esm/types/properties/markStyle/boxPlotStyle.d.ts +2 -2
  276. package/dist/esm/types/properties/markStyle/lineStyle.d.ts +99 -2
  277. package/dist/esm/types/properties/markStyle/lineStyle.js +2 -1
  278. package/dist/esm/types/properties/markStyle/lineStyle.js.map +1 -1
  279. package/dist/esm/types/properties/markStyle/markStyle.d.ts +648 -24
  280. package/dist/esm/types/properties/markStyle/outlierStyle.d.ts +2 -2
  281. package/dist/esm/types/properties/markStyle/pointStyle.d.ts +99 -2
  282. package/dist/esm/types/properties/markStyle/pointStyle.js +2 -1
  283. package/dist/esm/types/properties/markStyle/pointStyle.js.map +1 -1
  284. package/dist/esm/types/properties/markStyle/zAreaStyle.d.ts +80 -2
  285. package/dist/esm/types/properties/markStyle/zAreaStyle.js +2 -1
  286. package/dist/esm/types/properties/markStyle/zAreaStyle.js.map +1 -1
  287. package/dist/esm/types/properties/measures/hierarchyMeasure.d.ts +10 -0
  288. package/dist/esm/types/properties/measures/hierarchyMeasure.js +0 -0
  289. package/dist/esm/types/properties/measures/index.d.ts +4 -1
  290. package/dist/esm/types/properties/measures/raceDonutMeasure.d.ts +2 -0
  291. package/dist/esm/types/properties/measures/raceDonutMeasure.js +0 -0
  292. package/dist/esm/types/properties/measures/raceLineMeasure.d.ts +2 -0
  293. package/dist/esm/types/properties/measures/raceLineMeasure.js +0 -0
  294. package/dist/esm/types/properties/measures/racePieMeasure.d.ts +2 -0
  295. package/dist/esm/types/properties/measures/racePieMeasure.js +0 -0
  296. package/dist/esm/types/properties/theme/customTheme.d.ts +9495 -2535
  297. package/dist/esm/types/sandbox.d.ts +19 -0
  298. package/dist/esm/types/sandbox.js +0 -0
  299. package/dist/esm/types/vseed.d.ts +2 -2
  300. package/dist/esm/types/zVseed.d.ts +4 -25058
  301. package/dist/esm/types/zVseed.js +7 -4
  302. package/dist/esm/types/zVseed.js.map +1 -1
  303. package/dist/umd/index.js +4310 -1922
  304. package/dist/umd/index.js.map +1 -1
  305. package/package.json +1 -1
  306. package/dist/esm/pipeline/spec/chart/pipes/player/playerXY.js.map +0 -1
  307. package/dist/esm/pipeline/spec/chart/pipes/player/playerYX.js.map +0 -1
  308. package/dist/esm/pipeline/spec/chart/pipes/player/playerYY.js.map +0 -1
  309. package/dist/esm/types/properties/measures/hierarchyMeasures.d.ts +0 -4
  310. /package/dist/esm/types/{properties/measures/hierarchyMeasures.js → chartType/raceDonut/raceDonut.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { selector } from "../../../../../dataSelector/index.js";
1
+ import { selector, selectorWithDynamicFilter } from "../../../../../dataSelector/index.js";
2
2
  import { isEmpty, isNullish } from "remeda";
3
3
  const pointStyle_pointStyle = (spec, context)=>{
4
4
  const { advancedVSeed } = context;
@@ -31,7 +31,8 @@ const pointStyle_pointStyle = (spec, context)=>{
31
31
  [`custom${index + 1}`]: {
32
32
  level: index + 1,
33
33
  filter: (datum)=>{
34
- if (selector(datum, style.selector)) return true;
34
+ const shouldApply = style.dynamicFilter ? selectorWithDynamicFilter(datum, style.dynamicFilter, style.selector) : selector(datum, style.selector);
35
+ if (shouldApply) return true;
35
36
  return false;
36
37
  },
37
38
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/markStyle/pointStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/markStyle/pointStyle.ts"],"sourcesContent":["import type { IAreaChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { Datum, PointStyle, VChartSpecPipe } from 'src/types'\nimport { isEmpty, isNullish } from 'remeda'\n\nexport const pointStyle: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { markStyle } = advancedVSeed\n const { pointStyle } = markStyle\n const result = {\n ...spec,\n point: {\n style: {},\n },\n } as IAreaChartSpec\n\n if (isNullish(pointStyle) || isEmpty(pointStyle)) {\n return result\n }\n\n const pointStyles = (Array.isArray(pointStyle) ? pointStyle : [pointStyle]) as PointStyle[]\n\n const customMap = pointStyles.reduce<object>((result, style, index) => {\n const {\n pointBorderColor,\n pointBorderStyle,\n pointBorderWidth = 1,\n pointColor,\n pointColorOpacity,\n pointSize,\n pointVisible = true,\n } = style\n\n const lineDash = pointBorderStyle === 'dashed' ? [5, 2] : pointBorderStyle === 'dotted' ? [2, 5] : [0, 0]\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n if (selector(datum, style.selector)) {\n return true\n }\n return false\n },\n style: {\n visible: pointVisible,\n size: pointSize,\n fill: pointColor,\n fillOpacity: pointColorOpacity,\n innerBorder: {\n stroke: pointBorderColor,\n lineWidth: pointBorderWidth,\n distance: (pointBorderWidth || 0) / 2,\n lineDash: lineDash,\n },\n },\n },\n }\n }, {})\n\n return {\n ...result,\n point: {\n ...result.point,\n state: {\n ...customMap,\n },\n },\n }\n}\n"],"names":["pointStyle","spec","context","advancedVSeed","markStyle","result","isNullish","isEmpty","pointStyles","Array","customMap","style","index","pointBorderColor","pointBorderStyle","pointBorderWidth","pointColor","pointColorOpacity","pointSize","pointVisible","lineDash","datum","selector"],"mappings":";;AAKO,MAAMA,wBAA6B,CAACC,MAAMC;IAC/C,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAM,EAAEH,UAAU,EAAE,GAAGI;IACvB,MAAMC,SAAS;QACb,GAAGJ,IAAI;QACP,OAAO;YACL,OAAO,CAAC;QACV;IACF;IAEA,IAAIK,UAAUN,eAAeO,QAAQP,aACnC,OAAOK;IAGT,MAAMG,cAAeC,MAAM,OAAO,CAACT,cAAcA,aAAa;QAACA;KAAW;IAE1E,MAAMU,YAAYF,YAAY,MAAM,CAAS,CAACH,QAAQM,OAAOC;QAC3D,MAAM,EACJC,gBAAgB,EAChBC,gBAAgB,EAChBC,mBAAmB,CAAC,EACpBC,UAAU,EACVC,iBAAiB,EACjBC,SAAS,EACTC,eAAe,IAAI,EACpB,GAAGR;QAEJ,MAAMS,WAAWN,AAAqB,aAArBA,mBAAgC;YAAC;YAAG;SAAE,GAAGA,AAAqB,aAArBA,mBAAgC;YAAC;YAAG;SAAE,GAAG;YAAC;YAAG;SAAE;QACzG,OAAO;YACL,GAAGT,MAAM;YACT,CAAC,CAAC,MAAM,EAAEO,QAAQ,GAAG,CAAC,EAAE;gBAEtB,OAAOA,QAAQ;gBACf,QAAQ,CAACS;oBACP,IAAIC,SAASD,OAAOV,MAAM,QAAQ,GAChC,OAAO;oBAET,OAAO;gBACT;gBACA,OAAO;oBACL,SAASQ;oBACT,MAAMD;oBACN,MAAMF;oBACN,aAAaC;oBACb,aAAa;wBACX,QAAQJ;wBACR,WAAWE;wBACX,UAAWA,AAAAA,CAAAA,oBAAoB,KAAK;wBACpC,UAAUK;oBACZ;gBACF;YACF;QACF;IACF,GAAG,CAAC;IAEJ,OAAO;QACL,GAAGf,MAAM;QACT,OAAO;YACL,GAAGA,OAAO,KAAK;YACf,OAAO;gBACL,GAAGK,SAAS;YACd;QACF;IACF;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/markStyle/pointStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/markStyle/pointStyle.ts"],"sourcesContent":["import type { IAreaChartSpec } from '@visactor/vchart'\nimport { selector, selectorWithDynamicFilter } from '../../../../../dataSelector'\nimport type { Datum, PointStyle, VChartSpecPipe } from 'src/types'\nimport { isEmpty, isNullish } from 'remeda'\n\nexport const pointStyle: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { markStyle } = advancedVSeed\n const { pointStyle } = markStyle\n const result = {\n ...spec,\n point: {\n style: {},\n },\n } as IAreaChartSpec\n if (isNullish(pointStyle) || isEmpty(pointStyle)) {\n return result\n }\n\n const pointStyles = (Array.isArray(pointStyle) ? pointStyle : [pointStyle]) as PointStyle[]\n\n const customMap = pointStyles.reduce<object>((result, style, index) => {\n const {\n pointBorderColor,\n pointBorderStyle,\n pointBorderWidth = 1,\n pointColor,\n pointColorOpacity,\n pointSize,\n pointVisible = true,\n } = style\n\n const lineDash = pointBorderStyle === 'dashed' ? [5, 2] : pointBorderStyle === 'dotted' ? [2, 5] : [0, 0]\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n const shouldApply = style.dynamicFilter\n ? selectorWithDynamicFilter(datum, style.dynamicFilter, style.selector)\n : selector(datum, style.selector)\n if (shouldApply) {\n return true\n }\n return false\n },\n style: {\n visible: pointVisible,\n size: pointSize,\n fill: pointColor,\n fillOpacity: pointColorOpacity,\n innerBorder: {\n stroke: pointBorderColor,\n lineWidth: pointBorderWidth,\n distance: (pointBorderWidth || 0) / 2,\n lineDash: lineDash,\n },\n },\n },\n }\n }, {})\n\n return {\n ...result,\n point: {\n ...result.point,\n state: {\n ...customMap,\n },\n },\n }\n}\n"],"names":["pointStyle","spec","context","advancedVSeed","markStyle","result","isNullish","isEmpty","pointStyles","Array","customMap","style","index","pointBorderColor","pointBorderStyle","pointBorderWidth","pointColor","pointColorOpacity","pointSize","pointVisible","lineDash","datum","shouldApply","selectorWithDynamicFilter","selector"],"mappings":";;AAKO,MAAMA,wBAA6B,CAACC,MAAMC;IAC/C,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAM,EAAEH,UAAU,EAAE,GAAGI;IACvB,MAAMC,SAAS;QACb,GAAGJ,IAAI;QACP,OAAO;YACL,OAAO,CAAC;QACV;IACF;IACA,IAAIK,UAAUN,eAAeO,QAAQP,aACnC,OAAOK;IAGT,MAAMG,cAAeC,MAAM,OAAO,CAACT,cAAcA,aAAa;QAACA;KAAW;IAE1E,MAAMU,YAAYF,YAAY,MAAM,CAAS,CAACH,QAAQM,OAAOC;QAC3D,MAAM,EACJC,gBAAgB,EAChBC,gBAAgB,EAChBC,mBAAmB,CAAC,EACpBC,UAAU,EACVC,iBAAiB,EACjBC,SAAS,EACTC,eAAe,IAAI,EACpB,GAAGR;QAEJ,MAAMS,WAAWN,AAAqB,aAArBA,mBAAgC;YAAC;YAAG;SAAE,GAAGA,AAAqB,aAArBA,mBAAgC;YAAC;YAAG;SAAE,GAAG;YAAC;YAAG;SAAE;QACzG,OAAO;YACL,GAAGT,MAAM;YACT,CAAC,CAAC,MAAM,EAAEO,QAAQ,GAAG,CAAC,EAAE;gBAEtB,OAAOA,QAAQ;gBACf,QAAQ,CAACS;oBACP,MAAMC,cAAcX,MAAM,aAAa,GACnCY,0BAA0BF,OAAOV,MAAM,aAAa,EAAEA,MAAM,QAAQ,IACpEa,SAASH,OAAOV,MAAM,QAAQ;oBAClC,IAAIW,aACF,OAAO;oBAET,OAAO;gBACT;gBACA,OAAO;oBACL,SAASH;oBACT,MAAMD;oBACN,MAAMF;oBACN,aAAaC;oBACb,aAAa;wBACX,QAAQJ;wBACR,WAAWE;wBACX,UAAWA,AAAAA,CAAAA,oBAAoB,KAAK;wBACpC,UAAUK;oBACZ;gBACF;YACF;QACF;IACF,GAAG,CAAC;IAEJ,OAAO;QACL,GAAGf,MAAM;QACT,OAAO;YACL,GAAGA,OAAO,KAAK;YACf,OAAO;gBACL,GAAGK,SAAS;YACd;QACF;IACF;AACF"}
@@ -1,4 +1,6 @@
1
1
  export * from './isPlayer';
2
- export * from './playerYX';
3
- export * from './playerXY';
4
- export * from './playerYY';
2
+ export * from './playerBar';
3
+ export * from './playerColumn';
4
+ export * from './playerScatter';
5
+ export * from './playerLine';
6
+ export * from './playerPie';
@@ -1,4 +1,6 @@
1
1
  export * from "./isPlayer.js";
2
- export * from "./playerYX.js";
3
- export * from "./playerXY.js";
4
- export * from "./playerYY.js";
2
+ export * from "./playerBar.js";
3
+ export * from "./playerColumn.js";
4
+ export * from "./playerScatter.js";
5
+ export * from "./playerLine.js";
6
+ export * from "./playerPie.js";
@@ -1,2 +1,2 @@
1
- import type { Condition } from '../../utils';
2
- export declare const isPlayer: Condition;
1
+ import type { VChartSpecPipe } from '../../../../../types';
2
+ export declare const isPlayer: (playerPipe: VChartSpecPipe, defaultPipe: VChartSpecPipe) => VChartSpecPipe;
@@ -1,11 +1,12 @@
1
1
  import { isPivotChart, isVTable } from "../../../../utils/index.js";
2
- const isPlayer = (context)=>{
3
- const { vseed, advancedVSeed } = context;
4
- const { chartType } = advancedVSeed;
5
- const baseConfig = advancedVSeed.config[chartType];
6
- if (!('player' in vseed) || !baseConfig || !baseConfig.player || isVTable(vseed) || isPivotChart(vseed)) return false;
7
- return true;
8
- };
2
+ const isPlayer = (playerPipe, defaultPipe)=>(spec, context)=>{
3
+ const { vseed, advancedVSeed } = context;
4
+ const { encoding } = advancedVSeed;
5
+ const hasPlayerEncoding = encoding.player && encoding.player.length > 0;
6
+ const isStandardChart = !isVTable(vseed) && !isPivotChart(vseed);
7
+ if (hasPlayerEncoding && isStandardChart) return playerPipe(spec, context);
8
+ return defaultPipe(spec, context);
9
+ };
9
10
  export { isPlayer };
10
11
 
11
12
  //# sourceMappingURL=isPlayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/player/isPlayer.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/isPlayer.ts"],"sourcesContent":["import { isPivotChart, isVTable } from 'src/pipeline/utils'\nimport type { Player, SpecPipelineContext } from 'src/types'\nimport type { Condition } from '../../utils'\n\nexport const isPlayer: Condition = (context: SpecPipelineContext): boolean => {\n const { vseed, advancedVSeed } = context\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { player: Player }\n if (!('player' in vseed) || !baseConfig || !baseConfig.player || isVTable(vseed) || isPivotChart(vseed)) {\n return false\n }\n return true\n}\n"],"names":["isPlayer","context","vseed","advancedVSeed","chartType","baseConfig","isVTable","isPivotChart"],"mappings":";AAIO,MAAMA,WAAsB,CAACC;IAClC,MAAM,EAAEC,KAAK,EAAEC,aAAa,EAAE,GAAGF;IACjC,MAAM,EAAEG,SAAS,EAAE,GAAGD;IACtB,MAAME,aAAaF,cAAc,MAAM,CAACC,UAAU;IAClD,IAAI,CAAE,aAAYF,KAAI,KAAM,CAACG,cAAc,CAACA,WAAW,MAAM,IAAIC,SAASJ,UAAUK,aAAaL,QAC/F,OAAO;IAET,OAAO;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/player/isPlayer.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/isPlayer.ts"],"sourcesContent":["import { isPivotChart, isVTable } from 'src/pipeline/utils'\nimport type { VChartSpecPipe } from 'src/types'\n\nexport const isPlayer = (playerPipe: VChartSpecPipe, defaultPipe: VChartSpecPipe): VChartSpecPipe => {\n return (spec, context) => {\n const { vseed, advancedVSeed } = context\n const { encoding } = advancedVSeed\n\n const hasPlayerEncoding = encoding.player && encoding.player.length > 0\n const isStandardChart = !isVTable(vseed) && !isPivotChart(vseed)\n\n if (hasPlayerEncoding && isStandardChart) {\n return playerPipe(spec, context)\n }\n\n return defaultPipe(spec, context)\n }\n}\n"],"names":["isPlayer","playerPipe","defaultPipe","spec","context","vseed","advancedVSeed","encoding","hasPlayerEncoding","isStandardChart","isVTable","isPivotChart"],"mappings":";AAGO,MAAMA,WAAW,CAACC,YAA4BC,cAC5C,CAACC,MAAMC;QACZ,MAAM,EAAEC,KAAK,EAAEC,aAAa,EAAE,GAAGF;QACjC,MAAM,EAAEG,QAAQ,EAAE,GAAGD;QAErB,MAAME,oBAAoBD,SAAS,MAAM,IAAIA,SAAS,MAAM,CAAC,MAAM,GAAG;QACtE,MAAME,kBAAkB,CAACC,SAASL,UAAU,CAACM,aAAaN;QAE1D,IAAIG,qBAAqBC,iBACvB,OAAOR,WAAWE,MAAMC;QAG1B,OAAOF,YAAYC,MAAMC;IAC3B"}
@@ -1,2 +1,2 @@
1
1
  import type { VChartSpecPipe } from '../../../../../types';
2
- export declare const playerXY: VChartSpecPipe;
2
+ export declare const playerBar: VChartSpecPipe;
@@ -1,12 +1,11 @@
1
1
  import { groupBy, uniqueBy } from "remeda";
2
- import { isPivotChart, isVTable } from "../../../../utils/index.js";
3
2
  import { datasetYX } from "../dataset/index.js";
4
- const playerYX = (spec, context)=>{
5
- const { vseed, advancedVSeed } = context;
3
+ const playerBar = (spec, context)=>{
4
+ const { advancedVSeed } = context;
6
5
  const { dimensions = [], datasetReshapeInfo, chartType, encoding } = advancedVSeed;
7
6
  const baseConfig = advancedVSeed.config[chartType];
8
7
  const result = datasetYX(spec, context);
9
- if (!baseConfig || !baseConfig.player || isVTable(vseed) || isPivotChart(vseed)) return result;
8
+ if (!baseConfig || !baseConfig.player) return result;
10
9
  const { player } = baseConfig;
11
10
  const id = datasetReshapeInfo[0].id;
12
11
  const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
@@ -27,7 +26,7 @@ const playerYX = (spec, context)=>{
27
26
  return {
28
27
  data: {
29
28
  id: id,
30
- values: sortedItems.slice(0, maxCount)
29
+ values: false === maxCount ? sortedItems : sortedItems.slice(0, maxCount)
31
30
  }
32
31
  };
33
32
  });
@@ -178,6 +177,6 @@ const playerYX = (spec, context)=>{
178
177
  }
179
178
  };
180
179
  };
181
- export { playerYX };
180
+ export { playerBar };
182
181
 
183
- //# sourceMappingURL=playerYX.js.map
182
+ //# sourceMappingURL=playerBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/player/playerBar.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/playerBar.ts"],"sourcesContent":["import type { IPlayerSpec, ISpec } from '@visactor/vchart'\nimport { groupBy, uniqueBy } from 'remeda'\nimport type { Player, VChartSpecPipe } from 'src/types'\nimport { datasetYX } from '../dataset'\n\nexport const playerBar: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dimensions = [], datasetReshapeInfo, chartType, encoding } = advancedVSeed\n\n const baseConfig = advancedVSeed.config[chartType] as { player: Player }\n const result = datasetYX(spec, context)\n\n if (!baseConfig || !baseConfig.player) {\n return result\n }\n const { player } = baseConfig\n const id = datasetReshapeInfo[0].id\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n const { encodingPlayer, encodingY } = unfoldInfo\n const { measureValue } = foldInfo\n const {\n maxCount,\n autoPlay = true,\n interval = 1000,\n loop = false,\n position,\n railColor,\n trackColor,\n sliderHandleColor,\n sliderHandleBorderColor,\n startButtonColor,\n pauseButtonColor,\n backwardButtonColor,\n forwardButtonColor,\n } = player\n const duration = interval\n const exchangeDuration = interval * 0.6\n\n const dataGroups = groupBy(advancedVSeed.dataset, (item) => item[encodingPlayer])\n if (result.data && 'values' in result.data) {\n result.data.values = []\n }\n\n const yValues = uniqueBy(\n advancedVSeed.dataset.map((d) => d[encodingY]),\n (item) => item,\n )\n const specs = Object.values(dataGroups).map((items) => {\n // 如果当前items中不存在yValues中的值, 则填充为0, 保证每组都有同样的yValue, 都有对应的数据\n const filledItems = items.map((item) => ({\n ...item,\n [encodingY]: yValues.find((yValue) => yValue === item[encodingY]) || 0,\n }))\n const sortedItems = filledItems.sort((a, b) => b[measureValue] - a[measureValue])\n\n return {\n data: {\n id: id,\n values: maxCount === false ? sortedItems : sortedItems.slice(0, maxCount as number),\n },\n }\n })\n\n const dataKey = dimensions.filter((d) => !encoding.player?.includes(d.id)).map((d) => d.id)\n const textSize = 36\n const padding = 12\n\n return {\n ...result,\n dataKey,\n stackCornerRadius: undefined,\n animationUpdate: {\n bar: [\n {\n type: 'update',\n options: { excludeChannels: ['y'] },\n easing: 'linear',\n duration,\n },\n {\n channel: ['y'],\n easing: 'circInOut',\n duration: exchangeDuration,\n },\n ],\n },\n animationEnter: {\n bar: [\n {\n type: 'moveIn',\n duration: exchangeDuration,\n easing: 'circInOut',\n options: {\n direction: 'y',\n orient: 'negative',\n },\n },\n ],\n },\n animationExit: {\n bar: [\n {\n type: 'moveOut',\n options: {\n direction: 'x',\n },\n duration: exchangeDuration,\n },\n {\n type: 'moveOut',\n options: {\n direction: 'y',\n orient: 'negative',\n },\n duration: exchangeDuration,\n },\n {\n type: 'fadeOut',\n duration: exchangeDuration,\n },\n ],\n },\n customMark: [\n {\n type: 'text',\n dataId: 'year',\n style: {\n textBaseline: 'bottom',\n fontSize: textSize,\n textAlign: 'right',\n fontFamily: 'PingFang SC',\n fontWeight: 600,\n text: (datum: any) => datum[encodingPlayer],\n x: (_datum: any, ctx: any) => {\n return ctx.vchart.getChart().getCanvasRect()?.width - padding\n },\n y: (_datum: any, ctx: any) => {\n return ctx.vchart.getChart().getCanvasRect()?.height - padding - textSize\n },\n fill: 'rgb(100, 100, 100)',\n fillOpacity: 0.25,\n },\n },\n ],\n player: {\n visible: true,\n auto: autoPlay,\n interval: interval,\n loop: loop,\n alternate: false,\n position: 'middle',\n orient: position,\n type: 'discrete',\n specs,\n controller: {\n visible: true,\n start: { visible: true, order: 0, style: { fill: startButtonColor } },\n pause: { visible: true, order: 1, style: { fill: pauseButtonColor } },\n backward: { visible: true, order: 2, style: { fill: backwardButtonColor } },\n forward: { visible: true, order: 3, position: 'end', style: { fill: forwardButtonColor } },\n },\n slider: {\n visible: true,\n railStyle: {\n visible: true,\n fill: railColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n trackStyle: {\n visible: true,\n fill: trackColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n handlerStyle: {\n visible: true,\n lineWidth: 2,\n stroke: sliderHandleBorderColor,\n fill: sliderHandleColor,\n size: 9,\n },\n },\n } as IPlayerSpec,\n } as unknown as ISpec\n}\n"],"names":["playerBar","spec","context","advancedVSeed","dimensions","datasetReshapeInfo","chartType","encoding","baseConfig","result","datasetYX","player","id","unfoldInfo","foldInfo","encodingPlayer","encodingY","measureValue","maxCount","autoPlay","interval","loop","position","railColor","trackColor","sliderHandleColor","sliderHandleBorderColor","startButtonColor","pauseButtonColor","backwardButtonColor","forwardButtonColor","duration","exchangeDuration","dataGroups","groupBy","item","yValues","uniqueBy","d","specs","Object","items","filledItems","yValue","sortedItems","a","b","dataKey","textSize","padding","undefined","datum","_datum","ctx"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { VChartSpecPipe } from '../../../../../types';
2
+ export declare const playerColumn: VChartSpecPipe;
@@ -1,12 +1,11 @@
1
1
  import { groupBy, uniqueBy } from "remeda";
2
- import { isPivotChart, isVTable } from "../../../../utils/index.js";
3
2
  import { datasetXY } from "../dataset/index.js";
4
- const playerXY = (spec, context)=>{
5
- const { vseed, advancedVSeed } = context;
3
+ const playerColumn = (spec, context)=>{
4
+ const { advancedVSeed } = context;
6
5
  const { dimensions = [], datasetReshapeInfo, chartType, encoding } = advancedVSeed;
7
6
  const baseConfig = advancedVSeed.config[chartType];
8
7
  const result = datasetXY(spec, context);
9
- if (!baseConfig || !baseConfig.player || isVTable(vseed) || isPivotChart(vseed)) return result;
8
+ if (!baseConfig || !baseConfig.player) return result;
10
9
  const { player } = baseConfig;
11
10
  const id = datasetReshapeInfo[0].id;
12
11
  const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
@@ -25,7 +24,7 @@ const playerXY = (spec, context)=>{
25
24
  return {
26
25
  data: {
27
26
  id: id,
28
- values: sortedItems.slice(0, maxCount)
27
+ values: false === maxCount ? sortedItems : sortedItems.slice(0, maxCount)
29
28
  }
30
29
  };
31
30
  });
@@ -195,6 +194,6 @@ const playerXY = (spec, context)=>{
195
194
  }
196
195
  };
197
196
  };
198
- export { playerXY };
197
+ export { playerColumn };
199
198
 
200
- //# sourceMappingURL=playerXY.js.map
199
+ //# sourceMappingURL=playerColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/player/playerColumn.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/playerColumn.ts"],"sourcesContent":["import type { IPlayerSpec, ISpec } from '@visactor/vchart'\nimport { groupBy, uniqueBy } from 'remeda'\nimport type { Player, VChartSpecPipe } from 'src/types'\nimport { datasetXY } from '../dataset'\n\nexport const playerColumn: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dimensions = [], datasetReshapeInfo, chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { player: Player }\n const result = datasetXY(spec, context)\n\n if (!baseConfig || !baseConfig.player) {\n return result\n }\n const { player } = baseConfig\n\n const id = datasetReshapeInfo[0].id\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n const { encodingPlayer, encodingX } = unfoldInfo\n const { measureValue } = foldInfo\n const {\n maxCount,\n autoPlay = true,\n interval = 1000,\n loop = false,\n position,\n railColor,\n trackColor,\n sliderHandleColor,\n sliderHandleBorderColor,\n startButtonColor,\n pauseButtonColor,\n backwardButtonColor,\n forwardButtonColor,\n } = player\n\n const dataGroups = groupBy(advancedVSeed.dataset, (item) => item[encodingPlayer])\n if (result.data && 'values' in result.data) {\n result.data.values = []\n }\n\n const xValues = uniqueBy(\n advancedVSeed.dataset.map((d) => d[encodingX]),\n (item) => item,\n )\n const specs = Object.values(dataGroups).map((items) => {\n // 如果当前items中不存在xValues中的值, 则填充为0, 保证每组都有同样的xValue, 都有对应的数据\n const filledItems = items.map((item) => ({\n ...item,\n [encodingX]: xValues.find((xValue) => xValue === item[encodingX]) || 0,\n }))\n const sortedItems = filledItems.sort((a, b) => b[measureValue] - a[measureValue])\n return {\n data: {\n id: id,\n values: maxCount === false ? sortedItems : sortedItems.slice(0, maxCount as number),\n },\n }\n })\n\n const duration = interval\n const exchangeDuration = interval * 0.6\n\n const dataKey = dimensions.filter((d) => !encoding.player?.includes(d.id)).map((d) => d.id)\n\n const textSize = 36\n const padding = 12\n return {\n ...result,\n dataKey,\n stackCornerRadius: undefined,\n animationUpdate: {\n bar: [\n {\n type: 'update',\n options: { excludeChannels: ['x'] },\n easing: 'linear',\n duration,\n },\n {\n channel: ['x'],\n easing: 'circInOut',\n duration: exchangeDuration,\n },\n ],\n point: [\n {\n type: 'update',\n easing: 'linear',\n duration,\n },\n ],\n line: [\n {\n type: 'update',\n easing: 'linear',\n duration,\n },\n ],\n axis: {\n duration: exchangeDuration,\n easing: 'circInOut',\n },\n },\n animationEnter: {\n bar: [\n {\n type: 'moveIn',\n duration: exchangeDuration,\n easing: 'circInOut',\n options: {\n direction: 'x',\n orient: 'negative',\n },\n },\n ],\n },\n animationExit: {\n bar: [\n {\n type: 'moveOut',\n options: {\n direction: 'y',\n orient: 'negative',\n },\n duration: exchangeDuration,\n },\n {\n type: 'moveOut',\n options: {\n direction: 'x',\n orient: 'negative',\n },\n duration: exchangeDuration,\n },\n {\n type: 'fadeOut',\n duration: exchangeDuration,\n },\n ],\n },\n customMark: [\n {\n type: 'text',\n dataId: 'year',\n style: {\n textBaseline: 'bottom',\n fontSize: textSize,\n textAlign: 'right',\n text: (datum: any) => datum[encodingPlayer],\n x: (_datum: any, ctx: any) => {\n return ctx.vchart.getChart().getCanvasRect()?.width - padding\n },\n y: (_datum: any, _ctx: any) => {\n return textSize + padding\n },\n fill: 'rgb(100, 100, 100)',\n fillOpacity: 0.25,\n },\n },\n ],\n player: {\n visible: true,\n auto: autoPlay,\n interval: interval,\n loop: loop,\n alternate: false,\n position: 'middle',\n orient: position,\n type: 'discrete',\n specs,\n controller: {\n visible: true,\n start: { visible: true, order: 0, style: { fill: startButtonColor } },\n pause: { visible: true, order: 1, style: { fill: pauseButtonColor } },\n backward: { visible: true, order: 2, style: { fill: backwardButtonColor } },\n forward: { visible: true, order: 3, position: 'end', style: { fill: forwardButtonColor } },\n },\n slider: {\n visible: true,\n railStyle: {\n visible: true,\n fill: railColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n trackStyle: {\n visible: true,\n fill: trackColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n handlerStyle: {\n visible: true,\n lineWidth: 2,\n stroke: sliderHandleBorderColor,\n fill: sliderHandleColor,\n size: 9,\n },\n },\n } as IPlayerSpec,\n } as unknown as ISpec\n}\n"],"names":["playerColumn","spec","context","advancedVSeed","dimensions","datasetReshapeInfo","chartType","encoding","baseConfig","result","datasetXY","player","id","unfoldInfo","foldInfo","encodingPlayer","encodingX","measureValue","maxCount","autoPlay","interval","loop","position","railColor","trackColor","sliderHandleColor","sliderHandleBorderColor","startButtonColor","pauseButtonColor","backwardButtonColor","forwardButtonColor","dataGroups","groupBy","item","xValues","uniqueBy","d","specs","Object","items","filledItems","xValue","sortedItems","a","b","duration","exchangeDuration","dataKey","textSize","padding","undefined","datum","_datum","ctx","_ctx"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import type { VChartSpecPipe } from '../../../../../types';
2
- export declare const playerYX: VChartSpecPipe;
2
+ export declare const playerLine: VChartSpecPipe;
@@ -0,0 +1,144 @@
1
+ import { datasetXY } from "../dataset/index.js";
2
+ const playerLine = (spec, context)=>{
3
+ const { advancedVSeed } = context;
4
+ const { datasetReshapeInfo, chartType } = advancedVSeed;
5
+ const baseConfig = advancedVSeed.config[chartType];
6
+ const result = datasetXY(spec, context);
7
+ if (!baseConfig || !baseConfig.player) return result;
8
+ const { player } = baseConfig;
9
+ const id = datasetReshapeInfo[0].id;
10
+ const { unfoldInfo } = datasetReshapeInfo[0];
11
+ const { encodingX } = unfoldInfo;
12
+ const { maxCount = false, autoPlay = true, interval, loop = false, position, railColor, trackColor, sliderHandleColor, sliderHandleBorderColor, startButtonColor, pauseButtonColor, backwardButtonColor, forwardButtonColor } = player;
13
+ const uniqueXValues = Array.from(new Set(advancedVSeed.dataset.map((d)=>d[encodingX]))).sort((a, b)=>a > b ? 1 : -1);
14
+ const step = 1;
15
+ const specs = [];
16
+ result.data = [
17
+ {
18
+ id: id,
19
+ values: []
20
+ }
21
+ ];
22
+ if (false === maxCount) for(let currentSize = 2; currentSize <= uniqueXValues.length; currentSize += step){
23
+ const currentXValues = uniqueXValues.slice(0, currentSize);
24
+ const frameData = advancedVSeed.dataset.filter((d)=>currentXValues.includes(d[encodingX]));
25
+ specs.push({
26
+ data: {
27
+ id: id,
28
+ values: frameData
29
+ }
30
+ });
31
+ }
32
+ else if (uniqueXValues.length <= maxCount) {
33
+ const limitCount = uniqueXValues.length;
34
+ for(let currentSize = 2; currentSize <= limitCount; currentSize += step){
35
+ const currentXValues = uniqueXValues.slice(0, currentSize);
36
+ const frameData = advancedVSeed.dataset.filter((d)=>currentXValues.includes(d[encodingX]));
37
+ specs.push({
38
+ data: {
39
+ id: id,
40
+ values: frameData
41
+ }
42
+ });
43
+ }
44
+ } else {
45
+ const limitCount = maxCount;
46
+ for(let currentSize = 2; currentSize < limitCount; currentSize += step){
47
+ const currentXValues = uniqueXValues.slice(0, currentSize);
48
+ const frameData = advancedVSeed.dataset.filter((d)=>currentXValues.includes(d[encodingX]));
49
+ specs.push({
50
+ data: {
51
+ id: id,
52
+ values: frameData
53
+ }
54
+ });
55
+ }
56
+ for(let i = 0; i <= uniqueXValues.length - limitCount; i += step){
57
+ const currentXValues = uniqueXValues.slice(i, i + limitCount);
58
+ const frameData = advancedVSeed.dataset.filter((d)=>currentXValues.includes(d[encodingX]));
59
+ specs.push({
60
+ data: {
61
+ id: id,
62
+ values: frameData
63
+ }
64
+ });
65
+ }
66
+ }
67
+ const duration = interval;
68
+ return {
69
+ ...result,
70
+ stackCornerRadius: void 0,
71
+ animationUpdate: {
72
+ duration
73
+ },
74
+ point: {
75
+ visible: false
76
+ },
77
+ player: {
78
+ visible: true,
79
+ auto: autoPlay,
80
+ interval: interval,
81
+ loop: loop,
82
+ alternate: false,
83
+ position: 'middle',
84
+ orient: position,
85
+ type: 'discrete',
86
+ specs,
87
+ controller: {
88
+ visible: true,
89
+ start: {
90
+ visible: true,
91
+ order: 0,
92
+ style: {
93
+ fill: startButtonColor
94
+ }
95
+ },
96
+ pause: {
97
+ visible: true,
98
+ order: 1,
99
+ style: {
100
+ fill: pauseButtonColor
101
+ }
102
+ },
103
+ backward: {
104
+ visible: true,
105
+ order: 2,
106
+ style: {
107
+ fill: backwardButtonColor
108
+ }
109
+ },
110
+ forward: {
111
+ visible: true,
112
+ order: 3,
113
+ position: 'end',
114
+ style: {
115
+ fill: forwardButtonColor
116
+ }
117
+ }
118
+ },
119
+ slider: {
120
+ visible: true,
121
+ railStyle: {
122
+ visible: true,
123
+ fill: railColor,
124
+ ['top' === position || 'bottom' === position ? 'height' : 'width']: 2
125
+ },
126
+ trackStyle: {
127
+ visible: true,
128
+ fill: trackColor,
129
+ ['top' === position || 'bottom' === position ? 'height' : 'width']: 2
130
+ },
131
+ handlerStyle: {
132
+ visible: true,
133
+ lineWidth: 2,
134
+ stroke: sliderHandleBorderColor,
135
+ fill: sliderHandleColor,
136
+ size: 9
137
+ }
138
+ }
139
+ }
140
+ };
141
+ };
142
+ export { playerLine };
143
+
144
+ //# sourceMappingURL=playerLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/player/playerLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/playerLine.ts"],"sourcesContent":["import type { IPlayerSpec, ISpec } from '@visactor/vchart'\nimport type { Player, VChartSpecPipe } from 'src/types'\nimport { datasetXY } from '../dataset'\n\nexport const playerLine: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { datasetReshapeInfo, chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { player: Player }\n const result = datasetXY(spec, context)\n\n if (!baseConfig || !baseConfig.player) {\n return result\n }\n const { player } = baseConfig\n\n const id = datasetReshapeInfo[0].id\n const { unfoldInfo } = datasetReshapeInfo[0]\n const { encodingX } = unfoldInfo\n\n const {\n maxCount = false,\n autoPlay = true,\n interval,\n loop = false,\n position,\n railColor,\n trackColor,\n sliderHandleColor,\n sliderHandleBorderColor,\n startButtonColor,\n pauseButtonColor,\n backwardButtonColor,\n forwardButtonColor,\n } = player\n\n // 数据分组的依据有比较大的改变\n // X轴由2个逐渐增加\n // 从而保证每次更新时, X轴会自然的移动\n\n // 1. 获取所有唯一的 X 轴值并排序\n const uniqueXValues = Array.from(new Set(advancedVSeed.dataset.map((d) => d[encodingX]))).sort((a, b) => {\n // 假设X轴是数字或可以比较的\n return a > b ? 1 : -1\n })\n\n // 2. 生成specs\n // X轴由2个逐渐增加 -> 窗口大小 maxCount (默认20?)\n // 每次移动1个 -> step = 1\n const step = 1\n const specs: any[] = []\n\n // 我们清空默认数据,由 player 控制\n // 但是我们需要在初始状态下提供结构\n result.data = [\n {\n id: id,\n values: [], // 初始为空,由 player 填充第一帧\n },\n ]\n\n // 如果 maxCount 为 false,则不进行限制,显示所有数据\n // 或者如果X轴点数小于 maxCount,直接作为一个frame\n if (maxCount === false) {\n // 即使没有maxCount限制,我们也要模拟数据逐个增加的过程\n // 否则就没有动画效果了,直接显示最终结果\n // 所以这里我们需要生成一系列 specs,从 2 个点一直增加到所有点\n for (let currentSize = 2; currentSize <= uniqueXValues.length; currentSize += step) {\n // 窗口从 0 开始,长度为 currentSize\n const currentXValues = uniqueXValues.slice(0, currentSize)\n const frameData = advancedVSeed.dataset.filter((d) => currentXValues.includes(d[encodingX]))\n\n specs.push({\n data: {\n id: id,\n values: frameData,\n },\n })\n }\n } else if (uniqueXValues.length <= (maxCount as number)) {\n // 如果数据总量本身就小于等于 maxCount,那也是逐步增加到全部显示\n const limitCount = uniqueXValues.length\n for (let currentSize = 2; currentSize <= limitCount; currentSize += step) {\n // 窗口从 0 开始,长度为 currentSize\n const currentXValues = uniqueXValues.slice(0, currentSize)\n const frameData = advancedVSeed.dataset.filter((d) => currentXValues.includes(d[encodingX]))\n\n specs.push({\n data: {\n id: id,\n values: frameData,\n },\n })\n }\n } else {\n const limitCount = maxCount as number\n // 阶段1: 增长阶段 (Growing Phase)\n // 从 2 个点开始,逐渐增加到 maxCount 个点\n // 每次增加 step 个点 (或者尽量接近 step,这里简化为 i 代表当前窗口大小)\n // 假设初始窗口大小为 2\n for (let currentSize = 2; currentSize < limitCount; currentSize += step) {\n // 窗口从 0 开始,长度为 currentSize\n const currentXValues = uniqueXValues.slice(0, currentSize)\n const frameData = advancedVSeed.dataset.filter((d) => currentXValues.includes(d[encodingX]))\n\n specs.push({\n data: {\n id: id,\n values: frameData,\n },\n })\n }\n\n // 阶段2: 滑动阶段 (Sliding Phase)\n // 窗口大小固定为 maxCount,窗口起始位置向右移动\n for (let i = 0; i <= uniqueXValues.length - limitCount; i += step) {\n // 获取当前窗口的 X 值范围\n const currentXValues = uniqueXValues.slice(i, i + limitCount)\n // 过滤出这些 X 值对应的数据\n const frameData = advancedVSeed.dataset.filter((d) => currentXValues.includes(d[encodingX]))\n\n specs.push({\n data: {\n id: id,\n values: frameData,\n },\n })\n }\n }\n\n const duration = interval\n\n // 样式部分复用 playerXY\n return {\n ...result,\n stackCornerRadius: undefined,\n animationUpdate: {\n duration,\n },\n point: {\n visible: false,\n },\n player: {\n visible: true,\n auto: autoPlay,\n interval: interval,\n loop: loop,\n alternate: false,\n position: 'middle',\n orient: position,\n type: 'discrete',\n specs,\n controller: {\n visible: true,\n start: { visible: true, order: 0, style: { fill: startButtonColor } },\n pause: { visible: true, order: 1, style: { fill: pauseButtonColor } },\n backward: { visible: true, order: 2, style: { fill: backwardButtonColor } },\n forward: { visible: true, order: 3, position: 'end', style: { fill: forwardButtonColor } },\n },\n slider: {\n visible: true,\n railStyle: {\n visible: true,\n fill: railColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n trackStyle: {\n visible: true,\n fill: trackColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n handlerStyle: {\n visible: true,\n lineWidth: 2,\n stroke: sliderHandleBorderColor,\n fill: sliderHandleColor,\n size: 9,\n },\n },\n } as IPlayerSpec,\n } as unknown as ISpec\n}\n"],"names":["playerLine","spec","context","advancedVSeed","datasetReshapeInfo","chartType","baseConfig","result","datasetXY","player","id","unfoldInfo","encodingX","maxCount","autoPlay","interval","loop","position","railColor","trackColor","sliderHandleColor","sliderHandleBorderColor","startButtonColor","pauseButtonColor","backwardButtonColor","forwardButtonColor","uniqueXValues","Array","Set","d","a","b","step","specs","currentSize","currentXValues","frameData","limitCount","i","duration","undefined"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import type { VChartSpecPipe } from '../../../../../types';
2
- export declare const playerYY: VChartSpecPipe;
2
+ export declare const playerPie: VChartSpecPipe;
@@ -0,0 +1,174 @@
1
+ import { groupBy } from "remeda";
2
+ import { datasetXY } from "../dataset/index.js";
3
+ const playerPie = (spec, context)=>{
4
+ const { advancedVSeed } = context;
5
+ const { dimensions = [], datasetReshapeInfo, chartType, encoding } = advancedVSeed;
6
+ const baseConfig = advancedVSeed.config[chartType];
7
+ const result = datasetXY(spec, context);
8
+ if (!baseConfig || !baseConfig.player) return result;
9
+ const { player } = baseConfig;
10
+ const id = datasetReshapeInfo[0].id;
11
+ const { unfoldInfo } = datasetReshapeInfo[0];
12
+ const { encodingPlayer } = unfoldInfo;
13
+ const { maxCount, autoPlay = true, interval = 1000, loop = false, position, railColor, trackColor, sliderHandleColor, sliderHandleBorderColor, startButtonColor, pauseButtonColor, backwardButtonColor, forwardButtonColor } = player;
14
+ const dataGroups = groupBy(advancedVSeed.dataset, (item)=>item[encodingPlayer]);
15
+ if (result.data && 'values' in result.data) result.data.values = [];
16
+ const specs = Object.keys(dataGroups).sort().map((key)=>{
17
+ const items = dataGroups[key];
18
+ const sortedItems = items;
19
+ return {
20
+ data: {
21
+ id: id,
22
+ values: false === maxCount ? sortedItems : sortedItems.slice(0, maxCount)
23
+ }
24
+ };
25
+ });
26
+ const duration = interval;
27
+ const exchangeDuration = 0.6 * interval;
28
+ const dataKey = dimensions.filter((d)=>!encoding.player?.includes(d.id)).map((d)=>d.id);
29
+ const textSize = 36;
30
+ const padding = 12;
31
+ return {
32
+ ...result,
33
+ dataKey,
34
+ stackCornerRadius: void 0,
35
+ animationUpdate: {
36
+ pie: [
37
+ {
38
+ type: 'update',
39
+ options: {
40
+ excludeChannels: [
41
+ 'angle',
42
+ 'startAngle',
43
+ 'endAngle'
44
+ ]
45
+ },
46
+ easing: 'linear',
47
+ duration
48
+ },
49
+ {
50
+ channel: [
51
+ 'angle',
52
+ 'startAngle',
53
+ 'endAngle'
54
+ ],
55
+ easing: 'circInOut',
56
+ duration: exchangeDuration
57
+ }
58
+ ],
59
+ point: [
60
+ {
61
+ type: 'update',
62
+ easing: 'linear',
63
+ duration
64
+ }
65
+ ],
66
+ line: [
67
+ {
68
+ type: 'update',
69
+ easing: 'linear',
70
+ duration
71
+ }
72
+ ]
73
+ },
74
+ animationEnter: {
75
+ pie: [
76
+ {
77
+ type: 'update',
78
+ duration: exchangeDuration,
79
+ easing: 'circInOut'
80
+ }
81
+ ]
82
+ },
83
+ animationExit: {
84
+ pie: [
85
+ {
86
+ type: 'fadeOut',
87
+ duration: exchangeDuration
88
+ }
89
+ ]
90
+ },
91
+ customMark: [
92
+ {
93
+ type: 'text',
94
+ dataId: 'year',
95
+ style: {
96
+ textBaseline: 'bottom',
97
+ fontSize: textSize,
98
+ textAlign: 'right',
99
+ text: (datum)=>datum[encodingPlayer],
100
+ x: (_datum, ctx)=>ctx.vchart.getChart().getCanvasRect()?.width - padding,
101
+ y: (_datum, _ctx)=>textSize + padding,
102
+ fill: 'rgb(100, 100, 100)',
103
+ fillOpacity: 0.25
104
+ }
105
+ }
106
+ ],
107
+ player: {
108
+ visible: true,
109
+ auto: autoPlay,
110
+ interval: interval,
111
+ loop: loop,
112
+ alternate: false,
113
+ position: 'middle',
114
+ orient: position,
115
+ type: 'discrete',
116
+ specs,
117
+ controller: {
118
+ visible: true,
119
+ start: {
120
+ visible: true,
121
+ order: 0,
122
+ style: {
123
+ fill: startButtonColor
124
+ }
125
+ },
126
+ pause: {
127
+ visible: true,
128
+ order: 1,
129
+ style: {
130
+ fill: pauseButtonColor
131
+ }
132
+ },
133
+ backward: {
134
+ visible: true,
135
+ order: 2,
136
+ style: {
137
+ fill: backwardButtonColor
138
+ }
139
+ },
140
+ forward: {
141
+ visible: true,
142
+ order: 3,
143
+ position: 'end',
144
+ style: {
145
+ fill: forwardButtonColor
146
+ }
147
+ }
148
+ },
149
+ slider: {
150
+ visible: true,
151
+ railStyle: {
152
+ visible: true,
153
+ fill: railColor,
154
+ ['top' === position || 'bottom' === position ? 'height' : 'width']: 2
155
+ },
156
+ trackStyle: {
157
+ visible: true,
158
+ fill: trackColor,
159
+ ['top' === position || 'bottom' === position ? 'height' : 'width']: 2
160
+ },
161
+ handlerStyle: {
162
+ visible: true,
163
+ lineWidth: 2,
164
+ stroke: sliderHandleBorderColor,
165
+ fill: sliderHandleColor,
166
+ size: 9
167
+ }
168
+ }
169
+ }
170
+ };
171
+ };
172
+ export { playerPie };
173
+
174
+ //# sourceMappingURL=playerPie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/player/playerPie.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/playerPie.ts"],"sourcesContent":["import type { IPlayerSpec, ISpec } from '@visactor/vchart'\nimport { groupBy } from 'remeda'\nimport type { Player, VChartSpecPipe } from 'src/types'\nimport { datasetXY } from '../dataset'\n\nexport const playerPie: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dimensions = [], datasetReshapeInfo, chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { player: Player }\n const result = datasetXY(spec, context)\n\n if (!baseConfig || !baseConfig.player) {\n return result\n }\n const { player } = baseConfig\n\n const id = datasetReshapeInfo[0].id\n const { unfoldInfo } = datasetReshapeInfo[0]\n const { encodingPlayer } = unfoldInfo\n const {\n maxCount,\n autoPlay = true,\n interval = 1000,\n loop = false,\n position,\n railColor,\n trackColor,\n sliderHandleColor,\n sliderHandleBorderColor,\n startButtonColor,\n pauseButtonColor,\n backwardButtonColor,\n forwardButtonColor,\n } = player\n\n const dataGroups = groupBy(advancedVSeed.dataset, (item) => item[encodingPlayer])\n if (result.data && 'values' in result.data) {\n result.data.values = []\n }\n\n const specs = Object.keys(dataGroups)\n .sort()\n .map((key) => {\n const items = dataGroups[key]\n const sortedItems = items\n return {\n data: {\n id: id,\n values: maxCount === false ? sortedItems : sortedItems.slice(0, maxCount as number),\n },\n }\n })\n\n const duration = interval\n const exchangeDuration = interval * 0.6\n\n const dataKey = dimensions.filter((d) => !encoding.player?.includes(d.id)).map((d) => d.id)\n\n const textSize = 36\n const padding = 12\n return {\n ...result,\n dataKey,\n stackCornerRadius: undefined,\n animationUpdate: {\n pie: [\n {\n type: 'update',\n options: { excludeChannels: ['angle', 'startAngle', 'endAngle'] },\n easing: 'linear',\n duration,\n },\n {\n channel: ['angle', 'startAngle', 'endAngle'],\n easing: 'circInOut',\n duration: exchangeDuration,\n },\n ],\n point: [\n {\n type: 'update',\n easing: 'linear',\n duration,\n },\n ],\n line: [\n {\n type: 'update',\n easing: 'linear',\n duration,\n },\n ],\n },\n animationEnter: {\n pie: [\n {\n type: 'update',\n duration: exchangeDuration,\n easing: 'circInOut',\n },\n ],\n },\n animationExit: {\n pie: [\n {\n type: 'fadeOut',\n duration: exchangeDuration,\n },\n ],\n },\n customMark: [\n {\n type: 'text',\n dataId: 'year',\n style: {\n textBaseline: 'bottom',\n fontSize: textSize,\n textAlign: 'right',\n text: (datum: any) => datum[encodingPlayer],\n x: (_datum: any, ctx: any) => {\n return ctx.vchart.getChart().getCanvasRect()?.width - padding\n },\n y: (_datum: any, _ctx: any) => {\n return textSize + padding\n },\n fill: 'rgb(100, 100, 100)',\n fillOpacity: 0.25,\n },\n },\n ],\n player: {\n visible: true,\n auto: autoPlay,\n interval: interval,\n loop: loop,\n alternate: false,\n position: 'middle',\n orient: position,\n type: 'discrete',\n specs,\n controller: {\n visible: true,\n start: { visible: true, order: 0, style: { fill: startButtonColor } },\n pause: { visible: true, order: 1, style: { fill: pauseButtonColor } },\n backward: { visible: true, order: 2, style: { fill: backwardButtonColor } },\n forward: { visible: true, order: 3, position: 'end', style: { fill: forwardButtonColor } },\n },\n slider: {\n visible: true,\n railStyle: {\n visible: true,\n fill: railColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n trackStyle: {\n visible: true,\n fill: trackColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n handlerStyle: {\n visible: true,\n lineWidth: 2,\n stroke: sliderHandleBorderColor,\n fill: sliderHandleColor,\n size: 9,\n },\n },\n } as IPlayerSpec,\n } as unknown as ISpec\n}\n"],"names":["playerPie","spec","context","advancedVSeed","dimensions","datasetReshapeInfo","chartType","encoding","baseConfig","result","datasetXY","player","id","unfoldInfo","encodingPlayer","maxCount","autoPlay","interval","loop","position","railColor","trackColor","sliderHandleColor","sliderHandleBorderColor","startButtonColor","pauseButtonColor","backwardButtonColor","forwardButtonColor","dataGroups","groupBy","item","specs","Object","key","items","sortedItems","duration","exchangeDuration","dataKey","d","textSize","padding","undefined","datum","_datum","ctx","_ctx"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { VChartSpecPipe } from '../../../../../types';
2
+ export declare const playerScatter: VChartSpecPipe;