@visactor/vseed 0.4.22 → 0.4.24
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.
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/builder/builder/advanced/colorItems.js.map +1 -1
- package/dist/esm/builder/builder/build.js.map +1 -1
- package/dist/esm/builder/builder/buildAdvanced.js +2 -2
- package/dist/esm/builder/builder/buildAdvanced.js.map +1 -1
- package/dist/esm/builder/builder/buildSpec.js +2 -2
- package/dist/esm/builder/builder/buildSpec.js.map +1 -1
- package/dist/esm/builder/builder/builder.js.map +1 -1
- package/dist/esm/builder/builder/index.js +1 -2
- package/dist/esm/builder/builder/prepare.js.map +1 -1
- package/dist/esm/builder/register/all.js.map +1 -1
- package/dist/esm/builder/register/chartType/area.js.map +1 -1
- package/dist/esm/builder/register/chartType/areaPercent.js.map +1 -1
- package/dist/esm/builder/register/chartType/bar.js.map +1 -1
- package/dist/esm/builder/register/chartType/barParallel.js.map +1 -1
- package/dist/esm/builder/register/chartType/barPercent.js.map +1 -1
- package/dist/esm/builder/register/chartType/boxplot.js.map +1 -1
- package/dist/esm/builder/register/chartType/circlePacking.js.map +1 -1
- package/dist/esm/builder/register/chartType/column.js.map +1 -1
- package/dist/esm/builder/register/chartType/columnParallel.js.map +1 -1
- package/dist/esm/builder/register/chartType/columnPercent.js.map +1 -1
- package/dist/esm/builder/register/chartType/donut.js.map +1 -1
- package/dist/esm/builder/register/chartType/dualAxis.js.map +1 -1
- package/dist/esm/builder/register/chartType/funnel.js.map +1 -1
- package/dist/esm/builder/register/chartType/heatmap.js.map +1 -1
- package/dist/esm/builder/register/chartType/histogram.js.map +1 -1
- package/dist/esm/builder/register/chartType/index.js +31 -32
- package/dist/esm/builder/register/chartType/line.js.map +1 -1
- package/dist/esm/builder/register/chartType/pie.js.map +1 -1
- package/dist/esm/builder/register/chartType/pivotTable.js.map +1 -1
- package/dist/esm/builder/register/chartType/raceBar.js.map +1 -1
- package/dist/esm/builder/register/chartType/raceColumn.js.map +1 -1
- package/dist/esm/builder/register/chartType/raceDonut.js.map +1 -1
- package/dist/esm/builder/register/chartType/raceLine.js.map +1 -1
- package/dist/esm/builder/register/chartType/racePie.js.map +1 -1
- package/dist/esm/builder/register/chartType/raceScatter.js.map +1 -1
- package/dist/esm/builder/register/chartType/radar.js.map +1 -1
- package/dist/esm/builder/register/chartType/rose.js.map +1 -1
- package/dist/esm/builder/register/chartType/roseParallel.js.map +1 -1
- package/dist/esm/builder/register/chartType/scatter.js.map +1 -1
- package/dist/esm/builder/register/chartType/sunburst.js.map +1 -1
- package/dist/esm/builder/register/chartType/table.js.map +1 -1
- package/dist/esm/builder/register/chartType/treeMap.js.map +1 -1
- package/dist/esm/builder/register/custom.js.map +1 -1
- package/dist/esm/builder/register/index.js +3 -4
- package/dist/esm/builder/register/theme/custom.js.map +1 -1
- package/dist/esm/builder/register/theme/dark.js.map +1 -1
- package/dist/esm/builder/register/theme/index.js +3 -4
- package/dist/esm/builder/register/theme/light.js.map +1 -1
- package/dist/esm/dataReshape/constant.js.map +1 -1
- package/dist/esm/dataReshape/dataReshapeByEncoding.js.map +1 -1
- package/dist/esm/dataReshape/foldMeasures.js.map +1 -1
- package/dist/esm/dataReshape/index.js +3 -4
- package/dist/esm/dataReshape/unfoldDimensions.js.map +1 -1
- package/dist/esm/dataSelector/selector.js +1 -1
- package/dist/esm/dataSelector/selector.js.map +1 -1
- package/dist/esm/i18n/i18n.js.map +1 -1
- package/dist/esm/i18n/i18nData.js.map +1 -1
- package/dist/esm/i18n/index.js.map +1 -1
- package/dist/esm/index.js +5 -6
- package/dist/esm/pipeline/advanced/chart/pipeline/area.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/bar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/circlePacking.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/donut.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/index.js +29 -30
- package/dist/esm/pipeline/advanced/chart/pipeline/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/pie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/raceBar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/raceColumn.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/raceDonut.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/raceLine.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/racePie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/raceScatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/radar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/rose.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/sunburst.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/treeMap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/analysis/common.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/analysis/index.js +3 -4
- package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortLegend.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortXBand.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortYBand.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/annotation/annotation.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/annotation/index.js +1 -2
- package/dist/esm/pipeline/advanced/chart/pipes/config/boxplot.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/circlePacking.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/heatmap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/index.js +9 -9
- package/dist/esm/pipeline/advanced/chart/pipes/config/index.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/pie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/scatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/sunburst.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/treeMap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/default/defaultDimensions.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasureId.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/default/index.js +3 -4
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/addPivotDimensionsForScatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/adapter/encodingAdapter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/adapter/index.js +1 -2
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/index.js +1 -2
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/hierarchy.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/index.js +20 -21
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceBar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceColumn.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceDonut.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceLine.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/racePie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceScatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/init/index.js +1 -2
- package/dist/esm/pipeline/advanced/chart/pipes/init/initAdvancedVSeed.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/markStyle/index.js +1 -2
- package/dist/esm/pipeline/advanced/chart/pipes/markStyle/markStyle.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasures.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/index.js +3 -4
- package/dist/esm/pipeline/advanced/chart/pipes/measures/utils.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/page/page.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/pivot/index.js +1 -2
- package/dist/esm/pipeline/advanced/chart/pipes/pivot/pivotAdapter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/index.js +1 -2
- package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/regressionLine.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/index.js +10 -11
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/theme/index.js +1 -2
- package/dist/esm/pipeline/advanced/chart/pipes/theme/theme.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipeline/index.js +2 -3
- package/dist/esm/pipeline/advanced/table/pipeline/pivotTable.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipeline/table.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/cellStyle/cellStyle.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/cellStyle/index.js +1 -2
- package/dist/esm/pipeline/advanced/table/pipes/config/index.js +2 -3
- package/dist/esm/pipeline/advanced/table/pipes/config/pivotTableConfig.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/config/tableConfig.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/default/defaultDimensions.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/default/index.js +2 -3
- package/dist/esm/pipeline/advanced/table/pipes/encoding/index.js +1 -2
- package/dist/esm/pipeline/advanced/table/pipes/encoding/pivotTable.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/init/initAdvancedVSeed.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/page/page.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/records/records.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/area.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/circlePacking.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/donut.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/funnel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/index.js +29 -30
- package/dist/esm/pipeline/spec/chart/pipeline/line.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/pie.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceBar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceColumn.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceDonut.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/racePie.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceScatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/radar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/rose.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/scatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/sunburst.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/treeMap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationArea.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPoint.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointCommon.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfHistogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/index.js +8 -9
- package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/bandAxisStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/format/linearFormat.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/heatmapBandAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/histogramXLinear.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/index.js +11 -12
- package/dist/esm/pipeline/spec/chart/pipes/axes/linearAxisStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/radarAngle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/radarRadius.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/radius.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/title/defaultTitleText.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/backgroundColor/background.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/backgroundColor/index.js +1 -2
- package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/boxWidth/boxGapInGroup.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/boxWidth/boxMaxWidth.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/brush/brush.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/color.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorAreaStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorBarStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorBoxPlotStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorFunnelStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorLineStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorPieStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorPointStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorRoseStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/index.js +12 -13
- package/dist/esm/pipeline/spec/chart/pipes/color/linearColor.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/linearColorForDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/histogramCrosshair.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/index.js +5 -6
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHierarchy.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetPivot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetPivotHierarchy.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetScatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetXY.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetYX.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/index.js +10 -11
- package/dist/esm/pipeline/spec/chart/pipes/dataset/progressive.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dual/adjustXField.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dual/index.js +2 -3
- package/dist/esm/pipeline/spec/chart/pipes/hierarchy/drill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/hierarchy/index.js +1 -2
- package/dist/esm/pipeline/spec/chart/pipes/init/area.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/bar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/barParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/circlePacking.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/column.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/columnParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/donut.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/funnel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/heatmap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/histogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/index.js +20 -21
- package/dist/esm/pipeline/spec/chart/pipes/init/line.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/pie.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/pivot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/radar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/rose.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/roseParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/scatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/sunburst.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/treeMap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/index.js +9 -10
- package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelBoxPlot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelCirclePacking.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelPie.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelScatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelSunburst.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelTreeMapGroup.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelTreeMapLeaf.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/boxLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/heatmapColorLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/index.js +5 -6
- package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/areaStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/boxPlotStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/curve/curve.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/curve/index.js +1 -2
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelTransformStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/index.js +11 -12
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/outlierStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/pieStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointState.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/roseStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/percent/index.js +1 -2
- package/dist/esm/pipeline/spec/chart/pipes/percent/percent.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pipeFilter/areaStyleFilter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pipeFilter/barStyleFilter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pipeFilter/lineStyleFilter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pipeFilter/pointStyleFilter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/dimensionLinkage.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/heatmapColorDomain.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/index.js +10 -11
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/player/isPlayer.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/player/playerBar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/player/playerColumn.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/player/playerLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/player/playerPie.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/player/playerScatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/common.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/series/index.js +1 -2
- package/dist/esm/pipeline/spec/chart/pipes/series/series.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/size/index.js +1 -2
- package/dist/esm/pipeline/spec/chart/pipes/size/scatterSize.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/stack/index.js +2 -3
- package/dist/esm/pipeline/spec/chart/pipes/stack/stack.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/stack/stackCornerRadius.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/theme/fontFamily.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/theme/index.js +1 -2
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/index.js +7 -8
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipElement.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHierarchy.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipTreeMap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/utils/condition.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/utils/histogram.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipeline/index.js +2 -3
- package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipeline/table.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/columns/columnsAggregation.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/columns/utils.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/corner/index.js +1 -2
- package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/indicators/index.js +2 -3
- package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/init/index.js +2 -3
- package/dist/esm/pipeline/spec/table/pipes/init/pivotTable.js +1 -1
- package/dist/esm/pipeline/spec/table/pipes/init/pivotTable.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/init/table.js +1 -1
- package/dist/esm/pipeline/spec/table/pipes/init/table.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/rows/index.js +1 -2
- package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/bottomFrozenStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/cornerHeaderStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/headerStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/rowHeaderStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/scrollStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/selectionStyle.js.map +1 -1
- package/dist/esm/pipeline/utils/boxplot.js.map +1 -1
- package/dist/esm/pipeline/utils/chatType.js.map +1 -1
- package/dist/esm/pipeline/utils/constant.js.map +1 -1
- package/dist/esm/pipeline/utils/dimensions/delete.js.map +1 -1
- package/dist/esm/pipeline/utils/dimensions/typeGuard.js.map +1 -1
- package/dist/esm/pipeline/utils/format/createFormatter.js.map +1 -1
- package/dist/esm/pipeline/utils/format/createFormatterByDimension.js.map +1 -1
- package/dist/esm/pipeline/utils/format/createFormatterByMeasure.js.map +1 -1
- package/dist/esm/pipeline/utils/format/createNumFormatter.js.map +1 -1
- package/dist/esm/pipeline/utils/format/createTimeFormatter.js.map +1 -1
- package/dist/esm/pipeline/utils/measures/delete.js.map +1 -1
- package/dist/esm/pipeline/utils/measures/depth.js.map +1 -1
- package/dist/esm/pipeline/utils/measures/find.js.map +1 -1
- package/dist/esm/pipeline/utils/measures/typeGuard.js.map +1 -1
- package/dist/esm/pipeline/utils/pipeline.js.map +1 -1
- package/dist/esm/pipeline/utils/replaceNullToUndefined.js.map +1 -1
- package/dist/esm/pipeline/utils/sandbox/builtin-utils.js.map +1 -1
- package/dist/esm/pipeline/utils/sandbox/execute.js +1 -1
- package/dist/esm/pipeline/utils/sandbox/execute.js.map +1 -1
- package/dist/esm/pipeline/utils/sandbox/index.js +2 -3
- package/dist/esm/pipeline/utils/tree/traverse.js.map +1 -1
- package/dist/esm/pipeline/utils/valid/checkVSeed.js.map +1 -1
- package/dist/esm/pipeline/utils/valid/index.js +1 -2
- package/dist/esm/theme/common/annotaion.js +2 -1
- package/dist/esm/theme/common/annotaion.js.map +1 -1
- package/dist/esm/theme/common/axes.js.map +1 -1
- package/dist/esm/theme/common/boxPlot.js.map +1 -1
- package/dist/esm/theme/common/brush.js.map +1 -1
- package/dist/esm/theme/common/color.js.map +1 -1
- package/dist/esm/theme/common/crosshair.js.map +1 -1
- package/dist/esm/theme/common/funnelTransform.js.map +1 -1
- package/dist/esm/theme/common/heatmapCell.js.map +1 -1
- package/dist/esm/theme/common/label.js.map +1 -1
- package/dist/esm/theme/common/legend.js.map +1 -1
- package/dist/esm/theme/common/player.js.map +1 -1
- package/dist/esm/theme/common/regressionLine.js.map +1 -1
- package/dist/esm/theme/common/table.js.map +1 -1
- package/dist/esm/theme/common/tooltip.js.map +1 -1
- package/dist/esm/theme/dark/area.js.map +1 -1
- package/dist/esm/theme/dark/bar.js.map +1 -1
- package/dist/esm/theme/dark/boxPlot.js.map +1 -1
- package/dist/esm/theme/dark/column.js.map +1 -1
- package/dist/esm/theme/dark/dark.js.map +1 -1
- package/dist/esm/theme/dark/dualAxis.js.map +1 -1
- package/dist/esm/theme/dark/funnel.js.map +1 -1
- package/dist/esm/theme/dark/heatmap.js.map +1 -1
- package/dist/esm/theme/dark/hierarchy.js.map +1 -1
- package/dist/esm/theme/dark/histogram.js.map +1 -1
- package/dist/esm/theme/dark/index.js +1 -2
- package/dist/esm/theme/dark/line.js.map +1 -1
- package/dist/esm/theme/dark/pie.js.map +1 -1
- package/dist/esm/theme/dark/race.js.map +1 -1
- package/dist/esm/theme/dark/raceLine.js.map +1 -1
- package/dist/esm/theme/dark/racePie.js.map +1 -1
- package/dist/esm/theme/dark/radar.js.map +1 -1
- package/dist/esm/theme/dark/rose.js.map +1 -1
- package/dist/esm/theme/dark/scatter.js.map +1 -1
- package/dist/esm/theme/index.js +3 -4
- package/dist/esm/theme/light/area.js.map +1 -1
- package/dist/esm/theme/light/bar.js.map +1 -1
- package/dist/esm/theme/light/boxPlot.js.map +1 -1
- package/dist/esm/theme/light/column.js.map +1 -1
- package/dist/esm/theme/light/dualAxis.js.map +1 -1
- package/dist/esm/theme/light/funnel.js.map +1 -1
- package/dist/esm/theme/light/heatmap.js.map +1 -1
- package/dist/esm/theme/light/hierarchy.js.map +1 -1
- package/dist/esm/theme/light/histogram.js.map +1 -1
- package/dist/esm/theme/light/index.js +1 -2
- package/dist/esm/theme/light/light.js.map +1 -1
- package/dist/esm/theme/light/line.js.map +1 -1
- package/dist/esm/theme/light/pie.js.map +1 -1
- package/dist/esm/theme/light/race.js.map +1 -1
- package/dist/esm/theme/light/raceLine.js.map +1 -1
- package/dist/esm/theme/light/racePie.js.map +1 -1
- package/dist/esm/theme/light/radar.js.map +1 -1
- package/dist/esm/theme/light/rose.js.map +1 -1
- package/dist/esm/theme/light/scatter.js.map +1 -1
- package/dist/esm/theme/tokenTheme.js.map +1 -1
- package/dist/esm/types/advancedVSeed.js.map +1 -1
- package/dist/esm/types/builder/builder.js.map +1 -1
- package/dist/esm/types/chartType/area/index.js +1 -2
- package/dist/esm/types/chartType/area/zArea.js.map +1 -1
- package/dist/esm/types/chartType/areaPercent/index.js +1 -2
- package/dist/esm/types/chartType/areaPercent/zAreaPercent.js.map +1 -1
- package/dist/esm/types/chartType/bar/zBar.js.map +1 -1
- package/dist/esm/types/chartType/barParallel/zBarParallel.js.map +1 -1
- package/dist/esm/types/chartType/barPercent/zBarPercent.js.map +1 -1
- package/dist/esm/types/chartType/boxPlot/zBoxPlot.js.map +1 -1
- package/dist/esm/types/chartType/circlePacking/zCirclePacking.js.map +1 -1
- package/dist/esm/types/chartType/column/zColumn.js.map +1 -1
- package/dist/esm/types/chartType/columnParallel/zColumnParallel.js.map +1 -1
- package/dist/esm/types/chartType/columnPercent/zColumnPercent.js.map +1 -1
- package/dist/esm/types/chartType/donut/zDonut.js.map +1 -1
- package/dist/esm/types/chartType/dualAxis/index.js +1 -2
- package/dist/esm/types/chartType/dualAxis/zDualAxis.js.map +1 -1
- package/dist/esm/types/chartType/funnel/zFunnel.js.map +1 -1
- package/dist/esm/types/chartType/heatmap/zHeatmap.js.map +1 -1
- package/dist/esm/types/chartType/histogram/zHistogram.js.map +1 -1
- package/dist/esm/types/chartType/line/zLine.js.map +1 -1
- package/dist/esm/types/chartType/pie/zPie.js.map +1 -1
- package/dist/esm/types/chartType/pivotTable/zPivotTable.js.map +1 -1
- package/dist/esm/types/chartType/raceBar/zRaceBar.js.map +1 -1
- package/dist/esm/types/chartType/raceColumn/zRaceColumn.js.map +1 -1
- package/dist/esm/types/chartType/raceDonut/zRaceDonut.js.map +1 -1
- package/dist/esm/types/chartType/raceLine/zRaceLine.js.map +1 -1
- package/dist/esm/types/chartType/racePie/zRacePie.js.map +1 -1
- package/dist/esm/types/chartType/raceScatter/zRaceScatter.js.map +1 -1
- package/dist/esm/types/chartType/radar/zRadar.js.map +1 -1
- package/dist/esm/types/chartType/rose/zRose.js.map +1 -1
- package/dist/esm/types/chartType/roseParallel/zRoseParallel.js.map +1 -1
- package/dist/esm/types/chartType/scatter/zScatter.js.map +1 -1
- package/dist/esm/types/chartType/sunburst/zSunburst.js.map +1 -1
- package/dist/esm/types/chartType/table/zTable.js.map +1 -1
- package/dist/esm/types/chartType/treeMap/zTreeMap.js.map +1 -1
- package/dist/esm/types/dataSelector/selector.js.map +1 -1
- package/dist/esm/types/i18n/i18n.js.map +1 -1
- package/dist/esm/types/properties/aggregation/index.js +1 -2
- package/dist/esm/types/properties/aggregation/zAggregation.js.map +1 -1
- package/dist/esm/types/properties/analysis/analysis.js.map +1 -1
- package/dist/esm/types/properties/analysis/sort.js.map +1 -1
- package/dist/esm/types/properties/analysis/sortLegend.js.map +1 -1
- package/dist/esm/types/properties/annotation/annotation.js.map +1 -1
- package/dist/esm/types/properties/annotation/zAnnotationArea.js.map +1 -1
- package/dist/esm/types/properties/annotation/zAnnotationHorizontalLine.js.map +1 -1
- package/dist/esm/types/properties/annotation/zAnnotationPoint.js.map +1 -1
- package/dist/esm/types/properties/annotation/zAnnotationVerticalLine.js.map +1 -1
- package/dist/esm/types/properties/brush/index.js +1 -2
- package/dist/esm/types/properties/brush/zBrush.js.map +1 -1
- package/dist/esm/types/properties/cellStyle/bodyCellStyle.js.map +1 -1
- package/dist/esm/types/properties/cellStyle/cellStyle.js.map +1 -1
- package/dist/esm/types/properties/chartType/chartType.js.map +1 -1
- package/dist/esm/types/properties/chartType/index.js +1 -2
- package/dist/esm/types/properties/config/annotation/zAnnotation.js.map +1 -1
- package/dist/esm/types/properties/config/area.js.map +1 -1
- package/dist/esm/types/properties/config/axes/zBandAxis.js.map +1 -1
- package/dist/esm/types/properties/config/axes/zLinearAxis.js.map +1 -1
- package/dist/esm/types/properties/config/backgroundColor/backgroundColor.js.map +1 -1
- package/dist/esm/types/properties/config/bar.js.map +1 -1
- package/dist/esm/types/properties/config/barWidth/index.js.map +1 -1
- package/dist/esm/types/properties/config/boxWidth/zBoxWidth.js.map +1 -1
- package/dist/esm/types/properties/config/boxplot.js.map +1 -1
- package/dist/esm/types/properties/config/circlePacking.js.map +1 -1
- package/dist/esm/types/properties/config/color/color.js.map +1 -1
- package/dist/esm/types/properties/config/column.js.map +1 -1
- package/dist/esm/types/properties/config/config.js.map +1 -1
- package/dist/esm/types/properties/config/crosshair/zCrosshair.js.map +1 -1
- package/dist/esm/types/properties/config/dimensionLinkage/dimensionLinkage.js.map +1 -1
- package/dist/esm/types/properties/config/dualAxis.js.map +1 -1
- package/dist/esm/types/properties/config/funnel.js.map +1 -1
- package/dist/esm/types/properties/config/funnelTransform/zFunnelTransform.js.map +1 -1
- package/dist/esm/types/properties/config/heatmap/zHeatmap.js.map +1 -1
- package/dist/esm/types/properties/config/heatmap.js.map +1 -1
- package/dist/esm/types/properties/config/histogram.js.map +1 -1
- package/dist/esm/types/properties/config/label/zLabel.js.map +1 -1
- package/dist/esm/types/properties/config/label/zPieLabel.js.map +1 -1
- package/dist/esm/types/properties/config/legend/legend.js.map +1 -1
- package/dist/esm/types/properties/config/line.js.map +1 -1
- package/dist/esm/types/properties/config/pie.js.map +1 -1
- package/dist/esm/types/properties/config/pivotGrid/index.js +1 -2
- package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js.map +1 -1
- package/dist/esm/types/properties/config/pivotTable.js.map +1 -1
- package/dist/esm/types/properties/config/player/index.js +1 -2
- package/dist/esm/types/properties/config/player/zPlayer.js.map +1 -1
- package/dist/esm/types/properties/config/race.js.map +1 -1
- package/dist/esm/types/properties/config/rose.js.map +1 -1
- package/dist/esm/types/properties/config/scatter.js.map +1 -1
- package/dist/esm/types/properties/config/stackCornerRadius/stackCornerRadius.js.map +1 -1
- package/dist/esm/types/properties/config/sunburst.js.map +1 -1
- package/dist/esm/types/properties/config/table.js.map +1 -1
- package/dist/esm/types/properties/config/tooltip/tooltip.js.map +1 -1
- package/dist/esm/types/properties/config/treeMap.js.map +1 -1
- package/dist/esm/types/properties/config/whiskers/index.js.map +1 -1
- package/dist/esm/types/properties/dataset/dataset.js.map +1 -1
- package/dist/esm/types/properties/dataset/index.js +1 -2
- package/dist/esm/types/properties/datasetReshapeInfo/index.js +1 -2
- package/dist/esm/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.js.map +1 -1
- package/dist/esm/types/properties/dimensions/zDimensions.js.map +1 -1
- package/dist/esm/types/properties/encoding/index.js +3 -4
- package/dist/esm/types/properties/encoding/zDimensionEncoding.js.map +1 -1
- package/dist/esm/types/properties/encoding/zEncoding.js.map +1 -1
- package/dist/esm/types/properties/encoding/zMeasureEncoding.js.map +1 -1
- package/dist/esm/types/properties/format/numFormat.js.map +1 -1
- package/dist/esm/types/properties/format/timeFormat.js.map +1 -1
- package/dist/esm/types/properties/markStyle/barStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/boxPlotStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/lineStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/markStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/outlierStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/pointStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/zAreaStyle.js.map +1 -1
- package/dist/esm/types/properties/measures/zDualMeasures.js.map +1 -1
- package/dist/esm/types/properties/measures/zMeasures.js.map +1 -1
- package/dist/esm/types/properties/page/index.js +1 -2
- package/dist/esm/types/properties/page/zPage.js.map +1 -1
- package/dist/esm/types/properties/regressionLine/zRegressionLine.js.map +1 -1
- package/dist/esm/types/properties/theme/customTheme.js.map +1 -1
- package/dist/esm/types/properties/theme/index.js +2 -3
- package/dist/esm/types/properties/theme/theme.js.map +1 -1
- package/dist/esm/types/properties/totals/index.js +1 -2
- package/dist/esm/types/properties/totals/zTotals.js.map +1 -1
- package/dist/esm/types/zVseed.js.map +1 -1
- package/dist/umd/index.js +357 -357
- package/dist/umd/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/stack/stackCornerRadius.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/stack/stackCornerRadius.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/stack/stackCornerRadius.ts"],"sourcesContent":["import type { IBarChartSpec } from '@visactor/vchart'\nimport { FoldMeasureId } from 'src/dataReshape/constant'\nimport type { Datum, VChartSpecPipe, StackCornerRadius } from 'src/types'\n\nconst reverseStackCornerRadius = (cornerRadius: StackCornerRadius): StackCornerRadius => {\n if (!Array.isArray(cornerRadius)) {\n return cornerRadius\n }\n\n const [topLeft = 0, topRight = 0, bottomRight = 0, bottomLeft = 0] = cornerRadius\n\n return [bottomRight, bottomLeft, topLeft, topRight]\n}\n\nconst mergeStackCornerRadius = (cornerRadius: StackCornerRadius): StackCornerRadius => {\n if (!Array.isArray(cornerRadius)) {\n return cornerRadius\n }\n\n const [topLeft = 0, topRight = 0, bottomRight = 0, bottomLeft = 0] = cornerRadius\n\n return [\n Math.max(topLeft, bottomRight),\n Math.max(topRight, bottomLeft),\n Math.max(bottomRight, topLeft),\n Math.max(bottomLeft, topRight),\n ]\n}\n\nconst getStackRangeCornerRadius = (\n cornerRadius: StackCornerRadius,\n datum: Datum,\n): StackCornerRadius | 0 | undefined => {\n const stackStart = datum?.['__VCHART_STACK_START']\n const stackEnd = datum?.['__VCHART_STACK_END']\n\n if (typeof stackStart !== 'number' || typeof stackEnd !== 'number') {\n return undefined\n }\n\n const hasPositivePart = stackStart > 0 || stackEnd > 0\n const hasNegativePart = stackStart < 0 || stackEnd < 0\n\n if (hasPositivePart && hasNegativePart) {\n // Mixed positive/negative stack range: merge normal/reverse corners for whole-bar style.\n return mergeStackCornerRadius(cornerRadius)\n }\n\n if (hasPositivePart) {\n return cornerRadius\n }\n\n if (hasNegativePart) {\n return reverseStackCornerRadius(cornerRadius)\n }\n\n return 0\n}\n\nexport const stackCornerRadius: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const stackCornerRadius = advancedVSeed.config?.[chartType as 'column']?.stackCornerRadius as StackCornerRadius\n\n if (chartType === 'dualAxis' && (spec as any).type !== 'bar') {\n return spec\n }\n\n return {\n ...spec,\n stackCornerRadius: (_: unknown, datum: Datum) => {\n const stackRangeCornerRadius = getStackRangeCornerRadius(stackCornerRadius, datum)\n\n if (stackRangeCornerRadius !== undefined) {\n return stackRangeCornerRadius\n }\n\n const value = datum?.[datum?.[FoldMeasureId]]\n\n if (value > 0) {\n return stackCornerRadius\n }\n\n if (value < 0) {\n return reverseStackCornerRadius(stackCornerRadius)\n }\n\n return 0\n },\n } as IBarChartSpec\n}\n"],"names":["reverseStackCornerRadius","cornerRadius","Array","topLeft","topRight","bottomRight","bottomLeft","mergeStackCornerRadius","Math","getStackRangeCornerRadius","datum","stackStart","stackEnd","hasPositivePart","hasNegativePart","stackCornerRadius","spec","context","advancedVSeed","vseed","chartType","_","stackRangeCornerRadius","undefined","value","FoldMeasureId"],"mappings":";AAIA,MAAMA,2BAA2B,CAACC;IAChC,IAAI,CAACC,MAAM,OAAO,CAACD,eACjB,OAAOA;IAGT,MAAM,CAACE,UAAU,CAAC,EAAEC,WAAW,CAAC,EAAEC,cAAc,CAAC,EAAEC,aAAa,CAAC,CAAC,GAAGL;IAErE,OAAO;QAACI;QAAaC;QAAYH;QAASC;KAAS;AACrD;AAEA,MAAMG,yBAAyB,CAACN;IAC9B,IAAI,CAACC,MAAM,OAAO,CAACD,eACjB,OAAOA;IAGT,MAAM,CAACE,UAAU,CAAC,EAAEC,WAAW,CAAC,EAAEC,cAAc,CAAC,EAAEC,aAAa,CAAC,CAAC,GAAGL;IAErE,OAAO;QACLO,KAAK,GAAG,CAACL,SAASE;QAClBG,KAAK,GAAG,CAACJ,UAAUE;QACnBE,KAAK,GAAG,CAACH,aAAaF;QACtBK,KAAK,GAAG,CAACF,YAAYF;KACtB;AACH;AAEA,MAAMK,4BAA4B,CAChCR,cACAS;IAEA,MAAMC,aAAaD,OAAO,CAAC,uBAAuB;IAClD,MAAME,WAAWF,OAAO,CAAC,qBAAqB;IAE9C,IAAI,AAAsB,YAAtB,OAAOC,cAA2B,AAAoB,YAApB,OAAOC,UAC3C;IAGF,MAAMC,kBAAkBF,aAAa,KAAKC,WAAW;IACrD,MAAME,kBAAkBH,aAAa,KAAKC,WAAW;IAErD,IAAIC,mBAAmBC,iBAErB,OAAOP,uBAAuBN;IAGhC,IAAIY,iBACF,OAAOZ;IAGT,IAAIa,iBACF,OAAOd,yBAAyBC;IAGlC,OAAO;AACT;AAEO,MAAMc,sCAAoC,CAACC,MAAMC;IACtD,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGF;IACjC,MAAM,EAAEG,SAAS,EAAE,GAAGD;IACtB,MAAMJ,oBAAoBG,cAAc,MAAM,EAAE,CAACE,UAAsB,EAAE;IAEzE,IAAIA,AAAc,eAAdA,aAA6BJ,AAAsB,UAAtBA,KAAa,IAAI,EAChD,OAAOA;IAGT,OAAO;QACL,GAAGA,IAAI;QACP,mBAAmB,CAACK,GAAYX;YAC9B,MAAMY,yBAAyBb,0BAA0BM,mBAAmBL;YAE5E,IAAIY,AAA2BC,WAA3BD,wBACF,OAAOA;YAGT,MAAME,QAAQd,OAAO,CAACA,OAAO,CAACe,cAAc,CAAC;YAE7C,IAAID,QAAQ,GACV,OAAOT;YAGT,IAAIS,QAAQ,GACV,OAAOxB,yBAAyBe;YAGlC,OAAO;QACT;IACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/theme/fontFamily.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/theme/fontFamily.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/theme/fontFamily.ts"],"sourcesContent":["import type { VChartSpecPipe } from 'src/types'\n\ntype FontFamilyAwareChartConfig = {\n fontFamily?: string\n}\n\nexport const fontFamilyTheme: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as Record<string, unknown>\n const { advancedVSeed } = context\n const chartConfig = (advancedVSeed.config?.[advancedVSeed.chartType] || {}) as FontFamilyAwareChartConfig\n\n if (!chartConfig.fontFamily) {\n return result\n }\n\n const theme =\n typeof result.theme === 'object' && result.theme !== null && !Array.isArray(result.theme)\n ? (result.theme as Record<string, unknown>)\n : {}\n\n result.theme = {\n ...theme,\n fontFamily: chartConfig.fontFamily,\n }\n\n return result\n}\n"],"names":["fontFamilyTheme","spec","context","result","advancedVSeed","chartConfig","theme","Array"],"mappings":"AAMO,MAAMA,kBAAkC,CAACC,MAAMC;IACpD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAMG,cAAeD,cAAc,MAAM,EAAE,CAACA,cAAc,SAAS,CAAC,IAAI,CAAC;IAEzE,IAAI,CAACC,YAAY,UAAU,EACzB,OAAOF;IAGT,MAAMG,QACJ,AAAwB,YAAxB,OAAOH,OAAO,KAAK,IAAiBA,AAAiB,SAAjBA,OAAO,KAAK,IAAcI,MAAM,OAAO,CAACJ,OAAO,KAAK,IAEpF,CAAC,IADAA,OAAO,KAAK;IAGnBA,OAAO,KAAK,GAAG;QACb,GAAGG,KAAK;QACR,YAAYD,YAAY,UAAU;IACpC;IAEA,OAAOF;AACT"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { fontFamilyTheme };
|
|
1
|
+
export { fontFamilyTheme } from "./fontFamily.js";
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export { tooltip, tooltipBoxplot, tooltipDualAxis, tooltipHeatmap, tooltipHierarchy, tooltipHistogram, tooltipOfDualAxisSeries, tooltipScatter };
|
|
1
|
+
export { tooltip } from "./tooltip.js";
|
|
2
|
+
export { tooltipDualAxis, tooltipOfDualAxisSeries } from "./tooltipDualAxis.js";
|
|
3
|
+
export { tooltipScatter } from "./tooltipScatter.js";
|
|
4
|
+
export { tooltipHeatmap } from "./tooltipHeatmap.js";
|
|
5
|
+
export { tooltipBoxplot } from "./tooltipBoxplot.js";
|
|
6
|
+
export { tooltipHistogram } from "./tooltipHistogram.js";
|
|
7
|
+
export { tooltipHierarchy } from "./tooltipHierarchy.js";
|
|
@@ -1 +1 @@
|
|
|
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, unique, uniqueBy } from 'remeda'\nimport { Separator } from 'src/dataReshape'\nimport { createFormatterByDimension, createFormatterByMeasure, findMeasureById } from '../../../../utils'\nimport type {\n Datum,\n Dimensions,\n FoldInfo,\n Measures,\n VChartSpecPipe,\n TooltipConfig,\n UnfoldInfo,\n Dimension,\n Measure,\n Locale,\n Encoding,\n} from 'src/types'\nimport { MeasureId, MeasureName, ORIGINAL_DATA } from 'src/dataReshape'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { updateTooltipElement } from './tooltipElement'\n\nexport const tooltip =\n (tooltipOptions?: { titleEncoding?: keyof Encoding }): VChartSpecPipe =>\n (spec, context) => {\n const result = { ...spec }\n if (!context) {\n return result\n }\n const { advancedVSeed, vseed } = context\n const {\n measures = [],\n datasetReshapeInfo,\n chartType,\n dimensions = [],\n encoding,\n reshapeMeasures = [],\n } = 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 const { titleEncoding } = tooltipOptions || {}\n\n result.tooltip = {\n style: getTooltipStyle(tooltip),\n visible: !!enable,\n group: {\n title: {\n visible: false,\n },\n },\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n vseed.measures as Measures,\n foldInfo,\n unfoldInfo,\n advancedVSeed.locale,\n ),\n },\n dimension: {\n title: {\n visible: true,\n value: titleEncoding\n ? (datum?: Datum) => {\n if (!datum) {\n return ''\n }\n const dimIds = encoding[titleEncoding] || []\n const formatted = dimIds.map((id) => {\n const dim = dimensions.find((item) => item.id === id)\n if (!dim) {\n return datum?.[id] as string\n }\n const formatter = createFormatterByDimension(dim, advancedVSeed.locale)\n return formatter(datum?.[id] as string | number)\n })\n return formatted.join(Separator)\n }\n : undefined,\n },\n content: createDimensionContent(\n encoding.tooltip || [],\n encoding.color || [],\n measures,\n foldInfo,\n unfoldInfo,\n reshapeMeasures.length > 1,\n ),\n },\n\n updateElement: updateTooltipElement,\n }\n return result\n }\n\nexport const createDimensionContent = (\n tooltips: string[],\n colors: string[],\n measures: Measures = [],\n foldInfo: FoldInfo,\n unfoldInfo: UnfoldInfo,\n hasMultiMeasureGroup: boolean,\n) => {\n const { measureId, measureValue, foldMap } = foldInfo\n const { encodingColor } = unfoldInfo\n\n const hasMeasureTooltip = tooltips.some((d) => measures.find((item) => item.id === d))\n const hasMeasureIdInColor = colors.some((d) =>\n measures.find((item) => item.id === d || d === MeasureId || d === MeasureName),\n )\n return [\n {\n visible: true,\n shapeType: 'rectRound',\n hasShape: true,\n key: !hasMeasureTooltip\n ? (v: unknown) => {\n const datum = v as Datum\n const colorId = datum?.[encodingColor]\n const colorAlias = unfoldInfo.colorIdMap?.[colorId]?.alias ?? colorId\n\n // 指标组合场景, 保证的 Tooltip 中包含指标.\n if (hasMultiMeasureGroup) {\n // 图例 Color 内已有指标, 则无需添加指标, 避免重复\n if (hasMeasureIdInColor) {\n return colorAlias\n }\n // 指标需添加到 Tooltip 中.\n const meaAlias = (datum && (datum[MeasureName] as string)) || ''\n return unique([colorAlias, meaAlias]).join('-')\n }\n\n return colorAlias\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 locale?: Locale,\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 const meas = pipe(\n measures.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item: Measure) => item.id),\n uniqueBy((item: Measure) => item.alias),\n )\n\n const dimContent = dims.map((item: Dimension) => ({\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 const formatter = createFormatterByDimension(item, locale)\n return datum ? formatter(datum[item.id] as string | number) : ''\n },\n }))\n\n const meaContent = meas.map((item: Measure) => ({\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","tooltipOptions","spec","context","result","advancedVSeed","vseed","measures","datasetReshapeInfo","chartType","dimensions","encoding","reshapeMeasures","baseConfig","enable","foldInfo","unfoldInfo","titleEncoding","getTooltipStyle","createMarkContent","datum","dimIds","formatted","id","dim","item","formatter","createFormatterByDimension","Separator","undefined","createDimensionContent","updateTooltipElement","tooltips","colors","hasMultiMeasureGroup","measureId","measureValue","foldMap","encodingColor","hasMeasureTooltip","d","hasMeasureIdInColor","MeasureId","MeasureName","v","key","colorId","colorAlias","meaAlias","unique","value","measure","findMeasureById","createFormatterByMeasure","locale","dims","pipe","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":["../../../../../../../src/pipeline/spec/chart/pipes/tooltip/tooltip.ts"],"sourcesContent":["import { pipe, unique, uniqueBy } from 'remeda'\nimport { Separator } from 'src/dataReshape'\nimport { createFormatterByDimension, createFormatterByMeasure, findMeasureById } from '../../../../utils'\nimport type {\n Datum,\n Dimensions,\n FoldInfo,\n Measures,\n VChartSpecPipe,\n TooltipConfig,\n UnfoldInfo,\n Dimension,\n Measure,\n Locale,\n Encoding,\n} from 'src/types'\nimport { MeasureId, MeasureName, ORIGINAL_DATA } from 'src/dataReshape'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { updateTooltipElement } from './tooltipElement'\n\nexport const tooltip =\n (tooltipOptions?: { titleEncoding?: keyof Encoding }): VChartSpecPipe =>\n (spec, context) => {\n const result = { ...spec }\n if (!context) {\n return result\n }\n const { advancedVSeed, vseed } = context\n const {\n measures = [],\n datasetReshapeInfo,\n chartType,\n dimensions = [],\n encoding,\n reshapeMeasures = [],\n } = 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 const { titleEncoding } = tooltipOptions || {}\n\n result.tooltip = {\n style: getTooltipStyle(tooltip),\n visible: !!enable,\n group: {\n title: {\n visible: false,\n },\n },\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n vseed.measures as Measures,\n foldInfo,\n unfoldInfo,\n advancedVSeed.locale,\n ),\n },\n dimension: {\n title: {\n visible: true,\n value: titleEncoding\n ? (datum?: Datum) => {\n if (!datum) {\n return ''\n }\n const dimIds = encoding[titleEncoding] || []\n const formatted = dimIds.map((id) => {\n const dim = dimensions.find((item) => item.id === id)\n if (!dim) {\n return datum?.[id] as string\n }\n const formatter = createFormatterByDimension(dim, advancedVSeed.locale)\n return formatter(datum?.[id] as string | number)\n })\n return formatted.join(Separator)\n }\n : undefined,\n },\n content: createDimensionContent(\n encoding.tooltip || [],\n encoding.color || [],\n measures,\n foldInfo,\n unfoldInfo,\n reshapeMeasures.length > 1,\n ),\n },\n\n updateElement: updateTooltipElement,\n }\n return result\n }\n\nexport const createDimensionContent = (\n tooltips: string[],\n colors: string[],\n measures: Measures = [],\n foldInfo: FoldInfo,\n unfoldInfo: UnfoldInfo,\n hasMultiMeasureGroup: boolean,\n) => {\n const { measureId, measureValue, foldMap } = foldInfo\n const { encodingColor } = unfoldInfo\n\n const hasMeasureTooltip = tooltips.some((d) => measures.find((item) => item.id === d))\n const hasMeasureIdInColor = colors.some((d) =>\n measures.find((item) => item.id === d || d === MeasureId || d === MeasureName),\n )\n return [\n {\n visible: true,\n shapeType: 'rectRound',\n hasShape: true,\n key: !hasMeasureTooltip\n ? (v: unknown) => {\n const datum = v as Datum\n const colorId = datum?.[encodingColor]\n const colorAlias = unfoldInfo.colorIdMap?.[colorId]?.alias ?? colorId\n\n // 指标组合场景, 保证的 Tooltip 中包含指标.\n if (hasMultiMeasureGroup) {\n // 图例 Color 内已有指标, 则无需添加指标, 避免重复\n if (hasMeasureIdInColor) {\n return colorAlias\n }\n // 指标需添加到 Tooltip 中.\n const meaAlias = (datum && (datum[MeasureName] as string)) || ''\n return unique([colorAlias, meaAlias]).join('-')\n }\n\n return colorAlias\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 locale?: Locale,\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 const meas = pipe(\n measures.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item: Measure) => item.id),\n uniqueBy((item: Measure) => item.alias),\n )\n\n const dimContent = dims.map((item: Dimension) => ({\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 const formatter = createFormatterByDimension(item, locale)\n return datum ? formatter(datum[item.id] as string | number) : ''\n },\n }))\n\n const meaContent = meas.map((item: Measure) => ({\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","tooltipOptions","spec","context","result","advancedVSeed","vseed","measures","datasetReshapeInfo","chartType","dimensions","encoding","reshapeMeasures","baseConfig","enable","foldInfo","unfoldInfo","titleEncoding","getTooltipStyle","createMarkContent","datum","dimIds","formatted","id","dim","item","formatter","createFormatterByDimension","Separator","undefined","createDimensionContent","updateTooltipElement","tooltips","colors","hasMultiMeasureGroup","measureId","measureValue","foldMap","encodingColor","hasMeasureTooltip","d","hasMeasureIdInColor","MeasureId","MeasureName","v","key","colorId","colorAlias","meaAlias","unique","value","measure","findMeasureById","createFormatterByMeasure","locale","dims","pipe","uniqueBy","meas","dimContent","meaContent","ORIGINAL_DATA","originalData","defaultContent","measureName","colorName","String"],"mappings":";;;;;AAoBO,MAAMA,kBACX,CAACC,iBACD,CAACC,MAAMC;QACL,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,IAAI,CAACC,SACH,OAAOC;QAET,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGH;QACjC,MAAM,EACJI,WAAW,EAAE,EACbC,kBAAkB,EAClBC,SAAS,EACTC,aAAa,EAAE,EACfC,QAAQ,EACRC,kBAAkB,EAAE,EACrB,GAAGP;QACJ,MAAMQ,aAAaR,cAAc,MAAM,EAAE,CAACI,UAAoB;QAC9D,MAAM,EAAET,UAAU;YAAE,QAAQ;QAAK,CAAC,EAAE,GAAGa,cAAc,CAAC;QACtD,MAAM,EAAEC,SAAS,IAAI,EAAE,GAAGd;QAC1B,MAAM,EAAEe,QAAQ,EAAEC,UAAU,EAAE,GAAGR,kBAAkB,CAAC,EAAE;QAItD,MAAM,EAAES,aAAa,EAAE,GAAGhB,kBAAkB,CAAC;QAE7CG,OAAO,OAAO,GAAG;YACf,OAAOc,gBAAgBlB;YACvB,SAAS,CAAC,CAACc;YACX,OAAO;gBACL,OAAO;oBACL,SAAS;gBACX;YACF;YACA,MAAM;gBACJ,OAAO;oBACL,SAAS;gBACX;gBACA,SAASK,kBACPR,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAJ,MAAM,QAAQ,EACdS,UACAC,YACAX,cAAc,MAAM;YAExB;YACA,WAAW;gBACT,OAAO;oBACL,SAAS;oBACT,OAAOY,gBACH,CAACG;wBACC,IAAI,CAACA,OACH,OAAO;wBAET,MAAMC,SAASV,QAAQ,CAACM,cAAc,IAAI,EAAE;wBAC5C,MAAMK,YAAYD,OAAO,GAAG,CAAC,CAACE;4BAC5B,MAAMC,MAAMd,WAAW,IAAI,CAAC,CAACe,OAASA,KAAK,EAAE,KAAKF;4BAClD,IAAI,CAACC,KACH,OAAOJ,OAAO,CAACG,GAAG;4BAEpB,MAAMG,YAAYC,2BAA2BH,KAAKnB,cAAc,MAAM;4BACtE,OAAOqB,UAAUN,OAAO,CAACG,GAAG;wBAC9B;wBACA,OAAOD,UAAU,IAAI,CAACM;oBACxB,IACAC;gBACN;gBACA,SAASC,uBACPnB,SAAS,OAAO,IAAI,EAAE,EACtBA,SAAS,KAAK,IAAI,EAAE,EACpBJ,UACAQ,UACAC,YACAJ,gBAAgB,MAAM,GAAG;YAE7B;YAEA,eAAemB;QACjB;QACA,OAAO3B;IACT;AAEK,MAAM0B,yBAAyB,CACpCE,UACAC,QACA1B,WAAqB,EAAE,EACvBQ,UACAC,YACAkB;IAEA,MAAM,EAAEC,SAAS,EAAEC,YAAY,EAAEC,OAAO,EAAE,GAAGtB;IAC7C,MAAM,EAAEuB,aAAa,EAAE,GAAGtB;IAE1B,MAAMuB,oBAAoBP,SAAS,IAAI,CAAC,CAACQ,IAAMjC,SAAS,IAAI,CAAC,CAACkB,OAASA,KAAK,EAAE,KAAKe;IACnF,MAAMC,sBAAsBR,OAAO,IAAI,CAAC,CAACO,IACvCjC,SAAS,IAAI,CAAC,CAACkB,OAASA,KAAK,EAAE,KAAKe,KAAKA,MAAME,aAAaF,MAAMG;IAEpE,OAAO;QACL;YACE,SAAS;YACT,WAAW;YACX,UAAU;YACV,KAAK,AAACJ,oBAmBF,CAACK;gBACC,MAAMxB,QAAQwB;gBACd,MAAMC,MAAOzB,SAAUA,KAAK,CAACe,UAAU,IAAgB;gBACvD,OAAOE,OAAO,CAACQ,IAAI,IAAIA;YACzB,IAtBA,CAACD;gBACC,MAAMxB,QAAQwB;gBACd,MAAME,UAAU1B,OAAO,CAACkB,cAAc;gBACtC,MAAMS,aAAa/B,WAAW,UAAU,EAAE,CAAC8B,QAAQ,EAAE,SAASA;gBAG9D,IAAIZ,sBAAsB;oBAExB,IAAIO,qBACF,OAAOM;oBAGT,MAAMC,WAAY5B,SAAUA,KAAK,CAACuB,YAAY,IAAgB;oBAC9D,OAAOM,OAAO;wBAACF;wBAAYC;qBAAS,EAAE,IAAI,CAAC;gBAC7C;gBAEA,OAAOD;YACT;YAMJ,OAAO,CAACH;gBACN,MAAMxB,QAAQwB;gBACd,IAAI,CAACxB,OACH,OAAO;gBAET,MAAM8B,QAAQ9B,KAAK,CAACgB,aAAa;gBACjC,MAAMb,KAAKH,KAAK,CAACe,UAAU;gBAC3B,MAAMgB,UAAUC,gBAAgB7C,UAAUgB;gBAC1C,MAAMG,YAAY2B,yBAAyBF;gBAC3C,OAAOzB,UAAUwB;YACnB;QACF;KACD;AACH;AAEO,MAAM/B,oBAAoB,CAC/BnB,SACAU,aAAyB,EAAE,EAC3BH,WAAqB,EAAE,EACvBQ,UACAC,YACAsC;IAEA,MAAMC,OAAOC,KACX9C,WAAW,MAAM,CAAC,CAACe,OAASzB,QAAQ,QAAQ,CAACyB,KAAK,EAAE,IACpDgC,SAAS,CAAChC,OAAoBA,KAAK,EAAE,GACrCgC,SAAS,CAAChC,OAAoBA,KAAK,KAAK;IAE1C,MAAMiC,OAAOF,KACXjD,SAAS,MAAM,CAAC,CAACkB,OAASzB,QAAQ,QAAQ,CAACyB,KAAK,EAAE,IAClDgC,SAAS,CAAChC,OAAkBA,KAAK,EAAE,GACnCgC,SAAS,CAAChC,OAAkBA,KAAK,KAAK;IAGxC,MAAMkC,aAAaJ,KAAK,GAAG,CAAC,CAAC9B,OAAqB;YAChD,SAAS;YACT,UAAU;YACV,WAAW;YACX,KAAK,CAACmB;gBACJ,MAAMxB,QAAQwB;gBACd,IAAInB,KAAK,KAAK,IAAIA,KAAK,EAAE,EACvB,OAAOA,KAAK,KAAK,IAAIA,KAAK,EAAE;gBAE9B,OAAOL,SAAUA,KAAK,CAACK,KAAK,EAAE,CAAC;YACjC;YACA,OAAO,CAACmB;gBACN,MAAMxB,QAAQwB;gBACd,MAAMlB,YAAYC,2BAA2BF,MAAM6B;gBACnD,OAAOlC,QAAQM,UAAUN,KAAK,CAACK,KAAK,EAAE,CAAC,IAAuB;YAChE;QACF;IAEA,MAAMmC,aAAaF,KAAK,GAAG,CAAC,CAACjC,OAAmB;YAC9C,SAAS;YACT,UAAU;YACV,WAAW;YACX,KAAKA,KAAK,KAAK,IAAIA,KAAK,EAAE;YAC1B,OAAO,CAACmB;gBACN,MAAMxB,QAAQwB;gBACd,IAAI,CAACxB,OACH,OAAO;gBAET,MAAMG,KAAKE,KAAK,EAAE;gBAClB,IAAI,CAACL,SAAS,CAACA,KAAK,CAACyC,cAAc,IAAI,CAACzC,KAAK,CAACyC,cAAc,EAC1D,OAAO;gBAET,MAAMC,eAAe1C,KAAK,CAACyC,cAAc;gBACzC,MAAMX,QAAQY,YAAY,CAACvC,GAAG;gBAC9B,MAAM4B,UAAUC,gBAAgB7C,UAAUgB;gBAC1C,MAAMG,YAAY2B,yBAAyBF;gBAC3C,OAAOzB,UAAUwB;YACnB;QACF;IAEA,MAAMa,iBAAiB;QACrB,SAAS;QACT,UAAU;QACV,WAAW;QACX,KAAK,CAACnB;YACJ,MAAM,EAAEoB,WAAW,EAAE,GAAGjD;YACxB,MAAM,EAAE,eAAekD,SAAS,EAAE,GAAGjD;YAErC,MAAMI,QAAQwB;YACd,OAAQxB,SAAUA,KAAK,CAAC4C,eAAeC,UAAU,IAAgB;QACnE;QACA,OAAO,CAACrB;YACN,MAAM,EAAET,SAAS,EAAEC,YAAY,EAAE,GAAGrB;YAEpC,MAAMK,QAAQwB;YACd,IAAI,CAACxB,OACH,OAAO;YAET,MAAM8B,QAAQ9B,KAAK,CAACgB,aAAa;YACjC,MAAMb,KAAKH,KAAK,CAACe,UAAU;YAC3B,MAAMgB,UAAUC,gBAAgB7C,UAAUgB;YAC1C,IAAI,CAAC4B,SACH,OAAOe,OAAOhB;YAGhB,MAAMxB,YAAY2B,yBAAyBF;YAC3C,OAAOzB,UAAUwB;QACnB;IACF;IAEA,OAAO;WAAIS;QAAYI;WAAmBH;KAAW;AACvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.ts"],"sourcesContent":["import { pipe, uniqueBy, isNullish } from 'remeda'\nimport { createFormatterByDimension, createFormatterByMeasure, findMeasureById } from '../../../../utils'\nimport type {\n Dimension,\n Dimensions,\n Encoding,\n VChartSpecPipe,\n Tooltip,\n Measures,\n FoldInfo,\n UnfoldInfo,\n Locale,\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, locale } = 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 = (vseed.measures ?? []) as 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, locale),\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], locale),\n },\n updateElement: updateTooltipElement,\n }\n return result as unknown as ISpec\n}\n\nconst createMarkContent = (tooltip: string[], dimensions: Dimensions, encoding: Encoding, locale?: Locale) => {\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 const formatter = createFormatterByDimension(item, locale)\n return formatter(datum?.[item.id] as string | number)\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 locale?: Locale,\n hasMultiMeasureGroup?: boolean,\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 const colorKey = `${unfoldInfo.colorIdMap[key].alias ?? key}(${medianAlias})`\n\n if (hasMultiMeasureGroup) {\n const id = datum[MeasureId] as string\n const measure = findMeasureById(measures, id)\n\n return measure ? `${colorKey}-${measure.alias ?? id}` : colorKey\n }\n\n return colorKey\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","locale","baseConfig","tooltip","enable","meas","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","createFormatterByDimension","defaultContent","key","measures","medianAlias","hasMultiMeasureGroup","encodingColor","d","colorKey","id","MeasureId","measure","findMeasureById","MeasureName","value"],"mappings":"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"}
|
|
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 { createFormatterByDimension, createFormatterByMeasure, findMeasureById } from '../../../../utils'\nimport type {\n Dimension,\n Dimensions,\n Encoding,\n VChartSpecPipe,\n Tooltip,\n Measures,\n FoldInfo,\n UnfoldInfo,\n Locale,\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, locale } = 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 = (vseed.measures ?? []) as 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, locale),\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], locale),\n },\n updateElement: updateTooltipElement,\n }\n return result as unknown as ISpec\n}\n\nconst createMarkContent = (tooltip: string[], dimensions: Dimensions, encoding: Encoding, locale?: Locale) => {\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 const formatter = createFormatterByDimension(item, locale)\n return formatter(datum?.[item.id] as string | number)\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 locale?: Locale,\n hasMultiMeasureGroup?: boolean,\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 const colorKey = `${unfoldInfo.colorIdMap[key].alias ?? key}(${medianAlias})`\n\n if (hasMultiMeasureGroup) {\n const id = datum[MeasureId] as string\n const measure = findMeasureById(measures, id)\n\n return measure ? `${colorKey}-${measure.alias ?? id}` : colorKey\n }\n\n return colorKey\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","locale","baseConfig","tooltip","enable","meas","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","createFormatterByDimension","defaultContent","key","measures","medianAlias","hasMultiMeasureGroup","encodingColor","d","colorKey","id","MeasureId","measure","findMeasureById","MeasureName","value"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.ts"],"sourcesContent":["import { createDimensionContent, createMarkContent } from './tooltip'\nimport type { VChartSpecPipe, Tooltip, Measures, DualAxisOptions } from 'src/types'\nimport { getTooltipStyle } from './tooltipStyle'\nimport { updateTooltipElement } from './tooltipElement'\nimport { createFormatterByDimension } from 'src/pipeline/utils'\nimport { Separator } from 'src/dataReshape'\n\nexport const tooltipOfDualAxisSeries = (options: DualAxisOptions): VChartSpecPipe => {\n return (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const {\n measures = [],\n datasetReshapeInfo,\n chartType,\n dimensions = [],\n encoding,\n reshapeMeasures = [],\n } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n\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 vseed.measures as Measures,\n options.foldInfo,\n unfoldInfo,\n advancedVSeed.locale,\n ),\n },\n dimension: {\n title: {\n visible: true,\n value: (datum?: Record<string, unknown>) => {\n if (!datum) {\n return ''\n }\n const dimIds = encoding.x || []\n const formatted = dimIds.map((id) => {\n const dim = dimensions.find((item) => item.id === id)\n if (!dim) {\n return datum?.[id] as string\n }\n const formatter = createFormatterByDimension(dim, advancedVSeed.locale)\n return formatter(datum?.[id] as string | number)\n })\n return formatted.join(Separator)\n },\n },\n content: createDimensionContent(\n encoding.tooltip || [],\n encoding.color || [],\n measures,\n options.foldInfo,\n unfoldInfo,\n reshapeMeasures.length > 1,\n ),\n },\n }\n return result\n }\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":["tooltipOfDualAxisSeries","options","spec","context","result","advancedVSeed","vseed","measures","datasetReshapeInfo","chartType","dimensions","encoding","reshapeMeasures","baseConfig","tooltip","enable","unfoldInfo","createMarkContent","datum","dimIds","formatted","id","dim","item","formatter","createFormatterByDimension","Separator","createDimensionContent","tooltipDualAxis","getTooltipStyle","updateTooltipElement"],"mappings":";;;;;AAOO,MAAMA,0BAA0B,CAACC,UAC/B,CAACC,MAAMC;QACZ,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;QACjC,MAAM,EACJI,WAAW,EAAE,EACbC,kBAAkB,EAClBC,SAAS,EACTC,aAAa,EAAE,EACfC,QAAQ,EACRC,kBAAkB,EAAE,EACrB,GAAGP;QACJ,MAAMQ,aAAaR,cAAc,MAAM,CAACI,UAAU;QAClD,MAAM,EAAEK,UAAU;YAAE,QAAQ;QAAK,CAAC,EAAE,GAAGD;QACvC,MAAM,EAAEE,MAAM,EAAE,GAAGD;QAEnB,MAAME,aAAaR,kBAAkB,CAAC,EAAE,CAAC,UAAU;QAEnDJ,OAAO,OAAO,GAAG;YACf,SAASW;YACT,MAAM;gBACJ,OAAO;oBACL,SAAS;gBACX;gBACA,SAASE,kBACPN,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAJ,MAAM,QAAQ,EACdL,QAAQ,QAAQ,EAChBe,YACAX,cAAc,MAAM;YAExB;YACA,WAAW;gBACT,OAAO;oBACL,SAAS;oBACT,OAAO,CAACa;wBACN,IAAI,CAACA,OACH,OAAO;wBAET,MAAMC,SAASR,SAAS,CAAC,IAAI,EAAE;wBAC/B,MAAMS,YAAYD,OAAO,GAAG,CAAC,CAACE;4BAC5B,MAAMC,MAAMZ,WAAW,IAAI,CAAC,CAACa,OAASA,KAAK,EAAE,KAAKF;4BAClD,IAAI,CAACC,KACH,OAAOJ,OAAO,CAACG,GAAG;4BAEpB,MAAMG,YAAYC,2BAA2BH,KAAKjB,cAAc,MAAM;4BACtE,OAAOmB,UAAUN,OAAO,CAACG,GAAG;wBAC9B;wBACA,OAAOD,UAAU,IAAI,CAACM;oBACxB;gBACF;gBACA,SAASC,uBACPhB,SAAS,OAAO,IAAI,EAAE,EACtBA,SAAS,KAAK,IAAI,EAAE,EACpBJ,UACAN,QAAQ,QAAQ,EAChBe,YACAJ,gBAAgB,MAAM,GAAG;YAE7B;QACF;QACA,OAAOR;IACT;AAGK,MAAMwB,kBAAkC,CAAC1B,MAAMC;IACpD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEM,SAAS,EAAE,GAAGJ;IACtB,MAAMQ,aAAaR,cAAc,MAAM,CAACI,UAAU;IAClD,MAAM,EAAEK,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGD;IAEvCT,OAAO,OAAO,GAAG;QACf,OAAOyB,gBAAgBf;QACvB,eAAegB;IACjB;IACA,OAAO1B;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipElement.js","sources":["
|
|
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\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":["
|
|
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 { createFormatterByDimension, createFormatterByMeasure, 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, vseed.measures as 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 const formatter = createFormatterByDimension(item, locale)\n return datum ? formatter(datum[item.id] as string | number) : ''\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","updateTooltipElement","measures","dims","uniqueBy","item","meas","dimContent","v","datum","formatter","createFormatterByDimension","meaContent","id","ORIGINAL_DATA","originalData","value","measure","findMeasureById","createFormatterByMeasure","foldMeaContent","measureId","foldMap","measureValue"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipHierarchy.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipHierarchy.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/tooltip/tooltipHierarchy.ts"],"sourcesContent":["import type {\n Datum,\n FoldInfo,\n HierarchyDimension,\n HierarchyMeasure,\n Locale,\n UnfoldInfo,\n VChartSpecPipe,\n} from 'src/types'\nimport { tooltip as commonTooltip } from './tooltip'\nimport { pipe, uniqueBy } from 'remeda'\nimport { createFormatterByDimension, createFormatterByMeasure, findMeasureById } from 'src/pipeline/utils'\n\nexport const tooltipHierarchy: VChartSpecPipe = (spec, context) => {\n // Reuse common tooltip logic\n const result = commonTooltip()(spec, context)\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo, dimensions = [], encoding } = advancedVSeed\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0]\n\n if (result.tooltip) {\n if (!result.tooltip.mark) {\n result.tooltip.mark = {}\n }\n\n result.tooltip.mark = {\n title: {\n visible: true,\n value: (val: any) => {\n return val?.datum?.map((data: any) => data.name).join(' / ')\n },\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions as HierarchyDimension[],\n vseed.measures as HierarchyMeasure[],\n foldInfo,\n unfoldInfo,\n advancedVSeed.locale,\n ),\n }\n }\n\n return result\n}\n\nconst createMarkContent = (\n tooltip: string[],\n dimensions: HierarchyDimension[] = [],\n measures: HierarchyMeasure[] = [],\n foldInfo: FoldInfo,\n unfoldInfo: UnfoldInfo,\n locale?: Locale,\n) => {\n const dims = pipe(\n dimensions.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item: HierarchyDimension) => item.id),\n uniqueBy((item: HierarchyDimension) => item.alias),\n uniqueBy((item: HierarchyDimension) => item.alias),\n )\n const meas = pipe(\n measures.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item: HierarchyMeasure) => item.id),\n uniqueBy((item: HierarchyMeasure) => item.alias),\n )\n\n const dimContent = dims.map((item: HierarchyDimension) => ({\n visible: (datum: Datum) => {\n return !!datum[item.id]\n },\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 const formatter = createFormatterByDimension(item, locale)\n return datum ? formatter(datum[item.id] as string | number) : ''\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 const meaContent = meas.map((item: HierarchyMeasure) => ({\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) {\n return ''\n }\n const value = datum[id] as string | number\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }))\n\n return [...dimContent, defaultContent, ...meaContent] as object[]\n}\n"],"names":["tooltipHierarchy","spec","context","result","commonTooltip","advancedVSeed","vseed","datasetReshapeInfo","dimensions","encoding","foldInfo","unfoldInfo","val","data","createMarkContent","tooltip","measures","locale","dims","pipe","item","uniqueBy","meas","dimContent","datum","v","formatter","createFormatterByDimension","defaultContent","measureName","colorName","measureId","measureValue","value","id","measure","findMeasureById","String","createFormatterByMeasure","meaContent"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js","sources":["
|
|
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,aAAa,EAAE,EAAEC,QAAQ,EAAE,GAAGH;IACjD,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":["
|
|
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 { createFormatterByDimension, createFormatterByMeasure, 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(encoding.tooltip || [], dimensions, vseed.measures as Measures, locale, foldInfoList),\n updateContent: (prev: Datum[] = []) => {\n return uniqueBy(prev, (entry) => `${String(entry.key)}::${String(entry.value)}`)\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 const formatter = createFormatterByDimension(item, locale)\n return datum ? formatter(datum[item.id] as string | number) : ''\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: (v: unknown) => {\n const { measureId, foldMap } = foldInfo\n\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const id = datum[measureId] as string\n\n return foldMap[id] ?? id\n },\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","prev","uniqueBy","entry","String","updateTooltipElement","measures","dims","item","meas","dimContent","v","datum","formatter","createFormatterByDimension","meaContent","id","ORIGINAL_DATA","originalData","value","measure","findMeasureById","createFormatterByMeasure","foldMeaContent","foldInfo","measureId","foldMap","measureValue"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipStyle.js","sources":["
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipTreeMap.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipTreeMap.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/tooltip/tooltipTreeMap.ts"],"sourcesContent":["import type {\n Datum,\n FoldInfo,\n HierarchyDimension,\n HierarchyMeasure,\n Locale,\n UnfoldInfo,\n VChartSpecPipe,\n} from 'src/types'\nimport { tooltip as commonTooltip } from './tooltip'\nimport { pipe, uniqueBy } from 'remeda'\nimport { createFormatterByDimension, createFormatterByMeasure, findMeasureById } from 'src/pipeline/utils'\n\nexport const tooltipTreeMap: VChartSpecPipe = (spec, context) => {\n // Reuse common tooltip logic\n const result = commonTooltip()(spec, context)\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo, dimensions = [], encoding } = advancedVSeed\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0]\n\n if (result.tooltip) {\n if (!result.tooltip.mark) {\n result.tooltip.mark = {}\n }\n const formatterList = (encoding.hierarchy || []).map((id) => {\n const dim = dimensions.find((item) => item.id === id)\n return createFormatterByDimension(dim, advancedVSeed.locale)\n })\n\n result.tooltip.mark = {\n title: {\n visible: true,\n value: (val: any) => {\n return val?.datum\n ?.map((data: any, index: number) => {\n if (formatterList[index]) {\n return formatterList[index](data.name)\n }\n return data.name\n })\n .join(' / ')\n },\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions as HierarchyDimension[],\n vseed.measures as HierarchyMeasure[],\n foldInfo,\n unfoldInfo,\n advancedVSeed.locale,\n ),\n }\n }\n\n return result\n}\n\nconst createMarkContent = (\n tooltip: string[],\n dimensions: HierarchyDimension[] = [],\n measures: HierarchyMeasure[] = [],\n foldInfo: FoldInfo,\n unfoldInfo: UnfoldInfo,\n locale?: Locale,\n) => {\n const dims = pipe(\n dimensions.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item: HierarchyDimension) => item.id),\n uniqueBy((item: HierarchyDimension) => item.alias),\n uniqueBy((item: HierarchyDimension) => item.alias),\n )\n const meas = pipe(\n measures.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item: HierarchyMeasure) => item.id),\n uniqueBy((item: HierarchyMeasure) => item.alias),\n )\n\n const dimContent = dims.map((item: HierarchyDimension) => ({\n visible: (v: Datum) => {\n const { depth } = v\n const datum = v?.datum[depth] as Datum\n return !!datum[item.id]\n },\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: Datum) => {\n const { depth } = v\n const datum = v?.datum[depth] 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: Datum) => {\n const { depth } = v\n const datum = v?.datum[depth] as Datum\n const formatter = createFormatterByDimension(item, locale)\n return datum ? formatter(datum[item.id] as string | number) : ''\n },\n }))\n\n const defaultContent = {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: Datum) => {\n const { depth } = v\n const datum = v?.datum[depth] as Datum\n\n const { measureName } = foldInfo\n const { encodingColor: colorName } = unfoldInfo\n\n return (datum && (datum[measureName || colorName] as string)) || ''\n },\n value: (v: Datum) => {\n const { depth } = v\n const datum = v?.datum[depth] as Datum\n\n const { measureId, measureValue } = foldInfo\n\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 const meaContent = meas.map((item: HierarchyMeasure) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias || item.id,\n value: (v: Datum) => {\n const { depth } = v\n const datum = v?.datum[depth] as Datum\n\n if (!datum) {\n return ''\n }\n const id = item.id\n if (!datum) {\n return ''\n }\n const value = datum[id] as string | number\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }))\n\n return [...dimContent, defaultContent, ...meaContent] as object[]\n}\n"],"names":["tooltipTreeMap","spec","context","result","commonTooltip","advancedVSeed","vseed","datasetReshapeInfo","dimensions","encoding","foldInfo","unfoldInfo","formatterList","id","dim","item","createFormatterByDimension","val","data","index","createMarkContent","tooltip","measures","locale","dims","pipe","uniqueBy","meas","dimContent","v","depth","datum","formatter","defaultContent","measureName","colorName","measureId","measureValue","value","measure","findMeasureById","String","createFormatterByMeasure","meaContent"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/utils/condition.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/utils/condition.js","sources":["../../../../../../src/pipeline/spec/chart/utils/condition.ts"],"sourcesContent":["import type { SpecPipelineContext, SpecPipe } from 'src/types'\n\nexport type Condition = (context: SpecPipelineContext) => boolean\n\nexport const condition = <T extends SpecPipe>(condition: Condition, truePipe: T, falsePipe: T): T => {\n return ((spec: any, context: SpecPipelineContext) => {\n if (condition(context)) {\n return truePipe(spec, context)\n }\n return falsePipe(spec, context)\n }) as T\n}\n"],"names":["condition","truePipe","falsePipe","spec","context"],"mappings":"AAIO,MAAMA,sBAAY,CAAqBA,WAAsBC,UAAaC,YACvE,CAACC,MAAWC;QAClB,IAAIJ,UAAUI,UACZ,OAAOH,SAASE,MAAMC;QAExB,OAAOF,UAAUC,MAAMC;IACzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/utils/histogram.js","sources":["
|
|
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,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export { pivotTableSpecPipeline, tableSpecPipeline };
|
|
1
|
+
export { tableSpecPipeline } from "./table.js";
|
|
2
|
+
export { pivotTableSpecPipeline } from "./pivotTable.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/table/pipeline/pivotTable.js","sources":["
|
|
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 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 pivotIndicators,\n titleOnDimension,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n tableThemeStyle,\n selectionStyle,\n dataConfig,\n pivotTableBodyCell,\n]\n"],"names":["pivotTableSpecPipeline","initPivotTable","pivotColumns","pivotRows","pivotIndicators","titleOnDimension","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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/table/pipeline/table.js","sources":["
|
|
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 columnsAggregation,\n bodyStyle,\n headerStyle,\n bottomFrozenStyle,\n tableThemeStyle,\n selectionStyle,\n tableBodyCell,\n} from '../pipes'\n\nexport const tableSpecPipeline: SpecPipeline = [\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n columnsAggregation,\n bodyStyle,\n headerStyle,\n bottomFrozenStyle,\n tableThemeStyle,\n selectionStyle,\n tableBodyCell,\n]\n"],"names":["tableSpecPipeline","initTable","dimensionTreeToColumns","measureTreeToColumns","columnsAggregation","bodyStyle","headerStyle","bottomFrozenStyle","tableThemeStyle","selectionStyle","tableBodyCell"],"mappings":";AAcO,MAAMA,oBAAkC;IAC7CC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/table/pipes/cellStyle/common.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/spec/table/pipes/cellStyle/common.js","sources":["../../../../../../../src/pipeline/spec/table/pipes/cellStyle/common.ts"],"sourcesContent":["import { isArray, isNullish } from 'remeda'\nimport tinycolor from 'tinycolor2'\nimport { InnerRowIndex } from 'src/dataReshape'\nimport type { BodyCellStyle, Datum, TotalType } from 'src/types'\n\nconst tableStyleMap = {\n backgroundColor: 'bgColor',\n textColor: 'color',\n textFontSize: 'fontSize',\n borderColor: 'borderColor',\n borderLineWidth: 'borderLineWidth',\n barPositiveColor: 'barPositiveColor',\n barNegativeColor: 'barNegativeColor',\n}\n\n/**\n * 计算线性颜色映射(使用 tinycolor2)\n * @param value 实际值\n * @param minValue 最小值\n * @param maxValue 最大值\n * @param minColor 最小值颜色\n * @param maxColor 最大值颜色\n * @returns RGB 颜色字符串\n */\nexport const interpolateColor = (\n value: number,\n minValue: number,\n maxValue: number,\n minColor: string,\n maxColor: string,\n): string => {\n const startColor = tinycolor(minColor).toRgb()\n const endColor = tinycolor(maxColor).toRgb()\n\n // 归一化值到 [0, 1]\n const normalized = (value - minValue) / (maxValue - minValue)\n const t = Math.max(0, Math.min(1, normalized))\n\n // 线性插值\n const r = Math.round(startColor.r + (endColor.r - startColor.r) * t)\n const g = Math.round(startColor.g + (endColor.g - startColor.g) * t)\n const b = Math.round(startColor.b + (endColor.b - startColor.b) * t)\n\n return `rgb(${r}, ${g}, ${b})`\n}\n\n/**\n * 从 bodyCellStyle 提取要应用到单元格的样式\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\n/**\n * 计算数据列的最小值和最大值\n */\nexport const getColumnMinMax = (\n allData: Datum[],\n field: string,\n totalAggregation?: TotalType,\n): { min: number; max: number } => {\n let min = Infinity\n let max = -Infinity\n let sum = 0\n let count = 0\n\n const hasTotal = !!totalAggregation\n const aggregationType: TotalType = typeof totalAggregation === 'string' ? totalAggregation : 'sum'\n\n for (const datum of allData) {\n const value = Number(datum[field])\n if (!Number.isNaN(value)) {\n min = Math.min(min, value)\n max = Math.max(max, value)\n sum += value\n count += 1\n }\n }\n\n const baseMin = min === Infinity ? 0 : min\n const baseMax = max === -Infinity ? 0 : max\n\n if (!hasTotal) {\n return {\n min: baseMin,\n max: baseMax,\n }\n }\n\n const total = (() => {\n switch (aggregationType) {\n case 'avg':\n return count ? sum / count : 0\n case 'max':\n return baseMax\n case 'min':\n return baseMin\n case 'count':\n return count\n case 'sum':\n default:\n return sum\n }\n })()\n\n return {\n min: Math.min(baseMin, total),\n max: Math.max(baseMax, total),\n }\n}\n\n/**\n * 应用 scale 颜色映射\n */\nexport const applyColorScale = (\n value: any,\n scale: { minValue: number; maxValue: number; minColor: string; maxColor: string } | undefined,\n): string | undefined => {\n if (!scale) return undefined\n\n const numValue = Number(value)\n if (Number.isNaN(numValue) || isNullish(value)) return undefined\n\n const minValue = scale.minValue\n const maxValue = scale.maxValue\n\n if (minValue === maxValue) {\n return scale.minColor\n }\n\n return interpolateColor(numValue, minValue, maxValue, scale.minColor, scale.maxColor)\n}\n\nexport const getCellOriginalDataByDatum = (datum: any, hasDynamicFilter: boolean, originalDatum: Datum) => {\n const tableInstance = datum?.table\n let originRowData =\n tableInstance && hasDynamicFilter ? tableInstance?.getCellOriginRecord(datum?.col, datum?.row) : null\n if (originRowData && isArray(originRowData)) {\n originRowData = originRowData[0]\n }\n return originRowData\n ? {\n ...originalDatum,\n [InnerRowIndex]: originRowData?.[InnerRowIndex], // 内部行号字段\n }\n : null\n}\n"],"names":["tableStyleMap","interpolateColor","value","minValue","maxValue","minColor","maxColor","startColor","tinycolor","endColor","normalized","t","Math","r","g","b","pickBodyCellStyle","bodyCellStyle","Object","acc","key","getColumnMinMax","allData","field","totalAggregation","min","Infinity","max","sum","count","hasTotal","aggregationType","datum","Number","baseMin","baseMax","total","applyColorScale","scale","numValue","isNullish","getCellOriginalDataByDatum","hasDynamicFilter","originalDatum","tableInstance","originRowData","isArray","InnerRowIndex"],"mappings":"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"}
|