@fundar/data-chart-telling 1.1.0 → 1.3.0
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/CHANGELOG.md +45 -0
- package/README.md +8 -7
- package/dist/configuration/config.svelte.d.ts +1 -1
- package/dist/configuration/config.svelte.js +177 -100
- package/dist/configuration/themes/index.d.ts +5 -1428
- package/dist/index.d.ts +23 -14
- package/dist/index.js +20 -11
- package/dist/layout/base/BasePlotLayout.svelte +115 -50
- package/dist/layout/base/BasePlotLayout.svelte.d.ts +1 -38
- package/dist/layout/coordinates/CoordinatesLayout.svelte +42 -40
- package/dist/layout/coordinates/CoordinatesLayout.svelte.d.ts +0 -2
- package/dist/layout/coordinates/ProjectionZoom.svelte +48 -0
- package/dist/layout/coordinates/ProjectionZoom.svelte.d.ts +10 -0
- package/dist/layout/coordinates/ZoomedProjection.d.ts +11 -0
- package/dist/layout/coordinates/ZoomedProjection.js +24 -0
- package/dist/layout/coordinates/camera.svelte.js +11 -8
- package/dist/layout/coordinates/projections/argentina.js +1 -1
- package/dist/layout/coordinates/projections/fit.d.ts +1 -1
- package/dist/layout/coordinates/projections/fit.js +1 -1
- package/dist/layout/coordinates/zoom.svelte.d.ts +4 -5
- package/dist/layout/coordinates/zoom.svelte.js +4 -5
- package/dist/layout/facet/FacetLayout.svelte +1 -1
- package/dist/layout/facet/config.js +1 -1
- package/dist/layout/facet/scope.d.ts +40 -0
- package/dist/layout/facet/scope.js +104 -0
- package/dist/layout/figure/Figure.svelte +2 -0
- package/dist/layout/geometry/GeometryLayout.svelte +14 -9
- package/dist/layout/geometry/GeometryLayout.svelte.d.ts +0 -3
- package/dist/layout/geometry/MarkerOffset.svelte +28 -0
- package/dist/layout/geometry/MarkerOffset.svelte.d.ts +13 -0
- package/dist/layout/grid/GridCell.svelte +6 -8
- package/dist/layout/legend/ContinuousSection.svelte +44 -9
- package/dist/layout/legend/DiscreteBadgeItem.svelte +2 -2
- package/dist/layout/legend/DiscreteSection.svelte +2 -2
- package/dist/layout/legend/DiscreteSymbolIcon.svelte +39 -15
- package/dist/layout/legend/LegendChannels.js +36 -12
- package/dist/layout/legend/LegendLayout.svelte +9 -1
- package/dist/layout/legend/LegendState.svelte.d.ts +4 -0
- package/dist/layout/legend/LegendState.svelte.js +23 -8
- package/dist/layout/legend/SizeSection.svelte +1 -1
- package/dist/layout/margins/PlotMargins.svelte.d.ts +2 -5
- package/dist/layout/margins/PlotMargins.svelte.js +35 -8
- package/dist/layout/plot/Plot.svelte +22 -2
- package/dist/layout/plot/Slice.d.ts +5 -1
- package/dist/layout/plot/Slice.js +14 -4
- package/dist/layout/scales/NiceTicks.d.ts +3 -0
- package/dist/layout/scales/NiceTicks.js +4 -0
- package/dist/layout/scales/ScalesLayout.svelte +93 -7
- package/dist/layout/scales/ScalesLayout.svelte.d.ts +5 -0
- package/dist/layout/scales/SveltePlotScale.d.ts +2 -2
- package/dist/layout/scales/SveltePlotScale.js +13 -6
- package/dist/layout/scales/TickLabels.d.ts +32 -0
- package/dist/layout/scales/TickLabels.js +55 -0
- package/dist/layout/styles/StylesLayout.svelte +2 -2
- package/dist/layout/styles/ValueLabels.d.ts +33 -5
- package/dist/layout/styles/ValueLabels.js +80 -21
- package/dist/layout/timeline/TimelineLayout.svelte +1 -1
- package/dist/layout/tooltip/Tooltip.svelte +4 -4
- package/dist/layout/tooltip/Tooltip.svelte.d.ts +4 -4
- package/dist/layout/tooltip/TooltipState.svelte.js +1 -1
- package/dist/markers/MarkerKinds.d.ts +5 -0
- package/dist/markers/MarkerKinds.js +1 -0
- package/dist/markers/area/AreaMarker.svelte +15 -63
- package/dist/markers/arrow/ArrowMarker.svelte +51 -9
- package/dist/markers/bar/BarMarker.svelte +8 -4
- package/dist/markers/bollinger/BollingerMarker.svelte +33 -18
- package/dist/markers/box/BoxMarker.svelte +40 -9
- package/dist/markers/delta/Delta.d.ts +6 -1
- package/dist/markers/delta/Delta.js +16 -1
- package/dist/markers/delta/DeltaMarker.svelte +9 -87
- package/dist/markers/delta/DeltaPoint.svelte +97 -0
- package/dist/markers/delta/DeltaPoint.svelte.d.ts +29 -0
- package/dist/markers/dot/DotMarker.svelte +24 -27
- package/dist/markers/image/ImageMarker.svelte +17 -12
- package/dist/markers/inset/InsetMarker.svelte +2 -2
- package/dist/markers/line/LineMarker.svelte +1 -0
- package/dist/markers/link/LinkMarker.svelte +174 -29
- package/dist/markers/regression/RegressionMarker.svelte +16 -33
- package/dist/markers/rule/RuleMarker.svelte +14 -5
- package/dist/markers/text/Declutter.d.ts +4 -0
- package/dist/markers/text/Declutter.js +26 -11
- package/dist/markers/text/TextMarker.svelte +91 -48
- package/dist/markers/tick/TickMarker.svelte +27 -25
- package/dist/markers/utils/MarkerChannels.d.ts +24 -0
- package/dist/markers/utils/MarkerChannels.js +42 -7
- package/dist/markers/utils/RowOffset.d.ts +23 -0
- package/dist/markers/utils/RowOffset.js +23 -0
- package/dist/markers/utils/RowOffsetMarks.svelte +30 -0
- package/dist/markers/utils/RowOffsetMarks.svelte.d.ts +33 -0
- package/dist/markers/utils/RowStroke.d.ts +31 -0
- package/dist/markers/utils/RowStroke.js +28 -0
- package/dist/markers/violin/ViolinMarker.svelte +75 -0
- package/dist/markers/violin/ViolinMarker.svelte.d.ts +7 -0
- package/dist/markers/violin/ViolinProfiles.d.ts +29 -0
- package/dist/markers/violin/ViolinProfiles.js +55 -0
- package/dist/markers/waffle/WaffleMarker.svelte +17 -37
- package/dist/phases/Pipeline.d.ts +5 -0
- package/dist/phases/Pipeline.js +5 -0
- package/dist/phases/data/DataPhase.js +3 -3
- package/dist/phases/data/PlotAxes.d.ts +10 -0
- package/dist/phases/data/PlotAxes.js +14 -1
- package/dist/phases/facet/FacetPanels.d.ts +1 -0
- package/dist/phases/facet/FacetPanels.js +1 -0
- package/dist/phases/facet/FacetPhase.d.ts +2 -1
- package/dist/phases/facet/FacetPhase.js +19 -4
- package/dist/phases/mapping/MappingPhase.js +1 -1
- package/dist/phases/markers/MarkersPhase.js +2 -1
- package/dist/phases/scales/CategoryOrder.d.ts +23 -0
- package/dist/phases/scales/CategoryOrder.js +73 -0
- package/dist/phases/scales/ScalesPhase.js +21 -7
- package/dist/phases/sharedScales/SharedScalesPhase.d.ts +3 -2
- package/dist/phases/sharedScales/SharedScalesPhase.js +5 -2
- package/dist/phases/statistics/Statistics.d.ts +10 -6
- package/dist/phases/statistics/Statistics.js +20 -10
- package/dist/phases/statistics/StatisticsPhase.js +16 -3
- package/dist/phases/statistics/methods/BollingerStatistic.d.ts +1 -1
- package/dist/phases/statistics/methods/BollingerStatistic.js +13 -11
- package/dist/phases/statistics/methods/BoxStatistic.d.ts +1 -1
- package/dist/phases/statistics/methods/BoxStatistic.js +14 -12
- package/dist/phases/statistics/methods/Density2dStatistic.d.ts +1 -1
- package/dist/phases/statistics/methods/Density2dStatistic.js +13 -11
- package/dist/phases/statistics/methods/DensityStatistic.d.ts +1 -1
- package/dist/phases/statistics/methods/DensityStatistic.js +11 -9
- package/dist/phases/statistics/methods/DeviationStatistic.d.ts +8 -0
- package/dist/phases/statistics/methods/DeviationStatistic.js +111 -0
- package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +1 -1
- package/dist/phases/statistics/methods/MovingAverageStatistic.js +11 -9
- package/dist/phases/statistics/methods/RegressionStatistic.d.ts +1 -1
- package/dist/phases/statistics/methods/RegressionStatistic.js +16 -14
- package/dist/phases/transforms/ProcessedPositions.js +1 -1
- package/dist/phases/transforms/TransformsPhase.js +49 -3
- package/dist/phases/transforms/ValueSelection.d.ts +30 -0
- package/dist/phases/transforms/ValueSelection.js +53 -0
- package/dist/plots/{heatmap → correlation/heatmap}/Plot.svelte +5 -2
- package/dist/plots/{heatmap → correlation/heatmap}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{heatmap → correlation/heatmap}/defaults.d.ts +2 -2
- package/dist/plots/{heatmap → correlation/heatmap}/defaults.js +5 -5
- package/dist/plots/{heatmap → correlation/heatmap}/markers.d.ts +4 -4
- package/dist/plots/{heatmap → correlation/heatmap}/markers.js +3 -3
- package/dist/plots/{scatter → correlation/scatter}/Plot.svelte +5 -2
- package/dist/plots/{scatter → correlation/scatter}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{scatter → correlation/scatter}/defaults.d.ts +2 -2
- package/dist/plots/{scatter → correlation/scatter}/defaults.js +4 -4
- package/dist/plots/{scatter → correlation/scatter}/markers.d.ts +4 -4
- package/dist/plots/{scatter → correlation/scatter}/markers.js +3 -3
- package/dist/plots/{box → distribution/box}/BoxSummaries.d.ts +2 -2
- package/dist/plots/{box → distribution/box}/BoxSummaries.js +6 -6
- package/dist/plots/{box → distribution/box}/Plot.svelte +2 -2
- package/dist/plots/{box → distribution/box}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{box → distribution/box}/defaults.d.ts +2 -2
- package/dist/plots/{box → distribution/box}/defaults.js +1 -1
- package/dist/plots/{box → distribution/box}/markers.d.ts +2 -2
- package/dist/plots/distribution/density/Plot.svelte +45 -0
- package/dist/plots/distribution/density/Plot.svelte.d.ts +26 -0
- package/dist/plots/distribution/density/defaults.d.ts +9 -0
- package/dist/plots/distribution/density/defaults.js +29 -0
- package/dist/plots/distribution/density/markers.d.ts +9 -0
- package/dist/plots/distribution/density/markers.js +42 -0
- package/dist/plots/{histogram → distribution/histogram}/Plot.svelte +2 -2
- package/dist/plots/{histogram → distribution/histogram}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{histogram → distribution/histogram}/defaults.d.ts +2 -2
- package/dist/plots/{histogram → distribution/histogram}/defaults.js +3 -3
- package/dist/plots/{histogram → distribution/histogram}/markers.d.ts +3 -3
- package/dist/plots/{histogram → distribution/histogram}/markers.js +5 -5
- package/dist/plots/{pyramid → distribution/pyramid}/Plot.svelte +5 -2
- package/dist/plots/{pyramid → distribution/pyramid}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{pyramid → distribution/pyramid}/defaults.d.ts +2 -2
- package/dist/plots/{pyramid → distribution/pyramid}/defaults.js +6 -6
- package/dist/plots/{pyramid → distribution/pyramid}/markers.d.ts +4 -4
- package/dist/plots/{pyramid → distribution/pyramid}/markers.js +6 -6
- package/dist/plots/distribution/violin/Plot.svelte +45 -0
- package/dist/plots/distribution/violin/Plot.svelte.d.ts +26 -0
- package/dist/plots/distribution/violin/defaults.d.ts +10 -0
- package/dist/plots/distribution/violin/defaults.js +58 -0
- package/dist/plots/distribution/violin/markers.d.ts +10 -0
- package/dist/plots/distribution/violin/markers.js +71 -0
- package/dist/plots/{area → evolution/area}/Plot.svelte +2 -2
- package/dist/plots/{area → evolution/area}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{area → evolution/area}/defaults.d.ts +2 -2
- package/dist/plots/{area → evolution/area}/defaults.js +2 -0
- package/dist/plots/{area → evolution/area}/markers.d.ts +2 -2
- package/dist/plots/{area → evolution/area}/markers.js +1 -1
- package/dist/plots/{line → evolution/line}/Plot.svelte +2 -2
- package/dist/plots/{line → evolution/line}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{line → evolution/line}/defaults.d.ts +2 -2
- package/dist/plots/{line → evolution/line}/defaults.js +2 -0
- package/dist/plots/{line → evolution/line}/markers.d.ts +11 -8
- package/dist/plots/{line → evolution/line}/markers.js +6 -4
- package/dist/plots/evolution/slope/Plot.svelte +42 -0
- package/dist/plots/evolution/slope/Plot.svelte.d.ts +26 -0
- package/dist/plots/evolution/slope/defaults.d.ts +8 -0
- package/dist/plots/evolution/slope/defaults.js +31 -0
- package/dist/plots/evolution/slope/markers.d.ts +16 -0
- package/dist/plots/evolution/slope/markers.js +79 -0
- package/dist/plots/evolution/sparkline/Plot.svelte +45 -0
- package/dist/plots/evolution/sparkline/Plot.svelte.d.ts +26 -0
- package/dist/plots/evolution/sparkline/defaults.d.ts +7 -0
- package/dist/plots/evolution/sparkline/defaults.js +23 -0
- package/dist/plots/evolution/sparkline/markers.d.ts +7 -0
- package/dist/plots/evolution/sparkline/markers.js +56 -0
- package/dist/plots/{geo → map/geo}/Core.svelte +11 -10
- package/dist/plots/{geo → map/geo}/Core.svelte.d.ts +1 -1
- package/dist/plots/map/geo/GeoFeatures.svelte.d.ts +9 -0
- package/dist/plots/map/geo/GeoFeatures.svelte.js +55 -0
- package/dist/plots/map/geo/GeoGeometry.d.ts +27 -0
- package/dist/plots/map/geo/GeoGeometry.js +142 -0
- package/dist/plots/map/geo/GeoSegments.d.ts +16 -0
- package/dist/plots/map/geo/GeoSegments.js +23 -0
- package/dist/plots/{geo → map/geo}/Plot.svelte +10 -10
- package/dist/plots/{geo → map/geo}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{geo → map/geo}/defaults.d.ts +2 -2
- package/dist/plots/{geo → map/geo}/defaults.js +1 -1
- package/dist/plots/{geo → map/geo}/phases/data.d.ts +1 -1
- package/dist/plots/{geo → map/geo}/phases/data.js +7 -6
- package/dist/plots/{geo → map/geo}/phases/hover.d.ts +1 -1
- package/dist/plots/{geo → map/geo}/phases/hover.js +2 -2
- package/dist/plots/{geo → map/geo}/phases/markers.d.ts +1 -1
- package/dist/plots/{geo → map/geo}/phases/markers.js +6 -10
- package/dist/plots/{geo → map/geo}/phases/scales.d.ts +2 -2
- package/dist/plots/{geo → map/geo}/phases/scales.js +28 -12
- package/dist/plots/{geo → map/geo}/phases/tooltip.d.ts +1 -1
- package/dist/plots/map/geo/phases/tooltip.js +5 -0
- package/dist/plots/{geo → map/geo}/slices.d.ts +2 -2
- package/dist/plots/{geo → map/geo}/slices.js +2 -2
- package/dist/plots/{bar → ranking/bar}/Plot.svelte +2 -2
- package/dist/plots/{bar → ranking/bar}/Plot.svelte.d.ts +2 -2
- package/dist/plots/ranking/bar/defaults.d.ts +16 -0
- package/dist/plots/{bar → ranking/bar}/defaults.js +15 -9
- package/dist/plots/{bar → ranking/bar}/markers.d.ts +8 -8
- package/dist/plots/{bar → ranking/bar}/markers.js +8 -17
- package/dist/plots/ranking/bullet/Plot.svelte +42 -0
- package/dist/plots/ranking/bullet/Plot.svelte.d.ts +26 -0
- package/dist/plots/ranking/bullet/defaults.d.ts +8 -0
- package/dist/plots/ranking/bullet/defaults.js +24 -0
- package/dist/plots/ranking/bullet/markers.d.ts +10 -0
- package/dist/plots/ranking/bullet/markers.js +90 -0
- package/dist/plots/ranking/cleveland/ClevelandConnector.d.ts +48 -0
- package/dist/plots/ranking/cleveland/ClevelandConnector.js +140 -0
- package/dist/plots/ranking/cleveland/ClevelandMarkers.d.ts +33 -0
- package/dist/plots/ranking/cleveland/ClevelandMarkers.js +375 -0
- package/dist/plots/ranking/cleveland/ClevelandRanges.d.ts +31 -0
- package/dist/plots/ranking/cleveland/ClevelandRanges.js +116 -0
- package/dist/plots/ranking/cleveland/Plot.svelte +45 -0
- package/dist/plots/ranking/cleveland/Plot.svelte.d.ts +26 -0
- package/dist/plots/ranking/cleveland/defaults.d.ts +13 -0
- package/dist/plots/ranking/cleveland/defaults.js +66 -0
- package/dist/plots/ranking/dumbbell/Plot.svelte +45 -0
- package/dist/plots/ranking/dumbbell/Plot.svelte.d.ts +26 -0
- package/dist/plots/ranking/dumbbell/defaults.d.ts +9 -0
- package/dist/plots/ranking/dumbbell/defaults.js +19 -0
- package/dist/plots/ranking/forest/Plot.svelte +42 -0
- package/dist/plots/ranking/forest/Plot.svelte.d.ts +26 -0
- package/dist/plots/ranking/forest/defaults.d.ts +11 -0
- package/dist/plots/ranking/forest/defaults.js +20 -0
- package/dist/plots/ranking/lollipop/Plot.svelte +45 -0
- package/dist/plots/ranking/lollipop/Plot.svelte.d.ts +26 -0
- package/dist/plots/ranking/lollipop/defaults.d.ts +9 -0
- package/dist/plots/ranking/lollipop/defaults.js +18 -0
- package/dist/plots/utils/RowNumbers.d.ts +16 -0
- package/dist/plots/utils/RowNumbers.js +24 -0
- package/dist/plots/utils/gaps.js +1 -1
- package/dist/plots/utils/segments.d.ts +4 -1
- package/dist/plots/utils/segments.js +20 -7
- package/dist/types/configuration/styling.d.ts +284 -143
- package/dist/types/layout/coordinates.d.ts +5 -4
- package/dist/types/layout/facet.d.ts +18 -0
- package/dist/types/layout/legend.d.ts +23 -5
- package/dist/types/layout/plot.d.ts +46 -1
- package/dist/types/layout/scales.d.ts +39 -7
- package/dist/types/layout/statistics/deviation.d.ts +40 -0
- package/dist/types/layout/statistics/index.d.ts +7 -2
- package/dist/types/layout/styles/base.d.ts +18 -0
- package/dist/types/layout/styles/bullet.d.ts +25 -0
- package/dist/types/layout/styles/connector.d.ts +98 -0
- package/dist/types/layout/styles/curve.d.ts +11 -0
- package/dist/types/layout/styles/frame.d.ts +17 -0
- package/dist/types/layout/styles/gaps.d.ts +12 -0
- package/dist/types/layout/styles/geo.d.ts +55 -0
- package/dist/types/layout/styles/index.d.ts +8 -0
- package/dist/types/layout/styles/index.js +8 -0
- package/dist/types/layout/styles/values.d.ts +47 -0
- package/dist/types/layout/timeline.d.ts +5 -2
- package/dist/types/layout/tooltip.d.ts +6 -2
- package/dist/types/markers/axis/area.d.ts +2 -2
- package/dist/types/markers/axis/arrow.d.ts +3 -0
- package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +2 -1
- package/dist/types/markers/axis/bar.d.ts +1 -1
- package/dist/types/markers/axis/box.d.ts +5 -0
- package/dist/types/markers/axis/delta.d.ts +15 -2
- package/dist/types/markers/axis/difference.d.ts +2 -2
- package/dist/types/markers/axis/image.d.ts +3 -2
- package/dist/types/markers/axis/line.d.ts +2 -0
- package/dist/types/markers/axis/rule.d.ts +18 -2
- package/dist/types/markers/axis/trail.d.ts +2 -3
- package/dist/types/markers/axis/violin.d.ts +25 -0
- package/dist/types/markers/basic/dot.d.ts +3 -2
- package/dist/types/markers/basic/text.d.ts +13 -3
- package/dist/types/markers/channels/commonMarkerConfig.d.ts +7 -3
- package/dist/types/markers/channels/commonMarkerConfigWithRowOffset.d.ts +13 -0
- package/dist/types/markers/common.d.ts +1 -1
- package/dist/types/markers/common.js +1 -0
- package/dist/types/markers/geo/link.d.ts +5 -1
- package/dist/types/phases/facet/phase.d.ts +4 -0
- package/dist/types/phases/index.d.ts +1 -1
- package/dist/types/phases/scales/phase.d.ts +5 -1
- package/dist/types/phases/state.d.ts +15 -2
- package/dist/types/phases/statistics/source.d.ts +3 -1
- package/dist/types/phases/transforms/phase.d.ts +22 -0
- package/dist/types/plots/{heatmap → correlation/heatmap}/props.d.ts +6 -6
- package/dist/types/plots/{heatmap → correlation/heatmap}/state.d.ts +4 -4
- package/dist/types/plots/{scatter → correlation/scatter}/props.d.ts +6 -6
- package/dist/types/plots/{scatter → correlation/scatter}/state.d.ts +2 -2
- package/dist/types/plots/{box → distribution/box}/props.d.ts +6 -6
- package/dist/types/plots/{box → distribution/box}/state.d.ts +3 -3
- package/dist/types/plots/distribution/density/props.d.ts +23 -0
- package/dist/types/plots/distribution/density/state.d.ts +6 -0
- package/dist/types/plots/{histogram → distribution/histogram}/props.d.ts +7 -7
- package/dist/types/plots/{histogram → distribution/histogram}/state.d.ts +2 -2
- package/dist/types/plots/distribution/histogram/state.js +1 -0
- package/dist/types/plots/{pyramid → distribution/pyramid}/props.d.ts +6 -6
- package/dist/types/plots/distribution/pyramid/props.js +1 -0
- package/dist/types/plots/{pyramid → distribution/pyramid}/state.d.ts +3 -3
- package/dist/types/plots/distribution/pyramid/state.js +1 -0
- package/dist/types/plots/distribution/violin/props.d.ts +23 -0
- package/dist/types/plots/distribution/violin/props.js +1 -0
- package/dist/types/plots/distribution/violin/state.d.ts +6 -0
- package/dist/types/plots/distribution/violin/state.js +1 -0
- package/dist/types/plots/{area → evolution/area}/props.d.ts +6 -6
- package/dist/types/plots/evolution/area/props.js +1 -0
- package/dist/types/plots/{area → evolution/area}/state.d.ts +2 -2
- package/dist/types/plots/evolution/area/state.js +1 -0
- package/dist/types/plots/evolution/line/props.d.ts +10 -0
- package/dist/types/plots/evolution/line/props.js +1 -0
- package/dist/types/plots/{line → evolution/line}/state.d.ts +3 -3
- package/dist/types/plots/evolution/line/state.js +1 -0
- package/dist/types/plots/evolution/slope/props.d.ts +5 -0
- package/dist/types/plots/evolution/slope/props.js +1 -0
- package/dist/types/plots/evolution/slope/state.d.ts +5 -0
- package/dist/types/plots/evolution/slope/state.js +1 -0
- package/dist/types/plots/evolution/sparkline/props.d.ts +5 -0
- package/dist/types/plots/evolution/sparkline/props.js +1 -0
- package/dist/types/plots/evolution/sparkline/state.d.ts +5 -0
- package/dist/types/plots/evolution/sparkline/state.js +1 -0
- package/dist/types/plots/{geo → map/geo}/props.d.ts +8 -8
- package/dist/types/plots/map/geo/props.js +1 -0
- package/dist/types/plots/{geo → map/geo}/state.d.ts +18 -11
- package/dist/types/plots/map/geo/state.js +1 -0
- package/dist/types/plots/props.d.ts +7 -4
- package/dist/types/plots/{bar → ranking/bar}/props.d.ts +6 -6
- package/dist/types/plots/ranking/bar/props.js +1 -0
- package/dist/types/plots/{bar → ranking/bar}/state.d.ts +2 -2
- package/dist/types/plots/ranking/bar/state.js +1 -0
- package/dist/types/plots/ranking/bullet/props.d.ts +22 -0
- package/dist/types/plots/ranking/bullet/props.js +1 -0
- package/dist/types/plots/ranking/bullet/state.d.ts +5 -0
- package/dist/types/plots/ranking/bullet/state.js +1 -0
- package/dist/types/plots/ranking/cleveland/props.d.ts +10 -0
- package/dist/types/plots/ranking/cleveland/props.js +1 -0
- package/dist/types/plots/ranking/cleveland/state.d.ts +49 -0
- package/dist/types/plots/ranking/cleveland/state.js +1 -0
- package/dist/types/plots/ranking/dumbbell/props.d.ts +10 -0
- package/dist/types/plots/ranking/dumbbell/props.js +1 -0
- package/dist/types/plots/ranking/dumbbell/state.d.ts +5 -0
- package/dist/types/plots/ranking/dumbbell/state.js +1 -0
- package/dist/types/plots/ranking/forest/props.d.ts +23 -0
- package/dist/types/plots/ranking/forest/props.js +1 -0
- package/dist/types/plots/ranking/forest/state.d.ts +5 -0
- package/dist/types/plots/ranking/forest/state.js +1 -0
- package/dist/types/plots/ranking/lollipop/props.d.ts +10 -0
- package/dist/types/plots/ranking/lollipop/props.js +1 -0
- package/dist/types/plots/ranking/lollipop/state.d.ts +5 -0
- package/dist/types/plots/ranking/lollipop/state.js +1 -0
- package/dist/types/plots/segments/common.d.ts +4 -1
- package/dist/types/plots/segments/config.d.ts +4 -2
- package/dist/utils/OpacityScale.d.ts +14 -0
- package/dist/utils/OpacityScale.js +43 -0
- package/dist/utils/{symbol.d.ts → SymbolPath.d.ts} +0 -12
- package/dist/utils/{symbol.js → SymbolPath.js} +0 -24
- package/dist/utils/SymbolScale.d.ts +18 -0
- package/dist/utils/SymbolScale.js +29 -0
- package/dist/utils/color/ColorRamp.d.ts +27 -0
- package/dist/utils/color/ColorRamp.js +120 -0
- package/dist/utils/color/CssColor.d.ts +19 -0
- package/dist/utils/color/CssColor.js +114 -0
- package/dist/utils/color/Palette.d.ts +21 -0
- package/dist/utils/color/Palette.js +52 -0
- package/dist/utils/color/index.d.ts +11 -3
- package/dist/utils/color/index.js +14 -3
- package/dist/utils/grouping.js +1 -1
- package/docs/architecture.md +1 -1
- package/docs/chrome.md +2 -2
- package/docs/composer.md +2 -2
- package/docs/concepts.md +1 -1
- package/docs/development.md +1 -1
- package/docs/facets.md +50 -3
- package/docs/getting-started.md +2 -2
- package/docs/legend.md +13 -11
- package/docs/markers.md +57 -27
- package/docs/plots/correlation/heatmap.md +26 -0
- package/docs/plots/correlation/scatter.md +35 -0
- package/docs/plots/distribution/box.md +28 -0
- package/docs/plots/distribution/density.md +26 -0
- package/docs/plots/distribution/histogram.md +33 -0
- package/docs/plots/distribution/pyramid.md +31 -0
- package/docs/plots/distribution/violin.md +35 -0
- package/docs/plots/evolution/area.md +32 -0
- package/docs/plots/evolution/line.md +93 -0
- package/docs/plots/evolution/slope.md +39 -0
- package/docs/plots/evolution/sparkline.md +34 -0
- package/docs/plots/ranking/bar.md +59 -0
- package/docs/plots/ranking/bullet.md +37 -0
- package/docs/plots/ranking/cleveland.md +54 -0
- package/docs/plots/ranking/dumbbell.md +39 -0
- package/docs/plots/ranking/forest.md +40 -0
- package/docs/plots/ranking/lollipop.md +39 -0
- package/docs/plots.md +22 -280
- package/docs/scales.md +30 -24
- package/docs/styles-and-segments.md +25 -21
- package/docs/theming.md +23 -20
- package/docs/timeline.md +3 -3
- package/docs/tooltip-and-hover.md +10 -10
- package/docs/transforms-and-statistics.md +13 -12
- package/examples/BarValues.svelte +1 -1
- package/examples/Box.svelte +1 -1
- package/examples/Bullet.svelte +17 -0
- package/examples/Chrome.svelte +1 -1
- package/examples/ChromeOrder.svelte +1 -1
- package/examples/Cleveland.svelte +15 -0
- package/examples/Composer.svelte +2 -2
- package/examples/CustomTooltip.svelte +1 -1
- package/examples/Density.svelte +7 -0
- package/examples/Dumbbell.svelte +16 -0
- package/examples/Facets.svelte +1 -1
- package/examples/FacetsCarousel.svelte +1 -1
- package/examples/FacetsRowsCols.svelte +1 -1
- package/examples/FacetsScoped.svelte +26 -0
- package/examples/FirstPlot.svelte +1 -1
- package/examples/Forest.svelte +17 -0
- package/examples/Gaps.svelte +2 -2
- package/examples/GroupedBars.svelte +1 -1
- package/examples/Heatmap.svelte +3 -3
- package/examples/HeatmapSegments.svelte +8 -8
- package/examples/Histogram.svelte +1 -1
- package/examples/HorizontalBars.svelte +1 -1
- package/examples/LegendSections.svelte +1 -1
- package/examples/LegendToggle.svelte +1 -1
- package/examples/LineByRegion.svelte +1 -1
- package/examples/LineDates.svelte +1 -1
- package/examples/LineStep.svelte +16 -0
- package/examples/LineStepSegment.svelte +18 -0
- package/examples/Lollipop.svelte +17 -0
- package/examples/Markers.svelte +1 -1
- package/examples/MovingAverage.svelte +1 -1
- package/examples/Pyramid.svelte +9 -2
- package/examples/Regression.svelte +2 -2
- package/examples/ResponsiveLine.svelte +1 -1
- package/examples/Scales.svelte +1 -1
- package/examples/Scatter.svelte +2 -2
- package/examples/SegmentHighlight.svelte +1 -1
- package/examples/Segments.svelte +1 -1
- package/examples/SegmentsBySeries.svelte +1 -1
- package/examples/Slope.svelte +17 -0
- package/examples/Sparkline.svelte +14 -0
- package/examples/StackedArea.svelte +1 -1
- package/examples/StackedBars.svelte +1 -1
- package/examples/TimelinePlayer.svelte +1 -1
- package/examples/TimelineRule.svelte +1 -1
- package/examples/Tooltip.svelte +1 -1
- package/examples/ValueLabels.svelte +1 -1
- package/examples/Violin.svelte +14 -0
- package/examples/datasets/argentina-chile-trends.ts +34 -0
- package/examples/datasets/commodity-prices.ts +48 -0
- package/examples/datasets/countries-over-time.ts +368 -0
- package/examples/datasets/daily-temperature.ts +121 -0
- package/examples/datasets/earthquakes.ts +977 -0
- package/examples/datasets/flight-routes.ts +29 -0
- package/examples/datasets/height-density.ts +37 -0
- package/examples/datasets/heights.ts +370 -0
- package/examples/datasets/index.ts +24 -0
- package/examples/datasets/inflation-by-region.ts +44 -0
- package/examples/datasets/inflation-ranges.ts +34 -0
- package/examples/datasets/iris-flower.ts +207 -0
- package/examples/datasets/life-expectancy.ts +95 -0
- package/examples/datasets/napoleons-march.ts +182 -0
- package/examples/datasets/penguins.ts +54 -0
- package/examples/datasets/population-by-age-with-gaps.ts +23 -0
- package/examples/datasets/population-by-age.ts +890 -0
- package/examples/datasets/province-population.ts +521 -0
- package/examples/datasets/stock-prices.ts +63 -0
- package/examples/datasets/weather-stations-over-time.ts +31 -0
- package/examples/datasets/weather-stations.ts +22 -0
- package/examples/datasets/wind-vectors.ts +30 -0
- package/examples/datasets/world-temperature.ts +400 -0
- package/llms-full.txt +27 -14
- package/llms.txt +33 -4
- package/package.json +10 -1
- package/dist/plots/bar/defaults.d.ts +0 -9
- package/dist/plots/geo/features.svelte.d.ts +0 -5
- package/dist/plots/geo/features.svelte.js +0 -44
- package/dist/plots/geo/phases/tooltip.js +0 -5
- package/dist/plots/utils/geoAccessors.d.ts +0 -72
- package/dist/plots/utils/geoAccessors.js +0 -220
- package/dist/plots/utils/geoSegments.d.ts +0 -29
- package/dist/plots/utils/geoSegments.js +0 -37
- package/dist/types/layout/styles.d.ts +0 -122
- package/dist/types/markers/axis/curveName.d.ts +0 -2
- package/dist/types/plots/line/props.d.ts +0 -10
- package/dist/utils/color/contrast.d.ts +0 -9
- package/dist/utils/color/contrast.js +0 -40
- package/dist/utils/color/cssColor.d.ts +0 -4
- package/dist/utils/color/cssColor.js +0 -77
- package/dist/utils/color/ramp.d.ts +0 -17
- package/dist/utils/color/ramp.js +0 -110
- package/dist/utils/opacity.d.ts +0 -9
- package/dist/utils/opacity.js +0 -38
- package/examples/data.ts +0 -324
- /package/dist/plots/{box → distribution/box}/markers.js +0 -0
- /package/dist/types/layout/{styles.js → statistics/deviation.js} +0 -0
- /package/dist/types/{markers/axis/curveName.js → layout/styles/base.js} +0 -0
- /package/dist/types/{plots/area/props.js → layout/styles/bullet.js} +0 -0
- /package/dist/types/{plots/area/state.js → layout/styles/connector.js} +0 -0
- /package/dist/types/{plots/bar/props.js → layout/styles/curve.js} +0 -0
- /package/dist/types/{plots/bar/state.js → layout/styles/frame.js} +0 -0
- /package/dist/types/{plots/box/props.js → layout/styles/gaps.js} +0 -0
- /package/dist/types/{plots/box/state.js → layout/styles/geo.js} +0 -0
- /package/dist/types/{plots/geo/props.js → layout/styles/values.js} +0 -0
- /package/dist/types/{plots/geo/state.js → markers/axis/violin.js} +0 -0
- /package/dist/types/{plots/heatmap/props.js → markers/channels/commonMarkerConfigWithRowOffset.js} +0 -0
- /package/dist/types/plots/{histogram → correlation/heatmap}/props.js +0 -0
- /package/dist/types/plots/{heatmap → correlation/heatmap}/state.js +0 -0
- /package/dist/types/plots/{line → correlation/scatter}/props.js +0 -0
- /package/dist/types/plots/{histogram → correlation/scatter}/state.js +0 -0
- /package/dist/types/plots/{pyramid → distribution/box}/props.js +0 -0
- /package/dist/types/plots/{line → distribution/box}/state.js +0 -0
- /package/dist/types/plots/{scatter → distribution/density}/props.js +0 -0
- /package/dist/types/plots/{pyramid → distribution/density}/state.js +0 -0
- /package/dist/types/plots/{scatter/state.js → distribution/histogram/props.js} +0 -0
- /package/dist/{plots/utils → utils}/accessors.d.ts +0 -0
- /package/dist/{plots/utils → utils}/accessors.js +0 -0
|
@@ -7,6 +7,10 @@ import type { HoverStrategy } from './hover';
|
|
|
7
7
|
export type TooltipAnchorX = 'left' | 'middle' | 'right';
|
|
8
8
|
/** Preferred vertical placement of the tooltip, like {@link TooltipAnchorX}. Defaults to `'bottom'`. */
|
|
9
9
|
export type TooltipAnchorY = 'top' | 'middle' | 'bottom';
|
|
10
|
+
/** A matched row as a tooltip's `content` gets it: the row itself, plus `seriesColor`, the one the plot draws it in (unset on plots without series). */
|
|
11
|
+
export type TooltipRow<TRow> = TRow & {
|
|
12
|
+
seriesColor?: string;
|
|
13
|
+
};
|
|
10
14
|
/** Author-facing tooltip option on the chart kinds. `true` = enable with defaults. */
|
|
11
15
|
export type TooltipOptions<TRow extends Record<string, unknown>> = {
|
|
12
16
|
/** Matching strategy. Defaults to the chart kind's own default. */
|
|
@@ -17,9 +21,9 @@ export type TooltipOptions<TRow extends Record<string, unknown>> = {
|
|
|
17
21
|
format?: (row: TRow) => string;
|
|
18
22
|
/** Named subset of crossing series to include. Omitted = all matched. */
|
|
19
23
|
series?: string[];
|
|
20
|
-
/** Custom tooltip body; replaces `format` when given. */
|
|
24
|
+
/** Custom tooltip body; replaces `format` when given. Its rows carry a `seriesColor` - see {@link TooltipRow}. */
|
|
21
25
|
content?: Snippet<[{
|
|
22
|
-
rows: TRow[];
|
|
26
|
+
rows: TooltipRow<TRow>[];
|
|
23
27
|
}]>;
|
|
24
28
|
/** Preferred horizontal anchor - see {@link TooltipAnchorX}. */
|
|
25
29
|
anchorX?: TooltipAnchorX;
|
|
@@ -2,11 +2,11 @@ import type { AreaStyle } from '../../plots/styling';
|
|
|
2
2
|
import type { CommonMarkerConfigWithArea } from '../channels/commonMarkerConfigWithArea';
|
|
3
3
|
import type { CommonMarkerConfigWithColor } from '../channels/commonMarkerConfigWithColor';
|
|
4
4
|
import type { CommonMarkerConfigWithInterval } from '../channels/commonMarkerConfigWithInterval';
|
|
5
|
-
import type {
|
|
5
|
+
import type { CurveName } from '../../layout/styles/curve';
|
|
6
6
|
/** A filled area under a curve, or a band between two curves (svelteplot's `AreaX`/`AreaY`). */
|
|
7
7
|
export type AreaMarkerConfig = {
|
|
8
8
|
type: 'area';
|
|
9
|
-
curve?:
|
|
9
|
+
curve?: CurveName;
|
|
10
10
|
tension?: number;
|
|
11
11
|
styles?: AreaStyle;
|
|
12
12
|
} & CommonMarkerConfigWithArea & CommonMarkerConfigWithColor & CommonMarkerConfigWithInterval;
|
|
@@ -11,5 +11,8 @@ export type ArrowMarkerConfig = {
|
|
|
11
11
|
insetStart?: number;
|
|
12
12
|
insetEnd?: number;
|
|
13
13
|
sweep?: 1 | 0 | -1 | '+x' | '-x' | '+y' | '-y';
|
|
14
|
+
stroke?: string | ((d: any) => string | undefined);
|
|
15
|
+
strokeWidth?: string | ((d: any) => number);
|
|
16
|
+
strokeOpacity?: string | ((d: any) => number);
|
|
14
17
|
styles?: StrokeStyle;
|
|
15
18
|
} & CommonMarkerConfigWithInterval;
|
|
@@ -21,9 +21,10 @@ import type { RasterMarkerConfig } from './raster';
|
|
|
21
21
|
import type { TickMarkerConfig } from './tick';
|
|
22
22
|
import type { TrailMarkerConfig } from './trail';
|
|
23
23
|
import type { WaffleMarkerConfig } from './waffle';
|
|
24
|
+
import type { ViolinMarkerConfig } from './violin';
|
|
24
25
|
import type { RuleMarkerConfig } from './rule';
|
|
25
26
|
import type { HoverMarkerConfig } from './hover';
|
|
26
27
|
import type { CustomComponentMarkerConfig } from './component';
|
|
27
28
|
import type { DeltaMarkerConfig } from './delta';
|
|
28
29
|
/** Every marker kind an axis-based plot can render. */
|
|
29
|
-
export type AxisBasedMarkersConfig = BasicMarkersConfig | LineMarkerConfig | BarMarkerConfig | CellMarkerConfig | RectMarkerConfig | RegressionMarkerConfig | BollingerMarkerConfig | AreaMarkerConfig | DensityMarkerConfig | BoxMarkerConfig | HullMarkerConfig | DifferenceMarkerConfig | ArrowMarkerConfig | BrushMarkerConfig | DelaunayLinkMarkerConfig | DelaunayMeshMarkerConfig | VoronoiMarkerConfig | VoronoiMeshMarkerConfig | ImageMarkerConfig | RasterMarkerConfig | TickMarkerConfig | TrailMarkerConfig | WaffleMarkerConfig | RuleMarkerConfig | HoverMarkerConfig | CustomComponentMarkerConfig | DeltaMarkerConfig;
|
|
30
|
+
export type AxisBasedMarkersConfig = BasicMarkersConfig | LineMarkerConfig | BarMarkerConfig | CellMarkerConfig | RectMarkerConfig | RegressionMarkerConfig | BollingerMarkerConfig | AreaMarkerConfig | DensityMarkerConfig | BoxMarkerConfig | HullMarkerConfig | DifferenceMarkerConfig | ArrowMarkerConfig | BrushMarkerConfig | DelaunayLinkMarkerConfig | DelaunayMeshMarkerConfig | VoronoiMarkerConfig | VoronoiMeshMarkerConfig | ImageMarkerConfig | RasterMarkerConfig | TickMarkerConfig | TrailMarkerConfig | WaffleMarkerConfig | ViolinMarkerConfig | RuleMarkerConfig | HoverMarkerConfig | CustomComponentMarkerConfig | DeltaMarkerConfig;
|
|
@@ -11,8 +11,8 @@ export type BarMarkerConfig = {
|
|
|
11
11
|
insetBottom?: number;
|
|
12
12
|
insetLeft?: number;
|
|
13
13
|
insetRight?: number;
|
|
14
|
+
thickness?: number;
|
|
14
15
|
styles?: AreaStyle;
|
|
15
16
|
category?: AxisValue;
|
|
16
|
-
/** A `'hitArea'` that matches `data` as the plot's hover while the pointer is over it. */
|
|
17
17
|
hover?: boolean;
|
|
18
18
|
} & CommonMarkerConfigWithColor & CommonMarkerConfigWithInterval;
|
|
@@ -11,4 +11,9 @@ export type BoxMarkerConfig = {
|
|
|
11
11
|
dot?: Record<string, unknown>;
|
|
12
12
|
tickMedian?: boolean | Record<string, unknown>;
|
|
13
13
|
tickMinMax?: boolean | Record<string, unknown>;
|
|
14
|
+
thickness?: number;
|
|
15
|
+
slot?: {
|
|
16
|
+
index: number;
|
|
17
|
+
count: number;
|
|
18
|
+
};
|
|
14
19
|
} & CommonMarkerConfig;
|
|
@@ -19,9 +19,22 @@ export type DeltaConfig = {
|
|
|
19
19
|
text?: FontStyle;
|
|
20
20
|
dot?: DotStyle;
|
|
21
21
|
};
|
|
22
|
-
/**
|
|
23
|
-
export type
|
|
22
|
+
/** One delta annotation, at one position, between two points on a line chart. */
|
|
23
|
+
export type DeltaPointConfig = {
|
|
24
24
|
type: 'delta';
|
|
25
25
|
xDomain?: (number | string | Date)[];
|
|
26
26
|
yDomain?: (number | string | Date)[];
|
|
27
27
|
} & DeltaConfig;
|
|
28
|
+
/** A style as it is, or as a function of the position the delta is drawn at. */
|
|
29
|
+
export type PerPosition<T> = T | ((at: AxisValue) => T);
|
|
30
|
+
/**
|
|
31
|
+
* A delta annotation between two points on a line chart. `at` can be a list of positions: one delta is
|
|
32
|
+
* drawn at each, with the same ends. `line`, `text` and `dot` can be functions of the position, to style
|
|
33
|
+
* each delta on its own - a label to the left of the last one, say, so it stays inside the plot.
|
|
34
|
+
*/
|
|
35
|
+
export type DeltaMarkerConfig = Omit<DeltaPointConfig, 'at' | 'line' | 'text' | 'dot'> & {
|
|
36
|
+
at: AxisValue | AxisValue[];
|
|
37
|
+
line?: PerPosition<StrokeStyle>;
|
|
38
|
+
text?: PerPosition<FontStyle>;
|
|
39
|
+
dot?: PerPosition<DotStyle>;
|
|
40
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CommonMarkerConfigWithInterval } from '../channels/commonMarkerConfigWithInterval';
|
|
2
|
-
import type {
|
|
2
|
+
import type { CurveName } from '../../layout/styles/curve';
|
|
3
3
|
/** Shaded area between two series, colored by which is on top (svelteplot's `DifferenceY`). */
|
|
4
4
|
export type DifferenceMarkerConfig = {
|
|
5
5
|
type: 'difference';
|
|
@@ -7,6 +7,6 @@ export type DifferenceMarkerConfig = {
|
|
|
7
7
|
positiveFillOpacity?: number;
|
|
8
8
|
negativeFill?: string;
|
|
9
9
|
negativeFillOpacity?: number;
|
|
10
|
-
curve?:
|
|
10
|
+
curve?: CurveName;
|
|
11
11
|
tension?: number;
|
|
12
12
|
} & CommonMarkerConfigWithInterval;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import type { CommonMarkerConfigWithRowOffset } from '../channels/commonMarkerConfigWithRowOffset';
|
|
1
2
|
import type { CommonMarkerConfigWithRadius } from '../channels/commonMarkerConfigWithRadius';
|
|
2
3
|
/** An image per row, centered on `x`/`y` (svelteplot's `Image`). */
|
|
3
|
-
export type ImageMarkerConfig = {
|
|
4
|
+
export type ImageMarkerConfig = CommonMarkerConfigWithRowOffset<{
|
|
4
5
|
type: 'image';
|
|
5
6
|
src: string | ((d: any) => string);
|
|
6
7
|
width?: number | ((d: any) => number);
|
|
@@ -9,4 +10,4 @@ export type ImageMarkerConfig = {
|
|
|
9
10
|
preserveAspectRatio?: string;
|
|
10
11
|
/** A constant opacity; the shared `opacity` channel is a color ramp, not this. */
|
|
11
12
|
opacity?: number;
|
|
12
|
-
} & Omit<CommonMarkerConfigWithRadius, 'opacity'
|
|
13
|
+
} & Omit<CommonMarkerConfigWithRadius, 'opacity'>>;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { StrokeStyle } from '../../plots/styling';
|
|
2
|
+
import type { CurveName } from '../../layout/styles/curve';
|
|
2
3
|
import type { CommonMarkerConfigWithColor } from '../channels/commonMarkerConfigWithColor';
|
|
3
4
|
/** A single line-segment stroke; `color` strokes each `grouping`'s line in its own color. */
|
|
4
5
|
export type LineMarkerConfig = {
|
|
5
6
|
type: 'line';
|
|
7
|
+
curve?: CurveName;
|
|
6
8
|
styles?: StrokeStyle;
|
|
7
9
|
} & CommonMarkerConfigWithColor;
|
|
@@ -1,15 +1,31 @@
|
|
|
1
1
|
import type { AxisValue } from '../../layout/mapping';
|
|
2
2
|
import type { StrokeStyle } from '../../plots/styling';
|
|
3
3
|
import type { CommonMarkerConfigWithInterval } from '../channels/commonMarkerConfigWithInterval';
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* A vertical or horizontal reference line, one line per row when `data` is given, or one per value
|
|
6
|
+
* when `value` is a list - all with the same style.
|
|
7
|
+
*/
|
|
5
8
|
export type RuleMarkerConfig = {
|
|
6
9
|
type: 'rule';
|
|
7
10
|
axis: 'x' | 'y';
|
|
8
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Where the line goes along `axis`. A list draws a line at each value (without `data`); with `data`,
|
|
13
|
+
* a field key or a function of the row gives each row's own.
|
|
14
|
+
*/
|
|
15
|
+
value: AxisValue | string | (AxisValue | string)[] | ((d: any) => AxisValue);
|
|
9
16
|
inset?: number;
|
|
10
17
|
insetTop?: number;
|
|
11
18
|
insetBottom?: number;
|
|
12
19
|
insetLeft?: number;
|
|
13
20
|
insetRight?: number;
|
|
21
|
+
/**
|
|
22
|
+
* A stroke color for each row - a field key or a function of the row - drawn
|
|
23
|
+
* as it is, not mapped through a color scale. Wins over `styles.stroke`.
|
|
24
|
+
*/
|
|
25
|
+
stroke?: string | ((d: any) => string | undefined);
|
|
26
|
+
/** A stroke width for each row - a field key or a function of the row. Wins over `styles.strokeWidth`. */
|
|
27
|
+
strokeWidth?: string | ((d: any) => number);
|
|
28
|
+
/** A stroke opacity for each row - a field key or a function of the row - drawn as it is. Wins over `styles.strokeOpacity`. */
|
|
29
|
+
strokeOpacity?: string | ((d: any) => number);
|
|
14
30
|
styles?: StrokeStyle;
|
|
15
31
|
} & CommonMarkerConfigWithInterval;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import type { AreaStyle } from '../../plots/styling';
|
|
2
2
|
import type { CommonMarkerConfigWithColor } from '../channels/commonMarkerConfigWithColor';
|
|
3
3
|
import type { CommonMarkerConfigWithRadius } from '../channels/commonMarkerConfigWithRadius';
|
|
4
|
-
import type {
|
|
4
|
+
import type { CurveName } from '../../layout/styles/curve';
|
|
5
5
|
/** A variable-width ribbon following a path (svelteplot's `Trail`), its width set by `r`. */
|
|
6
6
|
export type TrailMarkerConfig = {
|
|
7
7
|
type: 'trail';
|
|
8
|
-
curve?:
|
|
8
|
+
curve?: CurveName;
|
|
9
9
|
tension?: number;
|
|
10
10
|
cap?: 'butt' | 'round';
|
|
11
11
|
resolution?: number | 'auto';
|
|
12
|
-
/** A trail is filled only; svelteplot's `Trail` has no stroke. */
|
|
13
12
|
styles?: Pick<AreaStyle, 'fill' | 'fillOpacity'>;
|
|
14
13
|
} & CommonMarkerConfigWithRadius & CommonMarkerConfigWithColor;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AreaStyle } from '../../plots/styling';
|
|
2
|
+
import type { DensityKernel } from '../../transforms/density';
|
|
3
|
+
import type { CommonMarkerConfig } from '../channels/commonMarkerConfig';
|
|
4
|
+
/**
|
|
5
|
+
* A violin per category of its rows: their density estimate mirrored around the
|
|
6
|
+
* middle of the category's band; a `box` marker over the same rows draws the box inside. `x` and `y` are the
|
|
7
|
+
* category and the value, in either order.
|
|
8
|
+
*/
|
|
9
|
+
export type ViolinMarkerConfig = {
|
|
10
|
+
type: 'violin';
|
|
11
|
+
/** Kernel shape of the estimate. */
|
|
12
|
+
kernel?: DensityKernel;
|
|
13
|
+
/** Kernel bandwidth in data units; Silverman's rule picks one per violin when unset. */
|
|
14
|
+
bandwidth?: number;
|
|
15
|
+
/** Cuts each violin at its values' own extent. Defaults to `true`. */
|
|
16
|
+
trim?: boolean;
|
|
17
|
+
/** The density that reaches a violin's full width; each violin's own peak when unset. */
|
|
18
|
+
peak?: number;
|
|
19
|
+
/** The share of each band the violin takes, when several series sit side by side: its index among `count`. */
|
|
20
|
+
slot?: {
|
|
21
|
+
index: number;
|
|
22
|
+
count: number;
|
|
23
|
+
};
|
|
24
|
+
styles?: AreaStyle;
|
|
25
|
+
} & CommonMarkerConfig;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { DotStyle } from '../../plots/styling';
|
|
2
2
|
import type { CommonMarkerConfigWithColor } from '../channels/commonMarkerConfigWithColor';
|
|
3
3
|
import type { CommonMarkerConfigWithRadius } from '../channels/commonMarkerConfigWithRadius';
|
|
4
|
+
import type { CommonMarkerConfigWithRowOffset } from '../channels/commonMarkerConfigWithRowOffset';
|
|
4
5
|
import type { CommonMarkerConfigWithSymbol } from '../channels/commonMarkerConfigWithSymbol';
|
|
5
6
|
/** A point mark (svelteplot's `Dot`), usable on any plot kind. */
|
|
6
|
-
export type DotMarkerConfig = {
|
|
7
|
+
export type DotMarkerConfig = CommonMarkerConfigWithRowOffset<{
|
|
7
8
|
type: 'dot';
|
|
8
9
|
styles?: DotStyle;
|
|
9
|
-
} & CommonMarkerConfigWithRadius & CommonMarkerConfigWithColor & CommonMarkerConfigWithSymbol
|
|
10
|
+
} & CommonMarkerConfigWithRadius & CommonMarkerConfigWithColor & CommonMarkerConfigWithSymbol>;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { FontStyle, StrokeStyle } from '../../plots/styling';
|
|
2
2
|
import type { CommonMarkerConfig } from '../channels/commonMarkerConfig';
|
|
3
|
+
import type { CommonMarkerConfigWithRowOffset } from '../channels/commonMarkerConfigWithRowOffset';
|
|
3
4
|
import type { Margins } from '../../../layout/margins/Margins';
|
|
4
5
|
import type { BandSlice } from '../../layout/hover';
|
|
6
|
+
import type { TextAnchor } from '../../plots/constants';
|
|
5
7
|
/**
|
|
6
8
|
* Spreads labels that would overlap apart vertically, all reaching out to one
|
|
7
9
|
* shared column, each routed back to its own point by an elbow connector.
|
|
@@ -14,14 +16,20 @@ export type TextDeclutterConfig = {
|
|
|
14
16
|
laneStep?: number;
|
|
15
17
|
/** Clearance (px) between the outermost lane and the label text. */
|
|
16
18
|
labelGap?: number;
|
|
19
|
+
/** Routes every label out to the shared column through a connector, even when none of them overlaps. */
|
|
20
|
+
aligned?: boolean;
|
|
21
|
+
/** Whether a leftward fan with no room before the content box flips to the right. Defaults to `true`; labels meant for the margin there turn it off. */
|
|
22
|
+
flip?: boolean;
|
|
17
23
|
/** The connectors' stroke. Unset opacity follows each label's own `fillOpacity`. */
|
|
18
24
|
connector?: StrokeStyle;
|
|
19
25
|
};
|
|
20
26
|
/** A text label per row (svelteplot's `Text`), usable on any plot kind. */
|
|
21
|
-
export type TextMarkerConfig = {
|
|
27
|
+
export type TextMarkerConfig = CommonMarkerConfigWithRowOffset<{
|
|
22
28
|
type: 'text';
|
|
23
29
|
text: string | ((d: any) => string);
|
|
24
30
|
styles?: FontStyle;
|
|
31
|
+
/** Which side of its point the text sits on: a value, or a function of the row. Wins over `styles.textAnchor`. */
|
|
32
|
+
textAnchor?: TextAnchor | ((d: any) => TextAnchor);
|
|
25
33
|
/** Per-row fill, over `styles.fill`. */
|
|
26
34
|
fill?: string | ((d: any) => string | undefined);
|
|
27
35
|
/** Per-row fill opacity. */
|
|
@@ -31,11 +39,13 @@ export type TextMarkerConfig = {
|
|
|
31
39
|
/**
|
|
32
40
|
* Flips each label to the other side of its point (or nudges a centred one
|
|
33
41
|
* back in) where its text would cross the plot's edge. `styles.textAnchor`/
|
|
34
|
-
* `lineAnchor` are the preferred sides, `styles.dx`/`dy` the gap from the point.
|
|
42
|
+
* `lineAnchor` are the preferred sides, `dx`/`dy` (else `styles.dx`/`dy`) the gap from the point.
|
|
35
43
|
*/
|
|
36
44
|
edgeAware?: boolean;
|
|
37
45
|
/** The slice of its category band each label sits in (a grouped bar's series); it is drawn off the band's middle, whatever the band's width. */
|
|
38
46
|
bandSlice?: BandSlice;
|
|
47
|
+
/** Where, in the plot's frame, a label sits on an axis it sets no position for: `{ type: 'text', x: 5, frameAnchor: 'top' }` is at the frame's top edge. */
|
|
48
|
+
frameAnchor?: 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'middle';
|
|
39
49
|
/** Grows the plot's margins, on every side the author left open, so the labels fit. */
|
|
40
50
|
fitMargins?: boolean;
|
|
41
51
|
/** Reports how far the rendered labels reach past the plot's content box, in pixels, on each side. */
|
|
@@ -44,7 +54,7 @@ export type TextMarkerConfig = {
|
|
|
44
54
|
onPointerEnter?: (d: any) => void;
|
|
45
55
|
/** Fired when the pointer leaves a row's label. */
|
|
46
56
|
onPointerLeave?: (d: any) => void;
|
|
47
|
-
} & CommonMarkerConfig
|
|
57
|
+
} & CommonMarkerConfig>;
|
|
48
58
|
/** Where one decluttered label goes - see `Declutter.buildLanes`. */
|
|
49
59
|
export type LabelLane = {
|
|
50
60
|
/** Vertical shift (px) clearing its neighbours and the content box's edges. */
|
|
@@ -3,7 +3,7 @@ import type { AxisValue } from '../../layout/mapping';
|
|
|
3
3
|
import type { StatisticConfig } from '../../layout/statistics';
|
|
4
4
|
import type { MarkerTransform } from '../../transforms';
|
|
5
5
|
import type { MarkLegend } from '../../layout/legend';
|
|
6
|
-
/** Props every marker kind shares: rows, grouping, series scope, position, statistics, transforms. */
|
|
6
|
+
/** Props every marker kind shares: rows, grouping, series scope, position, offset, statistics, transforms. */
|
|
7
7
|
export type CommonMarkerConfig = {
|
|
8
8
|
data?: Record<string, unknown>[];
|
|
9
9
|
grouping?: string | ((d: any) => unknown);
|
|
@@ -19,8 +19,12 @@ export type CommonMarkerConfig = {
|
|
|
19
19
|
scales?: ChannelScalesConfig;
|
|
20
20
|
statistics?: StatisticConfig[];
|
|
21
21
|
transforms?: MarkerTransform[];
|
|
22
|
+
/** Moves the marker this many pixels right, after it is placed. Also applies on a map, where svelteplot itself ignores it. */
|
|
23
|
+
dx?: number;
|
|
24
|
+
/** Moves the marker this many pixels down, after it is placed. */
|
|
25
|
+
dy?: number;
|
|
22
26
|
/** Clips the marker to the plot's frame. Unset, its kind's default applies. */
|
|
23
27
|
clip?: boolean;
|
|
24
|
-
/** Names the marker on its plot's automatic legend - see {@link MarkLegend}. */
|
|
25
|
-
legend?: MarkLegend;
|
|
28
|
+
/** Names the marker on its plot's automatic legend - see {@link MarkLegend}. `false` keeps a decorative marker out of it, and out of how the plot's series look there. */
|
|
29
|
+
legend?: MarkLegend | false;
|
|
26
30
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** A pixel offset: one for the whole marker, or one per row. */
|
|
2
|
+
export type RowOffset = number | ((d: any) => number);
|
|
3
|
+
/**
|
|
4
|
+
* `TConfig` with `dx` and `dy` that may also be a function of the row, for a
|
|
5
|
+
* marker that draws one element per row (a dot, a label, an image). Every other
|
|
6
|
+
* marker takes the plain numbers of `CommonMarkerConfig`.
|
|
7
|
+
*/
|
|
8
|
+
export type CommonMarkerConfigWithRowOffset<TConfig> = Omit<TConfig, 'dx' | 'dy'> & {
|
|
9
|
+
/** Moves each row this many pixels right: a number, or a function of the row. */
|
|
10
|
+
dx?: RowOffset;
|
|
11
|
+
/** Moves each row this many pixels down: a number, or a function of the row. */
|
|
12
|
+
dy?: RowOffset;
|
|
13
|
+
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export type { MarkerCurveName } from './axis/curveName';
|
|
2
1
|
export * from './axis/line';
|
|
3
2
|
export * from './axis/bar';
|
|
4
3
|
export * from './axis/cell';
|
|
@@ -21,6 +20,7 @@ export * from './axis/raster';
|
|
|
21
20
|
export * from './axis/tick';
|
|
22
21
|
export * from './axis/trail';
|
|
23
22
|
export * from './axis/waffle';
|
|
23
|
+
export * from './axis/violin';
|
|
24
24
|
export * from './axis/rule';
|
|
25
25
|
export * from './axis/hover';
|
|
26
26
|
export * from './axis/component';
|
|
@@ -20,6 +20,7 @@ export * from './axis/raster';
|
|
|
20
20
|
export * from './axis/tick';
|
|
21
21
|
export * from './axis/trail';
|
|
22
22
|
export * from './axis/waffle';
|
|
23
|
+
export * from './axis/violin';
|
|
23
24
|
export * from './axis/rule';
|
|
24
25
|
export * from './axis/hover';
|
|
25
26
|
export * from './axis/component';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Accessor } from '../../plots/data/common';
|
|
2
2
|
import type { StrokeStyle } from '../../plots/styling';
|
|
3
|
-
/** Lines between point pairs
|
|
3
|
+
/** Lines between point pairs: `curve: 'auto'` traces great-circle arcs, `'linear'` joins their projected positions with a straight line. */
|
|
4
4
|
export type GeoLinkMarkerConfig<TRow extends Record<string, unknown> = Record<string, unknown>> = {
|
|
5
5
|
type: 'link';
|
|
6
6
|
data: TRow[];
|
|
@@ -9,5 +9,9 @@ export type GeoLinkMarkerConfig<TRow extends Record<string, unknown> = Record<st
|
|
|
9
9
|
x2: Accessor<TRow, number>;
|
|
10
10
|
y2: Accessor<TRow, number>;
|
|
11
11
|
curve?: 'auto' | 'linear';
|
|
12
|
+
/** Lifts each arc off the map: a fraction of the radius on a globe, of the route's length on a flat map. A lifted arc keeps near its parallels instead of following the great circle. */
|
|
13
|
+
altitude?: number;
|
|
14
|
+
/** On a globe with `altitude`: `'ground'` cuts an arc where its ground track passes the horizon, `'globe'` only where the globe covers it. */
|
|
15
|
+
occlusion?: 'ground' | 'globe';
|
|
12
16
|
styles?: StrokeStyle;
|
|
13
17
|
};
|
|
@@ -15,4 +15,8 @@ export type FacetStageState = {
|
|
|
15
15
|
panels?: FacetPanel[];
|
|
16
16
|
/** The panel a row belongs to: its own panel tag, or its facet values. `undefined` for a row no panel shows. */
|
|
17
17
|
panelOf?: (row: Record<string | symbol, unknown>) => string | undefined;
|
|
18
|
+
/** The plot's `segments`. The phase moves those that name a facet to the panels they name, or drops them without panels. */
|
|
19
|
+
segments?: Record<string, object[]>;
|
|
20
|
+
/** The plot's own markers. The phase tags those that name a facet with the panels they name, or drops them without panels. */
|
|
21
|
+
authorMarkers?: object[];
|
|
18
22
|
};
|
|
@@ -7,7 +7,7 @@ export type { MappingStageOptions } from './mapping/phase';
|
|
|
7
7
|
export type { ProcessedRow, ProcessedChannel, ProcessedChannelName, ProcessedData, TransformsStageState, TransformsStageOptions } from './transforms/phase';
|
|
8
8
|
export type { StatisticsStageState, StatisticsStageOptions } from './statistics/phase';
|
|
9
9
|
export type { SharedAxisValues } from './sharedScales/phase';
|
|
10
|
-
export type { ScalesStageOptions } from './scales/phase';
|
|
10
|
+
export type { AxisFit, ScalesStageOptions } from './scales/phase';
|
|
11
11
|
export type { StylesStageOptions, ValueLabelsOptions } from './styles/phase';
|
|
12
12
|
export type { MarkersStageOptions } from './markers/phase';
|
|
13
13
|
export type { FacetPanel, FacetStageState } from './facet/phase';
|
|
@@ -3,6 +3,10 @@ import type { AxisRef } from '../data/axes';
|
|
|
3
3
|
import type { AxisScale } from '../../layout/scales';
|
|
4
4
|
/** One axis' scale options, whatever the row type. */
|
|
5
5
|
type AnyAxisScale = AxisScale<any>;
|
|
6
|
+
/** What a kind fits to an axis: scale options, and whether its `domain` is one it computed (so the author did not pin it). */
|
|
7
|
+
export type AxisFit = Partial<AnyAxisScale> & {
|
|
8
|
+
fitted?: true;
|
|
9
|
+
};
|
|
6
10
|
/**
|
|
7
11
|
* What differs between plots in the shared "scales" stage. The stage lays out
|
|
8
12
|
* every category axis the kind asks for as a band and grows an unpinned
|
|
@@ -19,7 +23,7 @@ export type ScalesStageOptions<TState, TCtx> = {
|
|
|
19
23
|
/** The kind's own options for an axis, by name or by role, under the author's `scales`: padding, label anchor, tick format. */
|
|
20
24
|
defaults?: (state: TState, ctx: TCtx) => Partial<Record<AxisRef, AnyAxisScale>>;
|
|
21
25
|
/** The options the kind fits to its own marks on an axis the author left unpinned - a niced value axis, a domain padded for its dots. */
|
|
22
|
-
fit?: (state: TState, ctx: TCtx) => Partial<Record<AxisChannelName,
|
|
26
|
+
fit?: (state: TState, ctx: TCtx) => Partial<Record<AxisChannelName, AxisFit>>;
|
|
23
27
|
/** The kind's own extra "scales" output, once every scale is in place. */
|
|
24
28
|
extend?: (state: TState, ctx: TCtx) => TState;
|
|
25
29
|
};
|
|
@@ -4,14 +4,14 @@ import type { SegmentsConfig, MarginConfig, HoverConfig, TooltipConfig } from '.
|
|
|
4
4
|
import type { HoverPosition } from './hover/phase';
|
|
5
5
|
import type { VisualGroup } from '../plots/segments/config';
|
|
6
6
|
import type { ScopedMarkerGroup } from '../layout/geometry';
|
|
7
|
-
import type { ChannelAccessors, ResolvedChannels } from '../layout/mapping';
|
|
7
|
+
import type { AxisChannelName, ChannelAccessors, ResolvedChannels } from '../layout/mapping';
|
|
8
8
|
import type { PlotStylesConfig } from '../configuration/styling';
|
|
9
9
|
import type { AxisBasedMarkersConfig } from '../markers/common';
|
|
10
10
|
import type { StatisticConfig } from '../layout/statistics';
|
|
11
11
|
import type { MarkerTransform } from '../transforms';
|
|
12
12
|
import type { ProcessedData, ProcessedRow } from './transforms/phase';
|
|
13
13
|
import type { FacetStageState } from './facet/phase';
|
|
14
|
-
import type { AxisBasedStylesConfig, ValuesStyle } from '../layout/styles';
|
|
14
|
+
import type { AxisBasedStylesConfig, ValuesStyle, ValueSelect } from '../layout/styles';
|
|
15
15
|
import type { ValueLabels } from '../../layout/styles/ValueLabels';
|
|
16
16
|
import type { PlotInteraction } from '../../layout/interaction/PlotInteraction.svelte';
|
|
17
17
|
import type { PlotAxes } from '../../phases/data/PlotAxes';
|
|
@@ -27,12 +27,21 @@ export type AxisPlotState<TData extends Record<string, unknown>, TStyle extends
|
|
|
27
27
|
data?: TData[];
|
|
28
28
|
segments?: SegmentsConfig<TStyle>;
|
|
29
29
|
scales: AxisBasedScalesConfig<TData>;
|
|
30
|
+
/** The axes whose domain the "scales" phase left to the kind's own fit, not the author's `domain`. */
|
|
31
|
+
fittedAxes?: AxisChannelName[];
|
|
30
32
|
statistics?: StatisticConfig[];
|
|
31
33
|
transforms?: MarkerTransform[];
|
|
32
34
|
authorMarkers?: AxisBasedMarkersConfig[];
|
|
33
35
|
width: number;
|
|
34
36
|
height: number;
|
|
35
37
|
margins?: MarginConfig;
|
|
38
|
+
/** The interval a point stands for, on the plots that draw one (`ForestPlot`): its lower and upper end, or the half-width around it, each a field key or a function of the row. */
|
|
39
|
+
lower?: Accessor<TData, unknown>;
|
|
40
|
+
upper?: Accessor<TData, unknown>;
|
|
41
|
+
error?: Accessor<TData, unknown>;
|
|
42
|
+
/** What a bar is measured against, on the plots that draw it (`BulletPlot`): a target, and the upper bounds of the bands grading it. Each is a number, a field key or a function of the row. */
|
|
43
|
+
target?: unknown;
|
|
44
|
+
ranges?: unknown[];
|
|
36
45
|
/** The plot's `styles`, which `BasePlotLayout` draws its frame from. */
|
|
37
46
|
styles?: AxisBasedStylesConfig;
|
|
38
47
|
/** The plot's `styles.values`, which its "markers" phase turns into a value-label `text` marker. */
|
|
@@ -60,6 +69,10 @@ export type AxisPlotState<TData extends Record<string, unknown>, TStyle extends
|
|
|
60
69
|
channels?: ResolvedChannels<TData>;
|
|
61
70
|
processedData?: ProcessedData;
|
|
62
71
|
processedGroups?: VisualGroup<Series<ProcessedRow>, TStyle>[];
|
|
72
|
+
/** The processed rows `styles.values` writes labels for, when the labels are on and the plot picks them. */
|
|
73
|
+
labelled?: ProcessedRow[];
|
|
74
|
+
/** What `styles.values.select` came to - the author's, else the plot's default. */
|
|
75
|
+
labelSelects?: ValueSelect[];
|
|
63
76
|
valueLabels?: ValueLabels;
|
|
64
77
|
markers?: AxisBasedMarkersConfig[];
|
|
65
78
|
tooltipFormat?: (row: Record<string, unknown>) => string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AxisValue } from '../../layout/mapping';
|
|
1
|
+
import type { AxisChannelName, AxisValue } from '../../layout/mapping';
|
|
2
2
|
/**
|
|
3
3
|
* Resolved `{data, x, y}` input a statistic computes over - a marker's own
|
|
4
4
|
* data, or one plot series/the pooled combination of every series. `x`/`y`
|
|
@@ -8,6 +8,8 @@ export type StatisticSource<T extends Record<string, unknown> = Record<string, u
|
|
|
8
8
|
data: T[];
|
|
9
9
|
x: string | ((d: any) => AxisValue);
|
|
10
10
|
y: string | ((d: any) => AxisValue);
|
|
11
|
+
/** The axis the plot measures along, which a statistic of the values (`deviation`) reads. Defaults to `y`. */
|
|
12
|
+
axis?: AxisChannelName;
|
|
11
13
|
/** Fallback stroke for the derived marker, used when its own `styles.stroke` is unset - typically the source series' own color. */
|
|
12
14
|
color?: string;
|
|
13
15
|
};
|
|
@@ -2,6 +2,7 @@ import type { Series } from '../../plots/data/common';
|
|
|
2
2
|
import type { MarkerTransform } from '../../transforms';
|
|
3
3
|
import type { PlotAxes } from '../../../phases/data/PlotAxes';
|
|
4
4
|
import type { VisualGroup } from '../../plots/segments/config';
|
|
5
|
+
import type { ValuesStyle, ValueSelect } from '../../layout/styles';
|
|
5
6
|
/** A row the plot-level transforms produced: the source row's fields, plus whatever channels they add (often symbol-keyed). */
|
|
6
7
|
export type ProcessedRow = Record<string | symbol, unknown>;
|
|
7
8
|
/** A channel as svelteplot reads it off a processed row: a field key, a symbol key, or a function. */
|
|
@@ -33,6 +34,12 @@ export type TransformsStageState = {
|
|
|
33
34
|
}>>;
|
|
34
35
|
transforms?: MarkerTransform[];
|
|
35
36
|
processedData?: ProcessedData;
|
|
37
|
+
/** The plot's `styles.values`, which picks the rows its labels are written for. */
|
|
38
|
+
values?: ValuesStyle;
|
|
39
|
+
/** The processed rows `styles.values` labels, once the labels are on and the plot picks them (see {@link TransformsStageOptions.labels}). */
|
|
40
|
+
labelled?: ProcessedRow[];
|
|
41
|
+
/** What `styles.values.select` came to - the author's, else the plot's default - which says where the labelled rows can sit. */
|
|
42
|
+
labelSelects?: ValueSelect[];
|
|
36
43
|
/** The processed rows split back into the visual groups the plot's own marks draw. */
|
|
37
44
|
processedGroups?: VisualGroup<Series<ProcessedRow>, any>[];
|
|
38
45
|
};
|
|
@@ -47,4 +54,19 @@ export type TransformsStageOptions<TState extends TransformsStageState, TCtx> =
|
|
|
47
54
|
* `shuffle`) decides which rows paint on top.
|
|
48
55
|
*/
|
|
49
56
|
groups?: 'series' | 'runs';
|
|
57
|
+
/**
|
|
58
|
+
* The plot picks the rows its value labels are written for, when the labels
|
|
59
|
+
* are on: `styles.values.select` and `series` run as transforms over the
|
|
60
|
+
* processed rows, into `labelled`.
|
|
61
|
+
*/
|
|
62
|
+
labels?: {
|
|
63
|
+
/** Picks the rows even when `styles.values.show` is unset: for a plot that shows its values by default. */
|
|
64
|
+
show?: boolean;
|
|
65
|
+
/** The rows picked when `styles.values.select` is unset. Defaults to every row. */
|
|
66
|
+
select?: ValueSelect | ValueSelect[];
|
|
67
|
+
/** What a selector picks among: each series (the default), or each category. */
|
|
68
|
+
group?: 'series' | 'category';
|
|
69
|
+
/** A test for the rows that cannot be labelled (a gap), read off the state once. */
|
|
70
|
+
skip?: (state: TransformsStageState) => (row: ProcessedRow) => boolean;
|
|
71
|
+
};
|
|
50
72
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { BasePlotProps, PlotCoreProps } from '
|
|
2
|
-
import type { AxisBasedScalesConfig } from '
|
|
3
|
-
import type { AxisBasedMarkersConfig } from '
|
|
4
|
-
import type { SeriesProps, DataProps } from '
|
|
5
|
-
import type { AxisBasedStylesConfig } from '
|
|
6
|
-
import type { CellSegmentStyle } from '
|
|
1
|
+
import type { BasePlotProps, PlotCoreProps } from '../../props';
|
|
2
|
+
import type { AxisBasedScalesConfig } from '../../../layout/scales';
|
|
3
|
+
import type { AxisBasedMarkersConfig } from '../../../markers/common';
|
|
4
|
+
import type { SeriesProps, DataProps } from '../../data/common';
|
|
5
|
+
import type { AxisBasedStylesConfig } from '../../../layout/styles';
|
|
6
|
+
import type { CellSegmentStyle } from '../../segments/common';
|
|
7
7
|
/** `HeatmapPlot`'s public props. */
|
|
8
8
|
export type HeatmapPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, CellSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
|
|
9
9
|
/** What `HeatmapPlot`'s core draws from. */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { CellSegmentStyle } from '
|
|
2
|
-
import type { ResolvedChannel, ResolvedChannels } from '
|
|
3
|
-
import type { LegendRange } from '
|
|
4
|
-
import type { AxisPlotState, AxisPlotCtx } from '
|
|
1
|
+
import type { CellSegmentStyle } from '../../segments/common';
|
|
2
|
+
import type { ResolvedChannel, ResolvedChannels } from '../../../layout/mapping';
|
|
3
|
+
import type { LegendRange } from '../../../layout/legend';
|
|
4
|
+
import type { AxisPlotState, AxisPlotCtx } from '../../../phases';
|
|
5
5
|
/**
|
|
6
6
|
* The active continuous-legend range filter, if any - narrows which cells
|
|
7
7
|
* render at full opacity, and in `'rescale'` mode, the color domain itself.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { BasePlotProps, PlotCoreProps } from '
|
|
2
|
-
import type { AxisBasedScalesConfig } from '
|
|
3
|
-
import type { AxisBasedMarkersConfig } from '
|
|
4
|
-
import type { SeriesProps, DataProps } from '
|
|
5
|
-
import type { AxisBasedStylesConfig } from '
|
|
6
|
-
import type { ScatterSegmentStyle } from '
|
|
1
|
+
import type { BasePlotProps, PlotCoreProps } from '../../props';
|
|
2
|
+
import type { AxisBasedScalesConfig } from '../../../layout/scales';
|
|
3
|
+
import type { AxisBasedMarkersConfig } from '../../../markers/common';
|
|
4
|
+
import type { SeriesProps, DataProps } from '../../data/common';
|
|
5
|
+
import type { AxisBasedStylesConfig } from '../../../layout/styles';
|
|
6
|
+
import type { ScatterSegmentStyle } from '../../segments/common';
|
|
7
7
|
/** `ScatterPlot`'s public props. */
|
|
8
8
|
export type ScatterPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, ScatterSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
|
|
9
9
|
/** What `ScatterPlot`'s core draws from. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ScatterSegmentStyle } from '
|
|
2
|
-
import type { AxisPlotState, AxisPlotCtx } from '
|
|
1
|
+
import type { ScatterSegmentStyle } from '../../segments/common';
|
|
2
|
+
import type { AxisPlotState, AxisPlotCtx } from '../../../phases';
|
|
3
3
|
/** ScatterPlot's pipeline state: the shared axis-based state, with no extras of its own. */
|
|
4
4
|
export type ScatterPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, ScatterSegmentStyle>;
|
|
5
5
|
/** The environment every ScatterPlot phase reads from, alongside the growing state. */
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { BasePlotProps, PlotCoreProps } from '
|
|
2
|
-
import type { AxisBasedScalesConfig } from '
|
|
3
|
-
import type { AxisBasedMarkersConfig } from '
|
|
4
|
-
import type { SeriesProps, DataProps } from '
|
|
5
|
-
import type { AxisBasedStylesConfig } from '
|
|
6
|
-
import type { AreaStyle } from '
|
|
1
|
+
import type { BasePlotProps, PlotCoreProps } from '../../props';
|
|
2
|
+
import type { AxisBasedScalesConfig } from '../../../layout/scales';
|
|
3
|
+
import type { AxisBasedMarkersConfig } from '../../../markers/common';
|
|
4
|
+
import type { SeriesProps, DataProps } from '../../data/common';
|
|
5
|
+
import type { AxisBasedStylesConfig } from '../../../layout/styles';
|
|
6
|
+
import type { AreaStyle } from '../../styling';
|
|
7
7
|
/** `BoxPlot`'s public props. */
|
|
8
8
|
export type BoxPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, AreaStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
|
|
9
9
|
/** What `BoxPlot`'s core draws from. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { AreaStyle } from '
|
|
2
|
-
import type { AxisPlotState, AxisPlotCtx, ProcessedRow } from '
|
|
3
|
-
import type { AxisValue } from '
|
|
1
|
+
import type { AreaStyle } from '../../styling';
|
|
2
|
+
import type { AxisPlotState, AxisPlotCtx, ProcessedRow } from '../../../phases';
|
|
3
|
+
import type { AxisValue } from '../../../layout/mapping';
|
|
4
4
|
/** BoxPlot's pipeline state: the shared axis-based state, with no extras of its own. */
|
|
5
5
|
export type BoxPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, AreaStyle>;
|
|
6
6
|
/** The environment every BoxPlot phase reads from, alongside the growing state. */
|