@visactor/vseed 0.1.44 → 0.1.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (474) hide show
  1. package/dist/cjs/index.cjs +3 -3
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/buildSpec.js.map +1 -1
  4. package/dist/esm/builder/builder/builder.d.ts +326 -14
  5. package/dist/esm/dataReshape/constant.d.ts +2 -2
  6. package/dist/esm/dataReshape/constant.js +3 -3
  7. package/dist/esm/dataReshape/constant.js.map +1 -1
  8. package/dist/esm/i18n/i18n.js +2 -2
  9. package/dist/esm/i18n/i18n.js.map +1 -1
  10. package/dist/esm/i18n/i18nData.d.ts +2 -0
  11. package/dist/esm/i18n/i18nData.js +41 -5
  12. package/dist/esm/i18n/i18nData.js.map +1 -0
  13. package/dist/esm/pipeline/advanced/chart/pipeline/area.js +3 -3
  14. package/dist/esm/pipeline/advanced/chart/pipeline/area.js.map +1 -1
  15. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js +3 -3
  16. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js.map +1 -1
  17. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js +3 -3
  18. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js.map +1 -1
  19. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js +3 -3
  20. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js.map +1 -1
  21. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js +3 -3
  22. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js.map +1 -1
  23. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js +3 -3
  24. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js.map +1 -1
  25. package/dist/esm/pipeline/advanced/chart/pipeline/column.js +3 -3
  26. package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
  27. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js +3 -3
  28. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js.map +1 -1
  29. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js +3 -3
  30. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js.map +1 -1
  31. package/dist/esm/pipeline/advanced/chart/pipeline/donut.js +3 -3
  32. package/dist/esm/pipeline/advanced/chart/pipeline/donut.js.map +1 -1
  33. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js +3 -3
  34. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js.map +1 -1
  35. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js +3 -3
  36. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js.map +1 -1
  37. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js +3 -3
  38. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js.map +1 -1
  39. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js +3 -3
  40. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -1
  41. package/dist/esm/pipeline/advanced/chart/pipeline/line.js +3 -3
  42. package/dist/esm/pipeline/advanced/chart/pipeline/line.js.map +1 -1
  43. package/dist/esm/pipeline/advanced/chart/pipeline/pie.js +3 -3
  44. package/dist/esm/pipeline/advanced/chart/pipeline/pie.js.map +1 -1
  45. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js +3 -3
  46. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js.map +1 -1
  47. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js +3 -3
  48. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js.map +1 -1
  49. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js +3 -3
  50. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js.map +1 -1
  51. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +3 -3
  52. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
  53. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.d.ts +1 -1
  54. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.js +1 -1
  55. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.d.ts +2 -0
  56. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.js +14 -0
  57. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.js.map +1 -0
  58. package/dist/esm/pipeline/advanced/chart/pipes/measures/index.d.ts +1 -1
  59. package/dist/esm/pipeline/advanced/chart/pipes/measures/index.js +2 -2
  60. package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.d.ts +2 -0
  61. package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js +14 -0
  62. package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js.map +1 -0
  63. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js +8 -6
  64. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -1
  65. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js +3 -1
  66. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js.map +1 -1
  67. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js +3 -1
  68. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js.map +1 -1
  69. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js +5 -3
  70. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -1
  71. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js +3 -1
  72. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js.map +1 -1
  73. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js +8 -6
  74. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js.map +1 -1
  75. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js +3 -1
  76. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js.map +1 -1
  77. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js +3 -5
  78. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js.map +1 -1
  79. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js +3 -1
  80. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -1
  81. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js +3 -1
  82. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js.map +1 -1
  83. package/dist/esm/pipeline/spec/chart/pipeline/area.js.map +1 -1
  84. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js.map +1 -1
  85. package/dist/esm/pipeline/spec/chart/pipeline/bar.d.ts +1 -2
  86. package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
  87. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.d.ts +1 -2
  88. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
  89. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.d.ts +1 -2
  90. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
  91. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.d.ts +1 -2
  92. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js +3 -2
  93. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js.map +1 -1
  94. package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
  95. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.d.ts +1 -2
  96. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
  97. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.d.ts +1 -2
  98. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
  99. package/dist/esm/pipeline/spec/chart/pipeline/donut.d.ts +1 -2
  100. package/dist/esm/pipeline/spec/chart/pipeline/donut.js.map +1 -1
  101. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.d.ts +1 -2
  102. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
  103. package/dist/esm/pipeline/spec/chart/pipeline/funnel.d.ts +1 -2
  104. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js.map +1 -1
  105. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.d.ts +1 -2
  106. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js.map +1 -1
  107. package/dist/esm/pipeline/spec/chart/pipeline/histogram.d.ts +1 -2
  108. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js +3 -3
  109. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
  110. package/dist/esm/pipeline/spec/chart/pipeline/line.d.ts +1 -2
  111. package/dist/esm/pipeline/spec/chart/pipeline/line.js.map +1 -1
  112. package/dist/esm/pipeline/spec/chart/pipeline/pie.d.ts +1 -2
  113. package/dist/esm/pipeline/spec/chart/pipeline/pie.js.map +1 -1
  114. package/dist/esm/pipeline/spec/chart/pipeline/radar.js.map +1 -1
  115. package/dist/esm/pipeline/spec/chart/pipeline/rose.js.map +1 -1
  116. package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.d.ts +1 -2
  117. package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.js.map +1 -1
  118. package/dist/esm/pipeline/spec/chart/pipeline/scatter.d.ts +1 -2
  119. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js.map +1 -1
  120. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationArea.d.ts +2 -2
  121. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationArea.js +14 -13
  122. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationArea.js.map +1 -1
  123. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.d.ts +2 -2
  124. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.js +12 -19
  125. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.js.map +1 -1
  126. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.d.ts +2 -2
  127. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js +2 -17
  128. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js.map +1 -1
  129. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPoint.d.ts +2 -2
  130. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPoint.js.map +1 -1
  131. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.d.ts +2 -2
  132. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js +2 -17
  133. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js.map +1 -1
  134. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.d.ts +2 -2
  135. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js +3 -3
  136. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js.map +1 -1
  137. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.d.ts +34 -0
  138. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js +35 -1
  139. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js.map +1 -1
  140. package/dist/esm/pipeline/spec/chart/pipes/axes/radarAngle.d.ts +2 -2
  141. package/dist/esm/pipeline/spec/chart/pipes/axes/radarAngle.js.map +1 -1
  142. package/dist/esm/pipeline/spec/chart/pipes/axes/radarRadius.d.ts +2 -2
  143. package/dist/esm/pipeline/spec/chart/pipes/axes/radarRadius.js.map +1 -1
  144. package/dist/esm/pipeline/spec/chart/pipes/axes/radius.d.ts +2 -2
  145. package/dist/esm/pipeline/spec/chart/pipes/axes/radius.js.map +1 -1
  146. package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.d.ts +2 -2
  147. package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.js.map +1 -1
  148. package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.d.ts +2 -2
  149. package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js.map +1 -1
  150. package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.d.ts +2 -2
  151. package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.js.map +1 -1
  152. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.d.ts +2 -2
  153. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js.map +1 -1
  154. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.d.ts +2 -2
  155. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js.map +1 -1
  156. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.d.ts +2 -2
  157. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js.map +1 -1
  158. package/dist/esm/pipeline/spec/chart/pipes/backgroundColor/background.d.ts +2 -2
  159. package/dist/esm/pipeline/spec/chart/pipes/backgroundColor/background.js.map +1 -1
  160. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.d.ts +2 -2
  161. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.js.map +1 -1
  162. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.d.ts +2 -2
  163. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.js.map +1 -1
  164. package/dist/esm/pipeline/spec/chart/pipes/color/color.d.ts +2 -2
  165. package/dist/esm/pipeline/spec/chart/pipes/color/color.js.map +1 -1
  166. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.d.ts +3 -2
  167. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js +3 -1
  168. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js.map +1 -1
  169. package/dist/esm/pipeline/spec/chart/pipes/color/colorAreaStyleFill.d.ts +2 -2
  170. package/dist/esm/pipeline/spec/chart/pipes/color/colorAreaStyleFill.js.map +1 -1
  171. package/dist/esm/pipeline/spec/chart/pipes/color/colorBarStyleFill.d.ts +2 -2
  172. package/dist/esm/pipeline/spec/chart/pipes/color/colorBarStyleFill.js.map +1 -1
  173. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.d.ts +2 -2
  174. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.js.map +1 -1
  175. package/dist/esm/pipeline/spec/chart/pipes/color/colorFunnelStyleFill.d.ts +2 -2
  176. package/dist/esm/pipeline/spec/chart/pipes/color/colorFunnelStyleFill.js.map +1 -1
  177. package/dist/esm/pipeline/spec/chart/pipes/color/colorLineStyleFill.d.ts +2 -2
  178. package/dist/esm/pipeline/spec/chart/pipes/color/colorLineStyleFill.js.map +1 -1
  179. package/dist/esm/pipeline/spec/chart/pipes/color/colorPieStyleFill.d.ts +2 -2
  180. package/dist/esm/pipeline/spec/chart/pipes/color/colorPieStyleFill.js.map +1 -1
  181. package/dist/esm/pipeline/spec/chart/pipes/color/colorPointStyleFill.d.ts +2 -2
  182. package/dist/esm/pipeline/spec/chart/pipes/color/colorPointStyleFill.js.map +1 -1
  183. package/dist/esm/pipeline/spec/chart/pipes/color/colorRoseStyleFill.d.ts +2 -2
  184. package/dist/esm/pipeline/spec/chart/pipes/color/colorRoseStyleFill.js.map +1 -1
  185. package/dist/esm/pipeline/spec/chart/pipes/color/linearColor.d.ts +2 -2
  186. package/dist/esm/pipeline/spec/chart/pipes/color/linearColor.js.map +1 -1
  187. package/dist/esm/pipeline/spec/chart/pipes/color/linearColorForDualAxis.d.ts +2 -2
  188. package/dist/esm/pipeline/spec/chart/pipes/color/linearColorForDualAxis.js.map +1 -1
  189. package/dist/esm/pipeline/spec/chart/pipes/crosshair/histogramCrosshair.d.ts +2 -0
  190. package/dist/esm/pipeline/spec/chart/pipes/crosshair/histogramCrosshair.js +27 -0
  191. package/dist/esm/pipeline/spec/chart/pipes/crosshair/histogramCrosshair.js.map +1 -0
  192. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairLine.d.ts +2 -2
  193. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairLine.js.map +1 -1
  194. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.d.ts +2 -2
  195. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.js.map +1 -1
  196. package/dist/esm/pipeline/spec/chart/pipes/crosshair/index.d.ts +1 -0
  197. package/dist/esm/pipeline/spec/chart/pipes/crosshair/index.js +2 -1
  198. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairLine.d.ts +2 -2
  199. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairLine.js.map +1 -1
  200. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.d.ts +2 -2
  201. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.js.map +1 -1
  202. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.d.ts +2 -2
  203. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.js.map +1 -1
  204. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.d.ts +3 -3
  205. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.js.map +1 -1
  206. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.d.ts +2 -2
  207. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.js.map +1 -1
  208. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetPivot.d.ts +2 -2
  209. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetPivot.js.map +1 -1
  210. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetScatter.d.ts +2 -2
  211. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetScatter.js.map +1 -1
  212. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetXY.d.ts +2 -2
  213. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetXY.js.map +1 -1
  214. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetYX.d.ts +2 -2
  215. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetYX.js.map +1 -1
  216. package/dist/esm/pipeline/spec/chart/pipes/dataset/progressive.d.ts +2 -2
  217. package/dist/esm/pipeline/spec/chart/pipes/dataset/progressive.js.map +1 -1
  218. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.d.ts +3 -3
  219. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js.map +1 -1
  220. package/dist/esm/pipeline/spec/chart/pipes/init/area.d.ts +2 -2
  221. package/dist/esm/pipeline/spec/chart/pipes/init/area.js.map +1 -1
  222. package/dist/esm/pipeline/spec/chart/pipes/init/bar.d.ts +2 -2
  223. package/dist/esm/pipeline/spec/chart/pipes/init/bar.js.map +1 -1
  224. package/dist/esm/pipeline/spec/chart/pipes/init/barParallel.d.ts +2 -2
  225. package/dist/esm/pipeline/spec/chart/pipes/init/barParallel.js.map +1 -1
  226. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.d.ts +2 -2
  227. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js +3 -3
  228. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js.map +1 -1
  229. package/dist/esm/pipeline/spec/chart/pipes/init/column.d.ts +2 -2
  230. package/dist/esm/pipeline/spec/chart/pipes/init/column.js.map +1 -1
  231. package/dist/esm/pipeline/spec/chart/pipes/init/columnParallel.d.ts +2 -2
  232. package/dist/esm/pipeline/spec/chart/pipes/init/columnParallel.js.map +1 -1
  233. package/dist/esm/pipeline/spec/chart/pipes/init/donut.d.ts +2 -2
  234. package/dist/esm/pipeline/spec/chart/pipes/init/donut.js.map +1 -1
  235. package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.d.ts +3 -3
  236. package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.js.map +1 -1
  237. package/dist/esm/pipeline/spec/chart/pipes/init/funnel.d.ts +2 -2
  238. package/dist/esm/pipeline/spec/chart/pipes/init/funnel.js.map +1 -1
  239. package/dist/esm/pipeline/spec/chart/pipes/init/heatmap.d.ts +2 -2
  240. package/dist/esm/pipeline/spec/chart/pipes/init/heatmap.js.map +1 -1
  241. package/dist/esm/pipeline/spec/chart/pipes/init/histogram.d.ts +2 -2
  242. package/dist/esm/pipeline/spec/chart/pipes/init/histogram.js.map +1 -1
  243. package/dist/esm/pipeline/spec/chart/pipes/init/line.d.ts +2 -2
  244. package/dist/esm/pipeline/spec/chart/pipes/init/line.js.map +1 -1
  245. package/dist/esm/pipeline/spec/chart/pipes/init/pie.d.ts +2 -2
  246. package/dist/esm/pipeline/spec/chart/pipes/init/pie.js.map +1 -1
  247. package/dist/esm/pipeline/spec/chart/pipes/init/pivot.d.ts +2 -2
  248. package/dist/esm/pipeline/spec/chart/pipes/init/pivot.js.map +1 -1
  249. package/dist/esm/pipeline/spec/chart/pipes/init/radar.d.ts +2 -2
  250. package/dist/esm/pipeline/spec/chart/pipes/init/radar.js.map +1 -1
  251. package/dist/esm/pipeline/spec/chart/pipes/init/rose.d.ts +2 -2
  252. package/dist/esm/pipeline/spec/chart/pipes/init/rose.js.map +1 -1
  253. package/dist/esm/pipeline/spec/chart/pipes/init/roseParallel.d.ts +2 -2
  254. package/dist/esm/pipeline/spec/chart/pipes/init/roseParallel.js.map +1 -1
  255. package/dist/esm/pipeline/spec/chart/pipes/init/scatter.d.ts +2 -2
  256. package/dist/esm/pipeline/spec/chart/pipes/init/scatter.js.map +1 -1
  257. package/dist/esm/pipeline/spec/chart/pipes/label/label.d.ts +2 -2
  258. package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
  259. package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.d.ts +3 -3
  260. package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.js.map +1 -1
  261. package/dist/esm/pipeline/spec/chart/pipes/label/labelPie.d.ts +2 -2
  262. package/dist/esm/pipeline/spec/chart/pipes/label/labelPie.js.map +1 -1
  263. package/dist/esm/pipeline/spec/chart/pipes/label/labelScatter.d.ts +2 -2
  264. package/dist/esm/pipeline/spec/chart/pipes/label/labelScatter.js.map +1 -1
  265. package/dist/esm/pipeline/spec/chart/pipes/legend/boxLegend.d.ts +2 -0
  266. package/dist/esm/pipeline/spec/chart/pipes/legend/boxLegend.js +15 -0
  267. package/dist/esm/pipeline/spec/chart/pipes/legend/boxLegend.js.map +1 -0
  268. package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.d.ts +2 -2
  269. package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js +7 -1
  270. package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js.map +1 -1
  271. package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.d.ts +2 -2
  272. package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.js +18 -2
  273. package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.js.map +1 -1
  274. package/dist/esm/pipeline/spec/chart/pipes/legend/heatmapColorLegend.d.ts +2 -2
  275. package/dist/esm/pipeline/spec/chart/pipes/legend/heatmapColorLegend.js.map +1 -1
  276. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.d.ts +2 -2
  277. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js.map +1 -1
  278. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.d.ts +2 -2
  279. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.js.map +1 -1
  280. package/dist/esm/pipeline/spec/chart/pipes/markStyle/areaStyle.d.ts +2 -2
  281. package/dist/esm/pipeline/spec/chart/pipes/markStyle/areaStyle.js.map +1 -1
  282. package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.d.ts +2 -2
  283. package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.js.map +1 -1
  284. package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.d.ts +2 -2
  285. package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.js.map +1 -1
  286. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelStyle.d.ts +2 -2
  287. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelStyle.js.map +1 -1
  288. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelTransformStyle.d.ts +2 -2
  289. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelTransformStyle.js.map +1 -1
  290. package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.d.ts +2 -2
  291. package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.js.map +1 -1
  292. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pieStyle.d.ts +2 -2
  293. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pieStyle.js.map +1 -1
  294. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointState.d.ts +3 -3
  295. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointState.js.map +1 -1
  296. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.d.ts +2 -2
  297. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.js.map +1 -1
  298. package/dist/esm/pipeline/spec/chart/pipes/markStyle/roseStyle.d.ts +2 -2
  299. package/dist/esm/pipeline/spec/chart/pipes/markStyle/roseStyle.js.map +1 -1
  300. package/dist/esm/pipeline/spec/chart/pipes/percent/percent.d.ts +2 -2
  301. package/dist/esm/pipeline/spec/chart/pipes/percent/percent.js.map +1 -1
  302. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.d.ts +2 -2
  303. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.js +4 -1
  304. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.js.map +1 -1
  305. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.d.ts +2 -2
  306. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js.map +1 -1
  307. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.d.ts +2 -2
  308. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js.map +1 -1
  309. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.d.ts +2 -2
  310. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js.map +1 -1
  311. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.d.ts +2 -2
  312. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.js.map +1 -1
  313. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.d.ts +4 -4
  314. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js.map +1 -1
  315. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.d.ts +2 -2
  316. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js.map +1 -1
  317. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.d.ts +2 -2
  318. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js.map +1 -1
  319. package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.d.ts +2 -2
  320. package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.js.map +1 -1
  321. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.d.ts +2 -2
  322. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.js.map +1 -1
  323. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.d.ts +2 -2
  324. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js +32 -2
  325. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js.map +1 -1
  326. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.d.ts +2 -2
  327. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js +1 -1
  328. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js.map +1 -1
  329. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.d.ts +6 -6
  330. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js +5 -1
  331. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js.map +1 -1
  332. package/dist/esm/pipeline/spec/chart/pipes/series/series.d.ts +3 -3
  333. package/dist/esm/pipeline/spec/chart/pipes/series/series.js.map +1 -1
  334. package/dist/esm/pipeline/spec/chart/pipes/size/scatterSize.d.ts +2 -2
  335. package/dist/esm/pipeline/spec/chart/pipes/size/scatterSize.js.map +1 -1
  336. package/dist/esm/pipeline/spec/chart/pipes/stack/stack.d.ts +2 -2
  337. package/dist/esm/pipeline/spec/chart/pipes/stack/stack.js.map +1 -1
  338. package/dist/esm/pipeline/spec/chart/pipes/stack/stackCornerRadius.d.ts +2 -2
  339. package/dist/esm/pipeline/spec/chart/pipes/stack/stackCornerRadius.js.map +1 -1
  340. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.d.ts +3 -3
  341. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js +5 -1
  342. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
  343. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.d.ts +2 -2
  344. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js +14 -5
  345. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js.map +1 -1
  346. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.d.ts +3 -3
  347. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
  348. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.d.ts +2 -2
  349. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js.map +1 -1
  350. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.d.ts +2 -2
  351. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js +6 -4
  352. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js.map +1 -1
  353. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.d.ts +2 -2
  354. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
  355. package/dist/esm/pipeline/spec/chart/utils/histogram.d.ts +2 -0
  356. package/dist/esm/pipeline/spec/chart/utils/histogram.js +12 -0
  357. package/dist/esm/pipeline/spec/chart/utils/histogram.js.map +1 -0
  358. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.d.ts +2 -2
  359. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -1
  360. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.d.ts +2 -2
  361. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js.map +1 -1
  362. package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.d.ts +2 -2
  363. package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.js.map +1 -1
  364. package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.d.ts +2 -2
  365. package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js.map +1 -1
  366. package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.d.ts +2 -2
  367. package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js.map +1 -1
  368. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.d.ts +2 -2
  369. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.js.map +1 -1
  370. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.d.ts +2 -2
  371. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js.map +1 -1
  372. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.d.ts +2 -2
  373. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
  374. package/dist/esm/pipeline/spec/table/pipes/init/pivotTable.d.ts +2 -2
  375. package/dist/esm/pipeline/spec/table/pipes/init/pivotTable.js.map +1 -1
  376. package/dist/esm/pipeline/spec/table/pipes/init/table.d.ts +2 -2
  377. package/dist/esm/pipeline/spec/table/pipes/init/table.js.map +1 -1
  378. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.d.ts +2 -2
  379. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js.map +1 -1
  380. package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.d.ts +2 -2
  381. package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.js.map +1 -1
  382. package/dist/esm/pipeline/spec/table/pipes/theme/cornerHeaderStyle.d.ts +2 -2
  383. package/dist/esm/pipeline/spec/table/pipes/theme/cornerHeaderStyle.js.map +1 -1
  384. package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.d.ts +2 -2
  385. package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.js.map +1 -1
  386. package/dist/esm/pipeline/spec/table/pipes/theme/headerStyle.d.ts +2 -2
  387. package/dist/esm/pipeline/spec/table/pipes/theme/headerStyle.js.map +1 -1
  388. package/dist/esm/pipeline/spec/table/pipes/theme/rowHeaderStyle.d.ts +2 -2
  389. package/dist/esm/pipeline/spec/table/pipes/theme/rowHeaderStyle.js.map +1 -1
  390. package/dist/esm/pipeline/spec/table/pipes/theme/scrollStyle.d.ts +2 -2
  391. package/dist/esm/pipeline/spec/table/pipes/theme/scrollStyle.js.map +1 -1
  392. package/dist/esm/pipeline/spec/table/pipes/theme/selectionStyle.d.ts +2 -2
  393. package/dist/esm/pipeline/spec/table/pipes/theme/selectionStyle.js.map +1 -1
  394. package/dist/esm/pipeline/utils/measures/delete.d.ts +2 -2
  395. package/dist/esm/pipeline/utils/measures/delete.js +7 -3
  396. package/dist/esm/pipeline/utils/measures/delete.js.map +1 -1
  397. package/dist/esm/pipeline/utils/tree/traverse.d.ts +1 -0
  398. package/dist/esm/pipeline/utils/tree/traverse.js +12 -1
  399. package/dist/esm/pipeline/utils/tree/traverse.js.map +1 -1
  400. package/dist/esm/theme/common/annotaion.js +7 -7
  401. package/dist/esm/theme/common/annotaion.js.map +1 -1
  402. package/dist/esm/theme/common/axes.js +16 -16
  403. package/dist/esm/theme/common/axes.js.map +1 -1
  404. package/dist/esm/theme/common/legend.d.ts +2 -0
  405. package/dist/esm/theme/common/legend.js +13 -2
  406. package/dist/esm/theme/common/legend.js.map +1 -1
  407. package/dist/esm/theme/common/table.js +0 -2
  408. package/dist/esm/theme/common/table.js.map +1 -1
  409. package/dist/esm/theme/dark/dark.js +2 -2
  410. package/dist/esm/theme/dark/dark.js.map +1 -1
  411. package/dist/esm/theme/light/light.js +2 -2
  412. package/dist/esm/theme/light/light.js.map +1 -1
  413. package/dist/esm/types/advancedVSeed.d.ts +196 -3
  414. package/dist/esm/types/advancedVSeed.js +2 -0
  415. package/dist/esm/types/advancedVSeed.js.map +1 -1
  416. package/dist/esm/types/chartType/area/zArea.d.ts +14 -3
  417. package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +14 -3
  418. package/dist/esm/types/chartType/bar/zBar.d.ts +14 -3
  419. package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +14 -3
  420. package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +14 -3
  421. package/dist/esm/types/chartType/boxplot/zBoxplot.d.ts +14 -3
  422. package/dist/esm/types/chartType/column/zColumn.d.ts +14 -3
  423. package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +14 -3
  424. package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +14 -3
  425. package/dist/esm/types/chartType/donut/zDonut.d.ts +14 -3
  426. package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +44 -15
  427. package/dist/esm/types/chartType/funnel/zFunnel.d.ts +12 -3
  428. package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +12 -3
  429. package/dist/esm/types/chartType/histogram/zHistogram.d.ts +14 -3
  430. package/dist/esm/types/chartType/line/zLine.d.ts +14 -3
  431. package/dist/esm/types/chartType/pie/zPie.d.ts +14 -3
  432. package/dist/esm/types/chartType/pivotTable/zPivotTable.d.ts +12 -3
  433. package/dist/esm/types/chartType/radar/zRadar.d.ts +14 -3
  434. package/dist/esm/types/chartType/rose/zRose.d.ts +14 -3
  435. package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +14 -3
  436. package/dist/esm/types/chartType/scatter/zScatter.d.ts +44 -15
  437. package/dist/esm/types/chartType/table/zTable.d.ts +12 -3
  438. package/dist/esm/types/pipeline/spec/spec.d.ts +11 -2
  439. package/dist/esm/types/properties/config/area.d.ts +4 -0
  440. package/dist/esm/types/properties/config/bar.d.ts +6 -0
  441. package/dist/esm/types/properties/config/boxplot.d.ts +2 -0
  442. package/dist/esm/types/properties/config/column.d.ts +6 -0
  443. package/dist/esm/types/properties/config/config.d.ts +40 -0
  444. package/dist/esm/types/properties/config/dualAxis.d.ts +2 -0
  445. package/dist/esm/types/properties/config/funnel.d.ts +2 -0
  446. package/dist/esm/types/properties/config/heatmap.d.ts +2 -0
  447. package/dist/esm/types/properties/config/histogram.d.ts +2 -0
  448. package/dist/esm/types/properties/config/legend/legend.d.ts +10 -0
  449. package/dist/esm/types/properties/config/legend/legend.js +2 -0
  450. package/dist/esm/types/properties/config/legend/legend.js.map +1 -1
  451. package/dist/esm/types/properties/config/line.d.ts +2 -0
  452. package/dist/esm/types/properties/config/pie.d.ts +6 -0
  453. package/dist/esm/types/properties/config/rose.d.ts +4 -0
  454. package/dist/esm/types/properties/config/scatter.d.ts +2 -0
  455. package/dist/esm/types/properties/measures/zDualMeasures.d.ts +60 -24
  456. package/dist/esm/types/properties/measures/zMeasures.d.ts +36 -9
  457. package/dist/esm/types/properties/measures/zMeasures.js +13 -4
  458. package/dist/esm/types/properties/measures/zMeasures.js.map +1 -1
  459. package/dist/esm/types/properties/measures/zScatterMeasures.d.ts +60 -24
  460. package/dist/esm/types/properties/regressionLine/linearRegressionLine.d.ts +5 -0
  461. package/dist/esm/types/properties/regressionLine/logisticRegressionLine.d.ts +5 -0
  462. package/dist/esm/types/properties/regressionLine/lowessRegressionLine.d.ts +5 -0
  463. package/dist/esm/types/properties/regressionLine/polynomialRegressionLine.d.ts +5 -0
  464. package/dist/esm/types/properties/theme/customTheme.d.ts +80 -0
  465. package/dist/esm/types/zVseed.d.ts +360 -90
  466. package/dist/umd/index.js +478 -281
  467. package/dist/umd/index.js.map +1 -1
  468. package/package.json +5 -5
  469. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.d.ts +0 -2
  470. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.js +0 -12
  471. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.js.map +0 -1
  472. package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteEncodingForMeasure.d.ts +0 -2
  473. package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteEncodingForMeasure.js +0 -12
  474. package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteEncodingForMeasure.js.map +0 -1
package/dist/umd/index.js CHANGED
@@ -5,44 +5,7 @@
5
5
  else root["VSeed"] = factory();
6
6
  })(globalThis, ()=>(()=>{
7
7
  "use strict";
8
- var __webpack_modules__ = {};
9
- var __webpack_module_cache__ = {};
10
- function __webpack_require__(moduleId) {
11
- var cachedModule = __webpack_module_cache__[moduleId];
12
- if (void 0 !== cachedModule) return cachedModule.exports;
13
- var module1 = __webpack_module_cache__[moduleId] = {
14
- exports: {}
15
- };
16
- __webpack_modules__[moduleId](module1, module1.exports, __webpack_require__);
17
- return module1.exports;
18
- }
19
- (()=>{
20
- var getProto = Object.getPrototypeOf ? (obj)=>Object.getPrototypeOf(obj) : (obj)=>obj.__proto__;
21
- var leafPrototypes;
22
- __webpack_require__.t = function(value, mode) {
23
- if (1 & mode) value = this(value);
24
- if (8 & mode) return value;
25
- if ('object' == typeof value && value) {
26
- if (4 & mode && value.__esModule) return value;
27
- if (16 & mode && 'function' == typeof value.then) return value;
28
- }
29
- var ns = Object.create(null);
30
- __webpack_require__.r(ns);
31
- var def = {};
32
- leafPrototypes = leafPrototypes || [
33
- null,
34
- getProto({}),
35
- getProto([]),
36
- getProto(getProto)
37
- ];
38
- for(var current = 2 & mode && value; 'object' == typeof current && !~leafPrototypes.indexOf(current); current = getProto(current))Object.getOwnPropertyNames(current).forEach((key)=>{
39
- def[key] = ()=>value[key];
40
- });
41
- def['default'] = ()=>value;
42
- __webpack_require__.d(ns, def);
43
- return ns;
44
- };
45
- })();
8
+ var __webpack_require__ = {};
46
9
  (()=>{
47
10
  __webpack_require__.d = (exports1, definition)=>{
48
11
  for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
@@ -151,11 +114,9 @@
151
114
  zDualChartType: ()=>zDualChartType,
152
115
  darkTheme: ()=>darkTheme,
153
116
  isVTable: ()=>isVTable,
154
- MaxMeasureId: ()=>MaxMeasureId,
155
117
  ORIGINAL_DATA: ()=>ORIGINAL_DATA,
156
- MinMeasureId: ()=>MinMeasureId,
157
- columnParallelSpecPipeline: ()=>columnParallelSpecPipeline,
158
118
  zAnnotationHorizontalLineConfig: ()=>zAnnotationHorizontalLineConfig,
119
+ columnParallelSpecPipeline: ()=>columnParallelSpecPipeline,
159
120
  zAnnotationPoint: ()=>zAnnotationPoint,
160
121
  DATUM_HIDE_KEY: ()=>DATUM_HIDE_KEY,
161
122
  isMeasure: ()=>isMeasure,
@@ -171,20 +132,21 @@
171
132
  findMeasureById: ()=>findMeasureById,
172
133
  AngleEncoding: ()=>AngleEncoding,
173
134
  areaPercentAdvancedPipeline: ()=>areaPercentAdvancedPipeline,
174
- zBackgroundColor: ()=>zBackgroundColor,
135
+ findTreeNodesBy: ()=>findTreeNodesBy,
175
136
  zAreaPercentConfig: ()=>zAreaPercentConfig,
176
- zLowessRegressionLine: ()=>zLowessRegressionLine,
137
+ zBackgroundColor: ()=>zBackgroundColor,
177
138
  MeasureId: ()=>MeasureId,
178
139
  registerRadar: ()=>registerRadar,
179
140
  zLocale: ()=>zLocale,
180
141
  isDimension: ()=>isDimension,
142
+ zLowessRegressionLine: ()=>zLowessRegressionLine,
181
143
  zMeasure: ()=>zMeasure,
182
144
  registerScatter: ()=>registerScatter,
183
145
  boxplotSpecPipeline: ()=>boxplotSpecPipeline,
184
146
  autoNumFormatter: ()=>autoNumFormatter,
185
147
  tableSpecPipeline: ()=>tableSpecPipeline,
186
- isCombination: ()=>isCombination,
187
148
  zConfig: ()=>zConfig,
149
+ isCombination: ()=>isCombination,
188
150
  zBarStyle: ()=>zBarStyle,
189
151
  deleteDimensionTreeByCallback: ()=>deleteDimensionTreeByCallback,
190
152
  zRoseParallelConfig: ()=>zRoseParallelConfig,
@@ -198,6 +160,7 @@
198
160
  registerPie: ()=>registerPie,
199
161
  zEcdfRegressionLine: ()=>zEcdfRegressionLine,
200
162
  zBarParallelConfig: ()=>zBarParallelConfig,
163
+ LowerWhisker: ()=>LowerWhisker,
201
164
  lineAdvancedPipeline: ()=>lineAdvancedPipeline,
202
165
  AXIS_LABEL_SPACE: ()=>8,
203
166
  FoldMeasureValue: ()=>FoldMeasureValue,
@@ -235,6 +198,7 @@
235
198
  Separator: ()=>"-",
236
199
  findAllMeasures: ()=>findAllMeasures,
237
200
  zColorLegend: ()=>zColorLegend,
201
+ UpperWhisker: ()=>UpperWhisker,
238
202
  EncodingEnum: ()=>EncodingEnum,
239
203
  preorderTraverse: ()=>preorderTraverse,
240
204
  roseParallelSpecPipeline: ()=>roseParallelSpecPipeline,
@@ -351,11 +315,47 @@
351
315
  function chunk_JK3VNB42_n(e) {
352
316
  return null == e;
353
317
  }
354
- var i18nData_namespaceObject = JSON.parse('{"指标名称":{"en-US":"MeasureName","zh-CN":"指标名称"},"指标Id":{"en-US":"MeasureId","zh-CN":"指标Id"},"指标值":{"en-US":"MeasureValue","zh-CN":"指标值"}}');
355
- var i18n_i18nData_namespaceObject = /*#__PURE__*/ __webpack_require__.t(i18nData_namespaceObject, 2);
318
+ const translateMap = {
319
+ 指标名称: {
320
+ 'en-US': 'MeasureName',
321
+ 'zh-CN': "\u6307\u6807\u540D\u79F0"
322
+ },
323
+ 指标Id: {
324
+ 'en-US': 'MeasureId',
325
+ 'zh-CN': "\u6307\u6807Id"
326
+ },
327
+ 指标值: {
328
+ 'en-US': 'MeasureValue',
329
+ 'zh-CN': "\u6307\u6807\u503C"
330
+ },
331
+ 异常点: {
332
+ 'en-US': 'Outlier',
333
+ 'zh-CN': "\u5F02\u5E38\u70B9"
334
+ },
335
+ 上边界: {
336
+ 'en-US': 'Upper Whisker',
337
+ 'zh-CN': "\u4E0A\u8FB9\u754C"
338
+ },
339
+ 上四分位数: {
340
+ 'en-US': 'Q3',
341
+ 'zh-CN': "75\u5206\u4F4D\u6570"
342
+ },
343
+ 中位数: {
344
+ 'en-US': 'Q2',
345
+ 'zh-CN': "\u4E2D\u4F4D\u6570"
346
+ },
347
+ 下四分位数: {
348
+ 'en-US': 'Q1',
349
+ 'zh-CN': "25\u5206\u4F4D\u6570"
350
+ },
351
+ 下边界: {
352
+ 'en-US': 'Lower Whisker',
353
+ 'zh-CN': "\u4E0B\u8FB9\u754C"
354
+ }
355
+ };
356
356
  class i18n_Intl {
357
357
  static instance;
358
- translateMap = i18n_i18nData_namespaceObject;
358
+ translateMap = translateMap;
359
359
  locale = 'zh-CN';
360
360
  canTranslate = (value)=>!!this.translateMap[value];
361
361
  i18n = (segments, ...values)=>{
@@ -525,6 +525,17 @@
525
525
  }
526
526
  }
527
527
  };
528
+ const findTreeNodesBy = (nodes = [], callback, childrenKey = 'children')=>{
529
+ if (!nodes) return [];
530
+ const result = [];
531
+ preorderTraverse(nodes, (node)=>{
532
+ if (!(childrenKey in node)) {
533
+ if (callback(node)) result.push(node);
534
+ }
535
+ return false;
536
+ });
537
+ return result;
538
+ };
528
539
  const measureDepth = (measures = [])=>{
529
540
  if (!measures) return 0;
530
541
  let depth = 1;
@@ -1571,8 +1582,8 @@
1571
1582
  const DetailEncoding = '__Dim_Detail__';
1572
1583
  const ColorEncoding = '__Dim_Color__';
1573
1584
  const ColorIdEncoding = '__Dim_ColorId__';
1574
- const MinMeasureId = '__Min__';
1575
- const MaxMeasureId = '__Max__';
1585
+ const LowerWhisker = '__Lower_Whisker__';
1586
+ const UpperWhisker = '__Upper_Whisker__';
1576
1587
  const OutliersMeasureId = '__Outliers__';
1577
1588
  const MedianMeasureId = '__Meadian__';
1578
1589
  const BinStartMeasureId = '__BinStart__';
@@ -2271,7 +2282,7 @@
2271
2282
  ];
2272
2283
  };
2273
2284
  const deleteMeasureTreeByCallback = (measureTree, callback)=>{
2274
- if (!measureTree) return measureTree;
2285
+ if (!measureTree) return;
2275
2286
  const stack = [
2276
2287
  ...measureTree
2277
2288
  ].reverse();
@@ -2295,23 +2306,28 @@
2295
2306
  nodesToProcess.push(node);
2296
2307
  }
2297
2308
  }
2309
+ const deleted = [];
2298
2310
  for (const node of nodesToProcess){
2299
2311
  const parentList = parents.get(node);
2300
2312
  if (parentList) {
2301
2313
  const index = parentList.indexOf(node);
2302
2314
  if (isMeasure(node)) {
2303
- if (callback?.(node, index, parentList)) parentList.splice(index, 1);
2315
+ if (callback?.(node, index, parentList)) {
2316
+ parentList.splice(index, 1);
2317
+ deleted.push(node);
2318
+ }
2304
2319
  }
2305
2320
  }
2306
2321
  }
2307
- return measureTree;
2322
+ return deleted;
2308
2323
  };
2309
- const deleteEncodingForMeasure = (encodingKeys)=>(advancedVSeed)=>{
2324
+ const pickMeasuresForReshape = (encodingKeys)=>(advancedVSeed)=>{
2325
+ const clonedMeasures = chunk_BCBB46UE_d(advancedVSeed.measures);
2310
2326
  const deleteBy = (measure)=>encodingKeys.includes(measure.encoding);
2311
- const measureTree = deleteMeasureTreeByCallback(advancedVSeed.measures, deleteBy);
2327
+ deleteMeasureTreeByCallback(clonedMeasures, deleteBy);
2312
2328
  return {
2313
2329
  ...advancedVSeed,
2314
- measures: measureTree
2330
+ reshapeMeasures: clonedMeasures
2315
2331
  };
2316
2332
  };
2317
2333
  const deleteDimensionTreeByCallback = (dimensionTree, callback)=>{
@@ -2350,12 +2366,13 @@
2350
2366
  }
2351
2367
  return dimensionTree;
2352
2368
  };
2353
- const deleteTooltipAndLabelDimension = (advancedVSeed)=>{
2369
+ const pickDimensionsForReshape = (advancedVSeed)=>{
2354
2370
  const deleteBy = (dimension)=>'tooltip' === dimension.encoding || 'label' === dimension.encoding;
2355
- const dimensionTree = deleteDimensionTreeByCallback(advancedVSeed.dimensions, deleteBy);
2371
+ const reshapeDimensions = chunk_BCBB46UE_d(advancedVSeed.dimensions);
2372
+ deleteDimensionTreeByCallback(reshapeDimensions, deleteBy);
2356
2373
  return {
2357
2374
  ...advancedVSeed,
2358
- dimensions: dimensionTree
2375
+ reshapeDimensions
2359
2376
  };
2360
2377
  };
2361
2378
  const pivotAdapter = (pipeline, pivotPipeline)=>(advancedVSeed, context)=>{
@@ -2451,11 +2468,13 @@
2451
2468
  unfoldInfo
2452
2469
  };
2453
2470
  };
2454
- const colorAdapter = (ordinalPipe, linearPipe)=>(spec, context)=>{
2471
+ function colorAdapter(ordinalPipe, linearPipe) {
2472
+ return (spec, context)=>{
2455
2473
  const { advancedVSeed, vseed } = context;
2456
2474
  if (isLinearColor(advancedVSeed, vseed)) return linearPipe(spec, context);
2457
2475
  return ordinalPipe(spec, context);
2458
2476
  };
2477
+ }
2459
2478
  const isLinearColor = (advancedVSeed, vseed)=>{
2460
2479
  const { encoding } = advancedVSeed;
2461
2480
  const measures = vseed.measures || advancedVSeed.measures;
@@ -2476,9 +2495,9 @@
2476
2495
  };
2477
2496
  const { vseed } = context;
2478
2497
  const { dataset, chartType } = vseed;
2479
- const { dimensions = [], measures = [], encoding } = advancedVSeed;
2498
+ const { encoding } = advancedVSeed;
2480
2499
  const colorMeasureId = getColorMeasureId(advancedVSeed, vseed);
2481
- const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, T(dimensions, (item)=>item.id), T(findAllMeasures(measures), (item)=>item.id), encoding, {
2500
+ const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, T(advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [], (item)=>item.id), T(advancedVSeed.reshapeMeasures ?? findAllMeasures(advancedVSeed.measures), (item)=>item.id), encoding, {
2482
2501
  colorItemAsId: false,
2483
2502
  colorMeasureId
2484
2503
  });
@@ -2492,9 +2511,7 @@
2492
2511
  foldInfo,
2493
2512
  unfoldInfo
2494
2513
  }
2495
- ],
2496
- dimensions,
2497
- measures
2514
+ ]
2498
2515
  };
2499
2516
  };
2500
2517
  const pivotReshapeWithEncoding = (advancedVSeed, context)=>{
@@ -2503,7 +2520,9 @@
2503
2520
  };
2504
2521
  const { vseed } = context;
2505
2522
  const { dataset } = vseed;
2506
- const { dimensions = [], measures = [], encoding } = advancedVSeed;
2523
+ const { encoding } = advancedVSeed;
2524
+ const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
2525
+ const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
2507
2526
  const allMeasures = findAllMeasures(measures);
2508
2527
  const measureGroups = [];
2509
2528
  if (measures) measures.forEach((measure)=>{
@@ -2665,12 +2684,12 @@
2665
2684
  ], [
2666
2685
  encodingForLine,
2667
2686
  buildMeasures,
2668
- deleteEncodingForMeasure([
2687
+ pickMeasuresForReshape([
2669
2688
  'tooltip',
2670
2689
  'label',
2671
2690
  'color'
2672
2691
  ]),
2673
- deleteTooltipAndLabelDimension
2692
+ pickDimensionsForReshape
2674
2693
  ]),
2675
2694
  pivotAdapter([
2676
2695
  reshapeWithEncoding
@@ -3089,7 +3108,7 @@
3089
3108
  const baseConfig = advancedVSeed.config[chartType];
3090
3109
  if (!baseConfig || !baseConfig.legend) return result;
3091
3110
  const { legend } = baseConfig;
3092
- const { enable, position = 'bottom', labelFontColor, labelColor, labelFontSize = 12, labelFontWeight, maxSize = 1, border, shapeType = 'rectRound' } = legend || {};
3111
+ const { enable, position = 'bottom', labelFontColor, labelColor, labelFontSize = 12, pagerIconColor, pagerIconDisableColor, labelFontWeight, maxSize = 1, border, shapeType = 'rectRound' } = legend || {};
3093
3112
  const orient = [
3094
3113
  'bottom',
3095
3114
  'bottomLeft',
@@ -3128,6 +3147,7 @@
3128
3147
  'rt',
3129
3148
  'br'
3130
3149
  ].includes(position) ? 'end' : 'middle';
3150
+ const labelTextColor = labelColor || labelFontColor;
3131
3151
  result.legends = {
3132
3152
  type: 'discrete',
3133
3153
  visible: enable,
@@ -3141,7 +3161,7 @@
3141
3161
  maxWidth: '30%',
3142
3162
  focusIconStyle: {
3143
3163
  size: labelFontSize + 2,
3144
- fill: labelColor || labelFontColor,
3164
+ fill: labelTextColor,
3145
3165
  fontWeight: labelFontWeight
3146
3166
  },
3147
3167
  shape: {
@@ -3191,6 +3211,21 @@
3191
3211
  }
3192
3212
  }
3193
3213
  },
3214
+ pager: {
3215
+ textStyle: {
3216
+ fill: labelTextColor
3217
+ },
3218
+ handler: {
3219
+ style: {
3220
+ fill: pagerIconColor
3221
+ },
3222
+ state: {
3223
+ disable: {
3224
+ fill: pagerIconDisableColor
3225
+ }
3226
+ }
3227
+ }
3228
+ },
3194
3229
  padding: 0
3195
3230
  };
3196
3231
  return result;
@@ -3200,7 +3235,7 @@
3200
3235
  ...spec
3201
3236
  };
3202
3237
  const { advancedVSeed } = context;
3203
- const { datasetReshapeInfo, chartType } = advancedVSeed;
3238
+ const { datasetReshapeInfo, chartType, measures = [] } = advancedVSeed;
3204
3239
  const { unfoldInfo } = datasetReshapeInfo[0];
3205
3240
  const baseConfig = advancedVSeed.config[chartType];
3206
3241
  if (!baseConfig || !baseConfig.legend) return result;
@@ -3261,6 +3296,11 @@
3261
3296
  }
3262
3297
  }
3263
3298
  };
3299
+ const colorMeasure = findTreeNodesBy(measures, (m)=>'color' === m.encoding)?.[0];
3300
+ if (colorMeasure) {
3301
+ const formatter = createFormatterByMeasure(colorMeasure);
3302
+ result.legends.handlerText.formatter = formatter;
3303
+ }
3264
3304
  return result;
3265
3305
  };
3266
3306
  const colorPointStyleFill = (stylePipe)=>(spec, context)=>{
@@ -3618,7 +3658,11 @@
3618
3658
  const datum = v;
3619
3659
  const key = datum && datum[encodingColor] || '';
3620
3660
  return unfoldInfo.colorIdMap[key].alias ?? key;
3621
- } : Object.values(foldMap)[0],
3661
+ } : (v)=>{
3662
+ const datum = v;
3663
+ const key = datum && datum[measureId] || '';
3664
+ return foldMap[key] ?? key;
3665
+ },
3622
3666
  value: (v)=>{
3623
3667
  const datum = v;
3624
3668
  if (!datum) return '';
@@ -3698,6 +3742,40 @@
3698
3742
  if ('number' == typeof value) return obj[key] === value;
3699
3743
  return true;
3700
3744
  });
3745
+ const ANNOTATION_AREA_TEXT_STYLE_BY_POSITION = {
3746
+ top: {
3747
+ textAlign: 'center',
3748
+ textBaseline: 'top'
3749
+ },
3750
+ topRight: {
3751
+ textAlign: 'right',
3752
+ textBaseline: 'top'
3753
+ },
3754
+ topLeft: {
3755
+ textAlign: 'left',
3756
+ textBaseline: 'top'
3757
+ },
3758
+ bottom: {
3759
+ textAlign: 'center',
3760
+ textBaseline: 'bottom'
3761
+ },
3762
+ bottomLeft: {
3763
+ textAlign: 'left',
3764
+ textBaseline: 'bottom'
3765
+ },
3766
+ bottomRight: {
3767
+ textAlign: 'right',
3768
+ textBaseline: 'bottom'
3769
+ },
3770
+ left: {
3771
+ textAlign: 'left',
3772
+ textBaseline: 'middle'
3773
+ },
3774
+ right: {
3775
+ textAlign: 'right',
3776
+ textBaseline: 'middle'
3777
+ }
3778
+ };
3701
3779
  const annotationPoint_annotationPoint = (spec, context)=>{
3702
3780
  const { advancedVSeed, vseed } = context;
3703
3781
  const { annotation, config } = advancedVSeed;
@@ -3794,23 +3872,8 @@
3794
3872
  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;
3795
3873
  const dataset = advancedVSeed.dataset.flat();
3796
3874
  const generateOneMarkLine = (x)=>({
3797
- positions: (datum, series)=>{
3798
- const regionStart = series.getRegion()?.getLayoutStartPoint();
3799
- const xAxisHelper = series.getXAxisHelper();
3800
- const yAxisHelper = series.getYAxisHelper();
3801
- const xPos = xAxisHelper.getScale(0).scale(x) + regionStart.x;
3802
- const yRange = yAxisHelper.getScale(0).range();
3803
- return [
3804
- {
3805
- x: xPos,
3806
- y: yRange ? yRange[0] + regionStart.y : 0
3807
- },
3808
- {
3809
- x: xPos,
3810
- y: yRange ? yRange[1] + regionStart.y : 0
3811
- }
3812
- ];
3813
- },
3875
+ x,
3876
+ autoRange: true,
3814
3877
  zIndex: 1000,
3815
3878
  line: {
3816
3879
  style: {
@@ -3923,23 +3986,8 @@
3923
3986
  const { selector: selectorPoint, yValue, text = '', textPosition = 'insideEnd', textColor = theme?.textColor ?? '#ffffff', textFontSize = theme?.textFontSize ?? 12, textFontWeight = theme?.textFontWeight ?? 400, textAlign = 'right', textBaseline = 'bottom', 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 } = annotationHorizontalLine;
3924
3987
  const dataset = advancedVSeed.dataset.flat();
3925
3988
  const generateOneMarkLine = (y)=>({
3926
- positions: (datum, series)=>{
3927
- const regionStart = series.getRegion()?.getLayoutStartPoint();
3928
- const xAxisHelper = series.getXAxisHelper();
3929
- const yAxisHelper = series.getYAxisHelper();
3930
- const yPos = yAxisHelper.getScale(0).scale(y) + regionStart.y;
3931
- const xRange = xAxisHelper.getScale(0).range();
3932
- return [
3933
- {
3934
- x: xRange ? xRange[0] + regionStart.x : 0,
3935
- y: yPos
3936
- },
3937
- {
3938
- x: xRange ? xRange[1] + regionStart.x : 0,
3939
- y: yPos
3940
- }
3941
- ];
3942
- },
3989
+ y,
3990
+ autoRange: true,
3943
3991
  zIndex: 1000,
3944
3992
  line: {
3945
3993
  style: {
@@ -4048,12 +4096,14 @@
4048
4096
  left: 'insideLeft',
4049
4097
  right: 'insideRight'
4050
4098
  };
4099
+ const defaultTextPosition = isBarLikeChart(advancedVSeed) ? 'right' : 'top';
4051
4100
  const markArea = annotationAreaList.flatMap((annotationArea)=>{
4052
- 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;
4101
+ 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;
4053
4102
  const dataset = advancedVSeed.dataset.flat();
4054
4103
  const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
4055
- const labelPosition = positionMap[textPosition || 'top'];
4056
- const isBottom = labelPosition.toLocaleLowerCase().includes('bottom');
4104
+ const textPosition = annotationArea.textPosition ?? defaultTextPosition;
4105
+ const textAlign = annotationArea.textAlign ?? ANNOTATION_AREA_TEXT_STYLE_BY_POSITION[textPosition].textAlign;
4106
+ const textBaseline = annotationArea.textBaseline ?? ANNOTATION_AREA_TEXT_STYLE_BY_POSITION[textPosition].textBaseline;
4057
4107
  return {
4058
4108
  zIndex: 1000,
4059
4109
  regionRelative: true,
@@ -4063,11 +4113,11 @@
4063
4113
  const yAxisHelper = context.getYAxisHelper();
4064
4114
  const xAxisHelper = context.getXAxisHelper();
4065
4115
  if ('function' == typeof xAxisHelper?.getBandwidth) {
4066
- const yScale = yAxisHelper.getScale();
4116
+ const regionRect = context.getRegion().getLayoutRect();
4067
4117
  const minX = Math.min(...xyList.map((item)=>item.x)) - (outerPadding || 4);
4068
4118
  const maxX = Math.max(...xyList.map((item)=>item.x)) + (outerPadding || 4);
4069
- const minY = Math.min(...yScale.range());
4070
- const maxY = Math.max(...yScale.range());
4119
+ const minY = 0;
4120
+ const maxY = regionRect.height;
4071
4121
  return [
4072
4122
  {
4073
4123
  x: minX,
@@ -4088,11 +4138,11 @@
4088
4138
  ];
4089
4139
  }
4090
4140
  if ('function' == typeof yAxisHelper?.getBandwidth) {
4091
- const xScale = xAxisHelper.getScale();
4141
+ const regionRect = context.getRegion().getLayoutRect();
4092
4142
  const minY = Math.min(...xyList.map((item)=>item.y)) - (outerPadding || 4);
4093
4143
  const maxY = Math.max(...xyList.map((item)=>item.y)) + (outerPadding || 4);
4094
- const minX = Math.min(...xScale.range());
4095
- const maxX = Math.max(...xScale.range());
4144
+ const minX = 0;
4145
+ const maxX = regionRect.width;
4096
4146
  return [
4097
4147
  {
4098
4148
  x: minX,
@@ -4115,12 +4165,11 @@
4115
4165
  return [];
4116
4166
  },
4117
4167
  label: {
4118
- position: labelPosition,
4168
+ position: positionMap[textPosition],
4119
4169
  visible: true,
4120
4170
  text: text,
4121
4171
  style: {
4122
4172
  opacity: 0.95,
4123
- dy: isBottom ? 2 * -(textFontSize || 12) : 0,
4124
4173
  textAlign: textAlign,
4125
4174
  textBaseline: textBaseline,
4126
4175
  fill: textColor,
@@ -4134,7 +4183,6 @@
4134
4183
  padding: textBackgroundPadding,
4135
4184
  style: {
4136
4185
  opacity: 0.95,
4137
- dy: isBottom ? 2 * -(textFontSize || 12) : 0,
4138
4186
  cornerRadius: textBackgroundBorderRadius ?? 4,
4139
4187
  fill: textBackgroundColor,
4140
4188
  stroke: textBackgroundBorderColor,
@@ -4702,11 +4750,11 @@
4702
4750
  if (!seriesSpec.point.style) seriesSpec.point.style = {};
4703
4751
  if (!seriesSpec.line.style) seriesSpec.line.style = {};
4704
4752
  const measureValueKey = datasetReshapeInfo[0].foldInfo.measureValue;
4705
- seriesSpec.point.style.fill = (datum)=>datum?.[measureValueKey] >= splitValue ? colorConfig.positiveColor : colorConfig.negativeColor;
4706
- seriesSpec.line.style.stroke = (datum)=>datum?.[measureValueKey] >= splitValue ? colorConfig.positiveColor : colorConfig.negativeColor;
4753
+ seriesSpec.point.style.fill = (datum)=>datum?.[measureValueKey] < splitValue ? colorConfig.negativeColor : colorConfig.positiveColor;
4754
+ seriesSpec.line.style.stroke = (datum)=>datum?.[measureValueKey] < splitValue ? colorConfig.negativeColor : colorConfig.positiveColor;
4707
4755
  if (seriesSpec.label && seriesSpec.label.visible && chunk_JK3VNB42_n(seriesSpec.label.style?.fill)) seriesSpec.label.style = {
4708
4756
  ...seriesSpec.label.style,
4709
- fill: (datum)=>datum?.[measureValueKey] >= splitValue ? colorConfig.positiveColor : colorConfig.negativeColor
4757
+ fill: (datum)=>datum?.[measureValueKey] < splitValue ? colorConfig.negativeColor : colorConfig.positiveColor
4710
4758
  };
4711
4759
  }
4712
4760
  return result;
@@ -5333,12 +5381,15 @@
5333
5381
  legends
5334
5382
  };
5335
5383
  };
5336
- const pivotAdapter_pivotAdapter = (pipeline, pivotPipeline)=>(spec, context)=>{
5384
+ const pivotAdapter_pivotAdapter = (pipeline, pivotPipeline)=>{
5385
+ const adapted = (spec, context)=>{
5337
5386
  const { vseed } = context;
5338
5387
  const usePivotChart = isPivotChart(vseed);
5339
5388
  if (usePivotChart) return execPipeline(pivotPipeline, context, spec);
5340
5389
  return execPipeline(pipeline, context, spec);
5341
5390
  };
5391
+ return adapted;
5392
+ };
5342
5393
  const line_line = [
5343
5394
  initLine,
5344
5395
  colorAdapter(color_color, linearColor),
@@ -5537,12 +5588,12 @@
5537
5588
  ], [
5538
5589
  encodingForColumn,
5539
5590
  buildMeasures,
5540
- deleteEncodingForMeasure([
5591
+ pickMeasuresForReshape([
5541
5592
  'tooltip',
5542
5593
  'label',
5543
5594
  'color'
5544
5595
  ]),
5545
- deleteTooltipAndLabelDimension
5596
+ pickDimensionsForReshape
5546
5597
  ]),
5547
5598
  pivotAdapter([
5548
5599
  reshapeWithEncoding
@@ -5745,17 +5796,12 @@
5745
5796
  left: 'insideLeft',
5746
5797
  right: 'insideRight'
5747
5798
  };
5748
- const defaultOptions = isBarLikeChart(advancedVSeed) ? {
5749
- textPosition: 'right',
5750
- textAlign: 'right'
5751
- } : {
5752
- textPosition: 'top',
5753
- textAlign: 'center'
5754
- };
5799
+ const defaultTextPosition = isBarLikeChart(advancedVSeed) ? 'right' : 'top';
5755
5800
  const markArea = annotationAreaList.flatMap((annotationArea)=>{
5756
- 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;
5757
- const textPosition = annotationArea.textPosition ?? defaultOptions.textPosition;
5758
- const dy = textPosition.includes('bottom') ? -1 * textFontSize : 0;
5801
+ 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;
5802
+ const textPosition = annotationArea.textPosition ?? defaultTextPosition;
5803
+ const textAlign = annotationArea.textAlign ?? ANNOTATION_AREA_TEXT_STYLE_BY_POSITION[textPosition].textAlign;
5804
+ const textBaseline = annotationArea.textBaseline ?? ANNOTATION_AREA_TEXT_STYLE_BY_POSITION[textPosition].textBaseline;
5759
5805
  const dataset = advancedVSeed.dataset.flat();
5760
5806
  const selectedData = selectorPoint ? dataset.filter((datum)=>selector_selector(datum, selectorPoint)) : [];
5761
5807
  return {
@@ -5770,15 +5816,15 @@
5770
5816
  if ('function' == typeof xAxisHelper?.getBandwidth) {
5771
5817
  const depth = context.fieldX.length ?? 0;
5772
5818
  const xBandWidth = xAxisHelper?.getBandwidth?.(depth - 1);
5773
- const yScale = yAxisHelper.getScale();
5819
+ const regionRect = context.getRegion().getLayoutRect();
5774
5820
  const startX = Math.min(...xyList.map((item)=>item.x)) - (outerPadding || 4);
5775
5821
  const endX = Math.max(...xyList.map((item)=>item.x)) + (outerPadding || 4);
5776
5822
  const width = endX - startX + xBandWidth;
5777
5823
  const middleX = (endX + startX) / 2 + xBandWidth * (0.5 - bandPosition);
5778
5824
  const minX = middleX - width / 2;
5779
5825
  const maxX = middleX + width / 2;
5780
- const minY = Math.min(...yScale.range());
5781
- const maxY = Math.max(...yScale.range());
5826
+ const minY = 0;
5827
+ const maxY = regionRect.height;
5782
5828
  return [
5783
5829
  {
5784
5830
  x: minX,
@@ -5801,15 +5847,15 @@
5801
5847
  if ('function' == typeof yAxisHelper?.getBandwidth) {
5802
5848
  const depth = context.fieldY.length ?? 0;
5803
5849
  const yBandWidth = yAxisHelper?.getBandwidth?.(depth - 1);
5804
- const xScale = xAxisHelper.getScale();
5850
+ const regionRect = context.getRegion().getLayoutRect();
5805
5851
  const startY = Math.min(...xyList.map((item)=>item.y)) - (outerPadding || 4);
5806
5852
  const endY = Math.max(...xyList.map((item)=>item.y)) + (outerPadding || 4);
5807
5853
  const width = endY - startY + yBandWidth;
5808
5854
  const middleY = (endY + startY) / 2 + yBandWidth * (0.5 - bandPosition);
5809
5855
  const minY = middleY - width / 2;
5810
5856
  const maxY = middleY + width / 2;
5811
- const minX = Math.min(...xScale.range());
5812
- const maxX = Math.max(...xScale.range());
5857
+ const minX = 0;
5858
+ const maxX = regionRect.width;
5813
5859
  return [
5814
5860
  {
5815
5861
  x: minX,
@@ -5837,7 +5883,6 @@
5837
5883
  text: text,
5838
5884
  style: {
5839
5885
  opacity: 0.95,
5840
- dy: dy,
5841
5886
  textAlign: textAlign,
5842
5887
  textBaseline: textBaseline,
5843
5888
  stroke: textBackgroundColor,
@@ -5851,7 +5896,6 @@
5851
5896
  padding: textBackgroundPadding,
5852
5897
  style: {
5853
5898
  opacity: 0.95,
5854
- dy: dy,
5855
5899
  cornerRadius: textBackgroundBorderRadius ?? 4,
5856
5900
  fill: textBackgroundColor,
5857
5901
  stroke: textBackgroundBorderColor,
@@ -6415,12 +6459,12 @@
6415
6459
  ], [
6416
6460
  encodingForColumn,
6417
6461
  buildMeasures,
6418
- deleteEncodingForMeasure([
6462
+ pickMeasuresForReshape([
6419
6463
  'tooltip',
6420
6464
  'label',
6421
6465
  'color'
6422
6466
  ]),
6423
- deleteTooltipAndLabelDimension
6467
+ pickDimensionsForReshape
6424
6468
  ]),
6425
6469
  pivotAdapter([
6426
6470
  reshapeWithEncoding
@@ -6580,12 +6624,12 @@
6580
6624
  ], [
6581
6625
  encodingForColumn,
6582
6626
  buildMeasures,
6583
- deleteEncodingForMeasure([
6627
+ pickMeasuresForReshape([
6584
6628
  'tooltip',
6585
6629
  'label',
6586
6630
  'color'
6587
6631
  ]),
6588
- deleteTooltipAndLabelDimension
6632
+ pickDimensionsForReshape
6589
6633
  ]),
6590
6634
  pivotAdapter([
6591
6635
  reshapeWithEncoding
@@ -6762,12 +6806,12 @@
6762
6806
  ], [
6763
6807
  encodingForBar,
6764
6808
  buildMeasures,
6765
- deleteEncodingForMeasure([
6809
+ pickMeasuresForReshape([
6766
6810
  'tooltip',
6767
6811
  'label',
6768
6812
  'color'
6769
6813
  ]),
6770
- deleteTooltipAndLabelDimension
6814
+ pickDimensionsForReshape
6771
6815
  ]),
6772
6816
  pivotAdapter([
6773
6817
  reshapeWithEncoding
@@ -7119,12 +7163,12 @@
7119
7163
  ], [
7120
7164
  encodingForBar,
7121
7165
  buildMeasures,
7122
- deleteEncodingForMeasure([
7166
+ pickMeasuresForReshape([
7123
7167
  'tooltip',
7124
7168
  'label',
7125
7169
  'color'
7126
7170
  ]),
7127
- deleteTooltipAndLabelDimension
7171
+ pickDimensionsForReshape
7128
7172
  ]),
7129
7173
  pivotAdapter([
7130
7174
  reshapeWithEncoding
@@ -7233,12 +7277,12 @@
7233
7277
  ], [
7234
7278
  encodingForBar,
7235
7279
  buildMeasures,
7236
- deleteEncodingForMeasure([
7280
+ pickMeasuresForReshape([
7237
7281
  'tooltip',
7238
7282
  'label',
7239
7283
  'color'
7240
7284
  ]),
7241
- deleteTooltipAndLabelDimension
7285
+ pickDimensionsForReshape
7242
7286
  ]),
7243
7287
  pivotAdapter([
7244
7288
  reshapeWithEncoding
@@ -7320,12 +7364,12 @@
7320
7364
  ], [
7321
7365
  encodingForLine,
7322
7366
  buildMeasures,
7323
- deleteEncodingForMeasure([
7367
+ pickMeasuresForReshape([
7324
7368
  'tooltip',
7325
7369
  'label',
7326
7370
  'color'
7327
7371
  ]),
7328
- deleteTooltipAndLabelDimension
7372
+ pickDimensionsForReshape
7329
7373
  ]),
7330
7374
  pivotAdapter([
7331
7375
  reshapeWithEncoding
@@ -7517,12 +7561,12 @@
7517
7561
  ], [
7518
7562
  encodingForLine,
7519
7563
  buildMeasures,
7520
- deleteEncodingForMeasure([
7564
+ pickMeasuresForReshape([
7521
7565
  'tooltip',
7522
7566
  'label',
7523
7567
  'color'
7524
7568
  ]),
7525
- deleteTooltipAndLabelDimension
7569
+ pickDimensionsForReshape
7526
7570
  ]),
7527
7571
  pivotAdapter([
7528
7572
  reshapeWithEncoding
@@ -7796,7 +7840,9 @@
7796
7840
  };
7797
7841
  const { vseed } = context;
7798
7842
  const { dataset } = vseed;
7799
- const { dimensions = [], measures = [], encoding, chartType } = advancedVSeed;
7843
+ const { encoding, chartType } = advancedVSeed;
7844
+ const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
7845
+ const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
7800
7846
  if (measures.length > 2) throw new Error('measures can not be more than 2 groups in scatter');
7801
7847
  const foldInfoList = [];
7802
7848
  const unfoldInfoList = [];
@@ -7853,7 +7899,9 @@
7853
7899
  };
7854
7900
  const { vseed } = context;
7855
7901
  const { dataset } = vseed;
7856
- const { dimensions = [], measures = [], encoding, chartType } = advancedVSeed;
7902
+ const { encoding, chartType } = advancedVSeed;
7903
+ const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
7904
+ const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
7857
7905
  const allMeasures = findAllMeasures(measures);
7858
7906
  const measureGroups = [];
7859
7907
  const depth = measureDepth(measures);
@@ -7930,12 +7978,12 @@
7930
7978
  ], [
7931
7979
  encodingForScatter,
7932
7980
  buildMeasuresForScatter,
7933
- deleteEncodingForMeasure([
7981
+ pickMeasuresForReshape([
7934
7982
  'tooltip',
7935
7983
  'label',
7936
7984
  'size'
7937
7985
  ]),
7938
- deleteTooltipAndLabelDimension
7986
+ pickDimensionsForReshape
7939
7987
  ]),
7940
7988
  pivotAdapter([
7941
7989
  reshapeWithScatterEncoding
@@ -8373,7 +8421,7 @@
8373
8421
  }
8374
8422
  };
8375
8423
  }
8376
- const generateRegressionLinePipe = (type, regressionFunction, getOptions)=>(spec, context)=>{
8424
+ const generateRegressionLinePipe = (type, regressionFunction, getOptions = getDefaultRegressionOptions)=>(spec, context)=>{
8377
8425
  const result = {
8378
8426
  ...spec
8379
8427
  };
@@ -8521,9 +8569,13 @@
8521
8569
  });
8522
8570
  return result;
8523
8571
  };
8572
+ const getDefaultRegressionOptions = (lineConfig)=>({
8573
+ alpha: lineConfig?.confidenceLevel ?? 0.95
8574
+ });
8524
8575
  const linearRegressionLine = generateRegressionLinePipe('linearRegressionLine', regressionLinear);
8525
8576
  const lowessRegressionLine = generateRegressionLinePipe('lowessRegressionLine', regressionLowess);
8526
8577
  const polynomialRegressionLine = generateRegressionLinePipe('polynomialRegressionLine', regressionPolynomial, (lineConfig)=>({
8578
+ ...getDefaultRegressionOptions(lineConfig),
8527
8579
  degree: lineConfig.degree ?? 2
8528
8580
  }));
8529
8581
  const logisticRegressionLine = generateRegressionLinePipe('logisticRegressionLine', regressionLogistic);
@@ -8762,7 +8814,9 @@
8762
8814
  };
8763
8815
  const { vseed } = context;
8764
8816
  const { dataset } = vseed;
8765
- const { dimensions = [], measures = [], encoding, chartType } = advancedVSeed;
8817
+ const { encoding, chartType } = advancedVSeed;
8818
+ const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
8819
+ const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
8766
8820
  if (measures.length > 2) throw new Error('measures can not be more than 2 groups in dualAxis');
8767
8821
  const foldInfoList = [];
8768
8822
  const unfoldInfoList = [];
@@ -8817,7 +8871,9 @@
8817
8871
  };
8818
8872
  const { vseed } = context;
8819
8873
  const { dataset } = vseed;
8820
- const { dimensions = [], measures = [], encoding, chartType } = advancedVSeed;
8874
+ const { encoding, chartType } = advancedVSeed;
8875
+ const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
8876
+ const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
8821
8877
  const allMeasures = findAllMeasures(measures);
8822
8878
  const datasetList = [];
8823
8879
  const datasetReshapeInfo = [];
@@ -8923,12 +8979,12 @@
8923
8979
  ], [
8924
8980
  encodingForDualAxis,
8925
8981
  buildMeasuresForDualAxis,
8926
- deleteEncodingForMeasure([
8982
+ pickMeasuresForReshape([
8927
8983
  'tooltip',
8928
8984
  'label',
8929
8985
  'color'
8930
8986
  ]),
8931
- deleteTooltipAndLabelDimension
8987
+ pickDimensionsForReshape
8932
8988
  ]),
8933
8989
  pivotAdapter([
8934
8990
  reshapeWithDualEncoding
@@ -9698,12 +9754,12 @@
9698
9754
  ], [
9699
9755
  encodingForPie,
9700
9756
  buildMeasures,
9701
- deleteEncodingForMeasure([
9757
+ pickMeasuresForReshape([
9702
9758
  'tooltip',
9703
9759
  'label',
9704
9760
  'color'
9705
9761
  ]),
9706
- deleteTooltipAndLabelDimension
9762
+ pickDimensionsForReshape
9707
9763
  ]),
9708
9764
  pivotAdapter([
9709
9765
  reshapeWithEncoding
@@ -9859,12 +9915,12 @@
9859
9915
  ], [
9860
9916
  encodingForPie,
9861
9917
  buildMeasures,
9862
- deleteEncodingForMeasure([
9918
+ pickMeasuresForReshape([
9863
9919
  'tooltip',
9864
9920
  'label',
9865
9921
  'color'
9866
9922
  ]),
9867
- deleteTooltipAndLabelDimension
9923
+ pickDimensionsForReshape
9868
9924
  ]),
9869
9925
  pivotAdapter([
9870
9926
  reshapeWithEncoding
@@ -10024,12 +10080,12 @@
10024
10080
  ], [
10025
10081
  encodingForRose,
10026
10082
  buildMeasures,
10027
- deleteEncodingForMeasure([
10083
+ pickMeasuresForReshape([
10028
10084
  'tooltip',
10029
10085
  'label',
10030
10086
  'color'
10031
10087
  ]),
10032
- deleteTooltipAndLabelDimension
10088
+ pickDimensionsForReshape
10033
10089
  ]),
10034
10090
  pivotAdapter([
10035
10091
  reshapeWithEncoding
@@ -10177,12 +10233,12 @@
10177
10233
  ], [
10178
10234
  encodingForRose,
10179
10235
  buildMeasures,
10180
- deleteEncodingForMeasure([
10236
+ pickMeasuresForReshape([
10181
10237
  'tooltip',
10182
10238
  'label',
10183
10239
  'color'
10184
10240
  ]),
10185
- deleteTooltipAndLabelDimension
10241
+ pickDimensionsForReshape
10186
10242
  ]),
10187
10243
  pivotAdapter([
10188
10244
  reshapeWithEncoding
@@ -10372,12 +10428,12 @@
10372
10428
  ], [
10373
10429
  encodingForRadar,
10374
10430
  buildMeasures,
10375
- deleteEncodingForMeasure([
10431
+ pickMeasuresForReshape([
10376
10432
  'tooltip',
10377
10433
  'label',
10378
10434
  'color'
10379
10435
  ]),
10380
- deleteTooltipAndLabelDimension
10436
+ pickDimensionsForReshape
10381
10437
  ]),
10382
10438
  pivotAdapter([
10383
10439
  reshapeWithEncoding
@@ -10587,12 +10643,12 @@
10587
10643
  ], [
10588
10644
  encodingForFunnel,
10589
10645
  buildMeasures,
10590
- deleteEncodingForMeasure([
10646
+ pickMeasuresForReshape([
10591
10647
  'tooltip',
10592
10648
  'label',
10593
10649
  'color'
10594
10650
  ]),
10595
- deleteTooltipAndLabelDimension
10651
+ pickDimensionsForReshape
10596
10652
  ]),
10597
10653
  pivotAdapter([
10598
10654
  reshapeWithEncoding
@@ -10814,11 +10870,11 @@
10814
10870
  ], [
10815
10871
  encodingForHeatmap,
10816
10872
  buildMeasures,
10817
- deleteEncodingForMeasure([
10873
+ pickMeasuresForReshape([
10818
10874
  'tooltip',
10819
10875
  'label'
10820
10876
  ]),
10821
- deleteTooltipAndLabelDimension
10877
+ pickDimensionsForReshape
10822
10878
  ]),
10823
10879
  pivotAdapter([
10824
10880
  reshapeWithEncoding
@@ -11220,7 +11276,9 @@
11220
11276
  };
11221
11277
  const { vseed } = context;
11222
11278
  const { dataset, chartType } = vseed;
11223
- const { dimensions = [], measures = [], encoding = {}, config } = advancedVSeed;
11279
+ const { encoding = {}, config } = advancedVSeed;
11280
+ const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
11281
+ const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
11224
11282
  const uniqDims = T(dimensions, (item)=>item.id);
11225
11283
  const whiskers = config?.[chartType]?.whiskers;
11226
11284
  let newDatasets = [];
@@ -11239,8 +11297,8 @@
11239
11297
  outputNames: {
11240
11298
  q1: "__Q1__",
11241
11299
  q3: "__Q3__",
11242
- min: MinMeasureId,
11243
- max: MaxMeasureId,
11300
+ lowerWhisker: LowerWhisker,
11301
+ upperWhisker: UpperWhisker,
11244
11302
  median: MedianMeasureId,
11245
11303
  outliers: OutliersMeasureId
11246
11304
  }
@@ -11266,8 +11324,8 @@
11266
11324
  colorItemAsId: false
11267
11325
  });
11268
11326
  res.dataset.forEach((datum)=>{
11269
- datum[MaxMeasureId] = datum[encoding.max[0]];
11270
- datum[MinMeasureId] = datum[encoding.min[0]];
11327
+ datum[UpperWhisker] = datum[encoding.max[0]];
11328
+ datum[LowerWhisker] = datum[encoding.min[0]];
11271
11329
  datum["__Q1__"] = datum[encoding.q1[0]];
11272
11330
  datum["__Q3__"] = datum[encoding.q3[0]];
11273
11331
  datum[MedianMeasureId] = datum[encoding.median[0]];
@@ -11297,7 +11355,9 @@
11297
11355
  };
11298
11356
  const { vseed } = context;
11299
11357
  const { dataset, chartType } = vseed;
11300
- const { dimensions = [], measures = [], encoding = {}, config } = advancedVSeed;
11358
+ const { encoding = {}, config } = advancedVSeed;
11359
+ const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
11360
+ const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
11301
11361
  const uniqDims = T(dimensions, (item)=>item.id);
11302
11362
  const chartConfig = config?.[chartType];
11303
11363
  const whiskers = chartConfig?.whiskers;
@@ -11328,8 +11388,8 @@
11328
11388
  outputNames: {
11329
11389
  q1: "__Q1__",
11330
11390
  q3: "__Q3__",
11331
- min: MinMeasureId,
11332
- max: MaxMeasureId,
11391
+ lowerWhisker: LowerWhisker,
11392
+ upperWhisker: UpperWhisker,
11333
11393
  median: MedianMeasureId,
11334
11394
  outliers: OutliersMeasureId
11335
11395
  }
@@ -11355,8 +11415,8 @@
11355
11415
  colorItemAsId: false
11356
11416
  });
11357
11417
  res.dataset.forEach((datum)=>{
11358
- datum[MaxMeasureId] = datum[encoding.max[0]];
11359
- datum[MinMeasureId] = datum[encoding.min[0]];
11418
+ datum[UpperWhisker] = datum[encoding.max[0]];
11419
+ datum[LowerWhisker] = datum[encoding.min[0]];
11360
11420
  datum["__Q1__"] = datum[encoding.q1[0]];
11361
11421
  datum["__Q3__"] = datum[encoding.q3[0]];
11362
11422
  datum[MedianMeasureId] = datum[encoding.median[0]];
@@ -11392,12 +11452,12 @@
11392
11452
  ], [
11393
11453
  encodingForBoxplot,
11394
11454
  buildMeasures,
11395
- deleteEncodingForMeasure([
11455
+ pickMeasuresForReshape([
11396
11456
  'tooltip',
11397
11457
  'label',
11398
11458
  'color'
11399
11459
  ]),
11400
- deleteTooltipAndLabelDimension
11460
+ pickDimensionsForReshape
11401
11461
  ]),
11402
11462
  pivotAdapter([
11403
11463
  reshapeWithBoxplotEncoding
@@ -11417,10 +11477,10 @@
11417
11477
  const { datasetReshapeInfo, encoding } = advancedVSeed;
11418
11478
  const { unfoldInfo } = datasetReshapeInfo[0];
11419
11479
  result.type = 'boxPlot';
11420
- result.minField = MinMeasureId;
11480
+ result.minField = LowerWhisker;
11481
+ result.maxField = UpperWhisker;
11421
11482
  result.q1Field = "__Q1__";
11422
11483
  result.medianField = MedianMeasureId;
11423
- result.maxField = MaxMeasureId;
11424
11484
  result.q3Field = "__Q3__";
11425
11485
  result.outliersField = OutliersMeasureId;
11426
11486
  result.xField = [
@@ -11456,12 +11516,20 @@
11456
11516
  };
11457
11517
  };
11458
11518
  const boxPlotMeasureKeys = [
11459
- MaxMeasureId,
11519
+ UpperWhisker,
11460
11520
  "__Q3__",
11461
11521
  MedianMeasureId,
11462
11522
  "__Q1__",
11463
- MinMeasureId
11523
+ LowerWhisker
11464
11524
  ];
11525
+ const measureAliasMapping = {
11526
+ [OutliersMeasureId]: intl.i18n`异常点`,
11527
+ [UpperWhisker]: intl.i18n`上边界`,
11528
+ ["__Q3__"]: intl.i18n`上四分位数`,
11529
+ [MedianMeasureId]: intl.i18n`中位数`,
11530
+ ["__Q1__"]: intl.i18n`下四分位数`,
11531
+ [LowerWhisker]: intl.i18n`下边界`
11532
+ };
11465
11533
  const VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE';
11466
11534
  const tooltipBoxplot = (spec, context)=>{
11467
11535
  const result = {
@@ -11493,7 +11561,7 @@
11493
11561
  const formatter = outerlierMeasure ? createFormatterByMeasure(outerlierMeasure) : defaultFormatter;
11494
11562
  tooltipItems.push({
11495
11563
  ...tooltipItems[0],
11496
- key: outerlierMeasure?.alias ?? OutliersMeasureId,
11564
+ key: outerlierMeasure?.alias ?? measureAliasMapping[OutliersMeasureId],
11497
11565
  value: formatter(datum?.[VCHART_OUTLIER_KEY])
11498
11566
  });
11499
11567
  return tooltipItems;
@@ -11505,7 +11573,7 @@
11505
11573
  return {
11506
11574
  ...entry,
11507
11575
  value: formatter(datum?.[entry.key]),
11508
- key: mea?.alias ?? entry.key
11576
+ key: mea?.alias ?? measureAliasMapping[entry?.key] ?? entry.key
11509
11577
  };
11510
11578
  }
11511
11579
  return entry;
@@ -11548,6 +11616,17 @@
11548
11616
  defaultContent
11549
11617
  ];
11550
11618
  };
11619
+ const boxLegend = (spec, context)=>{
11620
+ const normalLegend = discreteLegend(spec, context);
11621
+ normalLegend.legends = {
11622
+ ...normalLegend.legends,
11623
+ data: (data)=>data.map((obj)=>{
11624
+ obj.shape.fill = obj.shape.stroke;
11625
+ return obj;
11626
+ })
11627
+ };
11628
+ return normalLegend;
11629
+ };
11551
11630
  const pipeline_boxplot_boxplot = [
11552
11631
  initBoxplot,
11553
11632
  stackCornerRadius_stackCornerRadius,
@@ -11559,7 +11638,7 @@
11559
11638
  yLinear,
11560
11639
  label_label,
11561
11640
  tooltipBoxplot,
11562
- colorAdapter(discreteLegend, colorLegend),
11641
+ colorAdapter(boxLegend, colorLegend),
11563
11642
  verticalCrosshairRect,
11564
11643
  colorBarStyleFill(barStyle_barStyle),
11565
11644
  annotationPoint_annotationPoint,
@@ -11732,42 +11811,9 @@
11732
11811
  ...tooltip
11733
11812
  ]);
11734
11813
  };
11735
- const bin_bin = (data, options)=>{
11736
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
11737
- const field = null == options ? void 0 : options.field;
11738
- if (!field) return [];
11739
- const countField = options.countField, n = data.length;
11740
- let thresholds, min = 1 / 0, max = -1 / 0;
11741
- if (options.extent) min = options.extent[0], max = options.extent[1];
11742
- else for(let i = 0; i < n; i++){
11743
- const v = data[i][field];
11744
- if (common_isNil(v)) continue;
11745
- const num = +v;
11746
- Number.isFinite(num) && (num < min && (min = num), num > max && (max = num));
11747
- }
11748
- if (!Number.isFinite(min) || !Number.isFinite(max) || 0 === n) return [];
11749
- if (options.thresholds && options.thresholds.length) thresholds = options.thresholds.slice(), thresholds.sort((a, b)=>a - b);
11750
- else if ("number" == typeof options.step && options.step > 0) {
11751
- const stepSize = options.step;
11752
- let startMin = min;
11753
- for(options.extent || (startMin = Math.floor(min / stepSize) * stepSize), thresholds = [
11754
- startMin
11755
- ]; startMin <= max;)startMin += stepSize, thresholds.push(startMin);
11756
- } else {
11757
- const bins = options.bins && options.bins > 0 ? Math.floor(options.bins) : 10;
11758
- if (max - min > 1) {
11759
- const start = Math.floor(min), stepSizeInt = Math.ceil((max - start) / bins);
11760
- thresholds = new Array(bins + 1);
11761
- for(let i = 0; i <= bins; i++)thresholds[i] = start + stepSizeInt * i;
11762
- } else {
11763
- const stepSize = (max - min) / bins;
11764
- thresholds = new Array(bins + 1);
11765
- for(let i = 0; i <= bins; i++)thresholds[i] = min + stepSize * i;
11766
- }
11767
- }
11768
- const numBins = Math.max(0, thresholds.length - 1);
11769
- if (0 === numBins) return [];
11770
- 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 = [];
11814
+ const subBin = (data, options)=>{
11815
+ var _a, _b;
11816
+ const { numBins: numBins, thresholds: thresholds, countName: countName, percentageName: percentageName, valuesName: valuesName, countField: countField, field: field, n: n, x0Name: x0Name, x1Name: x1Name } = options, out = [];
11771
11817
  if (!options.groupField) for(let i = 0; i < numBins; i++){
11772
11818
  const rec = {
11773
11819
  [x0Name]: thresholds[i],
@@ -11784,11 +11830,11 @@
11784
11830
  if (Number.isFinite(num)) for(let j = 0; j < numBins; j++){
11785
11831
  const left = thresholds[j], right = thresholds[j + 1];
11786
11832
  if (num >= left && num < right || j === numBins - 1 && num <= right) {
11787
- const datumCount = null != (_l = data[i][countField]) ? _l : 1;
11833
+ const datumCount = null != (_a = data[i][countField]) ? _a : 1;
11788
11834
  if (usingGroup) {
11789
11835
  let gk;
11790
11836
  gk = common_isArray(groupField) ? groupField.map((f)=>String(data[i][f])).join("||") : String(data[i][groupField]);
11791
- const m = binGroupCounts[j], prev = null != (_m = m.get(gk)) ? _m : 0;
11837
+ const m = binGroupCounts[j], prev = null != (_b = m.get(gk)) ? _b : 0;
11792
11838
  m.set(gk, prev + datumCount);
11793
11839
  const repMap = binGroupRepr[j];
11794
11840
  if (repMap.has(gk) || (common_isArray(groupField) ? repMap.set(gk, Object.fromEntries(groupField.map((f)=>[
@@ -11830,13 +11876,81 @@
11830
11876
  }
11831
11877
  return finalOut;
11832
11878
  };
11879
+ const bin_bin = (data, options)=>{
11880
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
11881
+ const field = null == options ? void 0 : options.field;
11882
+ if (!field) return [];
11883
+ const countField = options.countField, n = data.length;
11884
+ let thresholds, min = 1 / 0, max = -1 / 0;
11885
+ if (options.extent) min = options.extent[0], max = options.extent[1];
11886
+ else for(let i = 0; i < n; i++){
11887
+ const v = data[i][field];
11888
+ if (common_isNil(v)) continue;
11889
+ const num = +v;
11890
+ Number.isFinite(num) && (num < min && (min = num), num > max && (max = num));
11891
+ }
11892
+ if (!Number.isFinite(min) || !Number.isFinite(max) || 0 === n) return [];
11893
+ if (options.thresholds && options.thresholds.length) thresholds = options.thresholds.slice(), thresholds.sort((a, b)=>a - b);
11894
+ else if ("number" == typeof options.step && options.step > 0) {
11895
+ const stepSize = options.step;
11896
+ let startMin = min;
11897
+ for(options.extent || (startMin = Math.floor(min / stepSize) * stepSize), thresholds = [
11898
+ startMin
11899
+ ]; startMin <= max;)startMin += stepSize, thresholds.push(startMin);
11900
+ } else {
11901
+ const bins = options.bins && options.bins > 0 ? Math.floor(options.bins) : 10;
11902
+ if (max - min > 1) {
11903
+ const start = Math.floor(min), stepSizeInt = Math.ceil((max - start) / bins);
11904
+ thresholds = new Array(bins + 1);
11905
+ for(let i = 0; i <= bins; i++)thresholds[i] = start + stepSizeInt * i;
11906
+ } else {
11907
+ const stepSize = (max - min) / bins;
11908
+ thresholds = new Array(bins + 1);
11909
+ for(let i = 0; i <= bins; i++)thresholds[i] = min + stepSize * i;
11910
+ }
11911
+ }
11912
+ const numBins = Math.max(0, thresholds.length - 1);
11913
+ if (0 === numBins) return [];
11914
+ 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) ? [
11915
+ options.facetField
11916
+ ] : [], groupField = common_isArray(null == options ? void 0 : options.groupField) ? null == options ? void 0 : options.groupField : (null == options ? void 0 : options.groupField) ? [
11917
+ options.groupField
11918
+ ] : [], subViewOptions = Object.assign(Object.assign({}, options), {
11919
+ numBins: numBins,
11920
+ thresholds: thresholds,
11921
+ countName: countName,
11922
+ percentageName: percentageName,
11923
+ valuesName: valuesName,
11924
+ countField: countField,
11925
+ field: field,
11926
+ n: n,
11927
+ x0Name: x0Name,
11928
+ x1Name: x1Name
11929
+ });
11930
+ if (!facetField.length) return subBin(data, subViewOptions);
11931
+ const subViewMap = {};
11932
+ return data.forEach((dataItem)=>{
11933
+ const subViewKey = facetField.map((field)=>null == dataItem ? void 0 : dataItem[field]).join("-&&-");
11934
+ subViewMap[subViewKey] ? subViewMap[subViewKey].push(dataItem) : subViewMap[subViewKey] = [
11935
+ dataItem
11936
+ ];
11937
+ }), Object.values(subViewMap).map((subDataset)=>subBin(subDataset, Object.assign(Object.assign({}, subViewOptions), {
11938
+ groupField: [
11939
+ ...groupField,
11940
+ ...facetField
11941
+ ],
11942
+ n: subDataset.length
11943
+ }))).flat();
11944
+ };
11833
11945
  const reshapeWithHistogramEncoding = (advancedVSeed, context)=>{
11834
11946
  const result = {
11835
11947
  ...advancedVSeed
11836
11948
  };
11837
11949
  const { vseed } = context;
11838
11950
  const { dataset, chartType } = vseed;
11839
- const { dimensions = [], measures = [], encoding = {}, config } = advancedVSeed;
11951
+ const { encoding = {}, config } = advancedVSeed;
11952
+ const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
11953
+ const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
11840
11954
  const uniqDims = T(dimensions, (item)=>item.id);
11841
11955
  const chartConfig = config?.[chartType];
11842
11956
  const binCount = chartConfig?.binCount;
@@ -11933,7 +12047,9 @@
11933
12047
  };
11934
12048
  const { vseed } = context;
11935
12049
  const { dataset, chartType } = vseed;
11936
- const { dimensions = [], measures = [], encoding = {}, config } = advancedVSeed;
12050
+ const { encoding = {}, config } = advancedVSeed;
12051
+ const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
12052
+ const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
11937
12053
  const colorMeasureId = getColorMeasureId(advancedVSeed, vseed);
11938
12054
  const uniqDims = T(dimensions, (item)=>item.id);
11939
12055
  const chartConfig = config?.[chartType];
@@ -11974,9 +12090,9 @@
11974
12090
  field: valueField,
11975
12091
  groupField: [
11976
12092
  ...encoding.x ?? [],
11977
- ...encoding.color ?? [],
11978
- ...rowColumnFields.map((item)=>item.id)
12093
+ ...encoding.color ?? []
11979
12094
  ],
12095
+ facetField: rowColumnFields.map((item)=>item.id),
11980
12096
  bins: binCount,
11981
12097
  step: binStep,
11982
12098
  outputNames: {
@@ -12048,12 +12164,12 @@
12048
12164
  ], [
12049
12165
  encodingForHistogram,
12050
12166
  buildMeasures,
12051
- deleteEncodingForMeasure([
12167
+ pickMeasuresForReshape([
12052
12168
  'tooltip',
12053
12169
  'label',
12054
12170
  'color'
12055
12171
  ]),
12056
- deleteTooltipAndLabelDimension
12172
+ pickDimensionsForReshape
12057
12173
  ]),
12058
12174
  pivotAdapter([
12059
12175
  reshapeWithHistogramEncoding
@@ -12102,6 +12218,13 @@
12102
12218
  }
12103
12219
  };
12104
12220
  };
12221
+ const getDefaultXFormatterOfHistogram = (advancedVSeed)=>{
12222
+ const { chartType, config } = advancedVSeed;
12223
+ const xConfig = config?.[chartType]?.xAxis;
12224
+ const { autoFormat = true, numFormat = {} } = xConfig;
12225
+ const formatter = createNumFormatter(numFormat);
12226
+ return (value)=>createLinearFormat(value, autoFormat, numFormat, formatter);
12227
+ };
12105
12228
  const tooltipHistogram_VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE';
12106
12229
  const tooltipHistogram = (spec, context)=>{
12107
12230
  const result = {
@@ -12114,6 +12237,7 @@
12114
12237
  enable: true
12115
12238
  } } = baseConfig;
12116
12239
  const { enable } = tooltip;
12240
+ const defaultXFormatter = getDefaultXFormatterOfHistogram(advancedVSeed);
12117
12241
  result.tooltip = {
12118
12242
  style: getTooltipStyle(tooltip),
12119
12243
  visible: enable,
@@ -12121,18 +12245,18 @@
12121
12245
  title: {
12122
12246
  visible: false
12123
12247
  },
12124
- content: tooltipHistogram_createMarkContent(encoding.tooltip || [], dimensions, encoding)
12248
+ content: tooltipHistogram_createMarkContent(encoding.tooltip || [], dimensions, encoding, defaultXFormatter)
12125
12249
  },
12126
12250
  dimension: {
12127
12251
  title: {
12128
12252
  visible: false
12129
12253
  },
12130
- content: tooltipHistogram_createMarkContent(encoding.tooltip || [], dimensions, encoding)
12254
+ content: tooltipHistogram_createMarkContent(encoding.tooltip || [], dimensions, encoding, defaultXFormatter)
12131
12255
  }
12132
12256
  };
12133
12257
  return result;
12134
12258
  };
12135
- const tooltipHistogram_createMarkContent = (tooltip, dimensions, encoding)=>{
12259
+ const tooltipHistogram_createMarkContent = (tooltip, dimensions, encoding, dimFormatter)=>{
12136
12260
  const dims = C(dimensions.filter((item)=>tooltip.includes(item.id)), T((item)=>item.id), T((item)=>item.alias));
12137
12261
  const dimContent = dims.map((item)=>({
12138
12262
  visible: true,
@@ -12154,7 +12278,7 @@
12154
12278
  shapeType: 'rectRound',
12155
12279
  key: (datum)=>{
12156
12280
  if (!datum) return '';
12157
- return `${datum[BinStartMeasureId]} ~ ${datum[BinEndMeasureId]}`;
12281
+ return `[${dimFormatter(+datum[BinStartMeasureId])}, ${dimFormatter(+datum[BinEndMeasureId])})`;
12158
12282
  },
12159
12283
  value: (datum)=>{
12160
12284
  if (!datum) return '';
@@ -12167,6 +12291,27 @@
12167
12291
  defaultContent
12168
12292
  ];
12169
12293
  };
12294
+ const histogramVerticalCrosshairRect = (spec, context)=>{
12295
+ const result = verticalCrosshairRect(spec, context);
12296
+ if (!result.crosshair) return result;
12297
+ const crosshair = result.crosshair;
12298
+ if (!crosshair.xField) return result;
12299
+ const defaultXFormatter = getDefaultXFormatterOfHistogram(context.advancedVSeed);
12300
+ crosshair.xField = {
12301
+ ...crosshair.xField || {},
12302
+ label: {
12303
+ ...crosshair.xField?.label || {},
12304
+ formatMethod: (text)=>{
12305
+ if (common_isArray(text)) return text;
12306
+ const binRange = `${text}`.split('~');
12307
+ const binStart = defaultXFormatter(+binRange[0]);
12308
+ const binEnd = defaultXFormatter(+binRange[1]);
12309
+ return 1 === binRange.length ? binStart : `[${binStart}, ${binEnd})`;
12310
+ }
12311
+ }
12312
+ };
12313
+ return result;
12314
+ };
12170
12315
  const gaussian = (u)=>1 / Math.sqrt(2 * Math.PI) * Math.exp(-0.5 * u * u);
12171
12316
  function scott(n, std, dim = 1) {
12172
12317
  return n <= 0 || 0 === std ? 0 : std * Math.pow(n, -1 / (dim + 4));
@@ -12306,7 +12451,7 @@
12306
12451
  const scaleY = s.getYAxisHelper().getScale?.(0);
12307
12452
  const viewData = s.getViewData()?.latestData;
12308
12453
  if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) return null;
12309
- const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>d[encoding.value?.[0]]);
12454
+ const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>+d[encoding.value?.[0]]);
12310
12455
  const res = kde_kde(simpleData, {
12311
12456
  bandwidth: Math.abs(viewData[0][BinEndMeasureId] - viewData[0][BinStartMeasureId])
12312
12457
  });
@@ -12442,7 +12587,7 @@
12442
12587
  const scaleY = s.getYAxisHelper().getScale?.(0);
12443
12588
  const viewData = s.getViewData()?.latestData;
12444
12589
  if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) return null;
12445
- const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>d[encoding.value?.[0]]);
12590
+ const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>+d[encoding.value?.[0]]);
12446
12591
  const res = ecdf(simpleData);
12447
12592
  const N = Math.max(3, Math.floor(simpleData.length / 4));
12448
12593
  const lineData = res.evaluateGrid(N);
@@ -12499,6 +12644,36 @@
12499
12644
  }
12500
12645
  });
12501
12646
  });
12647
+ const leftAxis = result.axes?.find((v)=>'left' === v.orient);
12648
+ if (leftAxis && lineList.length) result.axes?.push({
12649
+ visible: true,
12650
+ orient: 'right',
12651
+ type: 'linear',
12652
+ base: 10,
12653
+ min: 0,
12654
+ max: 1,
12655
+ domainLine: {
12656
+ ...leftAxis.domainLine
12657
+ },
12658
+ grid: {
12659
+ visible: false
12660
+ },
12661
+ tick: {
12662
+ ...leftAxis.tick
12663
+ },
12664
+ title: {
12665
+ ...leftAxis.title,
12666
+ visible: false
12667
+ },
12668
+ label: {
12669
+ ...leftAxis.label,
12670
+ visible: true,
12671
+ formatMethod: (v)=>{
12672
+ const text = common_isArray(v) ? v[0] : v;
12673
+ return `${(100 * text).toFixed(1)}%`;
12674
+ }
12675
+ }
12676
+ });
12502
12677
  return result;
12503
12678
  };
12504
12679
  const histogram = [
@@ -12512,7 +12687,7 @@
12512
12687
  label_label,
12513
12688
  tooltipHistogram,
12514
12689
  colorAdapter(discreteLegend, colorLegend),
12515
- verticalCrosshairRect,
12690
+ histogramVerticalCrosshairRect,
12516
12691
  colorBarStyleFill(barStyle_barStyle),
12517
12692
  annotationPoint_annotationPoint,
12518
12693
  annotationVerticalLine_annotationVerticalLine,
@@ -12536,7 +12711,7 @@
12536
12711
  label_label,
12537
12712
  tooltipHistogram,
12538
12713
  colorBarStyleFill(barStyle_barStyle),
12539
- verticalCrosshairRect,
12714
+ histogramVerticalCrosshairRect,
12540
12715
  annotationPoint_annotationPoint,
12541
12716
  annotationVerticalLine_annotationVerticalLine,
12542
12717
  annotationHorizontalLine_annotationHorizontalLine,
@@ -12650,10 +12825,21 @@
12650
12825
  maxSize: 1,
12651
12826
  shapeType: 'rectRound',
12652
12827
  position: 'rt',
12653
- labelColor: '#646A73',
12654
12828
  labelFontSize: 12,
12655
12829
  labelFontWeight: 400
12656
12830
  });
12831
+ const getDarkLegend = ()=>({
12832
+ ...getDefaultLegend(),
12833
+ labelColor: '#BBBDC3',
12834
+ pagerIconColor: '#89909D',
12835
+ pagerIconDisableColor: '#2A2D33'
12836
+ });
12837
+ const getLightLegend = ()=>({
12838
+ ...getDefaultLegend(),
12839
+ labelColor: '#606773',
12840
+ pagerIconColor: '#89909D',
12841
+ pagerIconDisableColor: '#F1F2F5'
12842
+ });
12657
12843
  const getDefaultTableConfig = ()=>({
12658
12844
  bodyFontSize: 12,
12659
12845
  bodyBackgroundColor: 'transparent',
@@ -12707,8 +12893,6 @@
12707
12893
  };
12708
12894
  const getDarkPivotChartGridConfig = ()=>{
12709
12895
  const res = pickPivotChartGridConfig(getDarkTableConfig());
12710
- res.chartGridColor = '#303339';
12711
- res.axisLabelColor = '#E2E3E6';
12712
12896
  return res;
12713
12897
  };
12714
12898
  const getDefaultTooltip = ()=>({
@@ -12750,13 +12934,13 @@
12750
12934
  title: {
12751
12935
  visible: false,
12752
12936
  titleText: '',
12753
- titleColor: '#646A73',
12937
+ titleColor: '#606773',
12754
12938
  titleFontSize: 12,
12755
12939
  titleFontWeight: 400
12756
12940
  },
12757
12941
  grid: {
12758
12942
  visible: true,
12759
- gridColor: '#36415926',
12943
+ gridColor: '#E3E5EB',
12760
12944
  gridWidth: 0.5,
12761
12945
  gridLineDash: [
12762
12946
  4,
@@ -12767,11 +12951,11 @@
12767
12951
  visible: false,
12768
12952
  tickInside: false,
12769
12953
  tickSize: 4,
12770
- tickColor: '#3641594d'
12954
+ tickColor: '#21252C'
12771
12955
  },
12772
12956
  line: {
12773
12957
  visible: false,
12774
- lineColor: '#3641594d',
12958
+ lineColor: '#21252C',
12775
12959
  lineWidth: 1
12776
12960
  }
12777
12961
  });
@@ -12796,13 +12980,13 @@
12796
12980
  title: {
12797
12981
  visible: false,
12798
12982
  titleText: '',
12799
- titleColor: '#646A73',
12983
+ titleColor: '#606773',
12800
12984
  titleFontSize: 12,
12801
12985
  titleFontWeight: 400
12802
12986
  },
12803
12987
  grid: {
12804
12988
  visible: false,
12805
- gridColor: '#36415926',
12989
+ gridColor: '#E3E5EB',
12806
12990
  gridWidth: 0.5,
12807
12991
  gridLineDash: [
12808
12992
  4,
@@ -12813,11 +12997,11 @@
12813
12997
  visible: false,
12814
12998
  tickInside: false,
12815
12999
  tickSize: 4,
12816
- tickColor: '#3641594d'
13000
+ tickColor: '#21252C'
12817
13001
  },
12818
13002
  line: {
12819
13003
  visible: true,
12820
- lineColor: '#3641594d',
13004
+ lineColor: '#21252C',
12821
13005
  lineWidth: 1
12822
13006
  }
12823
13007
  });
@@ -12827,14 +13011,14 @@
12827
13011
  label: {
12828
13012
  visible: true,
12829
13013
  labelAngle: 0,
12830
- labelColor: '#E2E3E6',
13014
+ labelColor: '#888C93',
12831
13015
  labelFontSize: 12,
12832
13016
  labelFontWeight: 400
12833
13017
  },
12834
13018
  title: {
12835
13019
  visible: false,
12836
13020
  titleText: '',
12837
- titleColor: '#FDFDFD',
13021
+ titleColor: '#BBBDC3',
12838
13022
  titleFontSize: 12,
12839
13023
  titleFontWeight: 400
12840
13024
  },
@@ -12851,11 +13035,11 @@
12851
13035
  visible: false,
12852
13036
  tickInside: false,
12853
13037
  tickSize: 4,
12854
- tickColor: '#4B4F54'
13038
+ tickColor: '#303339'
12855
13039
  },
12856
13040
  line: {
12857
13041
  visible: false,
12858
- lineColor: '#4B4F54',
13042
+ lineColor: '#303339',
12859
13043
  lineWidth: 1
12860
13044
  }
12861
13045
  });
@@ -12873,14 +13057,14 @@
12873
13057
  label: {
12874
13058
  visible: true,
12875
13059
  labelAngle: 0,
12876
- labelColor: '#E2E3E6',
13060
+ labelColor: '#888C93',
12877
13061
  labelFontSize: 12,
12878
13062
  labelFontWeight: 400
12879
13063
  },
12880
13064
  title: {
12881
13065
  visible: false,
12882
13066
  titleText: '',
12883
- titleColor: '#FDFDFD',
13067
+ titleColor: '#BBBDC3',
12884
13068
  titleFontSize: 12,
12885
13069
  titleFontWeight: 400
12886
13070
  },
@@ -12897,11 +13081,11 @@
12897
13081
  visible: false,
12898
13082
  tickInside: false,
12899
13083
  tickSize: 4,
12900
- tickColor: '#4B4F54'
13084
+ tickColor: '#303339'
12901
13085
  },
12902
13086
  line: {
12903
13087
  visible: true,
12904
- lineColor: '#4B4F54',
13088
+ lineColor: '#303339',
12905
13089
  lineWidth: 1
12906
13090
  }
12907
13091
  });
@@ -12909,15 +13093,15 @@
12909
13093
  textBackgroundVisible: true,
12910
13094
  textFontSize: 12,
12911
13095
  textFontWeight: 400,
12912
- textBackgroundBorderRadius: 4,
13096
+ textBackgroundBorderRadius: 0,
12913
13097
  textBackgroundBorderWidth: 1,
12914
13098
  textBackgroundPadding: 2
12915
13099
  });
12916
13100
  const getLightAnnotationPoint = ()=>({
12917
13101
  ...getDefaultAnnotationPoint(),
12918
13102
  textColor: '#ffffff',
12919
- textBackgroundColor: '#364159',
12920
- textBackgroundBorderColor: '#3641594d'
13103
+ textBackgroundColor: '#BCC1CB',
13104
+ textBackgroundBorderColor: '#BCC1CB'
12921
13105
  });
12922
13106
  const getDefaultAnnotationLine = ()=>({
12923
13107
  lineVisible: true,
@@ -12946,7 +13130,7 @@
12946
13130
  textBackgroundVisible: true,
12947
13131
  textBackgroundBorderWidth: 1,
12948
13132
  textBackgroundBorderRadius: 0,
12949
- textBackgroundPadding: 4,
13133
+ textBackgroundPadding: 2,
12950
13134
  areaBorderWidth: 0,
12951
13135
  areaBorderRadius: 0,
12952
13136
  areaLineDash: [
@@ -12972,9 +13156,9 @@
12972
13156
  });
12973
13157
  const getDarkAnnotationPoint = ()=>({
12974
13158
  ...getDefaultAnnotationPoint(),
12975
- textColor: '#4B4F54',
12976
- textBackgroundColor: '#ffffff',
12977
- textBackgroundBorderColor: '#ffffff'
13159
+ textColor: '#E2E3E6',
13160
+ textBackgroundColor: '#55595F',
13161
+ textBackgroundBorderColor: '#55595F'
12978
13162
  });
12979
13163
  const getDarkAnnotationHorizontalLine = ()=>({
12980
13164
  ...getDefaultAnnotationLine(),
@@ -13100,7 +13284,7 @@
13100
13284
  backgroundColor: 'transparent',
13101
13285
  color: getLightColor(),
13102
13286
  label: getLightLabel(),
13103
- legend: getDefaultLegend(),
13287
+ legend: getLightLegend(),
13104
13288
  tooltip: getLightTooltip()
13105
13289
  };
13106
13290
  const tableConfig = getLightTableConfig();
@@ -13369,7 +13553,7 @@
13369
13553
  backgroundColor: 'transparent',
13370
13554
  color: getDarkColor(),
13371
13555
  label: getDarkLabel(),
13372
- legend: getDefaultLegend(),
13556
+ legend: getDarkLegend(),
13373
13557
  tooltip: getDarkTooltip()
13374
13558
  };
13375
13559
  const tableConfig = getDarkTableConfig();
@@ -17037,9 +17221,9 @@
17037
17221
  const zMeasure = schemas_object({
17038
17222
  id: schemas_string(),
17039
17223
  alias: schemas_string().optional(),
17040
- autoFormat: schemas_boolean().default(true),
17041
- numFormat: zNumFormat["default"]({}),
17042
- format: zNumFormat["default"]({}),
17224
+ autoFormat: schemas_boolean().optional(),
17225
+ numFormat: zNumFormat.optional(),
17226
+ format: zNumFormat.optional(),
17043
17227
  encoding: schemas_enum([
17044
17228
  'primaryYAxis',
17045
17229
  'secondaryYAxis',
@@ -17052,7 +17236,16 @@
17052
17236
  'label',
17053
17237
  'tooltip',
17054
17238
  'detail',
17055
- 'column'
17239
+ 'column',
17240
+ 'value',
17241
+ 'q1',
17242
+ 'q3',
17243
+ 'min',
17244
+ 'max',
17245
+ 'median',
17246
+ 'outliers',
17247
+ 'x0',
17248
+ 'x1'
17056
17249
  ]).optional(),
17057
17250
  parentId: schemas_string().optional()
17058
17251
  });
@@ -17464,6 +17657,8 @@
17464
17657
  'br'
17465
17658
  ]).default('bottom').nullish(),
17466
17659
  labelColor: schemas_string().default('#fff').nullish(),
17660
+ pagerIconColor: schemas_string().nullish(),
17661
+ pagerIconDisableColor: schemas_string().nullish(),
17467
17662
  labelFontSize: schemas_number().default(12).nullish(),
17468
17663
  labelFontWeight: schemas_number().or(schemas_string()).default(400).nullish()
17469
17664
  });
@@ -18608,6 +18803,8 @@
18608
18803
  datasetReshapeInfo: zDatasetReshapeInfo,
18609
18804
  dimensions: zDimensionTree,
18610
18805
  measures: zMeasureTree,
18806
+ reshapeMeasures: zMeasureTree.optional(),
18807
+ reshapeDimensions: zDimensionTree.optional(),
18611
18808
  encoding: zEncoding,
18612
18809
  config: zConfig,
18613
18810
  analysis: zAnalysis,