@visactor/vseed 0.1.36 → 0.1.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/builder/builder/buildAdvanced.js +1 -1
- package/dist/esm/builder/builder/buildAdvanced.js.map +1 -1
- package/dist/esm/builder/builder/builder.d.ts +4183 -965
- package/dist/esm/builder/register/all.js +3 -1
- package/dist/esm/builder/register/all.js.map +1 -1
- package/dist/esm/builder/register/chartType/boxplot.d.ts +1 -0
- package/dist/esm/builder/register/chartType/boxplot.js +9 -0
- package/dist/esm/builder/register/chartType/boxplot.js.map +1 -0
- package/dist/esm/builder/register/chartType/histogram.d.ts +1 -0
- package/dist/esm/builder/register/chartType/histogram.js +9 -0
- package/dist/esm/builder/register/chartType/histogram.js.map +1 -0
- package/dist/esm/builder/register/chartType/index.d.ts +2 -0
- package/dist/esm/builder/register/chartType/index.js +3 -1
- package/dist/esm/dataReshape/constant.d.ts +10 -0
- package/dist/esm/dataReshape/constant.js +11 -1
- package/dist/esm/dataReshape/constant.js.map +1 -1
- package/dist/esm/dataReshape/unfoldDimensions.js +2 -2
- package/dist/esm/dataReshape/unfoldDimensions.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js +33 -0
- package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipeline/histogram.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js +34 -0
- package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipeline/index.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipeline/index.js +3 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/boxplot.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/config/boxplot.js +31 -0
- package/dist/esm/pipeline/advanced/chart/pipes/config/boxplot.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/config/column.js +3 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js +4 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js +33 -0
- package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/config/index.d.ts +3 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/index.js +3 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/index.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.d.ts +3 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js +80 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.d.ts +3 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js +78 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/index.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/index.js +3 -1
- package/dist/esm/pipeline/advanced/chart/pipes/index.d.ts +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/index.js +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasures.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/index.d.ts +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/index.js +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/regressionLine.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/regressionLine.js +8 -0
- package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/regressionLine.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/index.d.ts +4 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/index.js +5 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js +96 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js +96 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js +84 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js +86 -0
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipeline/bar.js +2 -2
- package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js +2 -1
- package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/boxplot.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js +52 -0
- package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipeline/column.js +2 -1
- package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js +2 -1
- package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js +13 -1
- package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/histogram.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipeline/histogram.js +52 -0
- package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipeline/index.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipeline/index.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPoint.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.js +14 -0
- package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.js +14 -0
- package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/barWidth/index.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/barWidth/index.js +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.js +18 -0
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.js +18 -0
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/dataset/index.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/dataset/index.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/progressive.js +4 -8
- package/dist/esm/pipeline/spec/chart/pipes/dataset/progressive.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/index.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/index.js +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js +37 -0
- package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/init/histogram.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/init/histogram.js +21 -0
- package/dist/esm/pipeline/spec/chart/pipes/init/histogram.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/init/index.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/init/index.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/label.d.ts +15 -4
- package/dist/esm/pipeline/spec/chart/pipes/label/label.js +2 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/label.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/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/pointState.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 +37 -14
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.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/regressionLine/histogramRegressionLine.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/histogramRegressionLine.js +126 -0
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/histogramRegressionLine.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/index.d.ts +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/index.js +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/stack/stackCornerRadius.js +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/stack/stackCornerRadius.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/index.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/index.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js +98 -0
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js +69 -0
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js.map +1 -0
- package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js +1 -2
- 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/theme/bodyStyle.js +1 -0
- package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.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/spec/table/pipes/theme/type.d.ts +13 -0
- package/dist/esm/pipeline/spec/table/pipes/theme/type.js +0 -0
- package/dist/esm/pipeline/utils/constant.d.ts +2 -0
- package/dist/esm/pipeline/utils/constant.js +3 -1
- package/dist/esm/pipeline/utils/constant.js.map +1 -1
- package/dist/esm/theme/common/annotaion.d.ts +3 -0
- package/dist/esm/theme/common/annotaion.js +33 -49
- package/dist/esm/theme/common/annotaion.js.map +1 -1
- package/dist/esm/theme/common/label.d.ts +18 -0
- package/dist/esm/theme/common/label.js +9 -1
- package/dist/esm/theme/common/label.js.map +1 -1
- package/dist/esm/theme/common/regressionLine.d.ts +4 -0
- package/dist/esm/theme/common/regressionLine.js +16 -0
- package/dist/esm/theme/common/regressionLine.js.map +1 -0
- package/dist/esm/theme/common/table.d.ts +17 -8
- package/dist/esm/theme/common/table.js +11 -8
- package/dist/esm/theme/common/table.js.map +1 -1
- package/dist/esm/theme/dark/dark.js +20 -2
- package/dist/esm/theme/dark/dark.js.map +1 -1
- package/dist/esm/theme/light/light.js +20 -2
- package/dist/esm/theme/light/light.js.map +1 -1
- package/dist/esm/types/advancedVSeed.d.ts +1453 -17
- package/dist/esm/types/advancedVSeed.js +3 -2
- package/dist/esm/types/advancedVSeed.js.map +1 -1
- package/dist/esm/types/chartType/area/zArea.d.ts +9 -0
- package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +9 -0
- package/dist/esm/types/chartType/bar/bar.d.ts +5 -1
- package/dist/esm/types/chartType/bar/zBar.d.ts +10 -0
- package/dist/esm/types/chartType/bar/zBar.js +2 -1
- package/dist/esm/types/chartType/bar/zBar.js.map +1 -1
- package/dist/esm/types/chartType/barParallel/barParallel.d.ts +9 -1
- package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +11 -0
- package/dist/esm/types/chartType/barParallel/zBarParallel.js +3 -1
- package/dist/esm/types/chartType/barParallel/zBarParallel.js.map +1 -1
- package/dist/esm/types/chartType/barPercent/barPercent.d.ts +5 -1
- package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +10 -0
- package/dist/esm/types/chartType/barPercent/zBarPercent.js +2 -1
- package/dist/esm/types/chartType/barPercent/zBarPercent.js.map +1 -1
- package/dist/esm/types/chartType/boxplot/boxplot.d.ts +144 -0
- package/dist/esm/types/chartType/boxplot/boxplot.js +0 -0
- package/dist/esm/types/chartType/boxplot/index.d.ts +2 -0
- package/dist/esm/types/chartType/boxplot/index.js +1 -0
- package/dist/esm/types/chartType/boxplot/zBoxplot.d.ts +1185 -0
- package/dist/esm/types/chartType/boxplot/zBoxplot.js +30 -0
- package/dist/esm/types/chartType/boxplot/zBoxplot.js.map +1 -0
- package/dist/esm/types/chartType/column/column.d.ts +5 -1
- package/dist/esm/types/chartType/column/zColumn.d.ts +26 -0
- package/dist/esm/types/chartType/column/zColumn.js +4 -1
- package/dist/esm/types/chartType/column/zColumn.js.map +1 -1
- package/dist/esm/types/chartType/columnParallel/columnParallel.d.ts +9 -1
- package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +11 -0
- package/dist/esm/types/chartType/columnParallel/zColumnParallel.js +3 -1
- package/dist/esm/types/chartType/columnParallel/zColumnParallel.js.map +1 -1
- package/dist/esm/types/chartType/columnPercent/columnPercent.d.ts +5 -1
- package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +10 -0
- package/dist/esm/types/chartType/columnPercent/zColumnPercent.js +2 -1
- package/dist/esm/types/chartType/columnPercent/zColumnPercent.js.map +1 -1
- package/dist/esm/types/chartType/donut/zDonut.d.ts +9 -0
- package/dist/esm/types/chartType/dualAxis/dualAxis.d.ts +9 -1
- package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +2 -0
- package/dist/esm/types/chartType/dualAxis/zDualAxis.js +3 -1
- package/dist/esm/types/chartType/dualAxis/zDualAxis.js.map +1 -1
- package/dist/esm/types/chartType/funnel/zFunnel.d.ts +9 -0
- package/dist/esm/types/chartType/histogram/histogram.d.ts +127 -0
- package/dist/esm/types/chartType/histogram/histogram.js +0 -0
- package/dist/esm/types/chartType/histogram/index.d.ts +2 -0
- package/dist/esm/types/chartType/histogram/index.js +1 -0
- package/dist/esm/types/chartType/histogram/zHistogram.d.ts +1377 -0
- package/dist/esm/types/chartType/histogram/zHistogram.js +32 -0
- package/dist/esm/types/chartType/histogram/zHistogram.js.map +1 -0
- package/dist/esm/types/chartType/index.d.ts +3 -0
- package/dist/esm/types/chartType/index.js +2 -0
- package/dist/esm/types/chartType/line/zLine.d.ts +9 -0
- package/dist/esm/types/chartType/pie/zPie.d.ts +9 -0
- package/dist/esm/types/chartType/radar/zRadar.d.ts +9 -0
- package/dist/esm/types/chartType/rose/zRose.d.ts +9 -0
- package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +9 -0
- package/dist/esm/types/chartType/scatter/zScatter.d.ts +9 -0
- package/dist/esm/types/properties/chartType/chartType.d.ts +3 -1
- package/dist/esm/types/properties/chartType/chartType.js +3 -1
- package/dist/esm/types/properties/chartType/chartType.js.map +1 -1
- package/dist/esm/types/properties/config/area.d.ts +4 -0
- package/dist/esm/types/properties/config/bar.d.ts +6 -0
- package/dist/esm/types/properties/config/barWidth/index.d.ts +5 -0
- package/dist/esm/types/properties/config/barWidth/index.js +6 -0
- package/dist/esm/types/properties/config/barWidth/index.js.map +1 -0
- package/dist/esm/types/properties/config/boxplot.d.ts +326 -0
- package/dist/esm/types/properties/config/boxplot.js +27 -0
- package/dist/esm/types/properties/config/boxplot.js.map +1 -0
- package/dist/esm/types/properties/config/column.d.ts +12 -0
- package/dist/esm/types/properties/config/column.js +3 -0
- package/dist/esm/types/properties/config/column.js.map +1 -1
- package/dist/esm/types/properties/config/config.d.ts +703 -0
- package/dist/esm/types/properties/config/config.js +5 -1
- package/dist/esm/types/properties/config/config.js.map +1 -1
- package/dist/esm/types/properties/config/dualAxis.d.ts +2 -0
- package/dist/esm/types/properties/config/funnel.d.ts +2 -0
- package/dist/esm/types/properties/config/heatmap.d.ts +2 -0
- package/dist/esm/types/properties/config/histogram.d.ts +339 -0
- package/dist/esm/types/properties/config/histogram.js +32 -0
- package/dist/esm/types/properties/config/histogram.js.map +1 -0
- package/dist/esm/types/properties/config/index.d.ts +2 -0
- package/dist/esm/types/properties/config/index.js +2 -0
- package/dist/esm/types/properties/config/label/label.d.ts +4 -0
- package/dist/esm/types/properties/config/line.d.ts +2 -0
- package/dist/esm/types/properties/config/pie.d.ts +6 -0
- package/dist/esm/types/properties/config/pivotGrid/pivotGrid.d.ts +2 -0
- package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js +3 -1
- package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js.map +1 -1
- package/dist/esm/types/properties/config/rose.d.ts +4 -0
- package/dist/esm/types/properties/config/scatter.d.ts +2 -0
- package/dist/esm/types/properties/config/whiskers/index.d.ts +3 -0
- package/dist/esm/types/properties/config/whiskers/index.js +5 -0
- package/dist/esm/types/properties/config/whiskers/index.js.map +1 -0
- package/dist/esm/types/properties/encoding/encoding.d.ts +36 -0
- package/dist/esm/types/properties/encoding/measureEncoding.d.ts +1 -1
- package/dist/esm/types/properties/encoding/zEncoding.d.ts +9 -0
- package/dist/esm/types/properties/encoding/zEncoding.js +10 -1
- package/dist/esm/types/properties/encoding/zEncoding.js.map +1 -1
- package/dist/esm/types/properties/index.d.ts +1 -0
- package/dist/esm/types/properties/index.js +1 -0
- package/dist/esm/types/properties/regressionLine/histogramRegressionLine.d.ts +45 -0
- package/dist/esm/types/properties/regressionLine/histogramRegressionLine.js +0 -0
- package/dist/esm/types/properties/regressionLine/index.d.ts +2 -0
- package/dist/esm/types/properties/regressionLine/index.js +1 -0
- package/dist/esm/types/properties/regressionLine/zHistogramRegressionLine.d.ts +11 -0
- package/dist/esm/types/properties/regressionLine/zHistogramRegressionLine.js +17 -0
- package/dist/esm/types/properties/regressionLine/zHistogramRegressionLine.js.map +1 -0
- package/dist/esm/types/properties/theme/customTheme.d.ts +1950 -544
- package/dist/esm/types/vseed.d.ts +2 -2
- package/dist/esm/types/zVseed.d.ts +2727 -0
- package/dist/esm/types/zVseed.js +4 -2
- package/dist/esm/types/zVseed.js.map +1 -1
- package/dist/umd/index.js +1850 -208
- package/dist/umd/index.js.map +1 -1
- package/package.json +6 -4
|
@@ -14,6 +14,8 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
14
14
|
const headerBackgroundColor = themConfig.headerBackgroundColor ?? 'rgba(0,0,0,0)';
|
|
15
15
|
const hoverHeaderBackgroundColor = onlyCombination ? transparent : themConfig.hoverHeaderBackgroundColor ?? '#D9DDE4';
|
|
16
16
|
const hoverHeaderInlineBackgroundColor = onlyCombination ? transparent : themConfig.hoverHeaderInlineBackgroundColor ?? '#D9DDE455';
|
|
17
|
+
const outlineBorderLineWidth = themConfig.outlineBorderLineWidth ?? 0;
|
|
18
|
+
const frameCornerRadius = themConfig.frameCornerRadius ?? 0;
|
|
17
19
|
return {
|
|
18
20
|
...result,
|
|
19
21
|
theme: {
|
|
@@ -23,8 +25,8 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
23
25
|
color: bodyFontColor,
|
|
24
26
|
borderLineWidth: [
|
|
25
27
|
1,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
outlineBorderLineWidth,
|
|
29
|
+
0,
|
|
28
30
|
1
|
|
29
31
|
],
|
|
30
32
|
bgColor: transparent,
|
|
@@ -35,7 +37,12 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
35
37
|
headerStyle: {
|
|
36
38
|
borderColor,
|
|
37
39
|
fontSize: 12,
|
|
38
|
-
borderLineWidth:
|
|
40
|
+
borderLineWidth: [
|
|
41
|
+
outlineBorderLineWidth,
|
|
42
|
+
outlineBorderLineWidth,
|
|
43
|
+
1,
|
|
44
|
+
1
|
|
45
|
+
],
|
|
39
46
|
color: headerFontColor,
|
|
40
47
|
textAlign: 'center',
|
|
41
48
|
bgColor: headerBackgroundColor,
|
|
@@ -49,7 +56,12 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
49
56
|
borderColor,
|
|
50
57
|
fontSize: 12,
|
|
51
58
|
color: headerFontColor,
|
|
52
|
-
borderLineWidth:
|
|
59
|
+
borderLineWidth: [
|
|
60
|
+
1,
|
|
61
|
+
1,
|
|
62
|
+
1,
|
|
63
|
+
outlineBorderLineWidth
|
|
64
|
+
],
|
|
53
65
|
bgColor: headerBackgroundColor,
|
|
54
66
|
hover: {
|
|
55
67
|
cellBgColor: hoverHeaderBackgroundColor,
|
|
@@ -63,15 +75,20 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
63
75
|
fontSize: 12,
|
|
64
76
|
color: headerFontColor,
|
|
65
77
|
fontWeight: 'bold',
|
|
66
|
-
borderLineWidth:
|
|
78
|
+
borderLineWidth: [
|
|
79
|
+
outlineBorderLineWidth,
|
|
80
|
+
1,
|
|
81
|
+
1,
|
|
82
|
+
outlineBorderLineWidth
|
|
83
|
+
],
|
|
67
84
|
bgColor: headerBackgroundColor,
|
|
68
85
|
frameStyle: {
|
|
69
86
|
borderColor,
|
|
70
87
|
borderLineWidth: [
|
|
71
|
-
|
|
88
|
+
outlineBorderLineWidth,
|
|
72
89
|
0,
|
|
73
90
|
0,
|
|
74
|
-
|
|
91
|
+
outlineBorderLineWidth
|
|
75
92
|
]
|
|
76
93
|
},
|
|
77
94
|
hover: {
|
|
@@ -86,7 +103,7 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
86
103
|
frameStyle: {
|
|
87
104
|
borderColor,
|
|
88
105
|
borderLineWidth: [
|
|
89
|
-
|
|
106
|
+
outlineBorderLineWidth,
|
|
90
107
|
1,
|
|
91
108
|
0,
|
|
92
109
|
1
|
|
@@ -102,8 +119,8 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
102
119
|
borderLineWidth: [
|
|
103
120
|
1,
|
|
104
121
|
0,
|
|
105
|
-
|
|
106
|
-
|
|
122
|
+
outlineBorderLineWidth,
|
|
123
|
+
outlineBorderLineWidth
|
|
107
124
|
],
|
|
108
125
|
bgColor: headerBackgroundColor,
|
|
109
126
|
frameStyle: {
|
|
@@ -111,8 +128,8 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
111
128
|
borderLineWidth: [
|
|
112
129
|
1,
|
|
113
130
|
0,
|
|
114
|
-
|
|
115
|
-
|
|
131
|
+
outlineBorderLineWidth,
|
|
132
|
+
outlineBorderLineWidth
|
|
116
133
|
]
|
|
117
134
|
},
|
|
118
135
|
hover: {
|
|
@@ -146,7 +163,12 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
146
163
|
},
|
|
147
164
|
bottomFrozenStyle: {
|
|
148
165
|
borderColor,
|
|
149
|
-
borderLineWidth:
|
|
166
|
+
borderLineWidth: [
|
|
167
|
+
1,
|
|
168
|
+
outlineBorderLineWidth,
|
|
169
|
+
outlineBorderLineWidth,
|
|
170
|
+
1
|
|
171
|
+
],
|
|
150
172
|
bgColor: headerBackgroundColor,
|
|
151
173
|
hover: {
|
|
152
174
|
cellBgColor: hoverHeaderBackgroundColor
|
|
@@ -158,7 +180,8 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
158
180
|
},
|
|
159
181
|
frameStyle: {
|
|
160
182
|
borderColor,
|
|
161
|
-
cornerRadius:
|
|
183
|
+
cornerRadius: frameCornerRadius,
|
|
184
|
+
borderLineWidth: outlineBorderLineWidth
|
|
162
185
|
}
|
|
163
186
|
}
|
|
164
187
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { isCombination, isPivot } from 'src/pipeline/utils'\nimport type { Config, SpecPipe } from 'src/types'\n\nexport const pivotGridStyle: SpecPipe = (spec, context) => {\n const { vseed, advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n const onlyCombination = !isPivot(vseed) && isCombination(vseed)\n\n const result = { ...spec } as PivotChartConstructorOptions\n const transparent = 'rgba(0,0,0,0)'\n\n const borderColor = themConfig.borderColor ?? '#e3e5eb'\n const bodyFontColor = themConfig.bodyFontColor ?? '#141414'\n const headerFontColor = themConfig.headerFontColor ?? '#21252c'\n const headerBackgroundColor = themConfig.headerBackgroundColor ?? 'rgba(0,0,0,0)'\n const hoverHeaderBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderBackgroundColor ?? '#D9DDE4')\n const hoverHeaderInlineBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderInlineBackgroundColor ?? '#D9DDE455')\n\n return {\n ...result,\n theme: {\n underlayBackgroundColor: transparent,\n bodyStyle: {\n borderColor,\n color: bodyFontColor,\n borderLineWidth: [1,
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { isCombination, isPivot } from 'src/pipeline/utils'\nimport type { Config, SpecPipe } from 'src/types'\n\nexport const pivotGridStyle: SpecPipe = (spec, context) => {\n const { vseed, advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n const onlyCombination = !isPivot(vseed) && isCombination(vseed)\n\n const result = { ...spec } as PivotChartConstructorOptions\n const transparent = 'rgba(0,0,0,0)'\n\n const borderColor = themConfig.borderColor ?? '#e3e5eb'\n const bodyFontColor = themConfig.bodyFontColor ?? '#141414'\n const headerFontColor = themConfig.headerFontColor ?? '#21252c'\n const headerBackgroundColor = themConfig.headerBackgroundColor ?? 'rgba(0,0,0,0)'\n const hoverHeaderBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderBackgroundColor ?? '#D9DDE4')\n const hoverHeaderInlineBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderInlineBackgroundColor ?? '#D9DDE455')\n const outlineBorderLineWidth = themConfig.outlineBorderLineWidth ?? 0\n const frameCornerRadius = themConfig.frameCornerRadius ?? 0\n\n return {\n ...result,\n theme: {\n underlayBackgroundColor: transparent,\n bodyStyle: {\n borderColor,\n color: bodyFontColor,\n borderLineWidth: [1, outlineBorderLineWidth, 0, 1],\n bgColor: transparent,\n hover: {\n cellBgColor: 'transparent',\n },\n },\n headerStyle: {\n borderColor,\n fontSize: 12,\n borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n color: headerFontColor,\n textAlign: 'center',\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n rowHeaderStyle: {\n borderColor,\n fontSize: 12,\n color: headerFontColor,\n borderLineWidth: [1, 1, 1, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerHeaderStyle: {\n borderColor,\n textAlign: 'center',\n fontSize: 12,\n color: headerFontColor,\n fontWeight: 'bold',\n borderLineWidth: [outlineBorderLineWidth, 1, 1, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, 0, 0, outlineBorderLineWidth],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerRightTopCellStyle: {\n borderColor,\n borderLineWidth: 0,\n frameStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, 1, 0, 1],\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerLeftBottomCellStyle: {\n borderColor,\n borderLineWidth: [1, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightBottomCellStyle: {\n borderColor,\n borderLineWidth: 0,\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 1, 1, 1],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n rightFrozenStyle: {\n borderColor,\n borderLineWidth: 1,\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n bottomFrozenStyle: {\n borderColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n selectionStyle: {\n cellBgColor: '',\n cellBorderColor: '',\n },\n frameStyle: {\n borderColor,\n cornerRadius: frameCornerRadius,\n borderLineWidth: outlineBorderLineWidth,\n },\n },\n }\n}\n"],"names":["pivotGridStyle","spec","context","vseed","advancedVSeed","config","chartType","themConfig","onlyCombination","isPivot","isCombination","result","transparent","borderColor","bodyFontColor","headerFontColor","headerBackgroundColor","hoverHeaderBackgroundColor","hoverHeaderInlineBackgroundColor","outlineBorderLineWidth","frameCornerRadius","undefined"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../../utils'\nimport type { Dataset, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: SpecPipeline): SpecPipe =>\n (spec, context) => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, dataset } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const measure = measures?.find((d) => d.id === reshapeInfo.id)\n const newDataset = dataset[index] as Dataset\n const newDatasetReshapeInfo = [\n {\n ...reshapeInfo,\n unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems },\n },\n ]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n datasetReshapeInfo: newDatasetReshapeInfo,\n dataset: newDataset,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: reshapeInfo.id,\n title: measure?.alias,\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as PivotChartConstructorOptions
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../../utils'\nimport type { Dataset, SpecPipe, SpecPipeline, SpecPipelineContext } from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: SpecPipeline): SpecPipe =>\n (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo, dataset } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const measure = measures?.find((d) => d.id === reshapeInfo.id)\n const newDataset = dataset[index] as Dataset\n const newDatasetReshapeInfo = [\n {\n ...reshapeInfo,\n unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems },\n },\n ]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n datasetReshapeInfo: newDatasetReshapeInfo,\n dataset: newDataset,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: reshapeInfo.id,\n title: measure?.alias,\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as Partial<PivotChartConstructorOptions>\n }\n\nexport const pivotIndicatorsAsRow: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: SpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n"],"names":["pivotIndicators","chartPipeline","spec","context","result","advancedVSeed","measures","datasetReshapeInfo","dataset","colorItems","unique","d","indicators","reshapeInfo","index","measure","newDataset","newDatasetReshapeInfo","newContext","chartSpec","execPipeline","pivotIndicatorsAsRow","pivotIndicatorsAsCol"],"mappings":";;AAKO,MAAMA,kBACX,CAACC,gBACD,CAACC,MAAMC;QACL,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;QAC1B,MAAM,EAAEG,QAAQ,EAAEC,kBAAkB,EAAEC,OAAO,EAAE,GAAGH;QAElD,MAAMI,aAAaC,OAAOH,mBAAmB,OAAO,CAAC,CAACI,IAAMA,EAAE,UAAU,CAAC,UAAU;QAEnF,MAAMC,aAAaL,mBAAmB,GAAG,CAAC,CAACM,aAAaC;YACtD,MAAMC,UAAUT,UAAU,KAAK,CAACK,IAAMA,EAAE,EAAE,KAAKE,YAAY,EAAE;YAC7D,MAAMG,aAAaR,OAAO,CAACM,MAAM;YACjC,MAAMG,wBAAwB;gBAC5B;oBACE,GAAGJ,WAAW;oBACd,YAAY;wBAAE,GAAGA,YAAY,UAAU;wBAAEJ;oBAAW;gBACtD;aACD;YACD,MAAMS,aAAkC;gBACtC,GAAGf,OAAO;gBACV,eAAe;oBACb,GAAGE,aAAa;oBAChB,oBAAoBY;oBACpB,SAASD;gBACX;YACF;YAEA,MAAMG,YAAYC,aAAanB,eAAeiB,YAAY,CAAC;YAC3D,OAAO;gBACL,cAAcL,YAAY,EAAE;gBAC5B,OAAOE,SAAS;gBAChB,UAAU;gBACV,aAAa;gBACb,WAAWI;gBACX,OAAO;oBACL,SAAS;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBACvB;YACF;QACF;QAEA,OAAO;YACL,GAAGf,MAAM;YACT,YAAYQ;QACd;IACF;AAEK,MAAMS,uBAAiC,CAACnB;IAC7C,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF;AAEO,MAAMkB,uBAAiC,CAACpB;IAC7C,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type {
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport type { Dimensions, SpecPipe } from 'src/types'\n\nexport const pivotRowDimensions: SpecPipe = (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensions as Dimensions\n if (!dimensions) {\n return result\n }\n const rowDimensions = dimensions.filter((dim) => dim.encoding === 'row')\n const rows = rowDimensions.map((dim) => ({\n dimensionKey: dim.id,\n title: dim.alias || dim.id,\n }))\n return {\n ...result,\n rows: rows,\n } as Partial<PivotChartConstructorOptions>\n}\n"],"names":["pivotRowDimensions","spec","context","result","advancedVSeed","dimensions","rowDimensions","dim","rows"],"mappings":"AAGO,MAAMA,qBAA+B,CAACC,MAAMC;IACjD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAMG,aAAaD,cAAc,UAAU;IAC3C,IAAI,CAACC,YACH,OAAOF;IAET,MAAMG,gBAAgBD,WAAW,MAAM,CAAC,CAACE,MAAQA,AAAiB,UAAjBA,IAAI,QAAQ;IAC7D,MAAMC,OAAOF,cAAc,GAAG,CAAC,CAACC,MAAS;YACvC,cAAcA,IAAI,EAAE;YACpB,OAAOA,IAAI,KAAK,IAAIA,IAAI,EAAE;QAC5B;IACA,OAAO;QACL,GAAGJ,MAAM;QACT,MAAMK;IACR;AACF"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { isNullish, uniqueBy } from "remeda";
|
|
2
|
+
import { ecdf, kde } from "@visactor/vutils";
|
|
3
|
+
import { BinEndMeasureId, BinStartMeasureId } from "../../../../../dataReshape/index.js";
|
|
4
|
+
const getRegressionByType = (type, data, kdeOptions)=>{
|
|
5
|
+
switch(type){
|
|
6
|
+
case 'kde':
|
|
7
|
+
return kde(data, kdeOptions);
|
|
8
|
+
case 'ecdf':
|
|
9
|
+
return ecdf(data);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const histogramRegressionLine_histogramRegressionLine = (spec, context)=>{
|
|
13
|
+
const result = {
|
|
14
|
+
...spec
|
|
15
|
+
};
|
|
16
|
+
const { advancedVSeed, vseed } = context;
|
|
17
|
+
const { chartType, encoding = {}, dimensions, histogramRegressionLine } = advancedVSeed;
|
|
18
|
+
const { dataset } = vseed;
|
|
19
|
+
const theme = advancedVSeed.config[chartType]?.histogramRegressionLine;
|
|
20
|
+
if (!histogramRegressionLine) return result;
|
|
21
|
+
const rowColumnFields = uniqueBy(dimensions.filter((dim)=>'row' === dim.encoding || 'column' === dim.encoding), (item)=>item.id);
|
|
22
|
+
const lineList = Array.isArray(histogramRegressionLine) ? histogramRegressionLine : [
|
|
23
|
+
histogramRegressionLine
|
|
24
|
+
];
|
|
25
|
+
if (!result.customMark) result.customMark = [];
|
|
26
|
+
lineList.forEach((line)=>{
|
|
27
|
+
const { color, type, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } = line;
|
|
28
|
+
result.customMark.push({
|
|
29
|
+
type: 'line',
|
|
30
|
+
interactive: false,
|
|
31
|
+
zIndex: 500,
|
|
32
|
+
style: {
|
|
33
|
+
lineWidth: lineWidth ?? theme?.lineWidth,
|
|
34
|
+
lineDash: lineDash ?? theme?.lineDash,
|
|
35
|
+
stroke: color ?? ((datum, ctx)=>{
|
|
36
|
+
const vchart = ctx.vchart;
|
|
37
|
+
const chart = vchart.getChart();
|
|
38
|
+
const series = chart.getAllSeries().filter((s)=>'bar' === s.type);
|
|
39
|
+
return series.length ? series[0].getOption().globalScale.getScale('color')?.scale(series[0].getSeriesKeys()[0]) : void 0;
|
|
40
|
+
}),
|
|
41
|
+
points: (datum, ctx)=>{
|
|
42
|
+
const vchart = ctx.vchart;
|
|
43
|
+
const chart = vchart.getChart();
|
|
44
|
+
const series = chart.getAllSeries().filter((s)=>'bar' === s.type);
|
|
45
|
+
if (series && series.length) {
|
|
46
|
+
const s = series[0];
|
|
47
|
+
const region = s.getRegion().getLayoutStartPoint();
|
|
48
|
+
const fieldX = s.fieldX?.[0];
|
|
49
|
+
const scaleY = s.getYAxisHelper().getScale?.(0);
|
|
50
|
+
const viewData = s.getViewData()?.latestData;
|
|
51
|
+
if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) return;
|
|
52
|
+
const simpleData = dataset.filter((entry)=>rowColumnFields.length ? rowColumnFields.every((dim)=>entry[dim.id] === viewData[0][dim.id]) : true).map((d)=>d[encoding.value?.[0]]);
|
|
53
|
+
const res = getRegressionByType(type, simpleData, 'kde' === type ? {
|
|
54
|
+
bandwidth: Math.abs(viewData[0][BinEndMeasureId] - viewData[0][BinStartMeasureId])
|
|
55
|
+
} : void 0);
|
|
56
|
+
const N = Math.max(3, Math.floor(simpleData.length / 4));
|
|
57
|
+
const lineData = res.evaluateGrid(N);
|
|
58
|
+
const yRange = scaleY.range();
|
|
59
|
+
const y0 = yRange[0];
|
|
60
|
+
const y1 = yRange[yRange.length - 1];
|
|
61
|
+
const scaleR = 'kde' === type ? (k)=>scaleY.scale(k * simpleData.length * res.bandwidth) : (e)=>y0 + (y1 - y0) * e;
|
|
62
|
+
return lineData.map((ld)=>{
|
|
63
|
+
const d = {
|
|
64
|
+
[fieldX]: ld.x
|
|
65
|
+
};
|
|
66
|
+
return {
|
|
67
|
+
x: s.dataToPositionX(d) + region.x,
|
|
68
|
+
y: scaleR(ld.y) + region.y
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
if (!isNullish(text)) result.customMark.push({
|
|
77
|
+
type: 'text',
|
|
78
|
+
interactive: false,
|
|
79
|
+
zIndex: 500,
|
|
80
|
+
style: {
|
|
81
|
+
textAlign: 'end',
|
|
82
|
+
fill: textColor ?? theme?.textColor,
|
|
83
|
+
fontSize: textFontSize ?? theme?.textFontSize,
|
|
84
|
+
fontWeight: textFontWeight ?? theme?.textFontWeight,
|
|
85
|
+
text: text,
|
|
86
|
+
x: (datum, ctx)=>{
|
|
87
|
+
const vchart = ctx.vchart;
|
|
88
|
+
const chart = vchart.getChart();
|
|
89
|
+
const series = chart.getAllSeries().filter((s)=>'bar' === s.type);
|
|
90
|
+
if (series && series.length) {
|
|
91
|
+
const s = series[0];
|
|
92
|
+
const startPoint = s.getRegion().getLayoutStartPoint();
|
|
93
|
+
const fieldX = s.fieldX[0];
|
|
94
|
+
const fieldX2 = s.fieldX2;
|
|
95
|
+
const scaleY = s.getYAxisHelper().getScale?.(0);
|
|
96
|
+
const viewData = s.getViewData()?.latestData;
|
|
97
|
+
if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) return;
|
|
98
|
+
const maxX = Math.max.apply(null, viewData.map((d)=>Math.max(d[fieldX], d[fieldX2])));
|
|
99
|
+
return startPoint.x + s.dataToPositionX({
|
|
100
|
+
[fieldX]: maxX
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
y: (datum, ctx)=>{
|
|
105
|
+
const vchart = ctx.vchart;
|
|
106
|
+
const chart = vchart.getChart();
|
|
107
|
+
const series = chart.getAllSeries().filter((s)=>'bar' === s.type);
|
|
108
|
+
if (series && series.length) {
|
|
109
|
+
const s = series[0];
|
|
110
|
+
const startPoint = s.getRegion().getLayoutStartPoint();
|
|
111
|
+
const fieldY = s.fieldY[0];
|
|
112
|
+
const viewData = s.getViewData()?.latestData;
|
|
113
|
+
if (!viewData || !viewData.length) return;
|
|
114
|
+
return 'ecdf' === type ? startPoint.y + 12 : startPoint.y + s.dataToPositionY({
|
|
115
|
+
[fieldY]: viewData[viewData.length - 1]?.[fieldY]
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
return result;
|
|
123
|
+
};
|
|
124
|
+
export { histogramRegressionLine_histogramRegressionLine as histogramRegressionLine };
|
|
125
|
+
|
|
126
|
+
//# sourceMappingURL=histogramRegressionLine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/histogramRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/histogramRegressionLine.ts"],"sourcesContent":["import type { ICartesianSeries, IChart, IHistogramChartSpec, IVChart } from '@visactor/vchart'\nimport type { KDEEvaluator, KDEOptions } from '@visactor/vutils'\nimport { isNullish, uniqueBy } from 'remeda'\nimport { ecdf, kde } from '@visactor/vutils'\nimport { BinEndMeasureId, BinStartMeasureId } from 'src/dataReshape'\nimport type { Datum, Dimension, HistogramRegressionLine, SpecPipe, Encoding } from 'src/types'\n\nconst getRegressionByType = (type: 'kde' | 'ecdf', data: number[], kdeOptions?: KDEOptions) => {\n switch (type) {\n case 'kde':\n return kde(data, kdeOptions)\n case 'ecdf':\n return ecdf(data)\n }\n}\n\nexport const histogramRegressionLine: SpecPipe = (spec, context) => {\n const result = { ...spec } as IHistogramChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding = {} as Encoding, dimensions, histogramRegressionLine } = advancedVSeed\n const { dataset } = vseed\n const theme = advancedVSeed.config[chartType as 'histogram']?.histogramRegressionLine as HistogramRegressionLine\n\n if (!histogramRegressionLine) {\n return result\n }\n\n const rowColumnFields = uniqueBy(\n dimensions.filter((dim: Dimension) => dim.encoding === 'row' || dim.encoding === 'column'),\n (item: Dimension) => item.id,\n )\n const lineList = Array.isArray(histogramRegressionLine) ? histogramRegressionLine : [histogramRegressionLine]\n\n if (!result.customMark) {\n result.customMark = []\n }\n\n lineList.forEach((line) => {\n const { color, type, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } =\n line as HistogramRegressionLine\n\n ;(result.customMark as any[]).push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n style: {\n lineWidth: lineWidth ?? theme?.lineWidth,\n lineDash: lineDash ?? theme?.lineDash,\n stroke:\n color ??\n ((datum: Datum, ctx: any): string | undefined => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n return series.length\n ? series[0].getOption().globalScale.getScale('color')?.scale(series[0].getSeriesKeys()[0])\n : undefined\n }),\n points: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n const region = s.getRegion().getLayoutStartPoint()\n\n const fieldX = s.fieldX?.[0]\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return\n }\n const simpleData = dataset\n .filter((entry: Datum) => {\n return rowColumnFields.length\n ? rowColumnFields.every((dim: Dimension) => {\n return entry[dim.id] === viewData[0][dim.id]\n })\n : true\n })\n .map((d: Datum) => (d as any)[encoding.value?.[0] as string]) as number[]\n const res = getRegressionByType(\n type,\n simpleData,\n type === 'kde'\n ? ({\n bandwidth: Math.abs(viewData[0][BinEndMeasureId] - viewData[0][BinStartMeasureId]),\n } as KDEOptions)\n : undefined,\n )\n const N = Math.max(3, Math.floor(simpleData.length / 4))\n const lineData = res.evaluateGrid(N)\n const yRange = scaleY.range()\n const y0 = yRange[0]\n const y1 = yRange[yRange.length - 1]\n const scaleR =\n type === 'kde'\n ? (k: number) => {\n return scaleY.scale(k * simpleData.length * (res as KDEEvaluator).bandwidth)\n }\n : (e: number) => {\n return y0 + (y1 - y0) * e\n }\n\n //color: color ?? s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n\n return lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x }\n return {\n x: s.dataToPositionX(d)! + region.x,\n y: scaleR(ld.y as number) + region.y,\n }\n })\n }\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n ;(result.customMark as any[]).push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n style: {\n textAlign: 'end',\n fill: textColor ?? theme?.textColor,\n fontSize: textFontSize ?? theme?.textFontSize,\n fontWeight: textFontWeight ?? theme?.textFontWeight,\n text: text,\n x: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n const startPoint = s.getRegion().getLayoutStartPoint()\n\n const fieldX = s.fieldX[0]\n const fieldX2 = s.fieldX2\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return undefined\n }\n const maxX = Math.max.apply(\n null,\n (viewData as any[]).map((d: Datum) =>\n Math.max((d as any)[fieldX] as number, (d as any)[fieldX2] as number),\n ),\n )\n return startPoint.x + s.dataToPositionX({ [fieldX]: maxX })!\n }\n\n return undefined\n },\n y: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n const startPoint = s.getRegion().getLayoutStartPoint()\n\n const fieldY = s.fieldY[0]\n const viewData = s.getViewData()?.latestData\n if (!viewData || !viewData.length) {\n return undefined\n }\n return type === 'ecdf'\n ? startPoint.y + 12\n : startPoint.y + s.dataToPositionY({ [fieldY]: viewData[viewData.length - 1]?.[fieldY] })!\n }\n\n return undefined\n },\n },\n })\n }\n })\n\n return result\n}\n"],"names":["getRegressionByType","type","data","kdeOptions","kde","ecdf","histogramRegressionLine","spec","context","result","advancedVSeed","vseed","chartType","encoding","dimensions","dataset","theme","rowColumnFields","uniqueBy","dim","item","lineList","Array","line","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","datum","ctx","vchart","chart","series","s","undefined","region","fieldX","scaleY","viewData","simpleData","entry","d","res","Math","BinEndMeasureId","BinStartMeasureId","N","lineData","yRange","y0","y1","scaleR","k","e","ld","isNullish","startPoint","fieldX2","maxX","fieldY"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './histogramRegressionLine';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./histogramRegressionLine.js";
|
|
@@ -4,6 +4,7 @@ const stackCornerRadius_stackCornerRadius = (spec, context)=>{
|
|
|
4
4
|
const stackCornerRadius = advancedVSeed.config?.[chartType]?.stackCornerRadius;
|
|
5
5
|
const { datasetReshapeInfo } = advancedVSeed;
|
|
6
6
|
const { foldInfo } = datasetReshapeInfo[0];
|
|
7
|
+
if ('dualAxis' === chartType && 'bar' !== spec.type) return spec;
|
|
7
8
|
return {
|
|
8
9
|
...spec,
|
|
9
10
|
stackCornerRadius: (_, datum)=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/stack/stackCornerRadius.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/stack/stackCornerRadius.ts"],"sourcesContent":["import type { SpecPipe, StackCornerRadius } from 'src/types'\n\nexport const stackCornerRadius: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const stackCornerRadius = advancedVSeed.config?.[chartType as 'column']?.stackCornerRadius as StackCornerRadius\n const { datasetReshapeInfo } = advancedVSeed\n const { foldInfo } = datasetReshapeInfo[0]\n return {\n ...spec,\n stackCornerRadius: (_, datum) => {\n if (datum[foldInfo.measureValue] > 0) {\n return stackCornerRadius\n }\n\n return 0\n },\n }\n}\n"],"names":["stackCornerRadius","spec","context","advancedVSeed","vseed","chartType","datasetReshapeInfo","foldInfo","_","datum"],"mappings":"AAEO,MAAMA,sCAA8B,CAACC,MAAMC;IAChD,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGF;IACjC,MAAM,EAAEG,SAAS,EAAE,GAAGD;IACtB,MAAMJ,oBAAoBG,cAAc,MAAM,EAAE,CAACE,UAAsB,EAAE;IACzE,MAAM,EAAEC,kBAAkB,EAAE,GAAGH;IAC/B,MAAM,EAAEI,QAAQ,EAAE,GAAGD,kBAAkB,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/stack/stackCornerRadius.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/stack/stackCornerRadius.ts"],"sourcesContent":["import type { Datum, SpecPipe, StackCornerRadius } from 'src/types'\n\nexport const stackCornerRadius: SpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const stackCornerRadius = advancedVSeed.config?.[chartType as 'column']?.stackCornerRadius as StackCornerRadius\n const { datasetReshapeInfo } = advancedVSeed\n const { foldInfo } = datasetReshapeInfo[0]\n\n if (chartType === 'dualAxis' && (spec as any).type !== 'bar') {\n return spec\n }\n\n return {\n ...spec,\n stackCornerRadius: (_: unknown, datum: Datum) => {\n if (datum[foldInfo.measureValue] > 0) {\n return stackCornerRadius\n }\n\n return 0\n },\n }\n}\n"],"names":["stackCornerRadius","spec","context","advancedVSeed","vseed","chartType","datasetReshapeInfo","foldInfo","_","datum"],"mappings":"AAEO,MAAMA,sCAA8B,CAACC,MAAMC;IAChD,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGF;IACjC,MAAM,EAAEG,SAAS,EAAE,GAAGD;IACtB,MAAMJ,oBAAoBG,cAAc,MAAM,EAAE,CAACE,UAAsB,EAAE;IACzE,MAAM,EAAEC,kBAAkB,EAAE,GAAGH;IAC/B,MAAM,EAAEI,QAAQ,EAAE,GAAGD,kBAAkB,CAAC,EAAE;IAE1C,IAAID,AAAc,eAAdA,aAA6BJ,AAAsB,UAAtBA,KAAa,IAAI,EAChD,OAAOA;IAGT,OAAO;QACL,GAAGA,IAAI;QACP,mBAAmB,CAACO,GAAYC;YAC9B,IAAIA,KAAK,CAACF,SAAS,YAAY,CAAC,GAAG,GACjC,OAAOP;YAGT,OAAO;QACT;IACF;AACF"}
|
|
@@ -2,3 +2,5 @@ export { tooltip } from './tooltip';
|
|
|
2
2
|
export { tooltipPrimary, tooltipSecondary } from './tooltipDualAxis';
|
|
3
3
|
export { tooltipScatter } from './tooltipScatter';
|
|
4
4
|
export { tooltipHeatmap } from './tooltipHeatmap';
|
|
5
|
+
export { tooltipBoxplot } from './tooltipBoxplot';
|
|
6
|
+
export { tooltipHistogram } from './tooltipHistogram';
|
|
@@ -2,4 +2,6 @@ import { tooltip } from "./tooltip.js";
|
|
|
2
2
|
import { tooltipPrimary, tooltipSecondary } from "./tooltipDualAxis.js";
|
|
3
3
|
import { tooltipScatter } from "./tooltipScatter.js";
|
|
4
4
|
import { tooltipHeatmap } from "./tooltipHeatmap.js";
|
|
5
|
-
|
|
5
|
+
import { tooltipBoxplot } from "./tooltipBoxplot.js";
|
|
6
|
+
import { tooltipHistogram } from "./tooltipHistogram.js";
|
|
7
|
+
export { tooltip, tooltipBoxplot, tooltipHeatmap, tooltipHistogram, tooltipPrimary, tooltipScatter, tooltipSecondary };
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { isNullish, pipe, uniqueBy } from "remeda";
|
|
2
|
+
import { createFormatterByMeasure, findAllMeasures } from "../../../../utils/index.js";
|
|
3
|
+
import { ColorEncoding, MaxMeasureId, MedianMeasureId, MinMeasureId, OutliersMeasureId, Q1MeasureValue, Q3MeasureValue, XEncoding } from "../../../../../dataReshape/index.js";
|
|
4
|
+
const boxPlotMeasureKeys = [
|
|
5
|
+
MaxMeasureId,
|
|
6
|
+
Q3MeasureValue,
|
|
7
|
+
MedianMeasureId,
|
|
8
|
+
Q1MeasureValue,
|
|
9
|
+
MinMeasureId
|
|
10
|
+
];
|
|
11
|
+
const VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE';
|
|
12
|
+
const tooltipBoxplot = (spec, context)=>{
|
|
13
|
+
const result = {
|
|
14
|
+
...spec
|
|
15
|
+
};
|
|
16
|
+
const { advancedVSeed, vseed } = context;
|
|
17
|
+
const { chartType, dimensions, encoding } = advancedVSeed;
|
|
18
|
+
const baseConfig = advancedVSeed.config[chartType];
|
|
19
|
+
const { tooltip = {
|
|
20
|
+
enable: true
|
|
21
|
+
} } = baseConfig;
|
|
22
|
+
const { enable } = tooltip;
|
|
23
|
+
const meas = findAllMeasures(vseed.measures);
|
|
24
|
+
const valueMeasure = meas.find((item)=>'value' === item.encoding || isNullish(item.encoding));
|
|
25
|
+
const defaultFormatter = valueMeasure ? createFormatterByMeasure(valueMeasure) : (v)=>v;
|
|
26
|
+
result.tooltip = {
|
|
27
|
+
visible: enable,
|
|
28
|
+
mark: {
|
|
29
|
+
title: {
|
|
30
|
+
visible: false
|
|
31
|
+
},
|
|
32
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, encoding),
|
|
33
|
+
updateContent: (prev, data)=>{
|
|
34
|
+
const datum = data?.[0]?.datum?.[0];
|
|
35
|
+
if (!isNullish(datum?.[VCHART_OUTLIER_KEY])) {
|
|
36
|
+
const tooltipItems = (prev ?? []).filter((item)=>!boxPlotMeasureKeys.includes(item.key));
|
|
37
|
+
const outerlierMeasure = meas.find((item)=>item.id === OutliersMeasureId);
|
|
38
|
+
const formatter = outerlierMeasure ? createFormatterByMeasure(outerlierMeasure) : defaultFormatter;
|
|
39
|
+
tooltipItems.push({
|
|
40
|
+
...tooltipItems[0],
|
|
41
|
+
key: outerlierMeasure?.alias ?? OutliersMeasureId,
|
|
42
|
+
value: formatter(datum?.[VCHART_OUTLIER_KEY])
|
|
43
|
+
});
|
|
44
|
+
return tooltipItems;
|
|
45
|
+
}
|
|
46
|
+
return (prev ?? []).map((entry)=>{
|
|
47
|
+
if (boxPlotMeasureKeys.includes(entry.key)) {
|
|
48
|
+
const mea = meas.find((item)=>item.id === entry.key);
|
|
49
|
+
const formatter = mea ? createFormatterByMeasure(mea) : defaultFormatter;
|
|
50
|
+
return {
|
|
51
|
+
...entry,
|
|
52
|
+
value: formatter(datum?.[entry.key]),
|
|
53
|
+
key: mea?.alias ?? entry.key
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return entry;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
dimension: {
|
|
61
|
+
visible: false
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
return result;
|
|
65
|
+
};
|
|
66
|
+
const createMarkContent = (tooltip, dimensions, encoding)=>{
|
|
67
|
+
const dims = pipe(dimensions.filter((item)=>tooltip.includes(item.id)), uniqueBy((item)=>item.id), uniqueBy((item)=>item.alias));
|
|
68
|
+
const dimContent = dims.map((item)=>({
|
|
69
|
+
visible: true,
|
|
70
|
+
hasShape: true,
|
|
71
|
+
shapeType: 'rectRound',
|
|
72
|
+
key: item.alias ?? item.id,
|
|
73
|
+
value: (datum)=>{
|
|
74
|
+
if (!isNullish(datum?.[VCHART_OUTLIER_KEY])) {
|
|
75
|
+
if (encoding.color?.includes(item.id)) return datum?.[ColorEncoding];
|
|
76
|
+
if (encoding.x?.includes(item.id)) return datum?.[XEncoding];
|
|
77
|
+
}
|
|
78
|
+
return datum?.[item.id];
|
|
79
|
+
}
|
|
80
|
+
}));
|
|
81
|
+
const defaultContent = boxPlotMeasureKeys.map((key)=>({
|
|
82
|
+
visible: true,
|
|
83
|
+
hasShape: true,
|
|
84
|
+
shapeType: 'rectRound',
|
|
85
|
+
key,
|
|
86
|
+
value: (datum)=>{
|
|
87
|
+
if (!datum) return '';
|
|
88
|
+
return datum[key];
|
|
89
|
+
}
|
|
90
|
+
}));
|
|
91
|
+
return [
|
|
92
|
+
...dimContent,
|
|
93
|
+
defaultContent
|
|
94
|
+
];
|
|
95
|
+
};
|
|
96
|
+
export { tooltipBoxplot };
|
|
97
|
+
|
|
98
|
+
//# sourceMappingURL=tooltipBoxplot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.ts"],"sourcesContent":["import { pipe, uniqueBy, isNullish } from 'remeda'\nimport { createFormatterByMeasure, findAllMeasures } from '../../../../utils'\nimport type { Dimension, Dimensions, Encoding, Spec, SpecPipe, Tooltip } from 'src/types'\nimport type { Datum, ISpec, ITooltipLinePattern, ITooltipLineActual, TooltipData } from '@visactor/vchart'\nimport {\n ColorEncoding,\n MaxMeasureId,\n MedianMeasureId,\n MinMeasureId,\n OutliersMeasureId,\n Q1MeasureValue,\n Q3MeasureValue,\n XEncoding,\n} from 'src/dataReshape'\n\nconst boxPlotMeasureKeys = [MaxMeasureId, Q3MeasureValue, MedianMeasureId, Q1MeasureValue, MinMeasureId]\nconst VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE'\n\nexport const tooltipBoxplot: SpecPipe = (spec, context): Partial<Spec> => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n const meas = findAllMeasures(vseed.measures)\n const valueMeasure = meas.find((item) => item.encoding === 'value' || isNullish(item.encoding))\n const defaultFormatter = valueMeasure ? createFormatterByMeasure(valueMeasure) : (v: unknown) => v\n\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(encoding.tooltip || [], dimensions, encoding as Encoding),\n updateContent: (prev: ITooltipLineActual[] | undefined, data: TooltipData | undefined) => {\n const datum = (data as any)?.[0]?.datum?.[0]\n\n if (!isNullish(datum?.[VCHART_OUTLIER_KEY])) {\n const tooltipItems: ITooltipLineActual[] = (prev ?? []).filter(\n (item: any) => !boxPlotMeasureKeys.includes(item.key as string),\n )\n const outerlierMeasure = meas.find((item) => item.id === OutliersMeasureId)\n const formatter = outerlierMeasure ? createFormatterByMeasure(outerlierMeasure) : defaultFormatter\n\n tooltipItems.push({\n ...(tooltipItems[0] as any),\n key: outerlierMeasure?.alias ?? OutliersMeasureId,\n value: formatter(datum?.[VCHART_OUTLIER_KEY] as number) as string,\n } as ITooltipLineActual)\n\n return tooltipItems\n }\n\n return (prev ?? []).map((entry) => {\n if (boxPlotMeasureKeys.includes((entry as any).key as string)) {\n const mea = meas.find((item) => item.id === (entry as any).key)\n const formatter = mea ? createFormatterByMeasure(mea) : defaultFormatter\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return {\n ...(entry as any),\n value: formatter(datum?.[(entry as any).key] as number) as string,\n key: mea?.alias ?? (entry as any).key,\n }\n }\n\n return entry\n }) as ITooltipLineActual[]\n },\n },\n dimension: {\n visible: false,\n },\n }\n return result as unknown as ISpec\n}\n\nconst createMarkContent = (tooltip: string[], dimensions: Dimensions, encoding: Encoding) => {\n const dims = pipe(\n dimensions.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item: Dimension) => item.id),\n uniqueBy((item: Dimension) => item.alias),\n )\n\n const dimContent = dims.map((item: Dimension) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias ?? item.id,\n value: (datum: Datum | undefined) => {\n if (!isNullish(datum?.[VCHART_OUTLIER_KEY])) {\n if (encoding.color?.includes(item.id)) {\n return datum?.[ColorEncoding] as string\n }\n if (encoding.x?.includes(item.id)) {\n return datum?.[XEncoding] as string\n }\n }\n\n return datum?.[item.id] as string\n },\n }))\n\n const defaultContent = boxPlotMeasureKeys.map((key: string) => {\n return {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key,\n value: (datum: Datum | undefined) => {\n if (!datum) {\n return ''\n }\n return datum[key] as string | number\n },\n }\n })\n\n return [...dimContent, defaultContent] as ITooltipLinePattern[]\n}\n"],"names":["boxPlotMeasureKeys","MaxMeasureId","Q3MeasureValue","MedianMeasureId","Q1MeasureValue","MinMeasureId","VCHART_OUTLIER_KEY","tooltipBoxplot","spec","context","result","advancedVSeed","vseed","chartType","dimensions","encoding","baseConfig","tooltip","enable","meas","findAllMeasures","valueMeasure","item","isNullish","defaultFormatter","createFormatterByMeasure","v","createMarkContent","prev","data","datum","tooltipItems","outerlierMeasure","OutliersMeasureId","formatter","entry","mea","dims","pipe","uniqueBy","dimContent","ColorEncoding","XEncoding","defaultContent","key"],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { isNullish, pipe, uniqueBy } from "remeda";
|
|
2
|
+
import { BinEndMeasureId, BinStartMeasureId, ColorEncoding, FoldMeasureValue, XEncoding } from "../../../../../dataReshape/index.js";
|
|
3
|
+
const VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE';
|
|
4
|
+
const tooltipHistogram = (spec, context)=>{
|
|
5
|
+
const result = {
|
|
6
|
+
...spec
|
|
7
|
+
};
|
|
8
|
+
const { advancedVSeed } = context;
|
|
9
|
+
const { chartType, dimensions, encoding } = advancedVSeed;
|
|
10
|
+
const baseConfig = advancedVSeed.config[chartType];
|
|
11
|
+
const { tooltip = {
|
|
12
|
+
enable: true
|
|
13
|
+
} } = baseConfig;
|
|
14
|
+
const { enable } = tooltip;
|
|
15
|
+
result.tooltip = {
|
|
16
|
+
visible: enable,
|
|
17
|
+
mark: {
|
|
18
|
+
title: {
|
|
19
|
+
visible: false
|
|
20
|
+
},
|
|
21
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, encoding)
|
|
22
|
+
},
|
|
23
|
+
dimension: {
|
|
24
|
+
title: {
|
|
25
|
+
visible: false
|
|
26
|
+
},
|
|
27
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, encoding)
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
const createMarkContent = (tooltip, dimensions, encoding)=>{
|
|
33
|
+
const dims = pipe(dimensions.filter((item)=>tooltip.includes(item.id)), uniqueBy((item)=>item.id), uniqueBy((item)=>item.alias));
|
|
34
|
+
const dimContent = dims.map((item)=>({
|
|
35
|
+
visible: true,
|
|
36
|
+
hasShape: true,
|
|
37
|
+
shapeType: 'rectRound',
|
|
38
|
+
key: item.alias ?? item.id,
|
|
39
|
+
value: (datum)=>{
|
|
40
|
+
if (!isNullish(datum?.[VCHART_OUTLIER_KEY])) {
|
|
41
|
+
if (encoding.color?.includes(item.id)) return datum?.[ColorEncoding];
|
|
42
|
+
if (encoding.x?.includes(item.id)) return datum?.[XEncoding];
|
|
43
|
+
}
|
|
44
|
+
return datum?.[item.id];
|
|
45
|
+
}
|
|
46
|
+
}));
|
|
47
|
+
const defaultContent = [
|
|
48
|
+
{
|
|
49
|
+
visible: true,
|
|
50
|
+
hasShape: true,
|
|
51
|
+
shapeType: 'rectRound',
|
|
52
|
+
key: (datum)=>{
|
|
53
|
+
if (!datum) return '';
|
|
54
|
+
return `${datum[BinStartMeasureId]} ~ ${datum[BinEndMeasureId]}`;
|
|
55
|
+
},
|
|
56
|
+
value: (datum)=>{
|
|
57
|
+
if (!datum) return '';
|
|
58
|
+
return datum[FoldMeasureValue];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
];
|
|
62
|
+
return [
|
|
63
|
+
...dimContent,
|
|
64
|
+
defaultContent
|
|
65
|
+
];
|
|
66
|
+
};
|
|
67
|
+
export { tooltipHistogram };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=tooltipHistogram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.ts"],"sourcesContent":["import { pipe, uniqueBy, isNullish } from 'remeda'\nimport type { Dimension, Dimensions, Encoding, Spec, SpecPipe, Tooltip } from 'src/types'\nimport type { Datum, ISpec, ITooltipLinePattern } from '@visactor/vchart'\nimport { BinEndMeasureId, BinStartMeasureId, ColorEncoding, FoldMeasureValue, XEncoding } from 'src/dataReshape'\n\nconst VCHART_OUTLIER_KEY = '__VCHART_BOX_PLOT_OUTLIER_VALUE'\n\nexport const tooltipHistogram: SpecPipe = (spec, context): Partial<Spec> => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(encoding.tooltip || [], dimensions, encoding as Encoding),\n },\n dimension: {\n title: {\n visible: false,\n },\n content: createMarkContent(encoding.tooltip || [], dimensions, encoding as Encoding),\n },\n }\n return result as unknown as ISpec\n}\n\nconst createMarkContent = (tooltip: string[], dimensions: Dimensions, encoding: Encoding) => {\n const dims = pipe(\n dimensions.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item: Dimension) => item.id),\n uniqueBy((item: Dimension) => item.alias),\n )\n\n const dimContent = dims.map((item: Dimension) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias ?? item.id,\n value: (datum: Datum | undefined) => {\n if (!isNullish(datum?.[VCHART_OUTLIER_KEY])) {\n if (encoding.color?.includes(item.id)) {\n return datum?.[ColorEncoding] as string\n }\n if (encoding.x?.includes(item.id)) {\n return datum?.[XEncoding] as string\n }\n }\n\n return datum?.[item.id] as string\n },\n }))\n\n const defaultContent = [\n {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (datum: Datum | undefined) => {\n if (!datum) {\n return ''\n }\n return `${datum[BinStartMeasureId]} ~ ${datum[BinEndMeasureId]}`\n },\n value: (datum: Datum | undefined) => {\n if (!datum) {\n return ''\n }\n return datum[FoldMeasureValue] as string | number\n },\n },\n ]\n\n return [...dimContent, defaultContent] as ITooltipLinePattern[]\n}\n"],"names":["VCHART_OUTLIER_KEY","tooltipHistogram","spec","context","result","advancedVSeed","chartType","dimensions","encoding","baseConfig","tooltip","enable","createMarkContent","dims","pipe","item","uniqueBy","dimContent","datum","isNullish","ColorEncoding","XEncoding","defaultContent","BinStartMeasureId","BinEndMeasureId","FoldMeasureValue"],"mappings":";;AAKA,MAAMA,qBAAqB;AAEpB,MAAMC,mBAA6B,CAACC,MAAMC;IAC/C,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGH;IAC5C,MAAMI,aAAaJ,cAAc,MAAM,CAACC,UAAU;IAClD,MAAM,EAAEI,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGD;IACvC,MAAM,EAAEE,MAAM,EAAE,GAAGD;IAEnBN,OAAO,OAAO,GAAG;QACf,SAASO;QACT,MAAM;YACJ,OAAO;gBACL,SAAS;YACX;YACA,SAASC,kBAAkBJ,SAAS,OAAO,IAAI,EAAE,EAAED,YAAYC;QACjE;QACA,WAAW;YACT,OAAO;gBACL,SAAS;YACX;YACA,SAASI,kBAAkBJ,SAAS,OAAO,IAAI,EAAE,EAAED,YAAYC;QACjE;IACF;IACA,OAAOJ;AACT;AAEA,MAAMQ,oBAAoB,CAACF,SAAmBH,YAAwBC;IACpE,MAAMK,OAAOC,KACXP,WAAW,MAAM,CAAC,CAACQ,OAASL,QAAQ,QAAQ,CAACK,KAAK,EAAE,IACpDC,SAAS,CAACD,OAAoBA,KAAK,EAAE,GACrCC,SAAS,CAACD,OAAoBA,KAAK,KAAK;IAG1C,MAAME,aAAaJ,KAAK,GAAG,CAAC,CAACE,OAAqB;YAChD,SAAS;YACT,UAAU;YACV,WAAW;YACX,KAAKA,KAAK,KAAK,IAAIA,KAAK,EAAE;YAC1B,OAAO,CAACG;gBACN,IAAI,CAACC,UAAUD,OAAO,CAAClB,mBAAmB,GAAG;oBAC3C,IAAIQ,SAAS,KAAK,EAAE,SAASO,KAAK,EAAE,GAClC,OAAOG,OAAO,CAACE,cAAc;oBAE/B,IAAIZ,SAAS,CAAC,EAAE,SAASO,KAAK,EAAE,GAC9B,OAAOG,OAAO,CAACG,UAAU;gBAE7B;gBAEA,OAAOH,OAAO,CAACH,KAAK,EAAE,CAAC;YACzB;QACF;IAEA,MAAMO,iBAAiB;QACrB;YACE,SAAS;YACT,UAAU;YACV,WAAW;YACX,KAAK,CAACJ;gBACJ,IAAI,CAACA,OACH,OAAO;gBAET,OAAO,GAAGA,KAAK,CAACK,kBAAkB,CAAC,GAAG,EAAEL,KAAK,CAACM,gBAAgB,EAAE;YAClE;YACA,OAAO,CAACN;gBACN,IAAI,CAACA,OACH,OAAO;gBAET,OAAOA,KAAK,CAACO,iBAAiB;YAChC;QACF;KACD;IAED,OAAO;WAAIR;QAAYK;KAAe;AACxC"}
|