@fundar/data-chart-telling 0.0.64 → 1.1.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 +38 -0
- package/LICENSE +21 -0
- package/README.md +112 -553
- package/dist/configuration/config.svelte.d.ts +5 -5
- package/dist/configuration/config.svelte.js +142 -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 +545 -80
- package/dist/configuration/themes/index.js +6 -5
- package/dist/index.d.ts +35 -48
- package/dist/index.js +20 -35
- package/dist/layout/base/BasePlotLayout.svelte +325 -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 +34 -0
- package/dist/layout/hover/HoverSettings.js +52 -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 +84 -0
- package/dist/layout/legend/LegendState.svelte.js +333 -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 +287 -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 +131 -0
- package/dist/layout/plot/PublicPlotContext.js +240 -0
- package/dist/layout/plot/Slice.d.ts +44 -0
- package/dist/layout/plot/Slice.js +100 -0
- package/dist/layout/plot/usePlot.d.ts +9 -0
- package/dist/layout/plot/usePlot.js +13 -0
- package/dist/layout/scales/EdgeTicks.d.ts +39 -0
- package/dist/layout/scales/EdgeTicks.js +82 -0
- package/dist/layout/scales/NiceTicks.d.ts +40 -0
- package/dist/layout/scales/NiceTicks.js +72 -0
- package/dist/layout/scales/ScalesLayout.svelte +275 -206
- package/dist/layout/scales/ScalesLayout.svelte.d.ts +7 -1
- package/dist/layout/scales/SveltePlotScale.d.ts +15 -0
- package/dist/layout/scales/SveltePlotScale.js +79 -0
- 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 +238 -0
- package/dist/layout/timeline/Timeline.svelte +83 -74
- package/dist/layout/timeline/Timeline.svelte.d.ts +2 -0
- package/dist/layout/timeline/TimelineFrame.svelte +86 -0
- package/dist/layout/timeline/TimelineFrame.svelte.d.ts +16 -0
- package/dist/layout/timeline/TimelineLayout.svelte +140 -169
- package/dist/layout/timeline/TimelineLayout.svelte.d.ts +7 -3
- package/dist/layout/timeline/TimelinePlayer.svelte +195 -0
- package/dist/layout/timeline/TimelinePlayer.svelte.d.ts +7 -0
- package/dist/layout/timeline/TimelineRule.svelte +51 -0
- package/dist/layout/timeline/TimelineRule.svelte.d.ts +7 -0
- package/dist/layout/timeline/TimelineState.svelte.d.ts +90 -0
- package/dist/layout/timeline/TimelineState.svelte.js +260 -0
- package/dist/layout/timeline/TimelineSteps.d.ts +24 -0
- package/dist/layout/timeline/TimelineSteps.js +48 -0
- package/dist/layout/timeline/TimelineTime.d.ts +18 -0
- package/dist/layout/timeline/TimelineTime.js +117 -0
- package/dist/layout/tooltip/Tooltip.svelte +85 -85
- package/dist/layout/tooltip/Tooltip.svelte.d.ts +45 -24
- package/dist/layout/tooltip/TooltipState.svelte.d.ts +67 -0
- package/dist/layout/tooltip/TooltipState.svelte.js +126 -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 +96 -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 +227 -0
- package/dist/phases/data/DataPhase.d.ts +19 -0
- package/dist/phases/data/DataPhase.js +85 -0
- package/dist/phases/data/PlotAxes.d.ts +75 -0
- package/dist/phases/data/PlotAxes.js +151 -0
- package/dist/phases/facet/FacetPanels.d.ts +54 -0
- package/dist/phases/facet/FacetPanels.js +95 -0
- package/dist/phases/facet/FacetPhase.d.ts +11 -0
- package/dist/phases/facet/FacetPhase.js +28 -0
- package/dist/phases/hover/HoverPhase.d.ts +36 -0
- package/dist/phases/hover/HoverPhase.js +109 -0
- package/dist/phases/mapping/MappingPhase.d.ts +17 -0
- package/dist/phases/mapping/MappingPhase.js +40 -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 +29 -0
- package/dist/phases/scales/ScalesPhase.js +153 -0
- package/dist/phases/sharedScales/SharedScalesPhase.d.ts +58 -0
- package/dist/phases/sharedScales/SharedScalesPhase.js +171 -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 +67 -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 +14 -0
- package/dist/phases/tooltip/TooltipPhase.js +17 -0
- package/dist/phases/transforms/ProcessedPositions.d.ts +30 -0
- package/dist/phases/transforms/ProcessedPositions.js +74 -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 +27 -0
- package/dist/phases/transforms/TransformsPhase.js +205 -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 +39 -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 +88 -0
- package/dist/plots/bar/markers.d.ts +45 -0
- package/dist/plots/bar/markers.js +233 -0
- package/dist/plots/box/BoxSummaries.d.ts +19 -0
- package/dist/plots/box/BoxSummaries.js +101 -0
- package/dist/plots/box/Plot.svelte +42 -0
- package/dist/plots/box/Plot.svelte.d.ts +26 -0
- package/dist/plots/box/defaults.d.ts +12 -0
- package/dist/plots/box/defaults.js +34 -0
- package/dist/plots/box/markers.d.ts +12 -0
- package/dist/plots/box/markers.js +34 -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 +75 -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 +59 -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 +142 -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 +199 -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 +87 -0
- package/dist/plots/pyramid/markers.d.ts +21 -0
- package/dist/plots/pyramid/markers.js +156 -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 +80 -0
- package/dist/plots/scatter/markers.d.ts +19 -0
- package/dist/plots/scatter/markers.js +129 -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 +174 -27
- package/dist/types/layout/box.d.ts +24 -0
- package/dist/types/layout/composer.d.ts +39 -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 +108 -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 +62 -6
- 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 +40 -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 +76 -0
- package/dist/types/phases/state.js +1 -0
- package/dist/types/phases/statistics/phase.d.ts +43 -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 +50 -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/box/props.d.ts +10 -0
- package/dist/types/plots/box/props.js +1 -0
- package/dist/types/plots/box/state.d.ts +23 -0
- package/dist/types/plots/box/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 +145 -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 +99 -0
- package/docs/composer.md +69 -0
- package/docs/concepts.md +99 -0
- package/docs/development.md +103 -0
- package/docs/facets.md +123 -0
- package/docs/geo.md +151 -0
- package/docs/getting-started.md +78 -0
- package/docs/legend.md +153 -0
- package/docs/markers.md +117 -0
- package/docs/plots.md +284 -0
- package/docs/scales.md +95 -0
- package/docs/state.md +71 -0
- package/docs/styles-and-segments.md +269 -0
- package/docs/theming.md +226 -0
- package/docs/timeline.md +128 -0
- package/docs/tooltip-and-hover.md +128 -0
- package/docs/transforms-and-statistics.md +118 -0
- package/examples/BarValues.svelte +14 -0
- package/examples/Box.svelte +7 -0
- package/examples/Chrome.svelte +17 -0
- package/examples/ChromeOrder.svelte +18 -0
- package/examples/Composer.svelte +23 -0
- package/examples/CustomTooltip.svelte +44 -0
- package/examples/Facets.svelte +15 -0
- package/examples/FacetsCarousel.svelte +14 -0
- package/examples/FacetsRowsCols.svelte +23 -0
- package/examples/FirstPlot.svelte +7 -0
- package/examples/Gaps.svelte +21 -0
- package/examples/GroupedBars.svelte +15 -0
- package/examples/Heatmap.svelte +7 -0
- package/examples/HeatmapSegments.svelte +26 -0
- package/examples/Histogram.svelte +14 -0
- package/examples/HorizontalBars.svelte +15 -0
- package/examples/LegendReader.svelte +8 -0
- package/examples/LegendSections.svelte +27 -0
- package/examples/LegendToggle.svelte +25 -0
- package/examples/LineByRegion.svelte +18 -0
- package/examples/LineDates.svelte +15 -0
- package/examples/Markers.svelte +27 -0
- package/examples/MovingAverage.svelte +15 -0
- package/examples/Pyramid.svelte +7 -0
- package/examples/Regression.svelte +14 -0
- package/examples/ResponsiveLine.svelte +37 -0
- package/examples/Scales.svelte +26 -0
- package/examples/Scatter.svelte +16 -0
- package/examples/SegmentHighlight.svelte +22 -0
- package/examples/Segments.svelte +25 -0
- package/examples/SegmentsBySeries.svelte +25 -0
- package/examples/StackedArea.svelte +16 -0
- package/examples/StackedBars.svelte +15 -0
- package/examples/TimelinePlayer.svelte +21 -0
- package/examples/TimelineRule.svelte +19 -0
- package/examples/Tooltip.svelte +19 -0
- package/examples/TooltipCard.svelte +86 -0
- package/examples/ValueLabels.svelte +21 -0
- package/examples/data.ts +324 -0
- package/llms-full.txt +142 -0
- package/llms.txt +77 -0
- package/package.json +42 -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/scales/buildScale.d.ts +0 -25
- package/dist/layout/scales/buildScale.js +0 -90
- package/dist/layout/scales/niceDomain.d.ts +0 -23
- package/dist/layout/scales/niceDomain.js +0 -59
- 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,332 +0,0 @@
|
|
|
1
|
-
<script
|
|
2
|
-
lang="ts"
|
|
3
|
-
generics="TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData"
|
|
4
|
-
>
|
|
5
|
-
import type { ComponentProps, Snippet } from 'svelte';
|
|
6
|
-
import { Plot, Pointer, setPlotDefaults } from 'svelteplot';
|
|
7
|
-
import { getConfiguration } from '../../configuration/config.svelte';
|
|
8
|
-
import { AUTO_MARGIN_ESTIMATE, numericMargin } from './margins';
|
|
9
|
-
import { buildScale } from '../scales/buildScale';
|
|
10
|
-
import ScalesLayout from '../scales/ScalesLayout.svelte';
|
|
11
|
-
import GeometryLayout from '../geometry/GeometryLayout.svelte';
|
|
12
|
-
import CoordinatesLayout from '../coordinates/CoordinatesLayout.svelte';
|
|
13
|
-
import StylesLayout from '../styles/StylesLayout.svelte';
|
|
14
|
-
import { getHover, createHover } from '../tooltip/hover.svelte';
|
|
15
|
-
import { createHoverController } from '../tooltip/controller.svelte';
|
|
16
|
-
import TooltipLayout from '../tooltip/TooltipLayout.svelte';
|
|
17
|
-
import type { AxisValue, AxisBasedScalesConfig } from '../../types/layout/scales';
|
|
18
|
-
import type { CoordinatesConfig } from '../../types/layout/coordinates';
|
|
19
|
-
import type { StylesLayoutConfig } from '../../types/layout/styles';
|
|
20
|
-
import type { ScopedMarkerGroup } from '../../types/layout/geometry';
|
|
21
|
-
import type { HoverPoint } from '../../types/layout/tooltip';
|
|
22
|
-
import type { MarginConfig, HoverConfig } from '../../types/plots/props';
|
|
23
|
-
import type { MarkerConfig } from '../../types/markers/all';
|
|
24
|
-
import type { Series } from '../../types/plots/data/common';
|
|
25
|
-
import type { GeoFeature } from '../../types/plots/data/geo';
|
|
26
|
-
|
|
27
|
-
type SveltePlotProps = ComponentProps<typeof Plot>;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Shared chrome around every plot kind's svelteplot markup: the
|
|
31
|
-
* pointer-event wrapper, the hover/tooltip state machine, and the floating
|
|
32
|
-
* tooltip. Composes the Coordinates and Styles layers around every plot
|
|
33
|
-
* kind's own content, plus `GeometryLayout` (which renders nothing extra
|
|
34
|
-
* when `markers` is empty/unset). `ScalesLayout` composes in
|
|
35
|
-
* independently, only when `scales` is passed. Every plot kind supplies
|
|
36
|
-
* its own `<Plot x y projection>` scale config, either directly via
|
|
37
|
-
* `x`/`y` or by leaving them unset so this component derives them from
|
|
38
|
-
* `scales`.
|
|
39
|
-
*/
|
|
40
|
-
let {
|
|
41
|
-
width,
|
|
42
|
-
height,
|
|
43
|
-
data,
|
|
44
|
-
getX,
|
|
45
|
-
getY,
|
|
46
|
-
hover,
|
|
47
|
-
x = undefined,
|
|
48
|
-
y = undefined,
|
|
49
|
-
scales = undefined,
|
|
50
|
-
coordinates = undefined,
|
|
51
|
-
margins,
|
|
52
|
-
marginEstimate = AUTO_MARGIN_ESTIMATE,
|
|
53
|
-
marginRemountKey = undefined,
|
|
54
|
-
xTickRotate = undefined,
|
|
55
|
-
styles = undefined,
|
|
56
|
-
markers = undefined,
|
|
57
|
-
seriesData = undefined,
|
|
58
|
-
scopedGroups = undefined,
|
|
59
|
-
geoAllFeatures = undefined,
|
|
60
|
-
containerEl = $bindable(undefined),
|
|
61
|
-
children
|
|
62
|
-
}: {
|
|
63
|
-
width: number;
|
|
64
|
-
height: number;
|
|
65
|
-
/** Flat rows fed to svelteplot's `<Pointer>` for nearest-point matching, and to `CoordinatesLayout` for a `domain: 'data'` projection auto-fit. */
|
|
66
|
-
data: TData[];
|
|
67
|
-
getX: (d: TData) => AxisValue;
|
|
68
|
-
getY: (d: TData) => AxisValue;
|
|
69
|
-
/** Every hover/tooltip prop this component's own hover machinery reads — see {@link HoverConfig}. */
|
|
70
|
-
hover: HoverConfig<TData>;
|
|
71
|
-
/** Explicit `<Plot x>` override — bypasses `scales`-derived resolution (e.g. GeoPlot's fixed lon/lat domain). */
|
|
72
|
-
x?: SveltePlotProps['x'];
|
|
73
|
-
/** Explicit `<Plot y>` override — see `x`. */
|
|
74
|
-
y?: SveltePlotProps['y'];
|
|
75
|
-
/** Scale config `x`/`y` are derived from when not given directly. */
|
|
76
|
-
scales?: AxisBasedScalesConfig<TData>;
|
|
77
|
-
/** This plot kind's coordinate system config — `GeoPlot` only (a projection + pan/zoom). */
|
|
78
|
-
coordinates?: CoordinatesConfig;
|
|
79
|
-
/** Partial margin override — merged on top of the theme. */
|
|
80
|
-
margins?: MarginConfig;
|
|
81
|
-
/** Numeric fallback for a margin side that resolved to `'auto'` — see `numericMargin`'s doc comment. */
|
|
82
|
-
marginEstimate?: Record<'top' | 'right' | 'bottom' | 'left', number>;
|
|
83
|
-
/**
|
|
84
|
-
* Forces svelteplot's own `<Plot>` to fully unmount/remount (via
|
|
85
|
-
* `{#key}`) whenever this changes, instead of reacting to a `margins`
|
|
86
|
-
* prop change on an already-mounted instance. Only needed by a caller
|
|
87
|
-
* (line's own `Plot.svelte`) whose `margins` grows *after* mount, from
|
|
88
|
-
* measuring rendered content (see `createLabelMarginTracker`) — handing
|
|
89
|
-
* svelteplot's `<Plot>` a live post-mount margin change (rather than the
|
|
90
|
-
* same final value from its very first mount) was observed to send its
|
|
91
|
-
* own internal auto-margin sizing into a permanent one-pixel
|
|
92
|
-
* bottom-margin oscillation for line's end-point value labels
|
|
93
|
-
* specifically, which in turn kept re-triggering the overflow watcher
|
|
94
|
-
* that grew the margin in the first place — an infinite effect loop
|
|
95
|
-
* that tripped Svelte's `effect_update_depth_exceeded` guard. A static
|
|
96
|
-
* `margins` prop (the common case — every other plot kind) never needs
|
|
97
|
-
* this; leave it unset there.
|
|
98
|
-
*/
|
|
99
|
-
marginRemountKey?: string | number;
|
|
100
|
-
/** Boosts the bottom margin for a rotated x tick label — axis-having plot kinds only. */
|
|
101
|
-
xTickRotate?: number;
|
|
102
|
-
/** This plot kind's own `styles` prop, forwarded to the Styles layer. */
|
|
103
|
-
styles?: StylesLayoutConfig;
|
|
104
|
-
/**
|
|
105
|
-
* This plot kind's own markers array. Accepts a plain array, or a
|
|
106
|
-
* builder function for a plot kind whose own marker construction needs
|
|
107
|
-
* `setHoverMatch`/`clearHoverMatch`, only available once this
|
|
108
|
-
* component's own hover controller is set up.
|
|
109
|
-
*/
|
|
110
|
-
markers?:
|
|
111
|
-
| MarkerConfig[]
|
|
112
|
-
| ((hover: {
|
|
113
|
-
setHoverMatch: (rows: TData[]) => void;
|
|
114
|
-
clearHoverMatch: () => void;
|
|
115
|
-
}) => MarkerConfig[]);
|
|
116
|
-
/** All resolved series, forwarded to `GeometryLayout` — axis-based kinds only. Independently generic over `TSeries` (defaults to `TData`). */
|
|
117
|
-
seriesData?: Series<TSeries>[];
|
|
118
|
-
/** Per-series `GeometryLayout` groups — axis-based kinds only, same `TSeries` as `seriesData`. */
|
|
119
|
-
scopedGroups?: ScopedMarkerGroup<TSeries>[];
|
|
120
|
-
/** `GeoPlot`'s own untouched, tagged features, forwarded to `GeometryLayout` — `inset` marker only. */
|
|
121
|
-
geoAllFeatures?: (GeoFeature<Record<string, unknown>> & { __id: string })[];
|
|
122
|
-
/** The wrapper div's own element — bind for a nested layout that needs it for its own gesture handling (e.g. `CoordinatesLayout`'s zoom/rotate). */
|
|
123
|
-
containerEl?: HTMLDivElement;
|
|
124
|
-
/**
|
|
125
|
-
* `matchedPoints` carries the source `row` alongside the display fields,
|
|
126
|
-
* so a template can resolve it straight off `row` instead of assuming
|
|
127
|
-
* which visual axis it landed on. `activePoint` is the one matched point
|
|
128
|
-
* under the cursor. `numericMargins` lets a nested layout align itself
|
|
129
|
-
* with the plot's own content box. `setHoverMatch`/`clearHoverMatch` let
|
|
130
|
-
* a plot kind drive the match itself instead of svelteplot's
|
|
131
|
-
* distance-based `<Pointer>` — see `hover.pointMatching`. When `markers`
|
|
132
|
-
* is given, this is `GeometryLayout`'s own `children` instead of raw
|
|
133
|
-
* plot content. Optional — a plot kind whose every mark is a `markers`
|
|
134
|
-
* entry has nothing left to render here.
|
|
135
|
-
*/
|
|
136
|
-
children?: Snippet<
|
|
137
|
-
[
|
|
138
|
-
{
|
|
139
|
-
matchedPoints: HoverPoint<TData>[];
|
|
140
|
-
activePoint: HoverPoint<TData> | null;
|
|
141
|
-
impliesCrosshairX: boolean;
|
|
142
|
-
impliesCrosshairY: boolean;
|
|
143
|
-
numericMargins: { top: number; right: number; bottom: number; left: number };
|
|
144
|
-
setHoverMatch: (rows: TData[]) => void;
|
|
145
|
-
clearHoverMatch: () => void;
|
|
146
|
-
}
|
|
147
|
-
]
|
|
148
|
-
>;
|
|
149
|
-
} = $props();
|
|
150
|
-
|
|
151
|
-
const cfg = $derived(getConfiguration());
|
|
152
|
-
setPlotDefaults({
|
|
153
|
-
numberFormat: { useGrouping: 'min2', compactDisplay: cfg.axis.compactDisplay }
|
|
154
|
-
});
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Margins passed straight to `<Plot margin={…}>`. Each side defaults to
|
|
158
|
-
* `'auto'` (from the theme), which lets svelteplot size it to whatever it
|
|
159
|
-
* actually renders there — tick labels, an axis title, rotated ticks —
|
|
160
|
-
* rather than a fixed guess that either clips content or wastes space.
|
|
161
|
-
* `margins`/`cfg.margins` can still pin a side to an exact number.
|
|
162
|
-
*/
|
|
163
|
-
const computedMargins = $derived.by(() => {
|
|
164
|
-
const base = { ...cfg.margins, ...margins };
|
|
165
|
-
// Auto margins already measure the real (rotated) label bounding box, so
|
|
166
|
-
// this manual boost is only needed when the caller pinned bottom to a
|
|
167
|
-
// fixed number, which bypasses that measurement.
|
|
168
|
-
if (!xTickRotate || typeof base.bottom !== 'number') return base;
|
|
169
|
-
const rad = (Math.abs(xTickRotate) * Math.PI) / 180;
|
|
170
|
-
return {
|
|
171
|
-
...base,
|
|
172
|
-
bottom: base.bottom + Math.ceil(Math.sin(rad) * 20)
|
|
173
|
-
};
|
|
174
|
-
});
|
|
175
|
-
|
|
176
|
-
const numericMargins = $derived({
|
|
177
|
-
top: numericMargin('top', computedMargins.top, marginEstimate),
|
|
178
|
-
right: numericMargin('right', computedMargins.right, marginEstimate),
|
|
179
|
-
bottom: numericMargin('bottom', computedMargins.bottom, marginEstimate),
|
|
180
|
-
left: numericMargin('left', computedMargins.left, marginEstimate)
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
// Cast to svelteplot's own (narrower, axis-specific) scale option type:
|
|
184
|
-
// buildScale has already stripped the fields that don't exist there
|
|
185
|
-
// (grid, the vertical label config, BarPlot's series-layout knobs).
|
|
186
|
-
const resolvedX = $derived(
|
|
187
|
-
x !== undefined ? x : (buildScale(scales?.x, data, getX) as SveltePlotProps['x'])
|
|
188
|
-
);
|
|
189
|
-
const resolvedY = $derived(
|
|
190
|
-
y !== undefined ? y : (buildScale(scales?.y, data, getY) as SveltePlotProps['y'])
|
|
191
|
-
);
|
|
192
|
-
|
|
193
|
-
/** Only ever meaningful for `GeoPlot`. `none` while any interactive gesture (`zoom`/`pan`/`rotate`) is on. */
|
|
194
|
-
const touchAction = $derived(
|
|
195
|
-
(coordinates?.zoom !== false && coordinates?.zoom != null) ||
|
|
196
|
-
coordinates?.pan ||
|
|
197
|
-
coordinates?.rotate
|
|
198
|
-
? 'none'
|
|
199
|
-
: undefined
|
|
200
|
-
);
|
|
201
|
-
|
|
202
|
-
// ── Hover / tooltip ───────────────────────────────────────────────────────
|
|
203
|
-
const sharedHover = getHover();
|
|
204
|
-
const localHover = createHover();
|
|
205
|
-
const hoverStore = $derived(sharedHover ?? localHover);
|
|
206
|
-
|
|
207
|
-
/** Declared intent, defaulted — see {@link HoverConfig.pointMatching}. */
|
|
208
|
-
const pointMatchingStrategy = $derived(hover.pointMatching ?? 'nearest');
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* Which axes svelteplot's `<Pointer>` should search along, derived from
|
|
212
|
-
* the active strategy. `undefined` for an axis collapses every point to
|
|
213
|
-
* the same coordinate on that axis, excluding it from the match entirely.
|
|
214
|
-
*/
|
|
215
|
-
const pointerMatchX = $derived(hoverStore.strategy === 'y' ? undefined : getX);
|
|
216
|
-
const pointerMatchY = $derived(hoverStore.strategy === 'x' ? undefined : getY);
|
|
217
|
-
|
|
218
|
-
$effect(() => {
|
|
219
|
-
if (sharedHover) return;
|
|
220
|
-
localHover.strategy = hover.strategy ?? 'x';
|
|
221
|
-
localHover.sync = hover.sync ?? false;
|
|
222
|
-
});
|
|
223
|
-
|
|
224
|
-
const ctrl = createHoverController<TData>({
|
|
225
|
-
hover: () => hoverStore,
|
|
226
|
-
facetId: () => hover.tooltip?.facetId ?? '',
|
|
227
|
-
points: () => hover.points,
|
|
228
|
-
getX: () => getX,
|
|
229
|
-
getY: () => getY,
|
|
230
|
-
label: () => hover.label,
|
|
231
|
-
seriesFilter: () => hover.tooltip?.series,
|
|
232
|
-
width: () => width,
|
|
233
|
-
height: () => height,
|
|
234
|
-
crosshair: () => hover.crosshair
|
|
235
|
-
});
|
|
236
|
-
|
|
237
|
-
function onMove(e: PointerEvent) {
|
|
238
|
-
if (hover.exclude?.(e)) {
|
|
239
|
-
ctrl.onLeave();
|
|
240
|
-
return;
|
|
241
|
-
}
|
|
242
|
-
ctrl.onMove(e);
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
const resolvedMarkers = $derived(
|
|
246
|
-
typeof markers === 'function'
|
|
247
|
-
? markers({ setHoverMatch: ctrl.onPointer, clearHoverMatch: ctrl.onLeave })
|
|
248
|
-
: markers
|
|
249
|
-
);
|
|
250
|
-
</script>
|
|
251
|
-
|
|
252
|
-
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
253
|
-
<div
|
|
254
|
-
class="dct-plot"
|
|
255
|
-
bind:this={containerEl}
|
|
256
|
-
style:color={cfg.axis.color}
|
|
257
|
-
style:touch-action={touchAction}
|
|
258
|
-
onpointermove={hover.active ? onMove : undefined}
|
|
259
|
-
onpointerleave={hover.active ? ctrl.onLeave : undefined}
|
|
260
|
-
>
|
|
261
|
-
<CoordinatesLayout
|
|
262
|
-
{width}
|
|
263
|
-
{height}
|
|
264
|
-
margin={computedMargins}
|
|
265
|
-
x={resolvedX}
|
|
266
|
-
y={resolvedY}
|
|
267
|
-
{coordinates}
|
|
268
|
-
locale={cfg.axis.locale}
|
|
269
|
-
{data}
|
|
270
|
-
{containerEl}
|
|
271
|
-
remountKey={marginRemountKey}
|
|
272
|
-
>
|
|
273
|
-
<StylesLayout {styles} {width} {height} {numericMargins} />
|
|
274
|
-
{#if scales !== undefined}
|
|
275
|
-
<ScalesLayout {data} {getX} {getY} {width} {height} {numericMargins} {scales} />
|
|
276
|
-
{/if}
|
|
277
|
-
<GeometryLayout
|
|
278
|
-
markers={resolvedMarkers}
|
|
279
|
-
seriesData={seriesData ?? []}
|
|
280
|
-
scopedGroups={scopedGroups ?? []}
|
|
281
|
-
{ctrl}
|
|
282
|
-
{width}
|
|
283
|
-
{height}
|
|
284
|
-
{numericMargins}
|
|
285
|
-
{data}
|
|
286
|
-
{geoAllFeatures}
|
|
287
|
-
tooltipAnchorX={hover.tooltip?.anchorX}
|
|
288
|
-
tooltipAnchorY={hover.tooltip?.anchorY}
|
|
289
|
-
>
|
|
290
|
-
{@render children?.({
|
|
291
|
-
matchedPoints: ctrl.points,
|
|
292
|
-
activePoint: ctrl.activePoint,
|
|
293
|
-
impliesCrosshairX: ctrl.impliesCrosshairX,
|
|
294
|
-
impliesCrosshairY: ctrl.impliesCrosshairY,
|
|
295
|
-
numericMargins,
|
|
296
|
-
setHoverMatch: ctrl.onPointer,
|
|
297
|
-
clearHoverMatch: ctrl.onLeave
|
|
298
|
-
})}
|
|
299
|
-
</GeometryLayout>
|
|
300
|
-
|
|
301
|
-
{#if hover.active && pointMatchingStrategy === 'nearest'}
|
|
302
|
-
<Pointer
|
|
303
|
-
{data}
|
|
304
|
-
x={pointerMatchX}
|
|
305
|
-
y={pointerMatchY}
|
|
306
|
-
maxDistance={400}
|
|
307
|
-
onupdate={ctrl.onPointer}
|
|
308
|
-
/>
|
|
309
|
-
{/if}
|
|
310
|
-
</CoordinatesLayout>
|
|
311
|
-
|
|
312
|
-
{#if hover.tooltip}
|
|
313
|
-
<TooltipLayout
|
|
314
|
-
visible={ctrl.showTooltip && ctrl.tooltipPosition != null}
|
|
315
|
-
x={ctrl.tooltipPosition?.x ?? 0}
|
|
316
|
-
y={ctrl.tooltipPosition?.y ?? 0}
|
|
317
|
-
bounds={{ width, height }}
|
|
318
|
-
rows={ctrl.matchedRows.map((p) => p.row)}
|
|
319
|
-
format={hover.tooltip.format}
|
|
320
|
-
content={hover.tooltip.content}
|
|
321
|
-
anchorX={hover.tooltip.anchorX}
|
|
322
|
-
anchorY={hover.tooltip.anchorY}
|
|
323
|
-
/>
|
|
324
|
-
{/if}
|
|
325
|
-
</div>
|
|
326
|
-
|
|
327
|
-
<style>
|
|
328
|
-
.dct-plot {
|
|
329
|
-
position: relative;
|
|
330
|
-
line-height: 0;
|
|
331
|
-
}
|
|
332
|
-
</style>
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import type { Snippet } from 'svelte';
|
|
2
|
-
import type { AxisValue, AxisBasedScalesConfig } from '../../types/layout/scales';
|
|
3
|
-
import type { CoordinatesConfig } from '../../types/layout/coordinates';
|
|
4
|
-
import type { StylesLayoutConfig } from '../../types/layout/styles';
|
|
5
|
-
import type { ScopedMarkerGroup } from '../../types/layout/geometry';
|
|
6
|
-
import type { HoverPoint } from '../../types/layout/tooltip';
|
|
7
|
-
import type { MarginConfig, HoverConfig } from '../../types/plots/props';
|
|
8
|
-
import type { MarkerConfig } from '../../types/markers/all';
|
|
9
|
-
import type { Series } from '../../types/plots/data/common';
|
|
10
|
-
import type { GeoFeature } from '../../types/plots/data/geo';
|
|
11
|
-
declare function $$render<TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData>(): {
|
|
12
|
-
props: {
|
|
13
|
-
width: number;
|
|
14
|
-
height: number;
|
|
15
|
-
/** Flat rows fed to svelteplot's `<Pointer>` for nearest-point matching, and to `CoordinatesLayout` for a `domain: 'data'` projection auto-fit. */
|
|
16
|
-
data: TData[];
|
|
17
|
-
getX: (d: TData) => AxisValue;
|
|
18
|
-
getY: (d: TData) => AxisValue;
|
|
19
|
-
/** Every hover/tooltip prop this component's own hover machinery reads — see {@link HoverConfig}. */
|
|
20
|
-
hover: HoverConfig<TData>;
|
|
21
|
-
/** Explicit `<Plot x>` override — bypasses `scales`-derived resolution (e.g. GeoPlot's fixed lon/lat domain). */
|
|
22
|
-
x?: false | import("svelteplot/types/data.js").RawValue[] | Partial<import("svelteplot/types/scale.js").XScaleOptions> | undefined;
|
|
23
|
-
/** Explicit `<Plot y>` override — see `x`. */
|
|
24
|
-
y?: false | import("svelteplot/types/data.js").RawValue[] | Partial<import("svelteplot/types/scale.js").YScaleOptions> | undefined;
|
|
25
|
-
/** Scale config `x`/`y` are derived from when not given directly. */
|
|
26
|
-
scales?: AxisBasedScalesConfig<TData>;
|
|
27
|
-
/** This plot kind's coordinate system config — `GeoPlot` only (a projection + pan/zoom). */
|
|
28
|
-
coordinates?: CoordinatesConfig;
|
|
29
|
-
/** Partial margin override — merged on top of the theme. */
|
|
30
|
-
margins?: MarginConfig;
|
|
31
|
-
/** Numeric fallback for a margin side that resolved to `'auto'` — see `numericMargin`'s doc comment. */
|
|
32
|
-
marginEstimate?: Record<"top" | "right" | "bottom" | "left", number>;
|
|
33
|
-
/**
|
|
34
|
-
* Forces svelteplot's own `<Plot>` to fully unmount/remount (via
|
|
35
|
-
* `{#key}`) whenever this changes, instead of reacting to a `margins`
|
|
36
|
-
* prop change on an already-mounted instance. Only needed by a caller
|
|
37
|
-
* (line's own `Plot.svelte`) whose `margins` grows *after* mount, from
|
|
38
|
-
* measuring rendered content (see `createLabelMarginTracker`) — handing
|
|
39
|
-
* svelteplot's `<Plot>` a live post-mount margin change (rather than the
|
|
40
|
-
* same final value from its very first mount) was observed to send its
|
|
41
|
-
* own internal auto-margin sizing into a permanent one-pixel
|
|
42
|
-
* bottom-margin oscillation for line's end-point value labels
|
|
43
|
-
* specifically, which in turn kept re-triggering the overflow watcher
|
|
44
|
-
* that grew the margin in the first place — an infinite effect loop
|
|
45
|
-
* that tripped Svelte's `effect_update_depth_exceeded` guard. A static
|
|
46
|
-
* `margins` prop (the common case — every other plot kind) never needs
|
|
47
|
-
* this; leave it unset there.
|
|
48
|
-
*/
|
|
49
|
-
marginRemountKey?: string | number;
|
|
50
|
-
/** Boosts the bottom margin for a rotated x tick label — axis-having plot kinds only. */
|
|
51
|
-
xTickRotate?: number;
|
|
52
|
-
/** This plot kind's own `styles` prop, forwarded to the Styles layer. */
|
|
53
|
-
styles?: StylesLayoutConfig;
|
|
54
|
-
/**
|
|
55
|
-
* This plot kind's own markers array. Accepts a plain array, or a
|
|
56
|
-
* builder function for a plot kind whose own marker construction needs
|
|
57
|
-
* `setHoverMatch`/`clearHoverMatch`, only available once this
|
|
58
|
-
* component's own hover controller is set up.
|
|
59
|
-
*/
|
|
60
|
-
markers?: MarkerConfig[] | ((hover: {
|
|
61
|
-
setHoverMatch: (rows: TData[]) => void;
|
|
62
|
-
clearHoverMatch: () => void;
|
|
63
|
-
}) => MarkerConfig[]);
|
|
64
|
-
/** All resolved series, forwarded to `GeometryLayout` — axis-based kinds only. Independently generic over `TSeries` (defaults to `TData`). */
|
|
65
|
-
seriesData?: Series<TSeries>[];
|
|
66
|
-
/** Per-series `GeometryLayout` groups — axis-based kinds only, same `TSeries` as `seriesData`. */
|
|
67
|
-
scopedGroups?: ScopedMarkerGroup<TSeries>[];
|
|
68
|
-
/** `GeoPlot`'s own untouched, tagged features, forwarded to `GeometryLayout` — `inset` marker only. */
|
|
69
|
-
geoAllFeatures?: (GeoFeature<Record<string, unknown>> & {
|
|
70
|
-
__id: string;
|
|
71
|
-
})[];
|
|
72
|
-
/** The wrapper div's own element — bind for a nested layout that needs it for its own gesture handling (e.g. `CoordinatesLayout`'s zoom/rotate). */
|
|
73
|
-
containerEl?: HTMLDivElement;
|
|
74
|
-
/**
|
|
75
|
-
* `matchedPoints` carries the source `row` alongside the display fields,
|
|
76
|
-
* so a template can resolve it straight off `row` instead of assuming
|
|
77
|
-
* which visual axis it landed on. `activePoint` is the one matched point
|
|
78
|
-
* under the cursor. `numericMargins` lets a nested layout align itself
|
|
79
|
-
* with the plot's own content box. `setHoverMatch`/`clearHoverMatch` let
|
|
80
|
-
* a plot kind drive the match itself instead of svelteplot's
|
|
81
|
-
* distance-based `<Pointer>` — see `hover.pointMatching`. When `markers`
|
|
82
|
-
* is given, this is `GeometryLayout`'s own `children` instead of raw
|
|
83
|
-
* plot content. Optional — a plot kind whose every mark is a `markers`
|
|
84
|
-
* entry has nothing left to render here.
|
|
85
|
-
*/
|
|
86
|
-
children?: Snippet<[{
|
|
87
|
-
matchedPoints: HoverPoint<TData>[];
|
|
88
|
-
activePoint: HoverPoint<TData> | null;
|
|
89
|
-
impliesCrosshairX: boolean;
|
|
90
|
-
impliesCrosshairY: boolean;
|
|
91
|
-
numericMargins: {
|
|
92
|
-
top: number;
|
|
93
|
-
right: number;
|
|
94
|
-
bottom: number;
|
|
95
|
-
left: number;
|
|
96
|
-
};
|
|
97
|
-
setHoverMatch: (rows: TData[]) => void;
|
|
98
|
-
clearHoverMatch: () => void;
|
|
99
|
-
}]>;
|
|
100
|
-
};
|
|
101
|
-
exports: {};
|
|
102
|
-
bindings: "containerEl";
|
|
103
|
-
slots: {};
|
|
104
|
-
events: {};
|
|
105
|
-
};
|
|
106
|
-
declare class __sveltets_Render<TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData> {
|
|
107
|
-
props(): ReturnType<typeof $$render<TData, TSeries>>['props'];
|
|
108
|
-
events(): ReturnType<typeof $$render<TData, TSeries>>['events'];
|
|
109
|
-
slots(): ReturnType<typeof $$render<TData, TSeries>>['slots'];
|
|
110
|
-
bindings(): "containerEl";
|
|
111
|
-
exports(): {};
|
|
112
|
-
}
|
|
113
|
-
interface $$IsomorphicComponent {
|
|
114
|
-
new <TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TData, TSeries>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TData, TSeries>['props']>, ReturnType<__sveltets_Render<TData, TSeries>['events']>, ReturnType<__sveltets_Render<TData, TSeries>['slots']>> & {
|
|
115
|
-
$$bindings?: ReturnType<__sveltets_Render<TData, TSeries>['bindings']>;
|
|
116
|
-
} & ReturnType<__sveltets_Render<TData, TSeries>['exports']>;
|
|
117
|
-
<TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData>(internal: unknown, props: ReturnType<__sveltets_Render<TData, TSeries>['props']> & {}): ReturnType<__sveltets_Render<TData, TSeries>['exports']>;
|
|
118
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
119
|
-
}
|
|
120
|
-
declare const BasePlotLayout: $$IsomorphicComponent;
|
|
121
|
-
type BasePlotLayout<TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData> = InstanceType<typeof BasePlotLayout<TData, TSeries>>;
|
|
122
|
-
export default BasePlotLayout;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export declare const AUTO_MARGIN_ESTIMATE: {
|
|
2
|
-
readonly top: 20;
|
|
3
|
-
readonly right: 20;
|
|
4
|
-
readonly bottom: 30;
|
|
5
|
-
readonly left: 40;
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Best-effort numeric fallback for a margin side that resolved to `'auto'`.
|
|
9
|
-
* Used for layout heuristics that need *a* number before svelteplot has
|
|
10
|
-
* measured the real rendered content (tick labels, axis title) — e.g.
|
|
11
|
-
* capping tick count, or estimating a band's pixel width for the bar plot's
|
|
12
|
-
* 'grouped' series layout. Not exact: an `'auto'` side can end up wider than
|
|
13
|
-
* this once svelteplot measures unusually long tick labels.
|
|
14
|
-
*
|
|
15
|
-
* `estimate` defaults to `AUTO_MARGIN_ESTIMATE`; pass `GEO_MARGIN_ESTIMATE`
|
|
16
|
-
* for GeoPlot, which has no axes for that estimate's asymmetry to apply to.
|
|
17
|
-
*/
|
|
18
|
-
export declare function numericMargin(side: keyof typeof AUTO_MARGIN_ESTIMATE, value: number | 'auto' | undefined, estimate?: Record<keyof typeof AUTO_MARGIN_ESTIMATE, number>): number;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export const AUTO_MARGIN_ESTIMATE = { top: 20, right: 20, bottom: 30, left: 40 };
|
|
2
|
-
/**
|
|
3
|
-
* Best-effort numeric fallback for a margin side that resolved to `'auto'`.
|
|
4
|
-
* Used for layout heuristics that need *a* number before svelteplot has
|
|
5
|
-
* measured the real rendered content (tick labels, axis title) — e.g.
|
|
6
|
-
* capping tick count, or estimating a band's pixel width for the bar plot's
|
|
7
|
-
* 'grouped' series layout. Not exact: an `'auto'` side can end up wider than
|
|
8
|
-
* this once svelteplot measures unusually long tick labels.
|
|
9
|
-
*
|
|
10
|
-
* `estimate` defaults to `AUTO_MARGIN_ESTIMATE`; pass `GEO_MARGIN_ESTIMATE`
|
|
11
|
-
* for GeoPlot, which has no axes for that estimate's asymmetry to apply to.
|
|
12
|
-
*/
|
|
13
|
-
export function numericMargin(side, value, estimate = AUTO_MARGIN_ESTIMATE) {
|
|
14
|
-
return typeof value === 'number' ? value : estimate[side];
|
|
15
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/** Pixel width of `text` set in `font` (a canvas font shorthand, e.g. `"14px sans-serif"`). 0 during SSR. */
|
|
2
|
-
export declare function measureTextWidth(text: string, font: string): number;
|
|
3
|
-
/** Widest of `labels` set in `font`. 0 for an empty list. */
|
|
4
|
-
export declare function measureMaxLabelWidth(labels: string[], font: string): number;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
let measureCtx;
|
|
2
|
-
function getMeasureContext() {
|
|
3
|
-
if (measureCtx !== undefined)
|
|
4
|
-
return measureCtx;
|
|
5
|
-
measureCtx = typeof document === 'undefined' ? null : document.createElement('canvas').getContext('2d');
|
|
6
|
-
return measureCtx;
|
|
7
|
-
}
|
|
8
|
-
/** Pixel width of `text` set in `font` (a canvas font shorthand, e.g. `"14px sans-serif"`). 0 during SSR. */
|
|
9
|
-
export function measureTextWidth(text, font) {
|
|
10
|
-
const ctx = getMeasureContext();
|
|
11
|
-
if (!ctx)
|
|
12
|
-
return 0;
|
|
13
|
-
ctx.font = font;
|
|
14
|
-
return ctx.measureText(text).width;
|
|
15
|
-
}
|
|
16
|
-
/** Widest of `labels` set in `font`. 0 for an empty list. */
|
|
17
|
-
export function measureMaxLabelWidth(labels, font) {
|
|
18
|
-
return labels.reduce((max, label) => Math.max(max, measureTextWidth(label, font)), 0);
|
|
19
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { AxisValue, AxisScale } from '../../types/layout/scales';
|
|
2
|
-
/**
|
|
3
|
-
* Resolves an author-facing {@link AxisScale} into what svelteplot's
|
|
4
|
-
* `<Plot x>`/`<Plot y>` accepts — strips `grid`/`seriesLayout`/
|
|
5
|
-
* `seriesPadding`/a vertical `label`, since `ScalesLayout` renders those
|
|
6
|
-
* itself. Also defaults `nice: true` whenever the caller hasn't pinned a
|
|
7
|
-
* `domain`/`ticks`/`nice`/non-numeric `type` of their own and the axis's own
|
|
8
|
-
* values are plainly numeric ({@link isNumericAxis}), so an unpinned
|
|
9
|
-
* continuous axis rounds its domain outward to whole tick steps instead of
|
|
10
|
-
* stopping exactly at the data's own min/max.
|
|
11
|
-
*
|
|
12
|
-
* Deliberately *not* our own `[min, max]` padding: svelteplot computes the
|
|
13
|
-
* real domain from every mark's own channels — e.g. a bar's implicit zero
|
|
14
|
-
* baseline, or a stacked series' cumulative total — not just this axis's raw
|
|
15
|
-
* per-row values, which is all this function has to work with. `nice`'s
|
|
16
|
-
* domain-widening runs *after* that real domain is resolved, inside
|
|
17
|
-
* svelteplot itself, so it stays correct for every plot kind for free — at
|
|
18
|
-
* the cost of only widening up to the nearest round tick step, which can
|
|
19
|
-
* still land exactly on the data's own min/max rather than strictly beyond
|
|
20
|
-
* it (e.g. a value of exactly `52` needs no widening to reach the nice tick
|
|
21
|
-
* `52`). Recomputing the domain ourselves to close that gap would need each
|
|
22
|
-
* axis's true rendered extent (baseline/stack included), which only the
|
|
23
|
-
* calling plot kind knows — not attempted here.
|
|
24
|
-
*/
|
|
25
|
-
export declare function buildScale<TData>(scale: AxisScale<TData> | undefined, rows: TData[], getAxisValue: (d: TData) => AxisValue): AxisScale<TData> | undefined;
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { SvelteSet } from 'svelte/reactivity';
|
|
2
|
-
/** One representative row per unique axis value (first occurrence in `rows`). */
|
|
3
|
-
function uniqueRows(rows, getAxisValue) {
|
|
4
|
-
const seen = new SvelteSet();
|
|
5
|
-
const out = [];
|
|
6
|
-
for (const row of rows) {
|
|
7
|
-
const v = getAxisValue(row);
|
|
8
|
-
if (seen.has(v))
|
|
9
|
-
continue;
|
|
10
|
-
seen.add(v);
|
|
11
|
-
out.push(row);
|
|
12
|
-
}
|
|
13
|
-
return out;
|
|
14
|
-
}
|
|
15
|
-
/** svelteplot's `sort` option only does a fixed ascending sort; a custom `scale.sort` comparator is resolved into an explicit `domain` instead, which svelteplot honors as-is. */
|
|
16
|
-
function sortedScale(scale, rows, getAxisValue) {
|
|
17
|
-
const sort = scale?.sort;
|
|
18
|
-
if (!sort || scale?.domain)
|
|
19
|
-
return scale;
|
|
20
|
-
const reps = uniqueRows(rows, getAxisValue);
|
|
21
|
-
if (reps.length === 0 || !reps.every((r) => typeof getAxisValue(r) === 'string'))
|
|
22
|
-
return scale;
|
|
23
|
-
const domain = [...reps].sort(sort).map(getAxisValue);
|
|
24
|
-
return { ...scale, domain };
|
|
25
|
-
}
|
|
26
|
-
/** Scale types {@link buildScale}'s default `nice` only applies to — every other type has its own tick semantics (or isn't numeric at all). */
|
|
27
|
-
const CONTINUOUS_NUMERIC_TYPES = new Set(['auto', 'linear', 'pow', 'sqrt', 'log', 'symlog']);
|
|
28
|
-
/**
|
|
29
|
-
* Whether this axis's own values are plainly numeric — required before
|
|
30
|
-
* defaulting `nice: true`. Not just an optimization: svelteplot's own type
|
|
31
|
-
* *inference* treats a `nice` option as a hint to resolve the scale as
|
|
32
|
-
* `'linear'` (see its `autoScales.js`), so setting it on a scale whose real
|
|
33
|
-
* values are strings (a bar/pyramid's category axis) would force a linear
|
|
34
|
-
* scale onto categorical data and break the mark entirely.
|
|
35
|
-
*/
|
|
36
|
-
function isNumericAxis(rows, getAxisValue) {
|
|
37
|
-
let numericSeen = 0;
|
|
38
|
-
for (const row of rows) {
|
|
39
|
-
const v = getAxisValue(row);
|
|
40
|
-
if (v == null)
|
|
41
|
-
continue;
|
|
42
|
-
if (typeof v !== 'number')
|
|
43
|
-
return false;
|
|
44
|
-
if (++numericSeen >= 2)
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
return numericSeen > 0;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Resolves an author-facing {@link AxisScale} into what svelteplot's
|
|
51
|
-
* `<Plot x>`/`<Plot y>` accepts — strips `grid`/`seriesLayout`/
|
|
52
|
-
* `seriesPadding`/a vertical `label`, since `ScalesLayout` renders those
|
|
53
|
-
* itself. Also defaults `nice: true` whenever the caller hasn't pinned a
|
|
54
|
-
* `domain`/`ticks`/`nice`/non-numeric `type` of their own and the axis's own
|
|
55
|
-
* values are plainly numeric ({@link isNumericAxis}), so an unpinned
|
|
56
|
-
* continuous axis rounds its domain outward to whole tick steps instead of
|
|
57
|
-
* stopping exactly at the data's own min/max.
|
|
58
|
-
*
|
|
59
|
-
* Deliberately *not* our own `[min, max]` padding: svelteplot computes the
|
|
60
|
-
* real domain from every mark's own channels — e.g. a bar's implicit zero
|
|
61
|
-
* baseline, or a stacked series' cumulative total — not just this axis's raw
|
|
62
|
-
* per-row values, which is all this function has to work with. `nice`'s
|
|
63
|
-
* domain-widening runs *after* that real domain is resolved, inside
|
|
64
|
-
* svelteplot itself, so it stays correct for every plot kind for free — at
|
|
65
|
-
* the cost of only widening up to the nearest round tick step, which can
|
|
66
|
-
* still land exactly on the data's own min/max rather than strictly beyond
|
|
67
|
-
* it (e.g. a value of exactly `52` needs no widening to reach the nice tick
|
|
68
|
-
* `52`). Recomputing the domain ourselves to close that gap would need each
|
|
69
|
-
* axis's true rendered extent (baseline/stack included), which only the
|
|
70
|
-
* calling plot kind knows — not attempted here.
|
|
71
|
-
*/
|
|
72
|
-
export function buildScale(scale, rows, getAxisValue) {
|
|
73
|
-
const sorted = sortedScale(scale, rows, getAxisValue);
|
|
74
|
-
const wantsNice = scale?.domain == null &&
|
|
75
|
-
scale?.ticks == null &&
|
|
76
|
-
scale?.nice == null &&
|
|
77
|
-
(scale?.type == null || CONTINUOUS_NUMERIC_TYPES.has(scale.type)) &&
|
|
78
|
-
isNumericAxis(rows, getAxisValue);
|
|
79
|
-
if (!sorted && !wantsNice)
|
|
80
|
-
return sorted;
|
|
81
|
-
const out = { ...sorted };
|
|
82
|
-
delete out.grid;
|
|
83
|
-
delete out.seriesLayout;
|
|
84
|
-
delete out.seriesPadding;
|
|
85
|
-
if (scale?.labelOrientation === 'vertical')
|
|
86
|
-
delete out.label;
|
|
87
|
-
if (wantsNice)
|
|
88
|
-
out.nice = true;
|
|
89
|
-
return out;
|
|
90
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/** Step between "nice" (1/2/5×10ⁿ) tick values for an approximate `count` over `[start, stop]`. */
|
|
2
|
-
export declare function tickStep(start: number, stop: number, count: number): number;
|
|
3
|
-
/** Multiples of `step` covering `[start, stop]`, inclusive of either endpoint when it lands exactly on one. */
|
|
4
|
-
export declare function ticksInRange(start: number, stop: number, step: number): number[];
|
|
5
|
-
/** Ticks-per-axis heuristic — used by `ScalesLayout` to pick a target count from an axis's actual pixel span. */
|
|
6
|
-
export declare function naturalTickCount(span: number, spacing: number, min: number): number;
|
|
7
|
-
/**
|
|
8
|
-
* Widens `[lo, hi]` outward to the nearest `count`-ish "nice" step —
|
|
9
|
-
* equivalent to d3's own `scale.nice(count)`, except a value within
|
|
10
|
-
* `epsilonFraction × step` of a step boundary is treated as already sitting
|
|
11
|
-
* on it, rather than needing a full extra step to clear it.
|
|
12
|
-
*
|
|
13
|
-
* Exists because plain `Math.ceil`/`Math.floor` (what `nice()` uses
|
|
14
|
-
* internally, both here and in d3) has zero tolerance: a value meant to be
|
|
15
|
-
* exactly `100` that comes out `100.00000000000001` after summing several
|
|
16
|
-
* independently-rounded parts (a common shape for "these categories add up
|
|
17
|
-
* to a whole" data, e.g. percentages of a total) still fails `hi <= step*N`
|
|
18
|
-
* and gets rounded up a full step further than the data actually warrants
|
|
19
|
-
* (`100` → `110`, not just a hair past `100`). `epsilonFraction` defaults to
|
|
20
|
-
* 1% of the step — small enough to only catch rounding/summation noise, not
|
|
21
|
-
* data that's genuinely meaningfully past the boundary.
|
|
22
|
-
*/
|
|
23
|
-
export declare function niceDomain(lo: number, hi: number, count?: number, epsilonFraction?: number): [number, number];
|