@fundar/data-chart-telling 0.0.63 → 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 -558
- package/dist/configuration/config.svelte.d.ts +5 -5
- package/dist/configuration/config.svelte.js +133 -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 +433 -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 +365 -335
- 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 +39 -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 +158 -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 +258 -54
- 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
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
<script lang="ts" generics="TData extends Record<string, unknown>">
|
|
2
|
-
import { Text } from 'svelteplot';
|
|
3
|
-
import { resolveAccessor } from '../utils/accessors';
|
|
4
|
-
import { disabledFillOverride } from '../utils/legendDisabled';
|
|
5
|
-
import { watchLabelOverflow } from '../utils/labelOverflow.svelte';
|
|
6
|
-
import { isGapValue } from '../utils/gaps';
|
|
7
|
-
import type { Series } from '../../types/plots/data/common';
|
|
8
|
-
import type { ValuesStyle } from '../../types/layout/styles';
|
|
9
|
-
import type { ValueAnchor } from '../../types/plots/constants';
|
|
10
|
-
import type { BarSegmentStyle } from '../../types/plots/segments/common';
|
|
11
|
-
import type { VisualGroup } from '../../types/plots/segments/config';
|
|
12
|
-
import type { LegendDisabledStyle } from '../../types/layout/legend';
|
|
13
|
-
import type { MarginOverflow } from '../utils/labelOverflow.svelte';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Renders one series' value label on a pyramid bar — anchor-driven default
|
|
17
|
-
* position/offset, mirrored left/right of the shared zero baseline
|
|
18
|
-
* depending on `group.series.side`, overridable per-field via
|
|
19
|
-
* `styles.values.fontStyle`.
|
|
20
|
-
*/
|
|
21
|
-
let {
|
|
22
|
-
group,
|
|
23
|
-
valAnchor,
|
|
24
|
-
formatValue,
|
|
25
|
-
values,
|
|
26
|
-
axisColor,
|
|
27
|
-
disabled,
|
|
28
|
-
width,
|
|
29
|
-
height,
|
|
30
|
-
numericMargins,
|
|
31
|
-
onHoverSeries,
|
|
32
|
-
onHoverEnd,
|
|
33
|
-
onOverflow,
|
|
34
|
-
}: {
|
|
35
|
-
group: VisualGroup<Series<TData> & { side: 'left' | 'right' }, BarSegmentStyle>;
|
|
36
|
-
valAnchor: ValueAnchor;
|
|
37
|
-
formatValue: (value: number, seriesName: string) => string;
|
|
38
|
-
values: ValuesStyle | undefined;
|
|
39
|
-
axisColor: string;
|
|
40
|
-
/** Resolved legend/hover-isolate dimming style for this group's series, if any. */
|
|
41
|
-
disabled?: LegendDisabledStyle;
|
|
42
|
-
/** The plot's own pixel size — together with `numericMargins`, the ground truth for its content box (see `bounds()` below). */
|
|
43
|
-
width: number;
|
|
44
|
-
height: number;
|
|
45
|
-
/** `BasePlotLayout`'s resolved margins, already numeric on every side. */
|
|
46
|
-
numericMargins: { top: number; right: number; bottom: number; left: number };
|
|
47
|
-
/** Fired when the pointer enters this series' label — only wired when hover-isolate is enabled. */
|
|
48
|
-
onHoverSeries?: () => void;
|
|
49
|
-
onHoverEnd?: () => void;
|
|
50
|
-
/** Reports how far this label overflows the plot's own content box, in pixels, on each side (0 = no overflow). */
|
|
51
|
-
onOverflow?: (overflow: MarginOverflow) => void;
|
|
52
|
-
} = $props();
|
|
53
|
-
|
|
54
|
-
const fillOverride = $derived(disabledFillOverride(disabled));
|
|
55
|
-
let groupEl: SVGGElement | undefined = $state();
|
|
56
|
-
|
|
57
|
-
watchLabelOverflow({
|
|
58
|
-
el: () => groupEl,
|
|
59
|
-
// Built from our own `width`/`height`/`numericMargins` rather than
|
|
60
|
-
// `usePlot().scales.x/y.fn.range()` — see line/ValueLabels.svelte's
|
|
61
|
-
// matching comment for why that scale's exposed range can't be trusted
|
|
62
|
-
// once a caller fixes `width`/`height` explicitly (every plot kind here
|
|
63
|
-
// does).
|
|
64
|
-
bounds: () => {
|
|
65
|
-
// getBBox() inside isn't itself tracked — depend on whatever actually
|
|
66
|
-
// changes the rendered label layout so this re-measures.
|
|
67
|
-
void group;
|
|
68
|
-
void values;
|
|
69
|
-
void valAnchor;
|
|
70
|
-
return {
|
|
71
|
-
left: numericMargins.left,
|
|
72
|
-
right: width - numericMargins.right,
|
|
73
|
-
top: numericMargins.top,
|
|
74
|
-
bottom: height - numericMargins.bottom,
|
|
75
|
-
};
|
|
76
|
-
},
|
|
77
|
-
onOverflow: (overflow) => onOverflow?.(overflow),
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
const isLeft = $derived(group.series.side === 'left');
|
|
81
|
-
const getCategory = $derived(resolveAccessor(group.series.x));
|
|
82
|
-
const getMagnitude = $derived(resolveAccessor(group.series.y));
|
|
83
|
-
// A gap row — missing data, whether or not `styles.gaps` fills it with a
|
|
84
|
-
// synthetic bar — never gets a value label, same as LinePlot's `lastPoints`.
|
|
85
|
-
const labelData = $derived(group.series.data.filter((d) => !isGapValue(getMagnitude(d))));
|
|
86
|
-
const signedValue = $derived((d: TData) => {
|
|
87
|
-
const v = Math.abs(Number(getMagnitude(d)));
|
|
88
|
-
return isLeft ? -v : v;
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
const xFn = $derived(
|
|
92
|
-
valAnchor === 'middle'
|
|
93
|
-
? (d: TData) => signedValue(d) / 2
|
|
94
|
-
: valAnchor === 'end'
|
|
95
|
-
? () => 0
|
|
96
|
-
: (d: TData) => signedValue(d),
|
|
97
|
-
);
|
|
98
|
-
const defaultDx = $derived(
|
|
99
|
-
valAnchor === 'middle' ? 0 : valAnchor === 'end' ? (isLeft ? -4 : 4) : isLeft ? -6 : 6,
|
|
100
|
-
);
|
|
101
|
-
const defaultTextAnchor = $derived(
|
|
102
|
-
valAnchor === 'middle' ? ('middle' as const) : isLeft ? ('end' as const) : ('start' as const),
|
|
103
|
-
);
|
|
104
|
-
|
|
105
|
-
const font = $derived(values?.fontStyle);
|
|
106
|
-
// 'outside' is a per-point escape hatch resolved by HoverMarker; pyramid's
|
|
107
|
-
// own value labels already have their own `anchor: 'outside'` concept
|
|
108
|
-
// (resolved above via `valAnchor`), so if it leaks through here just fall
|
|
109
|
-
// back to the anchor-derived default.
|
|
110
|
-
const resolvedTextAnchor = $derived(font?.textAnchor === 'outside' ? undefined : font?.textAnchor);
|
|
111
|
-
</script>
|
|
112
|
-
|
|
113
|
-
<!-- svelteplot's Text mark never wires pointer handlers to its DOM node,
|
|
114
|
-
despite declaring them in its types — a wrapping <g> catches the
|
|
115
|
-
boundary crossing instead (pointerenter/leave fire on every ancestor). -->
|
|
116
|
-
<g bind:this={groupEl} role="presentation" onpointerenter={onHoverSeries} onpointerleave={onHoverEnd}>
|
|
117
|
-
<Text
|
|
118
|
-
data={labelData}
|
|
119
|
-
x={xFn}
|
|
120
|
-
y={getCategory}
|
|
121
|
-
text={(d: TData) => formatValue(Math.abs(Number(getMagnitude(d))), group.series.name)}
|
|
122
|
-
dx={font?.dx ?? defaultDx}
|
|
123
|
-
dy={font?.dy ?? 0}
|
|
124
|
-
textAnchor={resolvedTextAnchor ?? defaultTextAnchor}
|
|
125
|
-
lineAnchor={font?.lineAnchor ?? 'middle'}
|
|
126
|
-
lineHeight={font?.lineHeight}
|
|
127
|
-
rotate={font?.rotate}
|
|
128
|
-
class={font?.class}
|
|
129
|
-
textClass={font?.textClass}
|
|
130
|
-
fill={font?.fill ?? axisColor}
|
|
131
|
-
fillOpacity={fillOverride?.fillOpacity}
|
|
132
|
-
fontSize={font?.fontSize ?? 12}
|
|
133
|
-
fontWeight={font?.fontWeight}
|
|
134
|
-
fontStyle={font?.fontStyle}
|
|
135
|
-
stroke={font?.stroke}
|
|
136
|
-
strokeWidth={font?.strokeWidth}
|
|
137
|
-
paintOrder={font?.paintOrder}
|
|
138
|
-
/>
|
|
139
|
-
</g>
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import type { Series } from '../../types/plots/data/common';
|
|
2
|
-
import type { ValuesStyle } from '../../types/layout/styles';
|
|
3
|
-
import type { ValueAnchor } from '../../types/plots/constants';
|
|
4
|
-
import type { BarSegmentStyle } from '../../types/plots/segments/common';
|
|
5
|
-
import type { VisualGroup } from '../../types/plots/segments/config';
|
|
6
|
-
import type { LegendDisabledStyle } from '../../types/layout/legend';
|
|
7
|
-
import type { MarginOverflow } from '../utils/labelOverflow.svelte';
|
|
8
|
-
declare function $$render<TData extends Record<string, unknown>>(): {
|
|
9
|
-
props: {
|
|
10
|
-
group: VisualGroup<Series<TData> & {
|
|
11
|
-
side: "left" | "right";
|
|
12
|
-
}, BarSegmentStyle>;
|
|
13
|
-
valAnchor: ValueAnchor;
|
|
14
|
-
formatValue: (value: number, seriesName: string) => string;
|
|
15
|
-
values: ValuesStyle | undefined;
|
|
16
|
-
axisColor: string;
|
|
17
|
-
/** Resolved legend/hover-isolate dimming style for this group's series, if any. */
|
|
18
|
-
disabled?: LegendDisabledStyle;
|
|
19
|
-
/** The plot's own pixel size — together with `numericMargins`, the ground truth for its content box (see `bounds()` below). */
|
|
20
|
-
width: number;
|
|
21
|
-
height: number;
|
|
22
|
-
/** `BasePlotLayout`'s resolved margins, already numeric on every side. */
|
|
23
|
-
numericMargins: {
|
|
24
|
-
top: number;
|
|
25
|
-
right: number;
|
|
26
|
-
bottom: number;
|
|
27
|
-
left: number;
|
|
28
|
-
};
|
|
29
|
-
/** Fired when the pointer enters this series' label — only wired when hover-isolate is enabled. */
|
|
30
|
-
onHoverSeries?: () => void;
|
|
31
|
-
onHoverEnd?: () => void;
|
|
32
|
-
/** Reports how far this label overflows the plot's own content box, in pixels, on each side (0 = no overflow). */
|
|
33
|
-
onOverflow?: (overflow: MarginOverflow) => void;
|
|
34
|
-
};
|
|
35
|
-
exports: {};
|
|
36
|
-
bindings: "";
|
|
37
|
-
slots: {};
|
|
38
|
-
events: {};
|
|
39
|
-
};
|
|
40
|
-
declare class __sveltets_Render<TData extends Record<string, unknown>> {
|
|
41
|
-
props(): ReturnType<typeof $$render<TData>>['props'];
|
|
42
|
-
events(): ReturnType<typeof $$render<TData>>['events'];
|
|
43
|
-
slots(): ReturnType<typeof $$render<TData>>['slots'];
|
|
44
|
-
bindings(): "";
|
|
45
|
-
exports(): {};
|
|
46
|
-
}
|
|
47
|
-
interface $$IsomorphicComponent {
|
|
48
|
-
new <TData extends Record<string, unknown>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TData>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TData>['props']>, ReturnType<__sveltets_Render<TData>['events']>, ReturnType<__sveltets_Render<TData>['slots']>> & {
|
|
49
|
-
$$bindings?: ReturnType<__sveltets_Render<TData>['bindings']>;
|
|
50
|
-
} & ReturnType<__sveltets_Render<TData>['exports']>;
|
|
51
|
-
<TData extends Record<string, unknown>>(internal: unknown, props: ReturnType<__sveltets_Render<TData>['props']> & {}): ReturnType<__sveltets_Render<TData>['exports']>;
|
|
52
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
53
|
-
}
|
|
54
|
-
declare const ValueLabels: $$IsomorphicComponent;
|
|
55
|
-
type ValueLabels<TData extends Record<string, unknown>> = InstanceType<typeof ValueLabels<TData>>;
|
|
56
|
-
export default ValueLabels;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { Series } from '../../types/plots/data/common';
|
|
2
|
-
import type { BarSegmentStyle } from '../../types/plots/segments/common';
|
|
3
|
-
import type { VisualGroup } from '../../types/plots/segments/config';
|
|
4
|
-
import type { BarMarkerConfig } from '../../types/markers/common';
|
|
5
|
-
import type { DiscreteGapFill } from '../utils/gaps';
|
|
6
|
-
/**
|
|
7
|
-
* Every `'bar'` marker for one PyramidPlot render — reuses `BarMarkerConfig`
|
|
8
|
-
* directly, always horizontal (category on y, signed magnitude on x) and
|
|
9
|
-
* with no insets. Emits no `role: 'hitArea'` markers, since PyramidPlot's
|
|
10
|
-
* hover matches nearest points rather than hit-testing category bands. A
|
|
11
|
-
* row whose value is missing and *not* filled by a `styles.gaps` zone is
|
|
12
|
-
* skipped entirely; a filled one gets one additional, distinctly-styled
|
|
13
|
-
* marker per zone kind, at its interpolated value.
|
|
14
|
-
*/
|
|
15
|
-
export declare function buildPyramidBarMarkers<TData extends Record<string, unknown>, S extends Series<TData>>(args: {
|
|
16
|
-
groupedSeries: VisualGroup<S, BarSegmentStyle>[];
|
|
17
|
-
valueFor: (series: S, d: TData) => number;
|
|
18
|
-
/** Signs an already-resolved magnitude (e.g. a gap-fill's interpolated value, which has no row of its own to read via `valueFor`). */
|
|
19
|
-
signFor: (series: S, magnitude: number) => number;
|
|
20
|
-
colorFor: (series: S) => string;
|
|
21
|
-
disabledFillFor: (seriesName: string) => {
|
|
22
|
-
fill?: string;
|
|
23
|
-
fillOpacity?: number;
|
|
24
|
-
} | undefined;
|
|
25
|
-
gapFillMaps: Map<string, Map<TData, DiscreteGapFill<BarSegmentStyle>>>;
|
|
26
|
-
}): BarMarkerConfig[];
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { resolveAccessor } from '../utils/accessors';
|
|
2
|
-
import { getConfiguration } from '../../configuration/config.svelte';
|
|
3
|
-
import { isGapValue, resolveGapAreaStyle } from '../utils/gaps';
|
|
4
|
-
const GAP_KINDS = ['start', 'middle', 'end'];
|
|
5
|
-
/**
|
|
6
|
-
* Every `'bar'` marker for one PyramidPlot render — reuses `BarMarkerConfig`
|
|
7
|
-
* directly, always horizontal (category on y, signed magnitude on x) and
|
|
8
|
-
* with no insets. Emits no `role: 'hitArea'` markers, since PyramidPlot's
|
|
9
|
-
* hover matches nearest points rather than hit-testing category bands. A
|
|
10
|
-
* row whose value is missing and *not* filled by a `styles.gaps` zone is
|
|
11
|
-
* skipped entirely; a filled one gets one additional, distinctly-styled
|
|
12
|
-
* marker per zone kind, at its interpolated value.
|
|
13
|
-
*/
|
|
14
|
-
export function buildPyramidBarMarkers(args) {
|
|
15
|
-
const { groupedSeries, valueFor, signFor, colorFor, disabledFillFor, gapFillMaps } = args;
|
|
16
|
-
const gapDefaults = getConfiguration().pyramid.gap;
|
|
17
|
-
const markers = [];
|
|
18
|
-
for (const group of groupedSeries) {
|
|
19
|
-
const getCategory = resolveAccessor(group.series.x);
|
|
20
|
-
const getMagnitude = resolveAccessor(group.series.y);
|
|
21
|
-
const defaultColor = colorFor(group.series);
|
|
22
|
-
const disabledFill = disabledFillFor(group.series.name);
|
|
23
|
-
for (const seg of group.visualSegments) {
|
|
24
|
-
const realData = seg.data.filter((d) => !isGapValue(getMagnitude(d)));
|
|
25
|
-
if (realData.length === 0)
|
|
26
|
-
continue;
|
|
27
|
-
markers.push({
|
|
28
|
-
type: 'bar',
|
|
29
|
-
role: 'segment',
|
|
30
|
-
isHorizontal: true,
|
|
31
|
-
data: realData,
|
|
32
|
-
y: getCategory,
|
|
33
|
-
x1: 0,
|
|
34
|
-
x2: (d) => valueFor(group.series, d),
|
|
35
|
-
style: {
|
|
36
|
-
fill: disabledFill?.fill ?? seg.style.fill ?? defaultColor,
|
|
37
|
-
fillOpacity: disabledFill?.fillOpacity ?? seg.style.fillOpacity ?? 1,
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
const fillMap = gapFillMaps.get(group.series.name) ?? new Map();
|
|
42
|
-
for (const kind of GAP_KINDS) {
|
|
43
|
-
const filledRows = group.series.data.filter((d) => fillMap.get(d)?.kind === kind);
|
|
44
|
-
if (filledRows.length === 0)
|
|
45
|
-
continue;
|
|
46
|
-
const base = resolveGapAreaStyle(fillMap.get(filledRows[0]).style, defaultColor, gapDefaults);
|
|
47
|
-
// svelteplot shallow-clones each row before invoking a mark's own
|
|
48
|
-
// geometry accessors, so a `fillMap.get(d)` lookup inside `x2` would
|
|
49
|
-
// see a clone, not the original key — tag the resolved value onto the
|
|
50
|
-
// row as a plain field instead, which survives that clone.
|
|
51
|
-
const taggedData = filledRows.map((d) => ({
|
|
52
|
-
...d,
|
|
53
|
-
__gapValue: signFor(group.series, Math.abs(fillMap.get(d).value)),
|
|
54
|
-
}));
|
|
55
|
-
markers.push({
|
|
56
|
-
type: 'bar',
|
|
57
|
-
role: 'segment',
|
|
58
|
-
isHorizontal: true,
|
|
59
|
-
data: taggedData,
|
|
60
|
-
y: getCategory,
|
|
61
|
-
x1: 0,
|
|
62
|
-
x2: (d) => d.__gapValue,
|
|
63
|
-
style: {
|
|
64
|
-
...base,
|
|
65
|
-
fill: disabledFill?.fill ?? base.fill,
|
|
66
|
-
fillOpacity: disabledFill?.fillOpacity ?? base.fillOpacity,
|
|
67
|
-
},
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return markers;
|
|
72
|
-
}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
<script lang="ts" generics="TData extends Record<string, unknown>">
|
|
2
|
-
import { Text, usePlot } from 'svelteplot';
|
|
3
|
-
import { SvelteMap } from 'svelte/reactivity';
|
|
4
|
-
import { resolveAccessor } from '../utils/accessors';
|
|
5
|
-
import { getConfiguration } from '../../configuration/config.svelte';
|
|
6
|
-
import { disabledFillOverride } from '../utils/legendDisabled';
|
|
7
|
-
import { watchLabelOverflow } from '../utils/labelOverflow.svelte';
|
|
8
|
-
import { resolveEdgeAwareAnchor } from '../../utils/edgeAwareAnchor';
|
|
9
|
-
import { measureTextWidth } from '../../layout/plot/measureText';
|
|
10
|
-
import type { Series } from '../../types/plots/data/common';
|
|
11
|
-
import type { ValuesStyle } from '../../types/layout/styles';
|
|
12
|
-
import type { ScatterSegmentStyle } from '../../types/plots/segments/common';
|
|
13
|
-
import type { VisualGroup } from '../../types/plots/segments/config';
|
|
14
|
-
import type { LegendDisabledStyle } from '../../types/layout/legend';
|
|
15
|
-
import type { MarginOverflow } from '../utils/labelOverflow.svelte';
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Renders one series' point value labels — one `<Text>` mark per series
|
|
19
|
-
* (mirrors line/bar/pyramid's own `ValueLabels`), so a legend-disabled or
|
|
20
|
-
* hover-isolated series can carry its own constant `fillOpacity`. Labels
|
|
21
|
-
* the Y value, matching the "Y is the value axis" convention every other
|
|
22
|
-
* plot kind uses. Placement is edge-aware: a label whose default
|
|
23
|
-
* anchor/offset would push it past the plot's own content box flips to
|
|
24
|
-
* the opposite side instead of clipping — `onOverflow` below is a second,
|
|
25
|
-
* coarser line of defense for whatever the flip still can't fit (e.g. a
|
|
26
|
-
* corner point with no room in any direction).
|
|
27
|
-
*/
|
|
28
|
-
let {
|
|
29
|
-
group,
|
|
30
|
-
formatValue,
|
|
31
|
-
values,
|
|
32
|
-
defaultColor,
|
|
33
|
-
disabled,
|
|
34
|
-
width,
|
|
35
|
-
height,
|
|
36
|
-
numericMargins,
|
|
37
|
-
onHoverSeries,
|
|
38
|
-
onHoverEnd,
|
|
39
|
-
onOverflow,
|
|
40
|
-
}: {
|
|
41
|
-
group: VisualGroup<Series<TData>, ScatterSegmentStyle>;
|
|
42
|
-
formatValue: (value: number, seriesName: string) => string;
|
|
43
|
-
values: ValuesStyle | undefined;
|
|
44
|
-
defaultColor: string;
|
|
45
|
-
/** Resolved legend/hover-isolate dimming style for this group's series, if any. */
|
|
46
|
-
disabled?: LegendDisabledStyle;
|
|
47
|
-
/** The plot's own pixel size — together with `numericMargins`, the ground truth for its content box (see `bounds()` below). */
|
|
48
|
-
width: number;
|
|
49
|
-
height: number;
|
|
50
|
-
/** `BasePlotLayout`'s resolved margins, already numeric on every side. */
|
|
51
|
-
numericMargins: { top: number; right: number; bottom: number; left: number };
|
|
52
|
-
/** Fired when the pointer enters this series' label — only wired when hover-isolate is enabled. */
|
|
53
|
-
onHoverSeries?: () => void;
|
|
54
|
-
onHoverEnd?: () => void;
|
|
55
|
-
/** Reports how far this series' labels overflow the plot's own content box, in pixels, on each side (0 = no overflow). */
|
|
56
|
-
onOverflow?: (overflow: MarginOverflow) => void;
|
|
57
|
-
} = $props();
|
|
58
|
-
|
|
59
|
-
const data = $derived(group.series.data);
|
|
60
|
-
const getX = $derived(resolveAccessor(group.series.x));
|
|
61
|
-
const getY = $derived(resolveAccessor(group.series.y));
|
|
62
|
-
const plot = usePlot();
|
|
63
|
-
let groupEl: SVGGElement | undefined = $state();
|
|
64
|
-
|
|
65
|
-
watchLabelOverflow({
|
|
66
|
-
el: () => groupEl,
|
|
67
|
-
// Built from our own `width`/`height`/`numericMargins` rather than
|
|
68
|
-
// `usePlot().scales.x/y.fn.range()` — see line/ValueLabels.svelte's
|
|
69
|
-
// matching comment for why that scale's exposed range can't be trusted
|
|
70
|
-
// once a caller fixes `width`/`height` explicitly (every plot kind here
|
|
71
|
-
// does). `plot.plotWidth`/`plotHeight` (used below for edge-aware
|
|
72
|
-
// placement) don't have this problem — only the scale's own `.range()`.
|
|
73
|
-
bounds: () => {
|
|
74
|
-
// getBBox() inside isn't itself tracked — depend on whatever actually
|
|
75
|
-
// changes the rendered label layout so this re-measures.
|
|
76
|
-
void data;
|
|
77
|
-
void values;
|
|
78
|
-
return {
|
|
79
|
-
left: numericMargins.left,
|
|
80
|
-
right: width - numericMargins.right,
|
|
81
|
-
top: numericMargins.top,
|
|
82
|
-
bottom: height - numericMargins.bottom,
|
|
83
|
-
};
|
|
84
|
-
},
|
|
85
|
-
onOverflow: (overflow) => onOverflow?.(overflow),
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
const cfg = $derived(getConfiguration());
|
|
89
|
-
const font = $derived(values?.fontStyle);
|
|
90
|
-
const preferredTextAnchor = $derived(
|
|
91
|
-
font?.textAnchor === 'outside' || font?.textAnchor === undefined ? 'start' : font.textAnchor,
|
|
92
|
-
);
|
|
93
|
-
const preferredLineAnchor = $derived(font?.lineAnchor ?? 'middle');
|
|
94
|
-
const gapX = $derived(Math.abs(font?.dx ?? 8));
|
|
95
|
-
const gapY = $derived(Math.abs(font?.dy ?? 0));
|
|
96
|
-
const fontSize = $derived(typeof font?.fontSize === 'number' ? font.fontSize : 11);
|
|
97
|
-
const canvasFont = $derived(`${fontSize}px ${cfg.font === 'inherit' ? 'sans-serif' : cfg.font}`);
|
|
98
|
-
const fillOverride = $derived(disabledFillOverride(disabled));
|
|
99
|
-
|
|
100
|
-
function textOf(d: TData): string {
|
|
101
|
-
return formatValue(Number(getY(d)), group.series.name);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/** One placement per row, keyed by row reference — avoids recomputing the same scale/edge lookup for each of the four accessor channels below. */
|
|
105
|
-
const placements = $derived.by(() => {
|
|
106
|
-
const map = new SvelteMap<TData, ReturnType<typeof resolveEdgeAwareAnchor>>();
|
|
107
|
-
const xFn = plot.scales.x?.fn;
|
|
108
|
-
const yFn = plot.scales.y?.fn;
|
|
109
|
-
if (!xFn || !yFn) return map;
|
|
110
|
-
for (const d of data) {
|
|
111
|
-
const px = Number(xFn(getX(d) as never));
|
|
112
|
-
const py = Number(yFn(getY(d) as never));
|
|
113
|
-
const text = textOf(d);
|
|
114
|
-
map.set(
|
|
115
|
-
d,
|
|
116
|
-
resolveEdgeAwareAnchor({
|
|
117
|
-
px,
|
|
118
|
-
py,
|
|
119
|
-
width: plot.plotWidth,
|
|
120
|
-
height: plot.plotHeight,
|
|
121
|
-
textAnchor: preferredTextAnchor,
|
|
122
|
-
lineAnchor: preferredLineAnchor,
|
|
123
|
-
gapX,
|
|
124
|
-
gapY,
|
|
125
|
-
extent: { width: measureTextWidth(text, canvasFont), height: fontSize * 1.2 },
|
|
126
|
-
}),
|
|
127
|
-
);
|
|
128
|
-
}
|
|
129
|
-
return map;
|
|
130
|
-
});
|
|
131
|
-
</script>
|
|
132
|
-
|
|
133
|
-
<!-- svelteplot's Text mark never wires pointer handlers to its DOM node,
|
|
134
|
-
despite declaring them in its types — a wrapping <g> catches the
|
|
135
|
-
boundary crossing instead (pointerenter/leave fire on every ancestor). -->
|
|
136
|
-
<g bind:this={groupEl} role="presentation" onpointerenter={onHoverSeries} onpointerleave={onHoverEnd}>
|
|
137
|
-
<Text
|
|
138
|
-
{data}
|
|
139
|
-
x={getX}
|
|
140
|
-
y={getY}
|
|
141
|
-
text={(d: TData) => textOf(d)}
|
|
142
|
-
fill={font?.fill ?? defaultColor}
|
|
143
|
-
fillOpacity={fillOverride?.fillOpacity}
|
|
144
|
-
{fontSize}
|
|
145
|
-
fontWeight={font?.fontWeight ?? 500}
|
|
146
|
-
fontStyle={font?.fontStyle}
|
|
147
|
-
textAnchor={(d: TData) => placements.get(d)?.textAnchor ?? preferredTextAnchor}
|
|
148
|
-
lineAnchor={
|
|
149
|
-
// svelteplot's own `lineAnchor` accessor type isn't parameterized over the mark's row type like its siblings are.
|
|
150
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
151
|
-
(d: any) => placements.get(d)?.lineAnchor ?? preferredLineAnchor
|
|
152
|
-
}
|
|
153
|
-
dx={(d: TData) => placements.get(d)?.dx ?? gapX}
|
|
154
|
-
dy={(d: TData) => placements.get(d)?.dy ?? gapY}
|
|
155
|
-
lineHeight={font?.lineHeight}
|
|
156
|
-
rotate={font?.rotate}
|
|
157
|
-
stroke={font?.stroke}
|
|
158
|
-
strokeWidth={font?.strokeWidth}
|
|
159
|
-
paintOrder={font?.paintOrder}
|
|
160
|
-
class={font?.class}
|
|
161
|
-
textClass={font?.textClass}
|
|
162
|
-
/>
|
|
163
|
-
</g>
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import type { Series } from '../../types/plots/data/common';
|
|
2
|
-
import type { ValuesStyle } from '../../types/layout/styles';
|
|
3
|
-
import type { ScatterSegmentStyle } from '../../types/plots/segments/common';
|
|
4
|
-
import type { VisualGroup } from '../../types/plots/segments/config';
|
|
5
|
-
import type { LegendDisabledStyle } from '../../types/layout/legend';
|
|
6
|
-
import type { MarginOverflow } from '../utils/labelOverflow.svelte';
|
|
7
|
-
declare function $$render<TData extends Record<string, unknown>>(): {
|
|
8
|
-
props: {
|
|
9
|
-
group: VisualGroup<Series<TData>, ScatterSegmentStyle>;
|
|
10
|
-
formatValue: (value: number, seriesName: string) => string;
|
|
11
|
-
values: ValuesStyle | undefined;
|
|
12
|
-
defaultColor: string;
|
|
13
|
-
/** Resolved legend/hover-isolate dimming style for this group's series, if any. */
|
|
14
|
-
disabled?: LegendDisabledStyle;
|
|
15
|
-
/** The plot's own pixel size — together with `numericMargins`, the ground truth for its content box (see `bounds()` below). */
|
|
16
|
-
width: number;
|
|
17
|
-
height: number;
|
|
18
|
-
/** `BasePlotLayout`'s resolved margins, already numeric on every side. */
|
|
19
|
-
numericMargins: {
|
|
20
|
-
top: number;
|
|
21
|
-
right: number;
|
|
22
|
-
bottom: number;
|
|
23
|
-
left: number;
|
|
24
|
-
};
|
|
25
|
-
/** Fired when the pointer enters this series' label — only wired when hover-isolate is enabled. */
|
|
26
|
-
onHoverSeries?: () => void;
|
|
27
|
-
onHoverEnd?: () => void;
|
|
28
|
-
/** Reports how far this series' labels overflow the plot's own content box, in pixels, on each side (0 = no overflow). */
|
|
29
|
-
onOverflow?: (overflow: MarginOverflow) => void;
|
|
30
|
-
};
|
|
31
|
-
exports: {};
|
|
32
|
-
bindings: "";
|
|
33
|
-
slots: {};
|
|
34
|
-
events: {};
|
|
35
|
-
};
|
|
36
|
-
declare class __sveltets_Render<TData extends Record<string, unknown>> {
|
|
37
|
-
props(): ReturnType<typeof $$render<TData>>['props'];
|
|
38
|
-
events(): ReturnType<typeof $$render<TData>>['events'];
|
|
39
|
-
slots(): ReturnType<typeof $$render<TData>>['slots'];
|
|
40
|
-
bindings(): "";
|
|
41
|
-
exports(): {};
|
|
42
|
-
}
|
|
43
|
-
interface $$IsomorphicComponent {
|
|
44
|
-
new <TData extends Record<string, unknown>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TData>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TData>['props']>, ReturnType<__sveltets_Render<TData>['events']>, ReturnType<__sveltets_Render<TData>['slots']>> & {
|
|
45
|
-
$$bindings?: ReturnType<__sveltets_Render<TData>['bindings']>;
|
|
46
|
-
} & ReturnType<__sveltets_Render<TData>['exports']>;
|
|
47
|
-
<TData extends Record<string, unknown>>(internal: unknown, props: ReturnType<__sveltets_Render<TData>['props']> & {}): ReturnType<__sveltets_Render<TData>['exports']>;
|
|
48
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
49
|
-
}
|
|
50
|
-
declare const ValueLabels: $$IsomorphicComponent;
|
|
51
|
-
type ValueLabels<TData extends Record<string, unknown>> = InstanceType<typeof ValueLabels<TData>>;
|
|
52
|
-
export default ValueLabels;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Series, Accessor } from '../../types/plots/data/common';
|
|
2
|
-
import type { ScatterSegmentStyle } from '../../types/plots/segments/common';
|
|
3
|
-
import type { VisualGroup } from '../../types/plots/segments/config';
|
|
4
|
-
import type { DotStyle } from '../../types/plots/styling';
|
|
5
|
-
import type { DotMarkerConfig } from '../../types/markers/common';
|
|
6
|
-
/** Every `'dot'` marker for one ScatterPlot render: one per visual segment. */
|
|
7
|
-
export declare function buildScatterMarkers<TData extends Record<string, unknown>>(args: {
|
|
8
|
-
groupedSeries: VisualGroup<Series<TData>, ScatterSegmentStyle>[];
|
|
9
|
-
r?: Accessor<TData, number> | number;
|
|
10
|
-
colorFor: (seriesName: string) => string;
|
|
11
|
-
disabledDotsFor: (seriesName: string) => DotStyle | undefined;
|
|
12
|
-
}): DotMarkerConfig[];
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { resolveAccessor } from '../utils/accessors';
|
|
2
|
-
import { getConfiguration } from '../../configuration/config.svelte';
|
|
3
|
-
/** Every `'dot'` marker for one ScatterPlot render: one per visual segment. */
|
|
4
|
-
export function buildScatterMarkers(args) {
|
|
5
|
-
const { groupedSeries, r, colorFor, disabledDotsFor } = args;
|
|
6
|
-
const cfg = getConfiguration();
|
|
7
|
-
const rFn = r === undefined || typeof r === 'number' ? r : resolveAccessor(r);
|
|
8
|
-
const markers = [];
|
|
9
|
-
groupedSeries.forEach((group) => {
|
|
10
|
-
const defaultColor = colorFor(group.series.name);
|
|
11
|
-
const disabledDots = disabledDotsFor(group.series.name);
|
|
12
|
-
const xFn = resolveAccessor(group.series.x);
|
|
13
|
-
const yFn = resolveAccessor(group.series.y);
|
|
14
|
-
for (const seg of group.visualSegments) {
|
|
15
|
-
const dotStyle = seg.style;
|
|
16
|
-
markers.push({
|
|
17
|
-
type: 'dot',
|
|
18
|
-
data: seg.data,
|
|
19
|
-
x: xFn,
|
|
20
|
-
y: yFn,
|
|
21
|
-
r: rFn,
|
|
22
|
-
style: {
|
|
23
|
-
dotRadius: disabledDots?.dotRadius ?? dotStyle.dotRadius ?? cfg.scatter.dotRadius,
|
|
24
|
-
dotFill: disabledDots?.dotFill ?? dotStyle.dotFill ?? defaultColor,
|
|
25
|
-
dotSymbol: disabledDots?.dotSymbol ?? dotStyle.dotSymbol,
|
|
26
|
-
dotStroke: disabledDots?.dotStroke ?? dotStyle.dotStroke,
|
|
27
|
-
dotStrokeWidth: disabledDots?.dotStrokeWidth ?? dotStyle.dotStrokeWidth,
|
|
28
|
-
dotFillOpacity: disabledDots?.dotFillOpacity ?? dotStyle.dotFillOpacity,
|
|
29
|
-
dotStrokeOpacity: disabledDots?.dotStrokeOpacity ?? dotStyle.dotStrokeOpacity,
|
|
30
|
-
dotStrokeDasharray: disabledDots?.dotStrokeDasharray ?? dotStyle.dotStrokeDasharray,
|
|
31
|
-
},
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
return markers;
|
|
36
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extends a `[min, max]` data domain so the largest rendered dot radius
|
|
3
|
-
* doesn't get clipped by the plot's own frame — svelteplot's own `'auto'`
|
|
4
|
-
* margin only measures axis chrome (tick labels), never mark geometry, so a
|
|
5
|
-
* point sitting at the domain edge with a non-trivial radius otherwise
|
|
6
|
-
* overflows past the frame. `innerSizePx` is an estimate (the real pixel
|
|
7
|
-
* range isn't known until the scale itself is built from this domain), so
|
|
8
|
-
* this errs generous rather than exact.
|
|
9
|
-
*/
|
|
10
|
-
export declare function resolveRadiusPaddedDomain(values: number[], maxRadiusPx: number, innerSizePx: number): [number, number] | undefined;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extends a `[min, max]` data domain so the largest rendered dot radius
|
|
3
|
-
* doesn't get clipped by the plot's own frame — svelteplot's own `'auto'`
|
|
4
|
-
* margin only measures axis chrome (tick labels), never mark geometry, so a
|
|
5
|
-
* point sitting at the domain edge with a non-trivial radius otherwise
|
|
6
|
-
* overflows past the frame. `innerSizePx` is an estimate (the real pixel
|
|
7
|
-
* range isn't known until the scale itself is built from this domain), so
|
|
8
|
-
* this errs generous rather than exact.
|
|
9
|
-
*/
|
|
10
|
-
export function resolveRadiusPaddedDomain(values, maxRadiusPx, innerSizePx) {
|
|
11
|
-
const finite = values.filter((v) => Number.isFinite(v));
|
|
12
|
-
if (finite.length === 0 || innerSizePx <= 0 || maxRadiusPx <= 0)
|
|
13
|
-
return undefined;
|
|
14
|
-
const min = Math.min(...finite);
|
|
15
|
-
const max = Math.max(...finite);
|
|
16
|
-
if (min === max) {
|
|
17
|
-
// A degenerate single-value domain has no data-per-pixel ratio to pad by — fall back to a fixed unit either side.
|
|
18
|
-
return [min - 1, max + 1];
|
|
19
|
-
}
|
|
20
|
-
const dataPerPixel = (max - min) / innerSizePx;
|
|
21
|
-
const pad = maxRadiusPx * dataPerPixel;
|
|
22
|
-
return [min - pad, max + pad];
|
|
23
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* How much margin an axis needs to fit the widest of `labels` in the
|
|
3
|
-
* theme's own axis font, plus its tick size/padding — any plot's own margin
|
|
4
|
-
* whenever what sits along that axis is plain tick-label text: `BarPlot`'s
|
|
5
|
-
* left margin when its main dimension draws as a category axis, or any
|
|
6
|
-
* plot's numeric axis whose tick-label width can vary a lot (e.g. `"5"` vs
|
|
7
|
-
* `"500,000"`). Off-DOM (canvas) and synchronous, so it's correct from the
|
|
8
|
-
* very first render and stable across a timeline scrubber or dataset
|
|
9
|
-
* change, the same way `estimateValueLabelMargin` is for value labels.
|
|
10
|
-
* Exported for a faceted caller (e.g. `ChartPanel` in the consuming app) to
|
|
11
|
-
* call per facet against that facet's own labels, building a shared
|
|
12
|
-
* `FacetConfig.marginsForFacet`.
|
|
13
|
-
*/
|
|
14
|
-
export declare function estimateCategoricalAxisMargin(labels: string[]): number;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { getConfiguration } from '../../configuration/config.svelte';
|
|
2
|
-
import { measureMaxLabelWidth } from '../../layout/plot/measureText';
|
|
3
|
-
/**
|
|
4
|
-
* How much margin an axis needs to fit the widest of `labels` in the
|
|
5
|
-
* theme's own axis font, plus its tick size/padding — any plot's own margin
|
|
6
|
-
* whenever what sits along that axis is plain tick-label text: `BarPlot`'s
|
|
7
|
-
* left margin when its main dimension draws as a category axis, or any
|
|
8
|
-
* plot's numeric axis whose tick-label width can vary a lot (e.g. `"5"` vs
|
|
9
|
-
* `"500,000"`). Off-DOM (canvas) and synchronous, so it's correct from the
|
|
10
|
-
* very first render and stable across a timeline scrubber or dataset
|
|
11
|
-
* change, the same way `estimateValueLabelMargin` is for value labels.
|
|
12
|
-
* Exported for a faceted caller (e.g. `ChartPanel` in the consuming app) to
|
|
13
|
-
* call per facet against that facet's own labels, building a shared
|
|
14
|
-
* `FacetConfig.marginsForFacet`.
|
|
15
|
-
*/
|
|
16
|
-
export function estimateCategoricalAxisMargin(labels) {
|
|
17
|
-
const cfg = getConfiguration();
|
|
18
|
-
const axisFont = `${cfg.axis.fontSize}px ${cfg.font === 'inherit' ? 'sans-serif' : cfg.font}`;
|
|
19
|
-
return (Math.ceil(measureMaxLabelWidth(labels, axisFont)) + cfg.axis.yTickSize + cfg.axis.yTickPadding);
|
|
20
|
-
}
|