@visactor/vseed 0.1.43 → 0.1.45

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 +4620 -0
  5. package/dist/esm/dataSelector/selector.d.ts +1 -1
  6. package/dist/esm/dataSelector/selector.js +1 -2
  7. package/dist/esm/dataSelector/selector.js.map +1 -1
  8. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js +2 -0
  9. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -1
  10. package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.d.ts +1 -0
  11. package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js +35 -2
  12. package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js.map +1 -1
  13. package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/regressionLine.js +1 -1
  14. package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/regressionLine.js.map +1 -1
  15. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js +22 -2
  16. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -1
  17. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js +22 -3
  18. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -1
  19. package/dist/esm/pipeline/advanced/table/pipeline/pivotTable.js +3 -2
  20. package/dist/esm/pipeline/advanced/table/pipeline/pivotTable.js.map +1 -1
  21. package/dist/esm/pipeline/advanced/table/pipeline/table.js +2 -1
  22. package/dist/esm/pipeline/advanced/table/pipeline/table.js.map +1 -1
  23. package/dist/esm/pipeline/advanced/table/pipes/{default/defaultMeasureName.d.ts → cellStyle/cellStyle.d.ts} +1 -1
  24. package/dist/esm/pipeline/advanced/table/pipes/cellStyle/cellStyle.js +16 -0
  25. package/dist/esm/pipeline/advanced/table/pipes/cellStyle/cellStyle.js.map +1 -0
  26. package/dist/esm/pipeline/advanced/table/pipes/cellStyle/index.d.ts +1 -0
  27. package/dist/esm/pipeline/advanced/table/pipes/cellStyle/index.js +2 -0
  28. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.d.ts +2 -0
  29. package/dist/esm/pipeline/advanced/table/pipes/default/{defaultMeasureName.js → defaultMeasureId.js} +5 -5
  30. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.js.map +1 -0
  31. package/dist/esm/pipeline/advanced/table/pipes/default/index.d.ts +1 -1
  32. package/dist/esm/pipeline/advanced/table/pipes/default/index.js +2 -2
  33. package/dist/esm/pipeline/advanced/table/pipes/index.d.ts +1 -0
  34. package/dist/esm/pipeline/advanced/table/pipes/index.js +1 -0
  35. package/dist/esm/pipeline/spec/chart/pipeline/area.js.map +1 -1
  36. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js.map +1 -1
  37. package/dist/esm/pipeline/spec/chart/pipeline/bar.d.ts +1 -2
  38. package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
  39. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.d.ts +1 -2
  40. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
  41. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.d.ts +1 -2
  42. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
  43. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.d.ts +1 -2
  44. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js.map +1 -1
  45. package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
  46. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.d.ts +1 -2
  47. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
  48. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.d.ts +1 -2
  49. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
  50. package/dist/esm/pipeline/spec/chart/pipeline/donut.d.ts +1 -2
  51. package/dist/esm/pipeline/spec/chart/pipeline/donut.js.map +1 -1
  52. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.d.ts +1 -2
  53. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
  54. package/dist/esm/pipeline/spec/chart/pipeline/funnel.d.ts +1 -2
  55. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js.map +1 -1
  56. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.d.ts +1 -2
  57. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js.map +1 -1
  58. package/dist/esm/pipeline/spec/chart/pipeline/histogram.d.ts +1 -2
  59. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
  60. package/dist/esm/pipeline/spec/chart/pipeline/line.d.ts +1 -2
  61. package/dist/esm/pipeline/spec/chart/pipeline/line.js.map +1 -1
  62. package/dist/esm/pipeline/spec/chart/pipeline/pie.d.ts +1 -2
  63. package/dist/esm/pipeline/spec/chart/pipeline/pie.js.map +1 -1
  64. package/dist/esm/pipeline/spec/chart/pipeline/radar.js.map +1 -1
  65. package/dist/esm/pipeline/spec/chart/pipeline/rose.js.map +1 -1
  66. package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.d.ts +1 -2
  67. package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.js.map +1 -1
  68. package/dist/esm/pipeline/spec/chart/pipeline/scatter.d.ts +1 -2
  69. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js.map +1 -1
  70. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationArea.d.ts +2 -2
  71. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationArea.js +16 -13
  72. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationArea.js.map +1 -1
  73. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.d.ts +2 -2
  74. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.js +14 -19
  75. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.js.map +1 -1
  76. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.d.ts +2 -2
  77. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js +6 -2
  78. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js.map +1 -1
  79. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPoint.d.ts +2 -2
  80. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPoint.js +2 -0
  81. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPoint.js.map +1 -1
  82. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.d.ts +2 -2
  83. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js +5 -1
  84. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js.map +1 -1
  85. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.d.ts +2 -2
  86. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js +26 -10
  87. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js.map +1 -1
  88. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.d.ts +34 -0
  89. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js +35 -1
  90. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js.map +1 -1
  91. package/dist/esm/pipeline/spec/chart/pipes/axes/radarAngle.d.ts +2 -2
  92. package/dist/esm/pipeline/spec/chart/pipes/axes/radarAngle.js.map +1 -1
  93. package/dist/esm/pipeline/spec/chart/pipes/axes/radarRadius.d.ts +2 -2
  94. package/dist/esm/pipeline/spec/chart/pipes/axes/radarRadius.js.map +1 -1
  95. package/dist/esm/pipeline/spec/chart/pipes/axes/radius.d.ts +2 -2
  96. package/dist/esm/pipeline/spec/chart/pipes/axes/radius.js.map +1 -1
  97. package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.d.ts +2 -2
  98. package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.js +2 -1
  99. package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.js.map +1 -1
  100. package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.d.ts +2 -2
  101. package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js +2 -1
  102. package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js.map +1 -1
  103. package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.d.ts +2 -2
  104. package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.js +2 -1
  105. package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.js.map +1 -1
  106. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.d.ts +2 -2
  107. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js +2 -1
  108. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js.map +1 -1
  109. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.d.ts +2 -2
  110. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js +2 -1
  111. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js.map +1 -1
  112. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.d.ts +2 -2
  113. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js +2 -1
  114. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js.map +1 -1
  115. package/dist/esm/pipeline/spec/chart/pipes/backgroundColor/background.d.ts +2 -2
  116. package/dist/esm/pipeline/spec/chart/pipes/backgroundColor/background.js.map +1 -1
  117. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.d.ts +2 -2
  118. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.js.map +1 -1
  119. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.d.ts +2 -2
  120. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.js.map +1 -1
  121. package/dist/esm/pipeline/spec/chart/pipes/color/color.d.ts +2 -2
  122. package/dist/esm/pipeline/spec/chart/pipes/color/color.js.map +1 -1
  123. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.d.ts +3 -2
  124. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js +3 -1
  125. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js.map +1 -1
  126. package/dist/esm/pipeline/spec/chart/pipes/color/colorAreaStyleFill.d.ts +2 -2
  127. package/dist/esm/pipeline/spec/chart/pipes/color/colorAreaStyleFill.js.map +1 -1
  128. package/dist/esm/pipeline/spec/chart/pipes/color/colorBarStyleFill.d.ts +2 -2
  129. package/dist/esm/pipeline/spec/chart/pipes/color/colorBarStyleFill.js.map +1 -1
  130. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.d.ts +2 -2
  131. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.js.map +1 -1
  132. package/dist/esm/pipeline/spec/chart/pipes/color/colorFunnelStyleFill.d.ts +2 -2
  133. package/dist/esm/pipeline/spec/chart/pipes/color/colorFunnelStyleFill.js.map +1 -1
  134. package/dist/esm/pipeline/spec/chart/pipes/color/colorLineStyleFill.d.ts +2 -2
  135. package/dist/esm/pipeline/spec/chart/pipes/color/colorLineStyleFill.js.map +1 -1
  136. package/dist/esm/pipeline/spec/chart/pipes/color/colorPieStyleFill.d.ts +2 -2
  137. package/dist/esm/pipeline/spec/chart/pipes/color/colorPieStyleFill.js.map +1 -1
  138. package/dist/esm/pipeline/spec/chart/pipes/color/colorPointStyleFill.d.ts +2 -2
  139. package/dist/esm/pipeline/spec/chart/pipes/color/colorPointStyleFill.js.map +1 -1
  140. package/dist/esm/pipeline/spec/chart/pipes/color/colorRoseStyleFill.d.ts +2 -2
  141. package/dist/esm/pipeline/spec/chart/pipes/color/colorRoseStyleFill.js.map +1 -1
  142. package/dist/esm/pipeline/spec/chart/pipes/color/linearColor.d.ts +2 -2
  143. package/dist/esm/pipeline/spec/chart/pipes/color/linearColor.js.map +1 -1
  144. package/dist/esm/pipeline/spec/chart/pipes/color/linearColorForDualAxis.d.ts +2 -2
  145. package/dist/esm/pipeline/spec/chart/pipes/color/linearColorForDualAxis.js.map +1 -1
  146. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairLine.d.ts +2 -2
  147. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairLine.js.map +1 -1
  148. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.d.ts +2 -2
  149. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.js.map +1 -1
  150. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairLine.d.ts +2 -2
  151. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairLine.js.map +1 -1
  152. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.d.ts +2 -2
  153. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.js.map +1 -1
  154. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.d.ts +2 -2
  155. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.js.map +1 -1
  156. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.d.ts +3 -3
  157. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.js.map +1 -1
  158. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.d.ts +2 -2
  159. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.js.map +1 -1
  160. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetPivot.d.ts +2 -2
  161. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetPivot.js.map +1 -1
  162. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetScatter.d.ts +2 -2
  163. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetScatter.js.map +1 -1
  164. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetXY.d.ts +2 -2
  165. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetXY.js.map +1 -1
  166. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetYX.d.ts +2 -2
  167. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetYX.js.map +1 -1
  168. package/dist/esm/pipeline/spec/chart/pipes/dataset/progressive.d.ts +2 -2
  169. package/dist/esm/pipeline/spec/chart/pipes/dataset/progressive.js.map +1 -1
  170. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.d.ts +3 -3
  171. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js.map +1 -1
  172. package/dist/esm/pipeline/spec/chart/pipes/init/area.d.ts +2 -2
  173. package/dist/esm/pipeline/spec/chart/pipes/init/area.js.map +1 -1
  174. package/dist/esm/pipeline/spec/chart/pipes/init/bar.d.ts +2 -2
  175. package/dist/esm/pipeline/spec/chart/pipes/init/bar.js.map +1 -1
  176. package/dist/esm/pipeline/spec/chart/pipes/init/barParallel.d.ts +2 -2
  177. package/dist/esm/pipeline/spec/chart/pipes/init/barParallel.js.map +1 -1
  178. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.d.ts +2 -2
  179. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js.map +1 -1
  180. package/dist/esm/pipeline/spec/chart/pipes/init/column.d.ts +2 -2
  181. package/dist/esm/pipeline/spec/chart/pipes/init/column.js.map +1 -1
  182. package/dist/esm/pipeline/spec/chart/pipes/init/columnParallel.d.ts +2 -2
  183. package/dist/esm/pipeline/spec/chart/pipes/init/columnParallel.js.map +1 -1
  184. package/dist/esm/pipeline/spec/chart/pipes/init/donut.d.ts +2 -2
  185. package/dist/esm/pipeline/spec/chart/pipes/init/donut.js.map +1 -1
  186. package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.d.ts +3 -3
  187. package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.js.map +1 -1
  188. package/dist/esm/pipeline/spec/chart/pipes/init/funnel.d.ts +2 -2
  189. package/dist/esm/pipeline/spec/chart/pipes/init/funnel.js.map +1 -1
  190. package/dist/esm/pipeline/spec/chart/pipes/init/heatmap.d.ts +2 -2
  191. package/dist/esm/pipeline/spec/chart/pipes/init/heatmap.js.map +1 -1
  192. package/dist/esm/pipeline/spec/chart/pipes/init/histogram.d.ts +2 -2
  193. package/dist/esm/pipeline/spec/chart/pipes/init/histogram.js +4 -0
  194. package/dist/esm/pipeline/spec/chart/pipes/init/histogram.js.map +1 -1
  195. package/dist/esm/pipeline/spec/chart/pipes/init/line.d.ts +2 -2
  196. package/dist/esm/pipeline/spec/chart/pipes/init/line.js.map +1 -1
  197. package/dist/esm/pipeline/spec/chart/pipes/init/pie.d.ts +2 -2
  198. package/dist/esm/pipeline/spec/chart/pipes/init/pie.js.map +1 -1
  199. package/dist/esm/pipeline/spec/chart/pipes/init/pivot.d.ts +2 -2
  200. package/dist/esm/pipeline/spec/chart/pipes/init/pivot.js.map +1 -1
  201. package/dist/esm/pipeline/spec/chart/pipes/init/radar.d.ts +2 -2
  202. package/dist/esm/pipeline/spec/chart/pipes/init/radar.js.map +1 -1
  203. package/dist/esm/pipeline/spec/chart/pipes/init/rose.d.ts +2 -2
  204. package/dist/esm/pipeline/spec/chart/pipes/init/rose.js.map +1 -1
  205. package/dist/esm/pipeline/spec/chart/pipes/init/roseParallel.d.ts +2 -2
  206. package/dist/esm/pipeline/spec/chart/pipes/init/roseParallel.js.map +1 -1
  207. package/dist/esm/pipeline/spec/chart/pipes/init/scatter.d.ts +2 -2
  208. package/dist/esm/pipeline/spec/chart/pipes/init/scatter.js.map +1 -1
  209. package/dist/esm/pipeline/spec/chart/pipes/label/label.d.ts +2 -2
  210. package/dist/esm/pipeline/spec/chart/pipes/label/label.js +2 -1
  211. package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
  212. package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.d.ts +3 -3
  213. package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.js.map +1 -1
  214. package/dist/esm/pipeline/spec/chart/pipes/label/labelPie.d.ts +2 -2
  215. package/dist/esm/pipeline/spec/chart/pipes/label/labelPie.js.map +1 -1
  216. package/dist/esm/pipeline/spec/chart/pipes/label/labelScatter.d.ts +2 -2
  217. package/dist/esm/pipeline/spec/chart/pipes/label/labelScatter.js.map +1 -1
  218. package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.d.ts +2 -2
  219. package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js +7 -0
  220. package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js.map +1 -1
  221. package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.d.ts +2 -2
  222. package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.js +19 -3
  223. package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.js.map +1 -1
  224. package/dist/esm/pipeline/spec/chart/pipes/legend/heatmapColorLegend.d.ts +2 -2
  225. package/dist/esm/pipeline/spec/chart/pipes/legend/heatmapColorLegend.js.map +1 -1
  226. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.d.ts +2 -2
  227. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js.map +1 -1
  228. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.d.ts +2 -2
  229. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.js +1 -0
  230. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.js.map +1 -1
  231. package/dist/esm/pipeline/spec/chart/pipes/markStyle/areaStyle.d.ts +2 -2
  232. package/dist/esm/pipeline/spec/chart/pipes/markStyle/areaStyle.js.map +1 -1
  233. package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.d.ts +2 -2
  234. package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.js +5 -7
  235. package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.js.map +1 -1
  236. package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.d.ts +2 -2
  237. package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.js.map +1 -1
  238. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelStyle.d.ts +2 -2
  239. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelStyle.js.map +1 -1
  240. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelTransformStyle.d.ts +2 -2
  241. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelTransformStyle.js.map +1 -1
  242. package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.d.ts +2 -2
  243. package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.js.map +1 -1
  244. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pieStyle.d.ts +2 -2
  245. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pieStyle.js.map +1 -1
  246. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointState.d.ts +3 -3
  247. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointState.js.map +1 -1
  248. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.d.ts +2 -2
  249. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.js.map +1 -1
  250. package/dist/esm/pipeline/spec/chart/pipes/markStyle/roseStyle.d.ts +2 -2
  251. package/dist/esm/pipeline/spec/chart/pipes/markStyle/roseStyle.js.map +1 -1
  252. package/dist/esm/pipeline/spec/chart/pipes/percent/percent.d.ts +2 -2
  253. package/dist/esm/pipeline/spec/chart/pipes/percent/percent.js.map +1 -1
  254. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.d.ts +2 -2
  255. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.js +4 -1
  256. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.js.map +1 -1
  257. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.d.ts +2 -2
  258. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js +23 -6
  259. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js.map +1 -1
  260. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.d.ts +2 -2
  261. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js.map +1 -1
  262. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.d.ts +2 -2
  263. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js +39 -34
  264. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js.map +1 -1
  265. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.d.ts +2 -2
  266. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.js.map +1 -1
  267. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.d.ts +4 -4
  268. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js +10 -3
  269. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js.map +1 -1
  270. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.d.ts +2 -2
  271. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js.map +1 -1
  272. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.d.ts +2 -2
  273. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js.map +1 -1
  274. package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.d.ts +2 -2
  275. package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.js.map +1 -1
  276. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.d.ts +2 -2
  277. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.js.map +1 -1
  278. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.d.ts +2 -2
  279. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js +2 -2
  280. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js.map +1 -1
  281. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.d.ts +2 -2
  282. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js +2 -2
  283. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js.map +1 -1
  284. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.d.ts +6 -6
  285. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js.map +1 -1
  286. package/dist/esm/pipeline/spec/chart/pipes/series/series.d.ts +3 -3
  287. package/dist/esm/pipeline/spec/chart/pipes/series/series.js.map +1 -1
  288. package/dist/esm/pipeline/spec/chart/pipes/size/scatterSize.d.ts +2 -2
  289. package/dist/esm/pipeline/spec/chart/pipes/size/scatterSize.js.map +1 -1
  290. package/dist/esm/pipeline/spec/chart/pipes/stack/stack.d.ts +2 -2
  291. package/dist/esm/pipeline/spec/chart/pipes/stack/stack.js.map +1 -1
  292. package/dist/esm/pipeline/spec/chart/pipes/stack/stackCornerRadius.d.ts +2 -2
  293. package/dist/esm/pipeline/spec/chart/pipes/stack/stackCornerRadius.js.map +1 -1
  294. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.d.ts +2 -2
  295. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js +4 -2
  296. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
  297. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.d.ts +2 -2
  298. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js +2 -0
  299. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js.map +1 -1
  300. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.d.ts +3 -3
  301. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js +2 -0
  302. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
  303. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.d.ts +2 -2
  304. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js +2 -0
  305. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js.map +1 -1
  306. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.d.ts +2 -2
  307. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js +2 -0
  308. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js.map +1 -1
  309. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.d.ts +2 -2
  310. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js +2 -0
  311. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
  312. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipStyle.d.ts +3 -0
  313. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipStyle.js +31 -0
  314. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipStyle.js.map +1 -0
  315. package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js +3 -2
  316. package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js.map +1 -1
  317. package/dist/esm/pipeline/spec/table/pipeline/table.js +3 -2
  318. package/dist/esm/pipeline/spec/table/pipeline/table.js.map +1 -1
  319. package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.d.ts +2 -0
  320. package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.js +14 -0
  321. package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.js.map +1 -0
  322. package/dist/esm/pipeline/spec/table/pipes/cellStyle/index.d.ts +2 -0
  323. package/dist/esm/pipeline/spec/table/pipes/cellStyle/index.js +2 -0
  324. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.d.ts +2 -0
  325. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js +49 -0
  326. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -0
  327. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.d.ts +2 -0
  328. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js +41 -0
  329. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js.map +1 -0
  330. package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.d.ts +2 -2
  331. package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.js.map +1 -1
  332. package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.d.ts +2 -2
  333. package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js.map +1 -1
  334. package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.d.ts +2 -2
  335. package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js.map +1 -1
  336. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.d.ts +2 -2
  337. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.js.map +1 -1
  338. package/dist/esm/pipeline/spec/table/pipes/index.d.ts +1 -0
  339. package/dist/esm/pipeline/spec/table/pipes/index.js +1 -0
  340. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.d.ts +2 -2
  341. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js.map +1 -1
  342. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.d.ts +2 -2
  343. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
  344. package/dist/esm/pipeline/spec/table/pipes/init/pivotTable.d.ts +2 -2
  345. package/dist/esm/pipeline/spec/table/pipes/init/pivotTable.js.map +1 -1
  346. package/dist/esm/pipeline/spec/table/pipes/init/table.d.ts +2 -2
  347. package/dist/esm/pipeline/spec/table/pipes/init/table.js.map +1 -1
  348. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.d.ts +2 -2
  349. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js +13 -3
  350. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js.map +1 -1
  351. package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.d.ts +2 -2
  352. package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.js.map +1 -1
  353. package/dist/esm/pipeline/spec/table/pipes/theme/cornerHeaderStyle.d.ts +2 -2
  354. package/dist/esm/pipeline/spec/table/pipes/theme/cornerHeaderStyle.js.map +1 -1
  355. package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.d.ts +2 -2
  356. package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.js.map +1 -1
  357. package/dist/esm/pipeline/spec/table/pipes/theme/headerStyle.d.ts +2 -2
  358. package/dist/esm/pipeline/spec/table/pipes/theme/headerStyle.js.map +1 -1
  359. package/dist/esm/pipeline/spec/table/pipes/theme/rowHeaderStyle.d.ts +2 -2
  360. package/dist/esm/pipeline/spec/table/pipes/theme/rowHeaderStyle.js.map +1 -1
  361. package/dist/esm/pipeline/spec/table/pipes/theme/scrollStyle.d.ts +2 -2
  362. package/dist/esm/pipeline/spec/table/pipes/theme/scrollStyle.js.map +1 -1
  363. package/dist/esm/pipeline/spec/table/pipes/theme/selectionStyle.d.ts +2 -2
  364. package/dist/esm/pipeline/spec/table/pipes/theme/selectionStyle.js.map +1 -1
  365. package/dist/esm/pipeline/utils/constant.d.ts +3 -1
  366. package/dist/esm/pipeline/utils/constant.js +4 -2
  367. package/dist/esm/pipeline/utils/constant.js.map +1 -1
  368. package/dist/esm/pipeline/utils/measures/depth.js.map +1 -1
  369. package/dist/esm/pipeline/utils/measures/find.js.map +1 -1
  370. package/dist/esm/pipeline/utils/tree/traverse.d.ts +1 -11
  371. package/dist/esm/pipeline/utils/tree/traverse.js +3 -4
  372. package/dist/esm/pipeline/utils/tree/traverse.js.map +1 -1
  373. package/dist/esm/theme/common/annotaion.js +7 -7
  374. package/dist/esm/theme/common/annotaion.js.map +1 -1
  375. package/dist/esm/theme/common/axes.js +18 -18
  376. package/dist/esm/theme/common/axes.js.map +1 -1
  377. package/dist/esm/theme/common/legend.d.ts +2 -0
  378. package/dist/esm/theme/common/legend.js +13 -2
  379. package/dist/esm/theme/common/legend.js.map +1 -1
  380. package/dist/esm/theme/common/table.d.ts +30 -22
  381. package/dist/esm/theme/common/table.js +10 -2
  382. package/dist/esm/theme/common/table.js.map +1 -1
  383. package/dist/esm/theme/common/tooltip.d.ts +3 -2
  384. package/dist/esm/theme/common/tooltip.js +24 -2
  385. package/dist/esm/theme/common/tooltip.js.map +1 -1
  386. package/dist/esm/theme/dark/dark.js +4 -4
  387. package/dist/esm/theme/dark/dark.js.map +1 -1
  388. package/dist/esm/theme/light/light.js +4 -4
  389. package/dist/esm/theme/light/light.js.map +1 -1
  390. package/dist/esm/types/advancedVSeed.d.ts +3522 -0
  391. package/dist/esm/types/advancedVSeed.js +2 -0
  392. package/dist/esm/types/advancedVSeed.js.map +1 -1
  393. package/dist/esm/types/chartType/area/zArea.d.ts +82 -0
  394. package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +82 -0
  395. package/dist/esm/types/chartType/bar/zBar.d.ts +82 -0
  396. package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +82 -0
  397. package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +82 -0
  398. package/dist/esm/types/chartType/boxplot/zBoxplot.d.ts +82 -0
  399. package/dist/esm/types/chartType/column/zColumn.d.ts +84 -0
  400. package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +82 -0
  401. package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +82 -0
  402. package/dist/esm/types/chartType/donut/zDonut.d.ts +82 -0
  403. package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +82 -0
  404. package/dist/esm/types/chartType/funnel/zFunnel.d.ts +80 -0
  405. package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +80 -0
  406. package/dist/esm/types/chartType/histogram/histogram.d.ts +2 -2
  407. package/dist/esm/types/chartType/histogram/zHistogram.d.ts +90 -4
  408. package/dist/esm/types/chartType/histogram/zHistogram.js +2 -2
  409. package/dist/esm/types/chartType/histogram/zHistogram.js.map +1 -1
  410. package/dist/esm/types/chartType/line/zLine.d.ts +82 -0
  411. package/dist/esm/types/chartType/pie/zPie.d.ts +82 -0
  412. package/dist/esm/types/chartType/pivotTable/pivotTable.d.ts +5 -1
  413. package/dist/esm/types/chartType/pivotTable/zPivotTable.d.ts +76 -0
  414. package/dist/esm/types/chartType/pivotTable/zPivotTable.js +2 -1
  415. package/dist/esm/types/chartType/pivotTable/zPivotTable.js.map +1 -1
  416. package/dist/esm/types/chartType/radar/zRadar.d.ts +82 -0
  417. package/dist/esm/types/chartType/rose/zRose.d.ts +82 -0
  418. package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +82 -0
  419. package/dist/esm/types/chartType/scatter/zScatter.d.ts +90 -0
  420. package/dist/esm/types/chartType/table/table.d.ts +5 -1
  421. package/dist/esm/types/chartType/table/zTable.d.ts +76 -0
  422. package/dist/esm/types/chartType/table/zTable.js +2 -1
  423. package/dist/esm/types/chartType/table/zTable.js.map +1 -1
  424. package/dist/esm/types/pipeline/spec/spec.d.ts +11 -2
  425. package/dist/esm/types/properties/cellStyle/bodyCellStyle.d.ts +138 -0
  426. package/dist/esm/types/properties/cellStyle/bodyCellStyle.js +16 -0
  427. package/dist/esm/types/properties/cellStyle/bodyCellStyle.js.map +1 -0
  428. package/dist/esm/types/properties/cellStyle/cellStyle.d.ts +80 -0
  429. package/dist/esm/types/properties/cellStyle/cellStyle.js +8 -0
  430. package/dist/esm/types/properties/cellStyle/cellStyle.js.map +1 -0
  431. package/dist/esm/types/properties/cellStyle/index.d.ts +1 -0
  432. package/dist/esm/types/properties/cellStyle/index.js +1 -0
  433. package/dist/esm/types/properties/config/area.d.ts +168 -0
  434. package/dist/esm/types/properties/config/bar.d.ts +252 -0
  435. package/dist/esm/types/properties/config/boxplot.d.ts +84 -0
  436. package/dist/esm/types/properties/config/column.d.ts +264 -0
  437. package/dist/esm/types/properties/config/config.d.ts +1716 -0
  438. package/dist/esm/types/properties/config/dualAxis.d.ts +84 -0
  439. package/dist/esm/types/properties/config/funnel.d.ts +84 -0
  440. package/dist/esm/types/properties/config/heatmap.d.ts +84 -0
  441. package/dist/esm/types/properties/config/histogram.d.ts +96 -0
  442. package/dist/esm/types/properties/config/label/label.d.ts +5 -0
  443. package/dist/esm/types/properties/config/label/zLabel.d.ts +69 -0
  444. package/dist/esm/types/properties/config/label/zLabel.js +6 -1
  445. package/dist/esm/types/properties/config/label/zLabel.js.map +1 -1
  446. package/dist/esm/types/properties/config/label/zPieLabel.d.ts +69 -0
  447. package/dist/esm/types/properties/config/legend/legend.d.ts +10 -0
  448. package/dist/esm/types/properties/config/legend/legend.js +2 -0
  449. package/dist/esm/types/properties/config/legend/legend.js.map +1 -1
  450. package/dist/esm/types/properties/config/line.d.ts +84 -0
  451. package/dist/esm/types/properties/config/pie.d.ts +252 -0
  452. package/dist/esm/types/properties/config/pivotGrid/pivotGrid.d.ts +2 -0
  453. package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js +3 -1
  454. package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js.map +1 -1
  455. package/dist/esm/types/properties/config/rose.d.ts +168 -0
  456. package/dist/esm/types/properties/config/scatter.d.ts +96 -0
  457. package/dist/esm/types/properties/config/tooltip/tooltip.d.ts +12 -0
  458. package/dist/esm/types/properties/config/tooltip/tooltip.js +12 -1
  459. package/dist/esm/types/properties/config/tooltip/tooltip.js.map +1 -1
  460. package/dist/esm/types/properties/index.d.ts +1 -0
  461. package/dist/esm/types/properties/index.js +1 -0
  462. package/dist/esm/types/properties/markStyle/barStyle.d.ts +5 -0
  463. package/dist/esm/types/properties/markStyle/barStyle.js.map +1 -1
  464. package/dist/esm/types/properties/regressionLine/ecdfRegressionLine.d.ts +4 -0
  465. package/dist/esm/types/properties/regressionLine/kdeRegressionLine.d.ts +4 -0
  466. package/dist/esm/types/properties/regressionLine/zRegressionLine.d.ts +18 -0
  467. package/dist/esm/types/properties/regressionLine/zRegressionLine.js +1 -0
  468. package/dist/esm/types/properties/regressionLine/zRegressionLine.js.map +1 -1
  469. package/dist/esm/types/properties/theme/customTheme.d.ts +3432 -0
  470. package/dist/esm/types/zVseed.d.ts +1926 -124
  471. package/dist/umd/index.js +884 -439
  472. package/dist/umd/index.js.map +1 -1
  473. package/package.json +5 -5
  474. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureName.js.map +0 -1
package/dist/umd/index.js CHANGED
@@ -107,7 +107,7 @@
107
107
  zColumnParallel: ()=>zColumnParallel,
108
108
  zDimensions: ()=>zDimensions,
109
109
  zLegend: ()=>zLegend,
110
- LINEAR_AXIS_INNER_OFFSET_TOP: ()=>7,
110
+ LINEAR_AXIS_INNER_OFFSET_TOP: ()=>12,
111
111
  replaceNullToUndefined: ()=>replaceNullToUndefined,
112
112
  zHeatmap: ()=>zHeatmap,
113
113
  FoldXMeasureId: ()=>FoldXMeasureId,
@@ -199,16 +199,18 @@
199
199
  zEcdfRegressionLine: ()=>zEcdfRegressionLine,
200
200
  zBarParallelConfig: ()=>zBarParallelConfig,
201
201
  lineAdvancedPipeline: ()=>lineAdvancedPipeline,
202
+ AXIS_LABEL_SPACE: ()=>8,
202
203
  FoldMeasureValue: ()=>FoldMeasureValue,
203
204
  ANNOTATION_Z_INDEX: ()=>1000,
204
205
  Q3MeasureValue: ()=>"__Q3__",
205
206
  createFormatter: ()=>createFormatter,
206
207
  columnPercentSpecPipeline: ()=>columnPercentSpecPipeline,
208
+ BAND_AXIS_INNER_OFFSET_IN_PIVOT: ()=>2,
207
209
  isMeasureSelector: ()=>isMeasureSelector,
208
210
  areaAdvancedPipeline: ()=>areaAdvancedPipeline,
211
+ zBarConfig: ()=>zBarConfig,
209
212
  areaPercentSpecPipeline: ()=>areaPercentSpecPipeline,
210
213
  barParallelSpecPipeline: ()=>barParallelSpecPipeline,
211
- zBarConfig: ()=>zBarConfig,
212
214
  zPie: ()=>zPie,
213
215
  zBar: ()=>zBar,
214
216
  pieAdvancedPipeline: ()=>pieAdvancedPipeline,
@@ -222,6 +224,7 @@
222
224
  zFunnelTransform: ()=>zFunnelTransform,
223
225
  zLinearRegressionLine: ()=>zLinearRegressionLine,
224
226
  zRoseConfig: ()=>zRoseConfig,
227
+ zBodyCellStyle: ()=>zBodyCellStyle,
225
228
  zScatterMeasures: ()=>zScatterMeasures,
226
229
  zAnnotation: ()=>zAnnotation,
227
230
  selector: ()=>selector_selector,
@@ -506,7 +509,7 @@
506
509
  next: t
507
510
  });
508
511
  }
509
- const preorderTraverse = (tree, callback)=>{
512
+ const preorderTraverse = (tree, callback, childrenKey = 'children')=>{
510
513
  if (!tree || 0 === tree.length) return;
511
514
  const stack = [
512
515
  ...tree
@@ -515,9 +518,8 @@
515
518
  const node = stack.pop();
516
519
  const stop = callback(node);
517
520
  if (true === stop) return;
518
- if (!('children' in node)) continue;
519
- const children = node.children;
520
- if (children && children.length > 0) for(let i = children.length - 1; i >= 0; i--){
521
+ const children = node[childrenKey];
522
+ if (Array.isArray(children) && children.length > 0) for(let i = children.length - 1; i >= 0; i--){
521
523
  const child = children[i];
522
524
  stack.push(child);
523
525
  }
@@ -892,14 +894,6 @@
892
894
  dimensions: newDimensions
893
895
  };
894
896
  };
895
- const records_records = (advancedVSeed, context)=>{
896
- const { vseed } = context;
897
- const { dataset } = vseed;
898
- return {
899
- ...advancedVSeed,
900
- dataset
901
- };
902
- };
903
897
  function chunk_2T7K3PFL_i(...e) {
904
898
  return chunk_WIMGWYZL_u(chunk_2T7K3PFL_o, e);
905
899
  }
@@ -908,6 +902,47 @@
908
902
  for (let n of s)n in e && (r[n] = e[n]);
909
903
  return r;
910
904
  }
905
+ function chunk_BZNENX2T_r(o) {
906
+ if ("object" != typeof o || null === o) return !1;
907
+ let e = Object.getPrototypeOf(o);
908
+ return null === e || e === Object.prototype;
909
+ }
910
+ function chunk_3ZJAREUD_i(...e) {
911
+ return chunk_WIMGWYZL_u(chunk_3ZJAREUD_o, e);
912
+ }
913
+ function chunk_3ZJAREUD_o(e, r) {
914
+ let a = {};
915
+ for (let [n, u] of Object.entries(e)){
916
+ let l = r(u, n, e);
917
+ a[n] = l;
918
+ }
919
+ return a;
920
+ }
921
+ const replaceNullToUndefined = (obj)=>{
922
+ if (null === obj) return;
923
+ if (Array.isArray(obj)) return obj.map(replaceNullToUndefined);
924
+ if (chunk_BZNENX2T_r(obj)) return C(obj, chunk_3ZJAREUD_i((value)=>replaceNullToUndefined(value)));
925
+ return obj;
926
+ };
927
+ const cellStyle_cellStyle = (advancedVSeed, context)=>{
928
+ const { vseed } = context;
929
+ const pickedCellStyle = chunk_2T7K3PFL_i(vseed, [
930
+ 'bodyCellStyle'
931
+ ]);
932
+ const style = replaceNullToUndefined(pickedCellStyle);
933
+ return {
934
+ ...advancedVSeed,
935
+ cellStyle: style
936
+ };
937
+ };
938
+ const records_records = (advancedVSeed, context)=>{
939
+ const { vseed } = context;
940
+ const { dataset } = vseed;
941
+ return {
942
+ ...advancedVSeed,
943
+ dataset
944
+ };
945
+ };
911
946
  const tableConfig_tableConfig = (advancedVSeed, context)=>{
912
947
  const { vseed } = context;
913
948
  const { chartType } = vseed;
@@ -935,11 +970,6 @@
935
970
  };
936
971
  return result;
937
972
  };
938
- function chunk_BZNENX2T_r(o) {
939
- if ("object" != typeof o || null === o) return !1;
940
- let e = Object.getPrototypeOf(o);
941
- return null === e || e === Object.prototype;
942
- }
943
973
  function D(...e) {
944
974
  return chunk_WIMGWYZL_u(chunk_PDQFB3TV_s, e);
945
975
  }
@@ -1010,6 +1040,7 @@
1010
1040
  initAdvancedVSeed,
1011
1041
  defaultMeasures_defaultMeasures,
1012
1042
  defaultDimensions,
1043
+ cellStyle_cellStyle,
1013
1044
  records_records,
1014
1045
  tableConfig_tableConfig,
1015
1046
  theme_theme
@@ -1344,6 +1375,170 @@
1344
1375
  };
1345
1376
  return result;
1346
1377
  };
1378
+ const isType_isType = (value, type)=>Object.prototype.toString.call(value) === `[object ${type}]`;
1379
+ const isType = isType_isType;
1380
+ const isArray_isArray = (value)=>Array.isArray ? Array.isArray(value) : isType(value, "Array");
1381
+ const common_isArray = isArray_isArray;
1382
+ const isValid = (value)=>null != value;
1383
+ const common_isValid = isValid;
1384
+ function array_array(arr) {
1385
+ return common_isValid(arr) ? common_isArray(arr) ? arr : [
1386
+ arr
1387
+ ] : [];
1388
+ }
1389
+ function chunk_AIG3BDKO_i(...e) {
1390
+ return chunk_WIMGWYZL_u(chunk_AIG3BDKO_n, e);
1391
+ }
1392
+ var chunk_AIG3BDKO_n = (e, r)=>e.length >= r;
1393
+ function chunk_KI5X74E2_y(...t) {
1394
+ return chunk_WIMGWYZL_u(chunk_KI5X74E2_f, t);
1395
+ }
1396
+ function chunk_KI5X74E2_f(t, e) {
1397
+ if (!chunk_AIG3BDKO_i(e, 1)) return {
1398
+ ...t
1399
+ };
1400
+ if (!chunk_AIG3BDKO_i(e, 2)) {
1401
+ let { [e[0]]: r, ...m } = t;
1402
+ return m;
1403
+ }
1404
+ let o = {
1405
+ ...t
1406
+ };
1407
+ for (let r of e)delete o[r];
1408
+ return o;
1409
+ }
1410
+ const selector_selector = (vchartDatum, selector, selectorMode = 'And')=>{
1411
+ if (!selector) return true;
1412
+ const vchartKeys = Object.keys(vchartDatum).filter((k)=>k.toLocaleLowerCase().startsWith('__vchart'));
1413
+ const datum = chunk_KI5X74E2_y(vchartDatum, vchartKeys);
1414
+ const selectors = Array.isArray(selector) ? selector : [
1415
+ selector
1416
+ ];
1417
+ return selectors['And' === selectorMode ? 'every' : 'some']((selector)=>{
1418
+ if (isValueSelector(selector)) {
1419
+ if (Object.values(datum).find((v)=>v === selector)) return true;
1420
+ } else if (isMeasureSelector(selector)) {
1421
+ const op = selector.operator || selector.op;
1422
+ const selectorValueArr = Array.isArray(selector.value) ? selector.value : [
1423
+ selector.value
1424
+ ];
1425
+ switch(op){
1426
+ case '=':
1427
+ if (String(datum[selector.field]) === String(selectorValueArr[0])) return true;
1428
+ break;
1429
+ case '==':
1430
+ if (datum[selector.field] === selectorValueArr[0]) return true;
1431
+ break;
1432
+ case '!=':
1433
+ if (datum[selector.field] !== selectorValueArr[0]) return true;
1434
+ break;
1435
+ case '>':
1436
+ if (datum[selector.field] > selectorValueArr[0]) return true;
1437
+ break;
1438
+ case '<':
1439
+ if (datum[selector.field] < selectorValueArr[0]) return true;
1440
+ break;
1441
+ case '>=':
1442
+ if (datum[selector.field] >= selectorValueArr[0]) return true;
1443
+ break;
1444
+ case '<=':
1445
+ if (datum[selector.field] <= selectorValueArr[0]) return true;
1446
+ break;
1447
+ case 'between':
1448
+ if (Array.isArray(selector.value) && datum[selector.field] >= selectorValueArr[0] && datum[selector.field] <= selectorValueArr[1]) return true;
1449
+ break;
1450
+ }
1451
+ } else if (isDimensionSelector(selector)) {
1452
+ const op = selector.operator || selector.op;
1453
+ const selectorValueArr = Array.isArray(selector.value) ? selector.value : [
1454
+ selector.value
1455
+ ];
1456
+ switch(op){
1457
+ case 'in':
1458
+ if (selectorValueArr.includes(datum[selector.field])) return true;
1459
+ break;
1460
+ case 'not in':
1461
+ if (!selectorValueArr.includes(datum[selector.field])) return true;
1462
+ break;
1463
+ }
1464
+ } else if (isPartialDatumSelector(selector)) {
1465
+ if (Object.keys(selector).every((key)=>datum[key] === selector[key])) return true;
1466
+ }
1467
+ return false;
1468
+ });
1469
+ };
1470
+ const isValueSelector = (selector)=>'string' == typeof selector || 'number' == typeof selector;
1471
+ const isPartialDatumSelector = (selector)=>'object' == typeof selector && null !== selector;
1472
+ const isMeasureSelector = (selector)=>'object' == typeof selector && null !== selector && 'field' in selector && ('operator' in selector || 'op' in selector) && 'value' in selector && ([
1473
+ '=',
1474
+ '==',
1475
+ '!=',
1476
+ '>',
1477
+ '<',
1478
+ '>=',
1479
+ '<=',
1480
+ 'between'
1481
+ ].includes(selector.operator) || [
1482
+ '=',
1483
+ '==',
1484
+ '!=',
1485
+ '>',
1486
+ '<',
1487
+ '>=',
1488
+ '<=',
1489
+ 'between'
1490
+ ].includes(selector.op));
1491
+ const isDimensionSelector = (selector)=>'object' == typeof selector && null !== selector && 'field' in selector && ('operator' in selector || 'op' in selector) && 'value' in selector && ([
1492
+ 'in',
1493
+ 'not in'
1494
+ ].includes(selector.operator) || [
1495
+ 'in',
1496
+ 'not in'
1497
+ ].includes(selector.op));
1498
+ const tableStyleMap = {
1499
+ backgroundColor: 'bgColor',
1500
+ textColor: 'color',
1501
+ textFontSize: 'fontSize',
1502
+ borderColor: 'borderColor',
1503
+ borderLineWidth: 'borderLineWidth'
1504
+ };
1505
+ const pickBodyCellStyle = (bodyCellStyle)=>Object.keys(tableStyleMap).reduce((acc, key)=>{
1506
+ if (key in bodyCellStyle) acc[tableStyleMap[key]] = bodyCellStyle[key];
1507
+ return acc;
1508
+ }, {});
1509
+ const tableBodyCell = (spec, context)=>{
1510
+ const { advancedVSeed } = context;
1511
+ const { cellStyle } = advancedVSeed;
1512
+ const bodyCellStyle = cellStyle?.bodyCellStyle;
1513
+ if (!bodyCellStyle) return spec;
1514
+ const bodyCellStyleList = array_array(bodyCellStyle);
1515
+ const columns = spec.columns || [];
1516
+ const setStyleOfColumn = (col)=>{
1517
+ const field = col.field;
1518
+ const matchedStyles = bodyCellStyleList.filter((style)=>{
1519
+ if (chunk_JK3VNB42_n(style.selector)) return true;
1520
+ const selectors = array_array(style.selector);
1521
+ return selectors.some((selector)=>chunk_BZNENX2T_r(selector) ? chunk_JK3VNB42_n(selector.field) || selector.field === field : chunk_6GTAPB47_e(selector) || chunk_SFZGYJFI_t(selector));
1522
+ });
1523
+ if (!matchedStyles.length) return false;
1524
+ col.style = (datum)=>{
1525
+ const originalDatum = {
1526
+ [field]: datum.dataValue
1527
+ };
1528
+ const mergedStyle = matchedStyles.reduce((result, style)=>{
1529
+ if (selector_selector(originalDatum, style.selector)) return {
1530
+ ...result,
1531
+ ...pickBodyCellStyle(style)
1532
+ };
1533
+ return result;
1534
+ }, {});
1535
+ return mergedStyle;
1536
+ };
1537
+ return false;
1538
+ };
1539
+ preorderTraverse(columns, setStyleOfColumn, 'columns');
1540
+ return spec;
1541
+ };
1347
1542
  const tableSpecPipeline = [
1348
1543
  initTable,
1349
1544
  dimensionTreeToColumns,
@@ -1351,7 +1546,8 @@
1351
1546
  bodyStyle,
1352
1547
  headerStyle,
1353
1548
  frameStyle,
1354
- selectionStyle
1549
+ selectionStyle,
1550
+ tableBodyCell
1355
1551
  ];
1356
1552
  const registerTable = ()=>{
1357
1553
  Builder._advancedPipelineMap.table = tableAdvancedPipeline;
@@ -1383,13 +1579,13 @@
1383
1579
  const BinEndMeasureId = '__BinEnd__';
1384
1580
  const BinCountMeasureId = '__BinCount__';
1385
1581
  const BinPercentageMeasureId = '__BinPercentage__';
1386
- const defaultMeasureName = (advancedVSeed)=>{
1582
+ const defaultMeasureId = (advancedVSeed)=>{
1387
1583
  const result = {
1388
1584
  ...advancedVSeed
1389
1585
  };
1390
1586
  const measures = findAllMeasures(advancedVSeed.measures);
1391
1587
  if (measures.length > 1 && !result.dimensions?.some((dim)=>dim.id === MeasureName)) result.dimensions?.push({
1392
- id: MeasureName,
1588
+ id: MeasureId,
1393
1589
  alias: intl.i18n`指标名称`,
1394
1590
  encoding: 'row'
1395
1591
  });
@@ -1441,27 +1637,6 @@
1441
1637
  encoding.tooltip = measures.map((item)=>item.id);
1442
1638
  encoding.detail = chunk_QJLMYOTX_i(measures.filter((item)=>'detail' === item.encoding || !item.encoding).map((item)=>item.id));
1443
1639
  };
1444
- function chunk_AIG3BDKO_i(...e) {
1445
- return chunk_WIMGWYZL_u(chunk_AIG3BDKO_n, e);
1446
- }
1447
- var chunk_AIG3BDKO_n = (e, r)=>e.length >= r;
1448
- function chunk_KI5X74E2_y(...t) {
1449
- return chunk_WIMGWYZL_u(chunk_KI5X74E2_f, t);
1450
- }
1451
- function chunk_KI5X74E2_f(t, e) {
1452
- if (!chunk_AIG3BDKO_i(e, 1)) return {
1453
- ...t
1454
- };
1455
- if (!chunk_AIG3BDKO_i(e, 2)) {
1456
- let { [e[0]]: r, ...m } = t;
1457
- return m;
1458
- }
1459
- let o = {
1460
- ...t
1461
- };
1462
- for (let r of e)delete o[r];
1463
- return o;
1464
- }
1465
1640
  const foldMeasures = (dataset, measures, options)=>{
1466
1641
  const { measureId, measureName, measureValue, colorMeasureId, allowEmptyFold = true, omitIds = [] } = options || {};
1467
1642
  const foldInfo = {
@@ -1579,7 +1754,8 @@
1579
1754
  initAdvancedVSeed,
1580
1755
  defaultMeasures_defaultMeasures,
1581
1756
  defaultDimensions,
1582
- defaultMeasureName,
1757
+ defaultMeasureId,
1758
+ cellStyle_cellStyle,
1583
1759
  encodingForPivotTable,
1584
1760
  reshapePivotTable,
1585
1761
  pivotTableConfig,
@@ -1644,15 +1820,23 @@
1644
1820
  const pivotRows = (spec, context)=>{
1645
1821
  const { advancedVSeed } = context;
1646
1822
  const dimensions = advancedVSeed.dimensions;
1647
- const { encoding } = advancedVSeed;
1823
+ const { encoding, measures } = advancedVSeed;
1648
1824
  const rows = dimensions.filter((item)=>encoding.row?.includes(item.id));
1825
+ const allMeasures = findAllMeasures(measures);
1649
1826
  return {
1650
1827
  ...spec,
1651
- rows: rows.map((item)=>({
1828
+ rows: rows.map((item)=>{
1829
+ const res = {
1652
1830
  dimensionKey: item.id,
1653
1831
  title: item.alias || item.id,
1654
1832
  width: 'auto'
1655
- }))
1833
+ };
1834
+ if (item.id === MeasureId) res.headerFormat = (measureId)=>{
1835
+ const measure = allMeasures.find((m)=>m.id === measureId);
1836
+ return measure?.alias ?? measureId;
1837
+ };
1838
+ return res;
1839
+ })
1656
1840
  };
1657
1841
  };
1658
1842
  const titleOnDimension = (spec)=>{
@@ -1795,6 +1979,47 @@
1795
1979
  };
1796
1980
  return result;
1797
1981
  };
1982
+ const pivotTableBodyCell = (spec, context)=>{
1983
+ const { advancedVSeed } = context;
1984
+ const { cellStyle } = advancedVSeed;
1985
+ const bodyCellStyle = cellStyle?.bodyCellStyle;
1986
+ if (!bodyCellStyle) return spec;
1987
+ const bodyCellStyleList = array_array(bodyCellStyle);
1988
+ const indicators = spec.indicators || [];
1989
+ const newIndicators = indicators.map((ind)=>{
1990
+ const newInd = chunk_SFZGYJFI_t(ind) ? {
1991
+ indicatorKey: ind
1992
+ } : ind;
1993
+ const { indicatorKey } = newInd;
1994
+ newInd.style = (datum)=>{
1995
+ const { dataValue, cellHeaderPaths } = datum;
1996
+ const headerPaths = [
1997
+ ...cellHeaderPaths.colHeaderPaths,
1998
+ ...cellHeaderPaths.rowHeaderPaths
1999
+ ];
2000
+ const originalDatum = {
2001
+ [indicatorKey]: dataValue
2002
+ };
2003
+ headerPaths.forEach((path)=>{
2004
+ if (path.dimensionKey) originalDatum[path.dimensionKey] = path.value;
2005
+ });
2006
+ if (!chunk_JK3VNB42_n(originalDatum[MeasureId]) && !chunk_JK3VNB42_n(originalDatum[FoldMeasureValue])) originalDatum[originalDatum[MeasureId]] = originalDatum[FoldMeasureValue];
2007
+ const mergedStyle = bodyCellStyleList.reduce((result, style)=>{
2008
+ if (selector_selector(originalDatum, style.selector)) return {
2009
+ ...result,
2010
+ ...pickBodyCellStyle(style)
2011
+ };
2012
+ return result;
2013
+ }, {});
2014
+ return mergedStyle;
2015
+ };
2016
+ return newInd;
2017
+ });
2018
+ return {
2019
+ ...spec,
2020
+ indicators: newIndicators
2021
+ };
2022
+ };
1798
2023
  const dataConfig = (spec, context)=>{
1799
2024
  const { advancedVSeed } = context;
1800
2025
  const measures = findAllMeasures(advancedVSeed.measures);
@@ -1822,7 +2047,8 @@
1822
2047
  cornerHeaderStyle,
1823
2048
  frameStyle,
1824
2049
  selectionStyle,
1825
- dataConfig
2050
+ dataConfig,
2051
+ pivotTableBodyCell
1826
2052
  ];
1827
2053
  const registerPivotTable = ()=>{
1828
2054
  Builder._advancedPipelineMap.pivotTable = pivotTableAdvancedPipeline;
@@ -1902,7 +2128,7 @@
1902
2128
  dimensions: newDimensions
1903
2129
  };
1904
2130
  };
1905
- const defaultMeasureId = (advancedVSeed)=>{
2131
+ const defaultMeasureId_defaultMeasureId = (advancedVSeed)=>{
1906
2132
  const result = {
1907
2133
  ...advancedVSeed
1908
2134
  };
@@ -2225,11 +2451,13 @@
2225
2451
  unfoldInfo
2226
2452
  };
2227
2453
  };
2228
- const colorAdapter = (ordinalPipe, linearPipe)=>(spec, context)=>{
2454
+ function colorAdapter(ordinalPipe, linearPipe) {
2455
+ return (spec, context)=>{
2229
2456
  const { advancedVSeed, vseed } = context;
2230
2457
  if (isLinearColor(advancedVSeed, vseed)) return linearPipe(spec, context);
2231
2458
  return ordinalPipe(spec, context);
2232
2459
  };
2460
+ }
2233
2461
  const isLinearColor = (advancedVSeed, vseed)=>{
2234
2462
  const { encoding } = advancedVSeed;
2235
2463
  const measures = vseed.measures || advancedVSeed.measures;
@@ -2376,23 +2604,6 @@
2376
2604
  result.analysis.orderMapping[colorId] = orderRes;
2377
2605
  return result;
2378
2606
  };
2379
- function chunk_3ZJAREUD_i(...e) {
2380
- return chunk_WIMGWYZL_u(chunk_3ZJAREUD_o, e);
2381
- }
2382
- function chunk_3ZJAREUD_o(e, r) {
2383
- let a = {};
2384
- for (let [n, u] of Object.entries(e)){
2385
- let l = r(u, n, e);
2386
- a[n] = l;
2387
- }
2388
- return a;
2389
- }
2390
- const replaceNullToUndefined = (obj)=>{
2391
- if (null === obj) return;
2392
- if (Array.isArray(obj)) return obj.map(replaceNullToUndefined);
2393
- if (chunk_BZNENX2T_r(obj)) return C(obj, chunk_3ZJAREUD_i((value)=>replaceNullToUndefined(value)));
2394
- return obj;
2395
- };
2396
2607
  const line_lineConfig = (advancedVSeed, context)=>{
2397
2608
  const { vseed } = context;
2398
2609
  const { chartType } = vseed;
@@ -2449,7 +2660,7 @@
2449
2660
  initAdvancedVSeed_initAdvancedVSeed,
2450
2661
  default_defaultMeasures_defaultMeasures,
2451
2662
  defaultDimensions_defaultDimensions,
2452
- defaultMeasureId,
2663
+ defaultMeasureId_defaultMeasureId,
2453
2664
  encodingAdapter([
2454
2665
  defaultEncodingForLine,
2455
2666
  buildMeasures
@@ -2771,6 +2982,7 @@
2771
2982
  max,
2772
2983
  min,
2773
2984
  label: {
2985
+ space: 8,
2774
2986
  visible: label?.visible,
2775
2987
  formatMethod: (value)=>{
2776
2988
  if (isBarPercent(vseed) || isColumnPercent(vseed) || isAreaPercent(vseed)) return createLinearPercentFormat(value, autoFormat, numFormat, formatter, percentFormatter);
@@ -2816,7 +3028,7 @@
2816
3028
  }
2817
3029
  },
2818
3030
  innerOffset: {
2819
- top: 7
3031
+ top: 12
2820
3032
  }
2821
3033
  };
2822
3034
  result.axes = [
@@ -2879,7 +3091,7 @@
2879
3091
  const baseConfig = advancedVSeed.config[chartType];
2880
3092
  if (!baseConfig || !baseConfig.legend) return result;
2881
3093
  const { legend } = baseConfig;
2882
- const { enable, position = 'bottom', labelFontColor, labelColor, labelFontSize = 12, labelFontWeight, maxSize = 1, border, shapeType = 'rectRound' } = legend || {};
3094
+ const { enable, position = 'bottom', labelFontColor, labelColor, labelFontSize = 12, pagerIconColor, pagerIconDisableColor, labelFontWeight, maxSize = 1, border, shapeType = 'rectRound' } = legend || {};
2883
3095
  const orient = [
2884
3096
  'bottom',
2885
3097
  'bottomLeft',
@@ -2918,6 +3130,7 @@
2918
3130
  'rt',
2919
3131
  'br'
2920
3132
  ].includes(position) ? 'end' : 'middle';
3133
+ const labelTextColor = labelColor || labelFontColor;
2921
3134
  result.legends = {
2922
3135
  type: 'discrete',
2923
3136
  visible: enable,
@@ -2931,7 +3144,7 @@
2931
3144
  maxWidth: '30%',
2932
3145
  focusIconStyle: {
2933
3146
  size: labelFontSize + 2,
2934
- fill: labelColor || labelFontColor,
3147
+ fill: labelTextColor,
2935
3148
  fontWeight: labelFontWeight
2936
3149
  },
2937
3150
  shape: {
@@ -2956,7 +3169,7 @@
2956
3169
  }
2957
3170
  },
2958
3171
  label: {
2959
- formatMethod: (value)=>unfoldInfo.colorIdMap[String(value)].alias ?? value,
3172
+ formatMethod: (value)=>unfoldInfo.colorIdMap[String(value)]?.alias ?? value,
2960
3173
  style: {
2961
3174
  fontSize: labelFontSize,
2962
3175
  fill: labelColor || labelFontColor,
@@ -2981,6 +3194,21 @@
2981
3194
  }
2982
3195
  }
2983
3196
  },
3197
+ pager: {
3198
+ textStyle: {
3199
+ fill: labelTextColor
3200
+ },
3201
+ handler: {
3202
+ style: {
3203
+ fill: pagerIconColor
3204
+ },
3205
+ state: {
3206
+ disable: {
3207
+ fill: pagerIconDisableColor
3208
+ }
3209
+ }
3210
+ }
3211
+ },
2984
3212
  padding: 0
2985
3213
  };
2986
3214
  return result;
@@ -3051,6 +3279,12 @@
3051
3279
  }
3052
3280
  }
3053
3281
  };
3282
+ const measures = findAllMeasures(advancedVSeed.measures);
3283
+ const colorMeasure = measures.find((m)=>'color' === m.encoding);
3284
+ if (colorMeasure) {
3285
+ const formatter = createFormatterByMeasure(colorMeasure);
3286
+ result.legends.handlerText.formatter = formatter;
3287
+ }
3054
3288
  return result;
3055
3289
  };
3056
3290
  const colorPointStyleFill = (stylePipe)=>(spec, context)=>{
@@ -3066,95 +3300,6 @@
3066
3300
  }
3067
3301
  return result;
3068
3302
  };
3069
- const selector_selector = (vchartDatum, selector)=>{
3070
- if (!selector) return true;
3071
- const selectorMode = 'And';
3072
- const vchartKeys = Object.keys(vchartDatum).filter((k)=>k.toLocaleLowerCase().startsWith('__vchart'));
3073
- const datum = chunk_KI5X74E2_y(vchartDatum, vchartKeys);
3074
- const selectors = Array.isArray(selector) ? selector : [
3075
- selector
3076
- ];
3077
- return selectors['And' === selectorMode ? 'every' : 'some']((selector)=>{
3078
- if (isValueSelector(selector)) {
3079
- if (Object.values(datum).find((v)=>v === selector)) return true;
3080
- } else if (isMeasureSelector(selector)) {
3081
- const op = selector.operator || selector.op;
3082
- const selectorValueArr = Array.isArray(selector.value) ? selector.value : [
3083
- selector.value
3084
- ];
3085
- switch(op){
3086
- case '=':
3087
- if (String(datum[selector.field]) === String(selectorValueArr[0])) return true;
3088
- break;
3089
- case '==':
3090
- if (datum[selector.field] === selectorValueArr[0]) return true;
3091
- break;
3092
- case '!=':
3093
- if (datum[selector.field] !== selectorValueArr[0]) return true;
3094
- break;
3095
- case '>':
3096
- if (datum[selector.field] > selectorValueArr[0]) return true;
3097
- break;
3098
- case '<':
3099
- if (datum[selector.field] < selectorValueArr[0]) return true;
3100
- break;
3101
- case '>=':
3102
- if (datum[selector.field] >= selectorValueArr[0]) return true;
3103
- break;
3104
- case '<=':
3105
- if (datum[selector.field] <= selectorValueArr[0]) return true;
3106
- break;
3107
- case 'between':
3108
- if (Array.isArray(selector.value) && datum[selector.field] >= selectorValueArr[0] && datum[selector.field] <= selectorValueArr[1]) return true;
3109
- break;
3110
- }
3111
- } else if (isDimensionSelector(selector)) {
3112
- const op = selector.operator || selector.op;
3113
- const selectorValueArr = Array.isArray(selector.value) ? selector.value : [
3114
- selector.value
3115
- ];
3116
- switch(op){
3117
- case 'in':
3118
- if (selectorValueArr.includes(datum[selector.field])) return true;
3119
- break;
3120
- case 'not in':
3121
- if (!selectorValueArr.includes(datum[selector.field])) return true;
3122
- break;
3123
- }
3124
- } else if (isPartialDatumSelector(selector)) {
3125
- if (Object.keys(selector).every((key)=>datum[key] === selector[key])) return true;
3126
- }
3127
- return false;
3128
- });
3129
- };
3130
- const isValueSelector = (selector)=>'string' == typeof selector || 'number' == typeof selector;
3131
- const isPartialDatumSelector = (selector)=>'object' == typeof selector && null !== selector;
3132
- const isMeasureSelector = (selector)=>'object' == typeof selector && null !== selector && 'field' in selector && ('operator' in selector || 'op' in selector) && 'value' in selector && ([
3133
- '=',
3134
- '==',
3135
- '!=',
3136
- '>',
3137
- '<',
3138
- '>=',
3139
- '<=',
3140
- 'between'
3141
- ].includes(selector.operator) || [
3142
- '=',
3143
- '==',
3144
- '!=',
3145
- '>',
3146
- '<',
3147
- '>=',
3148
- '<=',
3149
- 'between'
3150
- ].includes(selector.op));
3151
- const isDimensionSelector = (selector)=>'object' == typeof selector && null !== selector && 'field' in selector && ('operator' in selector || 'op' in selector) && 'value' in selector && ([
3152
- 'in',
3153
- 'not in'
3154
- ].includes(selector.operator) || [
3155
- 'in',
3156
- 'not in'
3157
- ].includes(selector.op));
3158
3303
  const pointStyle_pointStyle = (spec, context)=>{
3159
3304
  const { advancedVSeed } = context;
3160
3305
  const { markStyle } = advancedVSeed;
@@ -3388,7 +3533,7 @@
3388
3533
  const percentFormatter = createFormatter(percentFormat);
3389
3534
  const result = {
3390
3535
  visible: enable,
3391
- dataFilter: (data)=>data.filter((entry)=>entry.data?.[DATUM_HIDE_KEY] !== true),
3536
+ dataFilter: (data)=>data.filter((entry)=>entry.data?.[DATUM_HIDE_KEY] !== true && selector_selector(entry.data, label.selector, 'Or')),
3392
3537
  formatMethod: (_, datum)=>{
3393
3538
  const result = [];
3394
3539
  const dimLabels = labelDims.map((item)=>{
@@ -3427,6 +3572,34 @@
3427
3572
  };
3428
3573
  return result;
3429
3574
  };
3575
+ const getTooltipStyle = (tooltipConfig)=>({
3576
+ panel: {
3577
+ padding: tooltipConfig.padding,
3578
+ border: {
3579
+ radius: tooltipConfig.borderRadius,
3580
+ width: tooltipConfig.borderWidth,
3581
+ color: tooltipConfig.borderColor
3582
+ },
3583
+ backgroundColor: tooltipConfig.backgroundColor
3584
+ },
3585
+ keyLabel: {
3586
+ lineHeight: tooltipConfig.lineHeight,
3587
+ fontSize: tooltipConfig.fontSize,
3588
+ fontColor: tooltipConfig.keyColor
3589
+ },
3590
+ valueLabel: {
3591
+ lineHeight: tooltipConfig.lineHeight,
3592
+ fontSize: tooltipConfig.fontSize,
3593
+ fontColor: tooltipConfig.valueColor,
3594
+ fontWeight: 'medium'
3595
+ },
3596
+ titleLabel: {
3597
+ fontSize: tooltipConfig.fontSize,
3598
+ lineHeight: tooltipConfig.lineHeight,
3599
+ fontColor: tooltipConfig.titleColor,
3600
+ fontWeight: 'bold'
3601
+ }
3602
+ });
3430
3603
  const tooltip_tooltip = (spec, context)=>{
3431
3604
  const result = {
3432
3605
  ...spec
@@ -3437,10 +3610,11 @@
3437
3610
  const { tooltip = {
3438
3611
  enable: true
3439
3612
  } } = baseConfig;
3440
- const { enable } = tooltip;
3613
+ const { enable = true } = tooltip;
3441
3614
  const { foldInfo, unfoldInfo } = datasetReshapeInfo[0];
3442
3615
  result.tooltip = {
3443
- visible: enable,
3616
+ style: getTooltipStyle(tooltip),
3617
+ visible: !!enable,
3444
3618
  mark: {
3445
3619
  title: {
3446
3620
  visible: false
@@ -3548,6 +3722,40 @@
3548
3722
  if ('number' == typeof value) return obj[key] === value;
3549
3723
  return true;
3550
3724
  });
3725
+ const ANNOTATION_AREA_TEXT_STYLE_BY_POSITION = {
3726
+ top: {
3727
+ textAlign: 'center',
3728
+ textBaseline: 'top'
3729
+ },
3730
+ topRight: {
3731
+ textAlign: 'right',
3732
+ textBaseline: 'top'
3733
+ },
3734
+ topLeft: {
3735
+ textAlign: 'left',
3736
+ textBaseline: 'top'
3737
+ },
3738
+ bottom: {
3739
+ textAlign: 'center',
3740
+ textBaseline: 'bottom'
3741
+ },
3742
+ bottomLeft: {
3743
+ textAlign: 'left',
3744
+ textBaseline: 'bottom'
3745
+ },
3746
+ bottomRight: {
3747
+ textAlign: 'right',
3748
+ textBaseline: 'bottom'
3749
+ },
3750
+ left: {
3751
+ textAlign: 'left',
3752
+ textBaseline: 'middle'
3753
+ },
3754
+ right: {
3755
+ textAlign: 'right',
3756
+ textBaseline: 'middle'
3757
+ }
3758
+ };
3551
3759
  const annotationPoint_annotationPoint = (spec, context)=>{
3552
3760
  const { advancedVSeed, vseed } = context;
3553
3761
  const { annotation, config } = advancedVSeed;
@@ -3585,6 +3793,7 @@
3585
3793
  text: {
3586
3794
  text: text,
3587
3795
  style: {
3796
+ opacity: 0.95,
3588
3797
  visible: true,
3589
3798
  textAlign: textAlign,
3590
3799
  textBaseline: textBaseline,
@@ -3600,6 +3809,7 @@
3600
3809
  visible: textBackgroundVisible,
3601
3810
  padding: textBackgroundPadding,
3602
3811
  style: {
3812
+ opacity: 0.95,
3603
3813
  cornerRadius: textBackgroundBorderRadius ?? 4,
3604
3814
  fill: textBackgroundColor,
3605
3815
  stroke: textBackgroundBorderColor,
@@ -3642,7 +3852,8 @@
3642
3852
  const { selector: selectorPoint, xValue, text = '', textPosition = 'insideEnd', textColor = theme?.textColor ?? '#ffffff', textFontSize = theme?.textFontSize ?? 12, textFontWeight = theme?.textFontWeight ?? 400, textAlign = 'center', textBaseline = 'top', lineColor = theme?.lineColor ?? '#212121', lineStyle = theme?.lineStyle ?? 'dashed', lineVisible = theme?.lineStyle ?? true, lineWidth = theme?.lineWidth ?? 1, textBackgroundVisible = theme?.textBackgroundVisible ?? true, textBackgroundColor = theme?.textBackgroundColor ?? '#212121', textBackgroundBorderColor = theme?.textBackgroundBorderColor ?? '#212121', textBackgroundBorderRadius = theme?.textBackgroundBorderRadius ?? 4, textBackgroundBorderWidth = theme?.textBackgroundBorderWidth ?? 1, textBackgroundPadding = theme?.textBackgroundPadding ?? 2 } = annotationVerticalLine;
3643
3853
  const dataset = advancedVSeed.dataset.flat();
3644
3854
  const generateOneMarkLine = (x)=>({
3645
- x: x,
3855
+ x,
3856
+ autoRange: true,
3646
3857
  zIndex: 1000,
3647
3858
  line: {
3648
3859
  style: {
@@ -3662,9 +3873,11 @@
3662
3873
  }
3663
3874
  },
3664
3875
  label: {
3876
+ confine: true,
3665
3877
  text: text,
3666
3878
  position: positionMap[textPosition || 'insideEnd'],
3667
3879
  style: {
3880
+ opacity: 0.95,
3668
3881
  dx: 5,
3669
3882
  visible: true,
3670
3883
  stroke: textBackgroundColor,
@@ -3679,6 +3892,7 @@
3679
3892
  visible: textBackgroundVisible,
3680
3893
  padding: textBackgroundPadding,
3681
3894
  style: {
3895
+ opacity: 0.95,
3682
3896
  dx: 5,
3683
3897
  cornerRadius: textBackgroundBorderRadius,
3684
3898
  fill: textBackgroundColor,
@@ -3753,6 +3967,7 @@
3753
3967
  const dataset = advancedVSeed.dataset.flat();
3754
3968
  const generateOneMarkLine = (y)=>({
3755
3969
  y,
3970
+ autoRange: true,
3756
3971
  zIndex: 1000,
3757
3972
  line: {
3758
3973
  style: {
@@ -3771,9 +3986,11 @@
3771
3986
  }
3772
3987
  },
3773
3988
  label: {
3989
+ confine: true,
3774
3990
  text: text,
3775
3991
  position: positionMap[textPosition || 'insideEnd'],
3776
3992
  style: {
3993
+ opacity: 0.95,
3777
3994
  visible: true,
3778
3995
  dy: 4,
3779
3996
  stroke: textBackgroundColor,
@@ -3788,6 +4005,7 @@
3788
4005
  visible: textBackgroundVisible,
3789
4006
  padding: textBackgroundPadding,
3790
4007
  style: {
4008
+ opacity: 0.95,
3791
4009
  dy: 4,
3792
4010
  cornerRadius: textBackgroundBorderRadius,
3793
4011
  fill: textBackgroundColor,
@@ -3800,9 +4018,9 @@
3800
4018
  startSymbol: {
3801
4019
  visible: theme?.startSymbolVisible ?? true,
3802
4020
  symbolType: theme?.startSymbolType ?? 'triangleDown',
3803
- size: 5,
4021
+ size: 5 + (lineWidth || 1),
3804
4022
  style: {
3805
- dx: 0,
4023
+ dx: 3,
3806
4024
  fill: lineColor
3807
4025
  }
3808
4026
  },
@@ -3858,12 +4076,14 @@
3858
4076
  left: 'insideLeft',
3859
4077
  right: 'insideRight'
3860
4078
  };
4079
+ const defaultTextPosition = isBarLikeChart(advancedVSeed) ? 'right' : 'top';
3861
4080
  const markArea = annotationAreaList.flatMap((annotationArea)=>{
3862
- const { selector: selectorPoint, text = '', textPosition = 'top', textColor = theme?.textColor ?? '#ffffff', textFontSize = theme?.textFontSize ?? 12, textFontWeight = theme?.textFontWeight ?? 400, textAlign = 'center', textBaseline = 'top', textBackgroundVisible = theme?.textBackgroundVisible ?? true, textBackgroundColor = theme?.textBackgroundColor ?? '#191d24', textBackgroundBorderColor = theme?.textBackgroundBorderColor ?? '#191d24', textBackgroundBorderWidth = theme?.textBackgroundBorderWidth ?? 1, textBackgroundBorderRadius = theme?.textBackgroundBorderRadius ?? 4, textBackgroundPadding = theme?.textBackgroundPadding ?? 4, areaColor = theme?.areaColor ?? '#888888', areaColorOpacity = theme?.areaColorOpacity ?? 0.15, areaBorderColor = theme?.areaBorderColor ?? '#888888', areaBorderRadius = theme?.areaBorderRadius ?? 4, areaBorderWidth = theme?.areaBorderWidth ?? 1, areaLineDash = theme?.areaLineDash, outerPadding = theme?.outerPadding ?? 4 } = annotationArea;
4081
+ const { selector: selectorPoint, text = '', textColor = theme?.textColor ?? '#ffffff', textFontSize = theme?.textFontSize ?? 12, textFontWeight = theme?.textFontWeight ?? 400, textBackgroundVisible = theme?.textBackgroundVisible ?? true, textBackgroundColor = theme?.textBackgroundColor ?? '#191d24', textBackgroundBorderColor = theme?.textBackgroundBorderColor ?? '#191d24', textBackgroundBorderWidth = theme?.textBackgroundBorderWidth ?? 1, textBackgroundBorderRadius = theme?.textBackgroundBorderRadius ?? 4, textBackgroundPadding = theme?.textBackgroundPadding ?? 4, areaColor = theme?.areaColor ?? '#888888', areaColorOpacity = theme?.areaColorOpacity ?? 0.15, areaBorderColor = theme?.areaBorderColor ?? '#888888', areaBorderRadius = theme?.areaBorderRadius ?? 4, areaBorderWidth = theme?.areaBorderWidth ?? 1, areaLineDash = theme?.areaLineDash, outerPadding = theme?.outerPadding ?? 4 } = annotationArea;
3863
4082
  const dataset = advancedVSeed.dataset.flat();
3864
4083
  const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
3865
- const labelPosition = positionMap[textPosition || 'top'];
3866
- const isBottom = labelPosition.toLocaleLowerCase().includes('bottom');
4084
+ const textPosition = annotationArea.textPosition ?? defaultTextPosition;
4085
+ const textAlign = annotationArea.textAlign ?? ANNOTATION_AREA_TEXT_STYLE_BY_POSITION[textPosition].textAlign;
4086
+ const textBaseline = annotationArea.textBaseline ?? ANNOTATION_AREA_TEXT_STYLE_BY_POSITION[textPosition].textBaseline;
3867
4087
  return {
3868
4088
  zIndex: 1000,
3869
4089
  regionRelative: true,
@@ -3873,11 +4093,11 @@
3873
4093
  const yAxisHelper = context.getYAxisHelper();
3874
4094
  const xAxisHelper = context.getXAxisHelper();
3875
4095
  if ('function' == typeof xAxisHelper?.getBandwidth) {
3876
- const yScale = yAxisHelper.getScale();
4096
+ const regionRect = context.getRegion().getLayoutRect();
3877
4097
  const minX = Math.min(...xyList.map((item)=>item.x)) - (outerPadding || 4);
3878
4098
  const maxX = Math.max(...xyList.map((item)=>item.x)) + (outerPadding || 4);
3879
- const minY = Math.min(...yScale.range());
3880
- const maxY = Math.max(...yScale.range());
4099
+ const minY = 0;
4100
+ const maxY = regionRect.height;
3881
4101
  return [
3882
4102
  {
3883
4103
  x: minX,
@@ -3898,11 +4118,11 @@
3898
4118
  ];
3899
4119
  }
3900
4120
  if ('function' == typeof yAxisHelper?.getBandwidth) {
3901
- const xScale = xAxisHelper.getScale();
4121
+ const regionRect = context.getRegion().getLayoutRect();
3902
4122
  const minY = Math.min(...xyList.map((item)=>item.y)) - (outerPadding || 4);
3903
4123
  const maxY = Math.max(...xyList.map((item)=>item.y)) + (outerPadding || 4);
3904
- const minX = Math.min(...xScale.range());
3905
- const maxX = Math.max(...xScale.range());
4124
+ const minX = 0;
4125
+ const maxX = regionRect.width;
3906
4126
  return [
3907
4127
  {
3908
4128
  x: minX,
@@ -3925,11 +4145,11 @@
3925
4145
  return [];
3926
4146
  },
3927
4147
  label: {
3928
- position: labelPosition,
4148
+ position: positionMap[textPosition],
3929
4149
  visible: true,
3930
4150
  text: text,
3931
4151
  style: {
3932
- dy: isBottom ? 2 * -(textFontSize || 12) : 0,
4152
+ opacity: 0.95,
3933
4153
  textAlign: textAlign,
3934
4154
  textBaseline: textBaseline,
3935
4155
  fill: textColor,
@@ -3942,7 +4162,7 @@
3942
4162
  visible: textBackgroundVisible,
3943
4163
  padding: textBackgroundPadding,
3944
4164
  style: {
3945
- dy: isBottom ? 2 * -(textFontSize || 12) : 0,
4165
+ opacity: 0.95,
3946
4166
  cornerRadius: textBackgroundBorderRadius ?? 4,
3947
4167
  fill: textBackgroundColor,
3948
4168
  stroke: textBackgroundBorderColor,
@@ -3969,17 +4189,6 @@
3969
4189
  markArea: markArea
3970
4190
  };
3971
4191
  };
3972
- const isType_isType = (value, type)=>Object.prototype.toString.call(value) === `[object ${type}]`;
3973
- const isType = isType_isType;
3974
- const isArray_isArray = (value)=>Array.isArray ? Array.isArray(value) : isType(value, "Array");
3975
- const common_isArray = isArray_isArray;
3976
- const isValid = (value)=>null != value;
3977
- const common_isValid = isValid;
3978
- function array_array(arr) {
3979
- return common_isValid(arr) ? common_isArray(arr) ? arr : [
3980
- arr
3981
- ] : [];
3982
- }
3983
4192
  const isNumber = (value, fuzzy = !1)=>{
3984
4193
  const type = typeof value;
3985
4194
  return fuzzy ? "number" === type : "number" === type || isType(value, "Number");
@@ -4346,6 +4555,24 @@
4346
4555
  return this.formatHex();
4347
4556
  }
4348
4557
  }
4558
+ function clamper(a, b) {
4559
+ let t;
4560
+ return a > b && (t = a, a = b, b = t), (x)=>Math.max(a, Math.min(b, x));
4561
+ }
4562
+ const formatGradientStops = (stops)=>{
4563
+ const firstInvalidateIndex = stops.findIndex((stop)=>stop.offset < 0 || stop.offset > 1);
4564
+ if (firstInvalidateIndex >= 0) {
4565
+ if (stops[firstInvalidateIndex].offset > 1) {
4566
+ const newStops = stops.slice(0, firstInvalidateIndex + 1);
4567
+ newStops[newStops.length - 1].offset = 1;
4568
+ return newStops;
4569
+ }
4570
+ const newStops = stops.slice(firstInvalidateIndex + 1);
4571
+ newStops[0].offset = 0;
4572
+ return newStops;
4573
+ }
4574
+ return stops;
4575
+ };
4349
4576
  const splitLine = (spec, context)=>{
4350
4577
  const { advancedVSeed } = context;
4351
4578
  const { annotation, chartType, datasetReshapeInfo } = advancedVSeed;
@@ -4387,7 +4614,8 @@
4387
4614
  });
4388
4615
  });
4389
4616
  if (!points || !points.length) return;
4390
- const splitCoordinate = lineSeries.getYAxisHelper().getScale(0).scale(splitValue);
4617
+ const scale = lineSeries.getYAxisHelper().getScale(0);
4618
+ const splitCoordinate = scale.scale(splitValue);
4391
4619
  const minY = Math.min(...points.map((p)=>p.y));
4392
4620
  const maxY = Math.max(...points.map((p)=>p.y));
4393
4621
  const ratio = (splitCoordinate - minY) / (maxY - minY);
@@ -4397,7 +4625,7 @@
4397
4625
  x1: 0,
4398
4626
  y0: 0,
4399
4627
  y1: 1,
4400
- stops: [
4628
+ stops: formatGradientStops([
4401
4629
  {
4402
4630
  color: colorConfig.positiveColor,
4403
4631
  offset: 0
@@ -4414,7 +4642,7 @@
4414
4642
  color: colorConfig.negativeColor,
4415
4643
  offset: 1
4416
4644
  }
4417
- ]
4645
+ ])
4418
4646
  };
4419
4647
  const areaFill = {
4420
4648
  gradient: 'linear',
@@ -4422,7 +4650,7 @@
4422
4650
  x1: 0,
4423
4651
  y0: 0,
4424
4652
  y1: 1,
4425
- stops: [
4653
+ stops: formatGradientStops([
4426
4654
  {
4427
4655
  color: colorConfig.positiveColor,
4428
4656
  offset: 0
@@ -4439,7 +4667,7 @@
4439
4667
  color: colorConfig.negativeColor,
4440
4668
  offset: 1
4441
4669
  }
4442
- ]
4670
+ ])
4443
4671
  };
4444
4672
  const attrs = {
4445
4673
  segments: null,
@@ -4452,12 +4680,13 @@
4452
4680
  lineGraphics[0].setAttributes(attrs);
4453
4681
  lineGraphics[0].setFinalAttributes?.(attrs);
4454
4682
  const start = lineSeries.getRegion().getLayoutStartPoint();
4683
+ const range = scale.range();
4455
4684
  return {
4456
4685
  points: points.map((entry)=>({
4457
4686
  x: entry.x + start.x,
4458
4687
  y: entry.y + start.y
4459
4688
  })),
4460
- splitCoordinate,
4689
+ splitCoordinate: clamper(range[0], range[range.length - 1])(splitCoordinate) + start.y,
4461
4690
  areaFill,
4462
4691
  lineStroke
4463
4692
  };
@@ -4501,11 +4730,11 @@
4501
4730
  if (!seriesSpec.point.style) seriesSpec.point.style = {};
4502
4731
  if (!seriesSpec.line.style) seriesSpec.line.style = {};
4503
4732
  const measureValueKey = datasetReshapeInfo[0].foldInfo.measureValue;
4504
- seriesSpec.point.style.fill = (datum)=>datum?.[measureValueKey] >= splitValue ? colorConfig.positiveColor : colorConfig.negativeColor;
4505
- seriesSpec.line.style.stroke = (datum)=>datum?.[measureValueKey] >= splitValue ? colorConfig.positiveColor : colorConfig.negativeColor;
4733
+ seriesSpec.point.style.fill = (datum)=>datum?.[measureValueKey] < splitValue ? colorConfig.negativeColor : colorConfig.positiveColor;
4734
+ seriesSpec.line.style.stroke = (datum)=>datum?.[measureValueKey] < splitValue ? colorConfig.negativeColor : colorConfig.positiveColor;
4506
4735
  if (seriesSpec.label && seriesSpec.label.visible && chunk_JK3VNB42_n(seriesSpec.label.style?.fill)) seriesSpec.label.style = {
4507
4736
  ...seriesSpec.label.style,
4508
- fill: (datum)=>datum?.[measureValueKey] >= splitValue ? colorConfig.positiveColor : colorConfig.negativeColor
4737
+ fill: (datum)=>datum?.[measureValueKey] < splitValue ? colorConfig.negativeColor : colorConfig.positiveColor
4509
4738
  };
4510
4739
  }
4511
4740
  return result;
@@ -4552,14 +4781,13 @@
4552
4781
  };
4553
4782
  const pivotGridStyle = (spec, context)=>{
4554
4783
  const { vseed, advancedVSeed } = context;
4555
- const { config, chartType, dimensions } = advancedVSeed;
4784
+ const { config, chartType } = advancedVSeed;
4556
4785
  const themConfig = config?.[chartType]?.pivotGrid ?? {};
4557
4786
  const onlyCombination = !isPivot(vseed) && isCombination(vseed);
4558
4787
  const result = {
4559
4788
  ...spec
4560
4789
  };
4561
4790
  const transparent = 'rgba(0,0,0,0)';
4562
- const hasColumnDimension = dimensions.some((dim)=>'column' === dim.encoding);
4563
4791
  const borderColor = themConfig.borderColor ?? '#e3e5eb';
4564
4792
  const bodyFontColor = themConfig.bodyFontColor ?? '#141414';
4565
4793
  const headerFontColor = themConfig.headerFontColor ?? '#21252c';
@@ -4577,12 +4805,15 @@
4577
4805
  bodyStyle: {
4578
4806
  borderColor,
4579
4807
  color: bodyFontColor,
4580
- borderLineWidth: (arg)=>[
4808
+ borderLineWidth: (arg)=>{
4809
+ const noYAxis = 'pie' === chartType || 'rose' === chartType || 'donut' === chartType || 'funnel' === chartType || 'radar' === chartType || 'roseParallel' === chartType;
4810
+ return [
4581
4811
  0 === arg.row ? outlineBorderLineWidth : 1,
4582
4812
  outlineBorderLineWidth,
4583
4813
  0,
4584
- 0 === arg.col ? outlineBorderLineWidth : 1
4585
- ],
4814
+ 0 === arg.col || noYAxis && 1 === arg.col ? outlineBorderLineWidth : 1
4815
+ ];
4816
+ },
4586
4817
  bgColor: transparent,
4587
4818
  hover: {
4588
4819
  cellBgColor: 'transparent'
@@ -4612,7 +4843,7 @@
4612
4843
  color: headerFontColor,
4613
4844
  padding: [
4614
4845
  0,
4615
- 4,
4846
+ 12,
4616
4847
  0,
4617
4848
  4
4618
4849
  ],
@@ -4636,7 +4867,7 @@
4636
4867
  color: headerFontColor,
4637
4868
  padding: [
4638
4869
  0,
4639
- 4,
4870
+ 12,
4640
4871
  0,
4641
4872
  4
4642
4873
  ],
@@ -4657,23 +4888,6 @@
4657
4888
  inlineColumnBgColor: hoverHeaderInlineBackgroundColor || void 0
4658
4889
  }
4659
4890
  },
4660
- cornerRightTopCellStyle: {
4661
- borderColor,
4662
- borderLineWidth: 0,
4663
- frameStyle: {
4664
- borderColor,
4665
- borderLineWidth: [
4666
- outlineBorderLineWidth,
4667
- outlineBorderLineWidth,
4668
- 1,
4669
- 1
4670
- ]
4671
- },
4672
- bgColor: headerBackgroundColor,
4673
- hover: {
4674
- cellBgColor: hoverHeaderBackgroundColor
4675
- }
4676
- },
4677
4891
  cornerLeftBottomCellStyle: {
4678
4892
  borderColor,
4679
4893
  borderLineWidth: [
@@ -4696,24 +4910,19 @@
4696
4910
  cellBgColor: hoverHeaderBackgroundColor
4697
4911
  }
4698
4912
  },
4699
- cornerRightBottomCellStyle: {
4913
+ cornerRightTopCellStyle: {
4700
4914
  borderColor,
4701
- bgColor: headerBackgroundColor,
4702
4915
  borderLineWidth: [
4703
- 1,
4704
4916
  outlineBorderLineWidth,
4705
4917
  outlineBorderLineWidth,
4918
+ 1,
4706
4919
  1
4707
4920
  ],
4708
4921
  frameStyle: {
4709
4922
  borderColor,
4710
- borderLineWidth: [
4711
- 1,
4712
- outlineBorderLineWidth,
4713
- outlineBorderLineWidth,
4714
- 1
4715
- ]
4923
+ borderLineWidth: 0
4716
4924
  },
4925
+ bgColor: headerBackgroundColor,
4717
4926
  hover: {
4718
4927
  cellBgColor: hoverHeaderBackgroundColor
4719
4928
  }
@@ -4722,16 +4931,41 @@
4722
4931
  borderColor,
4723
4932
  bgColor: headerBackgroundColor,
4724
4933
  borderLineWidth: (arg)=>[
4725
- 0 === arg.row || hasColumnDimension && 1 === arg.row ? outlineBorderLineWidth : 1,
4934
+ 0 === arg.row ? outlineBorderLineWidth : 1,
4726
4935
  outlineBorderLineWidth,
4727
4936
  0,
4728
4937
  1
4729
4938
  ],
4939
+ frameStyle: {
4940
+ borderLineWidth: 0
4941
+ },
4730
4942
  hover: {
4731
4943
  borderLineWidth: 0,
4732
4944
  cellBgColor: hoverHeaderBackgroundColor
4733
4945
  }
4734
4946
  },
4947
+ cornerRightBottomCellStyle: {
4948
+ borderColor,
4949
+ bgColor: headerBackgroundColor,
4950
+ borderLineWidth: [
4951
+ 1,
4952
+ outlineBorderLineWidth,
4953
+ outlineBorderLineWidth,
4954
+ 1
4955
+ ],
4956
+ frameStyle: {
4957
+ borderColor,
4958
+ borderLineWidth: [
4959
+ 1,
4960
+ outlineBorderLineWidth,
4961
+ outlineBorderLineWidth,
4962
+ 1
4963
+ ]
4964
+ },
4965
+ hover: {
4966
+ cellBgColor: hoverHeaderBackgroundColor
4967
+ }
4968
+ },
4735
4969
  bottomFrozenStyle: {
4736
4970
  borderColor,
4737
4971
  borderLineWidth: [
@@ -4762,10 +4996,13 @@
4762
4996
  ...spec
4763
4997
  };
4764
4998
  const { advancedVSeed } = context;
4765
- const { measures, datasetReshapeInfo, dataset } = advancedVSeed;
4999
+ const { measures, datasetReshapeInfo, dataset, encoding } = advancedVSeed;
4766
5000
  const colorItems = chunk_QJLMYOTX_i(datasetReshapeInfo.flatMap((d)=>d.unfoldInfo.colorItems));
5001
+ const allMeasureIds = chunk_QJLMYOTX_i(datasetReshapeInfo.flatMap((d)=>Object.keys(d.foldInfo.foldMap || {})));
4767
5002
  const indicators = datasetReshapeInfo.map((reshapeInfo, index)=>{
4768
- const measure = measures?.find((d)=>d.id === reshapeInfo.id);
5003
+ const measureGroup = measures?.find((d)=>d.id === reshapeInfo.id);
5004
+ const subMeasuresId = (measureGroup?.children || []).map((d)=>d.id);
5005
+ const invalideMeasuresIds = allMeasureIds.filter((id)=>!subMeasuresId.includes(id));
4769
5006
  const newDataset = dataset[index];
4770
5007
  const newDatasetReshapeInfo = [
4771
5008
  {
@@ -4781,13 +5018,17 @@
4781
5018
  advancedVSeed: {
4782
5019
  ...advancedVSeed,
4783
5020
  datasetReshapeInfo: newDatasetReshapeInfo,
5021
+ encoding: Object.keys(encoding).reduce((res, key)=>{
5022
+ res[key] = encoding[key]?.filter((e)=>!invalideMeasuresIds.includes(e));
5023
+ return res;
5024
+ }, {}),
4784
5025
  dataset: newDataset
4785
5026
  }
4786
5027
  };
4787
5028
  const chartSpec = execPipeline(chartPipeline, newContext, {});
4788
5029
  return {
4789
5030
  indicatorKey: reshapeInfo.id,
4790
- title: measure?.alias,
5031
+ title: measureGroup?.alias,
4791
5032
  cellType: 'chart',
4792
5033
  chartModule: 'vchart',
4793
5034
  chartSpec: chartSpec,
@@ -4842,12 +5083,28 @@
4842
5083
  };
4843
5084
  const pivotAxisStyle = (axisStyle)=>(spec, context)=>{
4844
5085
  const result = axisStyle(spec, context);
4845
- if (result.axes) result.axes.forEach((axis)=>{
4846
- axis.domainLine = {
4847
- visible: false
4848
- };
4849
- if (axis.grid && axis.grid.visible && axis.grid.style) axis.grid.style.strokeOpacity = 0.3;
4850
- });
5086
+ if (result.axes) {
5087
+ const { advancedVSeed } = context;
5088
+ const { config, chartType } = advancedVSeed;
5089
+ const themConfig = config?.[chartType]?.pivotGrid ?? {};
5090
+ result.axes.forEach((axis)=>{
5091
+ axis.domainLine = {
5092
+ visible: false
5093
+ };
5094
+ if (themConfig.chartGridColor && axis.grid && axis.grid.visible && axis.grid.style) axis.grid.style.stroke = themConfig.chartGridColor;
5095
+ if (themConfig.axisLabelColor && axis.label && axis.label.visible && axis.label.style) axis.label.style.fill = themConfig.axisLabelColor;
5096
+ if ('band' === axis.type) {
5097
+ if ('left' === axis.orient || 'right' === axis.orient) axis.innerOffset = {
5098
+ top: 2,
5099
+ bottom: 2
5100
+ };
5101
+ else if ('top' === axis.orient || 'bottom' === axis.orient) axis.innerOffset = {
5102
+ left: 2,
5103
+ right: 2
5104
+ };
5105
+ }
5106
+ });
5107
+ }
4851
5108
  return result;
4852
5109
  };
4853
5110
  const pivotRowDimensions = (spec, context)=>{
@@ -4966,6 +5223,7 @@
4966
5223
  'br'
4967
5224
  ].includes(position) ? 'end' : 'middle';
4968
5225
  const legends = {
5226
+ padding: 0,
4969
5227
  visible: enable,
4970
5228
  type: 'discrete',
4971
5229
  orient,
@@ -5103,12 +5361,15 @@
5103
5361
  legends
5104
5362
  };
5105
5363
  };
5106
- const pivotAdapter_pivotAdapter = (pipeline, pivotPipeline)=>(spec, context)=>{
5364
+ const pivotAdapter_pivotAdapter = (pipeline, pivotPipeline)=>{
5365
+ const adapted = (spec, context)=>{
5107
5366
  const { vseed } = context;
5108
5367
  const usePivotChart = isPivotChart(vseed);
5109
5368
  if (usePivotChart) return execPipeline(pivotPipeline, context, spec);
5110
5369
  return execPipeline(pipeline, context, spec);
5111
5370
  };
5371
+ return adapted;
5372
+ };
5112
5373
  const line_line = [
5113
5374
  initLine,
5114
5375
  colorAdapter(color_color, linearColor),
@@ -5286,7 +5547,7 @@
5286
5547
  keys.forEach((key)=>{
5287
5548
  if (vseed[key]) {
5288
5549
  hasLine = true;
5289
- regressionLineConfig[key] = true === vseed[key] ? {} : vseed[key];
5550
+ regressionLineConfig[key] = vseed[key];
5290
5551
  }
5291
5552
  });
5292
5553
  return hasLine ? {
@@ -5300,7 +5561,7 @@
5300
5561
  initAdvancedVSeed_initAdvancedVSeed,
5301
5562
  default_defaultMeasures_defaultMeasures,
5302
5563
  defaultDimensions_defaultDimensions,
5303
- defaultMeasureId,
5564
+ defaultMeasureId_defaultMeasureId,
5304
5565
  encodingAdapter([
5305
5566
  defaultEncodingForColumn,
5306
5567
  buildMeasures
@@ -5458,7 +5719,7 @@
5458
5719
  barStyle
5459
5720
  ];
5460
5721
  const customMap = barStyles.reduce((result, style, index)=>{
5461
- const { barBorderColor, barBorderStyle, barBorderWidth = 1, barColor, barColorOpacity, barRadius, barVisible = true } = style;
5722
+ const { barBorderColor, barBorderStyle, barBorderWidth = 1, barColor, barColorOpacity, barBorderOpacity, barRadius, barVisible = true } = style;
5462
5723
  const lineDash = 'dashed' === barBorderStyle ? [
5463
5724
  5,
5464
5725
  2
@@ -5482,12 +5743,10 @@
5482
5743
  fill: barColor,
5483
5744
  fillOpacity: barColorOpacity,
5484
5745
  cornerRadius: barRadius,
5485
- innerBorder: {
5486
- stroke: barBorderColor,
5487
- lineWidth: barBorderWidth,
5488
- distance: (barBorderWidth || 0) / 2,
5489
- lineDash: lineDash
5490
- }
5746
+ lineWidth: barBorderWidth,
5747
+ stroke: barBorderColor,
5748
+ strokeOpacity: barBorderOpacity,
5749
+ lineDash: lineDash
5491
5750
  }
5492
5751
  }
5493
5752
  };
@@ -5517,17 +5776,12 @@
5517
5776
  left: 'insideLeft',
5518
5777
  right: 'insideRight'
5519
5778
  };
5520
- const defaultOptions = isBarLikeChart(advancedVSeed) ? {
5521
- textPosition: 'right',
5522
- textAlign: 'right'
5523
- } : {
5524
- textPosition: 'top',
5525
- textAlign: 'center'
5526
- };
5779
+ const defaultTextPosition = isBarLikeChart(advancedVSeed) ? 'right' : 'top';
5527
5780
  const markArea = annotationAreaList.flatMap((annotationArea)=>{
5528
- const { selector: selectorPoint, text = '', textColor = theme?.textColor ?? '#ffffff', textFontSize = theme?.textFontSize ?? 12, textFontWeight = theme?.textFontWeight ?? 400, textAlign = defaultOptions.textAlign, textBaseline = 'middle', textBackgroundVisible = theme?.textBackgroundVisible ?? true, textBackgroundColor = theme?.textBackgroundColor ?? '#191d24', textBackgroundBorderColor = theme?.textBackgroundBorderColor ?? '#191d24', textBackgroundBorderWidth = theme?.textBackgroundBorderWidth ?? 1, textBackgroundBorderRadius = theme?.textBackgroundBorderRadius ?? 4, textBackgroundPadding = theme?.textBackgroundPadding ?? 4, areaColor = theme?.areaColor ?? '#888888', areaColorOpacity = theme?.areaColorOpacity ?? 0.15, areaBorderColor = theme?.areaBorderColor ?? '#888888', areaBorderRadius = theme?.areaBorderRadius ?? 4, areaBorderWidth = theme?.areaBorderWidth ?? 1, areaLineDash = theme?.areaLineDash, outerPadding = theme?.outerPadding ?? 4 } = annotationArea;
5529
- const textPosition = annotationArea.textPosition ?? defaultOptions.textPosition;
5530
- const dy = textPosition.includes('bottom') ? -1 * textFontSize : 0;
5781
+ const { selector: selectorPoint, text = '', textColor = theme?.textColor ?? '#ffffff', textFontSize = theme?.textFontSize ?? 12, textFontWeight = theme?.textFontWeight ?? 400, textBackgroundVisible = theme?.textBackgroundVisible ?? true, textBackgroundColor = theme?.textBackgroundColor ?? '#191d24', textBackgroundBorderColor = theme?.textBackgroundBorderColor ?? '#191d24', textBackgroundBorderWidth = theme?.textBackgroundBorderWidth ?? 1, textBackgroundBorderRadius = theme?.textBackgroundBorderRadius ?? 4, textBackgroundPadding = theme?.textBackgroundPadding ?? 4, areaColor = theme?.areaColor ?? '#888888', areaColorOpacity = theme?.areaColorOpacity ?? 0.15, areaBorderColor = theme?.areaBorderColor ?? '#888888', areaBorderRadius = theme?.areaBorderRadius ?? 4, areaBorderWidth = theme?.areaBorderWidth ?? 1, areaLineDash = theme?.areaLineDash, outerPadding = theme?.outerPadding ?? 4 } = annotationArea;
5782
+ const textPosition = annotationArea.textPosition ?? defaultTextPosition;
5783
+ const textAlign = annotationArea.textAlign ?? ANNOTATION_AREA_TEXT_STYLE_BY_POSITION[textPosition].textAlign;
5784
+ const textBaseline = annotationArea.textBaseline ?? ANNOTATION_AREA_TEXT_STYLE_BY_POSITION[textPosition].textBaseline;
5531
5785
  const dataset = advancedVSeed.dataset.flat();
5532
5786
  const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
5533
5787
  return {
@@ -5542,15 +5796,15 @@
5542
5796
  if ('function' == typeof xAxisHelper?.getBandwidth) {
5543
5797
  const depth = context.fieldX.length ?? 0;
5544
5798
  const xBandWidth = xAxisHelper?.getBandwidth?.(depth - 1);
5545
- const yScale = yAxisHelper.getScale();
5799
+ const regionRect = context.getRegion().getLayoutRect();
5546
5800
  const startX = Math.min(...xyList.map((item)=>item.x)) - (outerPadding || 4);
5547
5801
  const endX = Math.max(...xyList.map((item)=>item.x)) + (outerPadding || 4);
5548
5802
  const width = endX - startX + xBandWidth;
5549
5803
  const middleX = (endX + startX) / 2 + xBandWidth * (0.5 - bandPosition);
5550
5804
  const minX = middleX - width / 2;
5551
5805
  const maxX = middleX + width / 2;
5552
- const minY = Math.min(...yScale.range());
5553
- const maxY = Math.max(...yScale.range());
5806
+ const minY = 0;
5807
+ const maxY = regionRect.height;
5554
5808
  return [
5555
5809
  {
5556
5810
  x: minX,
@@ -5573,15 +5827,15 @@
5573
5827
  if ('function' == typeof yAxisHelper?.getBandwidth) {
5574
5828
  const depth = context.fieldY.length ?? 0;
5575
5829
  const yBandWidth = yAxisHelper?.getBandwidth?.(depth - 1);
5576
- const xScale = xAxisHelper.getScale();
5830
+ const regionRect = context.getRegion().getLayoutRect();
5577
5831
  const startY = Math.min(...xyList.map((item)=>item.y)) - (outerPadding || 4);
5578
5832
  const endY = Math.max(...xyList.map((item)=>item.y)) + (outerPadding || 4);
5579
5833
  const width = endY - startY + yBandWidth;
5580
5834
  const middleY = (endY + startY) / 2 + yBandWidth * (0.5 - bandPosition);
5581
5835
  const minY = middleY - width / 2;
5582
5836
  const maxY = middleY + width / 2;
5583
- const minX = Math.min(...xScale.range());
5584
- const maxX = Math.max(...xScale.range());
5837
+ const minX = 0;
5838
+ const maxX = regionRect.width;
5585
5839
  return [
5586
5840
  {
5587
5841
  x: minX,
@@ -5608,7 +5862,7 @@
5608
5862
  visible: true,
5609
5863
  text: text,
5610
5864
  style: {
5611
- dy: dy,
5865
+ opacity: 0.95,
5612
5866
  textAlign: textAlign,
5613
5867
  textBaseline: textBaseline,
5614
5868
  stroke: textBackgroundColor,
@@ -5621,7 +5875,7 @@
5621
5875
  visible: textBackgroundVisible,
5622
5876
  padding: textBackgroundPadding,
5623
5877
  style: {
5624
- dy: dy,
5878
+ opacity: 0.95,
5625
5879
  cornerRadius: textBackgroundBorderRadius ?? 4,
5626
5880
  fill: textBackgroundColor,
5627
5881
  stroke: textBackgroundBorderColor,
@@ -5648,10 +5902,6 @@
5648
5902
  markArea: markArea
5649
5903
  };
5650
5904
  };
5651
- function clamper(a, b) {
5652
- let t;
5653
- return a > b && (t = a, a = b, b = t), (x)=>Math.max(a, Math.min(b, x));
5654
- }
5655
5905
  function invNorm(p) {
5656
5906
  if (p <= 0 || p >= 1) return 0;
5657
5907
  const c1 = -0.00778489400243029, c2 = -0.322396458041136, c3 = -2.40075827716184, c4 = -2.54973253934373, c5 = 4.37466414146497, c6 = 2.93816398269878, d1 = .00778469570904146, d2 = .32246712907004, d3 = 2.445134137143, d4 = 3.75440866190742;
@@ -6182,7 +6432,7 @@
6182
6432
  initAdvancedVSeed_initAdvancedVSeed,
6183
6433
  default_defaultMeasures_defaultMeasures,
6184
6434
  defaultDimensions_defaultDimensions,
6185
- defaultMeasureId,
6435
+ defaultMeasureId_defaultMeasureId,
6186
6436
  encodingAdapter([
6187
6437
  defaultEncodingForColumn,
6188
6438
  buildMeasures
@@ -6347,7 +6597,7 @@
6347
6597
  initAdvancedVSeed_initAdvancedVSeed,
6348
6598
  default_defaultMeasures_defaultMeasures,
6349
6599
  defaultDimensions_defaultDimensions,
6350
- defaultMeasureId,
6600
+ defaultMeasureId_defaultMeasureId,
6351
6601
  encodingAdapter([
6352
6602
  defaultEncodingForColumn,
6353
6603
  buildMeasures
@@ -6529,7 +6779,7 @@
6529
6779
  initAdvancedVSeed_initAdvancedVSeed,
6530
6780
  default_defaultMeasures_defaultMeasures,
6531
6781
  defaultDimensions_defaultDimensions,
6532
- defaultMeasureId,
6782
+ defaultMeasureId_defaultMeasureId,
6533
6783
  encodingAdapter([
6534
6784
  defaultEncodingForBar,
6535
6785
  buildMeasures
@@ -6645,6 +6895,7 @@
6645
6895
  max,
6646
6896
  min,
6647
6897
  label: {
6898
+ space: 8,
6648
6899
  visible: label?.visible,
6649
6900
  formatMethod: (value)=>{
6650
6901
  if (isBarPercent(vseed) || isColumnPercent(vseed) || isAreaPercent(vseed)) return createLinearPercentFormat(value, autoFormat, numFormat, formatter, percentFormatter);
@@ -6690,7 +6941,7 @@
6690
6941
  }
6691
6942
  },
6692
6943
  innerOffset: {
6693
- right: 7
6944
+ right: 12
6694
6945
  }
6695
6946
  };
6696
6947
  result.axes = [
@@ -6885,7 +7136,7 @@
6885
7136
  initAdvancedVSeed_initAdvancedVSeed,
6886
7137
  default_defaultMeasures_defaultMeasures,
6887
7138
  defaultDimensions_defaultDimensions,
6888
- defaultMeasureId,
7139
+ defaultMeasureId_defaultMeasureId,
6889
7140
  encodingAdapter([
6890
7141
  defaultEncodingForBar,
6891
7142
  buildMeasures
@@ -6999,7 +7250,7 @@
6999
7250
  initAdvancedVSeed_initAdvancedVSeed,
7000
7251
  default_defaultMeasures_defaultMeasures,
7001
7252
  defaultDimensions_defaultDimensions,
7002
- defaultMeasureId,
7253
+ defaultMeasureId_defaultMeasureId,
7003
7254
  encodingAdapter([
7004
7255
  defaultEncodingForBar,
7005
7256
  buildMeasures
@@ -7086,7 +7337,7 @@
7086
7337
  initAdvancedVSeed_initAdvancedVSeed,
7087
7338
  default_defaultMeasures_defaultMeasures,
7088
7339
  defaultDimensions_defaultDimensions,
7089
- defaultMeasureId,
7340
+ defaultMeasureId_defaultMeasureId,
7090
7341
  encodingAdapter([
7091
7342
  defaultEncodingForLine,
7092
7343
  buildMeasures
@@ -7283,7 +7534,7 @@
7283
7534
  initAdvancedVSeed_initAdvancedVSeed,
7284
7535
  default_defaultMeasures_defaultMeasures,
7285
7536
  defaultDimensions_defaultDimensions,
7286
- defaultMeasureId,
7537
+ defaultMeasureId_defaultMeasureId,
7287
7538
  encodingAdapter([
7288
7539
  defaultEncodingForLine,
7289
7540
  buildMeasures
@@ -7696,7 +7947,7 @@
7696
7947
  initAdvancedVSeed_initAdvancedVSeed,
7697
7948
  default_defaultMeasures_defaultMeasures,
7698
7949
  defaultDimensions_defaultDimensions,
7699
- defaultMeasureId,
7950
+ defaultMeasureId_defaultMeasureId,
7700
7951
  encodingAdapter([
7701
7952
  defaultEncodingForScatter,
7702
7953
  buildMeasuresForScatter
@@ -7802,6 +8053,7 @@
7802
8053
  const { enable } = tooltip;
7803
8054
  const { foldInfoList } = datasetReshapeInfo[0];
7804
8055
  result.tooltip = {
8056
+ style: getTooltipStyle(tooltip),
7805
8057
  visible: enable,
7806
8058
  mark: {
7807
8059
  title: {
@@ -8688,7 +8940,7 @@
8688
8940
  initAdvancedVSeed_initAdvancedVSeed,
8689
8941
  default_defaultMeasures_defaultMeasures,
8690
8942
  defaultDimensions_defaultDimensions,
8691
- defaultMeasureId,
8943
+ defaultMeasureId_defaultMeasureId,
8692
8944
  encodingAdapter([
8693
8945
  defaultEncodingForDualAxis,
8694
8946
  buildMeasuresForDualAxis
@@ -9029,6 +9281,7 @@
9029
9281
  const foldInfoList = datasetReshapeInfo[0].foldInfoList;
9030
9282
  const unfoldInfo = datasetReshapeInfo[0].unfoldInfo;
9031
9283
  result.tooltip = {
9284
+ style: getTooltipStyle(tooltip),
9032
9285
  visible: enable,
9033
9286
  mark: {
9034
9287
  title: {
@@ -9112,6 +9365,7 @@
9112
9365
  max,
9113
9366
  min,
9114
9367
  label: {
9368
+ space: 8,
9115
9369
  visible: label?.visible,
9116
9370
  formatMethod: (value)=>createLinearFormat(value, autoFormat, numFormat, formatter),
9117
9371
  style: {
@@ -9154,7 +9408,7 @@
9154
9408
  }
9155
9409
  },
9156
9410
  innerOffset: {
9157
- top: 7
9411
+ top: 12
9158
9412
  }
9159
9413
  };
9160
9414
  result.axes = [
@@ -9205,6 +9459,7 @@
9205
9459
  max,
9206
9460
  min,
9207
9461
  label: {
9462
+ space: 8,
9208
9463
  visible: label?.visible,
9209
9464
  formatMethod: (value)=>createLinearFormat(value, autoFormat, numFormat, formatter),
9210
9465
  style: {
@@ -9247,7 +9502,7 @@
9247
9502
  }
9248
9503
  },
9249
9504
  innerOffset: {
9250
- top: 7
9505
+ top: 12
9251
9506
  }
9252
9507
  };
9253
9508
  result.axes = [
@@ -9460,7 +9715,7 @@
9460
9715
  initAdvancedVSeed_initAdvancedVSeed,
9461
9716
  default_defaultMeasures_defaultMeasures,
9462
9717
  defaultDimensions_defaultDimensions,
9463
- defaultMeasureId,
9718
+ defaultMeasureId_defaultMeasureId,
9464
9719
  encodingAdapter([
9465
9720
  defaultEncodingForPie,
9466
9721
  buildMeasures
@@ -9621,7 +9876,7 @@
9621
9876
  initAdvancedVSeed_initAdvancedVSeed,
9622
9877
  default_defaultMeasures_defaultMeasures,
9623
9878
  defaultDimensions_defaultDimensions,
9624
- defaultMeasureId,
9879
+ defaultMeasureId_defaultMeasureId,
9625
9880
  encodingAdapter([
9626
9881
  defaultEncodingForPie,
9627
9882
  buildMeasures
@@ -9786,7 +10041,7 @@
9786
10041
  initAdvancedVSeed_initAdvancedVSeed,
9787
10042
  default_defaultMeasures_defaultMeasures,
9788
10043
  defaultDimensions_defaultDimensions,
9789
- defaultMeasureId,
10044
+ defaultMeasureId_defaultMeasureId,
9790
10045
  encodingAdapter([
9791
10046
  defaultEncodingForRose,
9792
10047
  buildMeasures
@@ -9939,7 +10194,7 @@
9939
10194
  initAdvancedVSeed_initAdvancedVSeed,
9940
10195
  default_defaultMeasures_defaultMeasures,
9941
10196
  defaultDimensions_defaultDimensions,
9942
- defaultMeasureId,
10197
+ defaultMeasureId_defaultMeasureId,
9943
10198
  encodingAdapter([
9944
10199
  defaultEncodingForRose,
9945
10200
  buildMeasures
@@ -10134,7 +10389,7 @@
10134
10389
  initAdvancedVSeed_initAdvancedVSeed,
10135
10390
  default_defaultMeasures_defaultMeasures,
10136
10391
  defaultDimensions_defaultDimensions,
10137
- defaultMeasureId,
10392
+ defaultMeasureId_defaultMeasureId,
10138
10393
  encodingAdapter([
10139
10394
  defaultEncodingForRadar,
10140
10395
  buildMeasures
@@ -10349,7 +10604,7 @@
10349
10604
  initAdvancedVSeed_initAdvancedVSeed,
10350
10605
  default_defaultMeasures_defaultMeasures,
10351
10606
  defaultDimensions_defaultDimensions,
10352
- defaultMeasureId,
10607
+ defaultMeasureId_defaultMeasureId,
10353
10608
  encodingAdapter([
10354
10609
  defaultEncodingForFunnel,
10355
10610
  buildMeasures
@@ -10576,7 +10831,7 @@
10576
10831
  initAdvancedVSeed_initAdvancedVSeed,
10577
10832
  default_defaultMeasures_defaultMeasures,
10578
10833
  defaultDimensions_defaultDimensions,
10579
- defaultMeasureId,
10834
+ defaultMeasureId_defaultMeasureId,
10580
10835
  encodingAdapter([
10581
10836
  defaultEncodingForHeatmap,
10582
10837
  buildMeasures
@@ -10627,7 +10882,7 @@
10627
10882
  }
10628
10883
  return result;
10629
10884
  };
10630
- const cellStyle = (spec, context)=>{
10885
+ const markStyle_cellStyle_cellStyle = (spec, context)=>{
10631
10886
  const result = {
10632
10887
  ...spec,
10633
10888
  cell: {
@@ -10662,6 +10917,7 @@
10662
10917
  const { enable } = tooltip;
10663
10918
  const { foldInfo } = datasetReshapeInfo[0];
10664
10919
  result.tooltip = {
10920
+ style: getTooltipStyle(tooltip),
10665
10921
  visible: enable,
10666
10922
  mark: {
10667
10923
  title: {
@@ -10779,7 +11035,7 @@
10779
11035
  colorAdapter(color_color, linearColor),
10780
11036
  label_label,
10781
11037
  colorAdapter(discreteLegend, heatmapColorLegend),
10782
- colorCellStyleFill(cellStyle),
11038
+ colorCellStyleFill(markStyle_cellStyle_cellStyle),
10783
11039
  tooltipHeatmap,
10784
11040
  annotationPoint_annotationPoint,
10785
11041
  annotationVerticalLine_annotationVerticalLine,
@@ -10798,7 +11054,7 @@
10798
11054
  colorAdapter(color_color, linearColor),
10799
11055
  label_label,
10800
11056
  tooltipHeatmap,
10801
- colorCellStyleFill(cellStyle),
11057
+ colorCellStyleFill(markStyle_cellStyle_cellStyle),
10802
11058
  annotationPoint_annotationPoint,
10803
11059
  annotationVerticalLine_annotationVerticalLine,
10804
11060
  annotationHorizontalLine_annotationHorizontalLine,
@@ -11152,7 +11408,7 @@
11152
11408
  initAdvancedVSeed_initAdvancedVSeed,
11153
11409
  default_defaultMeasures_defaultMeasures,
11154
11410
  defaultDimensions_defaultDimensions,
11155
- defaultMeasureId,
11411
+ defaultMeasureId_defaultMeasureId,
11156
11412
  boxplotConfig,
11157
11413
  encodingAdapter([
11158
11414
  defaultEncodingForBoxplot,
@@ -11247,6 +11503,7 @@
11247
11503
  const defaultFormatter = valueMeasure ? createFormatterByMeasure(valueMeasure) : (v)=>v;
11248
11504
  result.tooltip = {
11249
11505
  visible: enable,
11506
+ style: getTooltipStyle(tooltip),
11250
11507
  mark: {
11251
11508
  title: {
11252
11509
  visible: false
@@ -11374,6 +11631,7 @@
11374
11631
  const result = {
11375
11632
  ...advancedVSeed
11376
11633
  };
11634
+ const hasColorEncoding = (advancedVSeed?.dimensions || []).find((field)=>field?.encoding === 'color');
11377
11635
  const pickedConfig = chunk_2T7K3PFL_i(vseed, [
11378
11636
  'backgroundColor',
11379
11637
  'color',
@@ -11387,7 +11645,14 @@
11387
11645
  'binStep',
11388
11646
  'binValueType'
11389
11647
  ]);
11390
- const config = replaceNullToUndefined(pickedConfig);
11648
+ let config = replaceNullToUndefined(pickedConfig);
11649
+ if (!hasColorEncoding && !config?.legend?.enable) config = {
11650
+ ...config,
11651
+ legend: {
11652
+ ...config?.legend,
11653
+ enable: false
11654
+ }
11655
+ };
11391
11656
  result.config = {
11392
11657
  ...result.config || {},
11393
11658
  [chartType]: {
@@ -11396,6 +11661,30 @@
11396
11661
  };
11397
11662
  return result;
11398
11663
  };
11664
+ const histogramXAxisConfig = (advancedVSeed, context)=>{
11665
+ const { vseed } = context;
11666
+ const { chartType } = vseed;
11667
+ const result = {
11668
+ ...advancedVSeed
11669
+ };
11670
+ const { dataset = [] } = advancedVSeed;
11671
+ const flattenDatasert = dataset.flat();
11672
+ const minValue = Math.min(...flattenDatasert.map((v)=>+v[BinStartMeasureId]));
11673
+ const maxValue = Math.max(...flattenDatasert.map((v)=>+v[BinEndMeasureId]));
11674
+ const chartConfig = result.config?.[chartType];
11675
+ result.config = {
11676
+ ...result.config || {},
11677
+ [chartType]: {
11678
+ ...chartConfig,
11679
+ xAxis: {
11680
+ min: Number.isNaN(minValue) ? void 0 : minValue,
11681
+ max: Number.isNaN(maxValue) ? void 0 : maxValue,
11682
+ ...chartConfig?.xAxis || {}
11683
+ }
11684
+ }
11685
+ };
11686
+ return result;
11687
+ };
11399
11688
  const defaultEncodingForHistogram = (advancedVSeed)=>{
11400
11689
  const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
11401
11690
  const measures = findAllMeasures(vseedMeasures);
@@ -11467,42 +11756,9 @@
11467
11756
  ...tooltip
11468
11757
  ]);
11469
11758
  };
11470
- const bin_bin = (data, options)=>{
11471
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
11472
- const field = null == options ? void 0 : options.field;
11473
- if (!field) return [];
11474
- const countField = options.countField, n = data.length;
11475
- let thresholds, min = 1 / 0, max = -1 / 0;
11476
- if (options.extent) min = options.extent[0], max = options.extent[1];
11477
- else for(let i = 0; i < n; i++){
11478
- const v = data[i][field];
11479
- if (common_isNil(v)) continue;
11480
- const num = +v;
11481
- Number.isFinite(num) && (num < min && (min = num), num > max && (max = num));
11482
- }
11483
- if (!Number.isFinite(min) || !Number.isFinite(max) || 0 === n) return [];
11484
- if (options.thresholds && options.thresholds.length) thresholds = options.thresholds.slice(), thresholds.sort((a, b)=>a - b);
11485
- else if ("number" == typeof options.step && options.step > 0) {
11486
- const stepSize = options.step;
11487
- let startMin = min;
11488
- for(options.extent || (startMin = Math.floor(min / stepSize) * stepSize), thresholds = [
11489
- startMin
11490
- ]; startMin < max;)startMin += stepSize, thresholds.push(startMin);
11491
- } else {
11492
- const bins = options.bins && options.bins > 0 ? Math.floor(options.bins) : 10;
11493
- if (max - min > 1) {
11494
- const start = Math.floor(min), stepSizeInt = Math.ceil((max - start) / bins);
11495
- thresholds = new Array(bins + 1);
11496
- for(let i = 0; i <= bins; i++)thresholds[i] = i === bins ? max : start + stepSizeInt * i;
11497
- } else {
11498
- const stepSize = (max - min) / bins;
11499
- thresholds = new Array(bins + 1);
11500
- for(let i = 0; i <= bins; i++)thresholds[i] = i === bins ? max : min + stepSize * i;
11501
- }
11502
- }
11503
- const numBins = Math.max(0, thresholds.length - 1);
11504
- if (0 === numBins) return [];
11505
- const x0Name = null != (_b = null == (_a = options.outputNames) ? void 0 : _a.x0) ? _b : "x0", x1Name = null != (_d = null == (_c = options.outputNames) ? void 0 : _c.x1) ? _d : "x1", countName = null != (_f = null == (_e = options.outputNames) ? void 0 : _e.count) ? _f : "count", valuesName = null != (_h = null == (_g = options.outputNames) ? void 0 : _g.values) ? _h : "values", percentageName = null != (_k = null == (_j = options.outputNames) ? void 0 : _j.percentage) ? _k : "percentage", out = [];
11759
+ const subBin = (data, options)=>{
11760
+ var _a, _b;
11761
+ const { numBins: numBins, thresholds: thresholds, countName: countName, percentageName: percentageName, valuesName: valuesName, countField: countField, field: field, n: n, x0Name: x0Name, x1Name: x1Name } = options, out = [];
11506
11762
  if (!options.groupField) for(let i = 0; i < numBins; i++){
11507
11763
  const rec = {
11508
11764
  [x0Name]: thresholds[i],
@@ -11519,11 +11775,11 @@
11519
11775
  if (Number.isFinite(num)) for(let j = 0; j < numBins; j++){
11520
11776
  const left = thresholds[j], right = thresholds[j + 1];
11521
11777
  if (num >= left && num < right || j === numBins - 1 && num <= right) {
11522
- const datumCount = null != (_l = data[i][countField]) ? _l : 1;
11778
+ const datumCount = null != (_a = data[i][countField]) ? _a : 1;
11523
11779
  if (usingGroup) {
11524
11780
  let gk;
11525
11781
  gk = common_isArray(groupField) ? groupField.map((f)=>String(data[i][f])).join("||") : String(data[i][groupField]);
11526
- const m = binGroupCounts[j], prev = null != (_m = m.get(gk)) ? _m : 0;
11782
+ const m = binGroupCounts[j], prev = null != (_b = m.get(gk)) ? _b : 0;
11527
11783
  m.set(gk, prev + datumCount);
11528
11784
  const repMap = binGroupRepr[j];
11529
11785
  if (repMap.has(gk) || (common_isArray(groupField) ? repMap.set(gk, Object.fromEntries(groupField.map((f)=>[
@@ -11565,6 +11821,72 @@
11565
11821
  }
11566
11822
  return finalOut;
11567
11823
  };
11824
+ const bin_bin = (data, options)=>{
11825
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
11826
+ const field = null == options ? void 0 : options.field;
11827
+ if (!field) return [];
11828
+ const countField = options.countField, n = data.length;
11829
+ let thresholds, min = 1 / 0, max = -1 / 0;
11830
+ if (options.extent) min = options.extent[0], max = options.extent[1];
11831
+ else for(let i = 0; i < n; i++){
11832
+ const v = data[i][field];
11833
+ if (common_isNil(v)) continue;
11834
+ const num = +v;
11835
+ Number.isFinite(num) && (num < min && (min = num), num > max && (max = num));
11836
+ }
11837
+ if (!Number.isFinite(min) || !Number.isFinite(max) || 0 === n) return [];
11838
+ if (options.thresholds && options.thresholds.length) thresholds = options.thresholds.slice(), thresholds.sort((a, b)=>a - b);
11839
+ else if ("number" == typeof options.step && options.step > 0) {
11840
+ const stepSize = options.step;
11841
+ let startMin = min;
11842
+ for(options.extent || (startMin = Math.floor(min / stepSize) * stepSize), thresholds = [
11843
+ startMin
11844
+ ]; startMin <= max;)startMin += stepSize, thresholds.push(startMin);
11845
+ } else {
11846
+ const bins = options.bins && options.bins > 0 ? Math.floor(options.bins) : 10;
11847
+ if (max - min > 1) {
11848
+ const start = Math.floor(min), stepSizeInt = Math.ceil((max - start) / bins);
11849
+ thresholds = new Array(bins + 1);
11850
+ for(let i = 0; i <= bins; i++)thresholds[i] = start + stepSizeInt * i;
11851
+ } else {
11852
+ const stepSize = (max - min) / bins;
11853
+ thresholds = new Array(bins + 1);
11854
+ for(let i = 0; i <= bins; i++)thresholds[i] = min + stepSize * i;
11855
+ }
11856
+ }
11857
+ const numBins = Math.max(0, thresholds.length - 1);
11858
+ if (0 === numBins) return [];
11859
+ const x0Name = null != (_b = null == (_a = options.outputNames) ? void 0 : _a.x0) ? _b : "x0", x1Name = null != (_d = null == (_c = options.outputNames) ? void 0 : _c.x1) ? _d : "x1", countName = null != (_f = null == (_e = options.outputNames) ? void 0 : _e.count) ? _f : "count", valuesName = null != (_h = null == (_g = options.outputNames) ? void 0 : _g.values) ? _h : "values", percentageName = null != (_k = null == (_j = options.outputNames) ? void 0 : _j.percentage) ? _k : "percentage", facetField = common_isArray(null == options ? void 0 : options.facetField) ? null == options ? void 0 : options.facetField : (null == options ? void 0 : options.facetField) ? [
11860
+ options.facetField
11861
+ ] : [], groupField = common_isArray(null == options ? void 0 : options.groupField) ? null == options ? void 0 : options.groupField : (null == options ? void 0 : options.groupField) ? [
11862
+ options.groupField
11863
+ ] : [], subViewOptions = Object.assign(Object.assign({}, options), {
11864
+ numBins: numBins,
11865
+ thresholds: thresholds,
11866
+ countName: countName,
11867
+ percentageName: percentageName,
11868
+ valuesName: valuesName,
11869
+ countField: countField,
11870
+ field: field,
11871
+ n: n,
11872
+ x0Name: x0Name,
11873
+ x1Name: x1Name
11874
+ });
11875
+ if (!facetField.length) return subBin(data, subViewOptions);
11876
+ const subViewMap = {};
11877
+ return data.forEach((dataItem)=>{
11878
+ const subViewKey = facetField.map((field)=>null == dataItem ? void 0 : dataItem[field]).join("-&&-");
11879
+ subViewMap[subViewKey] ? subViewMap[subViewKey].push(dataItem) : subViewMap[subViewKey] = [
11880
+ dataItem
11881
+ ];
11882
+ }), Object.values(subViewMap).map((subDataset)=>subBin(subDataset, Object.assign(Object.assign({}, subViewOptions), {
11883
+ groupField: [
11884
+ ...groupField,
11885
+ ...facetField
11886
+ ],
11887
+ n: subDataset.length
11888
+ }))).flat();
11889
+ };
11568
11890
  const reshapeWithHistogramEncoding = (advancedVSeed, context)=>{
11569
11891
  const result = {
11570
11892
  ...advancedVSeed
@@ -11578,7 +11900,20 @@
11578
11900
  const binStep = chartConfig?.binStep;
11579
11901
  const binValueType = chartConfig?.binValueType;
11580
11902
  let newDatasets = [];
11581
- let foldInfo = {};
11903
+ let foldInfo = {
11904
+ foldMap: {},
11905
+ measureId: FoldMeasureId,
11906
+ measureName: FoldMeasureName,
11907
+ measureValue: FoldMeasureValue,
11908
+ statistics: {
11909
+ max: -1 / 0,
11910
+ min: 1 / 0,
11911
+ sum: 0,
11912
+ count: 0,
11913
+ colorMin: 1 / 0,
11914
+ colorMax: -1 / 0
11915
+ }
11916
+ };
11582
11917
  let unfoldInfo = {};
11583
11918
  const colorMeasureId = getColorMeasureId(advancedVSeed, vseed);
11584
11919
  const allMeasures = findAllMeasures(measures);
@@ -11603,8 +11938,15 @@
11603
11938
  binData.forEach((datum)=>{
11604
11939
  datum[FoldMeasureId] = valueField;
11605
11940
  datum[FoldMeasureName] = m?.alias ?? valueField;
11606
- datum[FoldMeasureValue] = 'percentage' === binValueType ? datum[BinPercentageMeasureId] : datum[BinCountMeasureId];
11941
+ const valueNumber = 'percentage' === binValueType ? +datum[BinPercentageMeasureId] : +datum[BinCountMeasureId];
11942
+ datum[FoldMeasureValue] = valueNumber;
11943
+ datum[valueField] = valueNumber;
11944
+ foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber);
11945
+ foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber);
11946
+ foldInfo.statistics.sum += valueNumber;
11947
+ foldInfo.statistics.count++;
11607
11948
  });
11949
+ if (m?.id) foldInfo.foldMap[m?.id] = m?.alias;
11608
11950
  const res = unfoldDimensions(binData, uniqDims, encoding, {
11609
11951
  foldMeasureId: FoldMeasureId,
11610
11952
  separator: "-",
@@ -11622,7 +11964,6 @@
11622
11964
  res.dataset.forEach((datum)=>{
11623
11965
  datum[BinStartMeasureId] = datum[encoding.x0[0]];
11624
11966
  datum[BinEndMeasureId] = datum[encoding.x1[0]];
11625
- datum[FoldMeasureId] = datum[encoding.y[0]];
11626
11967
  });
11627
11968
  newDatasets = res.dataset;
11628
11969
  foldInfo = res.foldInfo;
@@ -11668,7 +12009,20 @@
11668
12009
  if (!subMeasures) return;
11669
12010
  const groupId = measureGroup.id;
11670
12011
  let newDatasets = [];
11671
- let foldInfo = {};
12012
+ let foldInfo = {
12013
+ foldMap: {},
12014
+ measureId: FoldMeasureId,
12015
+ measureName: FoldMeasureName,
12016
+ measureValue: FoldMeasureValue,
12017
+ statistics: {
12018
+ max: -1 / 0,
12019
+ min: 1 / 0,
12020
+ sum: 0,
12021
+ count: 0,
12022
+ colorMin: 1 / 0,
12023
+ colorMax: -1 / 0
12024
+ }
12025
+ };
11672
12026
  let unfoldInfo = {};
11673
12027
  if (encoding.value?.length) {
11674
12028
  const valueField = encoding.value[0];
@@ -11692,8 +12046,15 @@
11692
12046
  binData.forEach((datum)=>{
11693
12047
  datum[FoldMeasureId] = valueField;
11694
12048
  datum[FoldMeasureName] = m?.alias ?? valueField;
11695
- datum[FoldMeasureValue] = 'percentage' === binValueType ? datum[BinPercentageMeasureId] : datum[BinCountMeasureId];
12049
+ const valueNumber = 'percentage' === binValueType ? +datum[BinPercentageMeasureId] : +datum[BinCountMeasureId];
12050
+ datum[FoldMeasureValue] = valueNumber;
12051
+ datum[valueField] = valueNumber;
12052
+ foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber);
12053
+ foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber);
12054
+ foldInfo.statistics.sum += valueNumber;
12055
+ foldInfo.statistics.count++;
11696
12056
  });
12057
+ if (m?.id) foldInfo.foldMap[m?.id] = m?.alias;
11697
12058
  const res = unfoldDimensions(binData, uniqDims, encoding, {
11698
12059
  foldMeasureId: FoldMeasureId,
11699
12060
  separator: "-",
@@ -11736,7 +12097,7 @@
11736
12097
  initAdvancedVSeed_initAdvancedVSeed,
11737
12098
  default_defaultMeasures_defaultMeasures,
11738
12099
  defaultDimensions_defaultDimensions,
11739
- defaultMeasureId,
12100
+ defaultMeasureId_defaultMeasureId,
11740
12101
  histogramConfig,
11741
12102
  encodingAdapter([
11742
12103
  defaultEncodingForHistogram,
@@ -11756,6 +12117,7 @@
11756
12117
  ], [
11757
12118
  pivotReshapeWithHistogramEncoding
11758
12119
  ]),
12120
+ histogramXAxisConfig,
11759
12121
  sortLegend_sortLegend,
11760
12122
  theme_theme,
11761
12123
  markStyle_markStyle,
@@ -11776,6 +12138,10 @@
11776
12138
  clip: true
11777
12139
  }
11778
12140
  ];
12141
+ result.legends = {
12142
+ visible: false
12143
+ };
12144
+ result.barGap = 2;
11779
12145
  result.animation = true;
11780
12146
  return result;
11781
12147
  };
@@ -11806,6 +12172,7 @@
11806
12172
  } } = baseConfig;
11807
12173
  const { enable } = tooltip;
11808
12174
  result.tooltip = {
12175
+ style: getTooltipStyle(tooltip),
11809
12176
  visible: enable,
11810
12177
  mark: {
11811
12178
  title: {
@@ -11973,7 +12340,7 @@
11973
12340
  const lineTheme = advancedVSeed.config[chartType]?.regressionLine;
11974
12341
  if (!regressionLine || !regressionLine.kdeRegressionLine) return result;
11975
12342
  const rowColumnFields = T(dimensions.filter((dim)=>'row' === dim.encoding || 'column' === dim.encoding), (item)=>item.id);
11976
- const lineList = array_array(regressionLine.kdeRegressionLine);
12343
+ const lineList = array_array(regressionLine.kdeRegressionLine).filter((kdeLine)=>false !== kdeLine.enable);
11977
12344
  if (!result.customMark) result.customMark = [];
11978
12345
  lineList.forEach((line, lineIndex)=>{
11979
12346
  const theme = lineTheme.kdeRegressionLine ?? {};
@@ -11996,7 +12363,7 @@
11996
12363
  const scaleY = s.getYAxisHelper().getScale?.(0);
11997
12364
  const viewData = s.getViewData()?.latestData;
11998
12365
  if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) return null;
11999
- const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>d[encoding.value?.[0]]);
12366
+ const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>+d[encoding.value?.[0]]);
12000
12367
  const res = kde_kde(simpleData, {
12001
12368
  bandwidth: Math.abs(viewData[0][BinEndMeasureId] - viewData[0][BinStartMeasureId])
12002
12369
  });
@@ -12109,7 +12476,7 @@
12109
12476
  const lineTheme = advancedVSeed.config[chartType]?.regressionLine;
12110
12477
  if (!regressionLine || !regressionLine.ecdfRegressionLine) return result;
12111
12478
  const rowColumnFields = T(dimensions.filter((dim)=>'row' === dim.encoding || 'column' === dim.encoding), (item)=>item.id);
12112
- const lineList = array_array(regressionLine.ecdfRegressionLine);
12479
+ const lineList = array_array(regressionLine.ecdfRegressionLine).filter((ecdfLine)=>false !== ecdfLine.enable);
12113
12480
  if (!result.customMark) result.customMark = [];
12114
12481
  lineList.forEach((line, lineIndex)=>{
12115
12482
  const theme = lineTheme?.ecdfRegressionLine ?? {};
@@ -12132,7 +12499,7 @@
12132
12499
  const scaleY = s.getYAxisHelper().getScale?.(0);
12133
12500
  const viewData = s.getViewData()?.latestData;
12134
12501
  if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) return null;
12135
- const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>d[encoding.value?.[0]]);
12502
+ const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>+d[encoding.value?.[0]]);
12136
12503
  const res = ecdf(simpleData);
12137
12504
  const N = Math.max(3, Math.floor(simpleData.length / 4));
12138
12505
  const lineData = res.evaluateGrid(N);
@@ -12340,10 +12707,21 @@
12340
12707
  maxSize: 1,
12341
12708
  shapeType: 'rectRound',
12342
12709
  position: 'rt',
12343
- labelColor: '#646A73',
12344
12710
  labelFontSize: 12,
12345
12711
  labelFontWeight: 400
12346
12712
  });
12713
+ const getDarkLegend = ()=>({
12714
+ ...getDefaultLegend(),
12715
+ labelColor: '#BBBDC3',
12716
+ pagerIconColor: '#89909D',
12717
+ pagerIconDisableColor: '#2A2D33'
12718
+ });
12719
+ const getLightLegend = ()=>({
12720
+ ...getDefaultLegend(),
12721
+ labelColor: '#606773',
12722
+ pagerIconColor: '#89909D',
12723
+ pagerIconDisableColor: '#F1F2F5'
12724
+ });
12347
12725
  const getDefaultTableConfig = ()=>({
12348
12726
  bodyFontSize: 12,
12349
12727
  bodyBackgroundColor: 'transparent',
@@ -12389,10 +12767,40 @@
12389
12767
  titleFontSize: tableConfig.headerFontSize,
12390
12768
  titleFontWeight: 'bold'
12391
12769
  });
12392
- const getLightPivotChartGridConfig = ()=>pickPivotChartGridConfig(getLightTableConfig());
12393
- const getDarkPivotChartGridConfig = ()=>pickPivotChartGridConfig(getDarkTableConfig());
12770
+ const getLightPivotChartGridConfig = ()=>{
12771
+ const res = pickPivotChartGridConfig(getLightTableConfig());
12772
+ res.chartGridColor = '#F0F1F6';
12773
+ res.axisLabelColor = '#BCC1CB';
12774
+ return res;
12775
+ };
12776
+ const getDarkPivotChartGridConfig = ()=>{
12777
+ const res = pickPivotChartGridConfig(getDarkTableConfig());
12778
+ return res;
12779
+ };
12394
12780
  const getDefaultTooltip = ()=>({
12395
- enable: true
12781
+ enable: true,
12782
+ borderRadius: 12,
12783
+ borderWidth: 1,
12784
+ padding: 7,
12785
+ lineHeight: 12,
12786
+ fontSize: 12,
12787
+ lineSpace: 6
12788
+ });
12789
+ const getLightTooltip = ()=>({
12790
+ ...getDefaultTooltip(),
12791
+ borderColor: '#e3e5e8',
12792
+ backgroundColor: '#fff',
12793
+ keyColor: '#606773',
12794
+ valueColor: '#21252c',
12795
+ titleColor: '#21252c'
12796
+ });
12797
+ const getDarkTooltip = ()=>({
12798
+ ...getDefaultTooltip(),
12799
+ borderColor: '#3c3f44',
12800
+ backgroundColor: '#2b2d30',
12801
+ keyColor: '#89909D',
12802
+ valueColor: '#E2E3E6',
12803
+ titleColor: '#E2E3E6'
12396
12804
  });
12397
12805
  const getLightLinearAxis = ()=>({
12398
12806
  nice: true,
@@ -12401,20 +12809,20 @@
12401
12809
  label: {
12402
12810
  visible: true,
12403
12811
  labelAngle: 0,
12404
- labelColor: '#797B85',
12812
+ labelColor: '#8F959E',
12405
12813
  labelFontSize: 12,
12406
12814
  labelFontWeight: 400
12407
12815
  },
12408
12816
  title: {
12409
12817
  visible: false,
12410
12818
  titleText: '',
12411
- titleColor: '#646A73',
12819
+ titleColor: '#606773',
12412
12820
  titleFontSize: 12,
12413
12821
  titleFontWeight: 400
12414
12822
  },
12415
12823
  grid: {
12416
12824
  visible: true,
12417
- gridColor: '#36415926',
12825
+ gridColor: '#E3E5EB',
12418
12826
  gridWidth: 0.5,
12419
12827
  gridLineDash: [
12420
12828
  4,
@@ -12425,11 +12833,11 @@
12425
12833
  visible: false,
12426
12834
  tickInside: false,
12427
12835
  tickSize: 4,
12428
- tickColor: '#3641594d'
12836
+ tickColor: '#21252C'
12429
12837
  },
12430
12838
  line: {
12431
12839
  visible: false,
12432
- lineColor: '#3641594d',
12840
+ lineColor: '#21252C',
12433
12841
  lineWidth: 1
12434
12842
  }
12435
12843
  });
@@ -12447,20 +12855,20 @@
12447
12855
  label: {
12448
12856
  visible: true,
12449
12857
  labelAngle: 0,
12450
- labelColor: '#797B85',
12858
+ labelColor: '#8F959E',
12451
12859
  labelFontSize: 12,
12452
12860
  labelFontWeight: 400
12453
12861
  },
12454
12862
  title: {
12455
12863
  visible: false,
12456
12864
  titleText: '',
12457
- titleColor: '#646A73',
12865
+ titleColor: '#606773',
12458
12866
  titleFontSize: 12,
12459
12867
  titleFontWeight: 400
12460
12868
  },
12461
12869
  grid: {
12462
12870
  visible: false,
12463
- gridColor: '#36415926',
12871
+ gridColor: '#E3E5EB',
12464
12872
  gridWidth: 0.5,
12465
12873
  gridLineDash: [
12466
12874
  4,
@@ -12471,11 +12879,11 @@
12471
12879
  visible: false,
12472
12880
  tickInside: false,
12473
12881
  tickSize: 4,
12474
- tickColor: '#3641594d'
12882
+ tickColor: '#21252C'
12475
12883
  },
12476
12884
  line: {
12477
12885
  visible: true,
12478
- lineColor: '#3641594d',
12886
+ lineColor: '#21252C',
12479
12887
  lineWidth: 1
12480
12888
  }
12481
12889
  });
@@ -12485,14 +12893,14 @@
12485
12893
  label: {
12486
12894
  visible: true,
12487
12895
  labelAngle: 0,
12488
- labelColor: '#E2E3E6',
12896
+ labelColor: '#888C93',
12489
12897
  labelFontSize: 12,
12490
12898
  labelFontWeight: 400
12491
12899
  },
12492
12900
  title: {
12493
12901
  visible: false,
12494
12902
  titleText: '',
12495
- titleColor: '#FDFDFD',
12903
+ titleColor: '#BBBDC3',
12496
12904
  titleFontSize: 12,
12497
12905
  titleFontWeight: 400
12498
12906
  },
@@ -12509,11 +12917,11 @@
12509
12917
  visible: false,
12510
12918
  tickInside: false,
12511
12919
  tickSize: 4,
12512
- tickColor: '#4B4F54'
12920
+ tickColor: '#303339'
12513
12921
  },
12514
12922
  line: {
12515
12923
  visible: false,
12516
- lineColor: '#4B4F54',
12924
+ lineColor: '#303339',
12517
12925
  lineWidth: 1
12518
12926
  }
12519
12927
  });
@@ -12531,14 +12939,14 @@
12531
12939
  label: {
12532
12940
  visible: true,
12533
12941
  labelAngle: 0,
12534
- labelColor: '#E2E3E6',
12942
+ labelColor: '#888C93',
12535
12943
  labelFontSize: 12,
12536
12944
  labelFontWeight: 400
12537
12945
  },
12538
12946
  title: {
12539
12947
  visible: false,
12540
12948
  titleText: '',
12541
- titleColor: '#FDFDFD',
12949
+ titleColor: '#BBBDC3',
12542
12950
  titleFontSize: 12,
12543
12951
  titleFontWeight: 400
12544
12952
  },
@@ -12555,11 +12963,11 @@
12555
12963
  visible: false,
12556
12964
  tickInside: false,
12557
12965
  tickSize: 4,
12558
- tickColor: '#4B4F54'
12966
+ tickColor: '#303339'
12559
12967
  },
12560
12968
  line: {
12561
12969
  visible: true,
12562
- lineColor: '#4B4F54',
12970
+ lineColor: '#303339',
12563
12971
  lineWidth: 1
12564
12972
  }
12565
12973
  });
@@ -12567,15 +12975,15 @@
12567
12975
  textBackgroundVisible: true,
12568
12976
  textFontSize: 12,
12569
12977
  textFontWeight: 400,
12570
- textBackgroundBorderRadius: 4,
12978
+ textBackgroundBorderRadius: 0,
12571
12979
  textBackgroundBorderWidth: 1,
12572
12980
  textBackgroundPadding: 2
12573
12981
  });
12574
12982
  const getLightAnnotationPoint = ()=>({
12575
12983
  ...getDefaultAnnotationPoint(),
12576
12984
  textColor: '#ffffff',
12577
- textBackgroundColor: '#364159',
12578
- textBackgroundBorderColor: '#3641594d'
12985
+ textBackgroundColor: '#BCC1CB',
12986
+ textBackgroundBorderColor: '#BCC1CB'
12579
12987
  });
12580
12988
  const getDefaultAnnotationLine = ()=>({
12581
12989
  lineVisible: true,
@@ -12604,7 +13012,7 @@
12604
13012
  textBackgroundVisible: true,
12605
13013
  textBackgroundBorderWidth: 1,
12606
13014
  textBackgroundBorderRadius: 0,
12607
- textBackgroundPadding: 4,
13015
+ textBackgroundPadding: 2,
12608
13016
  areaBorderWidth: 0,
12609
13017
  areaBorderRadius: 0,
12610
13018
  areaLineDash: [
@@ -12630,9 +13038,9 @@
12630
13038
  });
12631
13039
  const getDarkAnnotationPoint = ()=>({
12632
13040
  ...getDefaultAnnotationPoint(),
12633
- textColor: '#4B4F54',
12634
- textBackgroundColor: '#ffffff',
12635
- textBackgroundBorderColor: '#ffffff'
13041
+ textColor: '#E2E3E6',
13042
+ textBackgroundColor: '#55595F',
13043
+ textBackgroundBorderColor: '#55595F'
12636
13044
  });
12637
13045
  const getDarkAnnotationHorizontalLine = ()=>({
12638
13046
  ...getDefaultAnnotationLine(),
@@ -12758,8 +13166,8 @@
12758
13166
  backgroundColor: 'transparent',
12759
13167
  color: getLightColor(),
12760
13168
  label: getLightLabel(),
12761
- legend: getDefaultLegend(),
12762
- tooltip: getDefaultTooltip()
13169
+ legend: getLightLegend(),
13170
+ tooltip: getLightTooltip()
12763
13171
  };
12764
13172
  const tableConfig = getLightTableConfig();
12765
13173
  return {
@@ -13027,8 +13435,8 @@
13027
13435
  backgroundColor: 'transparent',
13028
13436
  color: getDarkColor(),
13029
13437
  label: getDarkLabel(),
13030
- legend: getDefaultLegend(),
13031
- tooltip: getDefaultTooltip()
13438
+ legend: getDarkLegend(),
13439
+ tooltip: getDarkTooltip()
13032
13440
  };
13033
13441
  const tableConfig = getDarkTableConfig();
13034
13442
  return {
@@ -16996,6 +17404,61 @@
16996
17404
  const zLinearColor = schemas_object({
16997
17405
  linearColorScheme: schemas_array(schemas_string()).nullish()
16998
17406
  });
17407
+ const zSelector = union([
17408
+ schemas_string(),
17409
+ schemas_number(),
17410
+ schemas_object({
17411
+ field: schemas_string(),
17412
+ operator: schemas_enum([
17413
+ '=',
17414
+ '==',
17415
+ '!=',
17416
+ '>',
17417
+ '<',
17418
+ '>=',
17419
+ '<=',
17420
+ 'between'
17421
+ ]).nullish(),
17422
+ op: schemas_enum([
17423
+ '=',
17424
+ '==',
17425
+ '!=',
17426
+ '>',
17427
+ '<',
17428
+ '>=',
17429
+ '<=',
17430
+ 'between'
17431
+ ]).nullish(),
17432
+ value: union([
17433
+ schemas_string(),
17434
+ schemas_number(),
17435
+ schemas_array(union([
17436
+ schemas_string(),
17437
+ schemas_number()
17438
+ ]))
17439
+ ])
17440
+ }),
17441
+ schemas_object({
17442
+ field: schemas_string(),
17443
+ operator: schemas_enum([
17444
+ 'in',
17445
+ 'not in'
17446
+ ]).nullish(),
17447
+ op: schemas_enum([
17448
+ 'in',
17449
+ 'not in'
17450
+ ]).nullish(),
17451
+ value: union([
17452
+ schemas_string(),
17453
+ schemas_number(),
17454
+ schemas_array(union([
17455
+ schemas_string(),
17456
+ schemas_number()
17457
+ ]))
17458
+ ])
17459
+ })
17460
+ ]);
17461
+ const zSelectors = schemas_array(zSelector);
16999
17462
  const zLabel = schemas_object({
17000
17463
  enable: schemas_boolean().nullish(),
17001
17464
  wrap: schemas_boolean().nullish(),
@@ -17010,7 +17473,11 @@
17010
17473
  labelColor: schemas_string().nullish(),
17011
17474
  labelColorSmartInvert: schemas_boolean().nullish(),
17012
17475
  labelPosition: schemas_string().nullish(),
17013
- labelOverlap: schemas_boolean().nullish()
17476
+ labelOverlap: schemas_boolean().nullish(),
17477
+ selector: union([
17478
+ zSelector,
17479
+ zSelectors
17480
+ ]).nullish()
17014
17481
  });
17015
17482
  const zLegend = schemas_object({
17016
17483
  enable: schemas_boolean().default(true).nullish(),
@@ -17063,6 +17530,8 @@
17063
17530
  'br'
17064
17531
  ]).default('bottom').nullish(),
17065
17532
  labelColor: schemas_string().default('#fff').nullish(),
17533
+ pagerIconColor: schemas_string().nullish(),
17534
+ pagerIconDisableColor: schemas_string().nullish(),
17066
17535
  labelFontSize: schemas_number().default(12).nullish(),
17067
17536
  labelFontWeight: schemas_number().or(schemas_string()).default(400).nullish()
17068
17537
  });
@@ -17092,63 +17561,19 @@
17092
17561
  enable: schemas_boolean().default(true).nullish()
17093
17562
  });
17094
17563
  const zTooltip = schemas_object({
17095
- enable: schemas_boolean().default(true).nullish()
17564
+ enable: schemas_boolean().default(true).nullish(),
17565
+ borderColor: schemas_string().nullish(),
17566
+ borderWidth: schemas_number().nullish(),
17567
+ borderRadius: schemas_number().nullish(),
17568
+ padding: schemas_number().or(schemas_array(schemas_number()).length(4)).nullish(),
17569
+ backgroundColor: schemas_string().nullish(),
17570
+ lineHeight: schemas_number().nullish(),
17571
+ fontSize: schemas_number().nullish(),
17572
+ lineSpace: schemas_number().nullish(),
17573
+ keyColor: schemas_string().nullish(),
17574
+ valueColor: schemas_string().nullish(),
17575
+ titleColor: schemas_string().nullish()
17096
17576
  });
17097
- const zSelector = union([
17098
- schemas_string(),
17099
- schemas_number(),
17100
- schemas_object({
17101
- field: schemas_string(),
17102
- operator: schemas_enum([
17103
- '=',
17104
- '==',
17105
- '!=',
17106
- '>',
17107
- '<',
17108
- '>=',
17109
- '<=',
17110
- 'between'
17111
- ]).nullish(),
17112
- op: schemas_enum([
17113
- '=',
17114
- '==',
17115
- '!=',
17116
- '>',
17117
- '<',
17118
- '>=',
17119
- '<=',
17120
- 'between'
17121
- ]).nullish(),
17122
- value: union([
17123
- schemas_string(),
17124
- schemas_number(),
17125
- schemas_array(union([
17126
- schemas_string(),
17127
- schemas_number()
17128
- ]))
17129
- ])
17130
- }),
17131
- schemas_object({
17132
- field: schemas_string(),
17133
- operator: schemas_enum([
17134
- 'in',
17135
- 'not in'
17136
- ]).nullish(),
17137
- op: schemas_enum([
17138
- 'in',
17139
- 'not in'
17140
- ]).nullish(),
17141
- value: union([
17142
- schemas_string(),
17143
- schemas_number(),
17144
- schemas_array(union([
17145
- schemas_string(),
17146
- schemas_number()
17147
- ]))
17148
- ])
17149
- })
17150
- ]);
17151
- const zSelectors = schemas_array(zSelector);
17152
17577
  const zAnnotationPoint = schemas_object({
17153
17578
  selector: union([
17154
17579
  zSelector,
@@ -17334,7 +17759,9 @@
17334
17759
  minChartHeight: schemas_number().nullish(),
17335
17760
  titleFontColor: schemas_string().nullish(),
17336
17761
  titleFontSize: schemas_number().nullish(),
17337
- titleFontWeight: schemas_string().nullish()
17762
+ titleFontWeight: schemas_string().nullish(),
17763
+ chartGridColor: schemas_string().nullish(),
17764
+ axisLabelColor: schemas_string().nullish()
17338
17765
  });
17339
17766
  const zLineConfig = schemas_object({
17340
17767
  backgroundColor: zBackgroundColor.nullish(),
@@ -17357,6 +17784,7 @@
17357
17784
  const zBarMaxWidth = schemas_number().or(schemas_string());
17358
17785
  const zBarGapInGroup = schemas_number().or(schemas_string());
17359
17786
  const zEcdfRegressionLine = schemas_object({
17787
+ enable: schemas_boolean().nullish(),
17360
17788
  color: schemas_string().nullish(),
17361
17789
  lineWidth: schemas_number().nullish(),
17362
17790
  lineDash: schemas_array(schemas_number()).nullish(),
@@ -17723,6 +18151,17 @@
17723
18151
  const zAnalysis = schemas_object({
17724
18152
  orderMapping: record(schemas_string(), schemas_array(schemas_string())).nullish()
17725
18153
  });
18154
+ const zBodyCellStyle = schemas_object({
18155
+ selector: union([
18156
+ zSelector,
18157
+ zSelectors
18158
+ ]).nullish(),
18159
+ backgroundColor: schemas_string().nullish(),
18160
+ textColor: schemas_string().nullish(),
18161
+ textFontSize: schemas_number().nullish(),
18162
+ borderColor: schemas_string().nullish(),
18163
+ borderLineWidth: schemas_number().nullish()
18164
+ });
17726
18165
  const zLocale = schemas_enum([
17727
18166
  'zh-CN',
17728
18167
  'en-US'
@@ -17746,6 +18185,7 @@
17746
18185
  hoverHeaderInlineBackgroundColor: schemas_string().nullish(),
17747
18186
  selectedBorderColor: schemas_string().nullish(),
17748
18187
  selectedBackgroundColor: schemas_string().nullish(),
18188
+ bodyCellStyle: zBodyCellStyle.nullish(),
17749
18189
  theme: zTheme.nullish(),
17750
18190
  locale: zLocale.nullish()
17751
18191
  });
@@ -17768,6 +18208,7 @@
17768
18208
  hoverHeaderInlineBackgroundColor: schemas_string().nullish(),
17769
18209
  selectedBorderColor: schemas_string().nullish(),
17770
18210
  selectedBackgroundColor: schemas_string().nullish(),
18211
+ bodyCellStyle: zBodyCellStyle.nullish(),
17771
18212
  theme: zTheme.nullish(),
17772
18213
  locale: zLocale.nullish()
17773
18214
  });
@@ -18077,8 +18518,8 @@
18077
18518
  annotationVerticalLine: schemas_array(zAnnotationVerticalLine).or(zAnnotationVerticalLine).nullish(),
18078
18519
  annotationHorizontalLine: schemas_array(zAnnotationHorizontalLine).or(zAnnotationHorizontalLine).nullish(),
18079
18520
  annotationArea: schemas_array(zAnnotationArea).or(zAnnotationArea).nullish(),
18080
- ecdfRegressionLine: schemas_array(zEcdfRegressionLine).or(zEcdfRegressionLine).or(schemas_boolean()).nullish(),
18081
- kdeRegressionLine: schemas_array(zKdeRegressionLine).or(zKdeRegressionLine).or(schemas_boolean()).nullish(),
18521
+ ecdfRegressionLine: schemas_array(zEcdfRegressionLine).or(zEcdfRegressionLine).nullish(),
18522
+ kdeRegressionLine: schemas_array(zKdeRegressionLine).or(zKdeRegressionLine).nullish(),
18082
18523
  locale: zLocale.nullish()
18083
18524
  });
18084
18525
  const zRose = schemas_object({
@@ -18226,6 +18667,9 @@
18226
18667
  zBoxplot,
18227
18668
  zHistogram
18228
18669
  ]);
18670
+ const zCellStyle = schemas_object({
18671
+ bodyCellStyle: zBodyCellStyle.nullish()
18672
+ });
18229
18673
  const zAdvancedVSeed = schemas_object({
18230
18674
  chartType: zChartType,
18231
18675
  dataset: zDataset,
@@ -18237,6 +18681,7 @@
18237
18681
  analysis: zAnalysis,
18238
18682
  theme: zTheme,
18239
18683
  markStyle: zMarkStyle,
18684
+ cellStyle: zCellStyle,
18240
18685
  customTheme: zCustomThemeConfig,
18241
18686
  annotation: zAnnotation,
18242
18687
  locale: zLocale,