@visactor/vseed 0.1.44 → 0.1.46

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 (474) hide show
  1. package/dist/cjs/index.cjs +3 -3
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/buildSpec.js.map +1 -1
  4. package/dist/esm/builder/builder/builder.d.ts +326 -14
  5. package/dist/esm/dataReshape/constant.d.ts +2 -2
  6. package/dist/esm/dataReshape/constant.js +3 -3
  7. package/dist/esm/dataReshape/constant.js.map +1 -1
  8. package/dist/esm/i18n/i18n.js +2 -2
  9. package/dist/esm/i18n/i18n.js.map +1 -1
  10. package/dist/esm/i18n/i18nData.d.ts +2 -0
  11. package/dist/esm/i18n/i18nData.js +41 -5
  12. package/dist/esm/i18n/i18nData.js.map +1 -0
  13. package/dist/esm/pipeline/advanced/chart/pipeline/area.js +3 -3
  14. package/dist/esm/pipeline/advanced/chart/pipeline/area.js.map +1 -1
  15. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js +3 -3
  16. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js.map +1 -1
  17. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js +3 -3
  18. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js.map +1 -1
  19. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js +3 -3
  20. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js.map +1 -1
  21. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js +3 -3
  22. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js.map +1 -1
  23. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js +3 -3
  24. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js.map +1 -1
  25. package/dist/esm/pipeline/advanced/chart/pipeline/column.js +3 -3
  26. package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
  27. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js +3 -3
  28. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js.map +1 -1
  29. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js +3 -3
  30. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js.map +1 -1
  31. package/dist/esm/pipeline/advanced/chart/pipeline/donut.js +3 -3
  32. package/dist/esm/pipeline/advanced/chart/pipeline/donut.js.map +1 -1
  33. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js +3 -3
  34. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js.map +1 -1
  35. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js +3 -3
  36. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js.map +1 -1
  37. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js +3 -3
  38. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js.map +1 -1
  39. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js +3 -3
  40. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -1
  41. package/dist/esm/pipeline/advanced/chart/pipeline/line.js +3 -3
  42. package/dist/esm/pipeline/advanced/chart/pipeline/line.js.map +1 -1
  43. package/dist/esm/pipeline/advanced/chart/pipeline/pie.js +3 -3
  44. package/dist/esm/pipeline/advanced/chart/pipeline/pie.js.map +1 -1
  45. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js +3 -3
  46. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js.map +1 -1
  47. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js +3 -3
  48. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js.map +1 -1
  49. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js +3 -3
  50. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js.map +1 -1
  51. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +3 -3
  52. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
  53. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.d.ts +1 -1
  54. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.js +1 -1
  55. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.d.ts +2 -0
  56. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.js +14 -0
  57. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.js.map +1 -0
  58. package/dist/esm/pipeline/advanced/chart/pipes/measures/index.d.ts +1 -1
  59. package/dist/esm/pipeline/advanced/chart/pipes/measures/index.js +2 -2
  60. package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.d.ts +2 -0
  61. package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js +14 -0
  62. package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js.map +1 -0
  63. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js +8 -6
  64. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -1
  65. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js +3 -1
  66. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js.map +1 -1
  67. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js +3 -1
  68. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js.map +1 -1
  69. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js +5 -3
  70. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -1
  71. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js +3 -1
  72. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js.map +1 -1
  73. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js +8 -6
  74. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js.map +1 -1
  75. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js +3 -1
  76. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js.map +1 -1
  77. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js +3 -5
  78. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js.map +1 -1
  79. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js +3 -1
  80. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -1
  81. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js +3 -1
  82. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js.map +1 -1
  83. package/dist/esm/pipeline/spec/chart/pipeline/area.js.map +1 -1
  84. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js.map +1 -1
  85. package/dist/esm/pipeline/spec/chart/pipeline/bar.d.ts +1 -2
  86. package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
  87. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.d.ts +1 -2
  88. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
  89. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.d.ts +1 -2
  90. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
  91. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.d.ts +1 -2
  92. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js +3 -2
  93. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js.map +1 -1
  94. package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
  95. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.d.ts +1 -2
  96. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
  97. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.d.ts +1 -2
  98. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
  99. package/dist/esm/pipeline/spec/chart/pipeline/donut.d.ts +1 -2
  100. package/dist/esm/pipeline/spec/chart/pipeline/donut.js.map +1 -1
  101. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.d.ts +1 -2
  102. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
  103. package/dist/esm/pipeline/spec/chart/pipeline/funnel.d.ts +1 -2
  104. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js.map +1 -1
  105. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.d.ts +1 -2
  106. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js.map +1 -1
  107. package/dist/esm/pipeline/spec/chart/pipeline/histogram.d.ts +1 -2
  108. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js +3 -3
  109. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
  110. package/dist/esm/pipeline/spec/chart/pipeline/line.d.ts +1 -2
  111. package/dist/esm/pipeline/spec/chart/pipeline/line.js.map +1 -1
  112. package/dist/esm/pipeline/spec/chart/pipeline/pie.d.ts +1 -2
  113. package/dist/esm/pipeline/spec/chart/pipeline/pie.js.map +1 -1
  114. package/dist/esm/pipeline/spec/chart/pipeline/radar.js.map +1 -1
  115. package/dist/esm/pipeline/spec/chart/pipeline/rose.js.map +1 -1
  116. package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.d.ts +1 -2
  117. package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.js.map +1 -1
  118. package/dist/esm/pipeline/spec/chart/pipeline/scatter.d.ts +1 -2
  119. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js.map +1 -1
  120. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationArea.d.ts +2 -2
  121. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationArea.js +14 -13
  122. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationArea.js.map +1 -1
  123. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.d.ts +2 -2
  124. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.js +12 -19
  125. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.js.map +1 -1
  126. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.d.ts +2 -2
  127. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js +2 -17
  128. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js.map +1 -1
  129. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPoint.d.ts +2 -2
  130. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPoint.js.map +1 -1
  131. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.d.ts +2 -2
  132. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js +2 -17
  133. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js.map +1 -1
  134. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.d.ts +2 -2
  135. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js +3 -3
  136. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js.map +1 -1
  137. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.d.ts +34 -0
  138. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js +35 -1
  139. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js.map +1 -1
  140. package/dist/esm/pipeline/spec/chart/pipes/axes/radarAngle.d.ts +2 -2
  141. package/dist/esm/pipeline/spec/chart/pipes/axes/radarAngle.js.map +1 -1
  142. package/dist/esm/pipeline/spec/chart/pipes/axes/radarRadius.d.ts +2 -2
  143. package/dist/esm/pipeline/spec/chart/pipes/axes/radarRadius.js.map +1 -1
  144. package/dist/esm/pipeline/spec/chart/pipes/axes/radius.d.ts +2 -2
  145. package/dist/esm/pipeline/spec/chart/pipes/axes/radius.js.map +1 -1
  146. package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.d.ts +2 -2
  147. package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.js.map +1 -1
  148. package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.d.ts +2 -2
  149. package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js.map +1 -1
  150. package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.d.ts +2 -2
  151. package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.js.map +1 -1
  152. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.d.ts +2 -2
  153. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js.map +1 -1
  154. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.d.ts +2 -2
  155. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js.map +1 -1
  156. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.d.ts +2 -2
  157. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js.map +1 -1
  158. package/dist/esm/pipeline/spec/chart/pipes/backgroundColor/background.d.ts +2 -2
  159. package/dist/esm/pipeline/spec/chart/pipes/backgroundColor/background.js.map +1 -1
  160. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.d.ts +2 -2
  161. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.js.map +1 -1
  162. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.d.ts +2 -2
  163. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.js.map +1 -1
  164. package/dist/esm/pipeline/spec/chart/pipes/color/color.d.ts +2 -2
  165. package/dist/esm/pipeline/spec/chart/pipes/color/color.js.map +1 -1
  166. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.d.ts +3 -2
  167. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js +3 -1
  168. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js.map +1 -1
  169. package/dist/esm/pipeline/spec/chart/pipes/color/colorAreaStyleFill.d.ts +2 -2
  170. package/dist/esm/pipeline/spec/chart/pipes/color/colorAreaStyleFill.js.map +1 -1
  171. package/dist/esm/pipeline/spec/chart/pipes/color/colorBarStyleFill.d.ts +2 -2
  172. package/dist/esm/pipeline/spec/chart/pipes/color/colorBarStyleFill.js.map +1 -1
  173. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.d.ts +2 -2
  174. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.js.map +1 -1
  175. package/dist/esm/pipeline/spec/chart/pipes/color/colorFunnelStyleFill.d.ts +2 -2
  176. package/dist/esm/pipeline/spec/chart/pipes/color/colorFunnelStyleFill.js.map +1 -1
  177. package/dist/esm/pipeline/spec/chart/pipes/color/colorLineStyleFill.d.ts +2 -2
  178. package/dist/esm/pipeline/spec/chart/pipes/color/colorLineStyleFill.js.map +1 -1
  179. package/dist/esm/pipeline/spec/chart/pipes/color/colorPieStyleFill.d.ts +2 -2
  180. package/dist/esm/pipeline/spec/chart/pipes/color/colorPieStyleFill.js.map +1 -1
  181. package/dist/esm/pipeline/spec/chart/pipes/color/colorPointStyleFill.d.ts +2 -2
  182. package/dist/esm/pipeline/spec/chart/pipes/color/colorPointStyleFill.js.map +1 -1
  183. package/dist/esm/pipeline/spec/chart/pipes/color/colorRoseStyleFill.d.ts +2 -2
  184. package/dist/esm/pipeline/spec/chart/pipes/color/colorRoseStyleFill.js.map +1 -1
  185. package/dist/esm/pipeline/spec/chart/pipes/color/linearColor.d.ts +2 -2
  186. package/dist/esm/pipeline/spec/chart/pipes/color/linearColor.js.map +1 -1
  187. package/dist/esm/pipeline/spec/chart/pipes/color/linearColorForDualAxis.d.ts +2 -2
  188. package/dist/esm/pipeline/spec/chart/pipes/color/linearColorForDualAxis.js.map +1 -1
  189. package/dist/esm/pipeline/spec/chart/pipes/crosshair/histogramCrosshair.d.ts +2 -0
  190. package/dist/esm/pipeline/spec/chart/pipes/crosshair/histogramCrosshair.js +27 -0
  191. package/dist/esm/pipeline/spec/chart/pipes/crosshair/histogramCrosshair.js.map +1 -0
  192. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairLine.d.ts +2 -2
  193. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairLine.js.map +1 -1
  194. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.d.ts +2 -2
  195. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.js.map +1 -1
  196. package/dist/esm/pipeline/spec/chart/pipes/crosshair/index.d.ts +1 -0
  197. package/dist/esm/pipeline/spec/chart/pipes/crosshair/index.js +2 -1
  198. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairLine.d.ts +2 -2
  199. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairLine.js.map +1 -1
  200. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.d.ts +2 -2
  201. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.js.map +1 -1
  202. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.d.ts +2 -2
  203. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.js.map +1 -1
  204. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.d.ts +3 -3
  205. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.js.map +1 -1
  206. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.d.ts +2 -2
  207. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.js.map +1 -1
  208. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetPivot.d.ts +2 -2
  209. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetPivot.js.map +1 -1
  210. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetScatter.d.ts +2 -2
  211. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetScatter.js.map +1 -1
  212. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetXY.d.ts +2 -2
  213. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetXY.js.map +1 -1
  214. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetYX.d.ts +2 -2
  215. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetYX.js.map +1 -1
  216. package/dist/esm/pipeline/spec/chart/pipes/dataset/progressive.d.ts +2 -2
  217. package/dist/esm/pipeline/spec/chart/pipes/dataset/progressive.js.map +1 -1
  218. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.d.ts +3 -3
  219. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js.map +1 -1
  220. package/dist/esm/pipeline/spec/chart/pipes/init/area.d.ts +2 -2
  221. package/dist/esm/pipeline/spec/chart/pipes/init/area.js.map +1 -1
  222. package/dist/esm/pipeline/spec/chart/pipes/init/bar.d.ts +2 -2
  223. package/dist/esm/pipeline/spec/chart/pipes/init/bar.js.map +1 -1
  224. package/dist/esm/pipeline/spec/chart/pipes/init/barParallel.d.ts +2 -2
  225. package/dist/esm/pipeline/spec/chart/pipes/init/barParallel.js.map +1 -1
  226. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.d.ts +2 -2
  227. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js +3 -3
  228. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js.map +1 -1
  229. package/dist/esm/pipeline/spec/chart/pipes/init/column.d.ts +2 -2
  230. package/dist/esm/pipeline/spec/chart/pipes/init/column.js.map +1 -1
  231. package/dist/esm/pipeline/spec/chart/pipes/init/columnParallel.d.ts +2 -2
  232. package/dist/esm/pipeline/spec/chart/pipes/init/columnParallel.js.map +1 -1
  233. package/dist/esm/pipeline/spec/chart/pipes/init/donut.d.ts +2 -2
  234. package/dist/esm/pipeline/spec/chart/pipes/init/donut.js.map +1 -1
  235. package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.d.ts +3 -3
  236. package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.js.map +1 -1
  237. package/dist/esm/pipeline/spec/chart/pipes/init/funnel.d.ts +2 -2
  238. package/dist/esm/pipeline/spec/chart/pipes/init/funnel.js.map +1 -1
  239. package/dist/esm/pipeline/spec/chart/pipes/init/heatmap.d.ts +2 -2
  240. package/dist/esm/pipeline/spec/chart/pipes/init/heatmap.js.map +1 -1
  241. package/dist/esm/pipeline/spec/chart/pipes/init/histogram.d.ts +2 -2
  242. package/dist/esm/pipeline/spec/chart/pipes/init/histogram.js.map +1 -1
  243. package/dist/esm/pipeline/spec/chart/pipes/init/line.d.ts +2 -2
  244. package/dist/esm/pipeline/spec/chart/pipes/init/line.js.map +1 -1
  245. package/dist/esm/pipeline/spec/chart/pipes/init/pie.d.ts +2 -2
  246. package/dist/esm/pipeline/spec/chart/pipes/init/pie.js.map +1 -1
  247. package/dist/esm/pipeline/spec/chart/pipes/init/pivot.d.ts +2 -2
  248. package/dist/esm/pipeline/spec/chart/pipes/init/pivot.js.map +1 -1
  249. package/dist/esm/pipeline/spec/chart/pipes/init/radar.d.ts +2 -2
  250. package/dist/esm/pipeline/spec/chart/pipes/init/radar.js.map +1 -1
  251. package/dist/esm/pipeline/spec/chart/pipes/init/rose.d.ts +2 -2
  252. package/dist/esm/pipeline/spec/chart/pipes/init/rose.js.map +1 -1
  253. package/dist/esm/pipeline/spec/chart/pipes/init/roseParallel.d.ts +2 -2
  254. package/dist/esm/pipeline/spec/chart/pipes/init/roseParallel.js.map +1 -1
  255. package/dist/esm/pipeline/spec/chart/pipes/init/scatter.d.ts +2 -2
  256. package/dist/esm/pipeline/spec/chart/pipes/init/scatter.js.map +1 -1
  257. package/dist/esm/pipeline/spec/chart/pipes/label/label.d.ts +2 -2
  258. package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
  259. package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.d.ts +3 -3
  260. package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.js.map +1 -1
  261. package/dist/esm/pipeline/spec/chart/pipes/label/labelPie.d.ts +2 -2
  262. package/dist/esm/pipeline/spec/chart/pipes/label/labelPie.js.map +1 -1
  263. package/dist/esm/pipeline/spec/chart/pipes/label/labelScatter.d.ts +2 -2
  264. package/dist/esm/pipeline/spec/chart/pipes/label/labelScatter.js.map +1 -1
  265. package/dist/esm/pipeline/spec/chart/pipes/legend/boxLegend.d.ts +2 -0
  266. package/dist/esm/pipeline/spec/chart/pipes/legend/boxLegend.js +15 -0
  267. package/dist/esm/pipeline/spec/chart/pipes/legend/boxLegend.js.map +1 -0
  268. package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.d.ts +2 -2
  269. package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js +7 -1
  270. package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js.map +1 -1
  271. package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.d.ts +2 -2
  272. package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.js +18 -2
  273. package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.js.map +1 -1
  274. package/dist/esm/pipeline/spec/chart/pipes/legend/heatmapColorLegend.d.ts +2 -2
  275. package/dist/esm/pipeline/spec/chart/pipes/legend/heatmapColorLegend.js.map +1 -1
  276. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.d.ts +2 -2
  277. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js.map +1 -1
  278. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.d.ts +2 -2
  279. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.js.map +1 -1
  280. package/dist/esm/pipeline/spec/chart/pipes/markStyle/areaStyle.d.ts +2 -2
  281. package/dist/esm/pipeline/spec/chart/pipes/markStyle/areaStyle.js.map +1 -1
  282. package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.d.ts +2 -2
  283. package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.js.map +1 -1
  284. package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.d.ts +2 -2
  285. package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.js.map +1 -1
  286. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelStyle.d.ts +2 -2
  287. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelStyle.js.map +1 -1
  288. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelTransformStyle.d.ts +2 -2
  289. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelTransformStyle.js.map +1 -1
  290. package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.d.ts +2 -2
  291. package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.js.map +1 -1
  292. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pieStyle.d.ts +2 -2
  293. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pieStyle.js.map +1 -1
  294. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointState.d.ts +3 -3
  295. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointState.js.map +1 -1
  296. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.d.ts +2 -2
  297. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.js.map +1 -1
  298. package/dist/esm/pipeline/spec/chart/pipes/markStyle/roseStyle.d.ts +2 -2
  299. package/dist/esm/pipeline/spec/chart/pipes/markStyle/roseStyle.js.map +1 -1
  300. package/dist/esm/pipeline/spec/chart/pipes/percent/percent.d.ts +2 -2
  301. package/dist/esm/pipeline/spec/chart/pipes/percent/percent.js.map +1 -1
  302. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.d.ts +2 -2
  303. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.js +4 -1
  304. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.js.map +1 -1
  305. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.d.ts +2 -2
  306. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js.map +1 -1
  307. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.d.ts +2 -2
  308. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js.map +1 -1
  309. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.d.ts +2 -2
  310. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js.map +1 -1
  311. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.d.ts +2 -2
  312. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.js.map +1 -1
  313. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.d.ts +4 -4
  314. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js.map +1 -1
  315. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.d.ts +2 -2
  316. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js.map +1 -1
  317. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.d.ts +2 -2
  318. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js.map +1 -1
  319. package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.d.ts +2 -2
  320. package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.js.map +1 -1
  321. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.d.ts +2 -2
  322. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.js.map +1 -1
  323. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.d.ts +2 -2
  324. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js +32 -2
  325. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js.map +1 -1
  326. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.d.ts +2 -2
  327. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js +1 -1
  328. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js.map +1 -1
  329. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.d.ts +6 -6
  330. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js +5 -1
  331. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js.map +1 -1
  332. package/dist/esm/pipeline/spec/chart/pipes/series/series.d.ts +3 -3
  333. package/dist/esm/pipeline/spec/chart/pipes/series/series.js.map +1 -1
  334. package/dist/esm/pipeline/spec/chart/pipes/size/scatterSize.d.ts +2 -2
  335. package/dist/esm/pipeline/spec/chart/pipes/size/scatterSize.js.map +1 -1
  336. package/dist/esm/pipeline/spec/chart/pipes/stack/stack.d.ts +2 -2
  337. package/dist/esm/pipeline/spec/chart/pipes/stack/stack.js.map +1 -1
  338. package/dist/esm/pipeline/spec/chart/pipes/stack/stackCornerRadius.d.ts +2 -2
  339. package/dist/esm/pipeline/spec/chart/pipes/stack/stackCornerRadius.js.map +1 -1
  340. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.d.ts +3 -3
  341. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js +5 -1
  342. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
  343. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.d.ts +2 -2
  344. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js +14 -5
  345. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js.map +1 -1
  346. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.d.ts +3 -3
  347. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
  348. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.d.ts +2 -2
  349. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js.map +1 -1
  350. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.d.ts +2 -2
  351. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js +6 -4
  352. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js.map +1 -1
  353. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.d.ts +2 -2
  354. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
  355. package/dist/esm/pipeline/spec/chart/utils/histogram.d.ts +2 -0
  356. package/dist/esm/pipeline/spec/chart/utils/histogram.js +12 -0
  357. package/dist/esm/pipeline/spec/chart/utils/histogram.js.map +1 -0
  358. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.d.ts +2 -2
  359. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -1
  360. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.d.ts +2 -2
  361. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js.map +1 -1
  362. package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.d.ts +2 -2
  363. package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.js.map +1 -1
  364. package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.d.ts +2 -2
  365. package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js.map +1 -1
  366. package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.d.ts +2 -2
  367. package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js.map +1 -1
  368. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.d.ts +2 -2
  369. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.js.map +1 -1
  370. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.d.ts +2 -2
  371. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js.map +1 -1
  372. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.d.ts +2 -2
  373. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
  374. package/dist/esm/pipeline/spec/table/pipes/init/pivotTable.d.ts +2 -2
  375. package/dist/esm/pipeline/spec/table/pipes/init/pivotTable.js.map +1 -1
  376. package/dist/esm/pipeline/spec/table/pipes/init/table.d.ts +2 -2
  377. package/dist/esm/pipeline/spec/table/pipes/init/table.js.map +1 -1
  378. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.d.ts +2 -2
  379. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js.map +1 -1
  380. package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.d.ts +2 -2
  381. package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.js.map +1 -1
  382. package/dist/esm/pipeline/spec/table/pipes/theme/cornerHeaderStyle.d.ts +2 -2
  383. package/dist/esm/pipeline/spec/table/pipes/theme/cornerHeaderStyle.js.map +1 -1
  384. package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.d.ts +2 -2
  385. package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.js.map +1 -1
  386. package/dist/esm/pipeline/spec/table/pipes/theme/headerStyle.d.ts +2 -2
  387. package/dist/esm/pipeline/spec/table/pipes/theme/headerStyle.js.map +1 -1
  388. package/dist/esm/pipeline/spec/table/pipes/theme/rowHeaderStyle.d.ts +2 -2
  389. package/dist/esm/pipeline/spec/table/pipes/theme/rowHeaderStyle.js.map +1 -1
  390. package/dist/esm/pipeline/spec/table/pipes/theme/scrollStyle.d.ts +2 -2
  391. package/dist/esm/pipeline/spec/table/pipes/theme/scrollStyle.js.map +1 -1
  392. package/dist/esm/pipeline/spec/table/pipes/theme/selectionStyle.d.ts +2 -2
  393. package/dist/esm/pipeline/spec/table/pipes/theme/selectionStyle.js.map +1 -1
  394. package/dist/esm/pipeline/utils/measures/delete.d.ts +2 -2
  395. package/dist/esm/pipeline/utils/measures/delete.js +7 -3
  396. package/dist/esm/pipeline/utils/measures/delete.js.map +1 -1
  397. package/dist/esm/pipeline/utils/tree/traverse.d.ts +1 -0
  398. package/dist/esm/pipeline/utils/tree/traverse.js +12 -1
  399. package/dist/esm/pipeline/utils/tree/traverse.js.map +1 -1
  400. package/dist/esm/theme/common/annotaion.js +7 -7
  401. package/dist/esm/theme/common/annotaion.js.map +1 -1
  402. package/dist/esm/theme/common/axes.js +16 -16
  403. package/dist/esm/theme/common/axes.js.map +1 -1
  404. package/dist/esm/theme/common/legend.d.ts +2 -0
  405. package/dist/esm/theme/common/legend.js +13 -2
  406. package/dist/esm/theme/common/legend.js.map +1 -1
  407. package/dist/esm/theme/common/table.js +0 -2
  408. package/dist/esm/theme/common/table.js.map +1 -1
  409. package/dist/esm/theme/dark/dark.js +2 -2
  410. package/dist/esm/theme/dark/dark.js.map +1 -1
  411. package/dist/esm/theme/light/light.js +2 -2
  412. package/dist/esm/theme/light/light.js.map +1 -1
  413. package/dist/esm/types/advancedVSeed.d.ts +196 -3
  414. package/dist/esm/types/advancedVSeed.js +2 -0
  415. package/dist/esm/types/advancedVSeed.js.map +1 -1
  416. package/dist/esm/types/chartType/area/zArea.d.ts +14 -3
  417. package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +14 -3
  418. package/dist/esm/types/chartType/bar/zBar.d.ts +14 -3
  419. package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +14 -3
  420. package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +14 -3
  421. package/dist/esm/types/chartType/boxplot/zBoxplot.d.ts +14 -3
  422. package/dist/esm/types/chartType/column/zColumn.d.ts +14 -3
  423. package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +14 -3
  424. package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +14 -3
  425. package/dist/esm/types/chartType/donut/zDonut.d.ts +14 -3
  426. package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +44 -15
  427. package/dist/esm/types/chartType/funnel/zFunnel.d.ts +12 -3
  428. package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +12 -3
  429. package/dist/esm/types/chartType/histogram/zHistogram.d.ts +14 -3
  430. package/dist/esm/types/chartType/line/zLine.d.ts +14 -3
  431. package/dist/esm/types/chartType/pie/zPie.d.ts +14 -3
  432. package/dist/esm/types/chartType/pivotTable/zPivotTable.d.ts +12 -3
  433. package/dist/esm/types/chartType/radar/zRadar.d.ts +14 -3
  434. package/dist/esm/types/chartType/rose/zRose.d.ts +14 -3
  435. package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +14 -3
  436. package/dist/esm/types/chartType/scatter/zScatter.d.ts +44 -15
  437. package/dist/esm/types/chartType/table/zTable.d.ts +12 -3
  438. package/dist/esm/types/pipeline/spec/spec.d.ts +11 -2
  439. package/dist/esm/types/properties/config/area.d.ts +4 -0
  440. package/dist/esm/types/properties/config/bar.d.ts +6 -0
  441. package/dist/esm/types/properties/config/boxplot.d.ts +2 -0
  442. package/dist/esm/types/properties/config/column.d.ts +6 -0
  443. package/dist/esm/types/properties/config/config.d.ts +40 -0
  444. package/dist/esm/types/properties/config/dualAxis.d.ts +2 -0
  445. package/dist/esm/types/properties/config/funnel.d.ts +2 -0
  446. package/dist/esm/types/properties/config/heatmap.d.ts +2 -0
  447. package/dist/esm/types/properties/config/histogram.d.ts +2 -0
  448. package/dist/esm/types/properties/config/legend/legend.d.ts +10 -0
  449. package/dist/esm/types/properties/config/legend/legend.js +2 -0
  450. package/dist/esm/types/properties/config/legend/legend.js.map +1 -1
  451. package/dist/esm/types/properties/config/line.d.ts +2 -0
  452. package/dist/esm/types/properties/config/pie.d.ts +6 -0
  453. package/dist/esm/types/properties/config/rose.d.ts +4 -0
  454. package/dist/esm/types/properties/config/scatter.d.ts +2 -0
  455. package/dist/esm/types/properties/measures/zDualMeasures.d.ts +60 -24
  456. package/dist/esm/types/properties/measures/zMeasures.d.ts +36 -9
  457. package/dist/esm/types/properties/measures/zMeasures.js +13 -4
  458. package/dist/esm/types/properties/measures/zMeasures.js.map +1 -1
  459. package/dist/esm/types/properties/measures/zScatterMeasures.d.ts +60 -24
  460. package/dist/esm/types/properties/regressionLine/linearRegressionLine.d.ts +5 -0
  461. package/dist/esm/types/properties/regressionLine/logisticRegressionLine.d.ts +5 -0
  462. package/dist/esm/types/properties/regressionLine/lowessRegressionLine.d.ts +5 -0
  463. package/dist/esm/types/properties/regressionLine/polynomialRegressionLine.d.ts +5 -0
  464. package/dist/esm/types/properties/theme/customTheme.d.ts +80 -0
  465. package/dist/esm/types/zVseed.d.ts +360 -90
  466. package/dist/umd/index.js +478 -281
  467. package/dist/umd/index.js.map +1 -1
  468. package/package.json +5 -5
  469. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.d.ts +0 -2
  470. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.js +0 -12
  471. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.js.map +0 -1
  472. package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteEncodingForMeasure.d.ts +0 -2
  473. package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteEncodingForMeasure.js +0 -12
  474. package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteEncodingForMeasure.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/markStyle/pointState.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/markStyle/pointState.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport type { IScatterChartSpec } from '@visactor/vchart'\nimport type { Datum, SpecPipe } from 'src/types'\n\nexport const pointStateDimensionHover: SpecPipe = (spec) => {\n const point = (spec as IScatterChartSpec).point || {}\n const result = {\n ...spec,\n point: {\n ...point,\n state: {\n ...(point.state || {}),\n dimension_hover: {\n scaleX: 1.4,\n scaleY: 1.4,\n outerBorder: {\n lineWidth: 4,\n strokeOpacity: 0.25,\n distance: 2,\n },\n },\n },\n },\n } as IScatterChartSpec\n return result\n}\n\nexport const pointStateHover: SpecPipe = (spec, context) => {\n const point = (spec as IScatterChartSpec).point || {}\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const result = {\n ...spec,\n point: {\n ...point,\n state: {\n ...(point.state || {}),\n hover: {\n scaleX: 1.4,\n scaleY: 1.4,\n stroke: (datum: Datum, context: unknown) => {\n const field = unfoldInfo.encodingColorId\n const color = (context as any).seriesColor(datum[field] as string)\n return color\n },\n fillOpacity: 0.6,\n lineWidth: 1,\n },\n },\n },\n } as IScatterChartSpec\n return result\n}\n"],"names":["pointStateDimensionHover","spec","point","result","pointStateHover","context","advancedVSeed","datasetReshapeInfo","unfoldInfo","datum","field","color"],"mappings":"AAIO,MAAMA,2BAAqC,CAACC;IACjD,MAAMC,QAASD,KAA2B,KAAK,IAAI,CAAC;IACpD,MAAME,SAAS;QACb,GAAGF,IAAI;QACP,OAAO;YACL,GAAGC,KAAK;YACR,OAAO;gBACL,GAAIA,MAAM,KAAK,IAAI,CAAC,CAAC;gBACrB,iBAAiB;oBACf,QAAQ;oBACR,QAAQ;oBACR,aAAa;wBACX,WAAW;wBACX,eAAe;wBACf,UAAU;oBACZ;gBACF;YACF;QACF;IACF;IACA,OAAOC;AACT;AAEO,MAAMC,kBAA4B,CAACH,MAAMI;IAC9C,MAAMH,QAASD,KAA2B,KAAK,IAAI,CAAC;IACpD,MAAM,EAAEK,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,kBAAkB,EAAE,GAAGD;IAC/B,MAAM,EAAEE,UAAU,EAAE,GAAGD,kBAAkB,CAAC,EAAE;IAC5C,MAAMJ,SAAS;QACb,GAAGF,IAAI;QACP,OAAO;YACL,GAAGC,KAAK;YACR,OAAO;gBACL,GAAIA,MAAM,KAAK,IAAI,CAAC,CAAC;gBACrB,OAAO;oBACL,QAAQ;oBACR,QAAQ;oBACR,QAAQ,CAACO,OAAcJ;wBACrB,MAAMK,QAAQF,WAAW,eAAe;wBACxC,MAAMG,QAASN,QAAgB,WAAW,CAACI,KAAK,CAACC,MAAM;wBACvD,OAAOC;oBACT;oBACA,aAAa;oBACb,WAAW;gBACb;YACF;QACF;IACF;IACA,OAAOR;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/markStyle/pointState.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/markStyle/pointState.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-call */\nimport type { IScatterChartSpec } from '@visactor/vchart'\nimport type { Datum, VChartSpecPipe } from 'src/types'\n\nexport const pointStateDimensionHover: VChartSpecPipe = (spec) => {\n const point = (spec as IScatterChartSpec).point || {}\n const result = {\n ...spec,\n point: {\n ...point,\n state: {\n ...(point.state || {}),\n dimension_hover: {\n scaleX: 1.4,\n scaleY: 1.4,\n outerBorder: {\n lineWidth: 4,\n strokeOpacity: 0.25,\n distance: 2,\n },\n },\n },\n },\n } as IScatterChartSpec\n return result\n}\n\nexport const pointStateHover: VChartSpecPipe = (spec, context) => {\n const point = (spec as IScatterChartSpec).point || {}\n const { advancedVSeed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { unfoldInfo } = datasetReshapeInfo[0]\n const result = {\n ...spec,\n point: {\n ...point,\n state: {\n ...(point.state || {}),\n hover: {\n scaleX: 1.4,\n scaleY: 1.4,\n stroke: (datum: Datum, context: unknown) => {\n const field = unfoldInfo.encodingColorId\n const color = (context as any).seriesColor(datum[field] as string)\n return color\n },\n fillOpacity: 0.6,\n lineWidth: 1,\n },\n },\n },\n } as IScatterChartSpec\n return result\n}\n"],"names":["pointStateDimensionHover","spec","point","result","pointStateHover","context","advancedVSeed","datasetReshapeInfo","unfoldInfo","datum","field","color"],"mappings":"AAIO,MAAMA,2BAA2C,CAACC;IACvD,MAAMC,QAASD,KAA2B,KAAK,IAAI,CAAC;IACpD,MAAME,SAAS;QACb,GAAGF,IAAI;QACP,OAAO;YACL,GAAGC,KAAK;YACR,OAAO;gBACL,GAAIA,MAAM,KAAK,IAAI,CAAC,CAAC;gBACrB,iBAAiB;oBACf,QAAQ;oBACR,QAAQ;oBACR,aAAa;wBACX,WAAW;wBACX,eAAe;wBACf,UAAU;oBACZ;gBACF;YACF;QACF;IACF;IACA,OAAOC;AACT;AAEO,MAAMC,kBAAkC,CAACH,MAAMI;IACpD,MAAMH,QAASD,KAA2B,KAAK,IAAI,CAAC;IACpD,MAAM,EAAEK,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,kBAAkB,EAAE,GAAGD;IAC/B,MAAM,EAAEE,UAAU,EAAE,GAAGD,kBAAkB,CAAC,EAAE;IAC5C,MAAMJ,SAAS;QACb,GAAGF,IAAI;QACP,OAAO;YACL,GAAGC,KAAK;YACR,OAAO;gBACL,GAAIA,MAAM,KAAK,IAAI,CAAC,CAAC;gBACrB,OAAO;oBACL,QAAQ;oBACR,QAAQ;oBACR,QAAQ,CAACO,OAAcJ;wBACrB,MAAMK,QAAQF,WAAW,eAAe;wBACxC,MAAMG,QAASN,QAAgB,WAAW,CAACI,KAAK,CAACC,MAAM;wBACvD,OAAOC;oBACT;oBACA,aAAa;oBACb,WAAW;gBACb;YACF;QACF;IACF;IACA,OAAOR;AACT"}
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from '../../../../../types';
2
- export declare const pointStyle: SpecPipe;
1
+ import type { VChartSpecPipe } from '../../../../../types';
2
+ export declare const pointStyle: VChartSpecPipe;
@@ -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, SpecPipe } from 'src/types'\nimport { isEmpty, isNullish } from 'remeda'\n\nexport const pointStyle: SpecPipe = (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,wBAAuB,CAACC,MAAMC;IACzC,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 } 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,2 +1,2 @@
1
- import type { SpecPipe } from '../../../../../types';
2
- export declare const roseStyle: SpecPipe;
1
+ import type { VChartSpecPipe } from '../../../../../types';
2
+ export declare const roseStyle: VChartSpecPipe;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/markStyle/roseStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/markStyle/roseStyle.ts"],"sourcesContent":["import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const roseStyle: SpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dataset } = advancedVSeed\n const showStroke = dataset.length <= 30\n\n const result = {\n ...spec,\n rose: {\n style: {},\n },\n } as Required<IRoseChartSpec>\n\n return {\n ...result,\n rose: {\n style: {\n stroke: '#ffffff',\n lineWidth: showStroke ? 1 : 0,\n },\n state: {\n hover: {\n lineWidth: 1,\n fillOpacity: 0.6,\n },\n },\n },\n }\n}\n"],"names":["roseStyle","spec","context","advancedVSeed","dataset","showStroke","result"],"mappings":"AAGO,MAAMA,YAAsB,CAACC,MAAMC;IACxC,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,OAAO,EAAE,GAAGD;IACpB,MAAME,aAAaD,QAAQ,MAAM,IAAI;IAErC,MAAME,SAAS;QACb,GAAGL,IAAI;QACP,MAAM;YACJ,OAAO,CAAC;QACV;IACF;IAEA,OAAO;QACL,GAAGK,MAAM;QACT,MAAM;YACJ,OAAO;gBACL,QAAQ;gBACR,WAAWD,aAAa,IAAI;YAC9B;YACA,OAAO;gBACL,OAAO;oBACL,WAAW;oBACX,aAAa;gBACf;YACF;QACF;IACF;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/markStyle/roseStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/markStyle/roseStyle.ts"],"sourcesContent":["import type { IRoseChartSpec } from '@visactor/vchart'\nimport type { VChartSpecPipe } from 'src/types'\n\nexport const roseStyle: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dataset } = advancedVSeed\n const showStroke = dataset.length <= 30\n\n const result = {\n ...spec,\n rose: {\n style: {},\n },\n } as Required<IRoseChartSpec>\n\n return {\n ...result,\n rose: {\n style: {\n stroke: '#ffffff',\n lineWidth: showStroke ? 1 : 0,\n },\n state: {\n hover: {\n lineWidth: 1,\n fillOpacity: 0.6,\n },\n },\n },\n }\n}\n"],"names":["roseStyle","spec","context","advancedVSeed","dataset","showStroke","result"],"mappings":"AAGO,MAAMA,YAA4B,CAACC,MAAMC;IAC9C,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,OAAO,EAAE,GAAGD;IACpB,MAAME,aAAaD,QAAQ,MAAM,IAAI;IAErC,MAAME,SAAS;QACb,GAAGL,IAAI;QACP,MAAM;YACJ,OAAO,CAAC;QACV;IACF;IAEA,OAAO;QACL,GAAGK,MAAM;QACT,MAAM;YACJ,OAAO;gBACL,QAAQ;gBACR,WAAWD,aAAa,IAAI;YAC9B;YACA,OAAO;gBACL,OAAO;oBACL,WAAW;oBACX,aAAa;gBACf;YACF;QACF;IACF;AACF"}
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from '../../../../../types';
2
- export declare const percent: SpecPipe;
1
+ import type { VChartSpecPipe } from '../../../../../types';
2
+ export declare const percent: VChartSpecPipe;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/percent/percent.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/percent/percent.ts"],"sourcesContent":["import type { IAreaChartSpec, IBarChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const percent: SpecPipe = (spec) => {\n const result = { ...spec } as IAreaChartSpec | IBarChartSpec\n result.percent = true\n return result\n}\n"],"names":["percent","spec","result"],"mappings":"AAGO,MAAMA,UAAoB,CAACC;IAChC,MAAMC,SAAS;QAAE,GAAGD,IAAI;IAAC;IACzBC,OAAO,OAAO,GAAG;IACjB,OAAOA;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/percent/percent.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/percent/percent.ts"],"sourcesContent":["import type { IAreaChartSpec, IBarChartSpec } from '@visactor/vchart'\nimport type { VChartSpecPipe } from 'src/types'\n\nexport const percent: VChartSpecPipe = (spec) => {\n const result = { ...spec } as IAreaChartSpec | IBarChartSpec\n result.percent = true\n return result\n}\n"],"names":["percent","spec","result"],"mappings":"AAGO,MAAMA,UAA0B,CAACC;IACtC,MAAMC,SAAS;QAAE,GAAGD,IAAI;IAAC;IACzBC,OAAO,OAAO,GAAG;IACjB,OAAOA;AACT"}
@@ -1,2 +1,2 @@
1
- import type { SpecPipe, SpecPipeline } from '../../../../../types';
2
- export declare const pivotAdapter: (pipeline: SpecPipeline, pivotPipeline: SpecPipeline) => SpecPipe;
1
+ import type { PivotChartSpecPipeline, SpecPipe, VChartSpecPipeline } from '../../../../../types';
2
+ export declare const pivotAdapter: (pipeline: VChartSpecPipeline, pivotPipeline: PivotChartSpecPipeline) => SpecPipe;
@@ -1,10 +1,13 @@
1
1
  import { execPipeline, isPivotChart } from "../../../../utils/index.js";
2
- const pivotAdapter = (pipeline, pivotPipeline)=>(spec, context)=>{
2
+ const pivotAdapter = (pipeline, pivotPipeline)=>{
3
+ const adapted = (spec, context)=>{
3
4
  const { vseed } = context;
4
5
  const usePivotChart = isPivotChart(vseed);
5
6
  if (usePivotChart) return execPipeline(pivotPipeline, context, spec);
6
7
  return execPipeline(pipeline, context, spec);
7
8
  };
9
+ return adapted;
10
+ };
8
11
  export { pivotAdapter };
9
12
 
10
13
  //# sourceMappingURL=pivotAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotAdapter.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.ts"],"sourcesContent":["import type { Spec, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { execPipeline, isPivotChart } from '../../../../utils'\n\nexport const pivotAdapter = (pipeline: SpecPipeline, pivotPipeline: SpecPipeline): SpecPipe => {\n return (spec, context) => {\n const { vseed } = context\n const usePivotChart = isPivotChart(vseed)\n\n if (usePivotChart) {\n return execPipeline<Spec, SpecPipelineContext>(pivotPipeline, context, spec)\n }\n\n return execPipeline<Spec, SpecPipelineContext>(pipeline, context, spec)\n }\n}\n"],"names":["pivotAdapter","pipeline","pivotPipeline","spec","context","vseed","usePivotChart","isPivotChart","execPipeline"],"mappings":";AAGO,MAAMA,eAAe,CAACC,UAAwBC,gBAC5C,CAACC,MAAMC;QACZ,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAClB,MAAME,gBAAgBC,aAAaF;QAEnC,IAAIC,eACF,OAAOE,aAAwCN,eAAeE,SAASD;QAGzE,OAAOK,aAAwCP,UAAUG,SAASD;IACpE"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotAdapter.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.ts"],"sourcesContent":["import type {\n PivotChartSpecPipe,\n PivotChartSpecPipeline,\n SpecPipe,\n SpecPipelineContext,\n VChartSpecPipe,\n VChartSpecPipeline,\n} from 'src/types'\nimport type { ISpec } from '@visactor/vchart'\nimport type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline, isPivotChart } from '../../../../utils'\n\nexport const pivotAdapter = (pipeline: VChartSpecPipeline, pivotPipeline: PivotChartSpecPipeline): SpecPipe => {\n const adapted = ((spec: unknown, context: SpecPipelineContext) => {\n const { vseed } = context\n const usePivotChart = isPivotChart(vseed)\n if (usePivotChart) {\n return execPipeline<PivotChartConstructorOptions, SpecPipelineContext>(\n pivotPipeline,\n context,\n spec as Partial<PivotChartConstructorOptions>,\n )\n }\n return execPipeline<ISpec, SpecPipelineContext>(pipeline, context, spec as Partial<ISpec>)\n }) as VChartSpecPipe & PivotChartSpecPipe\n\n return adapted as unknown as SpecPipe\n}\n"],"names":["pivotAdapter","pipeline","pivotPipeline","adapted","spec","context","vseed","usePivotChart","isPivotChart","execPipeline"],"mappings":";AAYO,MAAMA,eAAe,CAACC,UAA8BC;IACzD,MAAMC,UAAW,CAACC,MAAeC;QAC/B,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAClB,MAAME,gBAAgBC,aAAaF;QACnC,IAAIC,eACF,OAAOE,aACLP,eACAG,SACAD;QAGJ,OAAOK,aAAyCR,UAAUI,SAASD;IACrE;IAEA,OAAOD;AACT"}
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from '../../../../../types';
2
- export declare const pivotAxisStyle: (axisStyle: SpecPipe) => SpecPipe;
1
+ import type { VChartSpecPipe } from '../../../../../types';
2
+ export declare const pivotAxisStyle: (axisStyle: VChartSpecPipe) => VChartSpecPipe;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport { BAND_AXIS_INNER_OFFSET_IN_PIVOT } from 'src/pipeline/utils/constant'\nimport type { Config, SpecPipe } from 'src/types'\n\nexport const pivotAxisStyle = (axisStyle: SpecPipe): SpecPipe => {\n return (spec, context) => {\n const result = axisStyle(spec, context) as ILineChartSpec\n\n if (result.axes) {\n const { advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n result.axes.forEach((axis: any) => {\n axis.domainLine = {\n visible: false,\n }\n\n if (themConfig.chartGridColor && axis.grid && axis.grid.visible && axis.grid.style) {\n axis.grid.style.stroke = themConfig.chartGridColor\n }\n\n if (themConfig.axisLabelColor && axis.label && axis.label.visible && axis.label.style) {\n axis.label.style.fill = themConfig.axisLabelColor\n }\n\n if (axis.type === 'band') {\n if (axis.orient === 'left' || axis.orient === 'right') {\n axis.innerOffset = {\n top: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n bottom: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n }\n } else if (axis.orient === 'top' || axis.orient === 'bottom') {\n axis.innerOffset = {\n left: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n right: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n }\n }\n }\n })\n }\n\n return result\n }\n}\n"],"names":["pivotAxisStyle","axisStyle","spec","context","result","advancedVSeed","config","chartType","themConfig","axis","BAND_AXIS_INNER_OFFSET_IN_PIVOT"],"mappings":";AAIO,MAAMA,iBAAiB,CAACC,YACtB,CAACC,MAAMC;QACZ,MAAMC,SAASH,UAAUC,MAAMC;QAE/B,IAAIC,OAAO,IAAI,EAAE;YACf,MAAM,EAAEC,aAAa,EAAE,GAAGF;YAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAE,GAAGF;YAC9B,MAAMG,aAAcF,QAAQ,CAACC,UAAU,EAAqB,aAAa,CAAC;YAE1EH,OAAO,IAAI,CAAC,OAAO,CAAC,CAACK;gBACnBA,KAAK,UAAU,GAAG;oBAChB,SAAS;gBACX;gBAEA,IAAID,WAAW,cAAc,IAAIC,KAAK,IAAI,IAAIA,KAAK,IAAI,CAAC,OAAO,IAAIA,KAAK,IAAI,CAAC,KAAK,EAChFA,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAGD,WAAW,cAAc;gBAGpD,IAAIA,WAAW,cAAc,IAAIC,KAAK,KAAK,IAAIA,KAAK,KAAK,CAAC,OAAO,IAAIA,KAAK,KAAK,CAAC,KAAK,EACnFA,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,GAAGD,WAAW,cAAc;gBAGnD,IAAIC,AAAc,WAAdA,KAAK,IAAI,EACX;oBAAA,IAAIA,AAAgB,WAAhBA,KAAK,MAAM,IAAeA,AAAgB,YAAhBA,KAAK,MAAM,EACvCA,KAAK,WAAW,GAAG;wBACjB,KAAKC;wBACL,QAAQA;oBACV;yBACK,IAAID,AAAgB,UAAhBA,KAAK,MAAM,IAAcA,AAAgB,aAAhBA,KAAK,MAAM,EAC7CA,KAAK,WAAW,GAAG;wBACjB,MAAMC;wBACN,OAAOA;oBACT;gBACF;YAEJ;QACF;QAEA,OAAON;IACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport { BAND_AXIS_INNER_OFFSET_IN_PIVOT } from 'src/pipeline/utils/constant'\nimport type { Config, VChartSpecPipe } from 'src/types'\n\nexport const pivotAxisStyle = (axisStyle: VChartSpecPipe): VChartSpecPipe => {\n return (spec, context) => {\n const result = axisStyle(spec, context) as ILineChartSpec\n\n if (result.axes) {\n const { advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n result.axes.forEach((axis: any) => {\n axis.domainLine = {\n visible: false,\n }\n\n if (themConfig.chartGridColor && axis.grid && axis.grid.visible && axis.grid.style) {\n axis.grid.style.stroke = themConfig.chartGridColor\n }\n\n if (themConfig.axisLabelColor && axis.label && axis.label.visible && axis.label.style) {\n axis.label.style.fill = themConfig.axisLabelColor\n }\n\n if (axis.type === 'band') {\n if (axis.orient === 'left' || axis.orient === 'right') {\n axis.innerOffset = {\n top: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n bottom: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n }\n } else if (axis.orient === 'top' || axis.orient === 'bottom') {\n axis.innerOffset = {\n left: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n right: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n }\n }\n }\n })\n }\n\n return result\n }\n}\n"],"names":["pivotAxisStyle","axisStyle","spec","context","result","advancedVSeed","config","chartType","themConfig","axis","BAND_AXIS_INNER_OFFSET_IN_PIVOT"],"mappings":";AAIO,MAAMA,iBAAiB,CAACC,YACtB,CAACC,MAAMC;QACZ,MAAMC,SAASH,UAAUC,MAAMC;QAE/B,IAAIC,OAAO,IAAI,EAAE;YACf,MAAM,EAAEC,aAAa,EAAE,GAAGF;YAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAE,GAAGF;YAC9B,MAAMG,aAAcF,QAAQ,CAACC,UAAU,EAAqB,aAAa,CAAC;YAE1EH,OAAO,IAAI,CAAC,OAAO,CAAC,CAACK;gBACnBA,KAAK,UAAU,GAAG;oBAChB,SAAS;gBACX;gBAEA,IAAID,WAAW,cAAc,IAAIC,KAAK,IAAI,IAAIA,KAAK,IAAI,CAAC,OAAO,IAAIA,KAAK,IAAI,CAAC,KAAK,EAChFA,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAGD,WAAW,cAAc;gBAGpD,IAAIA,WAAW,cAAc,IAAIC,KAAK,KAAK,IAAIA,KAAK,KAAK,CAAC,OAAO,IAAIA,KAAK,KAAK,CAAC,KAAK,EACnFA,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,GAAGD,WAAW,cAAc;gBAGnD,IAAIC,AAAc,WAAdA,KAAK,IAAI,EACX;oBAAA,IAAIA,AAAgB,WAAhBA,KAAK,MAAM,IAAeA,AAAgB,YAAhBA,KAAK,MAAM,EACvCA,KAAK,WAAW,GAAG;wBACjB,KAAKC;wBACL,QAAQA;oBACV;yBACK,IAAID,AAAgB,UAAhBA,KAAK,MAAM,IAAcA,AAAgB,aAAhBA,KAAK,MAAM,EAC7CA,KAAK,WAAW,GAAG;wBACjB,MAAMC;wBACN,OAAOA;oBACT;gBACF;YAEJ;QACF;QAEA,OAAON;IACT"}
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from '../../../../../types';
2
- export declare const pivotColumnDimensions: SpecPipe;
1
+ import type { PivotChartSpecPipe } from '../../../../../types';
2
+ export declare const pivotColumnDimensions: PivotChartSpecPipe;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { Dimensions, SpecPipe } from 'src/types'\n\nexport const pivotColumnDimensions: SpecPipe = (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n\n if (!dimensions) {\n return result\n }\n const columnDimensions = dimensions.filter((dim) => dim.encoding === 'column')\n const columns = columnDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n })) as unknown\n\n return {\n ...result,\n columns: columns,\n } as Partial<PivotChartConstructorOptions>\n}\n"],"names":["pivotColumnDimensions","spec","context","result","advancedVSeed","dimensions","columnDimensions","dim","columns"],"mappings":"AAGO,MAAMA,wBAAkC,CAACC,MAAMC;IACpD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAMG,aAAaD,cAAc,UAAU;IAE3C,IAAI,CAACC,YACH,OAAOF;IAET,MAAMG,mBAAmBD,WAAW,MAAM,CAAC,CAACE,MAAQA,AAAiB,aAAjBA,IAAI,QAAQ;IAChE,MAAMC,UAAUF,iBAAiB,GAAG,CAAC,CAACC,MAAS;YAC7C,cAAcA,IAAI,EAAE;YACpB,OAAOA,IAAI,KAAK,IAAIA,IAAI,EAAE;QAC5B;IAEA,OAAO;QACL,GAAGJ,MAAM;QACT,SAASK;IACX;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { Dimensions, PivotChartSpecPipe } from 'src/types'\n\nexport const pivotColumnDimensions: PivotChartSpecPipe = (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n\n if (!dimensions) {\n return result\n }\n const columnDimensions = dimensions.filter((dim) => dim.encoding === 'column')\n const columns = columnDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n })) as unknown\n\n return {\n ...result,\n columns: columns,\n } as Partial<PivotChartConstructorOptions>\n}\n"],"names":["pivotColumnDimensions","spec","context","result","advancedVSeed","dimensions","columnDimensions","dim","columns"],"mappings":"AAGO,MAAMA,wBAA4C,CAACC,MAAMC;IAC9D,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAMG,aAAaD,cAAc,UAAU;IAE3C,IAAI,CAACC,YACH,OAAOF;IAET,MAAMG,mBAAmBD,WAAW,MAAM,CAAC,CAACE,MAAQA,AAAiB,aAAjBA,IAAI,QAAQ;IAChE,MAAMC,UAAUF,iBAAiB,GAAG,CAAC,CAACC,MAAS;YAC7C,cAAcA,IAAI,EAAE;YACpB,OAAOA,IAAI,KAAK,IAAIA,IAAI,EAAE;QAC5B;IAEA,OAAO;QACL,GAAGJ,MAAM;QACT,SAASK;IACX;AACF"}
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from '../../../../../types';
2
- export declare const pivotGridStyle: SpecPipe;
1
+ import type { PivotChartSpecPipe } from '../../../../../types';
2
+ export declare const pivotGridStyle: PivotChartSpecPipe;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { isCombination, isPivot } from 'src/pipeline/utils'\nimport type { Config, SpecPipe } from 'src/types'\nimport { isNullish } from 'remeda'\n\nexport const pivotGridStyle: SpecPipe = (spec, context) => {\n const { vseed, advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n const onlyCombination = !isPivot(vseed) && isCombination(vseed)\n\n const result = { ...spec } as PivotChartConstructorOptions\n const transparent = 'rgba(0,0,0,0)'\n\n const borderColor = themConfig.borderColor ?? '#e3e5eb'\n const bodyFontColor = themConfig.bodyFontColor ?? '#141414'\n const headerFontColor = themConfig.headerFontColor ?? '#21252c'\n const headerBackgroundColor = themConfig.headerBackgroundColor ?? 'rgba(0,0,0,0)'\n const hoverHeaderBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderBackgroundColor ?? '#D9DDE4')\n const hoverHeaderInlineBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderInlineBackgroundColor ?? '#D9DDE455')\n const outlineBorderLineWidth = themConfig.outlineBorderLineWidth ?? 0\n const frameCornerRadius = themConfig.frameCornerRadius ?? 0\n\n if (!isNullish(themConfig.minChartWidth)) {\n result.defaultColWidth = themConfig.minChartWidth\n }\n\n if (!isNullish(themConfig.minChartHeight)) {\n result.defaultRowHeight = themConfig.minChartHeight\n }\n\n return {\n ...result,\n theme: {\n underlayBackgroundColor: transparent,\n bodyStyle: {\n borderColor,\n color: bodyFontColor,\n borderLineWidth: (arg: { row: number; col: number }) => {\n const noYAxis =\n chartType === 'pie' ||\n chartType === 'rose' ||\n chartType === 'donut' ||\n chartType === 'funnel' ||\n chartType === 'radar' ||\n chartType === 'roseParallel'\n\n return [\n arg.row === 0 ? outlineBorderLineWidth : 1,\n outlineBorderLineWidth,\n 0,\n arg.col === 0 || (noYAxis && arg.col === 1) ? outlineBorderLineWidth : 1,\n ]\n },\n bgColor: transparent,\n hover: {\n cellBgColor: 'transparent',\n },\n },\n headerStyle: {\n borderColor,\n fontSize: 12,\n // borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n borderLineWidth: (arg: { row: number; col: number }) => {\n return [outlineBorderLineWidth, outlineBorderLineWidth, 1, arg.col === 0 ? outlineBorderLineWidth : 1]\n },\n color: headerFontColor,\n textAlign: 'center',\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n rowHeaderStyle: {\n borderColor,\n fontSize: 12,\n color: headerFontColor,\n padding: [0, 12, 0, 4],\n borderLineWidth: (arg: { row: number }) => {\n return [arg.row === 0 ? outlineBorderLineWidth : 1, 1, 0, outlineBorderLineWidth]\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerHeaderStyle: {\n borderColor,\n textAlign: 'center',\n fontSize: 12,\n color: headerFontColor,\n padding: [0, 12, 0, 4],\n fontWeight: 'bold',\n borderLineWidth: [outlineBorderLineWidth, 1, 1, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerLeftBottomCellStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightTopCellStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n frameStyle: {\n borderColor,\n borderLineWidth: 0,\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n rightFrozenStyle: {\n borderColor,\n bgColor: headerBackgroundColor,\n borderLineWidth: (arg: { row: number }) => {\n return [arg.row === 0 ? outlineBorderLineWidth : 1, outlineBorderLineWidth, 0, 1]\n },\n frameStyle: {\n borderLineWidth: 0,\n },\n hover: {\n borderLineWidth: 0,\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightBottomCellStyle: {\n borderColor,\n bgColor: headerBackgroundColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n frameStyle: {\n borderColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n\n bottomFrozenStyle: {\n borderColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n selectionStyle: {\n cellBgColor: '',\n cellBorderColor: '',\n },\n frameStyle: {\n borderColor,\n cornerRadius: frameCornerRadius,\n borderLineWidth: outlineBorderLineWidth,\n },\n },\n }\n}\n"],"names":["pivotGridStyle","spec","context","vseed","advancedVSeed","config","chartType","themConfig","onlyCombination","isPivot","isCombination","result","transparent","borderColor","bodyFontColor","headerFontColor","headerBackgroundColor","hoverHeaderBackgroundColor","hoverHeaderInlineBackgroundColor","outlineBorderLineWidth","frameCornerRadius","isNullish","arg","noYAxis","undefined"],"mappings":";;AAKO,MAAMA,iBAA2B,CAACC,MAAMC;IAC7C,MAAM,EAAEC,KAAK,EAAEC,aAAa,EAAE,GAAGF;IACjC,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAE,GAAGF;IAC9B,MAAMG,aAAcF,QAAQ,CAACC,UAAU,EAAqB,aAAa,CAAC;IAE1E,MAAME,kBAAkB,CAACC,QAAQN,UAAUO,cAAcP;IAEzD,MAAMQ,SAAS;QAAE,GAAGV,IAAI;IAAC;IACzB,MAAMW,cAAc;IAEpB,MAAMC,cAAcN,WAAW,WAAW,IAAI;IAC9C,MAAMO,gBAAgBP,WAAW,aAAa,IAAI;IAClD,MAAMQ,kBAAkBR,WAAW,eAAe,IAAI;IACtD,MAAMS,wBAAwBT,WAAW,qBAAqB,IAAI;IAClE,MAAMU,6BAA6BT,kBAC/BI,cACCL,WAAW,0BAA0B,IAAI;IAC9C,MAAMW,mCAAmCV,kBACrCI,cACCL,WAAW,gCAAgC,IAAI;IACpD,MAAMY,yBAAyBZ,WAAW,sBAAsB,IAAI;IACpE,MAAMa,oBAAoBb,WAAW,iBAAiB,IAAI;IAE1D,IAAI,CAACc,UAAUd,WAAW,aAAa,GACrCI,OAAO,eAAe,GAAGJ,WAAW,aAAa;IAGnD,IAAI,CAACc,UAAUd,WAAW,cAAc,GACtCI,OAAO,gBAAgB,GAAGJ,WAAW,cAAc;IAGrD,OAAO;QACL,GAAGI,MAAM;QACT,OAAO;YACL,yBAAyBC;YACzB,WAAW;gBACTC;gBACA,OAAOC;gBACP,iBAAiB,CAACQ;oBAChB,MAAMC,UACJjB,AAAc,UAAdA,aACAA,AAAc,WAAdA,aACAA,AAAc,YAAdA,aACAA,AAAc,aAAdA,aACAA,AAAc,YAAdA,aACAA,AAAc,mBAAdA;oBAEF,OAAO;wBACO,MAAZgB,IAAI,GAAG,GAASH,yBAAyB;wBACzCA;wBACA;wBACY,MAAZG,IAAI,GAAG,IAAWC,WAAWD,AAAY,MAAZA,IAAI,GAAG,GAAUH,yBAAyB;qBACxE;gBACH;gBACA,SAASP;gBACT,OAAO;oBACL,aAAa;gBACf;YACF;YACA,aAAa;gBACXC;gBACA,UAAU;gBAEV,iBAAiB,CAACS,MACT;wBAACH;wBAAwBA;wBAAwB;wBAAe,MAAZG,IAAI,GAAG,GAASH,yBAAyB;qBAAE;gBAExG,OAAOJ;gBACP,WAAW;gBACX,SAASC;gBACT,OAAO;oBACL,aAAaC;oBACb,kBAAkBC,oCAAoCM;oBACtD,qBAAqBN,oCAAoCM;gBAC3D;YACF;YACA,gBAAgB;gBACdX;gBACA,UAAU;gBACV,OAAOE;gBACP,SAAS;oBAAC;oBAAG;oBAAI;oBAAG;iBAAE;gBACtB,iBAAiB,CAACO,MACT;wBAAa,MAAZA,IAAI,GAAG,GAASH,yBAAyB;wBAAG;wBAAG;wBAAGA;qBAAuB;gBAEnF,SAASH;gBACT,OAAO;oBACL,aAAaC;oBACb,kBAAkBC,oCAAoCM;oBACtD,qBAAqBN,oCAAoCM;gBAC3D;YACF;YACA,mBAAmB;gBACjBX;gBACA,WAAW;gBACX,UAAU;gBACV,OAAOE;gBACP,SAAS;oBAAC;oBAAG;oBAAI;oBAAG;iBAAE;gBACtB,YAAY;gBACZ,iBAAiB;oBAACI;oBAAwB;oBAAG;oBAAGA;iBAAuB;gBACvE,SAASH;gBACT,YAAY;oBACVH;gBACF;gBACA,OAAO;oBACL,aAAaI;oBACb,kBAAkBC,oCAAoCM;oBACtD,qBAAqBN,oCAAoCM;gBAC3D;YACF;YACA,2BAA2B;gBACzBX;gBACA,iBAAiB;oBAACM;oBAAwB;oBAAGA;oBAAwBA;iBAAuB;gBAC5F,SAASH;gBACT,YAAY;oBACVH;oBACA,iBAAiB;wBAAC;wBAAG;wBAAGM;wBAAwBA;qBAAuB;gBACzE;gBACA,OAAO;oBACL,aAAaF;gBACf;YACF;YACA,yBAAyB;gBACvBJ;gBACA,iBAAiB;oBAACM;oBAAwBA;oBAAwB;oBAAG;iBAAE;gBACvE,YAAY;oBACVN;oBACA,iBAAiB;gBACnB;gBACA,SAASG;gBACT,OAAO;oBACL,aAAaC;gBACf;YACF;YACA,kBAAkB;gBAChBJ;gBACA,SAASG;gBACT,iBAAiB,CAACM,MACT;wBAAa,MAAZA,IAAI,GAAG,GAASH,yBAAyB;wBAAGA;wBAAwB;wBAAG;qBAAE;gBAEnF,YAAY;oBACV,iBAAiB;gBACnB;gBACA,OAAO;oBACL,iBAAiB;oBACjB,aAAaF;gBACf;YACF;YACA,4BAA4B;gBAC1BJ;gBACA,SAASG;gBACT,iBAAiB;oBAAC;oBAAGG;oBAAwBA;oBAAwB;iBAAE;gBACvE,YAAY;oBACVN;oBACA,iBAAiB;wBAAC;wBAAGM;wBAAwBA;wBAAwB;qBAAE;gBACzE;gBACA,OAAO;oBACL,aAAaF;gBACf;YACF;YAEA,mBAAmB;gBACjBJ;gBACA,iBAAiB;oBAAC;oBAAGM;oBAAwBA;oBAAwB;iBAAE;gBACvE,SAASH;gBACT,OAAO;oBACL,aAAaC;gBACf;YACF;YACA,gBAAgB;gBACd,aAAa;gBACb,iBAAiB;YACnB;YACA,YAAY;gBACVJ;gBACA,cAAcO;gBACd,iBAAiBD;YACnB;QACF;IACF;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { isCombination, isPivot } from 'src/pipeline/utils'\nimport type { Config, PivotChartSpecPipe } from 'src/types'\nimport { isNullish } from 'remeda'\n\nexport const pivotGridStyle: PivotChartSpecPipe = (spec, context) => {\n const { vseed, advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n const onlyCombination = !isPivot(vseed) && isCombination(vseed)\n\n const result = { ...spec } as PivotChartConstructorOptions\n const transparent = 'rgba(0,0,0,0)'\n\n const borderColor = themConfig.borderColor ?? '#e3e5eb'\n const bodyFontColor = themConfig.bodyFontColor ?? '#141414'\n const headerFontColor = themConfig.headerFontColor ?? '#21252c'\n const headerBackgroundColor = themConfig.headerBackgroundColor ?? 'rgba(0,0,0,0)'\n const hoverHeaderBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderBackgroundColor ?? '#D9DDE4')\n const hoverHeaderInlineBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderInlineBackgroundColor ?? '#D9DDE455')\n const outlineBorderLineWidth = themConfig.outlineBorderLineWidth ?? 0\n const frameCornerRadius = themConfig.frameCornerRadius ?? 0\n\n if (!isNullish(themConfig.minChartWidth)) {\n result.defaultColWidth = themConfig.minChartWidth\n }\n\n if (!isNullish(themConfig.minChartHeight)) {\n result.defaultRowHeight = themConfig.minChartHeight\n }\n\n return {\n ...result,\n theme: {\n underlayBackgroundColor: transparent,\n bodyStyle: {\n borderColor,\n color: bodyFontColor,\n borderLineWidth: (arg: { row: number; col: number }) => {\n const noYAxis =\n chartType === 'pie' ||\n chartType === 'rose' ||\n chartType === 'donut' ||\n chartType === 'funnel' ||\n chartType === 'radar' ||\n chartType === 'roseParallel'\n\n return [\n arg.row === 0 ? outlineBorderLineWidth : 1,\n outlineBorderLineWidth,\n 0,\n arg.col === 0 || (noYAxis && arg.col === 1) ? outlineBorderLineWidth : 1,\n ]\n },\n bgColor: transparent,\n hover: {\n cellBgColor: 'transparent',\n },\n },\n headerStyle: {\n borderColor,\n fontSize: 12,\n // borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n borderLineWidth: (arg: { row: number; col: number }) => {\n return [outlineBorderLineWidth, outlineBorderLineWidth, 1, arg.col === 0 ? outlineBorderLineWidth : 1]\n },\n color: headerFontColor,\n textAlign: 'center',\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n rowHeaderStyle: {\n borderColor,\n fontSize: 12,\n color: headerFontColor,\n padding: [0, 12, 0, 4],\n borderLineWidth: (arg: { row: number }) => {\n return [arg.row === 0 ? outlineBorderLineWidth : 1, 1, 0, outlineBorderLineWidth]\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerHeaderStyle: {\n borderColor,\n textAlign: 'center',\n fontSize: 12,\n color: headerFontColor,\n padding: [0, 12, 0, 4],\n fontWeight: 'bold',\n borderLineWidth: [outlineBorderLineWidth, 1, 1, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerLeftBottomCellStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightTopCellStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n frameStyle: {\n borderColor,\n borderLineWidth: 0,\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n rightFrozenStyle: {\n borderColor,\n bgColor: headerBackgroundColor,\n borderLineWidth: (arg: { row: number }) => {\n return [arg.row === 0 ? outlineBorderLineWidth : 1, outlineBorderLineWidth, 0, 1]\n },\n frameStyle: {\n borderLineWidth: 0,\n },\n hover: {\n borderLineWidth: 0,\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightBottomCellStyle: {\n borderColor,\n bgColor: headerBackgroundColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n frameStyle: {\n borderColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n\n bottomFrozenStyle: {\n borderColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n selectionStyle: {\n cellBgColor: '',\n cellBorderColor: '',\n },\n frameStyle: {\n borderColor,\n cornerRadius: frameCornerRadius,\n borderLineWidth: outlineBorderLineWidth,\n },\n },\n }\n}\n"],"names":["pivotGridStyle","spec","context","vseed","advancedVSeed","config","chartType","themConfig","onlyCombination","isPivot","isCombination","result","transparent","borderColor","bodyFontColor","headerFontColor","headerBackgroundColor","hoverHeaderBackgroundColor","hoverHeaderInlineBackgroundColor","outlineBorderLineWidth","frameCornerRadius","isNullish","arg","noYAxis","undefined"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from '../../../../../types';
2
- export declare const pivotHideIndicatorName: SpecPipe;
1
+ import type { PivotChartSpecPipe } from '../../../../../types';
2
+ export declare const pivotHideIndicatorName: PivotChartSpecPipe;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.ts"],"sourcesContent":["import type { SpecPipe } from 'src/types'\n\nexport const pivotHideIndicatorName: SpecPipe = (spec) => {\n return {\n ...spec,\n hideIndicatorName: true,\n }\n}\n"],"names":["pivotHideIndicatorName","spec"],"mappings":"AAEO,MAAMA,yBAAmC,CAACC,OACxC;QACL,GAAGA,IAAI;QACP,mBAAmB;IACrB"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.ts"],"sourcesContent":["import type { PivotChartSpecPipe } from 'src/types'\n\nexport const pivotHideIndicatorName: PivotChartSpecPipe = (spec) => {\n return {\n ...spec,\n hideIndicatorName: true,\n }\n}\n"],"names":["pivotHideIndicatorName","spec"],"mappings":"AAEO,MAAMA,yBAA6C,CAACC,OAClD;QACL,GAAGA,IAAI;QACP,mBAAmB;IACrB"}
@@ -1,4 +1,4 @@
1
- import type { SpecPipe, SpecPipeline } from '../../../../../types';
2
- export declare const pivotIndicators: (chartPipeline: SpecPipeline) => SpecPipe;
3
- export declare const pivotIndicatorsAsRow: SpecPipe;
4
- export declare const pivotIndicatorsAsCol: SpecPipe;
1
+ import type { PivotChartSpecPipe, VChartSpecPipe } from '../../../../../types';
2
+ export declare const pivotIndicators: (chartPipeline: VChartSpecPipe[]) => PivotChartSpecPipe;
3
+ export declare const pivotIndicatorsAsRow: PivotChartSpecPipe;
4
+ export declare const pivotIndicatorsAsCol: PivotChartSpecPipe;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../../utils'\nimport type { Dataset, Encoding, MeasureGroup, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: SpecPipeline): SpecPipe =>\n (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, dataset, encoding } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n const allMeasureIds = unique(datasetReshapeInfo.flatMap((d) => Object.keys(d.foldInfo.foldMap || {})))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const measureGroup = measures?.find((d) => d.id === reshapeInfo.id) as MeasureGroup\n const subMeasuresId = (measureGroup?.children || []).map((d) => d.id)\n const invalideMeasuresIds = allMeasureIds.filter((id) => !subMeasuresId.includes(id))\n\n const newDataset = dataset[index] as Dataset\n const newDatasetReshapeInfo = [\n {\n ...reshapeInfo,\n unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems },\n },\n ]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n datasetReshapeInfo: newDatasetReshapeInfo,\n encoding: Object.keys(encoding).reduce((res, key) => {\n res[key as keyof Encoding] = encoding[key as keyof Encoding]?.filter((e) => {\n return !invalideMeasuresIds.includes(e)\n }) as string[]\n\n return res\n }, {} as Encoding),\n dataset: newDataset,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: reshapeInfo.id,\n title: measureGroup?.alias,\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as Partial<PivotChartConstructorOptions>\n }\n\nexport const pivotIndicatorsAsRow: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n"],"names":["pivotIndicators","chartPipeline","spec","context","result","advancedVSeed","measures","datasetReshapeInfo","dataset","encoding","colorItems","unique","d","allMeasureIds","Object","indicators","reshapeInfo","index","measureGroup","subMeasuresId","invalideMeasuresIds","id","newDataset","newDatasetReshapeInfo","newContext","res","key","e","chartSpec","execPipeline","pivotIndicatorsAsRow","pivotIndicatorsAsCol"],"mappings":";;AAKO,MAAMA,kBACX,CAACC,gBACD,CAACC,MAAMC;QACL,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;QAC1B,MAAM,EAAEG,QAAQ,EAAEC,kBAAkB,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGJ;QAE5D,MAAMK,aAAaC,OAAOJ,mBAAmB,OAAO,CAAC,CAACK,IAAMA,EAAE,UAAU,CAAC,UAAU;QACnF,MAAMC,gBAAgBF,OAAOJ,mBAAmB,OAAO,CAAC,CAACK,IAAME,OAAO,IAAI,CAACF,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC;QAElG,MAAMG,aAAaR,mBAAmB,GAAG,CAAC,CAACS,aAAaC;YACtD,MAAMC,eAAeZ,UAAU,KAAK,CAACM,IAAMA,EAAE,EAAE,KAAKI,YAAY,EAAE;YAClE,MAAMG,gBAAiBD,AAAAA,CAAAA,cAAc,YAAY,EAAC,EAAG,GAAG,CAAC,CAACN,IAAMA,EAAE,EAAE;YACpE,MAAMQ,sBAAsBP,cAAc,MAAM,CAAC,CAACQ,KAAO,CAACF,cAAc,QAAQ,CAACE;YAEjF,MAAMC,aAAad,OAAO,CAACS,MAAM;YACjC,MAAMM,wBAAwB;gBAC5B;oBACE,GAAGP,WAAW;oBACd,YAAY;wBAAE,GAAGA,YAAY,UAAU;wBAAEN;oBAAW;gBACtD;aACD;YACD,MAAMc,aAAkC;gBACtC,GAAGrB,OAAO;gBACV,eAAe;oBACb,GAAGE,aAAa;oBAChB,oBAAoBkB;oBACpB,UAAUT,OAAO,IAAI,CAACL,UAAU,MAAM,CAAC,CAACgB,KAAKC;wBAC3CD,GAAG,CAACC,IAAsB,GAAGjB,QAAQ,CAACiB,IAAsB,EAAE,OAAO,CAACC,IAC7D,CAACP,oBAAoB,QAAQ,CAACO;wBAGvC,OAAOF;oBACT,GAAG,CAAC;oBACJ,SAASH;gBACX;YACF;YAEA,MAAMM,YAAYC,aAAa5B,eAAeuB,YAAY,CAAC;YAC3D,OAAO;gBACL,cAAcR,YAAY,EAAE;gBAC5B,OAAOE,cAAc;gBACrB,UAAU;gBACV,aAAa;gBACb,WAAWU;gBACX,OAAO;oBACL,SAAS;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBACvB;YACF;QACF;QAEA,OAAO;YACL,GAAGxB,MAAM;YACT,YAAYW;QACd;IACF;AAEK,MAAMe,uBAAiC,CAAC5B;IAC7C,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF;AAEO,MAAM2B,uBAAiC,CAAC7B;IAC7C,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../../utils'\nimport type {\n Dataset,\n Encoding,\n MeasureGroup,\n PivotChartSpecPipe,\n SpecPipelineContext,\n VChartSpecPipe,\n} from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: VChartSpecPipe[]): PivotChartSpecPipe =>\n (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, dataset, encoding } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n const allMeasureIds = unique(datasetReshapeInfo.flatMap((d) => Object.keys(d.foldInfo.foldMap || {})))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const measureGroup = measures?.find((d) => d.id === reshapeInfo.id) as MeasureGroup\n const subMeasuresId = (measureGroup?.children || []).map((d) => d.id)\n const invalideMeasuresIds = allMeasureIds.filter((id) => !subMeasuresId.includes(id))\n\n const newDataset = dataset[index] as Dataset\n const newDatasetReshapeInfo = [\n {\n ...reshapeInfo,\n unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems },\n },\n ]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n datasetReshapeInfo: newDatasetReshapeInfo,\n encoding: Object.keys(encoding).reduce((res, key) => {\n res[key as keyof Encoding] = encoding[key as keyof Encoding]?.filter((e) => {\n return !invalideMeasuresIds.includes(e)\n }) as string[]\n\n return res\n }, {} as Encoding),\n dataset: newDataset,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: reshapeInfo.id,\n title: measureGroup?.alias,\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as Partial<PivotChartConstructorOptions>\n }\n\nexport const pivotIndicatorsAsRow: PivotChartSpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: PivotChartSpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n"],"names":["pivotIndicators","chartPipeline","spec","context","result","advancedVSeed","measures","datasetReshapeInfo","dataset","encoding","colorItems","unique","d","allMeasureIds","Object","indicators","reshapeInfo","index","measureGroup","subMeasuresId","invalideMeasuresIds","id","newDataset","newDatasetReshapeInfo","newContext","res","key","e","chartSpec","execPipeline","pivotIndicatorsAsRow","pivotIndicatorsAsCol"],"mappings":";;AAYO,MAAMA,kBACX,CAACC,gBACD,CAACC,MAAMC;QACL,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;QAC1B,MAAM,EAAEG,QAAQ,EAAEC,kBAAkB,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGJ;QAE5D,MAAMK,aAAaC,OAAOJ,mBAAmB,OAAO,CAAC,CAACK,IAAMA,EAAE,UAAU,CAAC,UAAU;QACnF,MAAMC,gBAAgBF,OAAOJ,mBAAmB,OAAO,CAAC,CAACK,IAAME,OAAO,IAAI,CAACF,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC;QAElG,MAAMG,aAAaR,mBAAmB,GAAG,CAAC,CAACS,aAAaC;YACtD,MAAMC,eAAeZ,UAAU,KAAK,CAACM,IAAMA,EAAE,EAAE,KAAKI,YAAY,EAAE;YAClE,MAAMG,gBAAiBD,AAAAA,CAAAA,cAAc,YAAY,EAAC,EAAG,GAAG,CAAC,CAACN,IAAMA,EAAE,EAAE;YACpE,MAAMQ,sBAAsBP,cAAc,MAAM,CAAC,CAACQ,KAAO,CAACF,cAAc,QAAQ,CAACE;YAEjF,MAAMC,aAAad,OAAO,CAACS,MAAM;YACjC,MAAMM,wBAAwB;gBAC5B;oBACE,GAAGP,WAAW;oBACd,YAAY;wBAAE,GAAGA,YAAY,UAAU;wBAAEN;oBAAW;gBACtD;aACD;YACD,MAAMc,aAAkC;gBACtC,GAAGrB,OAAO;gBACV,eAAe;oBACb,GAAGE,aAAa;oBAChB,oBAAoBkB;oBACpB,UAAUT,OAAO,IAAI,CAACL,UAAU,MAAM,CAAC,CAACgB,KAAKC;wBAC3CD,GAAG,CAACC,IAAsB,GAAGjB,QAAQ,CAACiB,IAAsB,EAAE,OAAO,CAACC,IAC7D,CAACP,oBAAoB,QAAQ,CAACO;wBAGvC,OAAOF;oBACT,GAAG,CAAC;oBACJ,SAASH;gBACX;YACF;YAEA,MAAMM,YAAYC,aAAa5B,eAAeuB,YAAY,CAAC;YAC3D,OAAO;gBACL,cAAcR,YAAY,EAAE;gBAC5B,OAAOE,cAAc;gBACrB,UAAU;gBACV,aAAa;gBACb,WAAWU;gBACX,OAAO;oBACL,SAAS;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBACvB;YACF;QACF;QAEA,OAAO;YACL,GAAGxB,MAAM;YACT,YAAYW;QACd;IACF;AAEK,MAAMe,uBAA2C,CAAC5B;IACvD,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF;AAEO,MAAM2B,uBAA2C,CAAC7B;IACvD,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF"}
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from '../../../../../types';
2
- export declare const pivotRowDimensions: SpecPipe;
1
+ import type { PivotChartSpecPipe } from '../../../../../types';
2
+ export declare const pivotRowDimensions: PivotChartSpecPipe;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { Dimensions, SpecPipe } from 'src/types'\n\nexport const pivotRowDimensions: SpecPipe = (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n if (!dimensions) {\n return result\n }\n const rowDimensions = dimensions.filter((dim) => dim.encoding === 'row')\n const rows = rowDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n }))\n return {\n ...result,\n rows: rows,\n } as Partial<PivotChartConstructorOptions>\n}\n"],"names":["pivotRowDimensions","spec","context","result","advancedVSeed","dimensions","rowDimensions","dim","rows"],"mappings":"AAGO,MAAMA,qBAA+B,CAACC,MAAMC;IACjD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAMG,aAAaD,cAAc,UAAU;IAC3C,IAAI,CAACC,YACH,OAAOF;IAET,MAAMG,gBAAgBD,WAAW,MAAM,CAAC,CAACE,MAAQA,AAAiB,UAAjBA,IAAI,QAAQ;IAC7D,MAAMC,OAAOF,cAAc,GAAG,CAAC,CAACC,MAAS;YACvC,cAAcA,IAAI,EAAE;YACpB,OAAOA,IAAI,KAAK,IAAIA,IAAI,EAAE;QAC5B;IACA,OAAO;QACL,GAAGJ,MAAM;QACT,MAAMK;IACR;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { Dimensions, PivotChartSpecPipe } from 'src/types'\n\nexport const pivotRowDimensions: PivotChartSpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n if (!dimensions) {\n return result\n }\n const rowDimensions = dimensions.filter((dim) => dim.encoding === 'row')\n const rows = rowDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n }))\n return {\n ...result,\n rows: rows,\n } as Partial<PivotChartConstructorOptions>\n}\n"],"names":["pivotRowDimensions","spec","context","result","advancedVSeed","dimensions","rowDimensions","dim","rows"],"mappings":"AAGO,MAAMA,qBAAyC,CAACC,MAAMC;IAC3D,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAMG,aAAaD,cAAc,UAAU;IAC3C,IAAI,CAACC,YACH,OAAOF;IAET,MAAMG,gBAAgBD,WAAW,MAAM,CAAC,CAACE,MAAQA,AAAiB,UAAjBA,IAAI,QAAQ;IAC7D,MAAMC,OAAOF,cAAc,GAAG,CAAC,CAACC,MAAS;YACvC,cAAcA,IAAI,EAAE;YACpB,OAAOA,IAAI,KAAK,IAAIA,IAAI,EAAE;QAC5B;IACA,OAAO;QACL,GAAGJ,MAAM;QACT,MAAMK;IACR;AACF"}
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from '../../../../../types';
2
- export declare const pivotTitle: SpecPipe;
1
+ import type { PivotChartSpecPipe } from '../../../../../types';
2
+ export declare const pivotTitle: PivotChartSpecPipe;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotTitle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotTitle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { SpecPipe, Config } from 'src/types'\n\nexport const pivotTitle: SpecPipe = (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n if (result.columns && result.columns.length > 0) {\n result.title = {\n text: (spec as unknown as { columns: { title: string }[] }).columns.map((entry) => entry.title).join('/'),\n align: 'center',\n orient: 'top',\n padding: [2, 0, 0, 0],\n textStyle: {\n fontSize: themConfig.titleFontSize ?? 12,\n fill: themConfig.titleFontColor ?? '#000',\n fontWeight: themConfig.titleFontWeight ?? 'bold',\n },\n }\n }\n\n return result\n}\n"],"names":["pivotTitle","spec","context","result","advancedVSeed","config","chartType","themConfig","entry"],"mappings":"AAGO,MAAMA,aAAuB,CAACC,MAAMC;IACzC,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAE,GAAGF;IAC9B,MAAMG,aAAcF,QAAQ,CAACC,UAAU,EAAqB,aAAa,CAAC;IAE1E,IAAIH,OAAO,OAAO,IAAIA,OAAO,OAAO,CAAC,MAAM,GAAG,GAC5CA,OAAO,KAAK,GAAG;QACb,MAAOF,KAAqD,OAAO,CAAC,GAAG,CAAC,CAACO,QAAUA,MAAM,KAAK,EAAE,IAAI,CAAC;QACrG,OAAO;QACP,QAAQ;QACR,SAAS;YAAC;YAAG;YAAG;YAAG;SAAE;QACrB,WAAW;YACT,UAAUD,WAAW,aAAa,IAAI;YACtC,MAAMA,WAAW,cAAc,IAAI;YACnC,YAAYA,WAAW,eAAe,IAAI;QAC5C;IACF;IAGF,OAAOJ;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotTitle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotTitle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { Config, PivotChartSpecPipe } from 'src/types'\n\nexport const pivotTitle: PivotChartSpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n if (result.columns && result.columns.length > 0) {\n result.title = {\n text: (spec as unknown as { columns: { title: string }[] }).columns.map((entry) => entry.title).join('/'),\n align: 'center',\n orient: 'top',\n padding: [2, 0, 0, 0],\n textStyle: {\n fontSize: themConfig.titleFontSize ?? 12,\n fill: themConfig.titleFontColor ?? '#000',\n fontWeight: themConfig.titleFontWeight ?? 'bold',\n },\n }\n }\n\n return result\n}\n"],"names":["pivotTitle","spec","context","result","advancedVSeed","config","chartType","themConfig","entry"],"mappings":"AAGO,MAAMA,aAAiC,CAACC,MAAMC;IACnD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAE,GAAGF;IAC9B,MAAMG,aAAcF,QAAQ,CAACC,UAAU,EAAqB,aAAa,CAAC;IAE1E,IAAIH,OAAO,OAAO,IAAIA,OAAO,OAAO,CAAC,MAAM,GAAG,GAC5CA,OAAO,KAAK,GAAG;QACb,MAAOF,KAAqD,OAAO,CAAC,GAAG,CAAC,CAACO,QAAUA,MAAM,KAAK,EAAE,IAAI,CAAC;QACrG,OAAO;QACP,QAAQ;QACR,SAAS;YAAC;YAAG;YAAG;YAAG;SAAE;QACrB,WAAW;YACT,UAAUD,WAAW,aAAa,IAAI;YACtC,MAAMA,WAAW,cAAc,IAAI;YACnC,YAAYA,WAAW,eAAe,IAAI;QAC5C;IACF;IAGF,OAAOJ;AACT"}
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from '../../../../../types';
2
- export declare const addRegionPadding: SpecPipe;
1
+ import type { VChartSpecPipe } from '../../../../../types';
2
+ export declare const addRegionPadding: VChartSpecPipe;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/region/addRegionPadding.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/region/addRegionPadding.ts"],"sourcesContent":["import type { IPieChartSpec } from '@visactor/vchart'\nimport type { SpecPipe } from 'src/types'\n\nexport const addRegionPadding: SpecPipe = (spec) => {\n const result = { ...spec } as IPieChartSpec\n\n if (result.region && result.region.length > 0) {\n result.region[0].padding = 10\n }\n\n return result\n}\n"],"names":["addRegionPadding","spec","result"],"mappings":"AAGO,MAAMA,mBAA6B,CAACC;IACzC,MAAMC,SAAS;QAAE,GAAGD,IAAI;IAAC;IAEzB,IAAIC,OAAO,MAAM,IAAIA,OAAO,MAAM,CAAC,MAAM,GAAG,GAC1CA,OAAO,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG;IAG7B,OAAOA;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/region/addRegionPadding.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/region/addRegionPadding.ts"],"sourcesContent":["import type { IPieChartSpec } from '@visactor/vchart'\nimport type { VChartSpecPipe } from 'src/types'\n\nexport const addRegionPadding: VChartSpecPipe = (spec) => {\n const result = { ...spec } as IPieChartSpec\n\n if (result.region && result.region.length > 0) {\n result.region[0].padding = 10\n }\n\n return result\n}\n"],"names":["addRegionPadding","spec","result"],"mappings":"AAGO,MAAMA,mBAAmC,CAACC;IAC/C,MAAMC,SAAS;QAAE,GAAGD,IAAI;IAAC;IAEzB,IAAIC,OAAO,MAAM,IAAIA,OAAO,MAAM,CAAC,MAAM,GAAG,GAC1CA,OAAO,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG;IAG7B,OAAOA;AACT"}
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from '../../../../../types';
2
- export declare const columnPolynomialRegressionLine: SpecPipe;
1
+ import type { VChartSpecPipe } from '../../../../../types';
2
+ export declare const columnPolynomialRegressionLine: VChartSpecPipe;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.ts"],"sourcesContent":["import type { IBarChartSpec, ICartesianSeries, IChart, IVChart } from '@visactor/vchart'\nimport { isNullish } from 'remeda'\nimport { array, clamper, regressionPolynomial } from '@visactor/vutils'\nimport type { Datum, SpecPipe, RegressionLineConfig, LinearRegressionLine, PolynomialRegressionLine } from 'src/types'\nimport { defaultRegressionLineColor } from './common'\n\nexport const columnPolynomialRegressionLine: SpecPipe = (spec, context): Partial<IBarChartSpec> => {\n const result = { ...spec } as Partial<IBarChartSpec>\n const { advancedVSeed } = context\n const { chartType, regressionLine } = advancedVSeed\n const lineTheme = advancedVSeed.config[chartType as 'scatter']?.regressionLine as RegressionLineConfig\n\n if (!regressionLine || !regressionLine.polynomialRegressionLine) {\n return result\n }\n\n const lineList = array(regressionLine.polynomialRegressionLine)\n\n if (!result.customMark) {\n result.customMark = []\n }\n\n lineList.forEach((line, lineIndex) => {\n const theme = (lineTheme.linearRegressionLine ?? {}) as LinearRegressionLine\n const {\n color,\n lineWidth,\n lineDash,\n text,\n textColor,\n textFontSize,\n textFontWeight,\n confidenceIntervalOpacity,\n confidenceIntervalVisible = theme.confidenceIntervalVisible,\n } = line as LinearRegressionLine\n\n const childrenMarks: any[] = []\n\n ;(result.customMark as any[]).push({\n type: 'group',\n interactive: false,\n zIndex: 500,\n name: `polynomialRegressionLine-${lineIndex}`,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const s = chart.getAllSeries()[0] as ICartesianSeries\n\n if (s) {\n const rect = s.getRegion().getLayoutRect()\n\n if (rect.width === 0 || rect.height === 0) {\n return null\n }\n\n const start = s.getRegion().getLayoutStartPoint()\n const yClamper = clamper(start.y, start.y + rect.height)\n const data = s.getViewData()?.latestData as Datum[]\n const fieldX = s.fieldX?.[0]\n const fieldY = s.fieldY?.[0]\n const xValues = s.getRawDataStatisticsByField(fieldX).values as string[]\n\n if (!fieldX || !fieldY || !data || data.length <= 2 || xValues.length <= 2) {\n return null\n }\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { confidenceInterval, evaluateGrid } = regressionPolynomial(\n xValues.map((xVal, index: number) => {\n const filteredData = data.filter((d) => d[fieldX] === xVal)\n\n return {\n x: index,\n y: Math.max(...filteredData.map((d) => d[fieldY] as number)),\n }\n }),\n undefined,\n undefined,\n {\n degree: (line as PolynomialRegressionLine).degree ?? 2,\n },\n )\n const N = xValues.length\n const xAxisHelper = s.getXAxisHelper()\n const halfBandWidth = xAxisHelper ? xAxisHelper.getBandwidth!(0) / 2 : 0\n const lineData = evaluateGrid(N)\n const linePoints = lineData.map((datum: Datum, index: number) => {\n const d = { [fieldX]: xValues[index], [fieldY]: datum.y }\n return {\n x: s.dataToPositionX(d)! + start.x + halfBandWidth,\n y: yClamper(s.dataToPositionY(d)! + start.y),\n }\n })\n const result: {\n linePoints: { x: number; y: number }[]\n areaPoints?: { x: number; y: number; y1: number }[]\n color: string\n } = {\n linePoints,\n color: s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n }\n\n if (confidenceIntervalVisible) {\n const intervalData = confidenceInterval(N)\n\n result.areaPoints = intervalData.map((datum: Datum, index: number) => {\n const d = { [fieldX]: xValues[index], [fieldY]: datum.lower }\n return {\n x: s.dataToPositionX(d)! + start.x + halfBandWidth,\n y: yClamper(s.dataToPositionY(d)! + start.y),\n y1: yClamper(s.dataToPositionY({ [fieldY]: datum.upper })! + start.y),\n }\n })\n }\n\n return result\n }\n return null\n },\n },\n children: childrenMarks,\n })\n\n if (confidenceIntervalVisible) {\n childrenMarks.push({\n type: 'area',\n interactive: false,\n zIndex: 500,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n fillOpacity: confidenceIntervalOpacity ?? theme.confidenceIntervalOpacity,\n fill: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return parentNode.attribute.data.areaPoints\n }\n\n return []\n },\n },\n })\n }\n\n childrenMarks.push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n stroke: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return parentNode.attribute.data.linePoints\n }\n\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n childrenMarks.push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n style: {\n textAlign: 'end',\n fill: textColor ?? theme.textColor,\n fontSize: textFontSize ?? theme.textFontSize,\n fontWeight: textFontWeight ?? theme.textFontWeight,\n text: text,\n x: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data?.linePoints) {\n const points = parentNode.attribute.data.linePoints\n return points[points.length - 1]?.x\n }\n\n return undefined\n },\n y: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data?.linePoints) {\n const points = parentNode.attribute.data.linePoints\n return points[points.length - 1]?.y\n }\n\n return undefined\n },\n },\n })\n }\n })\n\n return result\n}\n"],"names":["columnPolynomialRegressionLine","spec","context","result","advancedVSeed","chartType","regressionLine","lineTheme","lineList","array","line","lineIndex","theme","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","confidenceIntervalOpacity","confidenceIntervalVisible","childrenMarks","datum","ctx","vchart","chart","s","rect","start","yClamper","clamper","data","fieldX","fieldY","xValues","confidenceInterval","evaluateGrid","regressionPolynomial","xVal","index","filteredData","d","Math","undefined","N","xAxisHelper","halfBandWidth","lineData","linePoints","intervalData","defaultRegressionLineColor","opt","parentNode","isNullish","points"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.ts"],"sourcesContent":["import type { IBarChartSpec, ICartesianSeries, IChart, IVChart } from '@visactor/vchart'\nimport { isNullish } from 'remeda'\nimport { array, clamper, regressionPolynomial } from '@visactor/vutils'\nimport type {\n Datum,\n VChartSpecPipe,\n RegressionLineConfig,\n LinearRegressionLine,\n PolynomialRegressionLine,\n} from 'src/types'\nimport { defaultRegressionLineColor } from './common'\n\nexport const columnPolynomialRegressionLine: VChartSpecPipe = (spec, context): Partial<IBarChartSpec> => {\n const result = { ...spec } as Partial<IBarChartSpec>\n const { advancedVSeed } = context\n const { chartType, regressionLine } = advancedVSeed\n const lineTheme = advancedVSeed.config[chartType as 'scatter']?.regressionLine as RegressionLineConfig\n\n if (!regressionLine || !regressionLine.polynomialRegressionLine) {\n return result\n }\n\n const lineList = array(regressionLine.polynomialRegressionLine)\n\n if (!result.customMark) {\n result.customMark = []\n }\n\n lineList.forEach((line, lineIndex) => {\n const theme = (lineTheme.linearRegressionLine ?? {}) as LinearRegressionLine\n const {\n color,\n lineWidth,\n lineDash,\n text,\n textColor,\n textFontSize,\n textFontWeight,\n confidenceIntervalOpacity,\n confidenceIntervalVisible = theme.confidenceIntervalVisible,\n } = line as LinearRegressionLine\n\n const childrenMarks: any[] = []\n\n ;(result.customMark as any[]).push({\n type: 'group',\n interactive: false,\n zIndex: 500,\n name: `polynomialRegressionLine-${lineIndex}`,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const s = chart.getAllSeries()[0] as ICartesianSeries\n\n if (s) {\n const rect = s.getRegion().getLayoutRect()\n\n if (rect.width === 0 || rect.height === 0) {\n return null\n }\n\n const start = s.getRegion().getLayoutStartPoint()\n const yClamper = clamper(start.y, start.y + rect.height)\n const data = s.getViewData()?.latestData as Datum[]\n const fieldX = s.fieldX?.[0]\n const fieldY = s.fieldY?.[0]\n const xValues = s.getRawDataStatisticsByField(fieldX).values as string[]\n\n if (!fieldX || !fieldY || !data || data.length <= 2 || xValues.length <= 2) {\n return null\n }\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { confidenceInterval, evaluateGrid } = regressionPolynomial(\n xValues.map((xVal, index: number) => {\n const filteredData = data.filter((d) => d[fieldX] === xVal)\n\n return {\n x: index,\n y: Math.max(...filteredData.map((d) => d[fieldY] as number)),\n }\n }),\n undefined,\n undefined,\n {\n degree: (line as PolynomialRegressionLine).degree ?? 2,\n },\n )\n const N = xValues.length\n const xAxisHelper = s.getXAxisHelper()\n const halfBandWidth = xAxisHelper ? xAxisHelper.getBandwidth!(0) / 2 : 0\n const lineData = evaluateGrid(N)\n const linePoints = lineData.map((datum: Datum, index: number) => {\n const d = { [fieldX]: xValues[index], [fieldY]: datum.y }\n return {\n x: s.dataToPositionX(d)! + start.x + halfBandWidth,\n y: yClamper(s.dataToPositionY(d)! + start.y),\n }\n })\n const result: {\n linePoints: { x: number; y: number }[]\n areaPoints?: { x: number; y: number; y1: number }[]\n color: string\n } = {\n linePoints,\n color: s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n }\n\n if (confidenceIntervalVisible) {\n const intervalData = confidenceInterval(N)\n\n result.areaPoints = intervalData.map((datum: Datum, index: number) => {\n const d = { [fieldX]: xValues[index], [fieldY]: datum.lower }\n return {\n x: s.dataToPositionX(d)! + start.x + halfBandWidth,\n y: yClamper(s.dataToPositionY(d)! + start.y),\n y1: yClamper(s.dataToPositionY({ [fieldY]: datum.upper })! + start.y),\n }\n })\n }\n\n return result\n }\n return null\n },\n },\n children: childrenMarks,\n })\n\n if (confidenceIntervalVisible) {\n childrenMarks.push({\n type: 'area',\n interactive: false,\n zIndex: 500,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n fillOpacity: confidenceIntervalOpacity ?? theme.confidenceIntervalOpacity,\n fill: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return parentNode.attribute.data.areaPoints\n }\n\n return []\n },\n },\n })\n }\n\n childrenMarks.push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n stroke: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return parentNode.attribute.data.linePoints\n }\n\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n childrenMarks.push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n style: {\n textAlign: 'end',\n fill: textColor ?? theme.textColor,\n fontSize: textFontSize ?? theme.textFontSize,\n fontWeight: textFontWeight ?? theme.textFontWeight,\n text: text,\n x: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data?.linePoints) {\n const points = parentNode.attribute.data.linePoints\n return points[points.length - 1]?.x\n }\n\n return undefined\n },\n y: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data?.linePoints) {\n const points = parentNode.attribute.data.linePoints\n return points[points.length - 1]?.y\n }\n\n return undefined\n },\n },\n })\n }\n })\n\n return result\n}\n"],"names":["columnPolynomialRegressionLine","spec","context","result","advancedVSeed","chartType","regressionLine","lineTheme","lineList","array","line","lineIndex","theme","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","confidenceIntervalOpacity","confidenceIntervalVisible","childrenMarks","datum","ctx","vchart","chart","s","rect","start","yClamper","clamper","data","fieldX","fieldY","xValues","confidenceInterval","evaluateGrid","regressionPolynomial","xVal","index","filteredData","d","Math","undefined","N","xAxisHelper","halfBandWidth","lineData","linePoints","intervalData","defaultRegressionLineColor","opt","parentNode","isNullish","points"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from '../../../../../types';
2
- export declare const ecdfRegressionLine: SpecPipe;
1
+ import type { VChartSpecPipe } from '../../../../../types';
2
+ export declare const ecdfRegressionLine: VChartSpecPipe;
@@ -1,5 +1,5 @@
1
1
  import { isNullish, uniqueBy } from "remeda";
2
- import { array, ecdf } from "@visactor/vutils";
2
+ import { array, ecdf, isArray } from "@visactor/vutils";
3
3
  import { defaultRegressionLineColor, defaultRegressionLineLabelX, defaultRegressionLineLabelY } from "./common.js";
4
4
  const ecdfRegressionLine = (spec, context)=>{
5
5
  const result = {
@@ -34,7 +34,7 @@ const ecdfRegressionLine = (spec, context)=>{
34
34
  const scaleY = s.getYAxisHelper().getScale?.(0);
35
35
  const viewData = s.getViewData()?.latestData;
36
36
  if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) return null;
37
- const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>d[encoding.value?.[0]]);
37
+ const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>+d[encoding.value?.[0]]);
38
38
  const res = ecdf(simpleData);
39
39
  const N = Math.max(3, Math.floor(simpleData.length / 4));
40
40
  const lineData = res.evaluateGrid(N);
@@ -91,6 +91,36 @@ const ecdfRegressionLine = (spec, context)=>{
91
91
  }
92
92
  });
93
93
  });
94
+ const leftAxis = result.axes?.find((v)=>'left' === v.orient);
95
+ if (leftAxis && lineList.length) result.axes?.push({
96
+ visible: true,
97
+ orient: 'right',
98
+ type: 'linear',
99
+ base: 10,
100
+ min: 0,
101
+ max: 1,
102
+ domainLine: {
103
+ ...leftAxis.domainLine
104
+ },
105
+ grid: {
106
+ visible: false
107
+ },
108
+ tick: {
109
+ ...leftAxis.tick
110
+ },
111
+ title: {
112
+ ...leftAxis.title,
113
+ visible: false
114
+ },
115
+ label: {
116
+ ...leftAxis.label,
117
+ visible: true,
118
+ formatMethod: (v)=>{
119
+ const text = isArray(v) ? v[0] : v;
120
+ return `${(100 * text).toFixed(1)}%`;
121
+ }
122
+ }
123
+ });
94
124
  return result;
95
125
  };
96
126
  export { ecdfRegressionLine };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.ts"],"sourcesContent":["import type { ICartesianSeries, IChart, IHistogramChartSpec, IVChart } from '@visactor/vchart'\nimport { isNullish, uniqueBy } from 'remeda'\nimport { ecdf, array } from '@visactor/vutils'\nimport type { Datum, Dimension, SpecPipe, Encoding, RegressionLineConfig, EcdfRegressionLine } from 'src/types'\nimport { defaultRegressionLineColor, defaultRegressionLineLabelX, defaultRegressionLineLabelY } from './common'\n\nexport const ecdfRegressionLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as IHistogramChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding = {} as Encoding, dimensions, regressionLine } = advancedVSeed\n const { dataset } = vseed\n const lineTheme = advancedVSeed.config[chartType as 'histogram']?.regressionLine as RegressionLineConfig\n\n if (!regressionLine || !regressionLine.ecdfRegressionLine) {\n return result\n }\n\n const rowColumnFields = uniqueBy(\n dimensions.filter((dim: Dimension) => dim.encoding === 'row' || dim.encoding === 'column'),\n (item: Dimension) => item.id,\n )\n\n const lineList = array(regressionLine.ecdfRegressionLine).filter((ecdfLine) => ecdfLine.enable !== false)\n\n if (!result.customMark) {\n result.customMark = []\n }\n\n lineList.forEach((line, lineIndex) => {\n const theme = (lineTheme?.ecdfRegressionLine ?? {}) as EcdfRegressionLine\n const { color, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } = line as EcdfRegressionLine\n\n const childrenMarks: any[] = []\n\n ;(result.customMark as any[]).push({\n type: 'group',\n interactive: false,\n zIndex: 500,\n name: `ecdfRegressionLine-${lineIndex}`,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n const region = s.getRegion().getLayoutStartPoint()\n\n const fieldX = s.fieldX?.[0]\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return null\n }\n const simpleData = dataset\n .filter((entry: Datum) => {\n return rowColumnFields.length\n ? rowColumnFields.every((dim: Dimension) => {\n return entry[dim.id] === viewData[0][dim.id]\n })\n : true\n })\n .map((d: Datum) => (d as any)[encoding.value?.[0] as string]) as number[]\n const res = ecdf(simpleData)\n const N = Math.max(3, Math.floor(simpleData.length / 4))\n const lineData = res.evaluateGrid(N)\n const yRange = scaleY.range()\n const y0 = yRange[0]\n const y1 = yRange[yRange.length - 1]\n const scaleR = (e: number) => {\n return y0 + (y1 - y0) * e\n }\n\n const linePoints = lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x }\n return {\n x: s.dataToPositionX(d)! + region.x,\n y: scaleR(ld.y as number) + region.y,\n }\n })\n\n return {\n linePoints,\n color: color ?? s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n }\n }\n return null\n },\n },\n children: childrenMarks,\n })\n\n childrenMarks.push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n stroke: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return parentNode.attribute.data.linePoints\n }\n\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n childrenMarks.push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n style: {\n textAlign: 'end',\n fill: textColor ?? theme.textColor,\n fontSize: textFontSize ?? theme.textFontSize,\n fontWeight: textFontWeight ?? theme.textFontWeight,\n text: text,\n x: defaultRegressionLineLabelX,\n y: defaultRegressionLineLabelY,\n },\n })\n }\n })\n\n return result\n}\n"],"names":["ecdfRegressionLine","spec","context","result","advancedVSeed","vseed","chartType","encoding","dimensions","regressionLine","dataset","lineTheme","rowColumnFields","uniqueBy","dim","item","lineList","array","ecdfLine","line","lineIndex","theme","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","childrenMarks","datum","ctx","vchart","chart","series","s","region","fieldX","scaleY","viewData","simpleData","entry","d","res","ecdf","N","Math","lineData","yRange","y0","y1","scaleR","e","linePoints","ld","defaultRegressionLineColor","opt","parentNode","isNullish","defaultRegressionLineLabelX","defaultRegressionLineLabelY"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.ts"],"sourcesContent":["import type { ICartesianSeries, IChart, IHistogramChartSpec, IVChart } from '@visactor/vchart'\nimport { isNullish, uniqueBy } from 'remeda'\nimport { ecdf, array, isArray } from '@visactor/vutils'\nimport type { Datum, Dimension, VChartSpecPipe, Encoding, RegressionLineConfig, EcdfRegressionLine } from 'src/types'\nimport { defaultRegressionLineColor, defaultRegressionLineLabelX, defaultRegressionLineLabelY } from './common'\n\nexport const ecdfRegressionLine: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IHistogramChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding = {} as Encoding, dimensions, regressionLine } = advancedVSeed\n const { dataset } = vseed\n const lineTheme = advancedVSeed.config[chartType as 'histogram']?.regressionLine as RegressionLineConfig\n\n if (!regressionLine || !regressionLine.ecdfRegressionLine) {\n return result\n }\n\n const rowColumnFields = uniqueBy(\n dimensions.filter((dim: Dimension) => dim.encoding === 'row' || dim.encoding === 'column'),\n (item: Dimension) => item.id,\n )\n\n const lineList = array(regressionLine.ecdfRegressionLine).filter((ecdfLine) => ecdfLine.enable !== false)\n\n if (!result.customMark) {\n result.customMark = []\n }\n\n lineList.forEach((line, lineIndex) => {\n const theme = (lineTheme?.ecdfRegressionLine ?? {}) as EcdfRegressionLine\n const { color, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } = line as EcdfRegressionLine\n\n const childrenMarks: any[] = []\n\n ;(result.customMark as any[]).push({\n type: 'group',\n interactive: false,\n zIndex: 500,\n name: `ecdfRegressionLine-${lineIndex}`,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n const region = s.getRegion().getLayoutStartPoint()\n\n const fieldX = s.fieldX?.[0]\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return null\n }\n const simpleData = dataset\n .filter((entry: Datum) => {\n return rowColumnFields.length\n ? rowColumnFields.every((dim: Dimension) => {\n return entry[dim.id] === viewData[0][dim.id]\n })\n : true\n })\n .map((d: Datum) => +(d as any)[encoding.value?.[0] as string])\n const res = ecdf(simpleData)\n const N = Math.max(3, Math.floor(simpleData.length / 4))\n const lineData = res.evaluateGrid(N)\n const yRange = scaleY.range()\n const y0 = yRange[0]\n const y1 = yRange[yRange.length - 1]\n const scaleR = (e: number) => {\n return y0 + (y1 - y0) * e\n }\n\n const linePoints = lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x }\n return {\n x: s.dataToPositionX(d)! + region.x,\n y: scaleR(ld.y as number) + region.y,\n }\n })\n\n return {\n linePoints,\n color: color ?? s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n }\n }\n return null\n },\n },\n children: childrenMarks,\n })\n\n childrenMarks.push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n stroke: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return parentNode.attribute.data.linePoints\n }\n\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n childrenMarks.push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n style: {\n textAlign: 'end',\n fill: textColor ?? theme.textColor,\n fontSize: textFontSize ?? theme.textFontSize,\n fontWeight: textFontWeight ?? theme.textFontWeight,\n text: text,\n x: defaultRegressionLineLabelX,\n y: defaultRegressionLineLabelY,\n },\n })\n }\n })\n\n // add percent axis of ecdf\n const leftAxis = result.axes?.find((v) => v.orient === 'left')\n if (leftAxis && lineList.length) {\n result.axes?.push({\n visible: true,\n orient: 'right',\n type: 'linear',\n base: 10,\n min: 0,\n max: 1,\n domainLine: {\n ...leftAxis.domainLine,\n },\n grid: {\n visible: false,\n },\n tick: {\n ...leftAxis.tick,\n },\n title: {\n ...leftAxis.title,\n visible: false,\n },\n label: {\n ...leftAxis.label,\n visible: true,\n formatMethod: (v) => {\n const text = isArray(v) ? v[0] : v\n return `${(+text * 100).toFixed(1)}%`\n },\n },\n })\n }\n\n return result\n}\n"],"names":["ecdfRegressionLine","spec","context","result","advancedVSeed","vseed","chartType","encoding","dimensions","regressionLine","dataset","lineTheme","rowColumnFields","uniqueBy","dim","item","lineList","array","ecdfLine","line","lineIndex","theme","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","childrenMarks","datum","ctx","vchart","chart","series","s","region","fieldX","scaleY","viewData","simpleData","entry","d","res","ecdf","N","Math","lineData","yRange","y0","y1","scaleR","e","linePoints","ld","defaultRegressionLineColor","opt","parentNode","isNullish","defaultRegressionLineLabelX","defaultRegressionLineLabelY","leftAxis","v","isArray"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import type { SpecPipe } from '../../../../../types';
2
- export declare const kdeRegressionLine: SpecPipe;
1
+ import type { VChartSpecPipe } from '../../../../../types';
2
+ export declare const kdeRegressionLine: VChartSpecPipe;
@@ -35,7 +35,7 @@ const kdeRegressionLine = (spec, context)=>{
35
35
  const scaleY = s.getYAxisHelper().getScale?.(0);
36
36
  const viewData = s.getViewData()?.latestData;
37
37
  if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) return null;
38
- const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>d[encoding.value?.[0]]);
38
+ const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>+d[encoding.value?.[0]]);
39
39
  const res = kde(simpleData, {
40
40
  bandwidth: Math.abs(viewData[0][BinEndMeasureId] - viewData[0][BinStartMeasureId])
41
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.ts"],"sourcesContent":["import type { ICartesianSeries, IChart, IHistogramChartSpec, IVChart } from '@visactor/vchart'\nimport type { KDEOptions } from '@visactor/vutils'\nimport { isNullish, uniqueBy } from 'remeda'\nimport { kde, array } from '@visactor/vutils'\nimport { BinEndMeasureId, BinStartMeasureId } from 'src/dataReshape'\nimport type { Datum, Dimension, SpecPipe, Encoding, RegressionLineConfig, KdeRegressionLine } from 'src/types'\nimport { defaultRegressionLineColor, defaultRegressionLineLabelX, defaultRegressionLineLabelY } from './common'\n\nexport const kdeRegressionLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as IHistogramChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding = {} as Encoding, dimensions, regressionLine } = advancedVSeed\n const { dataset } = vseed\n const lineTheme = advancedVSeed.config[chartType as 'histogram']?.regressionLine as RegressionLineConfig\n\n if (!regressionLine || !regressionLine.kdeRegressionLine) {\n return result\n }\n\n const rowColumnFields = uniqueBy(\n dimensions.filter((dim: Dimension) => dim.encoding === 'row' || dim.encoding === 'column'),\n (item: Dimension) => item.id,\n )\n\n const lineList = array(regressionLine.kdeRegressionLine).filter((kdeLine) => kdeLine.enable !== false)\n\n if (!result.customMark) {\n result.customMark = []\n }\n\n lineList.forEach((line, lineIndex) => {\n const theme = (lineTheme.kdeRegressionLine ?? {}) as KdeRegressionLine\n const { color, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } = line as KdeRegressionLine\n\n const childrenMarks: any[] = []\n\n ;(result.customMark as any[]).push({\n type: 'group',\n interactive: false,\n zIndex: 500,\n name: `kdeRegressionLine-${lineIndex}`,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n const region = s.getRegion().getLayoutStartPoint()\n\n const fieldX = s.fieldX?.[0]\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return null\n }\n const simpleData = dataset\n .filter((entry: Datum) => {\n return rowColumnFields.length\n ? rowColumnFields.every((dim: Dimension) => {\n return entry[dim.id] === viewData[0][dim.id]\n })\n : true\n })\n .map((d: Datum) => (d as any)[encoding.value?.[0] as string]) as number[]\n const res = kde(simpleData, {\n bandwidth: Math.abs(viewData[0][BinEndMeasureId] - viewData[0][BinStartMeasureId]),\n } as KDEOptions)\n const N = Math.max(3, Math.floor(simpleData.length / 4))\n const lineData = res.evaluateGrid(N)\n const scaleR = (k: number) => {\n return scaleY.scale(k * simpleData.length * res.bandwidth)\n }\n\n const linePoints = lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x }\n return {\n x: s.dataToPositionX(d)! + region.x,\n y: scaleR(ld.y as number) + region.y,\n }\n })\n\n return {\n linePoints,\n color: color ?? s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n }\n }\n return null\n },\n },\n children: childrenMarks,\n })\n\n childrenMarks.push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n stroke: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return parentNode.attribute.data.linePoints\n }\n\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n childrenMarks.push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n style: {\n textAlign: 'end',\n fill: textColor ?? theme.textColor,\n fontSize: textFontSize ?? theme.textFontSize,\n fontWeight: textFontWeight ?? theme.textFontWeight,\n text: text,\n x: defaultRegressionLineLabelX,\n y: defaultRegressionLineLabelY,\n },\n })\n }\n })\n\n return result\n}\n"],"names":["kdeRegressionLine","spec","context","result","advancedVSeed","vseed","chartType","encoding","dimensions","regressionLine","dataset","lineTheme","rowColumnFields","uniqueBy","dim","item","lineList","array","kdeLine","line","lineIndex","theme","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","childrenMarks","datum","ctx","vchart","chart","series","s","region","fieldX","scaleY","viewData","simpleData","entry","d","res","kde","Math","BinEndMeasureId","BinStartMeasureId","N","lineData","scaleR","k","linePoints","ld","defaultRegressionLineColor","opt","parentNode","isNullish","defaultRegressionLineLabelX","defaultRegressionLineLabelY"],"mappings":";;;;AAQO,MAAMA,oBAA8B,CAACC,MAAMC;IAChD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,SAAS,EAAEC,WAAW,CAAC,CAAa,EAAEC,UAAU,EAAEC,cAAc,EAAE,GAAGL;IAC7E,MAAM,EAAEM,OAAO,EAAE,GAAGL;IACpB,MAAMM,YAAYP,cAAc,MAAM,CAACE,UAAyB,EAAE;IAElE,IAAI,CAACG,kBAAkB,CAACA,eAAe,iBAAiB,EACtD,OAAON;IAGT,MAAMS,kBAAkBC,SACtBL,WAAW,MAAM,CAAC,CAACM,MAAmBA,AAAiB,UAAjBA,IAAI,QAAQ,IAAcA,AAAiB,aAAjBA,IAAI,QAAQ,GAC5E,CAACC,OAAoBA,KAAK,EAAE;IAG9B,MAAMC,WAAWC,MAAMR,eAAe,iBAAiB,EAAE,MAAM,CAAC,CAACS,UAAYA,AAAmB,UAAnBA,QAAQ,MAAM;IAE3F,IAAI,CAACf,OAAO,UAAU,EACpBA,OAAO,UAAU,GAAG,EAAE;IAGxBa,SAAS,OAAO,CAAC,CAACG,MAAMC;QACtB,MAAMC,QAASV,UAAU,iBAAiB,IAAI,CAAC;QAC/C,MAAM,EAAEW,KAAK,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,SAAS,EAAEC,YAAY,EAAEC,cAAc,EAAE,GAAGT;QAEtF,MAAMU,gBAAuB,EAAE;QAE7B1B,OAAO,UAAU,CAAW,IAAI,CAAC;YACjC,MAAM;YACN,aAAa;YACb,QAAQ;YACR,MAAM,CAAC,kBAAkB,EAAEiB,WAAW;YACtC,OAAO;gBACL,MAAM,CAACU,OAAYC;oBACjB,MAAMC,SAASD,IAAI,MAAM;oBACzB,MAAME,QAAQD,OAAO,QAAQ;oBAC7B,MAAME,SAASD,MAAM,YAAY,GAAG,MAAM,CAAC,CAACE,IAAWA,AAAW,UAAXA,EAAE,IAAI;oBAG7D,IAAID,UAAUA,OAAO,MAAM,EAAE;wBAC3B,MAAMC,IAAID,MAAM,CAAC,EAAE;wBACnB,MAAME,SAASD,EAAE,SAAS,GAAG,mBAAmB;wBAEhD,MAAME,SAASF,EAAE,MAAM,EAAE,CAAC,EAAE;wBAC5B,MAAMG,SAASH,EAAE,cAAc,GAAG,QAAQ,GAAG;wBAC7C,MAAMI,WAAWJ,EAAE,WAAW,IAAI;wBAElC,IAAI,CAACzB,WAAW,CAACA,QAAQ,MAAM,IAAI,CAAC6B,YAAY,CAACA,SAAS,MAAM,IAAI,CAACD,QACnE,OAAO;wBAET,MAAME,aAAa9B,QAChB,MAAM,CAAC,CAAC+B,QACA7B,gBAAgB,MAAM,GACzBA,gBAAgB,KAAK,CAAC,CAACE,MACd2B,KAAK,CAAC3B,IAAI,EAAE,CAAC,KAAKyB,QAAQ,CAAC,EAAE,CAACzB,IAAI,EAAE,CAAC,IAE9C,MAEL,GAAG,CAAC,CAAC4B,IAAcA,CAAS,CAACnC,SAAS,KAAK,EAAE,CAAC,EAAE,CAAW;wBAC9D,MAAMoC,MAAMC,IAAIJ,YAAY;4BAC1B,WAAWK,KAAK,GAAG,CAACN,QAAQ,CAAC,EAAE,CAACO,gBAAgB,GAAGP,QAAQ,CAAC,EAAE,CAACQ,kBAAkB;wBACnF;wBACA,MAAMC,IAAIH,KAAK,GAAG,CAAC,GAAGA,KAAK,KAAK,CAACL,WAAW,MAAM,GAAG;wBACrD,MAAMS,WAAWN,IAAI,YAAY,CAACK;wBAClC,MAAME,SAAS,CAACC,IACPb,OAAO,KAAK,CAACa,IAAIX,WAAW,MAAM,GAAGG,IAAI,SAAS;wBAG3D,MAAMS,aAAaH,SAAS,GAAG,CAAC,CAACI;4BAC/B,MAAMX,IAAI;gCAAE,CAACL,OAAO,EAAEgB,GAAG,CAAC;4BAAC;4BAC3B,OAAO;gCACL,GAAGlB,EAAE,eAAe,CAACO,KAAMN,OAAO,CAAC;gCACnC,GAAGc,OAAOG,GAAG,CAAC,IAAcjB,OAAO,CAAC;4BACtC;wBACF;wBAEA,OAAO;4BACLgB;4BACA,OAAO9B,SAASa,EAAE,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,MAAMA,EAAE,aAAa,EAAE,CAAC,EAAE;wBACzF;oBACF;oBACA,OAAO;gBACT;YACF;YACA,UAAUN;QACZ;QAEAA,cAAc,IAAI,CAAC;YACjB,MAAM;YACN,aAAa;YACb,QAAQ;YACR,OAAO;gBACL,WAAWN,aAAaF,MAAM,SAAS;gBACvC,UAAUG,YAAYH,MAAM,QAAQ;gBACpC,QAAQC,SAASgC;gBACjB,QAAQ,CAACxB,OAAYC,KAAUwB;oBAC7B,MAAMC,aAAaD,IAAI,IAAI,EAAE,UAAU;oBAEvC,IAAIC,YAAY,WAAW,MAEzB,OAAOA,WAAW,SAAS,CAAC,IAAI,CAAC,UAAU;oBAG7C,OAAO,EAAE;gBACX;YACF;QACF;QAEA,IAAI,CAACC,UAAUhC,OACbI,cAAc,IAAI,CAAC;YACjB,MAAM;YACN,aAAa;YACb,QAAQ;YACR,OAAO;gBACL,WAAW;gBACX,MAAMH,aAAaL,MAAM,SAAS;gBAClC,UAAUM,gBAAgBN,MAAM,YAAY;gBAC5C,YAAYO,kBAAkBP,MAAM,cAAc;gBAClD,MAAMI;gBACN,GAAGiC;gBACH,GAAGC;YACL;QACF;IAEJ;IAEA,OAAOxD;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.ts"],"sourcesContent":["import type { ICartesianSeries, IChart, IHistogramChartSpec, IVChart } from '@visactor/vchart'\nimport type { KDEOptions } from '@visactor/vutils'\nimport { isNullish, uniqueBy } from 'remeda'\nimport { kde, array } from '@visactor/vutils'\nimport { BinEndMeasureId, BinStartMeasureId } from 'src/dataReshape'\nimport type { Datum, Dimension, VChartSpecPipe, Encoding, RegressionLineConfig, KdeRegressionLine } from 'src/types'\nimport { defaultRegressionLineColor, defaultRegressionLineLabelX, defaultRegressionLineLabelY } from './common'\n\nexport const kdeRegressionLine: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IHistogramChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding = {} as Encoding, dimensions, regressionLine } = advancedVSeed\n const { dataset } = vseed\n const lineTheme = advancedVSeed.config[chartType as 'histogram']?.regressionLine as RegressionLineConfig\n\n if (!regressionLine || !regressionLine.kdeRegressionLine) {\n return result\n }\n\n const rowColumnFields = uniqueBy(\n dimensions.filter((dim: Dimension) => dim.encoding === 'row' || dim.encoding === 'column'),\n (item: Dimension) => item.id,\n )\n\n const lineList = array(regressionLine.kdeRegressionLine).filter((kdeLine) => kdeLine.enable !== false)\n\n if (!result.customMark) {\n result.customMark = []\n }\n\n lineList.forEach((line, lineIndex) => {\n const theme = (lineTheme.kdeRegressionLine ?? {}) as KdeRegressionLine\n const { color, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } = line as KdeRegressionLine\n\n const childrenMarks: any[] = []\n\n ;(result.customMark as any[]).push({\n type: 'group',\n interactive: false,\n zIndex: 500,\n name: `kdeRegressionLine-${lineIndex}`,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n const region = s.getRegion().getLayoutStartPoint()\n\n const fieldX = s.fieldX?.[0]\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return null\n }\n const simpleData = dataset\n .filter((entry: Datum) => {\n return rowColumnFields.length\n ? rowColumnFields.every((dim: Dimension) => {\n return entry[dim.id] === viewData[0][dim.id]\n })\n : true\n })\n .map((d: Datum) => +(d as any)[encoding.value?.[0] as string])\n const res = kde(simpleData, {\n bandwidth: Math.abs(viewData[0][BinEndMeasureId] - viewData[0][BinStartMeasureId]),\n } as KDEOptions)\n const N = Math.max(3, Math.floor(simpleData.length / 4))\n const lineData = res.evaluateGrid(N)\n const scaleR = (k: number) => {\n return scaleY.scale(k * simpleData.length * res.bandwidth)\n }\n\n const linePoints = lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x }\n return {\n x: s.dataToPositionX(d)! + region.x,\n y: scaleR(ld.y as number) + region.y,\n }\n })\n\n return {\n linePoints,\n color: color ?? s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n }\n }\n return null\n },\n },\n children: childrenMarks,\n })\n\n childrenMarks.push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n stroke: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return parentNode.attribute.data.linePoints\n }\n\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n childrenMarks.push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n style: {\n textAlign: 'end',\n fill: textColor ?? theme.textColor,\n fontSize: textFontSize ?? theme.textFontSize,\n fontWeight: textFontWeight ?? theme.textFontWeight,\n text: text,\n x: defaultRegressionLineLabelX,\n y: defaultRegressionLineLabelY,\n },\n })\n }\n })\n\n return result\n}\n"],"names":["kdeRegressionLine","spec","context","result","advancedVSeed","vseed","chartType","encoding","dimensions","regressionLine","dataset","lineTheme","rowColumnFields","uniqueBy","dim","item","lineList","array","kdeLine","line","lineIndex","theme","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","childrenMarks","datum","ctx","vchart","chart","series","s","region","fieldX","scaleY","viewData","simpleData","entry","d","res","kde","Math","BinEndMeasureId","BinStartMeasureId","N","lineData","scaleR","k","linePoints","ld","defaultRegressionLineColor","opt","parentNode","isNullish","defaultRegressionLineLabelX","defaultRegressionLineLabelY"],"mappings":"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"}