@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,44 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { TickX, TickY } from 'svelteplot';
|
|
3
|
+
import { usePlot } from '../../layout/plot/usePlot';
|
|
4
|
+
import { MarkerChannels } from '../utils/MarkerChannels';
|
|
5
|
+
import { getConfiguration } from '../../configuration/config.svelte';
|
|
6
|
+
import type { TickMarkerConfig } from '../../types/markers/common';
|
|
7
|
+
|
|
8
|
+
/** Renders one `'tick'` marker as `<TickX>` or `<TickY>`, picked from the way the plot runs (`usePlot().axes`). */
|
|
9
|
+
let { marker }: { marker: TickMarkerConfig } = $props();
|
|
10
|
+
|
|
11
|
+
const plot = usePlot();
|
|
12
|
+
const isHorizontal = $derived(plot.axes?.isHorizontal ?? false);
|
|
13
|
+
|
|
14
|
+
const cfg = $derived(getConfiguration());
|
|
15
|
+
const data = $derived(marker.data ?? []);
|
|
16
|
+
const channelStroke = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
|
|
17
|
+
const stroke = $derived(channelStroke ?? marker.styles?.stroke ?? 'currentColor');
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
{#if isHorizontal}
|
|
21
|
+
<TickX
|
|
22
|
+
{data}
|
|
23
|
+
x={marker.x}
|
|
24
|
+
y={marker.y}
|
|
25
|
+
tickLength={marker.tickLength}
|
|
26
|
+
{stroke}
|
|
27
|
+
strokeWidth={marker.styles?.strokeWidth}
|
|
28
|
+
strokeOpacity={marker.styles?.strokeOpacity}
|
|
29
|
+
strokeDasharray={marker.styles?.strokeDasharray}
|
|
30
|
+
strokeLinecap={marker.styles?.strokeLinecap}
|
|
31
|
+
/>
|
|
32
|
+
{:else}
|
|
33
|
+
<TickY
|
|
34
|
+
{data}
|
|
35
|
+
x={marker.x}
|
|
36
|
+
y={marker.y}
|
|
37
|
+
tickLength={marker.tickLength}
|
|
38
|
+
{stroke}
|
|
39
|
+
strokeWidth={marker.styles?.strokeWidth}
|
|
40
|
+
strokeOpacity={marker.styles?.strokeOpacity}
|
|
41
|
+
strokeDasharray={marker.styles?.strokeDasharray}
|
|
42
|
+
strokeLinecap={marker.styles?.strokeLinecap}
|
|
43
|
+
/>
|
|
44
|
+
{/if}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TickMarkerConfig } from '../../types/markers/common';
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
marker: TickMarkerConfig;
|
|
4
|
+
};
|
|
5
|
+
declare const TickMarker: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
6
|
+
type TickMarker = ReturnType<typeof TickMarker>;
|
|
7
|
+
export default TickMarker;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Trail } from 'svelteplot';
|
|
3
|
+
import { MarkerChannels } from '../utils/MarkerChannels';
|
|
4
|
+
import { getConfiguration } from '../../configuration/config.svelte';
|
|
5
|
+
import type { TrailMarkerConfig } from '../../types/markers/common';
|
|
6
|
+
|
|
7
|
+
/** Renders one `'trail'` marker as `<Trail>` - a ribbon whose width follows `r`. */
|
|
8
|
+
let { marker }: { marker: TrailMarkerConfig } = $props();
|
|
9
|
+
|
|
10
|
+
const cfg = $derived(getConfiguration());
|
|
11
|
+
const data = $derived(marker.data ?? []);
|
|
12
|
+
const channelFill = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<Trail
|
|
16
|
+
{data}
|
|
17
|
+
x={marker.x}
|
|
18
|
+
y={marker.y}
|
|
19
|
+
r={marker.r}
|
|
20
|
+
z={marker.grouping}
|
|
21
|
+
curve={marker.curve}
|
|
22
|
+
tension={marker.tension}
|
|
23
|
+
cap={marker.cap}
|
|
24
|
+
resolution={marker.resolution}
|
|
25
|
+
fill={channelFill ?? marker.styles?.fill ?? cfg.palette[0]}
|
|
26
|
+
fillOpacity={marker.styles?.fillOpacity}
|
|
27
|
+
/>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TrailMarkerConfig } from '../../types/markers/common';
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
marker: TrailMarkerConfig;
|
|
4
|
+
};
|
|
5
|
+
declare const TrailMarker: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
6
|
+
type TrailMarker = ReturnType<typeof TrailMarker>;
|
|
7
|
+
export default TrailMarker;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { BandSlice } from '../../types/layout/hover';
|
|
2
|
+
type BandScale = {
|
|
3
|
+
type?: string;
|
|
4
|
+
fn?: unknown;
|
|
5
|
+
} | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* How far a mark sits off the middle of its category band, in pixels, when it
|
|
8
|
+
* belongs to one `slice` of the band (a grouped bar's series). Vertical bars
|
|
9
|
+
* slice their band along `x`, horizontal ones along `y`, from the bottom; the
|
|
10
|
+
* band is read at its drawn width.
|
|
11
|
+
*/
|
|
12
|
+
export declare class BandNudge {
|
|
13
|
+
#private;
|
|
14
|
+
static of(scales: {
|
|
15
|
+
x?: BandScale;
|
|
16
|
+
y?: BandScale;
|
|
17
|
+
}, slice: BandSlice | undefined): {
|
|
18
|
+
dx: number;
|
|
19
|
+
dy: number;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How far a mark sits off the middle of its category band, in pixels, when it
|
|
3
|
+
* belongs to one `slice` of the band (a grouped bar's series). Vertical bars
|
|
4
|
+
* slice their band along `x`, horizontal ones along `y`, from the bottom; the
|
|
5
|
+
* band is read at its drawn width.
|
|
6
|
+
*/
|
|
7
|
+
export class BandNudge {
|
|
8
|
+
static of(scales, slice) {
|
|
9
|
+
if (!slice)
|
|
10
|
+
return { dx: 0, dy: 0 };
|
|
11
|
+
const across = (slice.start - slice.end) / 2;
|
|
12
|
+
const bandX = BandNudge.#width(scales.x);
|
|
13
|
+
return bandX > 0
|
|
14
|
+
? { dx: across * bandX, dy: 0 }
|
|
15
|
+
: { dx: 0, dy: -across * BandNudge.#width(scales.y) };
|
|
16
|
+
}
|
|
17
|
+
/** A band scale's drawn band width; `0` for any other scale. */
|
|
18
|
+
static #width(scale) {
|
|
19
|
+
return scale?.type === 'band'
|
|
20
|
+
? (scale.fn.bandwidth?.() ?? 0)
|
|
21
|
+
: 0;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { ChannelScalesConfig } from '../../types/layout/scales';
|
|
2
|
+
import type { SymbolType } from '../../types/plots/constants';
|
|
3
|
+
import type { PlotStylesConfig } from '../../types/configuration/styling';
|
|
4
|
+
/** One resolved opacity bucket: every row in `data` renders at exactly `value`. */
|
|
5
|
+
export type OpacityBucket<TData> = {
|
|
6
|
+
value: number;
|
|
7
|
+
data: TData[];
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* What a marker's own `color`, `symbol` and `opacity` channels resolve to,
|
|
11
|
+
* over its rows, shared by every marker kind that intersects `CommonMarkerConfig`.
|
|
12
|
+
*/
|
|
13
|
+
export declare class MarkerChannels {
|
|
14
|
+
/**
|
|
15
|
+
* Resolves a `CommonMarkerConfig` pair into a per-row fill accessor, or
|
|
16
|
+
* `undefined` when `color` is unset (caller falls back to its own flat
|
|
17
|
+
* fill/stroke). Shared by every marker kind that intersects `CommonMarkerConfig`.
|
|
18
|
+
* Safe as a live per-row function - svelteplot recognizes an already-resolved
|
|
19
|
+
* CSS color string as a literal and never re-scales it (unlike `opacity`/`r`).
|
|
20
|
+
* Continuous (numeric) or categorical (string) values both work, same as a
|
|
21
|
+
* plot's own `color` channel - the theme's own 2-color ramp defaults a
|
|
22
|
+
* continuous value, its discrete `palette` a categorical one.
|
|
23
|
+
*/
|
|
24
|
+
static buildFill<TData>(data: TData[], color: string | ((d: TData) => unknown) | undefined, scales: ChannelScalesConfig | undefined, cfg: PlotStylesConfig): ((d: TData) => string) | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Resolves a `CommonMarkerConfig`-style `symbol` pair into a per-row shape
|
|
27
|
+
* accessor, or `undefined` when unset. Safe as a live per-row function for
|
|
28
|
+
* the same reason `buildFill` is - a resolved shape name is a
|
|
29
|
+
* recognized literal, not re-scaled.
|
|
30
|
+
*/
|
|
31
|
+
static buildSymbol<TData>(data: TData[], symbol: string | ((d: TData) => unknown) | undefined, scales: ChannelScalesConfig | undefined, cfg: PlotStylesConfig): ((d: TData) => SymbolType) | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Resolves a `CommonMarkerConfig`-style `opacity` pair into a list of
|
|
34
|
+
* opacity buckets, or `undefined` when unset. Unlike `buildFill`,
|
|
35
|
+
* this can NOT hand back a live per-row function - svelteplot treats
|
|
36
|
+
* `fillOpacity`/`opacity` as bound to its own shared scale (there's no
|
|
37
|
+
* "this number is already resolved, don't touch it" escape hatch the way a
|
|
38
|
+
* recognized CSS color string gets), so any function handed a per-row
|
|
39
|
+
* accessor gets its domain silently re-derived and re-normalized by
|
|
40
|
+
* svelteplot itself (verified empirically, not assumed). Bucketing rows by
|
|
41
|
+
* a quantized opacity value and rendering one mark instance per bucket
|
|
42
|
+
* (each with `value` as a literal constant) is the only way to land an
|
|
43
|
+
* exact, independently-resolved value - same technique `fillOpacity`/gap
|
|
44
|
+
* dimming already use elsewhere in this codebase (e.g. `heatmap/markers.ts`).
|
|
45
|
+
* `steps` bounds how many buckets (mark instances) a continuous value can
|
|
46
|
+
* produce - a visually-smooth compromise, not true infinite precision.
|
|
47
|
+
*/
|
|
48
|
+
static buildOpacityBuckets<TData>(data: TData[], opacity: string | ((d: TData) => unknown) | undefined, scales: ChannelScalesConfig | undefined, cfg: PlotStylesConfig, steps?: number): OpacityBucket<TData>[] | undefined;
|
|
49
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { resolveColorScale } from '../../utils/color';
|
|
2
|
+
import { resolveOpacityScale } from '../../utils/opacity';
|
|
3
|
+
import { resolveSymbolScale } from '../../utils/symbol';
|
|
4
|
+
/**
|
|
5
|
+
* What a marker's own `color`, `symbol` and `opacity` channels resolve to,
|
|
6
|
+
* over its rows, shared by every marker kind that intersects `CommonMarkerConfig`.
|
|
7
|
+
*/
|
|
8
|
+
export class MarkerChannels {
|
|
9
|
+
/**
|
|
10
|
+
* Resolves a `CommonMarkerConfig` pair into a per-row fill accessor, or
|
|
11
|
+
* `undefined` when `color` is unset (caller falls back to its own flat
|
|
12
|
+
* fill/stroke). Shared by every marker kind that intersects `CommonMarkerConfig`.
|
|
13
|
+
* Safe as a live per-row function - svelteplot recognizes an already-resolved
|
|
14
|
+
* CSS color string as a literal and never re-scales it (unlike `opacity`/`r`).
|
|
15
|
+
* Continuous (numeric) or categorical (string) values both work, same as a
|
|
16
|
+
* plot's own `color` channel - the theme's own 2-color ramp defaults a
|
|
17
|
+
* continuous value, its discrete `palette` a categorical one.
|
|
18
|
+
*/
|
|
19
|
+
static buildFill(data, color, scales, cfg) {
|
|
20
|
+
if (!color || !data.length)
|
|
21
|
+
return undefined;
|
|
22
|
+
const colorFn = typeof color === 'function' ? color : (d) => d[color];
|
|
23
|
+
const rawVals = data
|
|
24
|
+
.map((d) => colorFn(d))
|
|
25
|
+
.filter((v) => v != null && !(typeof v === 'number' && !Number.isFinite(v)));
|
|
26
|
+
if (!rawVals.length)
|
|
27
|
+
return undefined;
|
|
28
|
+
const allNumeric = rawVals.every((v) => Number.isFinite(Number(v)));
|
|
29
|
+
const domain = allNumeric
|
|
30
|
+
? [Math.min(...rawVals.map(Number)), Math.max(...rawVals.map(Number))]
|
|
31
|
+
: [...new Set(rawVals.map(String))];
|
|
32
|
+
const defaultScheme = allNumeric ? [cfg.continuous.min, cfg.continuous.max] : cfg.palette;
|
|
33
|
+
const colorScale = resolveColorScale(scales?.color, domain, defaultScheme);
|
|
34
|
+
return (d) => colorScale(colorFn(d));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Resolves a `CommonMarkerConfig`-style `symbol` pair into a per-row shape
|
|
38
|
+
* accessor, or `undefined` when unset. Safe as a live per-row function for
|
|
39
|
+
* the same reason `buildFill` is - a resolved shape name is a
|
|
40
|
+
* recognized literal, not re-scaled.
|
|
41
|
+
*/
|
|
42
|
+
static buildSymbol(data, symbol, scales, cfg) {
|
|
43
|
+
if (!symbol)
|
|
44
|
+
return undefined;
|
|
45
|
+
const symbolFn = typeof symbol === 'function' ? symbol : (d) => d[symbol];
|
|
46
|
+
const domain = [
|
|
47
|
+
...new Set(data
|
|
48
|
+
.map((d) => symbolFn(d))
|
|
49
|
+
.filter((v) => v != null)
|
|
50
|
+
.map(String))
|
|
51
|
+
];
|
|
52
|
+
if (!domain.length)
|
|
53
|
+
return undefined;
|
|
54
|
+
const scale = resolveSymbolScale(scales?.symbol, domain, cfg.symbols);
|
|
55
|
+
return (d) => scale(symbolFn(d));
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Resolves a `CommonMarkerConfig`-style `opacity` pair into a list of
|
|
59
|
+
* opacity buckets, or `undefined` when unset. Unlike `buildFill`,
|
|
60
|
+
* this can NOT hand back a live per-row function - svelteplot treats
|
|
61
|
+
* `fillOpacity`/`opacity` as bound to its own shared scale (there's no
|
|
62
|
+
* "this number is already resolved, don't touch it" escape hatch the way a
|
|
63
|
+
* recognized CSS color string gets), so any function handed a per-row
|
|
64
|
+
* accessor gets its domain silently re-derived and re-normalized by
|
|
65
|
+
* svelteplot itself (verified empirically, not assumed). Bucketing rows by
|
|
66
|
+
* a quantized opacity value and rendering one mark instance per bucket
|
|
67
|
+
* (each with `value` as a literal constant) is the only way to land an
|
|
68
|
+
* exact, independently-resolved value - same technique `fillOpacity`/gap
|
|
69
|
+
* dimming already use elsewhere in this codebase (e.g. `heatmap/markers.ts`).
|
|
70
|
+
* `steps` bounds how many buckets (mark instances) a continuous value can
|
|
71
|
+
* produce - a visually-smooth compromise, not true infinite precision.
|
|
72
|
+
*/
|
|
73
|
+
static buildOpacityBuckets(data, opacity, scales, cfg, steps = 32) {
|
|
74
|
+
if (!opacity || !data.length)
|
|
75
|
+
return undefined;
|
|
76
|
+
const opacityFn = typeof opacity === 'function'
|
|
77
|
+
? opacity
|
|
78
|
+
: (d) => d[opacity];
|
|
79
|
+
const rawVals = data.map((d) => opacityFn(d)).filter((v) => v != null);
|
|
80
|
+
if (!rawVals.length)
|
|
81
|
+
return undefined;
|
|
82
|
+
const allNumeric = rawVals.every((v) => Number.isFinite(Number(v)));
|
|
83
|
+
const domain = allNumeric
|
|
84
|
+
? [Math.min(...rawVals.map(Number)), Math.max(...rawVals.map(Number))]
|
|
85
|
+
: [...new Set(rawVals.map(String))];
|
|
86
|
+
const scale = resolveOpacityScale(scales?.opacity, domain, cfg.continuous.opacityRange);
|
|
87
|
+
const buckets = new Map();
|
|
88
|
+
for (const d of data) {
|
|
89
|
+
const resolved = scale(opacityFn(d));
|
|
90
|
+
const quantized = Math.round(resolved * steps) / steps;
|
|
91
|
+
if (!buckets.has(quantized))
|
|
92
|
+
buckets.set(quantized, []);
|
|
93
|
+
buckets.get(quantized).push(d);
|
|
94
|
+
}
|
|
95
|
+
return [...buckets.entries()].map(([value, rows]) => ({ value, data: rows }));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Vector } from 'svelteplot';
|
|
3
|
+
import type { GeoVectorMarkerConfig } from '../../types/markers/geo';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Renders one `'vector'` marker - arrows/spikes at points. `'arrow'`/`'spike'`
|
|
7
|
+
* draw an open (stroked) path - svelteplot itself resolves their default
|
|
8
|
+
* color via `stroke`, not `fill` (only `'arrow-filled'` is a closed, filled
|
|
9
|
+
* shape) - so the default color applies to whichever channel the active
|
|
10
|
+
* shape actually draws with, matching svelteplot's own convention.
|
|
11
|
+
*/
|
|
12
|
+
let { marker }: { marker: GeoVectorMarkerConfig } = $props();
|
|
13
|
+
|
|
14
|
+
const shape = $derived(marker.shape ?? 'arrow-filled');
|
|
15
|
+
const isFilledShape = $derived(shape === 'arrow-filled');
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<Vector
|
|
19
|
+
data={marker.data}
|
|
20
|
+
x={marker.x}
|
|
21
|
+
y={marker.y}
|
|
22
|
+
length={marker.length}
|
|
23
|
+
rotate={marker.rotate}
|
|
24
|
+
{shape}
|
|
25
|
+
anchor={marker.anchor}
|
|
26
|
+
fill={marker.styles?.fill ?? (isFilledShape ? 'currentColor' : undefined)}
|
|
27
|
+
stroke={marker.styles?.stroke ?? (isFilledShape ? undefined : 'currentColor')}
|
|
28
|
+
strokeWidth={marker.styles?.strokeWidth}
|
|
29
|
+
/>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Voronoi } from 'svelteplot';
|
|
3
|
+
import { MarkerChannels } from '../utils/MarkerChannels';
|
|
4
|
+
import { getConfiguration } from '../../configuration/config.svelte';
|
|
5
|
+
import type { VoronoiMarkerConfig } from '../../types/markers/common';
|
|
6
|
+
|
|
7
|
+
/** Renders one `'voronoi'` marker as `<Voronoi>` - one Voronoi cell per point. */
|
|
8
|
+
let { marker }: { marker: VoronoiMarkerConfig } = $props();
|
|
9
|
+
|
|
10
|
+
const cfg = $derived(getConfiguration());
|
|
11
|
+
const data = $derived(marker.data ?? []);
|
|
12
|
+
const channelColor = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<Voronoi
|
|
16
|
+
{data}
|
|
17
|
+
x={marker.x}
|
|
18
|
+
y={marker.y}
|
|
19
|
+
z={marker.grouping}
|
|
20
|
+
fill={marker.styles?.fill}
|
|
21
|
+
fillOpacity={marker.styles?.fillOpacity}
|
|
22
|
+
stroke={marker.styles?.stroke ?? channelColor}
|
|
23
|
+
strokeWidth={marker.styles?.strokeWidth}
|
|
24
|
+
strokeOpacity={marker.styles?.strokeOpacity}
|
|
25
|
+
strokeDasharray={marker.styles?.strokeDasharray}
|
|
26
|
+
/>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VoronoiMarkerConfig } from '../../types/markers/common';
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
marker: VoronoiMarkerConfig;
|
|
4
|
+
};
|
|
5
|
+
declare const VoronoiMarker: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
6
|
+
type VoronoiMarker = ReturnType<typeof VoronoiMarker>;
|
|
7
|
+
export default VoronoiMarker;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { VoronoiMesh } from 'svelteplot';
|
|
3
|
+
import { MarkerChannels } from '../utils/MarkerChannels';
|
|
4
|
+
import { getConfiguration } from '../../configuration/config.svelte';
|
|
5
|
+
import type { VoronoiMeshMarkerConfig } from '../../types/markers/common';
|
|
6
|
+
|
|
7
|
+
/** Renders one `'voronoiMesh'` marker as `<VoronoiMesh>` - the Voronoi diagram as a single mesh. */
|
|
8
|
+
let { marker }: { marker: VoronoiMeshMarkerConfig } = $props();
|
|
9
|
+
|
|
10
|
+
const cfg = $derived(getConfiguration());
|
|
11
|
+
const data = $derived(marker.data ?? []);
|
|
12
|
+
const channelColor = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<VoronoiMesh
|
|
16
|
+
{data}
|
|
17
|
+
x={marker.x}
|
|
18
|
+
y={marker.y}
|
|
19
|
+
z={marker.grouping}
|
|
20
|
+
fill={marker.styles?.fill}
|
|
21
|
+
fillOpacity={marker.styles?.fillOpacity}
|
|
22
|
+
stroke={marker.styles?.stroke ?? channelColor}
|
|
23
|
+
strokeWidth={marker.styles?.strokeWidth}
|
|
24
|
+
strokeOpacity={marker.styles?.strokeOpacity}
|
|
25
|
+
strokeDasharray={marker.styles?.strokeDasharray}
|
|
26
|
+
/>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VoronoiMeshMarkerConfig } from '../../types/markers/common';
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
marker: VoronoiMeshMarkerConfig;
|
|
4
|
+
};
|
|
5
|
+
declare const VoronoiMeshMarker: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
6
|
+
type VoronoiMeshMarker = ReturnType<typeof VoronoiMeshMarker>;
|
|
7
|
+
export default VoronoiMeshMarker;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { WaffleX, WaffleY } from 'svelteplot';
|
|
3
|
+
import { usePlot } from '../../layout/plot/usePlot';
|
|
4
|
+
import { MarkerChannels } from '../utils/MarkerChannels';
|
|
5
|
+
import { getConfiguration } from '../../configuration/config.svelte';
|
|
6
|
+
import type { WaffleMarkerConfig } from '../../types/markers/common';
|
|
7
|
+
|
|
8
|
+
/** Renders one `'waffle'` marker as `<WaffleX>` or `<WaffleY>`, picked from the way the plot runs (`usePlot().axes`). */
|
|
9
|
+
let { marker }: { marker: WaffleMarkerConfig } = $props();
|
|
10
|
+
|
|
11
|
+
const plot = usePlot();
|
|
12
|
+
const isHorizontal = $derived(plot.axes?.isHorizontal ?? false);
|
|
13
|
+
|
|
14
|
+
const cfg = $derived(getConfiguration());
|
|
15
|
+
const data = $derived(marker.data ?? []);
|
|
16
|
+
const channelFill = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
|
|
17
|
+
const fill = $derived(channelFill ?? marker.styles?.fill ?? cfg.palette[0]);
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
{#if isHorizontal}
|
|
21
|
+
<WaffleX
|
|
22
|
+
{data}
|
|
23
|
+
x={marker.x}
|
|
24
|
+
x1={marker.x1}
|
|
25
|
+
x2={marker.x2}
|
|
26
|
+
y={marker.y}
|
|
27
|
+
unit={marker.unit}
|
|
28
|
+
multiple={marker.multiple}
|
|
29
|
+
gap={marker.gap}
|
|
30
|
+
round={marker.round}
|
|
31
|
+
borderRadius={marker.styles?.borderRadius}
|
|
32
|
+
{fill}
|
|
33
|
+
fillOpacity={marker.styles?.fillOpacity}
|
|
34
|
+
stroke={marker.styles?.stroke}
|
|
35
|
+
strokeWidth={marker.styles?.strokeWidth}
|
|
36
|
+
strokeOpacity={marker.styles?.strokeOpacity}
|
|
37
|
+
/>
|
|
38
|
+
{:else}
|
|
39
|
+
<WaffleY
|
|
40
|
+
{data}
|
|
41
|
+
x={marker.x}
|
|
42
|
+
y={marker.y}
|
|
43
|
+
y1={marker.y1}
|
|
44
|
+
y2={marker.y2}
|
|
45
|
+
unit={marker.unit}
|
|
46
|
+
multiple={marker.multiple}
|
|
47
|
+
gap={marker.gap}
|
|
48
|
+
round={marker.round}
|
|
49
|
+
borderRadius={marker.styles?.borderRadius}
|
|
50
|
+
{fill}
|
|
51
|
+
fillOpacity={marker.styles?.fillOpacity}
|
|
52
|
+
stroke={marker.styles?.stroke}
|
|
53
|
+
strokeWidth={marker.styles?.strokeWidth}
|
|
54
|
+
strokeOpacity={marker.styles?.strokeOpacity}
|
|
55
|
+
/>
|
|
56
|
+
{/if}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WaffleMarkerConfig } from '../../types/markers/common';
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
marker: WaffleMarkerConfig;
|
|
4
|
+
};
|
|
5
|
+
declare const WaffleMarker: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
6
|
+
type WaffleMarker = ReturnType<typeof WaffleMarker>;
|
|
7
|
+
export default WaffleMarker;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { AxisPlotState, AxisPlotCtx, AxisPlotKind, AxisPlotDefaults, DataRunState, HoverStageOptions, PhaseStage, PlotPhase } from '../types/phases';
|
|
2
|
+
import type { PlotStylesConfig } from '../types/configuration/styling';
|
|
3
|
+
import type { FacetConfig } from '../types/layout/facet';
|
|
4
|
+
import type { LegendState } from '../layout/legend/LegendState.svelte';
|
|
5
|
+
import type { HoverStrategy } from '../types/layout/hover';
|
|
6
|
+
import type { Accessor } from '../types/plots/data/common';
|
|
7
|
+
/** The core props an axis plot kind seeds its pipeline from. */
|
|
8
|
+
export type AxisPipelineProps<TData extends Record<string, unknown>> = {
|
|
9
|
+
series?: unknown[];
|
|
10
|
+
data?: TData[];
|
|
11
|
+
x?: Accessor<TData, unknown>;
|
|
12
|
+
y?: Accessor<TData, unknown>;
|
|
13
|
+
grouping?: Accessor<TData, unknown>;
|
|
14
|
+
color?: Accessor<TData, unknown>;
|
|
15
|
+
opacity?: unknown;
|
|
16
|
+
r?: unknown;
|
|
17
|
+
symbol?: unknown;
|
|
18
|
+
segments?: unknown;
|
|
19
|
+
styles?: {
|
|
20
|
+
gaps?: unknown;
|
|
21
|
+
values?: unknown;
|
|
22
|
+
};
|
|
23
|
+
scales?: object;
|
|
24
|
+
width?: number;
|
|
25
|
+
height?: number;
|
|
26
|
+
margins?: unknown;
|
|
27
|
+
tooltip?: unknown;
|
|
28
|
+
markers?: unknown[];
|
|
29
|
+
statistics?: unknown[];
|
|
30
|
+
transforms?: unknown[];
|
|
31
|
+
};
|
|
32
|
+
/** What a {@link Pipeline} knows besides its stages: how a run starts and its plot's defaults. */
|
|
33
|
+
export type PipelineOptions<TState> = {
|
|
34
|
+
/** The state a run starts from, given its input. Unset, the input is the state. */
|
|
35
|
+
seed?: (input: any, rows?: unknown[]) => TState;
|
|
36
|
+
/** The plot's hover strategy when neither its `tooltip` nor a hover marker sets one. */
|
|
37
|
+
hoverStrategy?: HoverStageOptions<unknown>['strategy'];
|
|
38
|
+
/** How its plot steps through a timeline, unless the author says otherwise. */
|
|
39
|
+
timeline?: AxisPlotDefaults<never, never>['timeline'];
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* A plot's pipeline: its stages, one per phase, in {@link Pipeline.ORDER},
|
|
43
|
+
* and what its plot needs before any of them run - its hover strategy and
|
|
44
|
+
* timeline defaults. Every core of the plot runs it ({@link run}); with a
|
|
45
|
+
* facet, the plot first runs its data phases once over every panel
|
|
46
|
+
* ({@link runData}), and each panel's core runs only the rest.
|
|
47
|
+
*
|
|
48
|
+
* Stages declared out of phase order still run in it - with a warning, once,
|
|
49
|
+
* since the declared order would otherwise read as the one that runs.
|
|
50
|
+
*/
|
|
51
|
+
export declare class Pipeline<TState, TCtx = unknown> {
|
|
52
|
+
#private;
|
|
53
|
+
/**
|
|
54
|
+
* The phases that work on the plot's rows - everything before its scales,
|
|
55
|
+
* plus the domains its slices share - in order. They run once over every
|
|
56
|
+
* facet panel; the rest depend on each panel's own box.
|
|
57
|
+
*/
|
|
58
|
+
static readonly DATA_PHASES: readonly PlotPhase[];
|
|
59
|
+
/** Every {@link PlotPhase}, in the order they run: the data phases, then each panel's own. */
|
|
60
|
+
static readonly ORDER: readonly PlotPhase[];
|
|
61
|
+
readonly stages: readonly PhaseStage<TState, TCtx>[];
|
|
62
|
+
constructor(stages: PhaseStage<TState, TCtx>[], options?: PipelineOptions<TState>);
|
|
63
|
+
/**
|
|
64
|
+
* An axis-based plot kind's pipeline: the shared stages, each set up with
|
|
65
|
+
* the kind's own options - its marks and value labels among them - started
|
|
66
|
+
* from a core's props. Built once per kind object.
|
|
67
|
+
*/
|
|
68
|
+
static ofAxisKind<TState extends AxisPlotState<any, any, any, any>, TCtx extends AxisPlotCtx>(kind: AxisPlotKind<TState, TCtx> & Pick<AxisPlotDefaults<any, any>, 'timeline'>): Pipeline<TState, TCtx>;
|
|
69
|
+
/** A plot's pipeline from what its kind gives: its axis-kind defaults, or a pipeline of its own. */
|
|
70
|
+
static of(defaults: AxisPlotDefaults<any, any> | Pipeline<any, any>): Pipeline<any, any>;
|
|
71
|
+
/** The stage of `phase`, if the pipeline has one. */
|
|
72
|
+
stage(phase: PlotPhase): PhaseStage<TState, TCtx> | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* A core's run: every stage over the state its `input` (an axis core's
|
|
75
|
+
* props) seeds - or, given `panelState` (one facet panel's part of
|
|
76
|
+
* {@link runData}), only the stages after the data phases, over that state
|
|
77
|
+
* with the input's own props (its box, margins and scales) on top.
|
|
78
|
+
*/
|
|
79
|
+
run: (input: unknown, ctx: TCtx, panelState?: object) => TState;
|
|
80
|
+
/** Whether the pipeline has data phases to run once over every facet panel ({@link runData}). */
|
|
81
|
+
get facets(): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* The data phases over `rows`, seeded from a core's `props`, with the
|
|
84
|
+
* plot's `facet`: one run that every facet panel then reads its part of,
|
|
85
|
+
* including the domains its slices share (its "sharedScales" phase).
|
|
86
|
+
*/
|
|
87
|
+
runData(props: object, rows: unknown[], facet: FacetConfig<never> | undefined, legendInteraction: LegendState | null, cfg: PlotStylesConfig): DataRunState;
|
|
88
|
+
/**
|
|
89
|
+
* The plot's hover strategy when neither its `tooltip` nor a hover marker
|
|
90
|
+
* sets one, given its props: the kind's own, or the one its axes ask for,
|
|
91
|
+
* read after the "data" phase tells them apart.
|
|
92
|
+
*/
|
|
93
|
+
hoverStrategy(props: object, cfg?: PlotStylesConfig): HoverStrategy;
|
|
94
|
+
/** The plot's default `timeline.filterMode`. */
|
|
95
|
+
get filterMode(): 'exact' | 'upTo' | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* How the plot tweens its timeline unless `timeline.interpolate` says
|
|
98
|
+
* otherwise, from the channels its "mapping" phase resolves over
|
|
99
|
+
* `props.data`: rows matched by the values of whichever `key` channels are
|
|
100
|
+
* set, `value` tweened. `undefined` when its kind tweens nothing.
|
|
101
|
+
*/
|
|
102
|
+
interpolation<TRow extends Record<string, unknown>>(props: {
|
|
103
|
+
data?: TRow[];
|
|
104
|
+
}, cfg: PlotStylesConfig): {
|
|
105
|
+
value: Accessor<TRow, never>;
|
|
106
|
+
key?: Accessor<TRow, unknown>;
|
|
107
|
+
} | undefined;
|
|
108
|
+
}
|