@visactor/vseed 0.1.36 → 0.1.38

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 (302) hide show
  1. package/dist/cjs/index.cjs +2 -2
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/buildAdvanced.js +1 -1
  4. package/dist/esm/builder/builder/buildAdvanced.js.map +1 -1
  5. package/dist/esm/builder/builder/builder.d.ts +4183 -965
  6. package/dist/esm/builder/register/all.js +3 -1
  7. package/dist/esm/builder/register/all.js.map +1 -1
  8. package/dist/esm/builder/register/chartType/boxplot.d.ts +1 -0
  9. package/dist/esm/builder/register/chartType/boxplot.js +9 -0
  10. package/dist/esm/builder/register/chartType/boxplot.js.map +1 -0
  11. package/dist/esm/builder/register/chartType/histogram.d.ts +1 -0
  12. package/dist/esm/builder/register/chartType/histogram.js +9 -0
  13. package/dist/esm/builder/register/chartType/histogram.js.map +1 -0
  14. package/dist/esm/builder/register/chartType/index.d.ts +2 -0
  15. package/dist/esm/builder/register/chartType/index.js +3 -1
  16. package/dist/esm/dataReshape/constant.d.ts +10 -0
  17. package/dist/esm/dataReshape/constant.js +11 -1
  18. package/dist/esm/dataReshape/constant.js.map +1 -1
  19. package/dist/esm/dataReshape/unfoldDimensions.js +2 -2
  20. package/dist/esm/dataReshape/unfoldDimensions.js.map +1 -1
  21. package/dist/esm/index.d.ts +1 -1
  22. package/dist/esm/index.js +2 -2
  23. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.d.ts +2 -0
  24. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js +33 -0
  25. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js.map +1 -0
  26. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.d.ts +2 -0
  27. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js +34 -0
  28. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -0
  29. package/dist/esm/pipeline/advanced/chart/pipeline/index.d.ts +2 -0
  30. package/dist/esm/pipeline/advanced/chart/pipeline/index.js +3 -1
  31. package/dist/esm/pipeline/advanced/chart/pipes/config/boxplot.d.ts +2 -0
  32. package/dist/esm/pipeline/advanced/chart/pipes/config/boxplot.js +31 -0
  33. package/dist/esm/pipeline/advanced/chart/pipes/config/boxplot.js.map +1 -0
  34. package/dist/esm/pipeline/advanced/chart/pipes/config/column.js +3 -1
  35. package/dist/esm/pipeline/advanced/chart/pipes/config/column.js.map +1 -1
  36. package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js +4 -1
  37. package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js.map +1 -1
  38. package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.d.ts +2 -0
  39. package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js +33 -0
  40. package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js.map +1 -0
  41. package/dist/esm/pipeline/advanced/chart/pipes/config/index.d.ts +3 -1
  42. package/dist/esm/pipeline/advanced/chart/pipes/config/index.js +3 -1
  43. package/dist/esm/pipeline/advanced/chart/pipes/config/index.js.map +1 -1
  44. package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.d.ts +3 -0
  45. package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js +80 -0
  46. package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js.map +1 -0
  47. package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.d.ts +3 -0
  48. package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js +78 -0
  49. package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js.map +1 -0
  50. package/dist/esm/pipeline/advanced/chart/pipes/encoding/index.d.ts +2 -0
  51. package/dist/esm/pipeline/advanced/chart/pipes/encoding/index.js +3 -1
  52. package/dist/esm/pipeline/advanced/chart/pipes/index.d.ts +1 -0
  53. package/dist/esm/pipeline/advanced/chart/pipes/index.js +1 -0
  54. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasures.js.map +1 -1
  55. package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/index.d.ts +1 -0
  56. package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/index.js +2 -0
  57. package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/regressionLine.d.ts +2 -0
  58. package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/regressionLine.js +8 -0
  59. package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/regressionLine.js.map +1 -0
  60. package/dist/esm/pipeline/advanced/chart/pipes/reshape/index.d.ts +4 -0
  61. package/dist/esm/pipeline/advanced/chart/pipes/reshape/index.js +5 -1
  62. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.d.ts +2 -0
  63. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js +96 -0
  64. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -0
  65. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.d.ts +2 -0
  66. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js +96 -0
  67. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -0
  68. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.d.ts +2 -0
  69. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js +84 -0
  70. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js.map +1 -0
  71. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.d.ts +2 -0
  72. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js +86 -0
  73. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -0
  74. package/dist/esm/pipeline/spec/chart/pipeline/bar.js +2 -2
  75. package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
  76. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js +3 -1
  77. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
  78. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js +2 -1
  79. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
  80. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.d.ts +2 -0
  81. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js +52 -0
  82. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js.map +1 -0
  83. package/dist/esm/pipeline/spec/chart/pipeline/column.js +2 -1
  84. package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
  85. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js +3 -1
  86. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
  87. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js +2 -1
  88. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
  89. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js +13 -1
  90. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
  91. package/dist/esm/pipeline/spec/chart/pipeline/histogram.d.ts +2 -0
  92. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js +52 -0
  93. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -0
  94. package/dist/esm/pipeline/spec/chart/pipeline/index.d.ts +2 -0
  95. package/dist/esm/pipeline/spec/chart/pipeline/index.js +3 -1
  96. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.js.map +1 -1
  97. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPoint.js.map +1 -1
  98. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.d.ts +2 -0
  99. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.js +14 -0
  100. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.js.map +1 -0
  101. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.d.ts +2 -0
  102. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.js +14 -0
  103. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.js.map +1 -0
  104. package/dist/esm/pipeline/spec/chart/pipes/barWidth/index.d.ts +2 -0
  105. package/dist/esm/pipeline/spec/chart/pipes/barWidth/index.js +2 -0
  106. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.d.ts +2 -0
  107. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.js +18 -0
  108. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.js.map +1 -0
  109. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.d.ts +2 -0
  110. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.js +18 -0
  111. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.js.map +1 -0
  112. package/dist/esm/pipeline/spec/chart/pipes/dataset/index.d.ts +2 -0
  113. package/dist/esm/pipeline/spec/chart/pipes/dataset/index.js +3 -1
  114. package/dist/esm/pipeline/spec/chart/pipes/dataset/progressive.js +4 -8
  115. package/dist/esm/pipeline/spec/chart/pipes/dataset/progressive.js.map +1 -1
  116. package/dist/esm/pipeline/spec/chart/pipes/index.d.ts +2 -0
  117. package/dist/esm/pipeline/spec/chart/pipes/index.js +2 -0
  118. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.d.ts +2 -0
  119. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js +37 -0
  120. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js.map +1 -0
  121. package/dist/esm/pipeline/spec/chart/pipes/init/histogram.d.ts +2 -0
  122. package/dist/esm/pipeline/spec/chart/pipes/init/histogram.js +21 -0
  123. package/dist/esm/pipeline/spec/chart/pipes/init/histogram.js.map +1 -0
  124. package/dist/esm/pipeline/spec/chart/pipes/init/index.d.ts +2 -0
  125. package/dist/esm/pipeline/spec/chart/pipes/init/index.js +3 -1
  126. package/dist/esm/pipeline/spec/chart/pipes/label/label.d.ts +15 -4
  127. package/dist/esm/pipeline/spec/chart/pipes/label/label.js +2 -1
  128. package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
  129. package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.js.map +1 -1
  130. package/dist/esm/pipeline/spec/chart/pipes/label/labelPie.js.map +1 -1
  131. package/dist/esm/pipeline/spec/chart/pipes/label/labelScatter.js.map +1 -1
  132. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js.map +1 -1
  133. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.js.map +1 -1
  134. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointState.js.map +1 -1
  135. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js.map +1 -1
  136. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js +37 -14
  137. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js.map +1 -1
  138. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js.map +1 -1
  139. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js.map +1 -1
  140. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/histogramRegressionLine.d.ts +2 -0
  141. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/histogramRegressionLine.js +126 -0
  142. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/histogramRegressionLine.js.map +1 -0
  143. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/index.d.ts +1 -0
  144. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/index.js +1 -0
  145. package/dist/esm/pipeline/spec/chart/pipes/stack/stackCornerRadius.js +1 -0
  146. package/dist/esm/pipeline/spec/chart/pipes/stack/stackCornerRadius.js.map +1 -1
  147. package/dist/esm/pipeline/spec/chart/pipes/tooltip/index.d.ts +2 -0
  148. package/dist/esm/pipeline/spec/chart/pipes/tooltip/index.js +3 -1
  149. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.d.ts +2 -0
  150. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js +98 -0
  151. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js.map +1 -0
  152. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.d.ts +2 -0
  153. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js +69 -0
  154. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js.map +1 -0
  155. package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js.map +1 -1
  156. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js +1 -2
  157. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js.map +1 -1
  158. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
  159. package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.js +1 -0
  160. package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.js.map +1 -1
  161. package/dist/esm/pipeline/spec/table/pipes/theme/cornerHeaderStyle.js.map +1 -1
  162. package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.js.map +1 -1
  163. package/dist/esm/pipeline/spec/table/pipes/theme/headerStyle.js.map +1 -1
  164. package/dist/esm/pipeline/spec/table/pipes/theme/rowHeaderStyle.js.map +1 -1
  165. package/dist/esm/pipeline/spec/table/pipes/theme/scrollStyle.js.map +1 -1
  166. package/dist/esm/pipeline/spec/table/pipes/theme/selectionStyle.js.map +1 -1
  167. package/dist/esm/pipeline/spec/table/pipes/theme/type.d.ts +13 -0
  168. package/dist/esm/pipeline/spec/table/pipes/theme/type.js +0 -0
  169. package/dist/esm/pipeline/utils/constant.d.ts +2 -0
  170. package/dist/esm/pipeline/utils/constant.js +3 -1
  171. package/dist/esm/pipeline/utils/constant.js.map +1 -1
  172. package/dist/esm/theme/common/annotaion.d.ts +3 -0
  173. package/dist/esm/theme/common/annotaion.js +33 -49
  174. package/dist/esm/theme/common/annotaion.js.map +1 -1
  175. package/dist/esm/theme/common/label.d.ts +18 -0
  176. package/dist/esm/theme/common/label.js +9 -1
  177. package/dist/esm/theme/common/label.js.map +1 -1
  178. package/dist/esm/theme/common/regressionLine.d.ts +4 -0
  179. package/dist/esm/theme/common/regressionLine.js +16 -0
  180. package/dist/esm/theme/common/regressionLine.js.map +1 -0
  181. package/dist/esm/theme/common/table.d.ts +17 -8
  182. package/dist/esm/theme/common/table.js +11 -8
  183. package/dist/esm/theme/common/table.js.map +1 -1
  184. package/dist/esm/theme/dark/dark.js +20 -2
  185. package/dist/esm/theme/dark/dark.js.map +1 -1
  186. package/dist/esm/theme/light/light.js +20 -2
  187. package/dist/esm/theme/light/light.js.map +1 -1
  188. package/dist/esm/types/advancedVSeed.d.ts +1453 -17
  189. package/dist/esm/types/advancedVSeed.js +3 -2
  190. package/dist/esm/types/advancedVSeed.js.map +1 -1
  191. package/dist/esm/types/chartType/area/zArea.d.ts +9 -0
  192. package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +9 -0
  193. package/dist/esm/types/chartType/bar/bar.d.ts +5 -1
  194. package/dist/esm/types/chartType/bar/zBar.d.ts +10 -0
  195. package/dist/esm/types/chartType/bar/zBar.js +2 -1
  196. package/dist/esm/types/chartType/bar/zBar.js.map +1 -1
  197. package/dist/esm/types/chartType/barParallel/barParallel.d.ts +9 -1
  198. package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +11 -0
  199. package/dist/esm/types/chartType/barParallel/zBarParallel.js +3 -1
  200. package/dist/esm/types/chartType/barParallel/zBarParallel.js.map +1 -1
  201. package/dist/esm/types/chartType/barPercent/barPercent.d.ts +5 -1
  202. package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +10 -0
  203. package/dist/esm/types/chartType/barPercent/zBarPercent.js +2 -1
  204. package/dist/esm/types/chartType/barPercent/zBarPercent.js.map +1 -1
  205. package/dist/esm/types/chartType/boxplot/boxplot.d.ts +144 -0
  206. package/dist/esm/types/chartType/boxplot/boxplot.js +0 -0
  207. package/dist/esm/types/chartType/boxplot/index.d.ts +2 -0
  208. package/dist/esm/types/chartType/boxplot/index.js +1 -0
  209. package/dist/esm/types/chartType/boxplot/zBoxplot.d.ts +1185 -0
  210. package/dist/esm/types/chartType/boxplot/zBoxplot.js +30 -0
  211. package/dist/esm/types/chartType/boxplot/zBoxplot.js.map +1 -0
  212. package/dist/esm/types/chartType/column/column.d.ts +5 -1
  213. package/dist/esm/types/chartType/column/zColumn.d.ts +26 -0
  214. package/dist/esm/types/chartType/column/zColumn.js +4 -1
  215. package/dist/esm/types/chartType/column/zColumn.js.map +1 -1
  216. package/dist/esm/types/chartType/columnParallel/columnParallel.d.ts +9 -1
  217. package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +11 -0
  218. package/dist/esm/types/chartType/columnParallel/zColumnParallel.js +3 -1
  219. package/dist/esm/types/chartType/columnParallel/zColumnParallel.js.map +1 -1
  220. package/dist/esm/types/chartType/columnPercent/columnPercent.d.ts +5 -1
  221. package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +10 -0
  222. package/dist/esm/types/chartType/columnPercent/zColumnPercent.js +2 -1
  223. package/dist/esm/types/chartType/columnPercent/zColumnPercent.js.map +1 -1
  224. package/dist/esm/types/chartType/donut/zDonut.d.ts +9 -0
  225. package/dist/esm/types/chartType/dualAxis/dualAxis.d.ts +9 -1
  226. package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +2 -0
  227. package/dist/esm/types/chartType/dualAxis/zDualAxis.js +3 -1
  228. package/dist/esm/types/chartType/dualAxis/zDualAxis.js.map +1 -1
  229. package/dist/esm/types/chartType/funnel/zFunnel.d.ts +9 -0
  230. package/dist/esm/types/chartType/histogram/histogram.d.ts +127 -0
  231. package/dist/esm/types/chartType/histogram/histogram.js +0 -0
  232. package/dist/esm/types/chartType/histogram/index.d.ts +2 -0
  233. package/dist/esm/types/chartType/histogram/index.js +1 -0
  234. package/dist/esm/types/chartType/histogram/zHistogram.d.ts +1377 -0
  235. package/dist/esm/types/chartType/histogram/zHistogram.js +32 -0
  236. package/dist/esm/types/chartType/histogram/zHistogram.js.map +1 -0
  237. package/dist/esm/types/chartType/index.d.ts +3 -0
  238. package/dist/esm/types/chartType/index.js +2 -0
  239. package/dist/esm/types/chartType/line/zLine.d.ts +9 -0
  240. package/dist/esm/types/chartType/pie/zPie.d.ts +9 -0
  241. package/dist/esm/types/chartType/radar/zRadar.d.ts +9 -0
  242. package/dist/esm/types/chartType/rose/zRose.d.ts +9 -0
  243. package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +9 -0
  244. package/dist/esm/types/chartType/scatter/zScatter.d.ts +9 -0
  245. package/dist/esm/types/properties/chartType/chartType.d.ts +3 -1
  246. package/dist/esm/types/properties/chartType/chartType.js +3 -1
  247. package/dist/esm/types/properties/chartType/chartType.js.map +1 -1
  248. package/dist/esm/types/properties/config/area.d.ts +4 -0
  249. package/dist/esm/types/properties/config/bar.d.ts +6 -0
  250. package/dist/esm/types/properties/config/barWidth/index.d.ts +5 -0
  251. package/dist/esm/types/properties/config/barWidth/index.js +6 -0
  252. package/dist/esm/types/properties/config/barWidth/index.js.map +1 -0
  253. package/dist/esm/types/properties/config/boxplot.d.ts +326 -0
  254. package/dist/esm/types/properties/config/boxplot.js +27 -0
  255. package/dist/esm/types/properties/config/boxplot.js.map +1 -0
  256. package/dist/esm/types/properties/config/column.d.ts +12 -0
  257. package/dist/esm/types/properties/config/column.js +3 -0
  258. package/dist/esm/types/properties/config/column.js.map +1 -1
  259. package/dist/esm/types/properties/config/config.d.ts +703 -0
  260. package/dist/esm/types/properties/config/config.js +5 -1
  261. package/dist/esm/types/properties/config/config.js.map +1 -1
  262. package/dist/esm/types/properties/config/dualAxis.d.ts +2 -0
  263. package/dist/esm/types/properties/config/funnel.d.ts +2 -0
  264. package/dist/esm/types/properties/config/heatmap.d.ts +2 -0
  265. package/dist/esm/types/properties/config/histogram.d.ts +339 -0
  266. package/dist/esm/types/properties/config/histogram.js +32 -0
  267. package/dist/esm/types/properties/config/histogram.js.map +1 -0
  268. package/dist/esm/types/properties/config/index.d.ts +2 -0
  269. package/dist/esm/types/properties/config/index.js +2 -0
  270. package/dist/esm/types/properties/config/label/label.d.ts +4 -0
  271. package/dist/esm/types/properties/config/line.d.ts +2 -0
  272. package/dist/esm/types/properties/config/pie.d.ts +6 -0
  273. package/dist/esm/types/properties/config/pivotGrid/pivotGrid.d.ts +2 -0
  274. package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js +3 -1
  275. package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js.map +1 -1
  276. package/dist/esm/types/properties/config/rose.d.ts +4 -0
  277. package/dist/esm/types/properties/config/scatter.d.ts +2 -0
  278. package/dist/esm/types/properties/config/whiskers/index.d.ts +3 -0
  279. package/dist/esm/types/properties/config/whiskers/index.js +5 -0
  280. package/dist/esm/types/properties/config/whiskers/index.js.map +1 -0
  281. package/dist/esm/types/properties/encoding/encoding.d.ts +36 -0
  282. package/dist/esm/types/properties/encoding/measureEncoding.d.ts +1 -1
  283. package/dist/esm/types/properties/encoding/zEncoding.d.ts +9 -0
  284. package/dist/esm/types/properties/encoding/zEncoding.js +10 -1
  285. package/dist/esm/types/properties/encoding/zEncoding.js.map +1 -1
  286. package/dist/esm/types/properties/index.d.ts +1 -0
  287. package/dist/esm/types/properties/index.js +1 -0
  288. package/dist/esm/types/properties/regressionLine/histogramRegressionLine.d.ts +45 -0
  289. package/dist/esm/types/properties/regressionLine/histogramRegressionLine.js +0 -0
  290. package/dist/esm/types/properties/regressionLine/index.d.ts +2 -0
  291. package/dist/esm/types/properties/regressionLine/index.js +1 -0
  292. package/dist/esm/types/properties/regressionLine/zHistogramRegressionLine.d.ts +11 -0
  293. package/dist/esm/types/properties/regressionLine/zHistogramRegressionLine.js +17 -0
  294. package/dist/esm/types/properties/regressionLine/zHistogramRegressionLine.js.map +1 -0
  295. package/dist/esm/types/properties/theme/customTheme.d.ts +1950 -544
  296. package/dist/esm/types/vseed.d.ts +2 -2
  297. package/dist/esm/types/zVseed.d.ts +2727 -0
  298. package/dist/esm/types/zVseed.js +4 -2
  299. package/dist/esm/types/zVseed.js.map +1 -1
  300. package/dist/umd/index.js +1850 -208
  301. package/dist/umd/index.js.map +1 -1
  302. package/package.json +6 -4
@@ -14,6 +14,8 @@ const pivotGridStyle = (spec, context)=>{
14
14
  const headerBackgroundColor = themConfig.headerBackgroundColor ?? 'rgba(0,0,0,0)';
15
15
  const hoverHeaderBackgroundColor = onlyCombination ? transparent : themConfig.hoverHeaderBackgroundColor ?? '#D9DDE4';
16
16
  const hoverHeaderInlineBackgroundColor = onlyCombination ? transparent : themConfig.hoverHeaderInlineBackgroundColor ?? '#D9DDE455';
17
+ const outlineBorderLineWidth = themConfig.outlineBorderLineWidth ?? 0;
18
+ const frameCornerRadius = themConfig.frameCornerRadius ?? 0;
17
19
  return {
18
20
  ...result,
19
21
  theme: {
@@ -23,8 +25,8 @@ const pivotGridStyle = (spec, context)=>{
23
25
  color: bodyFontColor,
24
26
  borderLineWidth: [
25
27
  1,
26
- 1,
27
- 1,
28
+ outlineBorderLineWidth,
29
+ 0,
28
30
  1
29
31
  ],
30
32
  bgColor: transparent,
@@ -35,7 +37,12 @@ const pivotGridStyle = (spec, context)=>{
35
37
  headerStyle: {
36
38
  borderColor,
37
39
  fontSize: 12,
38
- borderLineWidth: 1,
40
+ borderLineWidth: [
41
+ outlineBorderLineWidth,
42
+ outlineBorderLineWidth,
43
+ 1,
44
+ 1
45
+ ],
39
46
  color: headerFontColor,
40
47
  textAlign: 'center',
41
48
  bgColor: headerBackgroundColor,
@@ -49,7 +56,12 @@ const pivotGridStyle = (spec, context)=>{
49
56
  borderColor,
50
57
  fontSize: 12,
51
58
  color: headerFontColor,
52
- borderLineWidth: 1,
59
+ borderLineWidth: [
60
+ 1,
61
+ 1,
62
+ 1,
63
+ outlineBorderLineWidth
64
+ ],
53
65
  bgColor: headerBackgroundColor,
54
66
  hover: {
55
67
  cellBgColor: hoverHeaderBackgroundColor,
@@ -63,15 +75,20 @@ const pivotGridStyle = (spec, context)=>{
63
75
  fontSize: 12,
64
76
  color: headerFontColor,
65
77
  fontWeight: 'bold',
66
- borderLineWidth: 1,
78
+ borderLineWidth: [
79
+ outlineBorderLineWidth,
80
+ 1,
81
+ 1,
82
+ outlineBorderLineWidth
83
+ ],
67
84
  bgColor: headerBackgroundColor,
68
85
  frameStyle: {
69
86
  borderColor,
70
87
  borderLineWidth: [
71
- 1,
88
+ outlineBorderLineWidth,
72
89
  0,
73
90
  0,
74
- 1
91
+ outlineBorderLineWidth
75
92
  ]
76
93
  },
77
94
  hover: {
@@ -86,7 +103,7 @@ const pivotGridStyle = (spec, context)=>{
86
103
  frameStyle: {
87
104
  borderColor,
88
105
  borderLineWidth: [
89
- 1,
106
+ outlineBorderLineWidth,
90
107
  1,
91
108
  0,
92
109
  1
@@ -102,8 +119,8 @@ const pivotGridStyle = (spec, context)=>{
102
119
  borderLineWidth: [
103
120
  1,
104
121
  0,
105
- 1,
106
- 1
122
+ outlineBorderLineWidth,
123
+ outlineBorderLineWidth
107
124
  ],
108
125
  bgColor: headerBackgroundColor,
109
126
  frameStyle: {
@@ -111,8 +128,8 @@ const pivotGridStyle = (spec, context)=>{
111
128
  borderLineWidth: [
112
129
  1,
113
130
  0,
114
- 1,
115
- 1
131
+ outlineBorderLineWidth,
132
+ outlineBorderLineWidth
116
133
  ]
117
134
  },
118
135
  hover: {
@@ -146,7 +163,12 @@ const pivotGridStyle = (spec, context)=>{
146
163
  },
147
164
  bottomFrozenStyle: {
148
165
  borderColor,
149
- borderLineWidth: 1,
166
+ borderLineWidth: [
167
+ 1,
168
+ outlineBorderLineWidth,
169
+ outlineBorderLineWidth,
170
+ 1
171
+ ],
150
172
  bgColor: headerBackgroundColor,
151
173
  hover: {
152
174
  cellBgColor: hoverHeaderBackgroundColor
@@ -158,7 +180,8 @@ const pivotGridStyle = (spec, context)=>{
158
180
  },
159
181
  frameStyle: {
160
182
  borderColor,
161
- cornerRadius: 4
183
+ cornerRadius: frameCornerRadius,
184
+ borderLineWidth: outlineBorderLineWidth
162
185
  }
163
186
  }
164
187
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { isCombination, isPivot } from 'src/pipeline/utils'\nimport type { Config, SpecPipe } from 'src/types'\n\nexport const pivotGridStyle: SpecPipe = (spec, context) => {\n const { vseed, advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n const onlyCombination = !isPivot(vseed) && isCombination(vseed)\n\n const result = { ...spec } as PivotChartConstructorOptions\n const transparent = 'rgba(0,0,0,0)'\n\n const borderColor = themConfig.borderColor ?? '#e3e5eb'\n const bodyFontColor = themConfig.bodyFontColor ?? '#141414'\n const headerFontColor = themConfig.headerFontColor ?? '#21252c'\n const headerBackgroundColor = themConfig.headerBackgroundColor ?? 'rgba(0,0,0,0)'\n const hoverHeaderBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderBackgroundColor ?? '#D9DDE4')\n const hoverHeaderInlineBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderInlineBackgroundColor ?? '#D9DDE455')\n\n return {\n ...result,\n theme: {\n underlayBackgroundColor: transparent,\n bodyStyle: {\n borderColor,\n color: bodyFontColor,\n borderLineWidth: [1, 1, 1, 1],\n bgColor: transparent,\n hover: {\n cellBgColor: 'transparent',\n },\n },\n headerStyle: {\n borderColor,\n fontSize: 12,\n borderLineWidth: 1,\n color: headerFontColor,\n textAlign: 'center',\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n rowHeaderStyle: {\n borderColor,\n fontSize: 12,\n color: headerFontColor,\n borderLineWidth: 1,\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerHeaderStyle: {\n borderColor,\n textAlign: 'center',\n fontSize: 12,\n color: headerFontColor,\n fontWeight: 'bold',\n borderLineWidth: 1,\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 0, 0, 1],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerRightTopCellStyle: {\n borderColor,\n borderLineWidth: 0,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 1, 0, 1],\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerLeftBottomCellStyle: {\n borderColor,\n borderLineWidth: [1, 0, 1, 1],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 0, 1, 1],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightBottomCellStyle: {\n borderColor,\n borderLineWidth: 0,\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 1, 1, 1],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n rightFrozenStyle: {\n borderColor,\n borderLineWidth: 1,\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n bottomFrozenStyle: {\n borderColor,\n borderLineWidth: 1,\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n selectionStyle: {\n cellBgColor: '',\n cellBorderColor: '',\n },\n frameStyle: {\n borderColor,\n cornerRadius: 4,\n },\n },\n }\n}\n"],"names":["pivotGridStyle","spec","context","vseed","advancedVSeed","config","chartType","themConfig","onlyCombination","isPivot","isCombination","result","transparent","borderColor","bodyFontColor","headerFontColor","headerBackgroundColor","hoverHeaderBackgroundColor","hoverHeaderInlineBackgroundColor","undefined"],"mappings":";AAIO,MAAMA,iBAA2B,CAACC,MAAMC;IAC7C,MAAM,EAAEC,KAAK,EAAEC,aAAa,EAAE,GAAGF;IACjC,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAE,GAAGF;IAC9B,MAAMG,aAAcF,QAAQ,CAACC,UAAU,EAAqB,aAAa,CAAC;IAE1E,MAAME,kBAAkB,CAACC,QAAQN,UAAUO,cAAcP;IAEzD,MAAMQ,SAAS;QAAE,GAAGV,IAAI;IAAC;IACzB,MAAMW,cAAc;IAEpB,MAAMC,cAAcN,WAAW,WAAW,IAAI;IAC9C,MAAMO,gBAAgBP,WAAW,aAAa,IAAI;IAClD,MAAMQ,kBAAkBR,WAAW,eAAe,IAAI;IACtD,MAAMS,wBAAwBT,WAAW,qBAAqB,IAAI;IAClE,MAAMU,6BAA6BT,kBAC/BI,cACCL,WAAW,0BAA0B,IAAI;IAC9C,MAAMW,mCAAmCV,kBACrCI,cACCL,WAAW,gCAAgC,IAAI;IAEpD,OAAO;QACL,GAAGI,MAAM;QACT,OAAO;YACL,yBAAyBC;YACzB,WAAW;gBACTC;gBACA,OAAOC;gBACP,iBAAiB;oBAAC;oBAAG;oBAAG;oBAAG;iBAAE;gBAC7B,SAASF;gBACT,OAAO;oBACL,aAAa;gBACf;YACF;YACA,aAAa;gBACXC;gBACA,UAAU;gBACV,iBAAiB;gBACjB,OAAOE;gBACP,WAAW;gBACX,SAASC;gBACT,OAAO;oBACL,aAAaC;oBACb,kBAAkBC,oCAAoCC;oBACtD,qBAAqBD,oCAAoCC;gBAC3D;YACF;YACA,gBAAgB;gBACdN;gBACA,UAAU;gBACV,OAAOE;gBACP,iBAAiB;gBACjB,SAASC;gBACT,OAAO;oBACL,aAAaC;oBACb,kBAAkBC,oCAAoCC;oBACtD,qBAAqBD,oCAAoCC;gBAC3D;YACF;YACA,mBAAmB;gBACjBN;gBACA,WAAW;gBACX,UAAU;gBACV,OAAOE;gBACP,YAAY;gBACZ,iBAAiB;gBACjB,SAASC;gBACT,YAAY;oBACVH;oBACA,iBAAiB;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBAC/B;gBACA,OAAO;oBACL,aAAaI;oBACb,kBAAkBC,oCAAoCC;oBACtD,qBAAqBD,oCAAoCC;gBAC3D;YACF;YACA,yBAAyB;gBACvBN;gBACA,iBAAiB;gBACjB,YAAY;oBACVA;oBACA,iBAAiB;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBAC/B;gBACA,SAASG;gBACT,OAAO;oBACL,aAAaC;gBACf;YACF;YACA,2BAA2B;gBACzBJ;gBACA,iBAAiB;oBAAC;oBAAG;oBAAG;oBAAG;iBAAE;gBAC7B,SAASG;gBACT,YAAY;oBACVH;oBACA,iBAAiB;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBAC/B;gBACA,OAAO;oBACL,aAAaI;gBACf;YACF;YACA,4BAA4B;gBAC1BJ;gBACA,iBAAiB;gBACjB,SAASG;gBACT,YAAY;oBACVH;oBACA,iBAAiB;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBAC/B;gBACA,OAAO;oBACL,aAAaI;gBACf;YACF;YACA,kBAAkB;gBAChBJ;gBACA,iBAAiB;gBACjB,SAASG;gBACT,OAAO;oBACL,aAAaC;gBACf;YACF;YACA,mBAAmB;gBACjBJ;gBACA,iBAAiB;gBACjB,SAASG;gBACT,OAAO;oBACL,aAAaC;gBACf;YACF;YACA,gBAAgB;gBACd,aAAa;gBACb,iBAAiB;YACnB;YACA,YAAY;gBACVJ;gBACA,cAAc;YAChB;QACF;IACF;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { isCombination, isPivot } from 'src/pipeline/utils'\nimport type { Config, SpecPipe } from 'src/types'\n\nexport const pivotGridStyle: SpecPipe = (spec, context) => {\n const { vseed, advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n const onlyCombination = !isPivot(vseed) && isCombination(vseed)\n\n const result = { ...spec } as PivotChartConstructorOptions\n const transparent = 'rgba(0,0,0,0)'\n\n const borderColor = themConfig.borderColor ?? '#e3e5eb'\n const bodyFontColor = themConfig.bodyFontColor ?? '#141414'\n const headerFontColor = themConfig.headerFontColor ?? '#21252c'\n const headerBackgroundColor = themConfig.headerBackgroundColor ?? 'rgba(0,0,0,0)'\n const hoverHeaderBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderBackgroundColor ?? '#D9DDE4')\n const hoverHeaderInlineBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderInlineBackgroundColor ?? '#D9DDE455')\n const outlineBorderLineWidth = themConfig.outlineBorderLineWidth ?? 0\n const frameCornerRadius = themConfig.frameCornerRadius ?? 0\n\n return {\n ...result,\n theme: {\n underlayBackgroundColor: transparent,\n bodyStyle: {\n borderColor,\n color: bodyFontColor,\n borderLineWidth: [1, outlineBorderLineWidth, 0, 1],\n bgColor: transparent,\n hover: {\n cellBgColor: 'transparent',\n },\n },\n headerStyle: {\n borderColor,\n fontSize: 12,\n borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n color: headerFontColor,\n textAlign: 'center',\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n rowHeaderStyle: {\n borderColor,\n fontSize: 12,\n color: headerFontColor,\n borderLineWidth: [1, 1, 1, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerHeaderStyle: {\n borderColor,\n textAlign: 'center',\n fontSize: 12,\n color: headerFontColor,\n fontWeight: 'bold',\n borderLineWidth: [outlineBorderLineWidth, 1, 1, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, 0, 0, outlineBorderLineWidth],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerRightTopCellStyle: {\n borderColor,\n borderLineWidth: 0,\n frameStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, 1, 0, 1],\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerLeftBottomCellStyle: {\n borderColor,\n borderLineWidth: [1, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightBottomCellStyle: {\n borderColor,\n borderLineWidth: 0,\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 1, 1, 1],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n rightFrozenStyle: {\n borderColor,\n borderLineWidth: 1,\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n bottomFrozenStyle: {\n borderColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n selectionStyle: {\n cellBgColor: '',\n cellBorderColor: '',\n },\n frameStyle: {\n borderColor,\n cornerRadius: frameCornerRadius,\n borderLineWidth: outlineBorderLineWidth,\n },\n },\n }\n}\n"],"names":["pivotGridStyle","spec","context","vseed","advancedVSeed","config","chartType","themConfig","onlyCombination","isPivot","isCombination","result","transparent","borderColor","bodyFontColor","headerFontColor","headerBackgroundColor","hoverHeaderBackgroundColor","hoverHeaderInlineBackgroundColor","outlineBorderLineWidth","frameCornerRadius","undefined"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../../utils'\nimport type { Dataset, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: SpecPipeline): SpecPipe =>\n (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, dataset } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const measure = measures?.find((d) => d.id === reshapeInfo.id)\n const newDataset = dataset[index] as Dataset\n const newDatasetReshapeInfo = [\n {\n ...reshapeInfo,\n unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems },\n },\n ]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n datasetReshapeInfo: newDatasetReshapeInfo,\n dataset: newDataset,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: reshapeInfo.id,\n title: measure?.alias,\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as PivotChartConstructorOptions\n }\n\nexport const pivotIndicatorsAsRow: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n"],"names":["pivotIndicators","chartPipeline","spec","context","result","advancedVSeed","measures","datasetReshapeInfo","dataset","colorItems","unique","d","indicators","reshapeInfo","index","measure","newDataset","newDatasetReshapeInfo","newContext","chartSpec","execPipeline","pivotIndicatorsAsRow","pivotIndicatorsAsCol"],"mappings":";;AAKO,MAAMA,kBACX,CAACC,gBACD,CAACC,MAAMC;QACL,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;QAC1B,MAAM,EAAEG,QAAQ,EAAEC,kBAAkB,EAAEC,OAAO,EAAE,GAAGH;QAElD,MAAMI,aAAaC,OAAOH,mBAAmB,OAAO,CAAC,CAACI,IAAMA,EAAE,UAAU,CAAC,UAAU;QAEnF,MAAMC,aAAaL,mBAAmB,GAAG,CAAC,CAACM,aAAaC;YACtD,MAAMC,UAAUT,UAAU,KAAK,CAACK,IAAMA,EAAE,EAAE,KAAKE,YAAY,EAAE;YAC7D,MAAMG,aAAaR,OAAO,CAACM,MAAM;YACjC,MAAMG,wBAAwB;gBAC5B;oBACE,GAAGJ,WAAW;oBACd,YAAY;wBAAE,GAAGA,YAAY,UAAU;wBAAEJ;oBAAW;gBACtD;aACD;YACD,MAAMS,aAAkC;gBACtC,GAAGf,OAAO;gBACV,eAAe;oBACb,GAAGE,aAAa;oBAChB,oBAAoBY;oBACpB,SAASD;gBACX;YACF;YAEA,MAAMG,YAAYC,aAAanB,eAAeiB,YAAY,CAAC;YAC3D,OAAO;gBACL,cAAcL,YAAY,EAAE;gBAC5B,OAAOE,SAAS;gBAChB,UAAU;gBACV,aAAa;gBACb,WAAWI;gBACX,OAAO;oBACL,SAAS;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBACvB;YACF;QACF;QAEA,OAAO;YACL,GAAGf,MAAM;YACT,YAAYQ;QACd;IACF;AAEK,MAAMS,uBAAiC,CAACnB;IAC7C,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF;AAEO,MAAMkB,uBAAiC,CAACpB;IAC7C,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../../utils'\nimport type { Dataset, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: SpecPipeline): SpecPipe =>\n (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, dataset } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const measure = measures?.find((d) => d.id === reshapeInfo.id)\n const newDataset = dataset[index] as Dataset\n const newDatasetReshapeInfo = [\n {\n ...reshapeInfo,\n unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems },\n },\n ]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n datasetReshapeInfo: newDatasetReshapeInfo,\n dataset: newDataset,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: reshapeInfo.id,\n title: measure?.alias,\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as Partial<PivotChartConstructorOptions>\n }\n\nexport const pivotIndicatorsAsRow: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n"],"names":["pivotIndicators","chartPipeline","spec","context","result","advancedVSeed","measures","datasetReshapeInfo","dataset","colorItems","unique","d","indicators","reshapeInfo","index","measure","newDataset","newDatasetReshapeInfo","newContext","chartSpec","execPipeline","pivotIndicatorsAsRow","pivotIndicatorsAsCol"],"mappings":";;AAKO,MAAMA,kBACX,CAACC,gBACD,CAACC,MAAMC;QACL,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;QAC1B,MAAM,EAAEG,QAAQ,EAAEC,kBAAkB,EAAEC,OAAO,EAAE,GAAGH;QAElD,MAAMI,aAAaC,OAAOH,mBAAmB,OAAO,CAAC,CAACI,IAAMA,EAAE,UAAU,CAAC,UAAU;QAEnF,MAAMC,aAAaL,mBAAmB,GAAG,CAAC,CAACM,aAAaC;YACtD,MAAMC,UAAUT,UAAU,KAAK,CAACK,IAAMA,EAAE,EAAE,KAAKE,YAAY,EAAE;YAC7D,MAAMG,aAAaR,OAAO,CAACM,MAAM;YACjC,MAAMG,wBAAwB;gBAC5B;oBACE,GAAGJ,WAAW;oBACd,YAAY;wBAAE,GAAGA,YAAY,UAAU;wBAAEJ;oBAAW;gBACtD;aACD;YACD,MAAMS,aAAkC;gBACtC,GAAGf,OAAO;gBACV,eAAe;oBACb,GAAGE,aAAa;oBAChB,oBAAoBY;oBACpB,SAASD;gBACX;YACF;YAEA,MAAMG,YAAYC,aAAanB,eAAeiB,YAAY,CAAC;YAC3D,OAAO;gBACL,cAAcL,YAAY,EAAE;gBAC5B,OAAOE,SAAS;gBAChB,UAAU;gBACV,aAAa;gBACb,WAAWI;gBACX,OAAO;oBACL,SAAS;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBACvB;YACF;QACF;QAEA,OAAO;YACL,GAAGf,MAAM;YACT,YAAYQ;QACd;IACF;AAEK,MAAMS,uBAAiC,CAACnB;IAC7C,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF;AAEO,MAAMkB,uBAAiC,CAACpB;IAC7C,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { IBasicDimension } from '@visactor/vtable/es/ts-types/pivot-table/dimension/basic-dimension'\nimport type { Dimensions, SpecPipe } from 'src/types'\n\nexport const pivotRowDimensions: SpecPipe = (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n if (!dimensions) {\n return result\n }\n const rowDimensions = dimensions.filter((dim) => dim.encoding === 'row')\n const rows: IBasicDimension[] = rowDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n }))\n return {\n ...result,\n rows: rows,\n }\n}\n"],"names":["pivotRowDimensions","spec","context","result","advancedVSeed","dimensions","rowDimensions","dim","rows"],"mappings":"AAIO,MAAMA,qBAA+B,CAACC,MAAMC;IACjD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAMG,aAAaD,cAAc,UAAU;IAC3C,IAAI,CAACC,YACH,OAAOF;IAET,MAAMG,gBAAgBD,WAAW,MAAM,CAAC,CAACE,MAAQA,AAAiB,UAAjBA,IAAI,QAAQ;IAC7D,MAAMC,OAA0BF,cAAc,GAAG,CAAC,CAACC,MAAS;YAC1D,cAAcA,IAAI,EAAE;YACpB,OAAOA,IAAI,KAAK,IAAIA,IAAI,EAAE;QAC5B;IACA,OAAO;QACL,GAAGJ,MAAM;QACT,MAAMK;IACR;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { Dimensions, SpecPipe } from 'src/types'\n\nexport const pivotRowDimensions: SpecPipe = (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n if (!dimensions) {\n return result\n }\n const rowDimensions = dimensions.filter((dim) => dim.encoding === 'row')\n const rows = rowDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n }))\n return {\n ...result,\n rows: rows,\n } as Partial<PivotChartConstructorOptions>\n}\n"],"names":["pivotRowDimensions","spec","context","result","advancedVSeed","dimensions","rowDimensions","dim","rows"],"mappings":"AAGO,MAAMA,qBAA+B,CAACC,MAAMC;IACjD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAMG,aAAaD,cAAc,UAAU;IAC3C,IAAI,CAACC,YACH,OAAOF;IAET,MAAMG,gBAAgBD,WAAW,MAAM,CAAC,CAACE,MAAQA,AAAiB,UAAjBA,IAAI,QAAQ;IAC7D,MAAMC,OAAOF,cAAc,GAAG,CAAC,CAACC,MAAS;YACvC,cAAcA,IAAI,EAAE;YACpB,OAAOA,IAAI,KAAK,IAAIA,IAAI,EAAE;QAC5B;IACA,OAAO;QACL,GAAGJ,MAAM;QACT,MAAMK;IACR;AACF"}
@@ -0,0 +1,2 @@
1
+ import type { SpecPipe } from '../../../../../types';
2
+ export declare const histogramRegressionLine: SpecPipe;
@@ -0,0 +1,126 @@
1
+ import { isNullish, uniqueBy } from "remeda";
2
+ import { ecdf, kde } from "@visactor/vutils";
3
+ import { BinEndMeasureId, BinStartMeasureId } from "../../../../../dataReshape/index.js";
4
+ const getRegressionByType = (type, data, kdeOptions)=>{
5
+ switch(type){
6
+ case 'kde':
7
+ return kde(data, kdeOptions);
8
+ case 'ecdf':
9
+ return ecdf(data);
10
+ }
11
+ };
12
+ const histogramRegressionLine_histogramRegressionLine = (spec, context)=>{
13
+ const result = {
14
+ ...spec
15
+ };
16
+ const { advancedVSeed, vseed } = context;
17
+ const { chartType, encoding = {}, dimensions, histogramRegressionLine } = advancedVSeed;
18
+ const { dataset } = vseed;
19
+ const theme = advancedVSeed.config[chartType]?.histogramRegressionLine;
20
+ if (!histogramRegressionLine) return result;
21
+ const rowColumnFields = uniqueBy(dimensions.filter((dim)=>'row' === dim.encoding || 'column' === dim.encoding), (item)=>item.id);
22
+ const lineList = Array.isArray(histogramRegressionLine) ? histogramRegressionLine : [
23
+ histogramRegressionLine
24
+ ];
25
+ if (!result.customMark) result.customMark = [];
26
+ lineList.forEach((line)=>{
27
+ const { color, type, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } = line;
28
+ result.customMark.push({
29
+ type: 'line',
30
+ interactive: false,
31
+ zIndex: 500,
32
+ style: {
33
+ lineWidth: lineWidth ?? theme?.lineWidth,
34
+ lineDash: lineDash ?? theme?.lineDash,
35
+ stroke: color ?? ((datum, ctx)=>{
36
+ const vchart = ctx.vchart;
37
+ const chart = vchart.getChart();
38
+ const series = chart.getAllSeries().filter((s)=>'bar' === s.type);
39
+ return series.length ? series[0].getOption().globalScale.getScale('color')?.scale(series[0].getSeriesKeys()[0]) : void 0;
40
+ }),
41
+ points: (datum, ctx)=>{
42
+ const vchart = ctx.vchart;
43
+ const chart = vchart.getChart();
44
+ const series = chart.getAllSeries().filter((s)=>'bar' === s.type);
45
+ if (series && series.length) {
46
+ const s = series[0];
47
+ const region = s.getRegion().getLayoutStartPoint();
48
+ const fieldX = s.fieldX?.[0];
49
+ const scaleY = s.getYAxisHelper().getScale?.(0);
50
+ const viewData = s.getViewData()?.latestData;
51
+ if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) return;
52
+ const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>d[encoding.value?.[0]]);
53
+ const res = getRegressionByType(type, simpleData, 'kde' === type ? {
54
+ bandwidth: Math.abs(viewData[0][BinEndMeasureId] - viewData[0][BinStartMeasureId])
55
+ } : void 0);
56
+ const N = Math.max(3, Math.floor(simpleData.length / 4));
57
+ const lineData = res.evaluateGrid(N);
58
+ const yRange = scaleY.range();
59
+ const y0 = yRange[0];
60
+ const y1 = yRange[yRange.length - 1];
61
+ const scaleR = 'kde' === type ? (k)=>scaleY.scale(k * simpleData.length * res.bandwidth) : (e)=>y0 + (y1 - y0) * e;
62
+ return lineData.map((ld)=>{
63
+ const d = {
64
+ [fieldX]: ld.x
65
+ };
66
+ return {
67
+ x: s.dataToPositionX(d) + region.x,
68
+ y: scaleR(ld.y) + region.y
69
+ };
70
+ });
71
+ }
72
+ return [];
73
+ }
74
+ }
75
+ });
76
+ if (!isNullish(text)) result.customMark.push({
77
+ type: 'text',
78
+ interactive: false,
79
+ zIndex: 500,
80
+ style: {
81
+ textAlign: 'end',
82
+ fill: textColor ?? theme?.textColor,
83
+ fontSize: textFontSize ?? theme?.textFontSize,
84
+ fontWeight: textFontWeight ?? theme?.textFontWeight,
85
+ text: text,
86
+ x: (datum, ctx)=>{
87
+ const vchart = ctx.vchart;
88
+ const chart = vchart.getChart();
89
+ const series = chart.getAllSeries().filter((s)=>'bar' === s.type);
90
+ if (series && series.length) {
91
+ const s = series[0];
92
+ const startPoint = s.getRegion().getLayoutStartPoint();
93
+ const fieldX = s.fieldX[0];
94
+ const fieldX2 = s.fieldX2;
95
+ const scaleY = s.getYAxisHelper().getScale?.(0);
96
+ const viewData = s.getViewData()?.latestData;
97
+ if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) return;
98
+ const maxX = Math.max.apply(null, viewData.map((d)=>Math.max(d[fieldX], d[fieldX2])));
99
+ return startPoint.x + s.dataToPositionX({
100
+ [fieldX]: maxX
101
+ });
102
+ }
103
+ },
104
+ y: (datum, ctx)=>{
105
+ const vchart = ctx.vchart;
106
+ const chart = vchart.getChart();
107
+ const series = chart.getAllSeries().filter((s)=>'bar' === s.type);
108
+ if (series && series.length) {
109
+ const s = series[0];
110
+ const startPoint = s.getRegion().getLayoutStartPoint();
111
+ const fieldY = s.fieldY[0];
112
+ const viewData = s.getViewData()?.latestData;
113
+ if (!viewData || !viewData.length) return;
114
+ return 'ecdf' === type ? startPoint.y + 12 : startPoint.y + s.dataToPositionY({
115
+ [fieldY]: viewData[viewData.length - 1]?.[fieldY]
116
+ });
117
+ }
118
+ }
119
+ }
120
+ });
121
+ });
122
+ return result;
123
+ };
124
+ export { histogramRegressionLine_histogramRegressionLine as histogramRegressionLine };
125
+
126
+ //# sourceMappingURL=histogramRegressionLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/histogramRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/histogramRegressionLine.ts"],"sourcesContent":["import type { ICartesianSeries, IChart, IHistogramChartSpec, IVChart } from '@visactor/vchart'\nimport type { KDEEvaluator, KDEOptions } from '@visactor/vutils'\nimport { isNullish, uniqueBy } from 'remeda'\nimport { ecdf, kde } from '@visactor/vutils'\nimport { BinEndMeasureId, BinStartMeasureId } from 'src/dataReshape'\nimport type { Datum, Dimension, HistogramRegressionLine, SpecPipe, Encoding } from 'src/types'\n\nconst getRegressionByType = (type: 'kde' | 'ecdf', data: number[], kdeOptions?: KDEOptions) => {\n switch (type) {\n case 'kde':\n return kde(data, kdeOptions)\n case 'ecdf':\n return ecdf(data)\n }\n}\n\nexport const histogramRegressionLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as IHistogramChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding = {} as Encoding, dimensions, histogramRegressionLine } = advancedVSeed\n const { dataset } = vseed\n const theme = advancedVSeed.config[chartType as 'histogram']?.histogramRegressionLine as HistogramRegressionLine\n\n if (!histogramRegressionLine) {\n return result\n }\n\n const rowColumnFields = uniqueBy(\n dimensions.filter((dim: Dimension) => dim.encoding === 'row' || dim.encoding === 'column'),\n (item: Dimension) => item.id,\n )\n const lineList = Array.isArray(histogramRegressionLine) ? histogramRegressionLine : [histogramRegressionLine]\n\n if (!result.customMark) {\n result.customMark = []\n }\n\n lineList.forEach((line) => {\n const { color, type, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } =\n line as HistogramRegressionLine\n\n ;(result.customMark as any[]).push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n style: {\n lineWidth: lineWidth ?? theme?.lineWidth,\n lineDash: lineDash ?? theme?.lineDash,\n stroke:\n color ??\n ((datum: Datum, ctx: any): string | undefined => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n return series.length\n ? series[0].getOption().globalScale.getScale('color')?.scale(series[0].getSeriesKeys()[0])\n : undefined\n }),\n points: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n const region = s.getRegion().getLayoutStartPoint()\n\n const fieldX = s.fieldX?.[0]\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return\n }\n const simpleData = dataset\n .filter((entry: Datum) => {\n return rowColumnFields.length\n ? rowColumnFields.every((dim: Dimension) => {\n return entry[dim.id] === viewData[0][dim.id]\n })\n : true\n })\n .map((d: Datum) => (d as any)[encoding.value?.[0] as string]) as number[]\n const res = getRegressionByType(\n type,\n simpleData,\n type === 'kde'\n ? ({\n bandwidth: Math.abs(viewData[0][BinEndMeasureId] - viewData[0][BinStartMeasureId]),\n } as KDEOptions)\n : undefined,\n )\n const N = Math.max(3, Math.floor(simpleData.length / 4))\n const lineData = res.evaluateGrid(N)\n const yRange = scaleY.range()\n const y0 = yRange[0]\n const y1 = yRange[yRange.length - 1]\n const scaleR =\n type === 'kde'\n ? (k: number) => {\n return scaleY.scale(k * simpleData.length * (res as KDEEvaluator).bandwidth)\n }\n : (e: number) => {\n return y0 + (y1 - y0) * e\n }\n\n //color: color ?? s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n\n return lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x }\n return {\n x: s.dataToPositionX(d)! + region.x,\n y: scaleR(ld.y as number) + region.y,\n }\n })\n }\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n ;(result.customMark as any[]).push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n style: {\n textAlign: 'end',\n fill: textColor ?? theme?.textColor,\n fontSize: textFontSize ?? theme?.textFontSize,\n fontWeight: textFontWeight ?? theme?.textFontWeight,\n text: text,\n x: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n const startPoint = s.getRegion().getLayoutStartPoint()\n\n const fieldX = s.fieldX[0]\n const fieldX2 = s.fieldX2\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return undefined\n }\n const maxX = Math.max.apply(\n null,\n (viewData as any[]).map((d: Datum) =>\n Math.max((d as any)[fieldX] as number, (d as any)[fieldX2] as number),\n ),\n )\n return startPoint.x + s.dataToPositionX({ [fieldX]: maxX })!\n }\n\n return undefined\n },\n y: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n const startPoint = s.getRegion().getLayoutStartPoint()\n\n const fieldY = s.fieldY[0]\n const viewData = s.getViewData()?.latestData\n if (!viewData || !viewData.length) {\n return undefined\n }\n return type === 'ecdf'\n ? startPoint.y + 12\n : startPoint.y + s.dataToPositionY({ [fieldY]: viewData[viewData.length - 1]?.[fieldY] })!\n }\n\n return undefined\n },\n },\n })\n }\n })\n\n return result\n}\n"],"names":["getRegressionByType","type","data","kdeOptions","kde","ecdf","histogramRegressionLine","spec","context","result","advancedVSeed","vseed","chartType","encoding","dimensions","dataset","theme","rowColumnFields","uniqueBy","dim","item","lineList","Array","line","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","datum","ctx","vchart","chart","series","s","undefined","region","fieldX","scaleY","viewData","simpleData","entry","d","res","Math","BinEndMeasureId","BinStartMeasureId","N","lineData","yRange","y0","y1","scaleR","k","e","ld","isNullish","startPoint","fieldX2","maxX","fieldY"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './histogramRegressionLine';
@@ -0,0 +1 @@
1
+ export * from "./histogramRegressionLine.js";
@@ -4,6 +4,7 @@ const stackCornerRadius_stackCornerRadius = (spec, context)=>{
4
4
  const stackCornerRadius = advancedVSeed.config?.[chartType]?.stackCornerRadius;
5
5
  const { datasetReshapeInfo } = advancedVSeed;
6
6
  const { foldInfo } = datasetReshapeInfo[0];
7
+ if ('dualAxis' === chartType && 'bar' !== spec.type) return spec;
7
8
  return {
8
9
  ...spec,
9
10
  stackCornerRadius: (_, datum)=>{
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/stack/stackCornerRadius.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/stack/stackCornerRadius.ts"],"sourcesContent":["import type { SpecPipe, StackCornerRadius } from 'src/types'\n\nexport const stackCornerRadius: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const stackCornerRadius = advancedVSeed.config?.[chartType as 'column']?.stackCornerRadius as StackCornerRadius\n const { datasetReshapeInfo } = advancedVSeed\n const { foldInfo } = datasetReshapeInfo[0]\n return {\n ...spec,\n stackCornerRadius: (_, datum) => {\n if (datum[foldInfo.measureValue] > 0) {\n return stackCornerRadius\n }\n\n return 0\n },\n }\n}\n"],"names":["stackCornerRadius","spec","context","advancedVSeed","vseed","chartType","datasetReshapeInfo","foldInfo","_","datum"],"mappings":"AAEO,MAAMA,sCAA8B,CAACC,MAAMC;IAChD,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGF;IACjC,MAAM,EAAEG,SAAS,EAAE,GAAGD;IACtB,MAAMJ,oBAAoBG,cAAc,MAAM,EAAE,CAACE,UAAsB,EAAE;IACzE,MAAM,EAAEC,kBAAkB,EAAE,GAAGH;IAC/B,MAAM,EAAEI,QAAQ,EAAE,GAAGD,kBAAkB,CAAC,EAAE;IAC1C,OAAO;QACL,GAAGL,IAAI;QACP,mBAAmB,CAACO,GAAGC;YACrB,IAAIA,KAAK,CAACF,SAAS,YAAY,CAAC,GAAG,GACjC,OAAOP;YAGT,OAAO;QACT;IACF;AACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/stack/stackCornerRadius.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/stack/stackCornerRadius.ts"],"sourcesContent":["import type { Datum, SpecPipe, StackCornerRadius } from 'src/types'\n\nexport const stackCornerRadius: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const stackCornerRadius = advancedVSeed.config?.[chartType as 'column']?.stackCornerRadius as StackCornerRadius\n const { datasetReshapeInfo } = advancedVSeed\n const { foldInfo } = datasetReshapeInfo[0]\n\n if (chartType === 'dualAxis' && (spec as any).type !== 'bar') {\n return spec\n }\n\n return {\n ...spec,\n stackCornerRadius: (_: unknown, datum: Datum) => {\n if (datum[foldInfo.measureValue] > 0) {\n return stackCornerRadius\n }\n\n return 0\n },\n }\n}\n"],"names":["stackCornerRadius","spec","context","advancedVSeed","vseed","chartType","datasetReshapeInfo","foldInfo","_","datum"],"mappings":"AAEO,MAAMA,sCAA8B,CAACC,MAAMC;IAChD,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGF;IACjC,MAAM,EAAEG,SAAS,EAAE,GAAGD;IACtB,MAAMJ,oBAAoBG,cAAc,MAAM,EAAE,CAACE,UAAsB,EAAE;IACzE,MAAM,EAAEC,kBAAkB,EAAE,GAAGH;IAC/B,MAAM,EAAEI,QAAQ,EAAE,GAAGD,kBAAkB,CAAC,EAAE;IAE1C,IAAID,AAAc,eAAdA,aAA6BJ,AAAsB,UAAtBA,KAAa,IAAI,EAChD,OAAOA;IAGT,OAAO;QACL,GAAGA,IAAI;QACP,mBAAmB,CAACO,GAAYC;YAC9B,IAAIA,KAAK,CAACF,SAAS,YAAY,CAAC,GAAG,GACjC,OAAOP;YAGT,OAAO;QACT;IACF;AACF"}
@@ -2,3 +2,5 @@ export { tooltip } from './tooltip';
2
2
  export { tooltipPrimary, tooltipSecondary } from './tooltipDualAxis';
3
3
  export { tooltipScatter } from './tooltipScatter';
4
4
  export { tooltipHeatmap } from './tooltipHeatmap';
5
+ export { tooltipBoxplot } from './tooltipBoxplot';
6
+ export { tooltipHistogram } from './tooltipHistogram';
@@ -2,4 +2,6 @@ import { tooltip } from "./tooltip.js";
2
2
  import { tooltipPrimary, tooltipSecondary } from "./tooltipDualAxis.js";
3
3
  import { tooltipScatter } from "./tooltipScatter.js";
4
4
  import { tooltipHeatmap } from "./tooltipHeatmap.js";
5
- export { tooltip, tooltipHeatmap, tooltipPrimary, tooltipScatter, tooltipSecondary };
5
+ import { tooltipBoxplot } from "./tooltipBoxplot.js";
6
+ import { tooltipHistogram } from "./tooltipHistogram.js";
7
+ export { tooltip, tooltipBoxplot, tooltipHeatmap, tooltipHistogram, tooltipPrimary, tooltipScatter, tooltipSecondary };
@@ -0,0 +1,2 @@
1
+ import type { SpecPipe } from '../../../../../types';
2
+ export declare const tooltipBoxplot: SpecPipe;
@@ -0,0 +1,98 @@
1
+ import { isNullish, pipe, uniqueBy } from "remeda";
2
+ import { createFormatterByMeasure, findAllMeasures } from "../../../../utils/index.js";
3
+ import { ColorEncoding, MaxMeasureId, MedianMeasureId, MinMeasureId, OutliersMeasureId, Q1MeasureValue, Q3MeasureValue, XEncoding } from "../../../../../dataReshape/index.js";
4
+ const boxPlotMeasureKeys = [
5
+ MaxMeasureId,
6
+ Q3MeasureValue,
7
+ MedianMeasureId,
8
+ Q1MeasureValue,
9
+ MinMeasureId
10
+ ];
11
+ const VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE';
12
+ const tooltipBoxplot = (spec, context)=>{
13
+ const result = {
14
+ ...spec
15
+ };
16
+ const { advancedVSeed, vseed } = context;
17
+ const { chartType, dimensions, encoding } = advancedVSeed;
18
+ const baseConfig = advancedVSeed.config[chartType];
19
+ const { tooltip = {
20
+ enable: true
21
+ } } = baseConfig;
22
+ const { enable } = tooltip;
23
+ const meas = findAllMeasures(vseed.measures);
24
+ const valueMeasure = meas.find((item)=>'value' === item.encoding || isNullish(item.encoding));
25
+ const defaultFormatter = valueMeasure ? createFormatterByMeasure(valueMeasure) : (v)=>v;
26
+ result.tooltip = {
27
+ visible: enable,
28
+ mark: {
29
+ title: {
30
+ visible: false
31
+ },
32
+ content: createMarkContent(encoding.tooltip || [], dimensions, encoding),
33
+ updateContent: (prev, data)=>{
34
+ const datum = data?.[0]?.datum?.[0];
35
+ if (!isNullish(datum?.[VCHART_OUTLIER_KEY])) {
36
+ const tooltipItems = (prev ?? []).filter((item)=>!boxPlotMeasureKeys.includes(item.key));
37
+ const outerlierMeasure = meas.find((item)=>item.id === OutliersMeasureId);
38
+ const formatter = outerlierMeasure ? createFormatterByMeasure(outerlierMeasure) : defaultFormatter;
39
+ tooltipItems.push({
40
+ ...tooltipItems[0],
41
+ key: outerlierMeasure?.alias ?? OutliersMeasureId,
42
+ value: formatter(datum?.[VCHART_OUTLIER_KEY])
43
+ });
44
+ return tooltipItems;
45
+ }
46
+ return (prev ?? []).map((entry)=>{
47
+ if (boxPlotMeasureKeys.includes(entry.key)) {
48
+ const mea = meas.find((item)=>item.id === entry.key);
49
+ const formatter = mea ? createFormatterByMeasure(mea) : defaultFormatter;
50
+ return {
51
+ ...entry,
52
+ value: formatter(datum?.[entry.key]),
53
+ key: mea?.alias ?? entry.key
54
+ };
55
+ }
56
+ return entry;
57
+ });
58
+ }
59
+ },
60
+ dimension: {
61
+ visible: false
62
+ }
63
+ };
64
+ return result;
65
+ };
66
+ const createMarkContent = (tooltip, dimensions, encoding)=>{
67
+ const dims = pipe(dimensions.filter((item)=>tooltip.includes(item.id)), uniqueBy((item)=>item.id), uniqueBy((item)=>item.alias));
68
+ const dimContent = dims.map((item)=>({
69
+ visible: true,
70
+ hasShape: true,
71
+ shapeType: 'rectRound',
72
+ key: item.alias ?? item.id,
73
+ value: (datum)=>{
74
+ if (!isNullish(datum?.[VCHART_OUTLIER_KEY])) {
75
+ if (encoding.color?.includes(item.id)) return datum?.[ColorEncoding];
76
+ if (encoding.x?.includes(item.id)) return datum?.[XEncoding];
77
+ }
78
+ return datum?.[item.id];
79
+ }
80
+ }));
81
+ const defaultContent = boxPlotMeasureKeys.map((key)=>({
82
+ visible: true,
83
+ hasShape: true,
84
+ shapeType: 'rectRound',
85
+ key,
86
+ value: (datum)=>{
87
+ if (!datum) return '';
88
+ return datum[key];
89
+ }
90
+ }));
91
+ return [
92
+ ...dimContent,
93
+ defaultContent
94
+ ];
95
+ };
96
+ export { tooltipBoxplot };
97
+
98
+ //# sourceMappingURL=tooltipBoxplot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.ts"],"sourcesContent":["import { pipe, uniqueBy, isNullish } from 'remeda'\nimport { createFormatterByMeasure, findAllMeasures } from '../../../../utils'\nimport type { Dimension, Dimensions, Encoding, Spec, SpecPipe, Tooltip } from 'src/types'\nimport type { Datum, ISpec, ITooltipLinePattern, ITooltipLineActual, TooltipData } from '@visactor/vchart'\nimport {\n ColorEncoding,\n MaxMeasureId,\n MedianMeasureId,\n MinMeasureId,\n OutliersMeasureId,\n Q1MeasureValue,\n Q3MeasureValue,\n XEncoding,\n} from 'src/dataReshape'\n\nconst boxPlotMeasureKeys = [MaxMeasureId, Q3MeasureValue, MedianMeasureId, Q1MeasureValue, MinMeasureId]\nconst VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE'\n\nexport const tooltipBoxplot: SpecPipe = (spec, context): Partial<Spec> => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n const meas = findAllMeasures(vseed.measures)\n const valueMeasure = meas.find((item) => item.encoding === 'value' || isNullish(item.encoding))\n const defaultFormatter = valueMeasure ? createFormatterByMeasure(valueMeasure) : (v: unknown) => v\n\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(encoding.tooltip || [], dimensions, encoding as Encoding),\n updateContent: (prev: ITooltipLineActual[] | undefined, data: TooltipData | undefined) => {\n const datum = (data as any)?.[0]?.datum?.[0]\n\n if (!isNullish(datum?.[VCHART_OUTLIER_KEY])) {\n const tooltipItems: ITooltipLineActual[] = (prev ?? []).filter(\n (item: any) => !boxPlotMeasureKeys.includes(item.key as string),\n )\n const outerlierMeasure = meas.find((item) => item.id === OutliersMeasureId)\n const formatter = outerlierMeasure ? createFormatterByMeasure(outerlierMeasure) : defaultFormatter\n\n tooltipItems.push({\n ...(tooltipItems[0] as any),\n key: outerlierMeasure?.alias ?? OutliersMeasureId,\n value: formatter(datum?.[VCHART_OUTLIER_KEY] as number) as string,\n } as ITooltipLineActual)\n\n return tooltipItems\n }\n\n return (prev ?? []).map((entry) => {\n if (boxPlotMeasureKeys.includes((entry as any).key as string)) {\n const mea = meas.find((item) => item.id === (entry as any).key)\n const formatter = mea ? createFormatterByMeasure(mea) : defaultFormatter\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return {\n ...(entry as any),\n value: formatter(datum?.[(entry as any).key] as number) as string,\n key: mea?.alias ?? (entry as any).key,\n }\n }\n\n return entry\n }) as ITooltipLineActual[]\n },\n },\n dimension: {\n visible: false,\n },\n }\n return result as unknown as ISpec\n}\n\nconst createMarkContent = (tooltip: string[], dimensions: Dimensions, encoding: Encoding) => {\n const dims = pipe(\n dimensions.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item: Dimension) => item.id),\n uniqueBy((item: Dimension) => item.alias),\n )\n\n const dimContent = dims.map((item: Dimension) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias ?? item.id,\n value: (datum: Datum | undefined) => {\n if (!isNullish(datum?.[VCHART_OUTLIER_KEY])) {\n if (encoding.color?.includes(item.id)) {\n return datum?.[ColorEncoding] as string\n }\n if (encoding.x?.includes(item.id)) {\n return datum?.[XEncoding] as string\n }\n }\n\n return datum?.[item.id] as string\n },\n }))\n\n const defaultContent = boxPlotMeasureKeys.map((key: string) => {\n return {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key,\n value: (datum: Datum | undefined) => {\n if (!datum) {\n return ''\n }\n return datum[key] as string | number\n },\n }\n })\n\n return [...dimContent, defaultContent] as ITooltipLinePattern[]\n}\n"],"names":["boxPlotMeasureKeys","MaxMeasureId","Q3MeasureValue","MedianMeasureId","Q1MeasureValue","MinMeasureId","VCHART_OUTLIER_KEY","tooltipBoxplot","spec","context","result","advancedVSeed","vseed","chartType","dimensions","encoding","baseConfig","tooltip","enable","meas","findAllMeasures","valueMeasure","item","isNullish","defaultFormatter","createFormatterByMeasure","v","createMarkContent","prev","data","datum","tooltipItems","outerlierMeasure","OutliersMeasureId","formatter","entry","mea","dims","pipe","uniqueBy","dimContent","ColorEncoding","XEncoding","defaultContent","key"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { SpecPipe } from '../../../../../types';
2
+ export declare const tooltipHistogram: SpecPipe;
@@ -0,0 +1,69 @@
1
+ import { isNullish, pipe, uniqueBy } from "remeda";
2
+ import { BinEndMeasureId, BinStartMeasureId, ColorEncoding, FoldMeasureValue, XEncoding } from "../../../../../dataReshape/index.js";
3
+ const VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE';
4
+ const tooltipHistogram = (spec, context)=>{
5
+ const result = {
6
+ ...spec
7
+ };
8
+ const { advancedVSeed } = context;
9
+ const { chartType, dimensions, encoding } = advancedVSeed;
10
+ const baseConfig = advancedVSeed.config[chartType];
11
+ const { tooltip = {
12
+ enable: true
13
+ } } = baseConfig;
14
+ const { enable } = tooltip;
15
+ result.tooltip = {
16
+ visible: enable,
17
+ mark: {
18
+ title: {
19
+ visible: false
20
+ },
21
+ content: createMarkContent(encoding.tooltip || [], dimensions, encoding)
22
+ },
23
+ dimension: {
24
+ title: {
25
+ visible: false
26
+ },
27
+ content: createMarkContent(encoding.tooltip || [], dimensions, encoding)
28
+ }
29
+ };
30
+ return result;
31
+ };
32
+ const createMarkContent = (tooltip, dimensions, encoding)=>{
33
+ const dims = pipe(dimensions.filter((item)=>tooltip.includes(item.id)), uniqueBy((item)=>item.id), uniqueBy((item)=>item.alias));
34
+ const dimContent = dims.map((item)=>({
35
+ visible: true,
36
+ hasShape: true,
37
+ shapeType: 'rectRound',
38
+ key: item.alias ?? item.id,
39
+ value: (datum)=>{
40
+ if (!isNullish(datum?.[VCHART_OUTLIER_KEY])) {
41
+ if (encoding.color?.includes(item.id)) return datum?.[ColorEncoding];
42
+ if (encoding.x?.includes(item.id)) return datum?.[XEncoding];
43
+ }
44
+ return datum?.[item.id];
45
+ }
46
+ }));
47
+ const defaultContent = [
48
+ {
49
+ visible: true,
50
+ hasShape: true,
51
+ shapeType: 'rectRound',
52
+ key: (datum)=>{
53
+ if (!datum) return '';
54
+ return `${datum[BinStartMeasureId]} ~ ${datum[BinEndMeasureId]}`;
55
+ },
56
+ value: (datum)=>{
57
+ if (!datum) return '';
58
+ return datum[FoldMeasureValue];
59
+ }
60
+ }
61
+ ];
62
+ return [
63
+ ...dimContent,
64
+ defaultContent
65
+ ];
66
+ };
67
+ export { tooltipHistogram };
68
+
69
+ //# sourceMappingURL=tooltipHistogram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.ts"],"sourcesContent":["import { pipe, uniqueBy, isNullish } from 'remeda'\nimport type { Dimension, Dimensions, Encoding, Spec, SpecPipe, Tooltip } from 'src/types'\nimport type { Datum, ISpec, ITooltipLinePattern } from '@visactor/vchart'\nimport { BinEndMeasureId, BinStartMeasureId, ColorEncoding, FoldMeasureValue, XEncoding } from 'src/dataReshape'\n\nconst VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE'\n\nexport const tooltipHistogram: SpecPipe = (spec, context): Partial<Spec> => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(encoding.tooltip || [], dimensions, encoding as Encoding),\n },\n dimension: {\n title: {\n visible: false,\n },\n content: createMarkContent(encoding.tooltip || [], dimensions, encoding as Encoding),\n },\n }\n return result as unknown as ISpec\n}\n\nconst createMarkContent = (tooltip: string[], dimensions: Dimensions, encoding: Encoding) => {\n const dims = pipe(\n dimensions.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item: Dimension) => item.id),\n uniqueBy((item: Dimension) => item.alias),\n )\n\n const dimContent = dims.map((item: Dimension) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias ?? item.id,\n value: (datum: Datum | undefined) => {\n if (!isNullish(datum?.[VCHART_OUTLIER_KEY])) {\n if (encoding.color?.includes(item.id)) {\n return datum?.[ColorEncoding] as string\n }\n if (encoding.x?.includes(item.id)) {\n return datum?.[XEncoding] as string\n }\n }\n\n return datum?.[item.id] as string\n },\n }))\n\n const defaultContent = [\n {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (datum: Datum | undefined) => {\n if (!datum) {\n return ''\n }\n return `${datum[BinStartMeasureId]} ~ ${datum[BinEndMeasureId]}`\n },\n value: (datum: Datum | undefined) => {\n if (!datum) {\n return ''\n }\n return datum[FoldMeasureValue] as string | number\n },\n },\n ]\n\n return [...dimContent, defaultContent] as ITooltipLinePattern[]\n}\n"],"names":["VCHART_OUTLIER_KEY","tooltipHistogram","spec","context","result","advancedVSeed","chartType","dimensions","encoding","baseConfig","tooltip","enable","createMarkContent","dims","pipe","item","uniqueBy","dimContent","datum","isNullish","ColorEncoding","XEncoding","defaultContent","BinStartMeasureId","BinEndMeasureId","FoldMeasureValue"],"mappings":";;AAKA,MAAMA,qBAAqB;AAEpB,MAAMC,mBAA6B,CAACC,MAAMC;IAC/C,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IAC5C,MAAMI,aAAaJ,cAAc,MAAM,CAACC,UAAU;IAClD,MAAM,EAAEI,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGD;IACvC,MAAM,EAAEE,MAAM,EAAE,GAAGD;IAEnBN,OAAO,OAAO,GAAG;QACf,SAASO;QACT,MAAM;YACJ,OAAO;gBACL,SAAS;YACX;YACA,SAASC,kBAAkBJ,SAAS,OAAO,IAAI,EAAE,EAAED,YAAYC;QACjE;QACA,WAAW;YACT,OAAO;gBACL,SAAS;YACX;YACA,SAASI,kBAAkBJ,SAAS,OAAO,IAAI,EAAE,EAAED,YAAYC;QACjE;IACF;IACA,OAAOJ;AACT;AAEA,MAAMQ,oBAAoB,CAACF,SAAmBH,YAAwBC;IACpE,MAAMK,OAAOC,KACXP,WAAW,MAAM,CAAC,CAACQ,OAASL,QAAQ,QAAQ,CAACK,KAAK,EAAE,IACpDC,SAAS,CAACD,OAAoBA,KAAK,EAAE,GACrCC,SAAS,CAACD,OAAoBA,KAAK,KAAK;IAG1C,MAAME,aAAaJ,KAAK,GAAG,CAAC,CAACE,OAAqB;YAChD,SAAS;YACT,UAAU;YACV,WAAW;YACX,KAAKA,KAAK,KAAK,IAAIA,KAAK,EAAE;YAC1B,OAAO,CAACG;gBACN,IAAI,CAACC,UAAUD,OAAO,CAAClB,mBAAmB,GAAG;oBAC3C,IAAIQ,SAAS,KAAK,EAAE,SAASO,KAAK,EAAE,GAClC,OAAOG,OAAO,CAACE,cAAc;oBAE/B,IAAIZ,SAAS,CAAC,EAAE,SAASO,KAAK,EAAE,GAC9B,OAAOG,OAAO,CAACG,UAAU;gBAE7B;gBAEA,OAAOH,OAAO,CAACH,KAAK,EAAE,CAAC;YACzB;QACF;IAEA,MAAMO,iBAAiB;QACrB;YACE,SAAS;YACT,UAAU;YACV,WAAW;YACX,KAAK,CAACJ;gBACJ,IAAI,CAACA,OACH,OAAO;gBAET,OAAO,GAAGA,KAAK,CAACK,kBAAkB,CAAC,GAAG,EAAEL,KAAK,CAACM,gBAAgB,EAAE;YAClE;YACA,OAAO,CAACN;gBACN,IAAI,CAACA,OACH,OAAO;gBAET,OAAOA,KAAK,CAACO,iBAAiB;YAChC;QACF;KACD;IAED,OAAO;WAAIR;QAAYK;KAAe;AACxC"}