@fundar/data-chart-telling 0.0.64 → 1.0.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 +17 -0
- package/LICENSE +21 -0
- package/README.md +81 -561
- package/dist/configuration/config.svelte.d.ts +5 -5
- package/dist/configuration/config.svelte.js +130 -46
- package/dist/configuration/fonts.d.ts +6 -0
- package/dist/configuration/fonts.js +6 -0
- package/dist/configuration/themes/compact.d.ts +2 -2
- package/dist/configuration/themes/compact.js +1 -1
- package/dist/configuration/themes/dark.d.ts +2 -2
- package/dist/configuration/themes/dark.js +5 -4
- package/dist/configuration/themes/default.d.ts +8 -3
- package/dist/configuration/themes/default.js +8 -2
- package/dist/configuration/themes/editorial.d.ts +2 -2
- package/dist/configuration/themes/editorial.js +2 -2
- package/dist/configuration/themes/index.d.ts +421 -80
- package/dist/configuration/themes/index.js +6 -5
- package/dist/index.d.ts +34 -48
- package/dist/index.js +19 -35
- package/dist/layout/base/BasePlotLayout.svelte +312 -0
- package/dist/layout/base/BasePlotLayout.svelte.d.ts +111 -0
- package/dist/layout/composer/PlotComposer.svelte +94 -0
- package/dist/layout/composer/PlotComposer.svelte.d.ts +13 -0
- package/dist/layout/coordinates/CameraFit.svelte +4 -4
- package/dist/layout/coordinates/CoordinatesLayout.svelte +11 -3
- package/dist/layout/coordinates/CoordinatesLayout.svelte.d.ts +6 -2
- package/dist/layout/coordinates/camera.svelte.d.ts +1 -1
- package/dist/layout/coordinates/camera.svelte.js +6 -6
- package/dist/layout/coordinates/projections/argentina.js +3 -3
- package/dist/layout/coordinates/projections/fit.js +1 -1
- package/dist/layout/coordinates/resolveCameraTarget.d.ts +1 -1
- package/dist/layout/coordinates/resolveProjection.d.ts +1 -1
- package/dist/layout/coordinates/resolveProjection.js +2 -2
- package/dist/layout/coordinates/rotate.svelte.d.ts +3 -3
- package/dist/layout/coordinates/rotate.svelte.js +8 -8
- package/dist/layout/coordinates/zoom.svelte.d.ts +1 -1
- package/dist/layout/facet/FacetIndicator.svelte +23 -23
- package/dist/layout/facet/FacetLayout.svelte +435 -398
- package/dist/layout/facet/FacetLayout.svelte.d.ts +9 -3
- package/dist/layout/facet/axes.d.ts +16 -0
- package/dist/layout/facet/axes.js +25 -0
- package/dist/layout/facet/config.d.ts +32 -0
- package/dist/layout/facet/config.js +82 -0
- package/dist/layout/figure/Figure.svelte +177 -0
- package/dist/layout/figure/Figure.svelte.d.ts +14 -0
- package/dist/layout/figure/FigureChrome.svelte +341 -0
- package/dist/layout/figure/FigureChrome.svelte.d.ts +21 -0
- package/dist/layout/geometry/FrameClip.svelte +45 -0
- package/dist/layout/geometry/FrameClip.svelte.d.ts +8 -0
- package/dist/layout/geometry/FrameClipping.d.ts +24 -0
- package/dist/layout/geometry/FrameClipping.js +40 -0
- package/dist/layout/geometry/GeometryLayout.svelte +287 -224
- package/dist/layout/geometry/GeometryLayout.svelte.d.ts +10 -10
- package/dist/layout/grid/Grid.svelte +194 -0
- package/dist/layout/grid/Grid.svelte.d.ts +26 -0
- package/dist/layout/grid/GridAlignment.svelte.d.ts +31 -0
- package/dist/layout/grid/GridAlignment.svelte.js +56 -0
- package/dist/layout/grid/GridCell.svelte +141 -0
- package/dist/layout/grid/GridCell.svelte.d.ts +17 -0
- package/dist/layout/grid/GridCellsRegistry.svelte.d.ts +52 -0
- package/dist/layout/grid/GridCellsRegistry.svelte.js +70 -0
- package/dist/layout/grid/GridPlan.d.ts +49 -0
- package/dist/layout/grid/GridPlan.js +167 -0
- package/dist/layout/grid/Tags.d.ts +8 -0
- package/dist/layout/grid/Tags.js +39 -0
- package/dist/layout/hover/HoverScope.svelte +11 -0
- package/dist/layout/hover/HoverScope.svelte.d.ts +8 -0
- package/dist/layout/hover/HoverSettings.d.ts +20 -0
- package/dist/layout/hover/HoverSettings.js +27 -0
- package/dist/layout/hover/HoverState.svelte.d.ts +47 -0
- package/dist/layout/hover/HoverState.svelte.js +99 -0
- package/dist/layout/hover/PlotHover.svelte.d.ts +63 -0
- package/dist/layout/hover/PlotHover.svelte.js +133 -0
- package/dist/layout/interaction/PlotInteraction.svelte.d.ts +38 -0
- package/dist/layout/interaction/PlotInteraction.svelte.js +56 -0
- package/dist/layout/legend/AxisNumberFormat.d.ts +12 -0
- package/dist/layout/legend/AxisNumberFormat.js +25 -0
- package/dist/layout/legend/ContinuousSection.svelte +363 -351
- package/dist/layout/legend/DisabledStyle.d.ts +19 -0
- package/dist/layout/legend/DisabledStyle.js +57 -0
- package/dist/layout/legend/DiscreteBadgeItem.svelte +6 -3
- package/dist/layout/legend/DiscreteSection.svelte +32 -32
- package/dist/layout/legend/DiscreteSwatchItem.svelte +4 -1
- package/dist/layout/legend/DiscreteSymbolIcon.svelte +14 -9
- package/dist/layout/legend/LegendChannels.d.ts +21 -0
- package/dist/layout/legend/LegendChannels.js +221 -0
- package/dist/layout/legend/LegendLayout.svelte +49 -43
- package/dist/layout/legend/LegendState.svelte.d.ts +79 -0
- package/dist/layout/legend/LegendState.svelte.js +329 -0
- package/dist/layout/legend/LegendText.d.ts +12 -0
- package/dist/layout/legend/LegendText.js +22 -0
- package/dist/layout/legend/SizeSection.svelte +84 -0
- package/dist/layout/legend/SizeSection.svelte.d.ts +7 -0
- package/dist/layout/legend/SymbolSection.svelte +31 -0
- package/dist/layout/legend/SymbolSection.svelte.d.ts +8 -0
- package/dist/layout/margins/Box.d.ts +84 -0
- package/dist/layout/margins/Box.js +138 -0
- package/dist/layout/margins/Margins.d.ts +37 -0
- package/dist/layout/margins/Margins.js +71 -0
- package/dist/layout/margins/PlotMargins.svelte.d.ts +101 -0
- package/dist/layout/margins/PlotMargins.svelte.js +219 -0
- package/dist/layout/plot/Core.svelte +61 -0
- package/dist/layout/plot/Core.svelte.d.ts +41 -0
- package/dist/layout/plot/PanelRun.svelte +28 -0
- package/dist/{charts/heatmap/Chart.svelte.d.ts → layout/plot/PanelRun.svelte.d.ts} +11 -7
- package/dist/layout/plot/Plot.svelte +284 -0
- package/dist/layout/plot/Plot.svelte.d.ts +49 -0
- package/dist/layout/plot/PlotContext.d.ts +41 -0
- package/dist/layout/plot/PlotContext.js +46 -0
- package/dist/layout/plot/PublicPlotContext.d.ts +130 -0
- package/dist/layout/plot/PublicPlotContext.js +236 -0
- package/dist/layout/plot/Slice.d.ts +44 -0
- package/dist/layout/plot/Slice.js +98 -0
- package/dist/layout/plot/usePlot.d.ts +9 -0
- package/dist/layout/plot/usePlot.js +13 -0
- package/dist/layout/scales/ScalesLayout.svelte +241 -206
- package/dist/layout/scales/ScalesLayout.svelte.d.ts +2 -1
- package/dist/layout/scales/buildScale.d.ts +5 -22
- package/dist/layout/scales/buildScale.js +11 -34
- package/dist/layout/scales/niceDomain.d.ts +3 -3
- package/dist/layout/scales/niceDomain.js +4 -4
- package/dist/layout/styles/StylesLayout.svelte +65 -65
- package/dist/layout/styles/TileLayer.svelte +78 -76
- package/dist/layout/styles/TileLayer.svelte.d.ts +1 -1
- package/dist/layout/styles/ValueLabels.d.ts +97 -0
- package/dist/layout/styles/ValueLabels.js +237 -0
- package/dist/layout/timeline/Timeline.svelte +80 -74
- package/dist/layout/timeline/TimelineFrame.svelte +86 -0
- package/dist/layout/timeline/TimelineFrame.svelte.d.ts +16 -0
- package/dist/layout/timeline/TimelineLayout.svelte +114 -169
- package/dist/layout/timeline/TimelineLayout.svelte.d.ts +2 -0
- package/dist/layout/timeline/TimelinePlayer.svelte +195 -0
- package/dist/layout/timeline/TimelinePlayer.svelte.d.ts +7 -0
- package/dist/layout/timeline/TimelineRule.svelte +50 -0
- package/dist/layout/timeline/TimelineRule.svelte.d.ts +7 -0
- package/dist/layout/timeline/TimelineState.svelte.d.ts +82 -0
- package/dist/layout/timeline/TimelineState.svelte.js +226 -0
- package/dist/layout/timeline/TimelineSteps.d.ts +24 -0
- package/dist/layout/timeline/TimelineSteps.js +48 -0
- package/dist/layout/tooltip/Tooltip.svelte +82 -85
- package/dist/layout/tooltip/Tooltip.svelte.d.ts +43 -24
- package/dist/layout/tooltip/TooltipState.svelte.d.ts +61 -0
- package/dist/layout/tooltip/TooltipState.svelte.js +107 -0
- package/dist/markers/MarkerKinds.d.ts +173 -0
- package/dist/markers/MarkerKinds.js +51 -0
- package/dist/markers/area/AreaMarker.svelte +110 -0
- package/dist/markers/area/AreaMarker.svelte.d.ts +7 -0
- package/dist/markers/arrow/ArrowMarker.svelte +28 -0
- package/dist/markers/arrow/ArrowMarker.svelte.d.ts +7 -0
- package/dist/markers/{BarMarker.svelte → bar/BarMarker.svelte} +54 -52
- package/dist/markers/{BarMarker.svelte.d.ts → bar/BarMarker.svelte.d.ts} +1 -1
- package/dist/markers/bollinger/BollingerMarker.svelte +44 -0
- package/dist/markers/bollinger/BollingerMarker.svelte.d.ts +7 -0
- package/dist/markers/box/BoxMarker.svelte +143 -0
- package/dist/markers/box/BoxMarker.svelte.d.ts +7 -0
- package/dist/markers/brush/BrushMarker.svelte +32 -0
- package/dist/markers/brush/BrushMarker.svelte.d.ts +7 -0
- package/dist/markers/cell/CellMarker.svelte +27 -0
- package/dist/markers/{CellMarker.svelte.d.ts → cell/CellMarker.svelte.d.ts} +1 -1
- package/dist/markers/contour/ContourClipMarker.svelte +83 -0
- package/dist/markers/{ContourClipMarker.svelte.d.ts → contour/ContourClipMarker.svelte.d.ts} +1 -1
- package/dist/markers/contour/ContourMarker.svelte +28 -0
- package/dist/markers/{ContourMarker.svelte.d.ts → contour/ContourMarker.svelte.d.ts} +1 -1
- package/dist/markers/delaunay/DelaunayLinkMarker.svelte +26 -0
- package/dist/markers/delaunay/DelaunayLinkMarker.svelte.d.ts +7 -0
- package/dist/markers/delaunay/DelaunayMeshMarker.svelte +26 -0
- package/dist/markers/delaunay/DelaunayMeshMarker.svelte.d.ts +7 -0
- package/dist/markers/delta/Delta.d.ts +21 -0
- package/dist/markers/delta/Delta.js +60 -0
- package/dist/markers/delta/DeltaMarker.svelte +94 -0
- package/dist/markers/{DeltaMarker.svelte.d.ts → delta/DeltaMarker.svelte.d.ts} +2 -2
- package/dist/markers/density/DensityMarker.svelte +63 -0
- package/dist/markers/density/DensityMarker.svelte.d.ts +7 -0
- package/dist/markers/difference/DifferenceMarker.svelte +30 -0
- package/dist/markers/difference/DifferenceMarker.svelte.d.ts +7 -0
- package/dist/markers/dot/DotMarker.svelte +102 -0
- package/dist/markers/{DotMarker.svelte.d.ts → dot/DotMarker.svelte.d.ts} +5 -17
- package/dist/markers/geo/GeoFeaturesMarker.svelte +39 -0
- package/dist/markers/{GeoFeaturesMarker.svelte.d.ts → geo/GeoFeaturesMarker.svelte.d.ts} +1 -1
- package/dist/markers/geo/GeoHoverMarker.svelte +28 -0
- package/dist/markers/{GeoHoverMarker.svelte.d.ts → geo/GeoHoverMarker.svelte.d.ts} +2 -2
- package/dist/markers/geo/GraticuleMarker.svelte +18 -0
- package/dist/markers/{GraticuleMarker.svelte.d.ts → geo/GraticuleMarker.svelte.d.ts} +1 -1
- package/dist/markers/geo/SphereMarker.svelte +15 -0
- package/dist/markers/{SphereMarker.svelte.d.ts → geo/SphereMarker.svelte.d.ts} +1 -1
- package/dist/markers/hover/HoverMarker.svelte +252 -0
- package/dist/markers/{HoverMarker.svelte.d.ts → hover/HoverMarker.svelte.d.ts} +10 -10
- package/dist/markers/hull/HullMarker.svelte +25 -0
- package/dist/markers/hull/HullMarker.svelte.d.ts +7 -0
- package/dist/markers/image/ImageMarker.svelte +22 -0
- package/dist/markers/image/ImageMarker.svelte.d.ts +7 -0
- package/dist/markers/inset/InsetMarker.svelte +184 -150
- package/dist/markers/inset/InsetMarker.svelte.d.ts +4 -4
- package/dist/markers/inset/insetLayout.d.ts +1 -1
- package/dist/markers/inset/insetLayout.js +6 -2
- package/dist/markers/inset/insetProjection.d.ts +1 -1
- package/dist/markers/inset/insetProjection.js +3 -3
- package/dist/markers/line/LineMarker.svelte +30 -0
- package/dist/markers/{LineMarker.svelte.d.ts → line/LineMarker.svelte.d.ts} +1 -1
- package/dist/markers/link/LinkMarker.svelte +47 -0
- package/dist/markers/{LinkMarker.svelte.d.ts → link/LinkMarker.svelte.d.ts} +1 -1
- package/dist/markers/raster/RasterMarker.svelte +31 -0
- package/dist/markers/raster/RasterMarker.svelte.d.ts +7 -0
- package/dist/markers/rect/RectMarker.svelte +62 -0
- package/dist/markers/rect/RectMarker.svelte.d.ts +7 -0
- package/dist/markers/regression/RegressionMarker.svelte +60 -0
- package/dist/markers/regression/RegressionMarker.svelte.d.ts +7 -0
- package/dist/markers/rule/RuleMarker.svelte +47 -0
- package/dist/markers/{RuleMarker.svelte.d.ts → rule/RuleMarker.svelte.d.ts} +2 -5
- package/dist/markers/text/Declutter.d.ts +35 -0
- package/dist/markers/text/Declutter.js +157 -0
- package/dist/markers/text/TextMarker.svelte +244 -0
- package/dist/markers/{TextMarker.svelte.d.ts → text/TextMarker.svelte.d.ts} +5 -9
- package/dist/markers/tick/TickMarker.svelte +44 -0
- package/dist/markers/tick/TickMarker.svelte.d.ts +7 -0
- package/dist/markers/trail/TrailMarker.svelte +27 -0
- package/dist/markers/trail/TrailMarker.svelte.d.ts +7 -0
- package/dist/markers/utils/BandNudge.d.ts +22 -0
- package/dist/markers/utils/BandNudge.js +23 -0
- package/dist/markers/utils/MarkerChannels.d.ts +49 -0
- package/dist/markers/utils/MarkerChannels.js +97 -0
- package/dist/markers/vector/VectorMarker.svelte +29 -0
- package/dist/markers/{VectorMarker.svelte.d.ts → vector/VectorMarker.svelte.d.ts} +1 -1
- package/dist/markers/voronoi/VoronoiMarker.svelte +26 -0
- package/dist/markers/voronoi/VoronoiMarker.svelte.d.ts +7 -0
- package/dist/markers/voronoi/VoronoiMeshMarker.svelte +26 -0
- package/dist/markers/voronoi/VoronoiMeshMarker.svelte.d.ts +7 -0
- package/dist/markers/waffle/WaffleMarker.svelte +56 -0
- package/dist/markers/waffle/WaffleMarker.svelte.d.ts +7 -0
- package/dist/phases/Pipeline.d.ts +108 -0
- package/dist/phases/Pipeline.js +226 -0
- package/dist/phases/data/DataPhase.d.ts +25 -0
- package/dist/phases/data/DataPhase.js +82 -0
- package/dist/phases/data/PlotAxes.d.ts +75 -0
- package/dist/phases/data/PlotAxes.js +151 -0
- package/dist/phases/facet/FacetPhase.d.ts +52 -0
- package/dist/phases/facet/FacetPhase.js +114 -0
- package/dist/phases/hover/HoverPhase.d.ts +73 -0
- package/dist/phases/hover/HoverPhase.js +144 -0
- package/dist/phases/mapping/MappingPhase.d.ts +17 -0
- package/dist/phases/mapping/MappingPhase.js +42 -0
- package/dist/phases/markers/MarkersPhase.d.ts +14 -0
- package/dist/phases/markers/MarkersPhase.js +27 -0
- package/dist/phases/scales/MarkerAxisValues.d.ts +12 -0
- package/dist/phases/scales/MarkerAxisValues.js +34 -0
- package/dist/phases/scales/ScalesPhase.d.ts +31 -0
- package/dist/phases/scales/ScalesPhase.js +157 -0
- package/dist/phases/sharedScales/SharedScalesPhase.d.ts +55 -0
- package/dist/phases/sharedScales/SharedScalesPhase.js +168 -0
- package/dist/phases/statistics/AuthorMarkers.d.ts +43 -0
- package/dist/phases/statistics/AuthorMarkers.js +69 -0
- package/dist/phases/statistics/MarkerGrouping.d.ts +48 -0
- package/dist/phases/statistics/MarkerGrouping.js +113 -0
- package/dist/phases/statistics/Statistics.d.ts +53 -0
- package/dist/phases/statistics/Statistics.js +156 -0
- package/dist/phases/statistics/StatisticsPhase.d.ts +18 -0
- package/dist/phases/statistics/StatisticsPhase.js +68 -0
- package/dist/phases/statistics/methods/BollingerStatistic.d.ts +9 -0
- package/dist/phases/statistics/methods/BollingerStatistic.js +18 -0
- package/dist/phases/statistics/methods/BoxStatistic.d.ts +9 -0
- package/dist/phases/statistics/methods/BoxStatistic.js +18 -0
- package/dist/phases/statistics/methods/Density2dStatistic.d.ts +9 -0
- package/dist/phases/statistics/methods/Density2dStatistic.js +18 -0
- package/dist/phases/statistics/methods/DensityStatistic.d.ts +12 -0
- package/dist/phases/statistics/methods/DensityStatistic.js +29 -0
- package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +12 -0
- package/dist/phases/statistics/methods/MovingAverageStatistic.js +30 -0
- package/dist/phases/statistics/methods/RegressionStatistic.d.ts +9 -0
- package/dist/phases/statistics/methods/RegressionStatistic.js +21 -0
- package/dist/phases/styles/StylesPhase.d.ts +13 -0
- package/dist/phases/styles/StylesPhase.js +17 -0
- package/dist/phases/tooltip/TooltipPhase.d.ts +12 -0
- package/dist/phases/tooltip/TooltipPhase.js +10 -0
- package/dist/phases/transforms/Transforms.d.ts +42 -0
- package/dist/phases/transforms/Transforms.js +130 -0
- package/dist/phases/transforms/TransformsPhase.d.ts +64 -0
- package/dist/phases/transforms/TransformsPhase.js +242 -0
- package/dist/phases/transforms/methods/AnchorBar.d.ts +13 -0
- package/dist/phases/transforms/methods/AnchorBar.js +21 -0
- package/dist/phases/transforms/methods/BinTransform.d.ts +7 -0
- package/dist/phases/transforms/methods/BinTransform.js +48 -0
- package/dist/phases/transforms/methods/DensityTransform.d.ts +6 -0
- package/dist/phases/transforms/methods/DensityTransform.js +13 -0
- package/dist/phases/transforms/methods/GroupTransform.d.ts +8 -0
- package/dist/phases/transforms/methods/GroupTransform.js +39 -0
- package/dist/phases/transforms/methods/NormalizeTransform.d.ts +10 -0
- package/dist/phases/transforms/methods/NormalizeTransform.js +30 -0
- package/dist/phases/transforms/methods/OrderTransform.d.ts +16 -0
- package/dist/phases/transforms/methods/OrderTransform.js +43 -0
- package/dist/phases/transforms/methods/PerGroup.d.ts +11 -0
- package/dist/phases/transforms/methods/PerGroup.js +39 -0
- package/dist/phases/transforms/methods/PositionTransform.d.ts +15 -0
- package/dist/phases/transforms/methods/PositionTransform.js +74 -0
- package/dist/phases/transforms/methods/StackTransform.d.ts +8 -0
- package/dist/phases/transforms/methods/StackTransform.js +29 -0
- package/dist/phases/transforms/methods/WindowTransform.d.ts +8 -0
- package/dist/phases/transforms/methods/WindowTransform.js +23 -0
- package/dist/plots/area/Plot.svelte +42 -0
- package/dist/plots/{heatmap/ValueLabels.svelte.d.ts → area/Plot.svelte.d.ts} +8 -16
- package/dist/plots/area/defaults.d.ts +4 -0
- package/dist/plots/area/defaults.js +21 -0
- package/dist/plots/area/markers.d.ts +14 -0
- package/dist/plots/area/markers.js +40 -0
- package/dist/plots/bar/Plot.svelte +33 -438
- package/dist/plots/bar/Plot.svelte.d.ts +5 -8
- package/dist/plots/bar/defaults.d.ts +9 -0
- package/dist/plots/bar/defaults.js +92 -0
- package/dist/plots/bar/markers.d.ts +45 -0
- package/dist/plots/bar/markers.js +232 -0
- package/dist/plots/geo/Core.svelte +151 -0
- package/dist/plots/geo/Core.svelte.d.ts +25 -0
- package/dist/plots/geo/Plot.svelte +103 -324
- package/dist/plots/geo/Plot.svelte.d.ts +5 -9
- package/dist/plots/geo/defaults.d.ts +4 -0
- package/dist/plots/geo/defaults.js +16 -0
- package/dist/plots/geo/features.svelte.d.ts +5 -0
- package/dist/plots/geo/features.svelte.js +44 -0
- package/dist/plots/geo/phases/data.d.ts +6 -0
- package/dist/plots/geo/phases/data.js +26 -0
- package/dist/plots/geo/phases/hover.d.ts +9 -0
- package/dist/plots/geo/phases/hover.js +45 -0
- package/dist/plots/geo/phases/markers.d.ts +9 -0
- package/dist/plots/geo/phases/markers.js +76 -0
- package/dist/plots/geo/phases/scales.d.ts +10 -0
- package/dist/plots/geo/phases/scales.js +85 -0
- package/dist/plots/geo/phases/tooltip.d.ts +3 -0
- package/dist/plots/geo/phases/tooltip.js +5 -0
- package/dist/plots/geo/slices.d.ts +18 -0
- package/dist/plots/geo/slices.js +56 -0
- package/dist/plots/heatmap/Plot.svelte +55 -249
- package/dist/plots/heatmap/Plot.svelte.d.ts +5 -8
- package/dist/plots/heatmap/defaults.d.ts +11 -0
- package/dist/plots/heatmap/defaults.js +91 -0
- package/dist/plots/heatmap/markers.d.ts +17 -0
- package/dist/plots/heatmap/markers.js +141 -0
- package/dist/plots/histogram/Plot.svelte +45 -0
- package/dist/plots/histogram/Plot.svelte.d.ts +26 -0
- package/dist/plots/histogram/defaults.d.ts +9 -0
- package/dist/plots/histogram/defaults.js +87 -0
- package/dist/plots/histogram/markers.d.ts +18 -0
- package/dist/plots/histogram/markers.js +89 -0
- package/dist/plots/line/Plot.svelte +37 -268
- package/dist/plots/line/Plot.svelte.d.ts +3 -7
- package/dist/plots/line/defaults.d.ts +4 -0
- package/dist/plots/line/defaults.js +29 -0
- package/dist/plots/line/markers.d.ts +49 -0
- package/dist/plots/line/markers.js +200 -0
- package/dist/plots/pyramid/Plot.svelte +34 -362
- package/dist/plots/pyramid/Plot.svelte.d.ts +5 -8
- package/dist/plots/pyramid/defaults.d.ts +13 -0
- package/dist/plots/pyramid/defaults.js +86 -0
- package/dist/plots/pyramid/markers.d.ts +21 -0
- package/dist/plots/pyramid/markers.js +159 -0
- package/dist/plots/scatter/Plot.svelte +34 -288
- package/dist/plots/scatter/Plot.svelte.d.ts +5 -8
- package/dist/plots/scatter/defaults.d.ts +4 -0
- package/dist/plots/scatter/defaults.js +79 -0
- package/dist/plots/scatter/markers.d.ts +19 -0
- package/dist/plots/scatter/markers.js +128 -0
- package/dist/plots/utils/ChannelName.d.ts +9 -0
- package/dist/plots/utils/ChannelName.js +14 -0
- package/dist/plots/utils/accessors.d.ts +1 -1
- package/dist/plots/utils/accessors.js +4 -2
- package/dist/plots/utils/gaps.d.ts +14 -19
- package/dist/plots/utils/gaps.js +38 -18
- package/dist/plots/utils/geoAccessors.d.ts +8 -8
- package/dist/plots/utils/geoAccessors.js +16 -12
- package/dist/plots/utils/geoSegments.d.ts +24 -9
- package/dist/plots/utils/geoSegments.js +31 -11
- package/dist/plots/utils/segments.d.ts +5 -16
- package/dist/plots/utils/segments.js +40 -52
- package/dist/plots/utils/tiles.d.ts +9 -9
- package/dist/plots/utils/tiles.js +35 -25
- package/dist/plots/utils/topojson.d.ts +1 -1
- package/dist/plots/utils/topojson.js +3 -3
- package/dist/stores/device.js +2 -4
- package/dist/types/configuration/styling.d.ts +152 -27
- package/dist/types/layout/box.d.ts +24 -0
- package/dist/types/layout/composer.d.ts +36 -0
- package/dist/types/layout/coordinates.d.ts +14 -14
- package/dist/types/layout/facet.d.ts +44 -22
- package/dist/types/layout/figure.d.ts +7 -0
- package/dist/types/layout/geometry.d.ts +6 -2
- package/dist/types/layout/grid.d.ts +66 -0
- package/dist/types/layout/hover.d.ts +48 -0
- package/dist/types/layout/legend.d.ts +256 -55
- package/dist/types/layout/mapping.d.ts +68 -0
- package/dist/types/layout/plot.d.ts +41 -0
- package/dist/types/layout/scales.d.ts +92 -24
- package/dist/types/layout/scales.js +19 -1
- package/dist/types/layout/statistics/bollinger.d.ts +18 -0
- package/dist/types/layout/statistics/box.d.ts +8 -0
- package/dist/types/layout/statistics/box.js +1 -0
- package/dist/types/layout/statistics/density.d.ts +27 -0
- package/dist/types/layout/statistics/density.js +1 -0
- package/dist/types/layout/statistics/index.d.ts +46 -0
- package/dist/types/layout/statistics/index.js +1 -0
- package/dist/types/layout/statistics/movingAverage.d.ts +12 -0
- package/dist/types/layout/statistics/movingAverage.js +1 -0
- package/dist/types/layout/statistics/regression.d.ts +20 -0
- package/dist/types/layout/statistics/regression.js +1 -0
- package/dist/types/layout/styles.d.ts +24 -35
- package/dist/types/layout/timeline.d.ts +51 -4
- package/dist/types/layout/tooltip.d.ts +7 -85
- package/dist/types/markers/all.d.ts +3 -4
- package/dist/types/markers/axis/area.d.ts +12 -0
- package/dist/types/markers/axis/area.js +1 -0
- package/dist/types/markers/axis/arrow.d.ts +15 -0
- package/dist/types/markers/axis/arrow.js +1 -0
- package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +29 -0
- package/dist/types/markers/axis/axisBasedMarkersConfig.js +1 -0
- package/dist/types/markers/axis/bar.d.ts +18 -0
- package/dist/types/markers/axis/bar.js +1 -0
- package/dist/types/markers/axis/bollinger.d.ts +6 -0
- package/dist/types/markers/axis/bollinger.js +1 -0
- package/dist/types/markers/axis/box.d.ts +14 -0
- package/dist/types/markers/axis/box.js +1 -0
- package/dist/types/markers/axis/brush.d.ts +28 -0
- package/dist/types/markers/axis/brush.js +1 -0
- package/dist/types/markers/axis/cell.d.ts +9 -0
- package/dist/types/markers/axis/cell.js +1 -0
- package/dist/types/markers/axis/component.d.ts +9 -0
- package/dist/types/markers/axis/component.js +1 -0
- package/dist/types/markers/axis/curveName.d.ts +2 -0
- package/dist/types/markers/axis/curveName.js +1 -0
- package/dist/types/markers/axis/delaunayLink.d.ts +7 -0
- package/dist/types/markers/axis/delaunayLink.js +1 -0
- package/dist/types/markers/axis/delaunayMesh.d.ts +7 -0
- package/dist/types/markers/axis/delaunayMesh.js +1 -0
- package/dist/types/markers/axis/delta.d.ts +27 -0
- package/dist/types/markers/axis/delta.js +1 -0
- package/dist/types/markers/axis/density.d.ts +12 -0
- package/dist/types/markers/axis/density.js +1 -0
- package/dist/types/markers/axis/difference.d.ts +12 -0
- package/dist/types/markers/axis/difference.js +1 -0
- package/dist/types/markers/axis/hover.d.ts +21 -0
- package/dist/types/markers/axis/hover.js +1 -0
- package/dist/types/markers/axis/hull.d.ts +7 -0
- package/dist/types/markers/axis/hull.js +1 -0
- package/dist/types/markers/axis/image.d.ts +12 -0
- package/dist/types/markers/axis/image.js +1 -0
- package/dist/types/markers/axis/line.d.ts +7 -0
- package/dist/types/markers/axis/line.js +1 -0
- package/dist/types/markers/axis/raster.d.ts +18 -0
- package/dist/types/markers/axis/raster.js +1 -0
- package/dist/types/markers/axis/rect.d.ts +15 -0
- package/dist/types/markers/axis/rect.js +1 -0
- package/dist/types/markers/axis/regression.d.ts +6 -0
- package/dist/types/markers/axis/regression.js +1 -0
- package/dist/types/markers/axis/rule.d.ts +15 -0
- package/dist/types/markers/axis/rule.js +1 -0
- package/dist/types/markers/axis/tick.d.ts +8 -0
- package/dist/types/markers/axis/tick.js +1 -0
- package/dist/types/markers/axis/trail.d.ts +14 -0
- package/dist/types/markers/axis/trail.js +1 -0
- package/dist/types/markers/axis/voronoi.d.ts +7 -0
- package/dist/types/markers/axis/voronoi.js +1 -0
- package/dist/types/markers/axis/voronoiMesh.d.ts +7 -0
- package/dist/types/markers/axis/voronoiMesh.js +1 -0
- package/dist/types/markers/axis/waffle.d.ts +13 -0
- package/dist/types/markers/axis/waffle.js +1 -0
- package/dist/types/markers/basic/basicMarkersConfig.d.ts +4 -0
- package/dist/types/markers/basic/basicMarkersConfig.js +1 -0
- package/dist/types/markers/basic/dot.d.ts +9 -0
- package/dist/types/markers/basic/dot.js +1 -0
- package/dist/types/markers/basic/text.d.ts +60 -0
- package/dist/types/markers/basic/text.js +1 -0
- package/dist/types/markers/basic.d.ts +4 -0
- package/dist/types/markers/basic.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfig.d.ts +26 -0
- package/dist/types/markers/channels/commonMarkerConfig.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfigWithArea.d.ts +6 -0
- package/dist/types/markers/channels/commonMarkerConfigWithArea.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfigWithColor.d.ts +5 -0
- package/dist/types/markers/channels/commonMarkerConfigWithColor.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfigWithInterval.d.ts +9 -0
- package/dist/types/markers/channels/commonMarkerConfigWithInterval.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfigWithRadius.d.ts +5 -0
- package/dist/types/markers/channels/commonMarkerConfigWithRadius.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfigWithSymbol.d.ts +5 -0
- package/dist/types/markers/channels/commonMarkerConfigWithSymbol.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfigWithWeight.d.ts +5 -0
- package/dist/types/markers/channels/commonMarkerConfigWithWeight.js +1 -0
- package/dist/types/markers/common.d.ts +30 -103
- package/dist/types/markers/common.js +29 -1
- package/dist/types/markers/geo/contour.d.ts +27 -0
- package/dist/types/markers/geo/contour.js +1 -0
- package/dist/types/markers/geo/features.d.ts +12 -0
- package/dist/types/markers/geo/features.js +1 -0
- package/dist/types/markers/geo/geoComponent.d.ts +7 -0
- package/dist/types/markers/geo/geoComponent.js +1 -0
- package/dist/types/markers/geo/geoHover.d.ts +6 -0
- package/dist/types/markers/geo/geoHover.js +1 -0
- package/dist/types/markers/geo/geoMarkersConfig.d.ts +11 -0
- package/dist/types/markers/geo/geoMarkersConfig.js +1 -0
- package/dist/types/markers/geo/graticule.d.ts +11 -0
- package/dist/types/markers/geo/graticule.js +1 -0
- package/dist/types/markers/geo/inset.d.ts +50 -0
- package/dist/types/markers/geo/inset.js +1 -0
- package/dist/types/markers/geo/link.d.ts +13 -0
- package/dist/types/markers/geo/link.js +1 -0
- package/dist/types/markers/geo/sphere.d.ts +11 -0
- package/dist/types/markers/geo/sphere.js +1 -0
- package/dist/types/markers/geo/vector.d.ts +17 -0
- package/dist/types/markers/geo/vector.js +1 -0
- package/dist/types/markers/geo.d.ts +10 -212
- package/dist/types/markers/geo.js +10 -1
- package/dist/types/markers/traits.d.ts +22 -0
- package/dist/types/markers/traits.js +1 -0
- package/dist/types/misc/easing.js +1 -0
- package/dist/types/misc/viewport.js +1 -0
- package/dist/types/phases/data/axes.d.ts +18 -0
- package/dist/types/phases/data/axes.js +1 -0
- package/dist/types/phases/data/phase.d.ts +26 -0
- package/dist/types/phases/data/phase.js +2 -0
- package/dist/types/phases/facet/phase.d.ts +18 -0
- package/dist/types/phases/facet/phase.js +1 -0
- package/dist/types/phases/hover/phase.d.ts +34 -0
- package/dist/types/phases/hover/phase.js +1 -0
- package/dist/types/phases/index.d.ts +14 -0
- package/dist/types/phases/index.js +1 -0
- package/dist/types/phases/kind.d.ts +59 -0
- package/dist/types/phases/kind.js +1 -0
- package/dist/types/phases/mapping/phase.d.ts +5 -0
- package/dist/types/phases/mapping/phase.js +1 -0
- package/dist/types/phases/markers/phase.d.ts +13 -0
- package/dist/types/phases/markers/phase.js +1 -0
- package/dist/types/phases/pipeline.d.ts +10 -0
- package/dist/types/phases/pipeline.js +1 -0
- package/dist/types/phases/scales/phase.d.ts +26 -0
- package/dist/types/phases/scales/phase.js +1 -0
- package/dist/types/phases/sharedScales/phase.d.ts +12 -0
- package/dist/types/phases/sharedScales/phase.js +1 -0
- package/dist/types/phases/stage.d.ts +12 -0
- package/dist/types/phases/stage.js +1 -0
- package/dist/types/phases/state.d.ts +73 -0
- package/dist/types/phases/state.js +1 -0
- package/dist/types/phases/statistics/phase.d.ts +41 -0
- package/dist/types/phases/statistics/phase.js +1 -0
- package/dist/types/phases/statistics/source.d.ts +20 -0
- package/dist/types/phases/statistics/source.js +7 -0
- package/dist/types/phases/styles/phase.d.ts +24 -0
- package/dist/types/phases/styles/phase.js +1 -0
- package/dist/types/phases/transforms/adapter.d.ts +27 -0
- package/dist/types/phases/transforms/adapter.js +1 -0
- package/dist/types/phases/transforms/phase.d.ts +40 -0
- package/dist/types/phases/transforms/phase.js +1 -0
- package/dist/types/plots/area/props.d.ts +10 -0
- package/dist/types/plots/area/props.js +1 -0
- package/dist/types/plots/area/state.d.ts +6 -0
- package/dist/types/plots/area/state.js +1 -0
- package/dist/types/plots/bar/props.d.ts +10 -0
- package/dist/types/plots/bar/props.js +1 -0
- package/dist/types/plots/bar/state.d.ts +6 -0
- package/dist/types/plots/bar/state.js +1 -0
- package/dist/types/plots/camera.d.ts +7 -17
- package/dist/types/plots/constants.d.ts +16 -8
- package/dist/types/plots/data/common.d.ts +25 -17
- package/dist/types/plots/data/geo.d.ts +26 -12
- package/dist/types/plots/gaps.d.ts +19 -38
- package/dist/types/plots/geo/props.d.ts +23 -0
- package/dist/types/plots/geo/props.js +1 -0
- package/dist/types/plots/geo/state.d.ts +82 -0
- package/dist/types/plots/geo/state.js +1 -0
- package/dist/types/plots/heatmap/props.d.ts +10 -0
- package/dist/types/plots/heatmap/props.js +1 -0
- package/dist/types/plots/heatmap/state.d.ts +28 -0
- package/dist/types/plots/heatmap/state.js +1 -0
- package/dist/types/plots/histogram/props.d.ts +18 -0
- package/dist/types/plots/histogram/props.js +1 -0
- package/dist/types/plots/histogram/state.d.ts +6 -0
- package/dist/types/plots/histogram/state.js +1 -0
- package/dist/types/plots/line/props.d.ts +10 -0
- package/dist/types/plots/line/props.js +1 -0
- package/dist/types/plots/line/state.d.ts +9 -0
- package/dist/types/plots/line/state.js +1 -0
- package/dist/types/plots/props.d.ts +143 -35
- package/dist/types/plots/pyramid/props.d.ts +10 -0
- package/dist/types/plots/pyramid/props.js +1 -0
- package/dist/types/plots/pyramid/state.d.ts +16 -0
- package/dist/types/plots/pyramid/state.js +1 -0
- package/dist/types/plots/scatter/props.d.ts +10 -0
- package/dist/types/plots/scatter/props.js +1 -0
- package/dist/types/plots/scatter/state.d.ts +6 -0
- package/dist/types/plots/scatter/state.js +1 -0
- package/dist/types/plots/segments/common.d.ts +1 -1
- package/dist/types/plots/segments/config.d.ts +12 -6
- package/dist/types/plots/styling.d.ts +5 -5
- package/dist/types/transforms/bin.d.ts +84 -0
- package/dist/types/transforms/bin.js +28 -0
- package/dist/types/transforms/bollinger.d.ts +21 -0
- package/dist/types/transforms/bollinger.js +1 -0
- package/dist/types/transforms/common.d.ts +29 -0
- package/dist/types/transforms/common.js +16 -0
- package/dist/types/transforms/density.d.ts +45 -0
- package/dist/types/transforms/density.js +10 -0
- package/dist/types/transforms/filter.d.ts +12 -0
- package/dist/types/transforms/filter.js +14 -0
- package/dist/types/transforms/group.d.ts +70 -0
- package/dist/types/transforms/group.js +8 -0
- package/dist/types/transforms/index.d.ts +36 -0
- package/dist/types/transforms/index.js +1 -0
- package/dist/types/transforms/interval.d.ts +21 -0
- package/dist/types/transforms/interval.js +14 -0
- package/dist/types/transforms/jitter.d.ts +34 -0
- package/dist/types/transforms/jitter.js +1 -0
- package/dist/types/transforms/map.d.ts +24 -0
- package/dist/types/transforms/map.js +1 -0
- package/dist/types/transforms/normalize.d.ts +36 -0
- package/dist/types/transforms/normalize.js +1 -0
- package/dist/types/transforms/select.d.ts +15 -0
- package/dist/types/transforms/select.js +1 -0
- package/dist/types/transforms/shift.d.ts +20 -0
- package/dist/types/transforms/shift.js +1 -0
- package/dist/types/transforms/sort.d.ts +31 -0
- package/dist/types/transforms/sort.js +14 -0
- package/dist/types/transforms/stack.d.ts +64 -0
- package/dist/types/transforms/stack.js +12 -0
- package/dist/types/transforms/window.d.ts +29 -0
- package/dist/types/transforms/window.js +1 -0
- package/dist/utils/ContinuousDomain.d.ts +12 -0
- package/dist/utils/ContinuousDomain.js +19 -0
- package/dist/utils/Interpolation.d.ts +26 -0
- package/dist/utils/Interpolation.js +65 -0
- package/dist/utils/{color.d.ts → color/contrast.d.ts} +0 -5
- package/dist/utils/color/contrast.js +40 -0
- package/dist/utils/color/cssColor.d.ts +4 -0
- package/dist/utils/color/cssColor.js +77 -0
- package/dist/utils/color/index.d.ts +3 -0
- package/dist/utils/color/index.js +3 -0
- package/dist/utils/color/ramp.d.ts +17 -0
- package/dist/utils/color/ramp.js +110 -0
- package/dist/utils/grouping.d.ts +9 -5
- package/dist/utils/grouping.js +19 -10
- package/dist/utils/merge.d.ts +7 -0
- package/dist/utils/merge.js +17 -0
- package/dist/utils/opacity.d.ts +9 -0
- package/dist/utils/opacity.js +38 -0
- package/dist/utils/symbol.d.ts +31 -0
- package/dist/utils/symbol.js +92 -0
- package/docs/architecture.md +137 -0
- package/docs/chrome.md +68 -0
- package/docs/composer.md +53 -0
- package/docs/concepts.md +99 -0
- package/docs/development.md +94 -0
- package/docs/facets.md +69 -0
- package/docs/geo.md +151 -0
- package/docs/getting-started.md +79 -0
- package/docs/legend.md +106 -0
- package/docs/markers.md +106 -0
- package/docs/plots.md +158 -0
- package/docs/scales.md +78 -0
- package/docs/state.md +71 -0
- package/docs/styles-and-segments.md +215 -0
- package/docs/theming.md +215 -0
- package/docs/timeline.md +94 -0
- package/docs/tooltip-and-hover.md +80 -0
- package/docs/transforms-and-statistics.md +88 -0
- package/examples/BarValues.svelte +14 -0
- package/examples/CustomTooltip.svelte +37 -0
- package/examples/Facets.svelte +15 -0
- package/examples/LegendReader.svelte +8 -0
- package/examples/LegendToggle.svelte +25 -0
- package/examples/ResponsiveLine.svelte +37 -0
- package/examples/Segments.svelte +17 -0
- package/examples/TimelinePlayer.svelte +20 -0
- package/examples/Tooltip.svelte +19 -0
- package/examples/TooltipCard.svelte +86 -0
- package/examples/data.ts +12 -0
- package/llms-full.txt +114 -0
- package/llms.txt +49 -0
- package/package.json +41 -5
- package/dist/charts/BaseChart.svelte +0 -149
- package/dist/charts/BaseChart.svelte.d.ts +0 -47
- package/dist/charts/bar/Chart.svelte +0 -110
- package/dist/charts/bar/Chart.svelte.d.ts +0 -26
- package/dist/charts/container/ChartContainer.svelte +0 -137
- package/dist/charts/container/ChartContainer.svelte.d.ts +0 -16
- package/dist/charts/heatmap/Chart.svelte +0 -114
- package/dist/charts/line/Chart.svelte +0 -112
- package/dist/charts/line/Chart.svelte.d.ts +0 -26
- package/dist/charts/pyramid/Chart.svelte +0 -134
- package/dist/charts/pyramid/Chart.svelte.d.ts +0 -30
- package/dist/charts/scatter/Chart.svelte +0 -95
- package/dist/charts/scatter/Chart.svelte.d.ts +0 -28
- package/dist/layout/coordinates/margins.d.ts +0 -16
- package/dist/layout/coordinates/margins.js +0 -11
- package/dist/layout/legend/interaction.svelte.d.ts +0 -15
- package/dist/layout/legend/interaction.svelte.js +0 -32
- package/dist/layout/plot/BasePlotLayout.svelte +0 -332
- package/dist/layout/plot/BasePlotLayout.svelte.d.ts +0 -122
- package/dist/layout/plot/margins.d.ts +0 -18
- package/dist/layout/plot/margins.js +0 -15
- package/dist/layout/plot/measureText.d.ts +0 -4
- package/dist/layout/plot/measureText.js +0 -19
- package/dist/layout/tooltip/TooltipLayout.svelte +0 -51
- package/dist/layout/tooltip/TooltipLayout.svelte.d.ts +0 -45
- package/dist/layout/tooltip/controller.svelte.d.ts +0 -61
- package/dist/layout/tooltip/controller.svelte.js +0 -173
- package/dist/layout/tooltip/hover.svelte.d.ts +0 -7
- package/dist/layout/tooltip/hover.svelte.js +0 -28
- package/dist/layout/tooltip/resolveTooltipPlacement.d.ts +0 -24
- package/dist/layout/tooltip/resolveTooltipPlacement.js +0 -49
- package/dist/layout/tooltip/utils.d.ts +0 -49
- package/dist/layout/tooltip/utils.js +0 -82
- package/dist/markers/CellMarker.svelte +0 -21
- package/dist/markers/ContourClipMarker.svelte +0 -77
- package/dist/markers/ContourMarker.svelte +0 -28
- package/dist/markers/DeltaMarker.svelte +0 -109
- package/dist/markers/DotMarker.svelte +0 -70
- package/dist/markers/GeoFeaturesMarker.svelte +0 -19
- package/dist/markers/GeoHoverMarker.svelte +0 -25
- package/dist/markers/GraticuleMarker.svelte +0 -18
- package/dist/markers/HoverMarker.svelte +0 -212
- package/dist/markers/LineMarker.svelte +0 -19
- package/dist/markers/LinkMarker.svelte +0 -42
- package/dist/markers/PeakMarker.svelte +0 -80
- package/dist/markers/PeakMarker.svelte.d.ts +0 -13
- package/dist/markers/RuleMarker.svelte +0 -24
- package/dist/markers/SphereMarker.svelte +0 -15
- package/dist/markers/TextMarker.svelte +0 -62
- package/dist/markers/VectorMarker.svelte +0 -20
- package/dist/plots/bar/ValueLabels.svelte +0 -149
- package/dist/plots/bar/ValueLabels.svelte.d.ts +0 -58
- package/dist/plots/bar/buildBarMarkers.d.ts +0 -27
- package/dist/plots/bar/buildBarMarkers.js +0 -151
- package/dist/plots/bar/hoverPoints.d.ts +0 -15
- package/dist/plots/bar/hoverPoints.js +0 -37
- package/dist/plots/bar/layout.svelte.d.ts +0 -42
- package/dist/plots/bar/layout.svelte.js +0 -182
- package/dist/plots/geo/buildGeoMarkers.d.ts +0 -33
- package/dist/plots/geo/buildGeoMarkers.js +0 -47
- package/dist/plots/heatmap/ValueLabels.svelte +0 -56
- package/dist/plots/heatmap/buildCellMarkers.d.ts +0 -21
- package/dist/plots/heatmap/buildCellMarkers.js +0 -25
- package/dist/plots/line/ValueLabels.svelte +0 -269
- package/dist/plots/line/ValueLabels.svelte.d.ts +0 -52
- package/dist/plots/line/buildGapMarkers.d.ts +0 -28
- package/dist/plots/line/buildGapMarkers.js +0 -74
- package/dist/plots/line/buildLineMarkers.d.ts +0 -16
- package/dist/plots/line/buildLineMarkers.js +0 -56
- package/dist/plots/line/valueLabelMargin.d.ts +0 -19
- package/dist/plots/line/valueLabelMargin.js +0 -65
- package/dist/plots/pyramid/ValueLabels.svelte +0 -139
- package/dist/plots/pyramid/ValueLabels.svelte.d.ts +0 -56
- package/dist/plots/pyramid/buildPyramidBarMarkers.d.ts +0 -26
- package/dist/plots/pyramid/buildPyramidBarMarkers.js +0 -72
- package/dist/plots/scatter/ValueLabels.svelte +0 -163
- package/dist/plots/scatter/ValueLabels.svelte.d.ts +0 -52
- package/dist/plots/scatter/buildScatterMarkers.d.ts +0 -12
- package/dist/plots/scatter/buildScatterMarkers.js +0 -36
- package/dist/plots/scatter/resolveRadiusPaddedDomain.d.ts +0 -10
- package/dist/plots/scatter/resolveRadiusPaddedDomain.js +0 -23
- package/dist/plots/utils/categoricalAxisMargin.d.ts +0 -14
- package/dist/plots/utils/categoricalAxisMargin.js +0 -20
- package/dist/plots/utils/declutter.d.ts +0 -120
- package/dist/plots/utils/declutter.js +0 -240
- package/dist/plots/utils/labelOverflow.svelte.d.ts +0 -107
- package/dist/plots/utils/labelOverflow.svelte.js +0 -257
- package/dist/plots/utils/legendDisabled.d.ts +0 -27
- package/dist/plots/utils/legendDisabled.js +0 -68
- package/dist/plots/utils/valueLabelMargin.d.ts +0 -67
- package/dist/plots/utils/valueLabelMargin.js +0 -60
- package/dist/types/charts/common.d.ts +0 -22
- package/dist/types/charts/props.d.ts +0 -50
- package/dist/types/markers/base.d.ts +0 -45
- package/dist/types/markers/line.d.ts +0 -34
- package/dist/types/markers/props.d.ts +0 -11
- package/dist/types/plots/data/scatter.d.ts +0 -13
- package/dist/utils/color.js +0 -141
- package/dist/utils/delta.d.ts +0 -12
- package/dist/utils/delta.js +0 -69
- package/dist/utils/edgeAwareAnchor.d.ts +0 -34
- package/dist/utils/edgeAwareAnchor.js +0 -60
- package/dist/utils/interpolate.d.ts +0 -31
- package/dist/utils/interpolate.js +0 -71
- /package/dist/types/{charts/common.js → layout/box.js} +0 -0
- /package/dist/types/{charts/interpolate.js → layout/composer.js} +0 -0
- /package/dist/types/{charts/props.js → layout/figure.js} +0 -0
- /package/dist/types/{markers/base.js → layout/grid.js} +0 -0
- /package/dist/types/{markers/line.js → layout/hover.js} +0 -0
- /package/dist/types/{markers/props.js → layout/mapping.js} +0 -0
- /package/dist/types/{plots/data/scatter.js → layout/plot.js} +0 -0
- /package/dist/types/{viewport.js → layout/statistics/bollinger.js} +0 -0
- /package/dist/types/{charts/interpolate.d.ts → misc/easing.d.ts} +0 -0
- /package/dist/types/{viewport.d.ts → misc/viewport.d.ts} +0 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { StatisticSource } from '../../types/phases/statistics/source';
|
|
2
|
+
import type { Series } from '../../types/plots/data/common';
|
|
3
|
+
import type { StatisticConfig } from '../../types/layout/statistics';
|
|
4
|
+
import type { AxisBasedMarkersConfig } from '../../types/markers/common';
|
|
5
|
+
/**
|
|
6
|
+
* The statistics a plot or a marker asks for, as the markers they draw as.
|
|
7
|
+
* Each statistic type is a class of its own under `methods/`; the same
|
|
8
|
+
* {@link Statistics.buildMarker} serves plot-level and marker-level attachment.
|
|
9
|
+
*/
|
|
10
|
+
export declare class Statistics {
|
|
11
|
+
#private;
|
|
12
|
+
/**
|
|
13
|
+
* Builds one {@link StatisticConfig} over a data source into the marker it
|
|
14
|
+
* renders as - `regression`/`bollinger` construct their marker directly
|
|
15
|
+
* (svelteplot resolves the curve/band itself, at render time); the others
|
|
16
|
+
* compute their rows first.
|
|
17
|
+
*/
|
|
18
|
+
static buildMarker<T extends Record<string, unknown>>(source: StatisticSource<T>, config: StatisticConfig): AxisBasedMarkersConfig;
|
|
19
|
+
/**
|
|
20
|
+
* Resolves a plot's own top-level `statistics` prop against its already-built
|
|
21
|
+
* `Series<T>[]` (every kind has this before `mapping` runs - see
|
|
22
|
+
* `buildSeries`) into the derived markers to append alongside the plot's own
|
|
23
|
+
* default markers. Default (`series` unset, `pooled` unset): one statistic per
|
|
24
|
+
* series, using that series' own data/accessors/color, so a plot grouped by
|
|
25
|
+
* `color` gets its statistics grouped the same way. `pooled: true`: one
|
|
26
|
+
* statistic over every series combined (using the first series' own `x`/`y`,
|
|
27
|
+
* same convention the shared "mapping" stage uses for a shared
|
|
28
|
+
* accessor). Named `series`: one statistic per listed series.
|
|
29
|
+
*/
|
|
30
|
+
static buildForPlot<T extends Record<string, unknown>>(args: {
|
|
31
|
+
series: Series<T>[];
|
|
32
|
+
statistics: StatisticConfig[] | undefined;
|
|
33
|
+
colorFor?: (seriesName: string) => string;
|
|
34
|
+
}): AxisBasedMarkersConfig[];
|
|
35
|
+
/**
|
|
36
|
+
* Expands each marker's own `.statistics` into derived markers, spliced in
|
|
37
|
+
* right after their source so a derived marker always renders on top of it.
|
|
38
|
+
* `fallbackData` mirrors `GeometryLayout`'s own `marker.data ?? data` -
|
|
39
|
+
* applied here too since this runs *before* `GeometryLayout` ever sees these
|
|
40
|
+
* markers, on a marker that may omit its own `data` to reuse the host plot's.
|
|
41
|
+
* Generic over the caller's own marker union (e.g. `LinePlot`'s own
|
|
42
|
+
* `AxisBasedMarkersConfig`, which adds a `delta` kind on top of
|
|
43
|
+
* {@link AxisBasedMarkersConfig}) - untouched markers pass through as
|
|
44
|
+
* `TMarker`. Eligibility is structural, not a hardcoded list of `type`s: any
|
|
45
|
+
* marker mixing in `CommonMarkerConfig` (the "common" family) has `.x`/`.y`
|
|
46
|
+
* and an optional `.statistics`, so a `rule`/`hover`/`component` marker
|
|
47
|
+
* (neither field) always falls through the guard below untouched, and a
|
|
48
|
+
* future "common" marker kind is eligible with no extra bookkeeping here.
|
|
49
|
+
*/
|
|
50
|
+
static expandMarkers<TMarker extends {
|
|
51
|
+
type: string;
|
|
52
|
+
}, T extends Record<string, unknown>>(markers: TMarker[], fallbackData: T[]): (TMarker | AxisBasedMarkersConfig)[];
|
|
53
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { MarkerChannels } from '../../markers/utils/MarkerChannels';
|
|
2
|
+
import { getConfiguration } from '../../configuration/config.svelte';
|
|
3
|
+
import { MovingAverageStatistic } from './methods/MovingAverageStatistic';
|
|
4
|
+
import { DensityStatistic } from './methods/DensityStatistic';
|
|
5
|
+
import { Density2dStatistic } from './methods/Density2dStatistic';
|
|
6
|
+
import { BoxStatistic } from './methods/BoxStatistic';
|
|
7
|
+
import { RegressionStatistic } from './methods/RegressionStatistic';
|
|
8
|
+
import { BollingerStatistic } from './methods/BollingerStatistic';
|
|
9
|
+
/**
|
|
10
|
+
* The statistics a plot or a marker asks for, as the markers they draw as.
|
|
11
|
+
* Each statistic type is a class of its own under `methods/`; the same
|
|
12
|
+
* {@link Statistics.buildMarker} serves plot-level and marker-level attachment.
|
|
13
|
+
*/
|
|
14
|
+
export class Statistics {
|
|
15
|
+
/**
|
|
16
|
+
* Builds one {@link StatisticConfig} over a data source into the marker it
|
|
17
|
+
* renders as - `regression`/`bollinger` construct their marker directly
|
|
18
|
+
* (svelteplot resolves the curve/band itself, at render time); the others
|
|
19
|
+
* compute their rows first.
|
|
20
|
+
*/
|
|
21
|
+
static buildMarker(source, config) {
|
|
22
|
+
switch (config.type) {
|
|
23
|
+
case 'movingAverage':
|
|
24
|
+
return MovingAverageStatistic.build(source, config);
|
|
25
|
+
case 'density':
|
|
26
|
+
return DensityStatistic.build(source, config);
|
|
27
|
+
case 'density2d':
|
|
28
|
+
return Density2dStatistic.build(source, config);
|
|
29
|
+
case 'box':
|
|
30
|
+
return BoxStatistic.build(source, config);
|
|
31
|
+
case 'regression':
|
|
32
|
+
return RegressionStatistic.build(source, config);
|
|
33
|
+
case 'bollinger':
|
|
34
|
+
return BollingerStatistic.build(source, config);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/** Narrows a `Series`'s own `Accessor<T,AxisValue>` to a source's field-key-or-function shape - safe in practice, since a real row's field key is always a string. */
|
|
38
|
+
static #accessor(accessor
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
40
|
+
) {
|
|
41
|
+
return accessor;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Resolves a plot's own top-level `statistics` prop against its already-built
|
|
45
|
+
* `Series<T>[]` (every kind has this before `mapping` runs - see
|
|
46
|
+
* `buildSeries`) into the derived markers to append alongside the plot's own
|
|
47
|
+
* default markers. Default (`series` unset, `pooled` unset): one statistic per
|
|
48
|
+
* series, using that series' own data/accessors/color, so a plot grouped by
|
|
49
|
+
* `color` gets its statistics grouped the same way. `pooled: true`: one
|
|
50
|
+
* statistic over every series combined (using the first series' own `x`/`y`,
|
|
51
|
+
* same convention the shared "mapping" stage uses for a shared
|
|
52
|
+
* accessor). Named `series`: one statistic per listed series.
|
|
53
|
+
*/
|
|
54
|
+
static buildForPlot(args) {
|
|
55
|
+
const { series, statistics, colorFor } = args;
|
|
56
|
+
if (!statistics?.length || !series.length)
|
|
57
|
+
return [];
|
|
58
|
+
return statistics.flatMap((stat) => {
|
|
59
|
+
if (stat.pooled && stat.series === undefined) {
|
|
60
|
+
const pooled = series.flatMap((s) => s.data);
|
|
61
|
+
const source = {
|
|
62
|
+
data: pooled,
|
|
63
|
+
x: Statistics.#accessor(series[0].x),
|
|
64
|
+
y: Statistics.#accessor(series[0].y),
|
|
65
|
+
color: colorFor?.(series[0].name)
|
|
66
|
+
};
|
|
67
|
+
return [Statistics.buildMarker(source, stat)];
|
|
68
|
+
}
|
|
69
|
+
const names = stat.series ?? series.map((s) => s.name);
|
|
70
|
+
return names.flatMap((name) => {
|
|
71
|
+
const match = series.find((s) => s.name === name);
|
|
72
|
+
if (!match)
|
|
73
|
+
return [];
|
|
74
|
+
const source = {
|
|
75
|
+
data: match.data,
|
|
76
|
+
x: Statistics.#accessor(match.x),
|
|
77
|
+
y: Statistics.#accessor(match.y),
|
|
78
|
+
color: colorFor?.(name)
|
|
79
|
+
};
|
|
80
|
+
return [Statistics.buildMarker(source, stat)];
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Color a marker's own statistics inherit when its `color` channel is unset:
|
|
86
|
+
* its flat fill (or stroke), ignoring `none`/`transparent`. Covers both the
|
|
87
|
+
* plain `styles` keys and the dot-specific `dotFill`/`dotStroke`.
|
|
88
|
+
*/
|
|
89
|
+
static #markerBaseColor(marker) {
|
|
90
|
+
const styles = marker.styles;
|
|
91
|
+
const pick = (key) => {
|
|
92
|
+
const value = styles?.[key];
|
|
93
|
+
return typeof value === 'string' && value !== 'none' && value !== 'transparent'
|
|
94
|
+
? value
|
|
95
|
+
: undefined;
|
|
96
|
+
};
|
|
97
|
+
return pick('fill') ?? pick('dotFill') ?? pick('stroke') ?? pick('dotStroke');
|
|
98
|
+
}
|
|
99
|
+
/** Splits rows into one bucket per distinct `color` value, in first-seen order; rows without a value are skipped. */
|
|
100
|
+
static #groupRowsByColor(data, color) {
|
|
101
|
+
const valueOf = typeof color === 'function' ? color : (d) => d[color];
|
|
102
|
+
const buckets = new Map();
|
|
103
|
+
for (const row of data) {
|
|
104
|
+
const value = valueOf(row);
|
|
105
|
+
if (value == null)
|
|
106
|
+
continue;
|
|
107
|
+
const key = String(value);
|
|
108
|
+
const bucket = buckets.get(key);
|
|
109
|
+
if (bucket)
|
|
110
|
+
bucket.push(row);
|
|
111
|
+
else
|
|
112
|
+
buckets.set(key, [row]);
|
|
113
|
+
}
|
|
114
|
+
return [...buckets.values()];
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Expands each marker's own `.statistics` into derived markers, spliced in
|
|
118
|
+
* right after their source so a derived marker always renders on top of it.
|
|
119
|
+
* `fallbackData` mirrors `GeometryLayout`'s own `marker.data ?? data` -
|
|
120
|
+
* applied here too since this runs *before* `GeometryLayout` ever sees these
|
|
121
|
+
* markers, on a marker that may omit its own `data` to reuse the host plot's.
|
|
122
|
+
* Generic over the caller's own marker union (e.g. `LinePlot`'s own
|
|
123
|
+
* `AxisBasedMarkersConfig`, which adds a `delta` kind on top of
|
|
124
|
+
* {@link AxisBasedMarkersConfig}) - untouched markers pass through as
|
|
125
|
+
* `TMarker`. Eligibility is structural, not a hardcoded list of `type`s: any
|
|
126
|
+
* marker mixing in `CommonMarkerConfig` (the "common" family) has `.x`/`.y`
|
|
127
|
+
* and an optional `.statistics`, so a `rule`/`hover`/`component` marker
|
|
128
|
+
* (neither field) always falls through the guard below untouched, and a
|
|
129
|
+
* future "common" marker kind is eligible with no extra bookkeeping here.
|
|
130
|
+
*/
|
|
131
|
+
static expandMarkers(markers, fallbackData) {
|
|
132
|
+
return markers.flatMap((marker) => {
|
|
133
|
+
const statable = marker;
|
|
134
|
+
const { x, y } = statable;
|
|
135
|
+
// A literal position (number/Date) has no per-row values to derive statistics from.
|
|
136
|
+
const isAccessor = (v) => typeof v === 'string' || typeof v === 'function';
|
|
137
|
+
if (!statable.statistics?.length || !isAccessor(x) || !isAccessor(y))
|
|
138
|
+
return [marker];
|
|
139
|
+
const data = statable.data ?? fallbackData;
|
|
140
|
+
const accessors = { x: x, y: y };
|
|
141
|
+
// A marker's `color` channel groups it: each statistic is then derived per
|
|
142
|
+
// group, in that group's own color - same as a plot's statistics per series.
|
|
143
|
+
const colorFn = statable.color
|
|
144
|
+
? MarkerChannels.buildFill(data, statable.color, statable.scales, getConfiguration())
|
|
145
|
+
: undefined;
|
|
146
|
+
const flatColor = Statistics.#markerBaseColor(statable);
|
|
147
|
+
const derived = statable.statistics.flatMap((stat) => {
|
|
148
|
+
if (!colorFn || !statable.color || stat.pooled) {
|
|
149
|
+
return [Statistics.buildMarker({ data, ...accessors, color: flatColor }, stat)];
|
|
150
|
+
}
|
|
151
|
+
return Statistics.#groupRowsByColor(data, statable.color).flatMap((rows) => Statistics.buildMarker({ data: rows, ...accessors, color: colorFn(rows[0]) }, stat));
|
|
152
|
+
});
|
|
153
|
+
return [marker, ...derived];
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { PhaseStage, StatisticsStageOptions, StatisticsStageState } from '../../types/phases';
|
|
2
|
+
/**
|
|
3
|
+
* The "statistics" phase every axis-based plot shares: seeds `state.markers`
|
|
4
|
+
* with the plot-level `statistics` resolved against every series, followed by
|
|
5
|
+
* the author's own markers, each one inheriting the plot's grouping and color,
|
|
6
|
+
* drawing the plot's processed rows when it has none of its own (see
|
|
7
|
+
* `withProcessedRows`), running its own `transforms`, and expanding its own
|
|
8
|
+
* `.statistics` in place.
|
|
9
|
+
* Authored markers render on top of the plot-level ones. Later phases build
|
|
10
|
+
* onto `state.markers`. With facet panels, all of it resolves once per panel,
|
|
11
|
+
* over that panel's series and rows, and each marker is tagged with its panel.
|
|
12
|
+
*/
|
|
13
|
+
export declare class StatisticsPhase<TState extends StatisticsStageState> implements PhaseStage<TState> {
|
|
14
|
+
#private;
|
|
15
|
+
readonly phase: "statistics";
|
|
16
|
+
constructor(options?: StatisticsStageOptions<TState>);
|
|
17
|
+
run: (state: TState) => TState;
|
|
18
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { AuthorMarkers } from './AuthorMarkers';
|
|
2
|
+
import { Statistics } from './Statistics';
|
|
3
|
+
import { PANEL_KEY, FacetPhase } from '../facet/FacetPhase';
|
|
4
|
+
import { TransformsPhase } from '../transforms/TransformsPhase';
|
|
5
|
+
import { PlotAxes } from '../data/PlotAxes';
|
|
6
|
+
/** Marker kinds that draw from a channel pair, so they take the plot's `x`/`y` when the author leaves one out. */
|
|
7
|
+
const POSITIONED_KINDS = new Set(['line', 'area', 'dot']);
|
|
8
|
+
/**
|
|
9
|
+
* The "statistics" phase every axis-based plot shares: seeds `state.markers`
|
|
10
|
+
* with the plot-level `statistics` resolved against every series, followed by
|
|
11
|
+
* the author's own markers, each one inheriting the plot's grouping and color,
|
|
12
|
+
* drawing the plot's processed rows when it has none of its own (see
|
|
13
|
+
* `withProcessedRows`), running its own `transforms`, and expanding its own
|
|
14
|
+
* `.statistics` in place.
|
|
15
|
+
* Authored markers render on top of the plot-level ones. Later phases build
|
|
16
|
+
* onto `state.markers`. With facet panels, all of it resolves once per panel,
|
|
17
|
+
* over that panel's series and rows, and each marker is tagged with its panel.
|
|
18
|
+
*/
|
|
19
|
+
export class StatisticsPhase {
|
|
20
|
+
phase = 'statistics';
|
|
21
|
+
#options;
|
|
22
|
+
constructor(options = {}) {
|
|
23
|
+
this.#options = options;
|
|
24
|
+
}
|
|
25
|
+
run = (state) => {
|
|
26
|
+
if (!state.panels)
|
|
27
|
+
return { ...state, markers: this.#resolve(state) };
|
|
28
|
+
const markers = state.panels.flatMap((panel) => this.#resolve(FacetPhase.narrowToPanel(state, panel.key)).map((marker) => ({ ...marker, [PANEL_KEY]: panel.key })));
|
|
29
|
+
return { ...state, markers };
|
|
30
|
+
};
|
|
31
|
+
#resolve(state) {
|
|
32
|
+
const options = this.#options;
|
|
33
|
+
const { resolvedSeries = [], flat = [], colorForSeries, statistics, authorMarkers = [] } = state;
|
|
34
|
+
const { inheritGrouping = true, inheritPositions = false } = options;
|
|
35
|
+
const defaultColor = options.defaultColor
|
|
36
|
+
? options.defaultColor(state)
|
|
37
|
+
: resolvedSeries[0] && colorForSeries?.(resolvedSeries[0].name);
|
|
38
|
+
const onProcessed = authorMarkers.map((marker) => AuthorMarkers.withProcessedRows(marker, state.processedData));
|
|
39
|
+
const positioned = inheritPositions
|
|
40
|
+
? onProcessed.map((marker) => {
|
|
41
|
+
if (!POSITIONED_KINDS.has(marker.type))
|
|
42
|
+
return marker;
|
|
43
|
+
const own = marker;
|
|
44
|
+
return {
|
|
45
|
+
...own,
|
|
46
|
+
x: own.x ?? resolvedSeries[0]?.x ?? state.x,
|
|
47
|
+
y: own.y ?? resolvedSeries[0]?.y ?? state.y
|
|
48
|
+
};
|
|
49
|
+
})
|
|
50
|
+
: onProcessed;
|
|
51
|
+
// A series setting no value of its own (a histogram's) measures its processed rows: its bins.
|
|
52
|
+
const valueAxis = PlotAxes.valueOf(state);
|
|
53
|
+
const measured = state.processedData && resolvedSeries.some((s) => s[valueAxis] === undefined)
|
|
54
|
+
? TransformsPhase.buildProcessedGroups(state).map((group) => group.series)
|
|
55
|
+
: resolvedSeries;
|
|
56
|
+
return [
|
|
57
|
+
...Statistics.buildForPlot({ series: measured, statistics, colorFor: colorForSeries }),
|
|
58
|
+
...Statistics.expandMarkers(AuthorMarkers.prepare(positioned, {
|
|
59
|
+
grouping: inheritGrouping ? state.grouping : undefined,
|
|
60
|
+
color: inheritGrouping ? state.color : undefined,
|
|
61
|
+
defaultColor,
|
|
62
|
+
flat,
|
|
63
|
+
resolvedSeries,
|
|
64
|
+
scopedGroups: state.scopedGroups
|
|
65
|
+
}), flat)
|
|
66
|
+
];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StatisticConfig } from '../../../types/layout/statistics';
|
|
2
|
+
import type { BollingerMarkerConfig } from '../../../types/markers/common';
|
|
3
|
+
import { type StatisticSource } from '../../../types/phases/statistics/source';
|
|
4
|
+
/** Bollinger bands over the source, drawn as a `bollinger` marker (svelteplot computes them at render time). */
|
|
5
|
+
export declare class BollingerStatistic {
|
|
6
|
+
static build<T extends Record<string, unknown>>(source: StatisticSource<T>, config: Extract<StatisticConfig, {
|
|
7
|
+
type: 'bollinger';
|
|
8
|
+
}>): BollingerMarkerConfig;
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { STATISTIC_FALLBACK_COLOR } from '../../../types/phases/statistics/source';
|
|
2
|
+
/** Bollinger bands over the source, drawn as a `bollinger` marker (svelteplot computes them at render time). */
|
|
3
|
+
export class BollingerStatistic {
|
|
4
|
+
static build(source, config) {
|
|
5
|
+
return {
|
|
6
|
+
type: 'bollinger',
|
|
7
|
+
data: source.data,
|
|
8
|
+
x: source.x,
|
|
9
|
+
y: source.y,
|
|
10
|
+
n: config.n,
|
|
11
|
+
k: config.k,
|
|
12
|
+
styles: {
|
|
13
|
+
...config.styles,
|
|
14
|
+
stroke: config.styles?.stroke ?? source.color ?? STATISTIC_FALLBACK_COLOR
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StatisticConfig } from '../../../types/layout/statistics';
|
|
2
|
+
import type { BoxMarkerConfig } from '../../../types/markers/common';
|
|
3
|
+
import { type StatisticSource } from '../../../types/phases/statistics/source';
|
|
4
|
+
/** Box-and-whisker summary of the source, drawn as a `box` marker. */
|
|
5
|
+
export declare class BoxStatistic {
|
|
6
|
+
static build<T extends Record<string, unknown>>(source: StatisticSource<T>, config: Extract<StatisticConfig, {
|
|
7
|
+
type: 'box';
|
|
8
|
+
}>): BoxMarkerConfig;
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { STATISTIC_FALLBACK_COLOR } from '../../../types/phases/statistics/source';
|
|
2
|
+
/** Box-and-whisker summary of the source, drawn as a `box` marker. */
|
|
3
|
+
export class BoxStatistic {
|
|
4
|
+
static build(source, config) {
|
|
5
|
+
return {
|
|
6
|
+
type: 'box',
|
|
7
|
+
data: source.data,
|
|
8
|
+
x: source.x,
|
|
9
|
+
y: source.y,
|
|
10
|
+
sort: config.sort,
|
|
11
|
+
bar: { fill: source.color ?? STATISTIC_FALLBACK_COLOR, ...config.bar },
|
|
12
|
+
rule: config.rule,
|
|
13
|
+
dot: config.dot,
|
|
14
|
+
tickMedian: config.tickMedian,
|
|
15
|
+
tickMinMax: config.tickMinMax
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StatisticConfig } from '../../../types/layout/statistics';
|
|
2
|
+
import type { DensityMarkerConfig } from '../../../types/markers/common';
|
|
3
|
+
import { type StatisticSource } from '../../../types/phases/statistics/source';
|
|
4
|
+
/** 2D kernel density over the source's `x` and `y`, drawn as a `density` marker. */
|
|
5
|
+
export declare class Density2dStatistic {
|
|
6
|
+
static build<T extends Record<string, unknown>>(source: StatisticSource<T>, config: Extract<StatisticConfig, {
|
|
7
|
+
type: 'density2d';
|
|
8
|
+
}>): DensityMarkerConfig;
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { STATISTIC_FALLBACK_COLOR } from '../../../types/phases/statistics/source';
|
|
2
|
+
/** 2D kernel density over the source's `x` and `y`, drawn as a `density` marker. */
|
|
3
|
+
export class Density2dStatistic {
|
|
4
|
+
static build(source, config) {
|
|
5
|
+
return {
|
|
6
|
+
type: 'density',
|
|
7
|
+
data: source.data,
|
|
8
|
+
x: source.x,
|
|
9
|
+
y: source.y,
|
|
10
|
+
bandwidth: config.bandwidth,
|
|
11
|
+
thresholds: config.thresholds,
|
|
12
|
+
styles: {
|
|
13
|
+
...config.styles,
|
|
14
|
+
stroke: config.styles?.stroke ?? source.color ?? STATISTIC_FALLBACK_COLOR
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DensityStatisticOptions } from '../../../types/layout/statistics';
|
|
2
|
+
import type { AreaMarkerConfig } from '../../../types/markers/common';
|
|
3
|
+
import { type StatisticSource } from '../../../types/phases/statistics/source';
|
|
4
|
+
/** 1D kernel density over the source's `x` values, drawn as an `area` marker. */
|
|
5
|
+
export declare class DensityStatistic {
|
|
6
|
+
/**
|
|
7
|
+
* The `densityX` transform, wrapped into an `area` marker - the curve's own
|
|
8
|
+
* `x` is the value and `y` the density, so it draws on the plot's axes as-is.
|
|
9
|
+
* The output is one derived row per estimate point rather than one per input row.
|
|
10
|
+
*/
|
|
11
|
+
static build<T extends Record<string, unknown>>(source: StatisticSource<T>, config: DensityStatisticOptions): AreaMarkerConfig;
|
|
12
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Transforms } from '../../transforms/Transforms';
|
|
2
|
+
import { STATISTIC_FALLBACK_COLOR } from '../../../types/phases/statistics/source';
|
|
3
|
+
/** 1D kernel density over the source's `x` values, drawn as an `area` marker. */
|
|
4
|
+
export class DensityStatistic {
|
|
5
|
+
/**
|
|
6
|
+
* The `densityX` transform, wrapped into an `area` marker - the curve's own
|
|
7
|
+
* `x` is the value and `y` the density, so it draws on the plot's axes as-is.
|
|
8
|
+
* The output is one derived row per estimate point rather than one per input row.
|
|
9
|
+
*/
|
|
10
|
+
static build(source, config) {
|
|
11
|
+
const result = Transforms.run({
|
|
12
|
+
type: 'densityX',
|
|
13
|
+
data: source.data,
|
|
14
|
+
x: source.x,
|
|
15
|
+
kernel: config.kernel,
|
|
16
|
+
bandwidth: config.bandwidth
|
|
17
|
+
});
|
|
18
|
+
return {
|
|
19
|
+
type: 'area',
|
|
20
|
+
data: result.data,
|
|
21
|
+
x: result.x,
|
|
22
|
+
y: result.y,
|
|
23
|
+
styles: {
|
|
24
|
+
...config.styles,
|
|
25
|
+
fill: config.styles?.fill ?? source.color ?? STATISTIC_FALLBACK_COLOR
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { MovingAverageStatisticOptions } from '../../../types/layout/statistics';
|
|
2
|
+
import type { LineMarkerConfig } from '../../../types/markers/common';
|
|
3
|
+
import { type StatisticSource } from '../../../types/phases/statistics/source';
|
|
4
|
+
/** Sliding-window reducer (mean/median/sum/...) drawn as a `line` marker. */
|
|
5
|
+
export declare class MovingAverageStatistic {
|
|
6
|
+
/**
|
|
7
|
+
* The `windowY` transform, wrapped into our own `line` marker - svelteplot has
|
|
8
|
+
* no dedicated mark for this (unlike `regression`/`bollinger`). `windowY`
|
|
9
|
+
* keeps one output row per input row, so `x` passes straight through.
|
|
10
|
+
*/
|
|
11
|
+
static build<T extends Record<string, unknown>>(source: StatisticSource<T>, config: MovingAverageStatisticOptions): LineMarkerConfig;
|
|
12
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Transforms } from '../../transforms/Transforms';
|
|
2
|
+
import { STATISTIC_FALLBACK_COLOR } from '../../../types/phases/statistics/source';
|
|
3
|
+
/** Sliding-window reducer (mean/median/sum/...) drawn as a `line` marker. */
|
|
4
|
+
export class MovingAverageStatistic {
|
|
5
|
+
/**
|
|
6
|
+
* The `windowY` transform, wrapped into our own `line` marker - svelteplot has
|
|
7
|
+
* no dedicated mark for this (unlike `regression`/`bollinger`). `windowY`
|
|
8
|
+
* keeps one output row per input row, so `x` passes straight through.
|
|
9
|
+
*/
|
|
10
|
+
static build(source, config) {
|
|
11
|
+
const result = Transforms.run({
|
|
12
|
+
type: 'windowY',
|
|
13
|
+
data: source.data,
|
|
14
|
+
x: source.x,
|
|
15
|
+
y: source.y,
|
|
16
|
+
k: config.k,
|
|
17
|
+
reduce: config.reduce ?? 'mean'
|
|
18
|
+
});
|
|
19
|
+
return {
|
|
20
|
+
type: 'line',
|
|
21
|
+
data: result.data,
|
|
22
|
+
x: result.x,
|
|
23
|
+
y: result.y,
|
|
24
|
+
styles: {
|
|
25
|
+
...config.styles,
|
|
26
|
+
stroke: config.styles?.stroke ?? source.color ?? STATISTIC_FALLBACK_COLOR
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StatisticConfig } from '../../../types/layout/statistics';
|
|
2
|
+
import type { RegressionMarkerConfig } from '../../../types/markers/common';
|
|
3
|
+
import { type StatisticSource } from '../../../types/phases/statistics/source';
|
|
4
|
+
/** A regression curve over the source, drawn as a `regression` marker (svelteplot fits it at render time). */
|
|
5
|
+
export declare class RegressionStatistic {
|
|
6
|
+
static build<T extends Record<string, unknown>>(source: StatisticSource<T>, config: Extract<StatisticConfig, {
|
|
7
|
+
type: 'regression';
|
|
8
|
+
}>): RegressionMarkerConfig;
|
|
9
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { STATISTIC_FALLBACK_COLOR } from '../../../types/phases/statistics/source';
|
|
2
|
+
/** A regression curve over the source, drawn as a `regression` marker (svelteplot fits it at render time). */
|
|
3
|
+
export class RegressionStatistic {
|
|
4
|
+
static build(source, config) {
|
|
5
|
+
return {
|
|
6
|
+
type: 'regression',
|
|
7
|
+
data: source.data,
|
|
8
|
+
x: source.x,
|
|
9
|
+
y: source.y,
|
|
10
|
+
regressionType: config.regressionType,
|
|
11
|
+
order: config.order,
|
|
12
|
+
base: config.base,
|
|
13
|
+
span: config.span,
|
|
14
|
+
confidence: config.confidence,
|
|
15
|
+
styles: {
|
|
16
|
+
...config.styles,
|
|
17
|
+
stroke: config.styles?.stroke ?? source.color ?? STATISTIC_FALLBACK_COLOR
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AxisPlotState, AxisPlotCtx, PhaseStage } from '../../types/phases';
|
|
2
|
+
import type { StylesStageOptions } from '../../types/phases/styles/phase';
|
|
3
|
+
/**
|
|
4
|
+
* The shared "styles" phase: resolves the plot's `styles` against the plot
|
|
5
|
+
* kind's own defaults - its value labels (`valueLabels`), with how far they
|
|
6
|
+
* are expected to reach out, which its margins start from.
|
|
7
|
+
*/
|
|
8
|
+
export declare class StylesPhase<TState extends AxisPlotState<any, any, any, any>, TCtx extends AxisPlotCtx> implements PhaseStage<TState, TCtx> {
|
|
9
|
+
#private;
|
|
10
|
+
readonly phase: "styles";
|
|
11
|
+
constructor(options?: StylesStageOptions<TState>);
|
|
12
|
+
run: (state: TState, ctx: TCtx) => TState;
|
|
13
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ValueLabels } from '../../layout/styles/ValueLabels';
|
|
2
|
+
/**
|
|
3
|
+
* The shared "styles" phase: resolves the plot's `styles` against the plot
|
|
4
|
+
* kind's own defaults - its value labels (`valueLabels`), with how far they
|
|
5
|
+
* are expected to reach out, which its margins start from.
|
|
6
|
+
*/
|
|
7
|
+
export class StylesPhase {
|
|
8
|
+
phase = 'styles';
|
|
9
|
+
#options;
|
|
10
|
+
constructor(options = {}) {
|
|
11
|
+
this.#options = options;
|
|
12
|
+
}
|
|
13
|
+
run = (state, ctx) => ({
|
|
14
|
+
...state,
|
|
15
|
+
valueLabels: ValueLabels.build(state.values, ctx.cfg, this.#options.values ?? {}, state)
|
|
16
|
+
});
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AxisPlotState, PhaseStage } from '../../types/phases';
|
|
2
|
+
type AnyAxisState = AxisPlotState<any, any, any, any>;
|
|
3
|
+
/**
|
|
4
|
+
* The "tooltip" phase every axis-based plot shares: how a hovered row reads,
|
|
5
|
+
* as `tooltipFormat` - the same default on every plot, {@link TooltipState.default}.
|
|
6
|
+
* It runs after the scales, which say which axis holds categories.
|
|
7
|
+
*/
|
|
8
|
+
export declare class TooltipPhase<TState extends AnyAxisState> implements PhaseStage<TState> {
|
|
9
|
+
readonly phase: "tooltip";
|
|
10
|
+
run: (state: TState) => TState;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TooltipState } from '../../layout/tooltip/TooltipState.svelte';
|
|
2
|
+
/**
|
|
3
|
+
* The "tooltip" phase every axis-based plot shares: how a hovered row reads,
|
|
4
|
+
* as `tooltipFormat` - the same default on every plot, {@link TooltipState.default}.
|
|
5
|
+
* It runs after the scales, which say which axis holds categories.
|
|
6
|
+
*/
|
|
7
|
+
export class TooltipPhase {
|
|
8
|
+
phase = 'tooltip';
|
|
9
|
+
run = (state) => ({ ...state, tooltipFormat: TooltipState.default(state) });
|
|
10
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { MarkerTransform } from '../../types/transforms';
|
|
2
|
+
import type { Row } from '../../types/phases/transforms/adapter';
|
|
3
|
+
/** Runs a marker's or a plot's transforms through svelteplot, one type's adapter at a time. */
|
|
4
|
+
export declare class Transforms {
|
|
5
|
+
/** The channels a marker hands down to its transforms, when it has them. */
|
|
6
|
+
static readonly INHERITED_CHANNELS: readonly ["x", "y", "x1", "x2", "y1", "y2"];
|
|
7
|
+
/**
|
|
8
|
+
* Runs one transform through svelteplot and returns what it produces - the
|
|
9
|
+
* transform's own output, ready to spread into the marker's props. A marker
|
|
10
|
+
* transform is one flat object, so its props are split once: the ones the
|
|
11
|
+
* transform reads as channels go first, and the rest (a stack's `offset`, a
|
|
12
|
+
* bin's `thresholds` and reducers) go second, as svelteplot's own signature
|
|
13
|
+
* takes them. An unset prop is left out, so svelteplot's own default applies.
|
|
14
|
+
*
|
|
15
|
+
* `inherited` holds the channels the marker hands down (its rows, `x`/`y`,
|
|
16
|
+
* grouping as `z`). Only the ones the transform reads are used, and the
|
|
17
|
+
* transform's own channels win over them.
|
|
18
|
+
*/
|
|
19
|
+
static run(transform: MarkerTransform, inherited?: Row): Row;
|
|
20
|
+
/**
|
|
21
|
+
* Applies a marker's `transforms` in order, each one's output feeding the next.
|
|
22
|
+
* A transform reads the marker's own rows, position channels and `grouping`
|
|
23
|
+
* (its `z`) by default, falling back to the plot's rows when the marker has
|
|
24
|
+
* none. Any of those the transform sets itself wins. The output is merged onto
|
|
25
|
+
* the marker.
|
|
26
|
+
*
|
|
27
|
+
* A transform only inherits the channels it reads (its adapter's `channelKeys`),
|
|
28
|
+
* so a bin's reducer slot is never filled from the marker: a marker's `y` is not
|
|
29
|
+
* read as `binX`'s `'count'` reducer. A `z` the transform hands back becomes
|
|
30
|
+
* the marker's `grouping`, and a `fill`/`stroke` it reduces to becomes the
|
|
31
|
+
* marker's `color`, so the marker keeps drawing its groups and colors from the
|
|
32
|
+
* new rows. Once every transform has run, {@link Transforms.finish} applies each
|
|
33
|
+
* type's fix to the marker.
|
|
34
|
+
*/
|
|
35
|
+
static resolve<T extends object>(marker: T, fallbackData: Row[]): T;
|
|
36
|
+
/**
|
|
37
|
+
* Applies each transform type's `finish` fix to a marker drawing rows those
|
|
38
|
+
* transforms produced, once per type used - for a marker built from rows that
|
|
39
|
+
* were transformed before it existed (a plot's own processed data).
|
|
40
|
+
*/
|
|
41
|
+
static finish<T extends object>(marker: T, transforms: MarkerTransform[]): T;
|
|
42
|
+
}
|