@visactor/vseed 0.2.6 → 0.2.8

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 (491) hide show
  1. package/dist/cjs/index.cjs +1 -1
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/advanced/colorItems.js.map +1 -1
  4. package/dist/esm/builder/builder/build.js.map +1 -1
  5. package/dist/esm/builder/builder/buildAdvanced.js.map +1 -1
  6. package/dist/esm/builder/builder/buildSpec.js.map +1 -1
  7. package/dist/esm/builder/builder/builder.d.ts +670 -0
  8. package/dist/esm/builder/builder/builder.js.map +1 -1
  9. package/dist/esm/builder/register/all.js.map +1 -1
  10. package/dist/esm/builder/register/chartType/area.js.map +1 -1
  11. package/dist/esm/builder/register/chartType/areaPercent.js.map +1 -1
  12. package/dist/esm/builder/register/chartType/bar.js.map +1 -1
  13. package/dist/esm/builder/register/chartType/barParallel.js.map +1 -1
  14. package/dist/esm/builder/register/chartType/barPercent.js.map +1 -1
  15. package/dist/esm/builder/register/chartType/boxplot.js.map +1 -1
  16. package/dist/esm/builder/register/chartType/column.js.map +1 -1
  17. package/dist/esm/builder/register/chartType/columnParallel.js.map +1 -1
  18. package/dist/esm/builder/register/chartType/columnPercent.js.map +1 -1
  19. package/dist/esm/builder/register/chartType/donut.js.map +1 -1
  20. package/dist/esm/builder/register/chartType/dualAxis.js.map +1 -1
  21. package/dist/esm/builder/register/chartType/funnel.js.map +1 -1
  22. package/dist/esm/builder/register/chartType/heatmap.js.map +1 -1
  23. package/dist/esm/builder/register/chartType/histogram.js.map +1 -1
  24. package/dist/esm/builder/register/chartType/line.js.map +1 -1
  25. package/dist/esm/builder/register/chartType/pie.js.map +1 -1
  26. package/dist/esm/builder/register/chartType/pivotTable.js.map +1 -1
  27. package/dist/esm/builder/register/chartType/radar.js.map +1 -1
  28. package/dist/esm/builder/register/chartType/rose.js.map +1 -1
  29. package/dist/esm/builder/register/chartType/roseParallel.js.map +1 -1
  30. package/dist/esm/builder/register/chartType/scatter.js.map +1 -1
  31. package/dist/esm/builder/register/chartType/table.js.map +1 -1
  32. package/dist/esm/builder/register/custom.js.map +1 -1
  33. package/dist/esm/builder/register/theme/custom.js.map +1 -1
  34. package/dist/esm/builder/register/theme/dark.js.map +1 -1
  35. package/dist/esm/builder/register/theme/light.js.map +1 -1
  36. package/dist/esm/dataReshape/constant.js.map +1 -1
  37. package/dist/esm/dataReshape/dataReshapeByEncoding.js.map +1 -1
  38. package/dist/esm/dataReshape/foldMeasures.js.map +1 -1
  39. package/dist/esm/dataReshape/unfoldDimensions.js.map +1 -1
  40. package/dist/esm/dataSelector/selector.js.map +1 -1
  41. package/dist/esm/i18n/i18n.js.map +1 -1
  42. package/dist/esm/i18n/i18nData.js.map +1 -1
  43. package/dist/esm/i18n/index.d.ts +1 -0
  44. package/dist/esm/i18n/index.js +4 -0
  45. package/dist/esm/i18n/index.js.map +1 -0
  46. package/dist/esm/pipeline/advanced/chart/pipeline/area.js +3 -3
  47. package/dist/esm/pipeline/advanced/chart/pipeline/area.js.map +1 -1
  48. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js +3 -3
  49. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js.map +1 -1
  50. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js +3 -3
  51. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js.map +1 -1
  52. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js +3 -3
  53. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js.map +1 -1
  54. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js +3 -3
  55. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js.map +1 -1
  56. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js +3 -3
  57. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js.map +1 -1
  58. package/dist/esm/pipeline/advanced/chart/pipeline/column.js +3 -3
  59. package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
  60. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js +3 -3
  61. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js.map +1 -1
  62. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js +3 -3
  63. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js.map +1 -1
  64. package/dist/esm/pipeline/advanced/chart/pipeline/donut.js.map +1 -1
  65. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js +3 -3
  66. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js.map +1 -1
  67. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js +3 -3
  68. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js.map +1 -1
  69. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js +3 -3
  70. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js.map +1 -1
  71. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js +3 -3
  72. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -1
  73. package/dist/esm/pipeline/advanced/chart/pipeline/line.js +3 -3
  74. package/dist/esm/pipeline/advanced/chart/pipeline/line.js.map +1 -1
  75. package/dist/esm/pipeline/advanced/chart/pipeline/pie.js.map +1 -1
  76. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js +3 -3
  77. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js.map +1 -1
  78. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js +3 -3
  79. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js.map +1 -1
  80. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js +3 -3
  81. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js.map +1 -1
  82. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +3 -3
  83. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
  84. package/dist/esm/pipeline/advanced/chart/pipes/analysis/common.js.map +1 -1
  85. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortLegend.js.map +1 -1
  86. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortXBand.js.map +1 -1
  87. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortYBand.js.map +1 -1
  88. package/dist/esm/pipeline/advanced/chart/pipes/annotation/annotation.js.map +1 -1
  89. package/dist/esm/pipeline/advanced/chart/pipes/config/boxplot.js.map +1 -1
  90. package/dist/esm/pipeline/advanced/chart/pipes/config/column.js.map +1 -1
  91. package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js.map +1 -1
  92. package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js.map +1 -1
  93. package/dist/esm/pipeline/advanced/chart/pipes/config/index.js.map +1 -1
  94. package/dist/esm/pipeline/advanced/chart/pipes/config/line.js.map +1 -1
  95. package/dist/esm/pipeline/advanced/chart/pipes/config/pie.js.map +1 -1
  96. package/dist/esm/pipeline/advanced/chart/pipes/config/scatter.js.map +1 -1
  97. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultDimensions.js.map +1 -1
  98. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasureId.js.map +1 -1
  99. package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js.map +1 -1
  100. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.js.map +1 -1
  101. package/dist/esm/pipeline/advanced/chart/pipes/encoding/adapter/encodingAdapter.js.map +1 -1
  102. package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js +8 -7
  103. package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js.map +1 -1
  104. package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js +8 -7
  105. package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js.map +1 -1
  106. package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.d.ts +7 -0
  107. package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.js +9 -1
  108. package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.js.map +1 -1
  109. package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js +8 -7
  110. package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js.map +1 -1
  111. package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js +16 -7
  112. package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js.map +1 -1
  113. package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js +7 -6
  114. package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js.map +1 -1
  115. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
  116. package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js.map +1 -1
  117. package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js +8 -6
  118. package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js.map +1 -1
  119. package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js.map +1 -1
  120. package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js +8 -6
  121. package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js.map +1 -1
  122. package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js +8 -7
  123. package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js.map +1 -1
  124. package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js.map +1 -1
  125. package/dist/esm/pipeline/advanced/chart/pipes/init/initAdvancedVSeed.js.map +1 -1
  126. package/dist/esm/pipeline/advanced/chart/pipes/markStyle/markStyle.js.map +1 -1
  127. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasures.js.map +1 -1
  128. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js +48 -23
  129. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js.map +1 -1
  130. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js +47 -23
  131. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js.map +1 -1
  132. package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js.map +1 -1
  133. package/dist/esm/pipeline/advanced/chart/pipes/measures/utils.js.map +1 -1
  134. package/dist/esm/pipeline/advanced/chart/pipes/pivot/pivotAdapter.js.map +1 -1
  135. package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/regressionLine.js.map +1 -1
  136. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -1
  137. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js +2 -2
  138. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js.map +1 -1
  139. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js.map +1 -1
  140. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -1
  141. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js.map +1 -1
  142. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js.map +1 -1
  143. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js +1 -1
  144. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js.map +1 -1
  145. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js.map +1 -1
  146. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -1
  147. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js +1 -1
  148. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js.map +1 -1
  149. package/dist/esm/pipeline/advanced/chart/pipes/theme/theme.js.map +1 -1
  150. package/dist/esm/pipeline/advanced/table/pipeline/pivotTable.js.map +1 -1
  151. package/dist/esm/pipeline/advanced/table/pipeline/table.js.map +1 -1
  152. package/dist/esm/pipeline/advanced/table/pipes/cellStyle/cellStyle.js.map +1 -1
  153. package/dist/esm/pipeline/advanced/table/pipes/config/pivotTableConfig.js.map +1 -1
  154. package/dist/esm/pipeline/advanced/table/pipes/config/tableConfig.js.map +1 -1
  155. package/dist/esm/pipeline/advanced/table/pipes/default/defaultDimensions.js.map +1 -1
  156. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.js.map +1 -1
  157. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js.map +1 -1
  158. package/dist/esm/pipeline/advanced/table/pipes/encoding/pivotTable.js.map +1 -1
  159. package/dist/esm/pipeline/advanced/table/pipes/init/initAdvancedVSeed.js.map +1 -1
  160. package/dist/esm/pipeline/advanced/table/pipes/records/records.js.map +1 -1
  161. package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.js.map +1 -1
  162. package/dist/esm/pipeline/spec/chart/pipeline/area.js.map +1 -1
  163. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js.map +1 -1
  164. package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
  165. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
  166. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
  167. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js.map +1 -1
  168. package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
  169. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
  170. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
  171. package/dist/esm/pipeline/spec/chart/pipeline/donut.js.map +1 -1
  172. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
  173. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js.map +1 -1
  174. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js.map +1 -1
  175. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
  176. package/dist/esm/pipeline/spec/chart/pipeline/line.js.map +1 -1
  177. package/dist/esm/pipeline/spec/chart/pipeline/pie.js.map +1 -1
  178. package/dist/esm/pipeline/spec/chart/pipeline/radar.js.map +1 -1
  179. package/dist/esm/pipeline/spec/chart/pipeline/rose.js.map +1 -1
  180. package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.js.map +1 -1
  181. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js.map +1 -1
  182. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationArea.js.map +1 -1
  183. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.js.map +1 -1
  184. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js.map +1 -1
  185. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPoint.js.map +1 -1
  186. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointCommon.js.map +1 -1
  187. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js.map +1 -1
  188. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfHistogram.js.map +1 -1
  189. package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js.map +1 -1
  190. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js.map +1 -1
  191. package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js.map +1 -1
  192. package/dist/esm/pipeline/spec/chart/pipes/axes/bandAxisStyle.js.map +1 -1
  193. package/dist/esm/pipeline/spec/chart/pipes/axes/format/linearFormat.js.map +1 -1
  194. package/dist/esm/pipeline/spec/chart/pipes/axes/heatmapBandAxis.js.map +1 -1
  195. package/dist/esm/pipeline/spec/chart/pipes/axes/histogramXLinear.js.map +1 -1
  196. package/dist/esm/pipeline/spec/chart/pipes/axes/linearAxisStyle.js.map +1 -1
  197. package/dist/esm/pipeline/spec/chart/pipes/axes/radarAngle.js.map +1 -1
  198. package/dist/esm/pipeline/spec/chart/pipes/axes/radarRadius.js.map +1 -1
  199. package/dist/esm/pipeline/spec/chart/pipes/axes/radius.js.map +1 -1
  200. package/dist/esm/pipeline/spec/chart/pipes/axes/title/defaultTitleText.js.map +1 -1
  201. package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.js.map +1 -1
  202. package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js.map +1 -1
  203. package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.js.map +1 -1
  204. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js.map +1 -1
  205. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js.map +1 -1
  206. package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js.map +1 -1
  207. package/dist/esm/pipeline/spec/chart/pipes/backgroundColor/background.js.map +1 -1
  208. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.js.map +1 -1
  209. package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.js.map +1 -1
  210. package/dist/esm/pipeline/spec/chart/pipes/boxWidth/boxGapInGroup.js.map +1 -1
  211. package/dist/esm/pipeline/spec/chart/pipes/boxWidth/boxMaxWidth.js.map +1 -1
  212. package/dist/esm/pipeline/spec/chart/pipes/color/color.js.map +1 -1
  213. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js.map +1 -1
  214. package/dist/esm/pipeline/spec/chart/pipes/color/colorAreaStyleFill.js.map +1 -1
  215. package/dist/esm/pipeline/spec/chart/pipes/color/colorBarStyleFill.js.map +1 -1
  216. package/dist/esm/pipeline/spec/chart/pipes/color/colorBoxPlotStyleFill.js.map +1 -1
  217. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.js.map +1 -1
  218. package/dist/esm/pipeline/spec/chart/pipes/color/colorFunnelStyleFill.js.map +1 -1
  219. package/dist/esm/pipeline/spec/chart/pipes/color/colorLineStyleFill.js.map +1 -1
  220. package/dist/esm/pipeline/spec/chart/pipes/color/colorPieStyleFill.js.map +1 -1
  221. package/dist/esm/pipeline/spec/chart/pipes/color/colorPointStyleFill.js.map +1 -1
  222. package/dist/esm/pipeline/spec/chart/pipes/color/colorRoseStyleFill.js.map +1 -1
  223. package/dist/esm/pipeline/spec/chart/pipes/color/linearColor.js.map +1 -1
  224. package/dist/esm/pipeline/spec/chart/pipes/color/linearColorForDualAxis.js.map +1 -1
  225. package/dist/esm/pipeline/spec/chart/pipes/crosshair/histogramCrosshair.js.map +1 -1
  226. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairLine.js.map +1 -1
  227. package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.js.map +1 -1
  228. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairLine.js.map +1 -1
  229. package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.js.map +1 -1
  230. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.js.map +1 -1
  231. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.js.map +1 -1
  232. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.js.map +1 -1
  233. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetPivot.js.map +1 -1
  234. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetScatter.js.map +1 -1
  235. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetXY.js.map +1 -1
  236. package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetYX.js.map +1 -1
  237. package/dist/esm/pipeline/spec/chart/pipes/dataset/progressive.js.map +1 -1
  238. package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js.map +1 -1
  239. package/dist/esm/pipeline/spec/chart/pipes/init/area.js.map +1 -1
  240. package/dist/esm/pipeline/spec/chart/pipes/init/bar.js.map +1 -1
  241. package/dist/esm/pipeline/spec/chart/pipes/init/barParallel.js.map +1 -1
  242. package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js.map +1 -1
  243. package/dist/esm/pipeline/spec/chart/pipes/init/column.js.map +1 -1
  244. package/dist/esm/pipeline/spec/chart/pipes/init/columnParallel.js.map +1 -1
  245. package/dist/esm/pipeline/spec/chart/pipes/init/donut.js.map +1 -1
  246. package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.js.map +1 -1
  247. package/dist/esm/pipeline/spec/chart/pipes/init/funnel.js.map +1 -1
  248. package/dist/esm/pipeline/spec/chart/pipes/init/heatmap.js.map +1 -1
  249. package/dist/esm/pipeline/spec/chart/pipes/init/histogram.js.map +1 -1
  250. package/dist/esm/pipeline/spec/chart/pipes/init/line.js.map +1 -1
  251. package/dist/esm/pipeline/spec/chart/pipes/init/pie.js.map +1 -1
  252. package/dist/esm/pipeline/spec/chart/pipes/init/pivot.js.map +1 -1
  253. package/dist/esm/pipeline/spec/chart/pipes/init/radar.js.map +1 -1
  254. package/dist/esm/pipeline/spec/chart/pipes/init/rose.js.map +1 -1
  255. package/dist/esm/pipeline/spec/chart/pipes/init/roseParallel.js.map +1 -1
  256. package/dist/esm/pipeline/spec/chart/pipes/init/scatter.js.map +1 -1
  257. package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
  258. package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.js.map +1 -1
  259. package/dist/esm/pipeline/spec/chart/pipes/label/labelPie.js.map +1 -1
  260. package/dist/esm/pipeline/spec/chart/pipes/label/labelScatter.js.map +1 -1
  261. package/dist/esm/pipeline/spec/chart/pipes/legend/boxLegend.js.map +1 -1
  262. package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js.map +1 -1
  263. package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.js.map +1 -1
  264. package/dist/esm/pipeline/spec/chart/pipes/legend/heatmapColorLegend.js.map +1 -1
  265. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js.map +1 -1
  266. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.js.map +1 -1
  267. package/dist/esm/pipeline/spec/chart/pipes/markStyle/areaStyle.js.map +1 -1
  268. package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.js.map +1 -1
  269. package/dist/esm/pipeline/spec/chart/pipes/markStyle/boxPlotStyle.js +5 -1
  270. package/dist/esm/pipeline/spec/chart/pipes/markStyle/boxPlotStyle.js.map +1 -1
  271. package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.js.map +1 -1
  272. package/dist/esm/pipeline/spec/chart/pipes/markStyle/curve/curve.js.map +1 -1
  273. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelStyle.js.map +1 -1
  274. package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelTransformStyle.js.map +1 -1
  275. package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.js.map +1 -1
  276. package/dist/esm/pipeline/spec/chart/pipes/markStyle/outlierStyle.js +3 -1
  277. package/dist/esm/pipeline/spec/chart/pipes/markStyle/outlierStyle.js.map +1 -1
  278. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pieStyle.js.map +1 -1
  279. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointState.js.map +1 -1
  280. package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.js.map +1 -1
  281. package/dist/esm/pipeline/spec/chart/pipes/markStyle/roseStyle.js.map +1 -1
  282. package/dist/esm/pipeline/spec/chart/pipes/percent/percent.js.map +1 -1
  283. package/dist/esm/pipeline/spec/chart/pipes/pipeFilter/areaStyleFilter.js.map +1 -1
  284. package/dist/esm/pipeline/spec/chart/pipes/pipeFilter/barStyleFilter.js.map +1 -1
  285. package/dist/esm/pipeline/spec/chart/pipes/pipeFilter/lineStyleFilter.js.map +1 -1
  286. package/dist/esm/pipeline/spec/chart/pipes/pipeFilter/pointStyleFilter.js.map +1 -1
  287. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/dimensionLinkage.js.map +1 -1
  288. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.js.map +1 -1
  289. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js +3 -1
  290. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js.map +1 -1
  291. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js.map +1 -1
  292. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js.map +1 -1
  293. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.js.map +1 -1
  294. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js.map +1 -1
  295. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js.map +1 -1
  296. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js.map +1 -1
  297. package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.js.map +1 -1
  298. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.js +6 -1
  299. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.js.map +1 -1
  300. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/common.js.map +1 -1
  301. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js.map +1 -1
  302. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js.map +1 -1
  303. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js +5 -1
  304. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js.map +1 -1
  305. package/dist/esm/pipeline/spec/chart/pipes/series/series.js.map +1 -1
  306. package/dist/esm/pipeline/spec/chart/pipes/size/scatterSize.js.map +1 -1
  307. package/dist/esm/pipeline/spec/chart/pipes/stack/stack.js.map +1 -1
  308. package/dist/esm/pipeline/spec/chart/pipes/stack/stackCornerRadius.js.map +1 -1
  309. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
  310. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js +35 -4
  311. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js.map +1 -1
  312. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
  313. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipElement.js.map +1 -1
  314. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js.map +1 -1
  315. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js.map +1 -1
  316. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
  317. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipStyle.js.map +1 -1
  318. package/dist/esm/pipeline/spec/chart/utils/histogram.js.map +1 -1
  319. package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js +2 -2
  320. package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js.map +1 -1
  321. package/dist/esm/pipeline/spec/table/pipeline/table.js +2 -2
  322. package/dist/esm/pipeline/spec/table/pipeline/table.js.map +1 -1
  323. package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.js.map +1 -1
  324. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js +16 -4
  325. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -1
  326. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js +16 -4
  327. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js.map +1 -1
  328. package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.js.map +1 -1
  329. package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js.map +1 -1
  330. package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js.map +1 -1
  331. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.js.map +1 -1
  332. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js.map +1 -1
  333. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
  334. package/dist/esm/pipeline/spec/table/pipes/init/pivotTable.js.map +1 -1
  335. package/dist/esm/pipeline/spec/table/pipes/init/table.js.map +1 -1
  336. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js.map +1 -1
  337. package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.js.map +1 -1
  338. package/dist/esm/pipeline/spec/table/pipes/theme/cornerHeaderStyle.js.map +1 -1
  339. package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.d.ts +1 -1
  340. package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.js +6 -2
  341. package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.js.map +1 -1
  342. package/dist/esm/pipeline/spec/table/pipes/theme/headerStyle.js.map +1 -1
  343. package/dist/esm/pipeline/spec/table/pipes/theme/rowHeaderStyle.js.map +1 -1
  344. package/dist/esm/pipeline/spec/table/pipes/theme/scrollStyle.js.map +1 -1
  345. package/dist/esm/pipeline/spec/table/pipes/theme/selectionStyle.js.map +1 -1
  346. package/dist/esm/pipeline/utils/boxplot.js.map +1 -1
  347. package/dist/esm/pipeline/utils/chatType.js +2 -2
  348. package/dist/esm/pipeline/utils/chatType.js.map +1 -1
  349. package/dist/esm/pipeline/utils/constant.js.map +1 -1
  350. package/dist/esm/pipeline/utils/dimensions/delete.js.map +1 -1
  351. package/dist/esm/pipeline/utils/dimensions/typeGuard.js.map +1 -1
  352. package/dist/esm/pipeline/utils/format/createFormatter.js.map +1 -1
  353. package/dist/esm/pipeline/utils/format/createFormatterByMeasure.js.map +1 -1
  354. package/dist/esm/pipeline/utils/format/createNumFormatter.js.map +1 -1
  355. package/dist/esm/pipeline/utils/measures/delete.js.map +1 -1
  356. package/dist/esm/pipeline/utils/measures/depth.js.map +1 -1
  357. package/dist/esm/pipeline/utils/measures/find.js.map +1 -1
  358. package/dist/esm/pipeline/utils/measures/typeGuard.d.ts +1 -0
  359. package/dist/esm/pipeline/utils/measures/typeGuard.js +8 -1
  360. package/dist/esm/pipeline/utils/measures/typeGuard.js.map +1 -1
  361. package/dist/esm/pipeline/utils/pipeline.js.map +1 -1
  362. package/dist/esm/pipeline/utils/replaceNullToUndefined.js.map +1 -1
  363. package/dist/esm/pipeline/utils/tree/traverse.js.map +1 -1
  364. package/dist/esm/pipeline/utils/valid/checkVSeed.js.map +1 -1
  365. package/dist/esm/theme/common/annotaion.js.map +1 -1
  366. package/dist/esm/theme/common/axes.js.map +1 -1
  367. package/dist/esm/theme/common/boxPlot.js +15 -4
  368. package/dist/esm/theme/common/boxPlot.js.map +1 -1
  369. package/dist/esm/theme/common/color.js.map +1 -1
  370. package/dist/esm/theme/common/crosshair.js.map +1 -1
  371. package/dist/esm/theme/common/funnelTransform.js.map +1 -1
  372. package/dist/esm/theme/common/heatmapCell.js.map +1 -1
  373. package/dist/esm/theme/common/label.js.map +1 -1
  374. package/dist/esm/theme/common/legend.js.map +1 -1
  375. package/dist/esm/theme/common/regressionLine.js.map +1 -1
  376. package/dist/esm/theme/common/table.js.map +1 -1
  377. package/dist/esm/theme/common/tooltip.js.map +1 -1
  378. package/dist/esm/theme/dark/dark.js.map +1 -1
  379. package/dist/esm/theme/light/light.js.map +1 -1
  380. package/dist/esm/types/advancedVSeed.d.ts +236 -0
  381. package/dist/esm/types/advancedVSeed.js.map +1 -1
  382. package/dist/esm/types/builder/builder.js.map +1 -1
  383. package/dist/esm/types/chartType/area/zArea.js.map +1 -1
  384. package/dist/esm/types/chartType/areaPercent/zAreaPercent.js.map +1 -1
  385. package/dist/esm/types/chartType/bar/zBar.js.map +1 -1
  386. package/dist/esm/types/chartType/barParallel/zBarParallel.js.map +1 -1
  387. package/dist/esm/types/chartType/barPercent/zBarPercent.js.map +1 -1
  388. package/dist/esm/types/chartType/boxPlot/zBoxPlot.d.ts +6 -0
  389. package/dist/esm/types/chartType/boxPlot/zBoxPlot.js.map +1 -1
  390. package/dist/esm/types/chartType/column/zColumn.d.ts +8 -0
  391. package/dist/esm/types/chartType/column/zColumn.js.map +1 -1
  392. package/dist/esm/types/chartType/columnParallel/zColumnParallel.js.map +1 -1
  393. package/dist/esm/types/chartType/columnPercent/zColumnPercent.js.map +1 -1
  394. package/dist/esm/types/chartType/donut/zDonut.js.map +1 -1
  395. package/dist/esm/types/chartType/dualAxis/zDualAxis.js.map +1 -1
  396. package/dist/esm/types/chartType/funnel/zFunnel.js.map +1 -1
  397. package/dist/esm/types/chartType/heatmap/zHeatmap.js.map +1 -1
  398. package/dist/esm/types/chartType/histogram/zHistogram.js.map +1 -1
  399. package/dist/esm/types/chartType/line/zLine.js.map +1 -1
  400. package/dist/esm/types/chartType/pie/zPie.js.map +1 -1
  401. package/dist/esm/types/chartType/pivotTable/zPivotTable.js.map +1 -1
  402. package/dist/esm/types/chartType/radar/zRadar.js.map +1 -1
  403. package/dist/esm/types/chartType/rose/zRose.js.map +1 -1
  404. package/dist/esm/types/chartType/roseParallel/zRoseParallel.js.map +1 -1
  405. package/dist/esm/types/chartType/scatter/zScatter.d.ts +32 -0
  406. package/dist/esm/types/chartType/scatter/zScatter.js.map +1 -1
  407. package/dist/esm/types/chartType/table/zTable.js.map +1 -1
  408. package/dist/esm/types/dataSelector/selector.js.map +1 -1
  409. package/dist/esm/types/i18n/i18n.js.map +1 -1
  410. package/dist/esm/types/properties/analysis/analysis.js.map +1 -1
  411. package/dist/esm/types/properties/analysis/sort.js.map +1 -1
  412. package/dist/esm/types/properties/analysis/sortLegend.js.map +1 -1
  413. package/dist/esm/types/properties/annotation/annotation.js.map +1 -1
  414. package/dist/esm/types/properties/annotation/zAnnotationArea.js.map +1 -1
  415. package/dist/esm/types/properties/annotation/zAnnotationHorizontalLine.js.map +1 -1
  416. package/dist/esm/types/properties/annotation/zAnnotationPoint.js.map +1 -1
  417. package/dist/esm/types/properties/annotation/zAnnotationVerticalLine.js.map +1 -1
  418. package/dist/esm/types/properties/cellStyle/bodyCellStyle.js.map +1 -1
  419. package/dist/esm/types/properties/cellStyle/cellStyle.js.map +1 -1
  420. package/dist/esm/types/properties/chartType/chartType.js.map +1 -1
  421. package/dist/esm/types/properties/chartType/dualChartType.js.map +1 -1
  422. package/dist/esm/types/properties/config/annotation/zAnnotaion.js.map +1 -1
  423. package/dist/esm/types/properties/config/area.js.map +1 -1
  424. package/dist/esm/types/properties/config/axes/zBandAxis.js.map +1 -1
  425. package/dist/esm/types/properties/config/axes/zLinearAxis.js.map +1 -1
  426. package/dist/esm/types/properties/config/backgroundColor/backgroundColor.js.map +1 -1
  427. package/dist/esm/types/properties/config/bar.js.map +1 -1
  428. package/dist/esm/types/properties/config/barWidth/index.js.map +1 -1
  429. package/dist/esm/types/properties/config/boxWidth/zBoxWidth.js.map +1 -1
  430. package/dist/esm/types/properties/config/boxplot.d.ts +3 -0
  431. package/dist/esm/types/properties/config/boxplot.js.map +1 -1
  432. package/dist/esm/types/properties/config/color/color.js.map +1 -1
  433. package/dist/esm/types/properties/config/column.d.ts +32 -0
  434. package/dist/esm/types/properties/config/column.js.map +1 -1
  435. package/dist/esm/types/properties/config/config.d.ts +99 -0
  436. package/dist/esm/types/properties/config/config.js.map +1 -1
  437. package/dist/esm/types/properties/config/crosshair/zCrosshair.js.map +1 -1
  438. package/dist/esm/types/properties/config/dimensionLinkage/dimensionLinkage.js.map +1 -1
  439. package/dist/esm/types/properties/config/dualAxis.js.map +1 -1
  440. package/dist/esm/types/properties/config/funnel.js.map +1 -1
  441. package/dist/esm/types/properties/config/funnelTransform/zFunnelTransform.js.map +1 -1
  442. package/dist/esm/types/properties/config/heatmap/zHeatmap.js.map +1 -1
  443. package/dist/esm/types/properties/config/heatmap.js.map +1 -1
  444. package/dist/esm/types/properties/config/histogram.d.ts +32 -0
  445. package/dist/esm/types/properties/config/histogram.js.map +1 -1
  446. package/dist/esm/types/properties/config/label/zLabel.js.map +1 -1
  447. package/dist/esm/types/properties/config/label/zPieLabel.js.map +1 -1
  448. package/dist/esm/types/properties/config/legend/legend.js.map +1 -1
  449. package/dist/esm/types/properties/config/line.js.map +1 -1
  450. package/dist/esm/types/properties/config/pie.js.map +1 -1
  451. package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js.map +1 -1
  452. package/dist/esm/types/properties/config/pivotTable.js.map +1 -1
  453. package/dist/esm/types/properties/config/rose.js.map +1 -1
  454. package/dist/esm/types/properties/config/scatter.d.ts +32 -0
  455. package/dist/esm/types/properties/config/scatter.js.map +1 -1
  456. package/dist/esm/types/properties/config/stackCornerRadius/stackCornerRadius.js.map +1 -1
  457. package/dist/esm/types/properties/config/table.js.map +1 -1
  458. package/dist/esm/types/properties/config/tooltip/tooltip.js.map +1 -1
  459. package/dist/esm/types/properties/config/whiskers/index.js.map +1 -1
  460. package/dist/esm/types/properties/dataset/dataset.js.map +1 -1
  461. package/dist/esm/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.js.map +1 -1
  462. package/dist/esm/types/properties/dimensions/zDimensions.js.map +1 -1
  463. package/dist/esm/types/properties/encoding/zDimensionEncoding.js.map +1 -1
  464. package/dist/esm/types/properties/encoding/zEncoding.js.map +1 -1
  465. package/dist/esm/types/properties/encoding/zMeasureEncoding.js.map +1 -1
  466. package/dist/esm/types/properties/format/numFormat.js.map +1 -1
  467. package/dist/esm/types/properties/markStyle/barStyle.js.map +1 -1
  468. package/dist/esm/types/properties/markStyle/boxPlotStyle.d.ts +15 -0
  469. package/dist/esm/types/properties/markStyle/boxPlotStyle.js +4 -1
  470. package/dist/esm/types/properties/markStyle/boxPlotStyle.js.map +1 -1
  471. package/dist/esm/types/properties/markStyle/lineStyle.js.map +1 -1
  472. package/dist/esm/types/properties/markStyle/markStyle.d.ts +6 -0
  473. package/dist/esm/types/properties/markStyle/markStyle.js.map +1 -1
  474. package/dist/esm/types/properties/markStyle/outlierStyle.js.map +1 -1
  475. package/dist/esm/types/properties/markStyle/pointStyle.js.map +1 -1
  476. package/dist/esm/types/properties/markStyle/zAreaStyle.js.map +1 -1
  477. package/dist/esm/types/properties/measures/zDualMeasures.js.map +1 -1
  478. package/dist/esm/types/properties/measures/zMeasures.js.map +1 -1
  479. package/dist/esm/types/properties/measures/zScatterMeasures.js.map +1 -1
  480. package/dist/esm/types/properties/regressionLine/linearRegressionLine.d.ts +20 -0
  481. package/dist/esm/types/properties/regressionLine/zRegressionLine.d.ts +48 -0
  482. package/dist/esm/types/properties/regressionLine/zRegressionLine.js +5 -1
  483. package/dist/esm/types/properties/regressionLine/zRegressionLine.js.map +1 -1
  484. package/dist/esm/types/properties/theme/customTheme.d.ts +198 -0
  485. package/dist/esm/types/properties/theme/customTheme.js.map +1 -1
  486. package/dist/esm/types/properties/theme/theme.js.map +1 -1
  487. package/dist/esm/types/zVseed.d.ts +46 -0
  488. package/dist/esm/types/zVseed.js.map +1 -1
  489. package/dist/umd/index.js +826 -655
  490. package/dist/umd/index.js.map +1 -1
  491. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltip.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/tooltip/tooltip.ts"],"sourcesContent":["import { pipe, uniqueBy } from 'remeda'\nimport { createFormatterByMeasure, findAllMeasures, findMeasureById } from '../../../../utils'\nimport type { Datum, Dimensions, FoldInfo, Measures, VChartSpecPipe, TooltipConfig, UnfoldInfo } from 'src/types'\nimport { ORIGINAL_DATA } from 'src/dataReshape'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { updateTooltipElement } from './tooltipElement'\n\nexport const tooltip: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { measures, datasetReshapeInfo, chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType as 'line'] as { tooltip: TooltipConfig }\n const { tooltip = { enable: true } } = baseConfig\n const { enable = true } = tooltip\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0] as unknown as {\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n }\n\n result.tooltip = {\n style: getTooltipStyle(tooltip),\n visible: !!enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n foldInfo,\n unfoldInfo,\n ),\n },\n dimension: {\n title: {\n visible: true,\n },\n content: createDimensionContent(dimensions, measures, foldInfo, unfoldInfo),\n },\n\n updateElement: updateTooltipElement,\n }\n return result\n}\n\nexport const createDimensionContent = (\n dimensions: Dimensions,\n measures: Measures,\n foldInfo: FoldInfo,\n unfoldInfo: UnfoldInfo,\n) => {\n const { measureId, measureValue, foldMap } = foldInfo\n const { encodingColor } = unfoldInfo\n\n return [\n {\n visible: true,\n shapeType: 'rectRound',\n hasShape: true,\n key: dimensions.some((d) => d.encoding === 'color')\n ? (v: unknown) => {\n const datum = v as Datum\n const key = (datum && (datum[encodingColor] as string)) || ''\n return unfoldInfo.colorIdMap[key].alias ?? key\n }\n : (v: unknown) => {\n const datum = v as Datum\n const key = (datum && (datum[measureId] as string)) || ''\n return foldMap[key] ?? key\n },\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n },\n ]\n}\n\nexport const createMarkContent = (\n tooltip: string[],\n dimensions: Dimensions,\n measures: Measures,\n foldInfo: FoldInfo,\n unfoldInfo: UnfoldInfo,\n) => {\n const dims = pipe(\n dimensions.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item) => item.id),\n uniqueBy((item) => item.alias),\n )\n const meas = pipe(\n measures.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item) => item.id),\n uniqueBy((item) => item.alias),\n )\n\n const dimContent = dims.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const datum = v as Datum\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return datum && (datum[item.id] as string)\n },\n value: (v: unknown) => {\n const datum = v as Datum\n return datum && (datum[item.id] as string)\n },\n }))\n\n const meaContent = meas.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias || item.id,\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const id = item.id\n if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) {\n return ''\n }\n const originalData = datum[ORIGINAL_DATA] as Datum\n const value = originalData[id] as string | number\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }))\n\n const defaultContent = {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const { measureName } = foldInfo\n const { encodingColor: colorName } = unfoldInfo\n\n const datum = v as Datum\n return (datum && (datum[measureName || colorName] as string)) || ''\n },\n value: (v: unknown) => {\n const { measureId, measureValue } = foldInfo\n\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }\n\n return [...dimContent, defaultContent, ...meaContent]\n}\n"],"names":["tooltip","spec","context","result","advancedVSeed","vseed","measures","datasetReshapeInfo","chartType","dimensions","encoding","baseConfig","enable","foldInfo","unfoldInfo","getTooltipStyle","createMarkContent","findAllMeasures","createDimensionContent","updateTooltipElement","measureId","measureValue","foldMap","encodingColor","d","v","datum","key","value","id","measure","findMeasureById","formatter","createFormatterByMeasure","dims","pipe","item","uniqueBy","meas","dimContent","meaContent","ORIGINAL_DATA","originalData","defaultContent","measureName","colorName","String"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltip.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltip.ts"],"sourcesContent":["import { pipe, uniqueBy } from 'remeda'\nimport { createFormatterByMeasure, findAllMeasures, findMeasureById } from '../../../../utils'\nimport type { Datum, Dimensions, FoldInfo, Measures, VChartSpecPipe, TooltipConfig, UnfoldInfo } from 'src/types'\nimport { ORIGINAL_DATA } from 'src/dataReshape'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { updateTooltipElement } from './tooltipElement'\n\nexport const tooltip: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { measures, datasetReshapeInfo, chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType as 'line'] as { tooltip: TooltipConfig }\n const { tooltip = { enable: true } } = baseConfig\n const { enable = true } = tooltip\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0] as unknown as {\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n }\n\n result.tooltip = {\n style: getTooltipStyle(tooltip),\n visible: !!enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n foldInfo,\n unfoldInfo,\n ),\n },\n dimension: {\n title: {\n visible: true,\n },\n content: createDimensionContent(dimensions, measures, foldInfo, unfoldInfo),\n },\n\n updateElement: updateTooltipElement,\n }\n return result\n}\n\nexport const createDimensionContent = (\n dimensions: Dimensions,\n measures: Measures,\n foldInfo: FoldInfo,\n unfoldInfo: UnfoldInfo,\n) => {\n const { measureId, measureValue, foldMap } = foldInfo\n const { encodingColor } = unfoldInfo\n\n return [\n {\n visible: true,\n shapeType: 'rectRound',\n hasShape: true,\n key: dimensions.some((d) => d.encoding === 'color')\n ? (v: unknown) => {\n const datum = v as Datum\n const key = (datum && (datum[encodingColor] as string)) || ''\n\n return unfoldInfo.colorIdMap[key].alias ?? key\n }\n : (v: unknown) => {\n const datum = v as Datum\n const key = (datum && (datum[measureId] as string)) || ''\n return foldMap[key] ?? key\n },\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n },\n ]\n}\n\nexport const createMarkContent = (\n tooltip: string[],\n dimensions: Dimensions,\n measures: Measures,\n foldInfo: FoldInfo,\n unfoldInfo: UnfoldInfo,\n) => {\n const dims = pipe(\n dimensions.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item) => item.id),\n uniqueBy((item) => item.alias),\n )\n const meas = pipe(\n measures.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item) => item.id),\n uniqueBy((item) => item.alias),\n )\n\n const dimContent = dims.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const datum = v as Datum\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return datum && (datum[item.id] as string)\n },\n value: (v: unknown) => {\n const datum = v as Datum\n return datum && (datum[item.id] as string)\n },\n }))\n\n const meaContent = meas.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias || item.id,\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const id = item.id\n if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) {\n return ''\n }\n const originalData = datum[ORIGINAL_DATA] as Datum\n const value = originalData[id] as string | number\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }))\n\n const defaultContent = {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const { measureName } = foldInfo\n const { encodingColor: colorName } = unfoldInfo\n\n const datum = v as Datum\n return (datum && (datum[measureName || colorName] as string)) || ''\n },\n value: (v: unknown) => {\n const { measureId, measureValue } = foldInfo\n\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }\n\n return [...dimContent, defaultContent, ...meaContent]\n}\n"],"names":["tooltip","spec","context","result","advancedVSeed","vseed","measures","datasetReshapeInfo","chartType","dimensions","encoding","baseConfig","enable","foldInfo","unfoldInfo","getTooltipStyle","createMarkContent","findAllMeasures","createDimensionContent","updateTooltipElement","measureId","measureValue","foldMap","encodingColor","d","v","datum","key","value","id","measure","findMeasureById","formatter","createFormatterByMeasure","dims","pipe","item","uniqueBy","meas","dimContent","meaContent","ORIGINAL_DATA","originalData","defaultContent","measureName","colorName","String"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { isNullish, pipe, uniqueBy } from "remeda";
2
- import { createFormatterByMeasure, findAllMeasures } from "../../../../utils/index.js";
3
- import { ColorEncoding, LowerWhisker, MedianMeasureId, OutliersMeasureId, Q1MeasureValue, Q3MeasureValue, UpperWhisker, XEncoding } from "../../../../../dataReshape/index.js";
2
+ import { createFormatterByMeasure, findAllMeasures, findMeasureById } from "../../../../utils/index.js";
3
+ import { ColorEncoding, LowerWhisker, MeasureId, MeasureName, MedianMeasureId, OutliersMeasureId, Q1MeasureValue, Q3MeasureValue, UpperWhisker, XEncoding } from "../../../../../dataReshape/index.js";
4
4
  import { getTooltipStyle } from "./tooltipStyle.js";
5
5
  import { intl } from "../../../../../i18n/index.js";
6
6
  import { updateTooltipElement } from "./tooltipElement.js";
@@ -17,7 +17,7 @@ const tooltipBoxplot = (spec, context)=>{
17
17
  ...spec
18
18
  };
19
19
  const { advancedVSeed, vseed } = context;
20
- const { chartType, dimensions, encoding } = advancedVSeed;
20
+ const { chartType, dimensions, encoding, datasetReshapeInfo } = advancedVSeed;
21
21
  const baseConfig = advancedVSeed.config[chartType];
22
22
  const { tooltip = {
23
23
  enable: true
@@ -34,6 +34,7 @@ const tooltipBoxplot = (spec, context)=>{
34
34
  [Q1MeasureValue]: intl.i18n`下四分位数`,
35
35
  [LowerWhisker]: intl.i18n`下边界`
36
36
  };
37
+ const { unfoldInfo } = datasetReshapeInfo[0];
37
38
  result.tooltip = {
38
39
  visible: enable,
39
40
  style: getTooltipStyle(tooltip),
@@ -70,7 +71,10 @@ const tooltipBoxplot = (spec, context)=>{
70
71
  }
71
72
  },
72
73
  dimension: {
73
- visible: false
74
+ title: {
75
+ visible: true
76
+ },
77
+ content: createDimensionContent(dimensions, meas, unfoldInfo, measureAliasMapping[MedianMeasureId])
74
78
  },
75
79
  updateElement: updateTooltipElement
76
80
  };
@@ -106,6 +110,33 @@ const createMarkContent = (tooltip, dimensions, encoding)=>{
106
110
  defaultContent
107
111
  ];
108
112
  };
113
+ const createDimensionContent = (dimensions, measures, unfoldInfo, medianAlias)=>{
114
+ const { encodingColor } = unfoldInfo;
115
+ return [
116
+ {
117
+ visible: true,
118
+ shapeType: 'rectRound',
119
+ hasShape: true,
120
+ key: dimensions.some((d)=>'color' === d.encoding) ? (v)=>{
121
+ const datum = v;
122
+ const key = datum && datum[encodingColor] || '';
123
+ return `${unfoldInfo.colorIdMap[key].alias ?? key}(${medianAlias})`;
124
+ } : (v)=>{
125
+ const datum = v;
126
+ return `${datum[MeasureName] ?? datum[MeasureId]}(${medianAlias})`;
127
+ },
128
+ value: (v)=>{
129
+ const datum = v;
130
+ if (!datum) return '';
131
+ const value = datum[MedianMeasureId];
132
+ const id = datum[MeasureId];
133
+ const measure = findMeasureById(measures, id);
134
+ const formatter = createFormatterByMeasure(measure);
135
+ return formatter(value);
136
+ }
137
+ }
138
+ ];
139
+ };
109
140
  export { tooltipBoxplot };
110
141
 
111
142
  //# sourceMappingURL=tooltipBoxplot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js","sources":["../../../../../../../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, VChartSpecPipe, Tooltip } from 'src/types'\nimport type { Datum, ISpec, ITooltipLinePattern, ITooltipLineActual, TooltipData } from '@visactor/vchart'\nimport {\n ColorEncoding,\n LowerWhisker,\n MedianMeasureId,\n OutliersMeasureId,\n Q1MeasureValue,\n Q3MeasureValue,\n UpperWhisker,\n XEncoding,\n} from 'src/dataReshape'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { intl } from 'src/i18n'\nimport { updateTooltipElement } from './tooltipElement'\n\nconst boxPlotMeasureKeys = [UpperWhisker, Q3MeasureValue, MedianMeasureId, Q1MeasureValue, LowerWhisker]\nconst VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE'\n\nexport const tooltipBoxplot: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType as 'boxPlot'] 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 const measureAliasMapping: Record<string, string> = {\n [OutliersMeasureId]: intl.i18n`异常点`,\n [UpperWhisker]: intl.i18n`上边界`,\n [Q3MeasureValue]: intl.i18n`上四分位数`,\n [MedianMeasureId]: intl.i18n`中位数`,\n [Q1MeasureValue]: intl.i18n`下四分位数`,\n [LowerWhisker]: intl.i18n`下边界`,\n }\n\n result.tooltip = {\n visible: enable,\n style: getTooltipStyle(tooltip),\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 ?? measureAliasMapping[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 ?? measureAliasMapping[entry?.key as string] ?? (entry as any).key,\n }\n }\n\n return entry\n }) as ITooltipLineActual[]\n },\n },\n dimension: {\n visible: false,\n },\n updateElement: updateTooltipElement,\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","UpperWhisker","Q3MeasureValue","MedianMeasureId","Q1MeasureValue","LowerWhisker","VCHART_OUTLIER_KEY","tooltipBoxplot","spec","context","result","advancedVSeed","vseed","chartType","dimensions","encoding","baseConfig","tooltip","enable","meas","findAllMeasures","valueMeasure","item","isNullish","defaultFormatter","createFormatterByMeasure","v","measureAliasMapping","OutliersMeasureId","intl","getTooltipStyle","createMarkContent","prev","data","datum","tooltipItems","outerlierMeasure","formatter","entry","mea","updateTooltipElement","dims","pipe","uniqueBy","dimContent","ColorEncoding","XEncoding","defaultContent","key"],"mappings":"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"}
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, findMeasureById } from '../../../../utils'\nimport type {\n Dimension,\n Dimensions,\n Encoding,\n VChartSpecPipe,\n Tooltip,\n Measures,\n FoldInfo,\n UnfoldInfo,\n} from 'src/types'\nimport type { Datum, ISpec, ITooltipLinePattern, ITooltipLineActual, TooltipData } from '@visactor/vchart'\nimport {\n ColorEncoding,\n LowerWhisker,\n MeasureId,\n MeasureName,\n MedianMeasureId,\n OutliersMeasureId,\n Q1MeasureValue,\n Q3MeasureValue,\n UpperWhisker,\n XEncoding,\n} from 'src/dataReshape'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { intl } from 'src/i18n'\nimport { updateTooltipElement } from './tooltipElement'\n\nconst boxPlotMeasureKeys = [UpperWhisker, Q3MeasureValue, MedianMeasureId, Q1MeasureValue, LowerWhisker]\nconst VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE'\n\nexport const tooltipBoxplot: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { chartType, dimensions, encoding, datasetReshapeInfo } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType as 'boxPlot'] 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 const measureAliasMapping: Record<string, string> = {\n [OutliersMeasureId]: intl.i18n`异常点`,\n [UpperWhisker]: intl.i18n`上边界`,\n [Q3MeasureValue]: intl.i18n`上四分位数`,\n [MedianMeasureId]: intl.i18n`中位数`,\n [Q1MeasureValue]: intl.i18n`下四分位数`,\n [LowerWhisker]: intl.i18n`下边界`,\n }\n const { unfoldInfo } = datasetReshapeInfo[0] as unknown as {\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n }\n\n result.tooltip = {\n visible: enable,\n style: getTooltipStyle(tooltip),\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 ?? measureAliasMapping[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 return {\n ...(entry as any),\n value: formatter(datum?.[(entry as any).key] as number) as string,\n key: mea?.alias ?? measureAliasMapping[entry?.key as string] ?? (entry as any).key,\n }\n }\n\n return entry\n }) as ITooltipLineActual[]\n },\n },\n dimension: {\n title: {\n visible: true,\n },\n content: createDimensionContent(dimensions, meas, unfoldInfo, measureAliasMapping[MedianMeasureId]),\n },\n updateElement: updateTooltipElement,\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\nconst createDimensionContent = (\n dimensions: Dimensions,\n measures: Measures,\n unfoldInfo: UnfoldInfo,\n medianAlias: string,\n) => {\n const { encodingColor } = unfoldInfo\n\n return [\n {\n visible: true,\n shapeType: 'rectRound',\n hasShape: true,\n key: dimensions.some((d) => d.encoding === 'color')\n ? (v: unknown) => {\n const datum = v as Datum\n const key = (datum && (datum[encodingColor] as string)) || ''\n return `${unfoldInfo.colorIdMap[key].alias ?? key}(${medianAlias})`\n }\n : (v: unknown) => {\n const datum = v as Datum\n return `${datum[MeasureName] ?? datum[MeasureId]}(${medianAlias})`\n },\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[MedianMeasureId] as string | number // dimension tooltip 中默认显示中位数\n const id = datum[MeasureId] as string\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n },\n ]\n}\n"],"names":["boxPlotMeasureKeys","UpperWhisker","Q3MeasureValue","MedianMeasureId","Q1MeasureValue","LowerWhisker","VCHART_OUTLIER_KEY","tooltipBoxplot","spec","context","result","advancedVSeed","vseed","chartType","dimensions","encoding","datasetReshapeInfo","baseConfig","tooltip","enable","meas","findAllMeasures","valueMeasure","item","isNullish","defaultFormatter","createFormatterByMeasure","v","measureAliasMapping","OutliersMeasureId","intl","unfoldInfo","getTooltipStyle","createMarkContent","prev","data","datum","tooltipItems","outerlierMeasure","formatter","entry","mea","createDimensionContent","updateTooltipElement","dims","pipe","uniqueBy","dimContent","ColorEncoding","XEncoding","defaultContent","key","measures","medianAlias","encodingColor","d","MeasureName","MeasureId","value","id","measure","findMeasureById"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.ts"],"sourcesContent":["import { isNullish } from 'remeda'\nimport { createDimensionContent, createMarkContent } from './tooltip'\nimport type { FoldInfo, VChartSpecPipe, Tooltip, UnfoldInfo } from 'src/types'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { updateTooltipElement } from './tooltipElement'\n\nexport const tooltipPrimary: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { measures, datasetReshapeInfo, 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 const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const unfoldInfo = datasetReshapeInfo[0].unfoldInfo\n\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n foldInfoList[0],\n unfoldInfo,\n ),\n },\n dimension: {\n title: {\n visible: true,\n },\n content: createDimensionContent(dimensions, measures, foldInfoList[0], unfoldInfo),\n },\n }\n return result\n}\n\nexport const tooltipSecondary: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { measures, datasetReshapeInfo, 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 if (isNullish(datasetReshapeInfo[0].foldInfoList?.[1])) {\n return result\n }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const unfoldInfo = datasetReshapeInfo[0].unfoldInfo as UnfoldInfo\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n foldInfoList[1],\n unfoldInfo,\n ),\n },\n dimension: {\n title: {\n visible: true,\n },\n content: createDimensionContent(dimensions, measures, foldInfoList[1], unfoldInfo),\n },\n }\n return result\n}\n\nexport const tooltipDualAxis: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n\n result.tooltip = {\n style: getTooltipStyle(tooltip),\n updateElement: updateTooltipElement,\n }\n return result\n}\n"],"names":["tooltipPrimary","spec","context","result","advancedVSeed","vseed","measures","datasetReshapeInfo","chartType","dimensions","encoding","baseConfig","tooltip","enable","foldInfoList","unfoldInfo","createMarkContent","findAllMeasures","createDimensionContent","tooltipSecondary","isNullish","tooltipDualAxis","getTooltipStyle","updateTooltipElement"],"mappings":";;;;;AAOO,MAAMA,iBAAiC,CAACC,MAAMC;IACnD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,QAAQ,EAAEC,kBAAkB,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGN;IAC1E,MAAMO,aAAaP,cAAc,MAAM,CAACI,UAAU;IAClD,MAAM,EAAEI,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGD;IACvC,MAAM,EAAEE,MAAM,EAAE,GAAGD;IAEnB,MAAME,eAAeP,kBAAkB,CAAC,EAAE,CAAC,YAAY;IACvD,MAAMQ,aAAaR,kBAAkB,CAAC,EAAE,CAAC,UAAU;IAEnDJ,OAAO,OAAO,GAAG;QACf,SAASU;QACT,MAAM;YACJ,OAAO;gBACL,SAAS;YACX;YACA,SAASG,kBACPN,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAQ,gBAAgBZ,MAAM,QAAQ,GAC9BS,YAAY,CAAC,EAAE,EACfC;QAEJ;QACA,WAAW;YACT,OAAO;gBACL,SAAS;YACX;YACA,SAASG,uBAAuBT,YAAYH,UAAUQ,YAAY,CAAC,EAAE,EAAEC;QACzE;IACF;IACA,OAAOZ;AACT;AAEO,MAAMgB,mBAAmC,CAAClB,MAAMC;IACrD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,QAAQ,EAAEC,kBAAkB,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGN;IAC1E,MAAMO,aAAaP,cAAc,MAAM,CAACI,UAAU;IAClD,MAAM,EAAEI,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGD;IACvC,MAAM,EAAEE,MAAM,EAAE,GAAGD;IAEnB,IAAIQ,UAAUb,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,GACnD,OAAOJ;IAGT,MAAMW,eAAeP,kBAAkB,CAAC,EAAE,CAAC,YAAY;IACvD,MAAMQ,aAAaR,kBAAkB,CAAC,EAAE,CAAC,UAAU;IACnDJ,OAAO,OAAO,GAAG;QACf,SAASU;QACT,MAAM;YACJ,OAAO;gBACL,SAAS;YACX;YACA,SAASG,kBACPN,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAQ,gBAAgBZ,MAAM,QAAQ,GAC9BS,YAAY,CAAC,EAAE,EACfC;QAEJ;QACA,WAAW;YACT,OAAO;gBACL,SAAS;YACX;YACA,SAASG,uBAAuBT,YAAYH,UAAUQ,YAAY,CAAC,EAAE,EAAEC;QACzE;IACF;IACA,OAAOZ;AACT;AAEO,MAAMkB,kBAAkC,CAACpB,MAAMC;IACpD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEM,SAAS,EAAE,GAAGJ;IACtB,MAAMO,aAAaP,cAAc,MAAM,CAACI,UAAU;IAClD,MAAM,EAAEI,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGD;IAEvCR,OAAO,OAAO,GAAG;QACf,OAAOmB,gBAAgBV;QACvB,eAAeW;IACjB;IACA,OAAOpB;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.ts"],"sourcesContent":["import { isNullish } from 'remeda'\nimport { createDimensionContent, createMarkContent } from './tooltip'\nimport type { FoldInfo, VChartSpecPipe, Tooltip, UnfoldInfo } from 'src/types'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { updateTooltipElement } from './tooltipElement'\n\nexport const tooltipPrimary: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { measures, datasetReshapeInfo, 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 const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const unfoldInfo = datasetReshapeInfo[0].unfoldInfo\n\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n foldInfoList[0],\n unfoldInfo,\n ),\n },\n dimension: {\n title: {\n visible: true,\n },\n content: createDimensionContent(dimensions, measures, foldInfoList[0], unfoldInfo),\n },\n }\n return result\n}\n\nexport const tooltipSecondary: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { measures, datasetReshapeInfo, 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 if (isNullish(datasetReshapeInfo[0].foldInfoList?.[1])) {\n return result\n }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const unfoldInfo = datasetReshapeInfo[0].unfoldInfo as UnfoldInfo\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n foldInfoList[1],\n unfoldInfo,\n ),\n },\n dimension: {\n title: {\n visible: true,\n },\n content: createDimensionContent(dimensions, measures, foldInfoList[1], unfoldInfo),\n },\n }\n return result\n}\n\nexport const tooltipDualAxis: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n\n result.tooltip = {\n style: getTooltipStyle(tooltip),\n updateElement: updateTooltipElement,\n }\n return result\n}\n"],"names":["tooltipPrimary","spec","context","result","advancedVSeed","vseed","measures","datasetReshapeInfo","chartType","dimensions","encoding","baseConfig","tooltip","enable","foldInfoList","unfoldInfo","createMarkContent","findAllMeasures","createDimensionContent","tooltipSecondary","isNullish","tooltipDualAxis","getTooltipStyle","updateTooltipElement"],"mappings":";;;;;AAOO,MAAMA,iBAAiC,CAACC,MAAMC;IACnD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,QAAQ,EAAEC,kBAAkB,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGN;IAC1E,MAAMO,aAAaP,cAAc,MAAM,CAACI,UAAU;IAClD,MAAM,EAAEI,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGD;IACvC,MAAM,EAAEE,MAAM,EAAE,GAAGD;IAEnB,MAAME,eAAeP,kBAAkB,CAAC,EAAE,CAAC,YAAY;IACvD,MAAMQ,aAAaR,kBAAkB,CAAC,EAAE,CAAC,UAAU;IAEnDJ,OAAO,OAAO,GAAG;QACf,SAASU;QACT,MAAM;YACJ,OAAO;gBACL,SAAS;YACX;YACA,SAASG,kBACPN,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAQ,gBAAgBZ,MAAM,QAAQ,GAC9BS,YAAY,CAAC,EAAE,EACfC;QAEJ;QACA,WAAW;YACT,OAAO;gBACL,SAAS;YACX;YACA,SAASG,uBAAuBT,YAAYH,UAAUQ,YAAY,CAAC,EAAE,EAAEC;QACzE;IACF;IACA,OAAOZ;AACT;AAEO,MAAMgB,mBAAmC,CAAClB,MAAMC;IACrD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,QAAQ,EAAEC,kBAAkB,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGN;IAC1E,MAAMO,aAAaP,cAAc,MAAM,CAACI,UAAU;IAClD,MAAM,EAAEI,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGD;IACvC,MAAM,EAAEE,MAAM,EAAE,GAAGD;IAEnB,IAAIQ,UAAUb,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,GACnD,OAAOJ;IAGT,MAAMW,eAAeP,kBAAkB,CAAC,EAAE,CAAC,YAAY;IACvD,MAAMQ,aAAaR,kBAAkB,CAAC,EAAE,CAAC,UAAU;IACnDJ,OAAO,OAAO,GAAG;QACf,SAASU;QACT,MAAM;YACJ,OAAO;gBACL,SAAS;YACX;YACA,SAASG,kBACPN,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAQ,gBAAgBZ,MAAM,QAAQ,GAC9BS,YAAY,CAAC,EAAE,EACfC;QAEJ;QACA,WAAW;YACT,OAAO;gBACL,SAAS;YACX;YACA,SAASG,uBAAuBT,YAAYH,UAAUQ,YAAY,CAAC,EAAE,EAAEC;QACzE;IACF;IACA,OAAOZ;AACT;AAEO,MAAMkB,kBAAkC,CAACpB,MAAMC;IACpD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEM,SAAS,EAAE,GAAGJ;IACtB,MAAMO,aAAaP,cAAc,MAAM,CAACI,UAAU;IAClD,MAAM,EAAEI,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGD;IAEvCR,OAAO,OAAO,GAAG;QACf,OAAOmB,gBAAgBV;QACvB,eAAeW;IACjB;IACA,OAAOpB;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipElement.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/tooltip/tooltipElement.ts"],"sourcesContent":["const setWholeIcon = (shapeContainer: any, color: string) => {\n shapeContainer.style.backgroundColor = color\n shapeContainer.style.borderColor = color\n shapeContainer.style.width = '4px'\n shapeContainer.style.height = '100%'\n shapeContainer.style.display = 'inline-block'\n shapeContainer.style.borderRadius = '2px'\n shapeContainer.style.marginRight = '6px'\n\n const shapeElements = shapeContainer.children\n\n for (let i = 0; i < shapeElements.length; i++) {\n const shapeElement = shapeElements[i]\n const svgElement = shapeElement.children[0]\n\n if (svgElement) {\n svgElement.style.visibility = 'hidden'\n }\n\n shapeElement.style.background = 'transparent'\n shapeElement.style.borderColor = 'transparent'\n }\n}\n\nexport const updateTooltipElement = (tooltipElement: any, actualTooltip: any) => {\n if (!tooltipElement || !tooltipElement.querySelector || !actualTooltip) {\n return\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call\n const shapeContainer = tooltipElement.querySelector('.vchart-tooltip-shape-column')\n\n if (!shapeContainer) {\n return\n }\n\n if (actualTooltip.activeType === 'mark') {\n const color = (actualTooltip.content[0].shapeFill as string) ?? 'transparent'\n\n setWholeIcon(shapeContainer, color)\n } else if (actualTooltip.activeType === 'dimension') {\n shapeContainer.style.background = 'transparent'\n shapeContainer.style.borderColor = 'transparent'\n shapeContainer.style.width = 'auto'\n shapeContainer.style.height = 'auto'\n shapeContainer.style.display = 'inline-block'\n shapeContainer.style.marginRight = '2px'\n\n const shapeElements = shapeContainer.children\n\n for (let i = 0; i < shapeElements.length; i++) {\n const shapeElement = shapeElements[i]\n const svgElement = shapeElement.children[0]\n if (svgElement) {\n svgElement.style.visibility = 'hidden'\n }\n const color = actualTooltip.content[i]?.shapeFill ?? 'transparent'\n\n shapeElement.style.width = '4px'\n shapeElement.style.height = '100%'\n shapeElement.style.borderRadius = '2px'\n shapeElement.style.marginRight = '4px'\n shapeElement.style.backgroundColor = color\n shapeElement.style.borderColor = color\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call\n const title = tooltipElement.querySelector('.vchart-tooltip-title')\n\n if (title) {\n title.style.marginBottom = '8px'\n }\n}\n\nexport const updateMarkTooltipElement = (tooltipElement: any, actualTooltip: any) => {\n if (!tooltipElement || !tooltipElement.querySelector || !actualTooltip) {\n return\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call\n const shapeContainer = tooltipElement.querySelector('.vchart-tooltip-shape-column')\n\n if (!shapeContainer) {\n return\n }\n\n const color = (actualTooltip.content[0].shapeFill as string) ?? 'transparent'\n\n setWholeIcon(shapeContainer, color)\n}\n"],"names":["setWholeIcon","shapeContainer","color","shapeElements","i","shapeElement","svgElement","updateTooltipElement","tooltipElement","actualTooltip","title","updateMarkTooltipElement"],"mappings":"AAAA,MAAMA,eAAe,CAACC,gBAAqBC;IACzCD,eAAe,KAAK,CAAC,eAAe,GAAGC;IACvCD,eAAe,KAAK,CAAC,WAAW,GAAGC;IACnCD,eAAe,KAAK,CAAC,KAAK,GAAG;IAC7BA,eAAe,KAAK,CAAC,MAAM,GAAG;IAC9BA,eAAe,KAAK,CAAC,OAAO,GAAG;IAC/BA,eAAe,KAAK,CAAC,YAAY,GAAG;IACpCA,eAAe,KAAK,CAAC,WAAW,GAAG;IAEnC,MAAME,gBAAgBF,eAAe,QAAQ;IAE7C,IAAK,IAAIG,IAAI,GAAGA,IAAID,cAAc,MAAM,EAAEC,IAAK;QAC7C,MAAMC,eAAeF,aAAa,CAACC,EAAE;QACrC,MAAME,aAAaD,aAAa,QAAQ,CAAC,EAAE;QAE3C,IAAIC,YACFA,WAAW,KAAK,CAAC,UAAU,GAAG;QAGhCD,aAAa,KAAK,CAAC,UAAU,GAAG;QAChCA,aAAa,KAAK,CAAC,WAAW,GAAG;IACnC;AACF;AAEO,MAAME,uBAAuB,CAACC,gBAAqBC;IACxD,IAAI,CAACD,kBAAkB,CAACA,eAAe,aAAa,IAAI,CAACC,eACvD;IAGF,MAAMR,iBAAiBO,eAAe,aAAa,CAAC;IAEpD,IAAI,CAACP,gBACH;IAGF,IAAIQ,AAA6B,WAA7BA,cAAc,UAAU,EAAa;QACvC,MAAMP,QAASO,cAAc,OAAO,CAAC,EAAE,CAAC,SAAS,IAAe;QAEhET,aAAaC,gBAAgBC;IAC/B,OAAO,IAAIO,AAA6B,gBAA7BA,cAAc,UAAU,EAAkB;QACnDR,eAAe,KAAK,CAAC,UAAU,GAAG;QAClCA,eAAe,KAAK,CAAC,WAAW,GAAG;QACnCA,eAAe,KAAK,CAAC,KAAK,GAAG;QAC7BA,eAAe,KAAK,CAAC,MAAM,GAAG;QAC9BA,eAAe,KAAK,CAAC,OAAO,GAAG;QAC/BA,eAAe,KAAK,CAAC,WAAW,GAAG;QAEnC,MAAME,gBAAgBF,eAAe,QAAQ;QAE7C,IAAK,IAAIG,IAAI,GAAGA,IAAID,cAAc,MAAM,EAAEC,IAAK;YAC7C,MAAMC,eAAeF,aAAa,CAACC,EAAE;YACrC,MAAME,aAAaD,aAAa,QAAQ,CAAC,EAAE;YAC3C,IAAIC,YACFA,WAAW,KAAK,CAAC,UAAU,GAAG;YAEhC,MAAMJ,QAAQO,cAAc,OAAO,CAACL,EAAE,EAAE,aAAa;YAErDC,aAAa,KAAK,CAAC,KAAK,GAAG;YAC3BA,aAAa,KAAK,CAAC,MAAM,GAAG;YAC5BA,aAAa,KAAK,CAAC,YAAY,GAAG;YAClCA,aAAa,KAAK,CAAC,WAAW,GAAG;YACjCA,aAAa,KAAK,CAAC,eAAe,GAAGH;YACrCG,aAAa,KAAK,CAAC,WAAW,GAAGH;QACnC;IACF;IAGA,MAAMQ,QAAQF,eAAe,aAAa,CAAC;IAE3C,IAAIE,OACFA,MAAM,KAAK,CAAC,YAAY,GAAG;AAE/B;AAEO,MAAMC,2BAA2B,CAACH,gBAAqBC;IAC5D,IAAI,CAACD,kBAAkB,CAACA,eAAe,aAAa,IAAI,CAACC,eACvD;IAGF,MAAMR,iBAAiBO,eAAe,aAAa,CAAC;IAEpD,IAAI,CAACP,gBACH;IAGF,MAAMC,QAASO,cAAc,OAAO,CAAC,EAAE,CAAC,SAAS,IAAe;IAEhET,aAAaC,gBAAgBC;AAC/B"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipElement.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipElement.ts"],"sourcesContent":["const setWholeIcon = (shapeContainer: any, color: string) => {\n shapeContainer.style.backgroundColor = color\n shapeContainer.style.borderColor = color\n shapeContainer.style.width = '4px'\n shapeContainer.style.height = '100%'\n shapeContainer.style.display = 'inline-block'\n shapeContainer.style.borderRadius = '2px'\n shapeContainer.style.marginRight = '6px'\n\n const shapeElements = shapeContainer.children\n\n for (let i = 0; i < shapeElements.length; i++) {\n const shapeElement = shapeElements[i]\n const svgElement = shapeElement.children[0]\n\n if (svgElement) {\n svgElement.style.visibility = 'hidden'\n }\n\n shapeElement.style.background = 'transparent'\n shapeElement.style.borderColor = 'transparent'\n }\n}\n\nexport const updateTooltipElement = (tooltipElement: any, actualTooltip: any) => {\n if (!tooltipElement || !tooltipElement.querySelector || !actualTooltip) {\n return\n }\n\n const shapeContainer = tooltipElement.querySelector('.vchart-tooltip-shape-column')\n\n if (!shapeContainer) {\n return\n }\n\n if (actualTooltip.activeType === 'mark') {\n const color = (actualTooltip.content[0].shapeFill as string) ?? 'transparent'\n\n setWholeIcon(shapeContainer, color)\n } else if (actualTooltip.activeType === 'dimension') {\n shapeContainer.style.background = 'transparent'\n shapeContainer.style.borderColor = 'transparent'\n shapeContainer.style.width = 'auto'\n shapeContainer.style.height = 'auto'\n shapeContainer.style.display = 'inline-block'\n shapeContainer.style.marginRight = '2px'\n\n const shapeElements = shapeContainer.children\n\n for (let i = 0; i < shapeElements.length; i++) {\n const shapeElement = shapeElements[i]\n const svgElement = shapeElement.children[0]\n if (svgElement) {\n svgElement.style.visibility = 'hidden'\n }\n const color = actualTooltip.content[i]?.shapeFill ?? 'transparent'\n\n shapeElement.style.width = '4px'\n shapeElement.style.height = '100%'\n shapeElement.style.borderRadius = '2px'\n shapeElement.style.marginRight = '4px'\n shapeElement.style.backgroundColor = color\n shapeElement.style.borderColor = color\n }\n }\n\n const title = tooltipElement.querySelector('.vchart-tooltip-title')\n\n if (title) {\n title.style.marginBottom = '8px'\n }\n}\n\nexport const updateMarkTooltipElement = (tooltipElement: any, actualTooltip: any) => {\n if (!tooltipElement || !tooltipElement.querySelector || !actualTooltip) {\n return\n }\n\n const shapeContainer = tooltipElement.querySelector('.vchart-tooltip-shape-column')\n\n if (!shapeContainer) {\n return\n }\n\n const color = (actualTooltip.content[0].shapeFill as string) ?? 'transparent'\n\n setWholeIcon(shapeContainer, color)\n}\n"],"names":["setWholeIcon","shapeContainer","color","shapeElements","i","shapeElement","svgElement","updateTooltipElement","tooltipElement","actualTooltip","title","updateMarkTooltipElement"],"mappings":"AAAA,MAAMA,eAAe,CAACC,gBAAqBC;IACzCD,eAAe,KAAK,CAAC,eAAe,GAAGC;IACvCD,eAAe,KAAK,CAAC,WAAW,GAAGC;IACnCD,eAAe,KAAK,CAAC,KAAK,GAAG;IAC7BA,eAAe,KAAK,CAAC,MAAM,GAAG;IAC9BA,eAAe,KAAK,CAAC,OAAO,GAAG;IAC/BA,eAAe,KAAK,CAAC,YAAY,GAAG;IACpCA,eAAe,KAAK,CAAC,WAAW,GAAG;IAEnC,MAAME,gBAAgBF,eAAe,QAAQ;IAE7C,IAAK,IAAIG,IAAI,GAAGA,IAAID,cAAc,MAAM,EAAEC,IAAK;QAC7C,MAAMC,eAAeF,aAAa,CAACC,EAAE;QACrC,MAAME,aAAaD,aAAa,QAAQ,CAAC,EAAE;QAE3C,IAAIC,YACFA,WAAW,KAAK,CAAC,UAAU,GAAG;QAGhCD,aAAa,KAAK,CAAC,UAAU,GAAG;QAChCA,aAAa,KAAK,CAAC,WAAW,GAAG;IACnC;AACF;AAEO,MAAME,uBAAuB,CAACC,gBAAqBC;IACxD,IAAI,CAACD,kBAAkB,CAACA,eAAe,aAAa,IAAI,CAACC,eACvD;IAGF,MAAMR,iBAAiBO,eAAe,aAAa,CAAC;IAEpD,IAAI,CAACP,gBACH;IAGF,IAAIQ,AAA6B,WAA7BA,cAAc,UAAU,EAAa;QACvC,MAAMP,QAASO,cAAc,OAAO,CAAC,EAAE,CAAC,SAAS,IAAe;QAEhET,aAAaC,gBAAgBC;IAC/B,OAAO,IAAIO,AAA6B,gBAA7BA,cAAc,UAAU,EAAkB;QACnDR,eAAe,KAAK,CAAC,UAAU,GAAG;QAClCA,eAAe,KAAK,CAAC,WAAW,GAAG;QACnCA,eAAe,KAAK,CAAC,KAAK,GAAG;QAC7BA,eAAe,KAAK,CAAC,MAAM,GAAG;QAC9BA,eAAe,KAAK,CAAC,OAAO,GAAG;QAC/BA,eAAe,KAAK,CAAC,WAAW,GAAG;QAEnC,MAAME,gBAAgBF,eAAe,QAAQ;QAE7C,IAAK,IAAIG,IAAI,GAAGA,IAAID,cAAc,MAAM,EAAEC,IAAK;YAC7C,MAAMC,eAAeF,aAAa,CAACC,EAAE;YACrC,MAAME,aAAaD,aAAa,QAAQ,CAAC,EAAE;YAC3C,IAAIC,YACFA,WAAW,KAAK,CAAC,UAAU,GAAG;YAEhC,MAAMJ,QAAQO,cAAc,OAAO,CAACL,EAAE,EAAE,aAAa;YAErDC,aAAa,KAAK,CAAC,KAAK,GAAG;YAC3BA,aAAa,KAAK,CAAC,MAAM,GAAG;YAC5BA,aAAa,KAAK,CAAC,YAAY,GAAG;YAClCA,aAAa,KAAK,CAAC,WAAW,GAAG;YACjCA,aAAa,KAAK,CAAC,eAAe,GAAGH;YACrCG,aAAa,KAAK,CAAC,WAAW,GAAGH;QACnC;IACF;IAEA,MAAMQ,QAAQF,eAAe,aAAa,CAAC;IAE3C,IAAIE,OACFA,MAAM,KAAK,CAAC,YAAY,GAAG;AAE/B;AAEO,MAAMC,2BAA2B,CAACH,gBAAqBC;IAC5D,IAAI,CAACD,kBAAkB,CAACA,eAAe,aAAa,IAAI,CAACC,eACvD;IAGF,MAAMR,iBAAiBO,eAAe,aAAa,CAAC;IAEpD,IAAI,CAACP,gBACH;IAGF,MAAMC,QAASO,cAAc,OAAO,CAAC,EAAE,CAAC,SAAS,IAAe;IAEhET,aAAaC,gBAAgBC;AAC/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { createFormatterByMeasure, findAllMeasures, findMeasureById } from '../../../../utils'\nimport type { Datum, Dimensions, FoldInfo, Locale, Measures, VChartSpecPipe, Tooltip, UnfoldInfo } from 'src/types'\nimport { ORIGINAL_DATA } from 'src/dataReshape'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { updateTooltipElement } from './tooltipElement'\n\nexport const tooltipHeatmap: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n const { foldInfo } = datasetReshapeInfo[0] as unknown as {\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n }\n\n result.tooltip = {\n style: getTooltipStyle(tooltip),\n visible: enable,\n\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(encoding.tooltip || [], dimensions, findAllMeasures(vseed.measures), locale, foldInfo),\n },\n dimension: {\n visible: false,\n },\n updateElement: updateTooltipElement,\n }\n return result\n}\n\nexport const createMarkContent = (\n tooltip: string[],\n dimensions: Dimensions,\n measures: Measures,\n locale: Locale,\n foldInfo: FoldInfo,\n) => {\n const dims = uniqueBy(\n dimensions.filter((item) => tooltip.includes(item.id)),\n (item) => item.id,\n )\n const meas = uniqueBy(\n measures.filter((item) => tooltip.includes(item.id)),\n (item) => item.id,\n )\n\n const dimContent = dims.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const datum = v as Datum\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return datum && (datum[item.id] as string)\n },\n value: (v: unknown) => {\n const datum = v as Datum\n return datum && (datum[item.id] as string)\n },\n }))\n\n const meaContent = meas.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias || item.id,\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const id = item.id\n if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) {\n return ''\n }\n const originalData = datum[ORIGINAL_DATA] as Datum\n const value = originalData[id] as string | number\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }))\n\n const foldMeaContent = [foldInfo].map((foldInfo) => {\n return {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const { measureId, foldMap } = foldInfo\n const datum = v as Datum\n const id = datum[measureId] as string\n return foldMap[id] || id\n },\n value: (v: unknown) => {\n const { measureId, measureValue } = foldInfo\n\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }\n })\n return [...dimContent, ...foldMeaContent, ...meaContent]\n}\n"],"names":["tooltipHeatmap","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","locale","dimensions","encoding","baseConfig","tooltip","enable","foldInfo","getTooltipStyle","createMarkContent","findAllMeasures","updateTooltipElement","measures","dims","uniqueBy","item","meas","dimContent","v","datum","meaContent","id","ORIGINAL_DATA","originalData","value","measure","findMeasureById","formatter","createFormatterByMeasure","foldMeaContent","measureId","foldMap","measureValue"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { createFormatterByMeasure, findAllMeasures, findMeasureById } from '../../../../utils'\nimport type { Datum, Dimensions, FoldInfo, Locale, Measures, VChartSpecPipe, Tooltip, UnfoldInfo } from 'src/types'\nimport { ORIGINAL_DATA } from 'src/dataReshape'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { updateTooltipElement } from './tooltipElement'\n\nexport const tooltipHeatmap: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n const { foldInfo } = datasetReshapeInfo[0] as unknown as {\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n }\n\n result.tooltip = {\n style: getTooltipStyle(tooltip),\n visible: enable,\n\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(encoding.tooltip || [], dimensions, findAllMeasures(vseed.measures), locale, foldInfo),\n },\n dimension: {\n visible: false,\n },\n updateElement: updateTooltipElement,\n }\n return result\n}\n\nexport const createMarkContent = (\n tooltip: string[],\n dimensions: Dimensions,\n measures: Measures,\n locale: Locale,\n foldInfo: FoldInfo,\n) => {\n const dims = uniqueBy(\n dimensions.filter((item) => tooltip.includes(item.id)),\n (item) => item.id,\n )\n const meas = uniqueBy(\n measures.filter((item) => tooltip.includes(item.id)),\n (item) => item.id,\n )\n\n const dimContent = dims.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const datum = v as Datum\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return datum && (datum[item.id] as string)\n },\n value: (v: unknown) => {\n const datum = v as Datum\n return datum && (datum[item.id] as string)\n },\n }))\n\n const meaContent = meas.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias || item.id,\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const id = item.id\n if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) {\n return ''\n }\n const originalData = datum[ORIGINAL_DATA] as Datum\n const value = originalData[id] as string | number\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }))\n\n const foldMeaContent = [foldInfo].map((foldInfo) => {\n return {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const { measureId, foldMap } = foldInfo\n const datum = v as Datum\n const id = datum[measureId] as string\n return foldMap[id] || id\n },\n value: (v: unknown) => {\n const { measureId, measureValue } = foldInfo\n\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }\n })\n return [...dimContent, ...foldMeaContent, ...meaContent]\n}\n"],"names":["tooltipHeatmap","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","locale","dimensions","encoding","baseConfig","tooltip","enable","foldInfo","getTooltipStyle","createMarkContent","findAllMeasures","updateTooltipElement","measures","dims","uniqueBy","item","meas","dimContent","v","datum","meaContent","id","ORIGINAL_DATA","originalData","value","measure","findMeasureById","formatter","createFormatterByMeasure","foldMeaContent","measureId","foldMap","measureValue"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.ts"],"sourcesContent":["import { pipe, uniqueBy, isNullish } from 'remeda'\nimport type { Dimension, Dimensions, Encoding, VChartSpecPipe, Tooltip } from 'src/types'\nimport type { Datum, ISpec, ITooltipLinePattern } from '@visactor/vchart'\nimport { BinEndMeasureId, BinStartMeasureId, ColorEncoding, FoldMeasureValue, XEncoding } from 'src/dataReshape'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { getDefaultValueFormatterOfHistogram, getDefaultXFormatterOfHistogram } from '../../utils/histogram'\nimport { updateMarkTooltipElement } from './tooltipElement'\n\nconst VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE'\n\nexport const tooltipHistogram: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip; binValueType: 'count' | 'percentage' }\n const { binValueType, tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n const defaultXFormatter = getDefaultXFormatterOfHistogram(advancedVSeed)\n const defaultValueFormatter = getDefaultValueFormatterOfHistogram(binValueType)\n\n result.tooltip = {\n style: getTooltipStyle(tooltip),\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n encoding as Encoding,\n defaultXFormatter,\n defaultValueFormatter,\n ),\n },\n dimension: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n encoding as Encoding,\n defaultXFormatter,\n defaultValueFormatter,\n ),\n },\n\n updateElement: updateMarkTooltipElement,\n }\n return result as unknown as ISpec\n}\n\nconst createMarkContent = (\n tooltip: string[],\n dimensions: Dimensions,\n encoding: Encoding,\n dimFormatter: (value: number) => string,\n defaultValueFormatter: (value: number | string) => string,\n) => {\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 defaultValueFormatter(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 `[${dimFormatter(+datum[BinStartMeasureId])}, ${dimFormatter(+datum[BinEndMeasureId])})`\n },\n value: (datum: Datum | undefined) => {\n if (!datum) {\n return ''\n }\n return defaultValueFormatter(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","binValueType","tooltip","enable","defaultXFormatter","getDefaultXFormatterOfHistogram","defaultValueFormatter","getDefaultValueFormatterOfHistogram","getTooltipStyle","createMarkContent","updateMarkTooltipElement","dimFormatter","dims","pipe","item","uniqueBy","dimContent","datum","isNullish","ColorEncoding","XEncoding","defaultContent","BinStartMeasureId","BinEndMeasureId","FoldMeasureValue"],"mappings":";;;;;AAQA,MAAMA,qBAAqB;AAEpB,MAAMC,mBAAmC,CAACC,MAAMC;IACrD,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,YAAY,EAAEC,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGF;IACrD,MAAM,EAAEG,MAAM,EAAE,GAAGD;IACnB,MAAME,oBAAoBC,gCAAgCT;IAC1D,MAAMU,wBAAwBC,oCAAoCN;IAElEN,OAAO,OAAO,GAAG;QACf,OAAOa,gBAAgBN;QACvB,SAASC;QACT,MAAM;YACJ,OAAO;gBACL,SAAS;YACX;YACA,SAASM,kBACPV,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAC,UACAK,mBACAE;QAEJ;QACA,WAAW;YACT,OAAO;gBACL,SAAS;YACX;YACA,SAASG,kBACPV,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAC,UACAK,mBACAE;QAEJ;QAEA,eAAeI;IACjB;IACA,OAAOf;AACT;AAEA,MAAMc,oBAAoB,CACxBP,SACAJ,YACAC,UACAY,cACAL;IAEA,MAAMM,OAAOC,KACXf,WAAW,MAAM,CAAC,CAACgB,OAASZ,QAAQ,QAAQ,CAACY,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,CAAC1B,mBAAmB,GAAG;oBAC3C,IAAIQ,SAAS,KAAK,EAAE,SAASe,KAAK,EAAE,GAClC,OAAOG,OAAO,CAACE,cAAc;oBAE/B,IAAIpB,SAAS,CAAC,EAAE,SAASe,KAAK,EAAE,GAC9B,OAAOG,OAAO,CAACG,UAAU;gBAE7B;gBAEA,OAAOd,sBAAsBW,OAAO,CAACH,KAAK,EAAE,CAAC;YAC/C;QACF;IAEA,MAAMO,iBAAiB;QACrB;YACE,SAAS;YACT,UAAU;YACV,WAAW;YACX,KAAK,CAACJ;gBACJ,IAAI,CAACA,OACH,OAAO;gBAET,OAAO,CAAC,CAAC,EAAEN,aAAa,CAACM,KAAK,CAACK,kBAAkB,EAAE,EAAE,EAAEX,aAAa,CAACM,KAAK,CAACM,gBAAgB,EAAE,CAAC,CAAC;YACjG;YACA,OAAO,CAACN;gBACN,IAAI,CAACA,OACH,OAAO;gBAET,OAAOX,sBAAsBW,KAAK,CAACO,iBAAiB;YACtD;QACF;KACD;IAED,OAAO;WAAIR;QAAYK;KAAe;AACxC"}
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, VChartSpecPipe, Tooltip } from 'src/types'\nimport type { Datum, ISpec, ITooltipLinePattern } from '@visactor/vchart'\nimport { BinEndMeasureId, BinStartMeasureId, ColorEncoding, FoldMeasureValue, XEncoding } from 'src/dataReshape'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { getDefaultValueFormatterOfHistogram, getDefaultXFormatterOfHistogram } from '../../utils/histogram'\nimport { updateMarkTooltipElement } from './tooltipElement'\n\nconst VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE'\n\nexport const tooltipHistogram: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip; binValueType: 'count' | 'percentage' }\n const { binValueType, tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n const defaultXFormatter = getDefaultXFormatterOfHistogram(advancedVSeed)\n const defaultValueFormatter = getDefaultValueFormatterOfHistogram(binValueType)\n\n result.tooltip = {\n style: getTooltipStyle(tooltip),\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n encoding as Encoding,\n defaultXFormatter,\n defaultValueFormatter,\n ),\n },\n dimension: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n encoding as Encoding,\n defaultXFormatter,\n defaultValueFormatter,\n ),\n },\n\n updateElement: updateMarkTooltipElement,\n }\n return result as unknown as ISpec\n}\n\nconst createMarkContent = (\n tooltip: string[],\n dimensions: Dimensions,\n encoding: Encoding,\n dimFormatter: (value: number) => string,\n defaultValueFormatter: (value: number | string) => string,\n) => {\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 defaultValueFormatter(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 `[${dimFormatter(+datum[BinStartMeasureId])}, ${dimFormatter(+datum[BinEndMeasureId])})`\n },\n value: (datum: Datum | undefined) => {\n if (!datum) {\n return ''\n }\n return defaultValueFormatter(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","binValueType","tooltip","enable","defaultXFormatter","getDefaultXFormatterOfHistogram","defaultValueFormatter","getDefaultValueFormatterOfHistogram","getTooltipStyle","createMarkContent","updateMarkTooltipElement","dimFormatter","dims","pipe","item","uniqueBy","dimContent","datum","isNullish","ColorEncoding","XEncoding","defaultContent","BinStartMeasureId","BinEndMeasureId","FoldMeasureValue"],"mappings":";;;;;AAQA,MAAMA,qBAAqB;AAEpB,MAAMC,mBAAmC,CAACC,MAAMC;IACrD,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,YAAY,EAAEC,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGF;IACrD,MAAM,EAAEG,MAAM,EAAE,GAAGD;IACnB,MAAME,oBAAoBC,gCAAgCT;IAC1D,MAAMU,wBAAwBC,oCAAoCN;IAElEN,OAAO,OAAO,GAAG;QACf,OAAOa,gBAAgBN;QACvB,SAASC;QACT,MAAM;YACJ,OAAO;gBACL,SAAS;YACX;YACA,SAASM,kBACPV,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAC,UACAK,mBACAE;QAEJ;QACA,WAAW;YACT,OAAO;gBACL,SAAS;YACX;YACA,SAASG,kBACPV,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAC,UACAK,mBACAE;QAEJ;QAEA,eAAeI;IACjB;IACA,OAAOf;AACT;AAEA,MAAMc,oBAAoB,CACxBP,SACAJ,YACAC,UACAY,cACAL;IAEA,MAAMM,OAAOC,KACXf,WAAW,MAAM,CAAC,CAACgB,OAASZ,QAAQ,QAAQ,CAACY,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,CAAC1B,mBAAmB,GAAG;oBAC3C,IAAIQ,SAAS,KAAK,EAAE,SAASe,KAAK,EAAE,GAClC,OAAOG,OAAO,CAACE,cAAc;oBAE/B,IAAIpB,SAAS,CAAC,EAAE,SAASe,KAAK,EAAE,GAC9B,OAAOG,OAAO,CAACG,UAAU;gBAE7B;gBAEA,OAAOd,sBAAsBW,OAAO,CAACH,KAAK,EAAE,CAAC;YAC/C;QACF;IAEA,MAAMO,iBAAiB;QACrB;YACE,SAAS;YACT,UAAU;YACV,WAAW;YACX,KAAK,CAACJ;gBACJ,IAAI,CAACA,OACH,OAAO;gBAET,OAAO,CAAC,CAAC,EAAEN,aAAa,CAACM,KAAK,CAACK,kBAAkB,EAAE,EAAE,EAAEX,aAAa,CAACM,KAAK,CAACM,gBAAgB,EAAE,CAAC,CAAC;YACjG;YACA,OAAO,CAACN;gBACN,IAAI,CAACA,OACH,OAAO;gBAET,OAAOX,sBAAsBW,KAAK,CAACO,iBAAiB;YACtD;QACF;KACD;IAED,OAAO;WAAIR;QAAYK;KAAe;AACxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipScatter.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/tooltip/tooltipScatter.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { createFormatterByMeasure, findAllMeasures, findMeasureById } from '../../../../utils'\nimport type { Datum, Dimensions, FoldInfo, Locale, Measures, VChartSpecPipe, Tooltip, UnfoldInfo } from 'src/types'\nimport { ORIGINAL_DATA } from 'src/dataReshape'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { updateTooltipElement } from './tooltipElement'\n\nexport const tooltipScatter: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n const { foldInfoList } = datasetReshapeInfo[0] as unknown as {\n foldInfoList: FoldInfo[]\n unfoldInfo: UnfoldInfo\n }\n\n result.tooltip = {\n style: getTooltipStyle(tooltip),\n visible: enable,\n\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n locale,\n foldInfoList,\n ),\n },\n dimension: {\n visible: false,\n },\n updateElement: updateTooltipElement,\n }\n return result\n}\n\nexport const createMarkContent = (\n tooltip: string[],\n dimensions: Dimensions,\n measures: Measures,\n locale: Locale,\n foldInfoList: FoldInfo[],\n) => {\n const dims = uniqueBy(\n dimensions.filter((item) => tooltip.includes(item.id)),\n (item) => item.id,\n )\n const meas = uniqueBy(\n measures.filter((item) => tooltip.includes(item.id)),\n (item) => item.id,\n )\n\n const dimContent = dims.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const datum = v as Datum\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return datum && (datum[item.id] as string)\n },\n value: (v: unknown) => {\n const datum = v as Datum\n return datum && (datum[item.id] as string)\n },\n }))\n\n const meaContent = meas.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias || item.id,\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const id = item.id\n if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) {\n return ''\n }\n const originalData = datum[ORIGINAL_DATA] as Datum\n const value = originalData[id] as string | number\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }))\n\n const foldMeaContent = foldInfoList.map((foldInfo) => {\n return {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: Object.values(foldInfo.foldMap)[0],\n value: (v: unknown) => {\n const { measureId, measureValue } = foldInfo\n\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }\n })\n return [...dimContent, ...foldMeaContent, ...meaContent]\n}\n"],"names":["tooltipScatter","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","locale","dimensions","encoding","baseConfig","tooltip","enable","foldInfoList","getTooltipStyle","createMarkContent","findAllMeasures","updateTooltipElement","measures","dims","uniqueBy","item","meas","dimContent","v","datum","meaContent","id","ORIGINAL_DATA","originalData","value","measure","findMeasureById","formatter","createFormatterByMeasure","foldMeaContent","foldInfo","Object","measureId","measureValue"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipScatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipScatter.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { createFormatterByMeasure, findAllMeasures, findMeasureById } from '../../../../utils'\nimport type { Datum, Dimensions, FoldInfo, Locale, Measures, VChartSpecPipe, Tooltip, UnfoldInfo } from 'src/types'\nimport { ORIGINAL_DATA } from 'src/dataReshape'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { updateTooltipElement } from './tooltipElement'\n\nexport const tooltipScatter: VChartSpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n const { foldInfoList } = datasetReshapeInfo[0] as unknown as {\n foldInfoList: FoldInfo[]\n unfoldInfo: UnfoldInfo\n }\n\n result.tooltip = {\n style: getTooltipStyle(tooltip),\n visible: enable,\n\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n locale,\n foldInfoList,\n ),\n },\n dimension: {\n visible: false,\n },\n updateElement: updateTooltipElement,\n }\n return result\n}\n\nexport const createMarkContent = (\n tooltip: string[],\n dimensions: Dimensions,\n measures: Measures,\n locale: Locale,\n foldInfoList: FoldInfo[],\n) => {\n const dims = uniqueBy(\n dimensions.filter((item) => tooltip.includes(item.id)),\n (item) => item.id,\n )\n const meas = uniqueBy(\n measures.filter((item) => tooltip.includes(item.id)),\n (item) => item.id,\n )\n\n const dimContent = dims.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const datum = v as Datum\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return datum && (datum[item.id] as string)\n },\n value: (v: unknown) => {\n const datum = v as Datum\n return datum && (datum[item.id] as string)\n },\n }))\n\n const meaContent = meas.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias || item.id,\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const id = item.id\n if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) {\n return ''\n }\n const originalData = datum[ORIGINAL_DATA] as Datum\n const value = originalData[id] as string | number\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }))\n\n const foldMeaContent = foldInfoList.map((foldInfo) => {\n return {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: Object.values(foldInfo.foldMap)[0],\n value: (v: unknown) => {\n const { measureId, measureValue } = foldInfo\n\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }\n })\n return [...dimContent, ...foldMeaContent, ...meaContent]\n}\n"],"names":["tooltipScatter","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","locale","dimensions","encoding","baseConfig","tooltip","enable","foldInfoList","getTooltipStyle","createMarkContent","findAllMeasures","updateTooltipElement","measures","dims","uniqueBy","item","meas","dimContent","v","datum","meaContent","id","ORIGINAL_DATA","originalData","value","measure","findMeasureById","formatter","createFormatterByMeasure","foldMeaContent","foldInfo","Object","measureId","measureValue"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipStyle.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/tooltip/tooltipStyle.ts"],"sourcesContent":["import type { ITooltipSpec } from '@visactor/vchart'\nimport type { TooltipConfig } from 'src/types/properties'\n\nexport const getTooltipStyle = (tooltipConfig: TooltipConfig) => {\n return {\n panel: {\n padding: tooltipConfig.padding,\n border: {\n radius: tooltipConfig.borderRadius,\n width: tooltipConfig.borderWidth,\n color: tooltipConfig.borderColor,\n },\n backgroundColor: tooltipConfig.backgroundColor,\n },\n keyLabel: {\n lineHeight: tooltipConfig.lineHeight,\n fontSize: tooltipConfig.fontSize,\n fontColor: tooltipConfig.keyColor,\n },\n valueLabel: {\n lineHeight: tooltipConfig.lineHeight,\n fontSize: tooltipConfig.fontSize,\n fontColor: tooltipConfig.valueColor,\n fontWeight: 'medium',\n },\n titleLabel: {\n fontSize: tooltipConfig.fontSize,\n lineHeight: tooltipConfig.lineHeight,\n fontColor: tooltipConfig.titleColor,\n fontWeight: 'bold',\n },\n } as ITooltipSpec['style']\n}\n"],"names":["getTooltipStyle","tooltipConfig"],"mappings":"AAGO,MAAMA,kBAAkB,CAACC,gBACvB;QACL,OAAO;YACL,SAASA,cAAc,OAAO;YAC9B,QAAQ;gBACN,QAAQA,cAAc,YAAY;gBAClC,OAAOA,cAAc,WAAW;gBAChC,OAAOA,cAAc,WAAW;YAClC;YACA,iBAAiBA,cAAc,eAAe;QAChD;QACA,UAAU;YACR,YAAYA,cAAc,UAAU;YACpC,UAAUA,cAAc,QAAQ;YAChC,WAAWA,cAAc,QAAQ;QACnC;QACA,YAAY;YACV,YAAYA,cAAc,UAAU;YACpC,UAAUA,cAAc,QAAQ;YAChC,WAAWA,cAAc,UAAU;YACnC,YAAY;QACd;QACA,YAAY;YACV,UAAUA,cAAc,QAAQ;YAChC,YAAYA,cAAc,UAAU;YACpC,WAAWA,cAAc,UAAU;YACnC,YAAY;QACd;IACF"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipStyle.ts"],"sourcesContent":["import type { ITooltipSpec } from '@visactor/vchart'\nimport type { TooltipConfig } from 'src/types/properties'\n\nexport const getTooltipStyle = (tooltipConfig: TooltipConfig) => {\n return {\n panel: {\n padding: tooltipConfig.padding,\n border: {\n radius: tooltipConfig.borderRadius,\n width: tooltipConfig.borderWidth,\n color: tooltipConfig.borderColor,\n },\n backgroundColor: tooltipConfig.backgroundColor,\n },\n keyLabel: {\n lineHeight: tooltipConfig.lineHeight,\n fontSize: tooltipConfig.fontSize,\n fontColor: tooltipConfig.keyColor,\n },\n valueLabel: {\n lineHeight: tooltipConfig.lineHeight,\n fontSize: tooltipConfig.fontSize,\n fontColor: tooltipConfig.valueColor,\n fontWeight: 'medium',\n },\n titleLabel: {\n fontSize: tooltipConfig.fontSize,\n lineHeight: tooltipConfig.lineHeight,\n fontColor: tooltipConfig.titleColor,\n fontWeight: 'bold',\n },\n } as ITooltipSpec['style']\n}\n"],"names":["getTooltipStyle","tooltipConfig"],"mappings":"AAGO,MAAMA,kBAAkB,CAACC,gBACvB;QACL,OAAO;YACL,SAASA,cAAc,OAAO;YAC9B,QAAQ;gBACN,QAAQA,cAAc,YAAY;gBAClC,OAAOA,cAAc,WAAW;gBAChC,OAAOA,cAAc,WAAW;YAClC;YACA,iBAAiBA,cAAc,eAAe;QAChD;QACA,UAAU;YACR,YAAYA,cAAc,UAAU;YACpC,UAAUA,cAAc,QAAQ;YAChC,WAAWA,cAAc,QAAQ;QACnC;QACA,YAAY;YACV,YAAYA,cAAc,UAAU;YACpC,UAAUA,cAAc,QAAQ;YAChC,WAAWA,cAAc,UAAU;YACnC,YAAY;QACd;QACA,YAAY;YACV,UAAUA,cAAc,QAAQ;YAChC,YAAYA,cAAc,UAAU;YACpC,WAAWA,cAAc,UAAU;YACnC,YAAY;QACd;IACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/utils/histogram.js","sources":["../../../../../../src/pipeline/spec/chart/utils/histogram.ts"],"sourcesContent":["import { autoFormatter, createNumFormatter } from 'src/pipeline/utils'\nimport type { AdvancedVSeed, XLinearAxis } from 'src/types'\nimport { createLinearFormat } from '../pipes/axes/format/linearFormat'\n\nexport const getDefaultXFormatterOfHistogram = (advancedVSeed: AdvancedVSeed) => {\n const { chartType, config } = advancedVSeed\n const xConfig = config?.[chartType as 'bar']?.xAxis as XLinearAxis\n const { autoFormat = true, numFormat = {} } = xConfig\n const formatter = createNumFormatter(numFormat)\n return (value: number) => createLinearFormat(value, autoFormat, numFormat, formatter)\n}\n\nexport const getDefaultValueFormatterOfHistogram = (binValueType: 'count' | 'percentage' = 'count') => {\n return binValueType === 'percentage'\n ? createNumFormatter({\n type: 'percent',\n fractionDigits: 1,\n })\n : (value: number | string) => autoFormatter(value)\n}\n"],"names":["getDefaultXFormatterOfHistogram","advancedVSeed","chartType","config","xConfig","autoFormat","numFormat","formatter","createNumFormatter","value","createLinearFormat","getDefaultValueFormatterOfHistogram","binValueType","autoFormatter"],"mappings":";;AAIO,MAAMA,kCAAkC,CAACC;IAC9C,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAE,GAAGF;IAC9B,MAAMG,UAAUD,QAAQ,CAACD,UAAmB,EAAE;IAC9C,MAAM,EAAEG,aAAa,IAAI,EAAEC,YAAY,CAAC,CAAC,EAAE,GAAGF;IAC9C,MAAMG,YAAYC,mBAAmBF;IACrC,OAAO,CAACG,QAAkBC,mBAAmBD,OAAOJ,YAAYC,WAAWC;AAC7E;AAEO,MAAMI,sCAAsC,CAACC,eAAuC,OAAO,GACzFA,AAAiB,iBAAjBA,eACHJ,mBAAmB;QACjB,MAAM;QACN,gBAAgB;IAClB,KACA,CAACC,QAA2BI,cAAcJ"}
1
+ {"version":3,"file":"pipeline/spec/chart/utils/histogram.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/utils/histogram.ts"],"sourcesContent":["import { autoFormatter, createNumFormatter } from 'src/pipeline/utils'\nimport type { AdvancedVSeed, XLinearAxis } from 'src/types'\nimport { createLinearFormat } from '../pipes/axes/format/linearFormat'\n\nexport const getDefaultXFormatterOfHistogram = (advancedVSeed: AdvancedVSeed) => {\n const { chartType, config } = advancedVSeed\n const xConfig = config?.[chartType as 'bar']?.xAxis as XLinearAxis\n const { autoFormat = true, numFormat = {} } = xConfig\n const formatter = createNumFormatter(numFormat)\n return (value: number) => createLinearFormat(value, autoFormat, numFormat, formatter)\n}\n\nexport const getDefaultValueFormatterOfHistogram = (binValueType: 'count' | 'percentage' = 'count') => {\n return binValueType === 'percentage'\n ? createNumFormatter({\n type: 'percent',\n fractionDigits: 1,\n })\n : (value: number | string) => autoFormatter(value)\n}\n"],"names":["getDefaultXFormatterOfHistogram","advancedVSeed","chartType","config","xConfig","autoFormat","numFormat","formatter","createNumFormatter","value","createLinearFormat","getDefaultValueFormatterOfHistogram","binValueType","autoFormatter"],"mappings":";;AAIO,MAAMA,kCAAkC,CAACC;IAC9C,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAE,GAAGF;IAC9B,MAAMG,UAAUD,QAAQ,CAACD,UAAmB,EAAE;IAC9C,MAAM,EAAEG,aAAa,IAAI,EAAEC,YAAY,CAAC,CAAC,EAAE,GAAGF;IAC9C,MAAMG,YAAYC,mBAAmBF;IACrC,OAAO,CAACG,QAAkBC,mBAAmBD,OAAOJ,YAAYC,WAAWC;AAC7E;AAEO,MAAMI,sCAAsC,CAACC,eAAuC,OAAO,GACzFA,AAAiB,iBAAjBA,eACHJ,mBAAmB;QACjB,MAAM;QACN,gBAAgB;IAClB,KACA,CAACC,QAA2BI,cAAcJ"}
@@ -1,4 +1,4 @@
1
- import { bodyStyle, cornerHeaderStyle, frameStyle, headerStyle, initPivotTable, pivotColumns, pivotIndicators, pivotRows, pivotTableBodyCell, rowHeaderStyle, selectionStyle, titleOnDimension } from "../pipes/index.js";
1
+ import { bodyStyle, cornerHeaderStyle, headerStyle, initPivotTable, pivotColumns, pivotIndicators, pivotRows, pivotTableBodyCell, rowHeaderStyle, selectionStyle, tableThemeStyle, titleOnDimension } from "../pipes/index.js";
2
2
  import { dataConfig } from "../pipes/indicators/pivotDataConfig.js";
3
3
  const pivotTableSpecPipeline = [
4
4
  initPivotTable,
@@ -10,7 +10,7 @@ const pivotTableSpecPipeline = [
10
10
  headerStyle,
11
11
  rowHeaderStyle,
12
12
  cornerHeaderStyle,
13
- frameStyle,
13
+ tableThemeStyle,
14
14
  selectionStyle,
15
15
  dataConfig,
16
16
  pivotTableBodyCell
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipeline/pivotTable.js","sources":["../../../../../../src/pipeline/spec/table/pipeline/pivotTable.ts"],"sourcesContent":["import type { SpecPipeline } from 'src/types'\nimport {\n initPivotTable,\n pivotColumns,\n pivotRows,\n pivotIndicators,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n frameStyle,\n selectionStyle,\n titleOnDimension,\n pivotTableBodyCell,\n} from '../pipes'\nimport { dataConfig } from '../pipes/indicators/pivotDataConfig'\n\nexport const pivotTableSpecPipeline: SpecPipeline = [\n initPivotTable,\n pivotColumns,\n pivotRows,\n titleOnDimension,\n pivotIndicators,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n frameStyle,\n selectionStyle,\n dataConfig,\n pivotTableBodyCell,\n]\n"],"names":["pivotTableSpecPipeline","initPivotTable","pivotColumns","pivotRows","titleOnDimension","pivotIndicators","bodyStyle","headerStyle","rowHeaderStyle","cornerHeaderStyle","frameStyle","selectionStyle","dataConfig","pivotTableBodyCell"],"mappings":";;AAiBO,MAAMA,yBAAuC;IAClDC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;CACD"}
1
+ {"version":3,"file":"pipeline/spec/table/pipeline/pivotTable.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipeline/pivotTable.ts"],"sourcesContent":["import type { SpecPipeline } from 'src/types'\nimport {\n initPivotTable,\n pivotColumns,\n pivotRows,\n pivotIndicators,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n tableThemeStyle,\n selectionStyle,\n titleOnDimension,\n pivotTableBodyCell,\n} from '../pipes'\nimport { dataConfig } from '../pipes/indicators/pivotDataConfig'\n\nexport const pivotTableSpecPipeline: SpecPipeline = [\n initPivotTable,\n pivotColumns,\n pivotRows,\n titleOnDimension,\n pivotIndicators,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n tableThemeStyle,\n selectionStyle,\n dataConfig,\n pivotTableBodyCell,\n]\n"],"names":["pivotTableSpecPipeline","initPivotTable","pivotColumns","pivotRows","titleOnDimension","pivotIndicators","bodyStyle","headerStyle","rowHeaderStyle","cornerHeaderStyle","tableThemeStyle","selectionStyle","dataConfig","pivotTableBodyCell"],"mappings":";;AAiBO,MAAMA,yBAAuC;IAClDC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;CACD"}
@@ -1,11 +1,11 @@
1
- import { bodyStyle, dimensionTreeToColumns, frameStyle, headerStyle, initTable, measureTreeToColumns, selectionStyle, tableBodyCell } from "../pipes/index.js";
1
+ import { bodyStyle, dimensionTreeToColumns, headerStyle, initTable, measureTreeToColumns, selectionStyle, tableBodyCell, tableThemeStyle } from "../pipes/index.js";
2
2
  const tableSpecPipeline = [
3
3
  initTable,
4
4
  dimensionTreeToColumns,
5
5
  measureTreeToColumns,
6
6
  bodyStyle,
7
7
  headerStyle,
8
- frameStyle,
8
+ tableThemeStyle,
9
9
  selectionStyle,
10
10
  tableBodyCell
11
11
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipeline/table.js","sources":["../../../../../../src/pipeline/spec/table/pipeline/table.ts"],"sourcesContent":["import type { SpecPipeline } from 'src/types'\nimport {\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n bodyStyle,\n headerStyle,\n frameStyle,\n selectionStyle,\n tableBodyCell,\n} from '../pipes'\n\nexport const tableSpecPipeline: SpecPipeline = [\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n bodyStyle,\n headerStyle,\n frameStyle,\n selectionStyle,\n tableBodyCell,\n]\n"],"names":["tableSpecPipeline","initTable","dimensionTreeToColumns","measureTreeToColumns","bodyStyle","headerStyle","frameStyle","selectionStyle","tableBodyCell"],"mappings":";AAYO,MAAMA,oBAAkC;IAC7CC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;CACD"}
1
+ {"version":3,"file":"pipeline/spec/table/pipeline/table.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipeline/table.ts"],"sourcesContent":["import type { SpecPipeline } from 'src/types'\nimport {\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n bodyStyle,\n headerStyle,\n tableThemeStyle,\n selectionStyle,\n tableBodyCell,\n} from '../pipes'\n\nexport const tableSpecPipeline: SpecPipeline = [\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n bodyStyle,\n headerStyle,\n tableThemeStyle,\n selectionStyle,\n tableBodyCell,\n]\n"],"names":["tableSpecPipeline","initTable","dimensionTreeToColumns","measureTreeToColumns","bodyStyle","headerStyle","tableThemeStyle","selectionStyle","tableBodyCell"],"mappings":";AAYO,MAAMA,oBAAkC;IAC7CC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/cellStyle/common.js","sources":["../../../../../../../src/pipeline/spec/table/pipes/cellStyle/common.ts"],"sourcesContent":["import type { BodyCellStyle } from 'src/types'\n\nconst tableStyleMap = {\n backgroundColor: 'bgColor',\n textColor: 'color',\n textFontSize: 'fontSize',\n borderColor: 'borderColor',\n borderLineWidth: 'borderLineWidth',\n}\n\nexport const pickBodyCellStyle = (bodyCellStyle: BodyCellStyle) => {\n return (Object.keys(tableStyleMap) as Array<keyof typeof tableStyleMap>).reduce<Record<string, any>>((acc, key) => {\n if (key in bodyCellStyle) {\n acc[tableStyleMap[key]] = bodyCellStyle[key]\n }\n\n return acc\n }, {})\n}\n"],"names":["tableStyleMap","pickBodyCellStyle","bodyCellStyle","Object","acc","key"],"mappings":"AAEA,MAAMA,gBAAgB;IACpB,iBAAiB;IACjB,WAAW;IACX,cAAc;IACd,aAAa;IACb,iBAAiB;AACnB;AAEO,MAAMC,oBAAoB,CAACC,gBACxBC,OAAO,IAAI,CAACH,eAAqD,MAAM,CAAsB,CAACI,KAAKC;QACzG,IAAIA,OAAOH,eACTE,GAAG,CAACJ,aAAa,CAACK,IAAI,CAAC,GAAGH,aAAa,CAACG,IAAI;QAG9C,OAAOD;IACT,GAAG,CAAC"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/cellStyle/common.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/cellStyle/common.ts"],"sourcesContent":["import type { BodyCellStyle } from 'src/types'\n\nconst tableStyleMap = {\n backgroundColor: 'bgColor',\n textColor: 'color',\n textFontSize: 'fontSize',\n borderColor: 'borderColor',\n borderLineWidth: 'borderLineWidth',\n}\n\nexport const pickBodyCellStyle = (bodyCellStyle: BodyCellStyle) => {\n return (Object.keys(tableStyleMap) as Array<keyof typeof tableStyleMap>).reduce<Record<string, any>>((acc, key) => {\n if (key in bodyCellStyle) {\n acc[tableStyleMap[key]] = bodyCellStyle[key]\n }\n\n return acc\n }, {})\n}\n"],"names":["tableStyleMap","pickBodyCellStyle","bodyCellStyle","Object","acc","key"],"mappings":"AAEA,MAAMA,gBAAgB;IACpB,iBAAiB;IACjB,WAAW;IACX,cAAc;IACd,aAAa;IACb,iBAAiB;AACnB;AAEO,MAAMC,oBAAoB,CAACC,gBACxBC,OAAO,IAAI,CAACH,eAAqD,MAAM,CAAsB,CAACI,KAAKC;QACzG,IAAIA,OAAOH,eACTE,GAAG,CAACJ,aAAa,CAACK,IAAI,CAAC,GAAGH,aAAa,CAACG,IAAI;QAG9C,OAAOD;IACT,GAAG,CAAC"}
@@ -10,6 +10,7 @@ const pivotTableBodyCell = (spec, context)=>{
10
10
  if (!bodyCellStyle) return spec;
11
11
  const bodyCellStyleList = array(bodyCellStyle);
12
12
  const indicators = spec.indicators || [];
13
+ const selectedPos = [];
13
14
  const newIndicators = indicators.map((ind)=>{
14
15
  const newInd = isString(ind) ? {
15
16
  indicatorKey: ind
@@ -29,10 +30,17 @@ const pivotTableBodyCell = (spec, context)=>{
29
30
  });
30
31
  if (!isNullish(originalDatum[MeasureId]) && !isNullish(originalDatum[FoldMeasureValue])) originalDatum[originalDatum[MeasureId]] = originalDatum[FoldMeasureValue];
31
32
  const mergedStyle = bodyCellStyleList.reduce((result, style)=>{
32
- if (selector(originalDatum, style.selector)) return {
33
- ...result,
34
- ...pickBodyCellStyle(style)
35
- };
33
+ if (selector(originalDatum, style.selector)) {
34
+ if (selectedPos.length && selectedPos[0].col === datum?.col && selectedPos[0].row === datum?.row) selectedPos.length = 0;
35
+ selectedPos.push({
36
+ col: datum?.col,
37
+ row: datum?.row
38
+ });
39
+ return {
40
+ ...result,
41
+ ...pickBodyCellStyle(style)
42
+ };
43
+ }
36
44
  return result;
37
45
  }, {});
38
46
  return mergedStyle;
@@ -41,6 +49,10 @@ const pivotTableBodyCell = (spec, context)=>{
41
49
  });
42
50
  return {
43
51
  ...spec,
52
+ runningConfig: {
53
+ ...spec?.runningConfig || {},
54
+ selectedPos
55
+ },
44
56
  indicators: newIndicators
45
57
  };
46
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/cellStyle/pivot.js","sources":["../../../../../../../src/pipeline/spec/table/pipes/cellStyle/pivot.ts"],"sourcesContent":["import type { IIndicator, PivotTableConstructorOptions } from '@visactor/vtable'\nimport { array } from '@visactor/vutils'\nimport { isNullish, isString } from 'remeda'\nimport { selector } from 'src/dataSelector/selector'\nimport type { BodyCellStyle, Datum, PivotTableSpecPipe } from 'src/types'\nimport { pickBodyCellStyle } from './common'\nimport { FoldMeasureValue, MeasureId } from 'src/dataReshape'\n\nexport const pivotTableBodyCell: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { cellStyle } = advancedVSeed\n const bodyCellStyle = cellStyle?.bodyCellStyle\n\n if (!bodyCellStyle) {\n return spec as PivotTableConstructorOptions\n }\n const bodyCellStyleList = array(bodyCellStyle) as BodyCellStyle[]\n const indicators = (spec as PivotTableConstructorOptions).indicators || []\n\n const newIndicators = indicators.map((ind) => {\n const newInd = isString(ind)\n ? ({\n indicatorKey: ind,\n } as IIndicator)\n : ind\n\n const { indicatorKey } = newInd\n\n newInd.style = (datum: any) => {\n const { dataValue, cellHeaderPaths } = datum\n const headerPaths = [...cellHeaderPaths.colHeaderPaths, ...cellHeaderPaths.rowHeaderPaths]\n\n const originalDatum: Datum = {\n [indicatorKey]: dataValue,\n }\n\n headerPaths.forEach((path: any) => {\n if (path.dimensionKey) {\n originalDatum[path.dimensionKey] = path.value\n }\n })\n\n if (!isNullish(originalDatum[MeasureId]) && !isNullish(originalDatum[FoldMeasureValue])) {\n originalDatum[originalDatum[MeasureId]] = originalDatum[FoldMeasureValue]\n }\n\n const mergedStyle = bodyCellStyleList.reduce<Record<string, any>>((result, style) => {\n if (selector(originalDatum, style.selector)) {\n return {\n ...result,\n ...pickBodyCellStyle(style),\n }\n }\n\n return result\n }, {})\n\n return mergedStyle\n }\n return newInd\n })\n return {\n ...spec,\n indicators: newIndicators,\n } as PivotTableConstructorOptions\n}\n"],"names":["pivotTableBodyCell","spec","context","advancedVSeed","cellStyle","bodyCellStyle","bodyCellStyleList","array","indicators","newIndicators","ind","newInd","isString","indicatorKey","datum","dataValue","cellHeaderPaths","headerPaths","originalDatum","path","isNullish","MeasureId","FoldMeasureValue","mergedStyle","result","style","selector","pickBodyCellStyle"],"mappings":";;;;;AAQO,MAAMA,qBAAyC,CAACC,MAAMC;IAC3D,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,gBAAgBD,WAAW;IAEjC,IAAI,CAACC,eACH,OAAOJ;IAET,MAAMK,oBAAoBC,MAAMF;IAChC,MAAMG,aAAcP,KAAsC,UAAU,IAAI,EAAE;IAE1E,MAAMQ,gBAAgBD,WAAW,GAAG,CAAC,CAACE;QACpC,MAAMC,SAASC,SAASF,OACnB;YACC,cAAcA;QAChB,IACAA;QAEJ,MAAM,EAAEG,YAAY,EAAE,GAAGF;QAEzBA,OAAO,KAAK,GAAG,CAACG;YACd,MAAM,EAAEC,SAAS,EAAEC,eAAe,EAAE,GAAGF;YACvC,MAAMG,cAAc;mBAAID,gBAAgB,cAAc;mBAAKA,gBAAgB,cAAc;aAAC;YAE1F,MAAME,gBAAuB;gBAC3B,CAACL,aAAa,EAAEE;YAClB;YAEAE,YAAY,OAAO,CAAC,CAACE;gBACnB,IAAIA,KAAK,YAAY,EACnBD,aAAa,CAACC,KAAK,YAAY,CAAC,GAAGA,KAAK,KAAK;YAEjD;YAEA,IAAI,CAACC,UAAUF,aAAa,CAACG,UAAU,KAAK,CAACD,UAAUF,aAAa,CAACI,iBAAiB,GACpFJ,aAAa,CAACA,aAAa,CAACG,UAAU,CAAC,GAAGH,aAAa,CAACI,iBAAiB;YAG3E,MAAMC,cAAcjB,kBAAkB,MAAM,CAAsB,CAACkB,QAAQC;gBACzE,IAAIC,SAASR,eAAeO,MAAM,QAAQ,GACxC,OAAO;oBACL,GAAGD,MAAM;oBACT,GAAGG,kBAAkBF,MAAM;gBAC7B;gBAGF,OAAOD;YACT,GAAG,CAAC;YAEJ,OAAOD;QACT;QACA,OAAOZ;IACT;IACA,OAAO;QACL,GAAGV,IAAI;QACP,YAAYQ;IACd;AACF"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/cellStyle/pivot.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/cellStyle/pivot.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport type { IIndicator, PivotTableConstructorOptions } from '@visactor/vtable'\nimport { array } from '@visactor/vutils'\nimport { isNullish, isString } from 'remeda'\nimport { selector } from 'src/dataSelector/selector'\nimport type { BodyCellStyle, Datum, PivotTableSpecPipe } from 'src/types'\nimport { pickBodyCellStyle } from './common'\nimport { FoldMeasureValue, MeasureId } from 'src/dataReshape'\n\nexport const pivotTableBodyCell: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { cellStyle } = advancedVSeed\n const bodyCellStyle = cellStyle?.bodyCellStyle\n\n if (!bodyCellStyle) {\n return spec as PivotTableConstructorOptions\n }\n const bodyCellStyleList = array(bodyCellStyle) as BodyCellStyle[]\n const indicators = (spec as PivotTableConstructorOptions).indicators || []\n const selectedPos: { col: number; row: number }[] = []\n\n const newIndicators = indicators.map((ind) => {\n const newInd = isString(ind)\n ? ({\n indicatorKey: ind,\n } as IIndicator)\n : ind\n\n const { indicatorKey } = newInd\n\n newInd.style = (datum: any) => {\n const { dataValue, cellHeaderPaths } = datum\n const headerPaths = [...cellHeaderPaths.colHeaderPaths, ...cellHeaderPaths.rowHeaderPaths]\n\n const originalDatum: Datum = {\n [indicatorKey]: dataValue,\n }\n\n headerPaths.forEach((path: any) => {\n if (path.dimensionKey) {\n originalDatum[path.dimensionKey] = path.value\n }\n })\n\n if (!isNullish(originalDatum[MeasureId]) && !isNullish(originalDatum[FoldMeasureValue])) {\n originalDatum[originalDatum[MeasureId]] = originalDatum[FoldMeasureValue]\n }\n\n const mergedStyle = bodyCellStyleList.reduce<Record<string, any>>((result, style) => {\n if (selector(originalDatum, style.selector)) {\n if (selectedPos.length && selectedPos[0].col === datum?.col && selectedPos[0].row === datum?.row) {\n // 说明重复进入了,清空历史\n selectedPos.length = 0\n }\n selectedPos.push({\n col: datum?.col,\n row: datum?.row,\n })\n return {\n ...result,\n ...pickBodyCellStyle(style),\n }\n }\n\n return result\n }, {})\n\n return mergedStyle\n }\n return newInd\n })\n return {\n ...spec,\n runningConfig: {\n ...((spec as any)?.runningConfig || {}),\n selectedPos,\n },\n indicators: newIndicators,\n } as PivotTableConstructorOptions\n}\n"],"names":["pivotTableBodyCell","spec","context","advancedVSeed","cellStyle","bodyCellStyle","bodyCellStyleList","array","indicators","selectedPos","newIndicators","ind","newInd","isString","indicatorKey","datum","dataValue","cellHeaderPaths","headerPaths","originalDatum","path","isNullish","MeasureId","FoldMeasureValue","mergedStyle","result","style","selector","pickBodyCellStyle"],"mappings":";;;;;AASO,MAAMA,qBAAyC,CAACC,MAAMC;IAC3D,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,gBAAgBD,WAAW;IAEjC,IAAI,CAACC,eACH,OAAOJ;IAET,MAAMK,oBAAoBC,MAAMF;IAChC,MAAMG,aAAcP,KAAsC,UAAU,IAAI,EAAE;IAC1E,MAAMQ,cAA8C,EAAE;IAEtD,MAAMC,gBAAgBF,WAAW,GAAG,CAAC,CAACG;QACpC,MAAMC,SAASC,SAASF,OACnB;YACC,cAAcA;QAChB,IACAA;QAEJ,MAAM,EAAEG,YAAY,EAAE,GAAGF;QAEzBA,OAAO,KAAK,GAAG,CAACG;YACd,MAAM,EAAEC,SAAS,EAAEC,eAAe,EAAE,GAAGF;YACvC,MAAMG,cAAc;mBAAID,gBAAgB,cAAc;mBAAKA,gBAAgB,cAAc;aAAC;YAE1F,MAAME,gBAAuB;gBAC3B,CAACL,aAAa,EAAEE;YAClB;YAEAE,YAAY,OAAO,CAAC,CAACE;gBACnB,IAAIA,KAAK,YAAY,EACnBD,aAAa,CAACC,KAAK,YAAY,CAAC,GAAGA,KAAK,KAAK;YAEjD;YAEA,IAAI,CAACC,UAAUF,aAAa,CAACG,UAAU,KAAK,CAACD,UAAUF,aAAa,CAACI,iBAAiB,GACpFJ,aAAa,CAACA,aAAa,CAACG,UAAU,CAAC,GAAGH,aAAa,CAACI,iBAAiB;YAG3E,MAAMC,cAAclB,kBAAkB,MAAM,CAAsB,CAACmB,QAAQC;gBACzE,IAAIC,SAASR,eAAeO,MAAM,QAAQ,GAAG;oBAC3C,IAAIjB,YAAY,MAAM,IAAIA,WAAW,CAAC,EAAE,CAAC,GAAG,KAAKM,OAAO,OAAON,WAAW,CAAC,EAAE,CAAC,GAAG,KAAKM,OAAO,KAE3FN,YAAY,MAAM,GAAG;oBAEvBA,YAAY,IAAI,CAAC;wBACf,KAAKM,OAAO;wBACZ,KAAKA,OAAO;oBACd;oBACA,OAAO;wBACL,GAAGU,MAAM;wBACT,GAAGG,kBAAkBF,MAAM;oBAC7B;gBACF;gBAEA,OAAOD;YACT,GAAG,CAAC;YAEJ,OAAOD;QACT;QACA,OAAOZ;IACT;IACA,OAAO;QACL,GAAGX,IAAI;QACP,eAAe;YACb,GAAKA,MAAc,iBAAiB,CAAC,CAAC;YACtCQ;QACF;QACA,YAAYC;IACd;AACF"}
@@ -10,6 +10,7 @@ const tableBodyCell = (spec, context)=>{
10
10
  if (!bodyCellStyle) return spec;
11
11
  const bodyCellStyleList = array(bodyCellStyle);
12
12
  const columns = spec.columns || [];
13
+ const selectedPos = [];
13
14
  const setStyleOfColumn = (col)=>{
14
15
  const field = col.field;
15
16
  const matchedStyles = bodyCellStyleList.filter((style)=>{
@@ -23,10 +24,17 @@ const tableBodyCell = (spec, context)=>{
23
24
  [field]: datum.dataValue
24
25
  };
25
26
  const mergedStyle = matchedStyles.reduce((result, style)=>{
26
- if (selector_js_selector(originalDatum, style.selector)) return {
27
- ...result,
28
- ...pickBodyCellStyle(style)
29
- };
27
+ if (selector_js_selector(originalDatum, style.selector)) {
28
+ if (selectedPos.length && selectedPos[0].col === datum?.col && selectedPos[0].row === datum?.row) selectedPos.length = 0;
29
+ selectedPos.push({
30
+ col: datum?.col,
31
+ row: datum?.row
32
+ });
33
+ return {
34
+ ...result,
35
+ ...pickBodyCellStyle(style)
36
+ };
37
+ }
30
38
  return result;
31
39
  }, {});
32
40
  return mergedStyle;
@@ -34,6 +42,10 @@ const tableBodyCell = (spec, context)=>{
34
42
  return false;
35
43
  };
36
44
  preorderTraverse(columns, setStyleOfColumn, 'columns');
45
+ spec.runningConfig = {
46
+ ...spec.runningConfig || {},
47
+ selectedPos
48
+ };
37
49
  return spec;
38
50
  };
39
51
  export { tableBodyCell };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/cellStyle/table.js","sources":["../../../../../../../src/pipeline/spec/table/pipes/cellStyle/table.ts"],"sourcesContent":["import type { ListTableConstructorOptions, ColumnDefine } from '@visactor/vtable'\nimport { array } from '@visactor/vutils'\nimport { isNullish, isNumber, isPlainObject, isString } from 'remeda'\nimport { selector } from 'src/dataSelector/selector'\nimport type { BodyCellStyle, ListTableSpecPipe } from 'src/types'\nimport type { MeasureSelector, Selectors } from 'src/types/dataSelector'\nimport { pickBodyCellStyle } from './common'\nimport { preorderTraverse } from 'src/pipeline/utils/tree/traverse'\n\nexport const tableBodyCell: ListTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { cellStyle } = advancedVSeed\n const bodyCellStyle = cellStyle?.bodyCellStyle\n\n if (!bodyCellStyle) {\n return spec as ListTableConstructorOptions\n }\n const bodyCellStyleList = array(bodyCellStyle) as BodyCellStyle[]\n const columns = (spec as ListTableConstructorOptions).columns || []\n const setStyleOfColumn = (col: ColumnDefine) => {\n const field = col.field as string\n const matchedStyles = bodyCellStyleList.filter((style) => {\n if (isNullish(style.selector)) {\n return true\n }\n const selectors = array(style.selector) as Selectors\n\n return selectors.some((selector) => {\n return isPlainObject(selector)\n ? isNullish(selector.field) || (selector as MeasureSelector).field === field\n : isNumber(selector) || isString(selector)\n })\n })\n\n if (!matchedStyles.length) {\n return false\n }\n\n col.style = (datum: any) => {\n const originalDatum = {\n [field]: datum.dataValue,\n }\n\n const mergedStyle = matchedStyles.reduce<Record<string, any>>((result, style) => {\n if (selector(originalDatum, style.selector)) {\n return {\n ...result,\n ...pickBodyCellStyle(style),\n }\n }\n\n return result\n }, {})\n\n return mergedStyle\n }\n return false\n }\n\n preorderTraverse<ColumnDefine, 'columns'>(columns, setStyleOfColumn, 'columns')\n\n return spec as ListTableConstructorOptions\n}\n"],"names":["tableBodyCell","spec","context","advancedVSeed","cellStyle","bodyCellStyle","bodyCellStyleList","array","columns","setStyleOfColumn","col","field","matchedStyles","style","isNullish","selectors","selector","isPlainObject","isNumber","isString","datum","originalDatum","mergedStyle","result","pickBodyCellStyle","preorderTraverse"],"mappings":";;;;;AASO,MAAMA,gBAAmC,CAACC,MAAMC;IACrD,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,gBAAgBD,WAAW;IAEjC,IAAI,CAACC,eACH,OAAOJ;IAET,MAAMK,oBAAoBC,MAAMF;IAChC,MAAMG,UAAWP,KAAqC,OAAO,IAAI,EAAE;IACnE,MAAMQ,mBAAmB,CAACC;QACxB,MAAMC,QAAQD,IAAI,KAAK;QACvB,MAAME,gBAAgBN,kBAAkB,MAAM,CAAC,CAACO;YAC9C,IAAIC,UAAUD,MAAM,QAAQ,GAC1B,OAAO;YAET,MAAME,YAAYR,MAAMM,MAAM,QAAQ;YAEtC,OAAOE,UAAU,IAAI,CAAC,CAACC,WACdC,cAAcD,YACjBF,UAAUE,SAAS,KAAK,KAAMA,SAA6B,KAAK,KAAKL,QACrEO,SAASF,aAAaG,SAASH;QAEvC;QAEA,IAAI,CAACJ,cAAc,MAAM,EACvB,OAAO;QAGTF,IAAI,KAAK,GAAG,CAACU;YACX,MAAMC,gBAAgB;gBACpB,CAACV,MAAM,EAAES,MAAM,SAAS;YAC1B;YAEA,MAAME,cAAcV,cAAc,MAAM,CAAsB,CAACW,QAAQV;gBACrE,IAAIG,qBAASK,eAAeR,MAAM,QAAQ,GACxC,OAAO;oBACL,GAAGU,MAAM;oBACT,GAAGC,kBAAkBX,MAAM;gBAC7B;gBAGF,OAAOU;YACT,GAAG,CAAC;YAEJ,OAAOD;QACT;QACA,OAAO;IACT;IAEAG,iBAA0CjB,SAASC,kBAAkB;IAErE,OAAOR;AACT"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/cellStyle/table.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/cellStyle/table.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport type { ListTableConstructorOptions, ColumnDefine } from '@visactor/vtable'\nimport { array } from '@visactor/vutils'\nimport { isNullish, isNumber, isPlainObject, isString } from 'remeda'\nimport { selector } from 'src/dataSelector/selector'\nimport type { BodyCellStyle, ListTableSpecPipe } from 'src/types'\nimport type { MeasureSelector, Selectors } from 'src/types/dataSelector'\nimport { pickBodyCellStyle } from './common'\nimport { preorderTraverse } from 'src/pipeline/utils/tree/traverse'\n\nexport const tableBodyCell: ListTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { cellStyle } = advancedVSeed\n const bodyCellStyle = cellStyle?.bodyCellStyle\n\n if (!bodyCellStyle) {\n return spec as ListTableConstructorOptions\n }\n const bodyCellStyleList = array(bodyCellStyle) as BodyCellStyle[]\n const columns = (spec as ListTableConstructorOptions).columns || []\n const selectedPos: { col: number; row: number }[] = []\n const setStyleOfColumn = (col: ColumnDefine) => {\n const field = col.field as string\n const matchedStyles = bodyCellStyleList.filter((style) => {\n if (isNullish(style.selector)) {\n return true\n }\n const selectors = array(style.selector) as Selectors\n\n return selectors.some((selector) => {\n return isPlainObject(selector)\n ? isNullish(selector.field) || (selector as MeasureSelector).field === field\n : isNumber(selector) || isString(selector)\n })\n })\n\n if (!matchedStyles.length) {\n return false\n }\n\n col.style = (datum: any) => {\n const originalDatum = {\n [field]: datum.dataValue,\n }\n\n const mergedStyle = matchedStyles.reduce<Record<string, any>>((result, style) => {\n if (selector(originalDatum, style.selector)) {\n if (selectedPos.length && selectedPos[0].col === datum?.col && selectedPos[0].row === datum?.row) {\n // 说明重复进入了,清空历史\n selectedPos.length = 0\n }\n selectedPos.push({\n col: datum?.col,\n row: datum?.row,\n })\n return {\n ...result,\n ...pickBodyCellStyle(style),\n }\n }\n\n return result\n }, {})\n\n return mergedStyle\n }\n return false\n }\n\n preorderTraverse<ColumnDefine, 'columns'>(columns, setStyleOfColumn, 'columns')\n ;(spec as any).runningConfig = {\n ...((spec as any).runningConfig || {}),\n selectedPos,\n }\n\n return spec as ListTableConstructorOptions\n}\n"],"names":["tableBodyCell","spec","context","advancedVSeed","cellStyle","bodyCellStyle","bodyCellStyleList","array","columns","selectedPos","setStyleOfColumn","col","field","matchedStyles","style","isNullish","selectors","selector","isPlainObject","isNumber","isString","datum","originalDatum","mergedStyle","result","pickBodyCellStyle","preorderTraverse"],"mappings":";;;;;AAUO,MAAMA,gBAAmC,CAACC,MAAMC;IACrD,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,gBAAgBD,WAAW;IAEjC,IAAI,CAACC,eACH,OAAOJ;IAET,MAAMK,oBAAoBC,MAAMF;IAChC,MAAMG,UAAWP,KAAqC,OAAO,IAAI,EAAE;IACnE,MAAMQ,cAA8C,EAAE;IACtD,MAAMC,mBAAmB,CAACC;QACxB,MAAMC,QAAQD,IAAI,KAAK;QACvB,MAAME,gBAAgBP,kBAAkB,MAAM,CAAC,CAACQ;YAC9C,IAAIC,UAAUD,MAAM,QAAQ,GAC1B,OAAO;YAET,MAAME,YAAYT,MAAMO,MAAM,QAAQ;YAEtC,OAAOE,UAAU,IAAI,CAAC,CAACC,WACdC,cAAcD,YACjBF,UAAUE,SAAS,KAAK,KAAMA,SAA6B,KAAK,KAAKL,QACrEO,SAASF,aAAaG,SAASH;QAEvC;QAEA,IAAI,CAACJ,cAAc,MAAM,EACvB,OAAO;QAGTF,IAAI,KAAK,GAAG,CAACU;YACX,MAAMC,gBAAgB;gBACpB,CAACV,MAAM,EAAES,MAAM,SAAS;YAC1B;YAEA,MAAME,cAAcV,cAAc,MAAM,CAAsB,CAACW,QAAQV;gBACrE,IAAIG,qBAASK,eAAeR,MAAM,QAAQ,GAAG;oBAC3C,IAAIL,YAAY,MAAM,IAAIA,WAAW,CAAC,EAAE,CAAC,GAAG,KAAKY,OAAO,OAAOZ,WAAW,CAAC,EAAE,CAAC,GAAG,KAAKY,OAAO,KAE3FZ,YAAY,MAAM,GAAG;oBAEvBA,YAAY,IAAI,CAAC;wBACf,KAAKY,OAAO;wBACZ,KAAKA,OAAO;oBACd;oBACA,OAAO;wBACL,GAAGG,MAAM;wBACT,GAAGC,kBAAkBX,MAAM;oBAC7B;gBACF;gBAEA,OAAOU;YACT,GAAG,CAAC;YAEJ,OAAOD;QACT;QACA,OAAO;IACT;IAEAG,iBAA0ClB,SAASE,kBAAkB;IACnET,KAAa,aAAa,GAAG;QAC7B,GAAKA,KAAa,aAAa,IAAI,CAAC,CAAC;QACrCQ;IACF;IAEA,OAAOR;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/columns/dimensionsToColumns.js","sources":["../../../../../../../src/pipeline/spec/table/pipes/columns/dimensionsToColumns.ts"],"sourcesContent":["import type { ColumnsDefine, ListTableConstructorOptions } from '@visactor/vtable'\nimport { isMeasure } from 'src/pipeline/utils'\nimport type { Dimension, DimensionGroup, DimensionTree, ListTableSpecPipe } from 'src/types'\n\nexport const dimensionTreeToColumns: ListTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = (advancedVSeed as unknown as { dimensions: DimensionTree }).dimensions\n const result = { ...spec } as ListTableConstructorOptions\n const eachNode = (node: Dimension | DimensionGroup) => {\n if (isMeasure(node)) {\n return {\n width: 'auto',\n }\n }\n\n return {}\n }\n const columns = treeTreeToColumns<Dimension, DimensionGroup>(dimensions, eachNode)\n\n return {\n ...result,\n columns: [...(result.columns || []), ...columns] as ListTableConstructorOptions['columns'],\n }\n}\n\nconst treeTreeToColumns = <\n T extends { id: string; alias?: string },\n U extends { id: string; alias?: string; children?: (T | U)[] },\n>(\n tree: (T | U)[],\n callback?: (node: T | U) => object,\n): ColumnsDefine[] => {\n const result = tree.map((item) => {\n if ('children' in item && Array.isArray(item.children)) {\n const groupNode = item as unknown as U\n const field = groupNode.id\n const title = groupNode.alias ?? groupNode.id\n const props = callback?.(groupNode) || {}\n // group\n return {\n field,\n title,\n columns: treeTreeToColumns(item.children, callback),\n ...props,\n }\n } else {\n const field = item.id\n const title = item.alias ?? item.id\n const props = callback?.(item) || {}\n // leaf\n return {\n field,\n title,\n ...props,\n }\n }\n }) as unknown as ColumnsDefine[]\n\n return result || []\n}\n"],"names":["dimensionTreeToColumns","spec","context","advancedVSeed","dimensions","result","eachNode","node","isMeasure","columns","treeTreeToColumns","tree","callback","item","Array","groupNode","field","title","props"],"mappings":";AAIO,MAAMA,yBAA4C,CAACC,MAAMC;IAC9D,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAME,aAAcD,cAA2D,UAAU;IACzF,MAAME,SAAS;QAAE,GAAGJ,IAAI;IAAC;IACzB,MAAMK,WAAW,CAACC;QAChB,IAAIC,UAAUD,OACZ,OAAO;YACL,OAAO;QACT;QAGF,OAAO,CAAC;IACV;IACA,MAAME,UAAUC,kBAA6CN,YAAYE;IAEzE,OAAO;QACL,GAAGD,MAAM;QACT,SAAS;eAAKA,OAAO,OAAO,IAAI,EAAE;eAAMI;SAAQ;IAClD;AACF;AAEA,MAAMC,oBAAoB,CAIxBC,MACAC;IAEA,MAAMP,SAASM,KAAK,GAAG,CAAC,CAACE;QACvB,IAAI,cAAcA,QAAQC,MAAM,OAAO,CAACD,KAAK,QAAQ,GAAG;YACtD,MAAME,YAAYF;YAClB,MAAMG,QAAQD,UAAU,EAAE;YAC1B,MAAME,QAAQF,UAAU,KAAK,IAAIA,UAAU,EAAE;YAC7C,MAAMG,QAAQN,WAAWG,cAAc,CAAC;YAExC,OAAO;gBACLC;gBACAC;gBACA,SAASP,kBAAkBG,KAAK,QAAQ,EAAED;gBAC1C,GAAGM,KAAK;YACV;QACF;QAAO;YACL,MAAMF,QAAQH,KAAK,EAAE;YACrB,MAAMI,QAAQJ,KAAK,KAAK,IAAIA,KAAK,EAAE;YACnC,MAAMK,QAAQN,WAAWC,SAAS,CAAC;YAEnC,OAAO;gBACLG;gBACAC;gBACA,GAAGC,KAAK;YACV;QACF;IACF;IAEA,OAAOb,UAAU,EAAE;AACrB"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/columns/dimensionsToColumns.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/columns/dimensionsToColumns.ts"],"sourcesContent":["import type { ColumnsDefine, ListTableConstructorOptions } from '@visactor/vtable'\nimport { isMeasure } from 'src/pipeline/utils'\nimport type { Dimension, DimensionGroup, DimensionTree, ListTableSpecPipe } from 'src/types'\n\nexport const dimensionTreeToColumns: ListTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = (advancedVSeed as unknown as { dimensions: DimensionTree }).dimensions\n const result = { ...spec } as ListTableConstructorOptions\n const eachNode = (node: Dimension | DimensionGroup) => {\n if (isMeasure(node)) {\n return {\n width: 'auto',\n }\n }\n\n return {}\n }\n const columns = treeTreeToColumns<Dimension, DimensionGroup>(dimensions, eachNode)\n\n return {\n ...result,\n columns: [...(result.columns || []), ...columns] as ListTableConstructorOptions['columns'],\n }\n}\n\nconst treeTreeToColumns = <\n T extends { id: string; alias?: string },\n U extends { id: string; alias?: string; children?: (T | U)[] },\n>(\n tree: (T | U)[],\n callback?: (node: T | U) => object,\n): ColumnsDefine[] => {\n const result = tree.map((item) => {\n if ('children' in item && Array.isArray(item.children)) {\n const groupNode = item as unknown as U\n const field = groupNode.id\n const title = groupNode.alias ?? groupNode.id\n const props = callback?.(groupNode) || {}\n // group\n return {\n field,\n title,\n columns: treeTreeToColumns(item.children, callback),\n ...props,\n }\n } else {\n const field = item.id\n const title = item.alias ?? item.id\n const props = callback?.(item) || {}\n // leaf\n return {\n field,\n title,\n ...props,\n }\n }\n }) as unknown as ColumnsDefine[]\n\n return result || []\n}\n"],"names":["dimensionTreeToColumns","spec","context","advancedVSeed","dimensions","result","eachNode","node","isMeasure","columns","treeTreeToColumns","tree","callback","item","Array","groupNode","field","title","props"],"mappings":";AAIO,MAAMA,yBAA4C,CAACC,MAAMC;IAC9D,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAME,aAAcD,cAA2D,UAAU;IACzF,MAAME,SAAS;QAAE,GAAGJ,IAAI;IAAC;IACzB,MAAMK,WAAW,CAACC;QAChB,IAAIC,UAAUD,OACZ,OAAO;YACL,OAAO;QACT;QAGF,OAAO,CAAC;IACV;IACA,MAAME,UAAUC,kBAA6CN,YAAYE;IAEzE,OAAO;QACL,GAAGD,MAAM;QACT,SAAS;eAAKA,OAAO,OAAO,IAAI,EAAE;eAAMI;SAAQ;IAClD;AACF;AAEA,MAAMC,oBAAoB,CAIxBC,MACAC;IAEA,MAAMP,SAASM,KAAK,GAAG,CAAC,CAACE;QACvB,IAAI,cAAcA,QAAQC,MAAM,OAAO,CAACD,KAAK,QAAQ,GAAG;YACtD,MAAME,YAAYF;YAClB,MAAMG,QAAQD,UAAU,EAAE;YAC1B,MAAME,QAAQF,UAAU,KAAK,IAAIA,UAAU,EAAE;YAC7C,MAAMG,QAAQN,WAAWG,cAAc,CAAC;YAExC,OAAO;gBACLC;gBACAC;gBACA,SAASP,kBAAkBG,KAAK,QAAQ,EAAED;gBAC1C,GAAGM,KAAK;YACV;QACF;QAAO;YACL,MAAMF,QAAQH,KAAK,EAAE;YACrB,MAAMI,QAAQJ,KAAK,KAAK,IAAIA,KAAK,EAAE;YACnC,MAAMK,QAAQN,WAAWC,SAAS,CAAC;YAEnC,OAAO;gBACLG;gBACAC;gBACA,GAAGC,KAAK;YACV;QACF;IACF;IAEA,OAAOb,UAAU,EAAE;AACrB"}