@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
package/llms-full.txt
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# @fundar/data-chart-telling - guide for LLMs and coding agents
|
|
2
|
+
|
|
3
|
+
Svelte 5 plot components on top of svelteplot. This file is checked against the source; the runnable files in `examples/` are type-checked and mounted by the test suite, and `docs/` has one page per topic. If this text and `dist/**/*.d.ts` differ, the types are right - tell the user.
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
- Peer dependencies: `svelte@^5`, `svelteplot@^0.14`; `topojson-client` only for GeoPlot with TopoJSON.
|
|
8
|
+
- The package ships Svelte components, so the app builds with `@sveltejs/vite-plugin-svelte` or SvelteKit.
|
|
9
|
+
- Import from the package root: `import { LinePlot } from '@fundar/data-chart-telling'`.
|
|
10
|
+
- Types ship with the package (`dist/index.d.ts`, JSDoc on every config field).
|
|
11
|
+
|
|
12
|
+
## The mental model
|
|
13
|
+
|
|
14
|
+
- A **plot** is one graph (axes + marks). Titles, subtitle, caption, legend, facets and a timeline are props of the plot itself.
|
|
15
|
+
- Plots: `LinePlot AreaPlot BarPlot HistogramPlot HeatmapPlot PyramidPlot ScatterPlot GeoPlot`.
|
|
16
|
+
- `PlotComposer` lays several plots out in one figure with shared hover, legend and timeline.
|
|
17
|
+
- `width` and `height` are pixel numbers on a standalone plot. To fill a container or the window, bind its size (`examples/ResponsiveLine.svelte`) and render the plot once both are > 0.
|
|
18
|
+
|
|
19
|
+
## Data
|
|
20
|
+
|
|
21
|
+
Two ways to give data, one per plot:
|
|
22
|
+
|
|
23
|
+
```svelte
|
|
24
|
+
<LinePlot data={rows} x="year" y="value" color="region" {width} {height} />
|
|
25
|
+
<LinePlot series={[{ name: 'North', x: 'year', y: 'value', data: rowsNorth }]} {width} {height} />
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
- `x`, `y`, `color`, `grouping`, `opacity`, `symbol`, `r`, `length` take a field name or an accessor function.
|
|
29
|
+
- `grouping` splits `data` into series. When unset, `color` groups too, so the usual call is `color="region"`: one series per region, each with its own color.
|
|
30
|
+
- Dates are `Date` objects (UTC midnight avoids timezone shifts); numeric years are numbers.
|
|
31
|
+
- Rows are parsed, typed and sorted by the app before they reach the plot (a `?raw` CSV import plus a small parser is enough).
|
|
32
|
+
- A series' name is what the legend, value labels and tooltip show: name values in the data.
|
|
33
|
+
|
|
34
|
+
## Props of every x/y plot
|
|
35
|
+
|
|
36
|
+
| Prop | Purpose |
|
|
37
|
+
| --- | --- |
|
|
38
|
+
| `title` `subtitle` `caption` | Text chrome. `header` / `footer` snippets replace title+subtitle / caption. |
|
|
39
|
+
| `legend` | unset/`true`: automatic legend; `false`: none; `{ series: { interactive: { enabled: true, disabled: { mode: 'omit' } } } }` adjusts a section. |
|
|
40
|
+
| `order` | Chrome blocks top to bottom, e.g. `['title','subtitle','legend','plot','caption']`; rows as `'(plot, timeline)'`; `'divider'` between blocks. |
|
|
41
|
+
| `scales` | Per channel: `{ x: { label, tickFormat, domain, type, ticks, grid }, y: {...}, color: { scheme, domain } }`. |
|
|
42
|
+
| `styles` | `{ values: {...}, frame: true, gaps: {...} }` (shape depends on the kind). |
|
|
43
|
+
| `segments` | Style ranges of the data (rule 1 below). |
|
|
44
|
+
| `markers` | Extra marks, an array of `{ type: '...', ... }`. |
|
|
45
|
+
| `margins` | `{ top, right, bottom, left }`, each a number or `'auto'` (all `'auto'` by default). |
|
|
46
|
+
| `tooltip` | `true` or `{ strategy, sync, format, content, series, anchorX, anchorY }`. |
|
|
47
|
+
| `timeline` | `{ accessor: 'year' }` steps through the rows by a field, drawn as a player bar (default); `type: 'rule'` draws a rule beside the plot instead. |
|
|
48
|
+
| `facet` | `{ by: 'field', columns, gap, scales: 'shared'\|'free', mode: 'grid'\|'carousel'\|'paginated' }` or `{ rows, cols }`. |
|
|
49
|
+
| `transforms` `statistics` | svelteplot transforms / derived summaries (regression, movingAverage, ...). |
|
|
50
|
+
|
|
51
|
+
Per kind: `BarPlot` x = category, y = value (swap for horizontal bars); `PyramidPlot` mirrors two series around zero; `HeatmapPlot` colors cells by `color`; `HistogramPlot` bins one numeric field; `ScatterPlot` takes `r` (size) and `symbol`; `GeoPlot` takes GeoJSON/TopoJSON in `data` and `coordinates` for the projection (`docs/geo.md`).
|
|
52
|
+
|
|
53
|
+
## Switches
|
|
54
|
+
|
|
55
|
+
- **Hover and tooltip** are enabled by `tooltip` and/or a hover marker. The usual look: `tooltip={true} markers={[{ type: 'hover' }]}`. `tooltip.strategy` is `'x' | 'y' | 'punctual' | 'series'`.
|
|
56
|
+
- **Value labels**: `styles={{ values: { show: true } }}`. On a LinePlot they sit at the end of each series, spread apart automatically, and the right margin grows to fit them (keep `margins.right` at `'auto'`). Format with `values.format: (value, seriesName) => string`; style with `values.fontStyle`.
|
|
57
|
+
- **Toggling series from the legend**: `interactive.enabled` on the series section.
|
|
58
|
+
- **A frame** around the plot area: `styles={{ frame: true }}`.
|
|
59
|
+
|
|
60
|
+
## Rules that matter
|
|
61
|
+
|
|
62
|
+
1. `segments` is an object keyed by series name or `'default'`: `{ default: [{ areas: [{ x: { from, to } }], styles: { stroke: { strokeDasharray: '6 4' } } }] }`. A segment without `areas` is a baseline for everything; area-specific segments override it.
|
|
63
|
+
2. The global configuration holds data (`setConfiguration(...)` is cloned); functions go in plot props such as `format` and `tickFormat`.
|
|
64
|
+
3. A continuous color ramp is `scales.color.scheme: [colorA, colorB]` (or a named ramp such as `'blues'`); categorical colors come from `palette` or a `scheme` record.
|
|
65
|
+
4. `margins` at `'auto'` (the default) fit value labels and long tick text from the measured text, also when `scales.y.domain` is pinned. A fixed number sets the side exactly.
|
|
66
|
+
5. `tooltip.sync: true` in a `facet` or `PlotComposer` shows the highlight in every panel: that is how panels compare the same x.
|
|
67
|
+
6. On a BarPlot the tooltip triggers anywhere over a bar's whole band (and its series' slice, when grouped).
|
|
68
|
+
7. `r` takes raw values and its sqrt scale makes area follow the value; tune with `scales.r.range`. A literal number is a fixed pixel radius.
|
|
69
|
+
8. Narrow plots with long category or series names: shorten the text in the data, format with `tickFormat` / `values.format`, or give `margins` more room.
|
|
70
|
+
9. In Svelte 5 components, `state` is taken by the `$state` rune: name local variables otherwise.
|
|
71
|
+
10. Stacking is `transforms={[{ type: 'stackY' }]}`, also for horizontal bars (the value channel is the one stacked).
|
|
72
|
+
|
|
73
|
+
## Reading and driving plot state (custom UI)
|
|
74
|
+
|
|
75
|
+
Inside a plot's snippets (`header`, `footer`, tooltip `content`) or any child of a figure, call during component init:
|
|
76
|
+
|
|
77
|
+
- `useFigure()` returns `{ hover, legend, timeline }` for the whole figure.
|
|
78
|
+
- `usePlot()` returns the same plus `margins`, `scales`, `axes`, `data`, `width`, `height`, `svelteplot` (inside a plot, e.g. a `component` marker).
|
|
79
|
+
- `legend.off` (names of hidden series), `legend.isOff(name)`, `legend.toggle(name, action)`, `turnOff`, `turnOn`. `action` is `{ mode: 'dim' | 'hide' | 'omit' }`; `'omit'` removes the series and refits the axes, so the visible domain follows `legend.off`.
|
|
80
|
+
- `timeline.steps`, `value`, `progress`, `playing`, `seek(p)`, `seekValue(v)`, `next()`, `previous()`, `play()`, `pause()`, `toggle()`, `setSpeed()`.
|
|
81
|
+
- `hover.activeX`, `activeY`, `activeSeries`, `source`.
|
|
82
|
+
|
|
83
|
+
The timeline is a player bar by default: `timeline={{ accessor: 'year', player: { controls: ['play','value','slider','speed','loop'], format, autoplay, loop, speed, stepDuration } }}`. `type: 'rule'` draws a guide beside the plot instead, driven by `progress` (a slider or scroll position of your own).
|
|
84
|
+
|
|
85
|
+
## Markers
|
|
86
|
+
|
|
87
|
+
Add with `markers={[{ type: '...' }]}`. For x/y plots:
|
|
88
|
+
`area arrow bar bollinger box brush cell component delaunayLink delaunayMesh delta density difference dot hover hull image line raster rect regression rule text tick trail voronoi voronoiMesh waffle`.
|
|
89
|
+
GeoPlot: `graticule sphere dot text vector link contour inset geo-hover geo-component`.
|
|
90
|
+
|
|
91
|
+
- `delta` annotates the difference between two series at a position: `{ type: 'delta', axis: 'x', at: 2020, from: { type: 'series', series: 'A' }, to: { type: 'series', series: 'B' }, formatDiff: (d) => d.toFixed(1) }`.
|
|
92
|
+
- `rule` (`axis`, `value`), `text` (`text`), `dot` annotate; `component` mounts your own Svelte component inside the plot (it can call `usePlot()`).
|
|
93
|
+
- Each plot kind types its own marker union (`AxisBasedMarkersConfig`, `GeoMarkersConfig`); `satisfies` on a markers array gives completion.
|
|
94
|
+
|
|
95
|
+
## Theming and locale
|
|
96
|
+
|
|
97
|
+
- `setConfiguration(partial)` deep-merges global defaults (colors, fonts, spacing, legend, tooltip, timeline); `resetConfiguration()` restores them. Inside an `$effect`, wrap the call in `untrack`.
|
|
98
|
+
- `THEMES` has `Default Editorial Dark Compact`: `setConfiguration(THEMES.Editorial)`.
|
|
99
|
+
- Number and date text follows `axis.locale` (default `'es-AR'`) in the configuration; per axis, `tickFormat: (d) => new Intl.NumberFormat('en-US').format(d)` or an `Intl.*FormatOptions` object.
|
|
100
|
+
|
|
101
|
+
## Docs (in `docs/`)
|
|
102
|
+
|
|
103
|
+
`getting-started.md`, `concepts.md`, `plots.md`, `scales.md`, `styles-and-segments.md`, `markers.md`, `transforms-and-statistics.md`, `tooltip-and-hover.md`, `legend.md`, `timeline.md`, `chrome.md`, `facets.md`, `composer.md`, `state.md`, `geo.md`, `theming.md`.
|
|
104
|
+
|
|
105
|
+
## Examples (in `examples/`, all runnable)
|
|
106
|
+
|
|
107
|
+
- `ResponsiveLine.svelte` - fill the window, end-of-line labels, axis labels.
|
|
108
|
+
- `Tooltip.svelte` - tooltip + hover marker.
|
|
109
|
+
- `Segments.svelte` - styling a range of the data.
|
|
110
|
+
- `LegendToggle.svelte` + `LegendReader.svelte` - interactive legend and reading its state.
|
|
111
|
+
- `TimelinePlayer.svelte` - animated bar chart with a player.
|
|
112
|
+
- `Facets.svelte` - small multiples with a synced tooltip.
|
|
113
|
+
- `BarValues.svelte` - value labels on bars.
|
|
114
|
+
- `CustomTooltip.svelte` + `TooltipCard.svelte` - a tooltip drawn with your own card (`tooltip.content`).
|
package/llms.txt
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# @fundar/data-chart-telling
|
|
2
|
+
|
|
3
|
+
> Svelte 5 plot components (line, area, bar, histogram, heatmap, pyramid, scatter, geo) built on svelteplot, with titles, legends, tooltips, facets, timelines and value labels built in. Plots take pixel `width`/`height`; hover and tooltips are switched on with `tooltip` and a `hover` marker.
|
|
4
|
+
|
|
5
|
+
Start with the full guide: it lists the mental model, the props every plot shares, the switches and the rules that matter. Runnable examples are type-checked, so copy them as a starting point.
|
|
6
|
+
|
|
7
|
+
## Guide
|
|
8
|
+
|
|
9
|
+
- [Full guide](./llms-full.txt): API overview, switches, rules, state hooks (`useFigure`, `usePlot`), markers, theming
|
|
10
|
+
|
|
11
|
+
## Docs
|
|
12
|
+
|
|
13
|
+
- [Getting started](./docs/getting-started.md): install, first plot, sizing, data
|
|
14
|
+
- [Concepts](./docs/concepts.md): plots, figures, rows and series, channels, shared props
|
|
15
|
+
- [Plots](./docs/plots.md): the eight plot kinds
|
|
16
|
+
- [Scales](./docs/scales.md): axes and channel scales
|
|
17
|
+
- [Styles and segments](./docs/styles-and-segments.md): value labels, frame, gaps, ranges of data
|
|
18
|
+
- [Markers](./docs/markers.md): annotations, regions, hover highlight, custom components
|
|
19
|
+
- [Transforms and statistics](./docs/transforms-and-statistics.md): stacking, binning, smoothing, regression
|
|
20
|
+
- [Tooltip and hover](./docs/tooltip-and-hover.md): tooltip options, hover marker, sync
|
|
21
|
+
- [Legend](./docs/legend.md): automatic legend, toggling series, sections
|
|
22
|
+
- [Timeline](./docs/timeline.md): player (default) and rule
|
|
23
|
+
- [Chrome](./docs/chrome.md): title, caption, header, footer, order, dividers
|
|
24
|
+
- [Facets](./docs/facets.md): small multiples
|
|
25
|
+
- [Composer](./docs/composer.md): several plots in one figure
|
|
26
|
+
- [Reading plot state](./docs/state.md): `useFigure`, `usePlot`
|
|
27
|
+
- [Maps](./docs/geo.md): GeoPlot, projections, camera, map markers
|
|
28
|
+
- [Theming](./docs/theming.md): configuration, themes, locale, CSS variables
|
|
29
|
+
|
|
30
|
+
## Examples
|
|
31
|
+
|
|
32
|
+
- [Responsive line chart with end labels](./examples/ResponsiveLine.svelte)
|
|
33
|
+
- [Tooltip and hover marker](./examples/Tooltip.svelte)
|
|
34
|
+
- [Segments (styling a range of data)](./examples/Segments.svelte)
|
|
35
|
+
- [Interactive legend and reading its state](./examples/LegendToggle.svelte)
|
|
36
|
+
- [Timeline player](./examples/TimelinePlayer.svelte)
|
|
37
|
+
- [Facets with a synced tooltip](./examples/Facets.svelte)
|
|
38
|
+
- [Bars with value labels](./examples/BarValues.svelte)
|
|
39
|
+
- [Custom tooltip card](./examples/CustomTooltip.svelte)
|
|
40
|
+
- [Shared example data](./examples/data.ts)
|
|
41
|
+
|
|
42
|
+
## Types
|
|
43
|
+
|
|
44
|
+
- [Public exports](./dist/index.d.ts): every config type, with JSDoc on each field
|
|
45
|
+
|
|
46
|
+
## Optional
|
|
47
|
+
|
|
48
|
+
- [README](./README.md): overview and documentation index
|
|
49
|
+
- [Package manifest](./package.json): peer dependencies (`svelte`, `svelteplot`, optional `topojson-client`)
|
package/package.json
CHANGED
|
@@ -1,9 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundar/data-chart-telling",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Declarative charts, maps and small multiples for Svelte, built on svelteplot.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "Ezequiel Puerta",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/datos-Fundar/data-chart-telling.git"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/datos-Fundar/data-chart-telling#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/datos-Fundar/data-chart-telling/issues"
|
|
14
|
+
},
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public"
|
|
17
|
+
},
|
|
18
|
+
"engines": {
|
|
19
|
+
"node": ">=20.19"
|
|
20
|
+
},
|
|
4
21
|
"type": "module",
|
|
5
22
|
"files": [
|
|
6
|
-
"
|
|
23
|
+
"LICENSE",
|
|
24
|
+
"CHANGELOG.md",
|
|
25
|
+
"dist",
|
|
26
|
+
"docs",
|
|
27
|
+
"!docs/images",
|
|
28
|
+
"examples",
|
|
29
|
+
"llms.txt",
|
|
30
|
+
"llms-full.txt"
|
|
7
31
|
],
|
|
8
32
|
"sideEffects": [
|
|
9
33
|
"**/*.css"
|
|
@@ -19,8 +43,10 @@
|
|
|
19
43
|
},
|
|
20
44
|
"dependencies": {
|
|
21
45
|
"@types/geojson": "^7946.0.16",
|
|
46
|
+
"d3-array": "^3.2.4",
|
|
22
47
|
"d3-geo": "^3.1.1",
|
|
23
48
|
"d3-interpolate": "^3.0.1",
|
|
49
|
+
"d3-scale-chromatic": "^3.1.0",
|
|
24
50
|
"d3-selection": "^3.0.0",
|
|
25
51
|
"d3-zoom": "^3.0.0"
|
|
26
52
|
},
|
|
@@ -45,8 +71,10 @@
|
|
|
45
71
|
"@storybook/svelte-vite": "^10.4.1",
|
|
46
72
|
"@sveltejs/package": "^2.5.7",
|
|
47
73
|
"@sveltejs/vite-plugin-svelte": "^7.0.0",
|
|
74
|
+
"@types/d3-array": "^3.2.2",
|
|
48
75
|
"@types/d3-geo": "^3.1.0",
|
|
49
76
|
"@types/d3-interpolate": "^3.0.4",
|
|
77
|
+
"@types/d3-scale-chromatic": "^3.1.0",
|
|
50
78
|
"@types/d3-selection": "^3.0.11",
|
|
51
79
|
"@types/d3-zoom": "^3.0.8",
|
|
52
80
|
"@types/node": "^22",
|
|
@@ -58,8 +86,9 @@
|
|
|
58
86
|
"eslint-plugin-storybook": "^10.4.1",
|
|
59
87
|
"eslint-plugin-svelte": "^3.17.0",
|
|
60
88
|
"globals": "^17.4.0",
|
|
89
|
+
"husky": "^9.1.7",
|
|
61
90
|
"knip": "^6.32.1",
|
|
62
|
-
"playwright": "^1.
|
|
91
|
+
"playwright": "^1.64.0",
|
|
63
92
|
"prettier": "^3.8.1",
|
|
64
93
|
"prettier-plugin-svelte": "^3.5.1",
|
|
65
94
|
"publint": "^0.3.18",
|
|
@@ -75,7 +104,12 @@
|
|
|
75
104
|
"vitest-browser-svelte": "^2.1.1"
|
|
76
105
|
},
|
|
77
106
|
"keywords": [
|
|
78
|
-
"svelte"
|
|
107
|
+
"svelte",
|
|
108
|
+
"svelteplot",
|
|
109
|
+
"charts",
|
|
110
|
+
"data-visualization",
|
|
111
|
+
"maps",
|
|
112
|
+
"small-multiples"
|
|
79
113
|
],
|
|
80
114
|
"scripts": {
|
|
81
115
|
"build": "svelte-package",
|
|
@@ -85,8 +119,10 @@
|
|
|
85
119
|
"lint": "prettier --check . && eslint .",
|
|
86
120
|
"format": "prettier --write .",
|
|
87
121
|
"test": "vitest run --project=unit --project=browser",
|
|
122
|
+
"test:coverage": "node scripts/coverage.mjs",
|
|
88
123
|
"test:stories": "vitest run --project=storybook",
|
|
89
124
|
"storybook": "storybook dev -p 6006",
|
|
90
|
-
"build-storybook": "storybook build"
|
|
125
|
+
"build-storybook": "storybook build",
|
|
126
|
+
"docs:images": "node scripts/docs-images.mjs"
|
|
91
127
|
}
|
|
92
128
|
}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
<script lang="ts" generics="TRow extends Record<string, unknown>">
|
|
2
|
-
import ChartContainer from './container/ChartContainer.svelte';
|
|
3
|
-
import TimelineLayout from '../layout/timeline/TimelineLayout.svelte';
|
|
4
|
-
import FacetLayout from '../layout/facet/FacetLayout.svelte';
|
|
5
|
-
import LegendLayout from '../layout/legend/LegendLayout.svelte';
|
|
6
|
-
import { getConfiguration } from '../configuration/config.svelte';
|
|
7
|
-
import { provideHover } from '../layout/tooltip/hover.svelte';
|
|
8
|
-
import { provideLegendInteraction } from '../layout/legend/interaction.svelte';
|
|
9
|
-
import type { Snippet } from 'svelte';
|
|
10
|
-
import type { LegendSection } from '../types/layout/legend';
|
|
11
|
-
import type { HoverStrategy } from '../types/layout/tooltip';
|
|
12
|
-
import type { ChartPlotSnippet } from '../types/charts/common';
|
|
13
|
-
import type { FacetConfig } from '../types/layout/facet';
|
|
14
|
-
import type { TimeValue, TimelineConfig } from '../types/layout/timeline';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* The orchestrator. It wires together the four interchangeable layout
|
|
18
|
-
* primitives — container, timeline, facet, legend — around a single leaf
|
|
19
|
-
* `plot` snippet. The composition order is fixed and meaningful:
|
|
20
|
-
*
|
|
21
|
-
* container ▸ timeline (one shared scrubber) ▸ facet (split per small-multiple) ▸ plot
|
|
22
|
-
*
|
|
23
|
-
* The leaf snippet receives `{ data, width, height, facetValue?, selectedValue?,
|
|
24
|
-
* margins? }` and knows nothing about how that box or that data slice was
|
|
25
|
-
* produced, which is what lets any plot (line, bar, heatmap, …) drop in
|
|
26
|
-
* unchanged. `margins` only has a side set when `facet.marginsForFacet`
|
|
27
|
-
* reports it — forward it to the plot's own `margins` prop so every facet
|
|
28
|
-
* shares the same content box on that side.
|
|
29
|
-
*/
|
|
30
|
-
let {
|
|
31
|
-
width,
|
|
32
|
-
height,
|
|
33
|
-
title,
|
|
34
|
-
subtitle,
|
|
35
|
-
caption,
|
|
36
|
-
legend,
|
|
37
|
-
header,
|
|
38
|
-
footer,
|
|
39
|
-
data,
|
|
40
|
-
facet,
|
|
41
|
-
timeline,
|
|
42
|
-
hover,
|
|
43
|
-
plot,
|
|
44
|
-
}: {
|
|
45
|
-
width: number;
|
|
46
|
-
height: number;
|
|
47
|
-
title?: string;
|
|
48
|
-
subtitle?: string;
|
|
49
|
-
caption?: string;
|
|
50
|
-
legend?: LegendSection[];
|
|
51
|
-
header?: Snippet;
|
|
52
|
-
footer?: Snippet;
|
|
53
|
-
data: TRow[];
|
|
54
|
-
facet?: FacetConfig<TRow>;
|
|
55
|
-
timeline?: TimelineConfig<TRow>;
|
|
56
|
-
hover?: { strategy: HoverStrategy; sync: boolean };
|
|
57
|
-
plot: ChartPlotSnippet<TRow>;
|
|
58
|
-
} = $props();
|
|
59
|
-
|
|
60
|
-
const cfg = $derived(getConfiguration());
|
|
61
|
-
|
|
62
|
-
const hoverStore = provideHover();
|
|
63
|
-
const legendInteraction = provideLegendInteraction();
|
|
64
|
-
const legendPlotContext = $derived({
|
|
65
|
-
disabledSeries: new Set(legendInteraction.disabledSeries.keys()),
|
|
66
|
-
isDisabled: (name: string) => legendInteraction.disabledSeries.has(name),
|
|
67
|
-
});
|
|
68
|
-
$effect(() => {
|
|
69
|
-
hoverStore.strategy = hover?.strategy ?? 'x';
|
|
70
|
-
hoverStore.sync = hover?.sync ?? false;
|
|
71
|
-
});
|
|
72
|
-
</script>
|
|
73
|
-
|
|
74
|
-
{#snippet body(rows: TRow[], w: number, h: number, selectedValue: TimeValue | undefined)}
|
|
75
|
-
{#if facet}
|
|
76
|
-
<FacetLayout
|
|
77
|
-
data={rows}
|
|
78
|
-
by={facet.by}
|
|
79
|
-
columns={facet.columns}
|
|
80
|
-
values={facet.values}
|
|
81
|
-
gap={facet.gap}
|
|
82
|
-
mode={facet.mode}
|
|
83
|
-
visible={facet.visible}
|
|
84
|
-
pageSize={facet.pageSize}
|
|
85
|
-
navLayout={facet.navLayout}
|
|
86
|
-
formatIndicator={facet.formatIndicator}
|
|
87
|
-
indicator={facet.indicator}
|
|
88
|
-
navButton={facet.navButton}
|
|
89
|
-
marginsForFacet={facet.marginsForFacet}
|
|
90
|
-
width={w}
|
|
91
|
-
height={h}
|
|
92
|
-
>
|
|
93
|
-
{#snippet cell({ facetValue, data: cellData, width: cw, height: ch, margins })}
|
|
94
|
-
{@render plot({
|
|
95
|
-
data: cellData,
|
|
96
|
-
width: cw,
|
|
97
|
-
height: ch,
|
|
98
|
-
facetValue,
|
|
99
|
-
selectedValue,
|
|
100
|
-
legend: legendPlotContext,
|
|
101
|
-
margins
|
|
102
|
-
})}
|
|
103
|
-
{/snippet}
|
|
104
|
-
</FacetLayout>
|
|
105
|
-
{:else}
|
|
106
|
-
{@render plot({ data: rows, width: w, height: h, selectedValue, legend: legendPlotContext })}
|
|
107
|
-
{/if}
|
|
108
|
-
{/snippet}
|
|
109
|
-
|
|
110
|
-
{#snippet legendSnippet()}
|
|
111
|
-
{#if legend && legend.length > 0}
|
|
112
|
-
<LegendLayout sections={legend} />
|
|
113
|
-
{/if}
|
|
114
|
-
{/snippet}
|
|
115
|
-
|
|
116
|
-
<ChartContainer
|
|
117
|
-
{width}
|
|
118
|
-
{height}
|
|
119
|
-
{title}
|
|
120
|
-
{subtitle}
|
|
121
|
-
{caption}
|
|
122
|
-
{header}
|
|
123
|
-
{footer}
|
|
124
|
-
legend={legend && legend.length > 0 ? legendSnippet : undefined}
|
|
125
|
-
>
|
|
126
|
-
{#snippet plot({ width: w, height: h })}
|
|
127
|
-
{#if timeline}
|
|
128
|
-
<TimelineLayout
|
|
129
|
-
{data}
|
|
130
|
-
accessor={timeline.accessor}
|
|
131
|
-
progress={timeline.progress}
|
|
132
|
-
values={timeline.values}
|
|
133
|
-
orientation={timeline.orientation}
|
|
134
|
-
show={timeline.show}
|
|
135
|
-
thickness={timeline.thickness ?? cfg.timeline.thickness}
|
|
136
|
-
filterMode={timeline.filterMode}
|
|
137
|
-
interpolate={typeof timeline.interpolate === 'object' ? timeline.interpolate : undefined}
|
|
138
|
-
width={w}
|
|
139
|
-
height={h}
|
|
140
|
-
>
|
|
141
|
-
{#snippet child({ selectedValue, data: tData, width: tw, height: th })}
|
|
142
|
-
{@render body(tData, tw, th, selectedValue)}
|
|
143
|
-
{/snippet}
|
|
144
|
-
</TimelineLayout>
|
|
145
|
-
{:else}
|
|
146
|
-
{@render body(data, w, h, undefined)}
|
|
147
|
-
{/if}
|
|
148
|
-
{/snippet}
|
|
149
|
-
</ChartContainer>
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { Snippet } from 'svelte';
|
|
2
|
-
import type { LegendSection } from '../types/layout/legend';
|
|
3
|
-
import type { HoverStrategy } from '../types/layout/tooltip';
|
|
4
|
-
import type { ChartPlotSnippet } from '../types/charts/common';
|
|
5
|
-
import type { FacetConfig } from '../types/layout/facet';
|
|
6
|
-
import type { TimelineConfig } from '../types/layout/timeline';
|
|
7
|
-
declare function $$render<TRow extends Record<string, unknown>>(): {
|
|
8
|
-
props: {
|
|
9
|
-
width: number;
|
|
10
|
-
height: number;
|
|
11
|
-
title?: string;
|
|
12
|
-
subtitle?: string;
|
|
13
|
-
caption?: string;
|
|
14
|
-
legend?: LegendSection[];
|
|
15
|
-
header?: Snippet;
|
|
16
|
-
footer?: Snippet;
|
|
17
|
-
data: TRow[];
|
|
18
|
-
facet?: FacetConfig<TRow>;
|
|
19
|
-
timeline?: TimelineConfig<TRow>;
|
|
20
|
-
hover?: {
|
|
21
|
-
strategy: HoverStrategy;
|
|
22
|
-
sync: boolean;
|
|
23
|
-
};
|
|
24
|
-
plot: ChartPlotSnippet<TRow>;
|
|
25
|
-
};
|
|
26
|
-
exports: {};
|
|
27
|
-
bindings: "";
|
|
28
|
-
slots: {};
|
|
29
|
-
events: {};
|
|
30
|
-
};
|
|
31
|
-
declare class __sveltets_Render<TRow extends Record<string, unknown>> {
|
|
32
|
-
props(): ReturnType<typeof $$render<TRow>>['props'];
|
|
33
|
-
events(): ReturnType<typeof $$render<TRow>>['events'];
|
|
34
|
-
slots(): ReturnType<typeof $$render<TRow>>['slots'];
|
|
35
|
-
bindings(): "";
|
|
36
|
-
exports(): {};
|
|
37
|
-
}
|
|
38
|
-
interface $$IsomorphicComponent {
|
|
39
|
-
new <TRow extends Record<string, unknown>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TRow>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TRow>['props']>, ReturnType<__sveltets_Render<TRow>['events']>, ReturnType<__sveltets_Render<TRow>['slots']>> & {
|
|
40
|
-
$$bindings?: ReturnType<__sveltets_Render<TRow>['bindings']>;
|
|
41
|
-
} & ReturnType<__sveltets_Render<TRow>['exports']>;
|
|
42
|
-
<TRow extends Record<string, unknown>>(internal: unknown, props: ReturnType<__sveltets_Render<TRow>['props']> & {}): ReturnType<__sveltets_Render<TRow>['exports']>;
|
|
43
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
44
|
-
}
|
|
45
|
-
declare const BaseChart: $$IsomorphicComponent;
|
|
46
|
-
type BaseChart<TRow extends Record<string, unknown>> = InstanceType<typeof BaseChart<TRow>>;
|
|
47
|
-
export default BaseChart;
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
<script lang="ts" generics="TRow extends Record<string, unknown>">
|
|
2
|
-
import BaseChart from '../BaseChart.svelte';
|
|
3
|
-
import BarPlot from '../../plots/bar/Plot.svelte';
|
|
4
|
-
import {
|
|
5
|
-
resolveTooltip,
|
|
6
|
-
resolveHoverStrategy,
|
|
7
|
-
resolveHoverSync,
|
|
8
|
-
hasHoverMarker
|
|
9
|
-
} from '../../layout/tooltip/utils';
|
|
10
|
-
import { resolveAccessor } from '../../plots/utils/accessors';
|
|
11
|
-
import { resolveTimelineInterpolation } from '../../utils/interpolate';
|
|
12
|
-
import type { BarSegmentStyle } from '../../types/plots/segments/common';
|
|
13
|
-
import type { GapsAwareChartProps } from '../../types/charts/props';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* High-level bar chart. Groups flat rows by `z` into one series per group
|
|
17
|
-
* and delegates all chrome to {@link BaseChart}. Styling lives entirely in
|
|
18
|
-
* `segments` — there's no separate colour shorthand, so a series' look is
|
|
19
|
-
* always defined in one place.
|
|
20
|
-
*/
|
|
21
|
-
let {
|
|
22
|
-
width,
|
|
23
|
-
height,
|
|
24
|
-
title,
|
|
25
|
-
subtitle,
|
|
26
|
-
caption,
|
|
27
|
-
legend,
|
|
28
|
-
header,
|
|
29
|
-
footer,
|
|
30
|
-
data,
|
|
31
|
-
x,
|
|
32
|
-
y,
|
|
33
|
-
z,
|
|
34
|
-
styles = {},
|
|
35
|
-
scales = {},
|
|
36
|
-
margins,
|
|
37
|
-
segments,
|
|
38
|
-
markers = [],
|
|
39
|
-
facet,
|
|
40
|
-
timeline,
|
|
41
|
-
tooltip,
|
|
42
|
-
}: GapsAwareChartProps<TRow, BarSegmentStyle> = $props();
|
|
43
|
-
|
|
44
|
-
const tip = $derived(resolveTooltip(tooltip, 'x'));
|
|
45
|
-
const hoverEnabled = $derived(tip.enabled || hasHoverMarker(markers));
|
|
46
|
-
const resolvedStrategy = $derived(resolveHoverStrategy(tip.enabled ? tip.strategy : undefined, markers, 'x'));
|
|
47
|
-
const resolvedSync = $derived(resolveHoverSync(tip.enabled ? tip.sync : undefined, markers));
|
|
48
|
-
const getX = $derived(resolveAccessor<TRow>(x));
|
|
49
|
-
const getY = $derived(resolveAccessor<TRow>(y));
|
|
50
|
-
const getZ = $derived(z ? resolveAccessor<TRow>(z) : null);
|
|
51
|
-
const defaultFormat = $derived((row: TRow) => `${String(getX(row))}: ${getY(row)}`);
|
|
52
|
-
|
|
53
|
-
// A bar timeline snapshots one frame per step; interpolation needs to match
|
|
54
|
-
// each bar across steps by its category (`x`) — and by `z` too, when the
|
|
55
|
-
// chart groups categories into series — not by the timeline's own time field.
|
|
56
|
-
const timelineConfig = $derived(
|
|
57
|
-
timeline
|
|
58
|
-
? {
|
|
59
|
-
...timeline,
|
|
60
|
-
interpolate: resolveTimelineInterpolation(timeline.interpolate, {
|
|
61
|
-
value: y,
|
|
62
|
-
key: getZ ? (d: TRow) => `${String(getX(d))}::${String(getZ(d))}` : x,
|
|
63
|
-
}),
|
|
64
|
-
}
|
|
65
|
-
: undefined,
|
|
66
|
-
);
|
|
67
|
-
</script>
|
|
68
|
-
|
|
69
|
-
<BaseChart
|
|
70
|
-
{width}
|
|
71
|
-
{height}
|
|
72
|
-
{title}
|
|
73
|
-
{subtitle}
|
|
74
|
-
{caption}
|
|
75
|
-
{legend}
|
|
76
|
-
{header}
|
|
77
|
-
{footer}
|
|
78
|
-
{data}
|
|
79
|
-
{facet}
|
|
80
|
-
timeline={timelineConfig}
|
|
81
|
-
hover={hoverEnabled ? { strategy: resolvedStrategy, sync: resolvedSync } : undefined}
|
|
82
|
-
>
|
|
83
|
-
{#snippet plot({ data: rows, width: w, height: h, facetValue })}
|
|
84
|
-
<BarPlot
|
|
85
|
-
width={w}
|
|
86
|
-
height={h}
|
|
87
|
-
data={rows}
|
|
88
|
-
{x}
|
|
89
|
-
{y}
|
|
90
|
-
{z}
|
|
91
|
-
{styles}
|
|
92
|
-
{scales}
|
|
93
|
-
{margins}
|
|
94
|
-
{segments}
|
|
95
|
-
{markers}
|
|
96
|
-
tooltip={tip.enabled
|
|
97
|
-
? {
|
|
98
|
-
format: tip.format ?? defaultFormat,
|
|
99
|
-
facetId: facetValue ?? '',
|
|
100
|
-
strategy: tip.strategy,
|
|
101
|
-
sync: tip.sync,
|
|
102
|
-
series: tip.series,
|
|
103
|
-
content: tip.content,
|
|
104
|
-
anchorX: tip.anchorX,
|
|
105
|
-
anchorY: tip.anchorY,
|
|
106
|
-
}
|
|
107
|
-
: undefined}
|
|
108
|
-
/>
|
|
109
|
-
{/snippet}
|
|
110
|
-
</BaseChart>
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { BarSegmentStyle } from '../../types/plots/segments/common';
|
|
2
|
-
import type { GapsAwareChartProps } from '../../types/charts/props';
|
|
3
|
-
declare function $$render<TRow extends Record<string, unknown>>(): {
|
|
4
|
-
props: GapsAwareChartProps<TRow, BarSegmentStyle>;
|
|
5
|
-
exports: {};
|
|
6
|
-
bindings: "";
|
|
7
|
-
slots: {};
|
|
8
|
-
events: {};
|
|
9
|
-
};
|
|
10
|
-
declare class __sveltets_Render<TRow extends Record<string, unknown>> {
|
|
11
|
-
props(): ReturnType<typeof $$render<TRow>>['props'];
|
|
12
|
-
events(): ReturnType<typeof $$render<TRow>>['events'];
|
|
13
|
-
slots(): ReturnType<typeof $$render<TRow>>['slots'];
|
|
14
|
-
bindings(): "";
|
|
15
|
-
exports(): {};
|
|
16
|
-
}
|
|
17
|
-
interface $$IsomorphicComponent {
|
|
18
|
-
new <TRow extends Record<string, unknown>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TRow>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TRow>['props']>, ReturnType<__sveltets_Render<TRow>['events']>, ReturnType<__sveltets_Render<TRow>['slots']>> & {
|
|
19
|
-
$$bindings?: ReturnType<__sveltets_Render<TRow>['bindings']>;
|
|
20
|
-
} & ReturnType<__sveltets_Render<TRow>['exports']>;
|
|
21
|
-
<TRow extends Record<string, unknown>>(internal: unknown, props: ReturnType<__sveltets_Render<TRow>['props']> & {}): ReturnType<__sveltets_Render<TRow>['exports']>;
|
|
22
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
23
|
-
}
|
|
24
|
-
declare const Chart: $$IsomorphicComponent;
|
|
25
|
-
type Chart<TRow extends Record<string, unknown>> = InstanceType<typeof Chart<TRow>>;
|
|
26
|
-
export default Chart;
|