@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,257 +0,0 @@
|
|
|
1
|
-
import { AUTO_MARGIN_ESTIMATE } from '../../layout/plot/margins';
|
|
2
|
-
const NO_OVERFLOW = { left: 0, right: 0, top: 0, bottom: 0 };
|
|
3
|
-
/**
|
|
4
|
-
* A generic `maxOverflow` cap for {@link createLabelMarginTracker}: half of
|
|
5
|
-
* each dimension, so a facet cramped enough that its own value label can
|
|
6
|
-
* never fully fit still leaves the plot's own content box the other half,
|
|
7
|
-
* rather than `measured` growing without bound (see that function's own
|
|
8
|
-
* `maxOverflow` doc comment). The same backstop applies regardless of *what*
|
|
9
|
-
* overflows or *why* — every value-label-drawing plot (line/bar/pyramid/
|
|
10
|
-
* scatter) passes this, sized off its own `width`/`height`.
|
|
11
|
-
*/
|
|
12
|
-
export function halfDimensionOverflowCap(width, height) {
|
|
13
|
-
return {
|
|
14
|
-
left: Math.max(0, width * 0.5),
|
|
15
|
-
right: Math.max(0, width * 0.5),
|
|
16
|
-
top: Math.max(0, height * 0.5),
|
|
17
|
-
bottom: Math.max(0, height * 0.5)
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Watches an SVG group's rendered bounding box against the plot's own
|
|
22
|
-
* content box (`bounds`) and reports how far it overflows on each side.
|
|
23
|
-
* Polled across successive paints until two consecutive readings agree,
|
|
24
|
-
* rather than trusted after a single frame: the group's own resolved
|
|
25
|
-
* geometry (driven by svelteplot's separate reactive graph) and svelteplot's
|
|
26
|
-
* own axis auto-margins can take a variable number of frames to settle —
|
|
27
|
-
* more on a page with many other components competing for layout (e.g. a
|
|
28
|
-
* docs page) than in an isolated story. Measuring too early can catch
|
|
29
|
-
* content still at its pre-layout default position; capped so a layout that
|
|
30
|
-
* genuinely never stabilizes still reports its last reading instead of
|
|
31
|
-
* polling forever. Also waits for web fonts to finish loading, since glyph
|
|
32
|
-
* metrics (and therefore `getBBox()`) can still reflect a fallback font's
|
|
33
|
-
* narrower widths until the real font swaps in.
|
|
34
|
-
*/
|
|
35
|
-
export function watchLabelOverflow(args) {
|
|
36
|
-
$effect(() => {
|
|
37
|
-
const el = args.el();
|
|
38
|
-
const bounds = args.bounds();
|
|
39
|
-
const reportOverflow = args.onOverflow;
|
|
40
|
-
if (!el || !bounds)
|
|
41
|
-
return;
|
|
42
|
-
const MAX_ATTEMPTS = 30;
|
|
43
|
-
let cancelled = false;
|
|
44
|
-
let frame;
|
|
45
|
-
let attempt = 0;
|
|
46
|
-
let lastReading;
|
|
47
|
-
function measure() {
|
|
48
|
-
if (cancelled)
|
|
49
|
-
return;
|
|
50
|
-
let box;
|
|
51
|
-
try {
|
|
52
|
-
box = el.getBBox();
|
|
53
|
-
}
|
|
54
|
-
catch {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
// An empty group (no labels currently rendered, e.g. every series is
|
|
58
|
-
// scrubbed/filtered out of view) reports getBBox() as (0,0,0,0) — the
|
|
59
|
-
// SVG origin, not "no content". Reading that literally as a box sitting
|
|
60
|
-
// at (0,0) would report overflow proportional to the *current* margins
|
|
61
|
-
// themselves, which grows them, which remounts this group against the
|
|
62
|
-
// new, larger bounds, which reports overflow again — an unbounded loop
|
|
63
|
-
// with nothing rendered to justify it.
|
|
64
|
-
const overflow = box.width === 0 && box.height === 0
|
|
65
|
-
? NO_OVERFLOW
|
|
66
|
-
: {
|
|
67
|
-
left: Math.ceil(Math.max(0, bounds.left - box.x)),
|
|
68
|
-
right: Math.ceil(Math.max(0, box.x + box.width - bounds.right)),
|
|
69
|
-
top: Math.ceil(Math.max(0, bounds.top - box.y)),
|
|
70
|
-
bottom: Math.ceil(Math.max(0, box.y + box.height - bounds.bottom))
|
|
71
|
-
};
|
|
72
|
-
attempt += 1;
|
|
73
|
-
const stable = lastReading != null &&
|
|
74
|
-
lastReading.left === overflow.left &&
|
|
75
|
-
lastReading.right === overflow.right &&
|
|
76
|
-
lastReading.top === overflow.top &&
|
|
77
|
-
lastReading.bottom === overflow.bottom;
|
|
78
|
-
lastReading = overflow;
|
|
79
|
-
if (stable || attempt >= MAX_ATTEMPTS) {
|
|
80
|
-
reportOverflow(overflow);
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
frame = requestAnimationFrame(measure);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
const fontsReady = document.fonts?.ready ?? Promise.resolve();
|
|
87
|
-
fontsReady.then(() => {
|
|
88
|
-
if (cancelled)
|
|
89
|
-
return;
|
|
90
|
-
frame = requestAnimationFrame(measure);
|
|
91
|
-
});
|
|
92
|
-
return () => {
|
|
93
|
-
cancelled = true;
|
|
94
|
-
if (frame !== undefined)
|
|
95
|
-
cancelAnimationFrame(frame);
|
|
96
|
-
};
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Tracks value-label overflow reported by (possibly several, e.g. one per
|
|
101
|
-
* series) {@link watchLabelOverflow} calls and grows a local margin override
|
|
102
|
-
* to fit it — monotonically, since shrinking it back would re-expose the
|
|
103
|
-
* overflow that caused the growth in the first place, oscillating between
|
|
104
|
-
* "shrink margin → overflow reappears → grow margin → …". Each side is only
|
|
105
|
-
* ever set when the caller's own `margins` prop hasn't already pinned it, so
|
|
106
|
-
* an explicit caller override always wins over this auto-grown one.
|
|
107
|
-
*
|
|
108
|
-
* That monotonic growth is only sound for a *stable* dataset — it assumes
|
|
109
|
-
* every reading describes the same thing being measured, just possibly at an
|
|
110
|
-
* earlier, not-yet-settled frame. It stops being sound once the caller's own
|
|
111
|
-
* data changes identity underneath it (e.g. a timeline scrubber revealing a
|
|
112
|
-
* different slice of rows on every tick): an overflow measured against
|
|
113
|
-
* *that* frame's rendered labels doesn't describe the next frame's, so
|
|
114
|
-
* carrying it forward forever can leave a plot permanently — and wrongly —
|
|
115
|
-
* margin-inflated by whatever the single most cluttered frame it ever
|
|
116
|
-
* passed through needed, long after scrubbing away from it. `resetKey`, if
|
|
117
|
-
* given, is compared by identity on every call; a change drops `measured`
|
|
118
|
-
* back to zero so the next frame's overflow is measured fresh against only
|
|
119
|
-
* what's actually on screen now. Pass whatever reactive value identifies
|
|
120
|
-
* "what's currently being plotted" for the caller (e.g. its own resolved
|
|
121
|
-
* series list) — a plain reference/value comparison, not a deep one, so it
|
|
122
|
-
* only need change identity when the rendered content actually does.
|
|
123
|
-
*/
|
|
124
|
-
export function createLabelMarginTracker(margins, resetKey,
|
|
125
|
-
/**
|
|
126
|
-
* A precomputed overflow estimate — from the full dataset, not just the
|
|
127
|
-
* current frame — used as the reset target instead of zero. Since it's
|
|
128
|
-
* derived from stable inputs, a `resetKey` change resets `measured` back
|
|
129
|
-
* to roughly the same value instead of zero, so DOM growth rarely needs
|
|
130
|
-
* to re-detect and re-grow it (which would otherwise remount the plot on
|
|
131
|
-
* every reset). DOM measurement can still grow past it for whatever this
|
|
132
|
-
* estimate doesn't cover.
|
|
133
|
-
*/
|
|
134
|
-
floor,
|
|
135
|
-
/**
|
|
136
|
-
* Ceiling on how far `measured` can grow on each side, independent of
|
|
137
|
-
* `floor`. Without one, a cell too small to ever fully fit its own label
|
|
138
|
-
* (e.g. a narrow facet) keeps reporting overflow after every growth-
|
|
139
|
-
* triggered remount — since the label's absolute size never shrinks —
|
|
140
|
-
* and `measured` grows without bound, eventually leaving nothing for the
|
|
141
|
-
* plot's own content box. Capping it trades a permanently-clipped label
|
|
142
|
-
* in that case for a plot that still renders. Pass `Infinity` on a side
|
|
143
|
-
* (the default) to leave it uncapped.
|
|
144
|
-
*/
|
|
145
|
-
maxOverflow) {
|
|
146
|
-
const floorValue = () => floor?.() ?? NO_OVERFLOW;
|
|
147
|
-
let measured = $state(floorValue());
|
|
148
|
-
// Skips the reset on the very first run (there's nothing to reset yet,
|
|
149
|
-
// and `measured` already starts at the floor) so only a later, genuine
|
|
150
|
-
// change to `resetKey` clears accumulated growth.
|
|
151
|
-
let resetKeyInitialized = false;
|
|
152
|
-
let lastResetKey;
|
|
153
|
-
$effect(() => {
|
|
154
|
-
const key = resetKey?.();
|
|
155
|
-
if (!resetKeyInitialized) {
|
|
156
|
-
resetKeyInitialized = true;
|
|
157
|
-
lastResetKey = key;
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
if (key !== lastResetKey) {
|
|
161
|
-
lastResetKey = key;
|
|
162
|
-
measured = floorValue();
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
// Pure `Math.max` — no `maxOverflow` cap here. `measured` is a *tracked*
|
|
166
|
-
// value, not the applied margin, and must stay strictly monotonic
|
|
167
|
-
// regardless of anything else changing (see this function's own doc
|
|
168
|
-
// comment on why shrinking it back oscillates). `maxOverflow` is
|
|
169
|
-
// typically sized off the plot's own live `width`/`height` (see
|
|
170
|
-
// `halfDimensionOverflowCap`), which moves continuously during a resize
|
|
171
|
-
// — capping *here* would let a shrinking cap force `measured` down mid-
|
|
172
|
-
// resize, immediately re-exposing the overflow that grew it in the first
|
|
173
|
-
// place and re-triggering growth, over and over, fast enough to trip
|
|
174
|
-
// Svelte's `effect_update_depth_exceeded` guard. The cap is applied only
|
|
175
|
-
// where it can't feed back into `measured` itself — see `resolvedMargins`.
|
|
176
|
-
function report(overflow) {
|
|
177
|
-
const next = {
|
|
178
|
-
left: Math.max(measured.left, overflow.left),
|
|
179
|
-
right: Math.max(measured.right, overflow.right),
|
|
180
|
-
top: Math.max(measured.top, overflow.top),
|
|
181
|
-
bottom: Math.max(measured.bottom, overflow.bottom)
|
|
182
|
-
};
|
|
183
|
-
if (next.left !== measured.left ||
|
|
184
|
-
next.right !== measured.right ||
|
|
185
|
-
next.top !== measured.top ||
|
|
186
|
-
next.bottom !== measured.bottom) {
|
|
187
|
-
measured = next;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
// `measured` is overflow *past* the current margin, not the total margin
|
|
191
|
-
// needed — grown on top of `AUTO_MARGIN_ESTIMATE` (the same fallback
|
|
192
|
-
// svelteplot's own 'auto' sizing is estimated by elsewhere), not the raw
|
|
193
|
-
// overflow alone, or growth would silently replace whatever room 'auto'
|
|
194
|
-
// would have reserved for the axis itself (tick labels, title) with a
|
|
195
|
-
// number that only accounts for the value label. `AUTO_MARGIN_ESTIMATE` is
|
|
196
|
-
// a fixed constant, not `numericMargins`' own already-grown value, so this
|
|
197
|
-
// can't compound into unbounded growth across repeated reports.
|
|
198
|
-
//
|
|
199
|
-
// `maxOverflow`, if given, clamps `measured` down to a live cap *here*,
|
|
200
|
-
// read-only — every render re-reads the current cap and applies it fresh
|
|
201
|
-
// to the unclamped, monotonically-tracked `measured`, without ever
|
|
202
|
-
// writing the clamped value back into `measured` itself (see `report`'s
|
|
203
|
-
// own doc comment for why that distinction matters).
|
|
204
|
-
const resolvedMargins = $derived.by(() => {
|
|
205
|
-
const base = margins();
|
|
206
|
-
const cap = maxOverflow?.() ?? {
|
|
207
|
-
left: Infinity,
|
|
208
|
-
right: Infinity,
|
|
209
|
-
top: Infinity,
|
|
210
|
-
bottom: Infinity
|
|
211
|
-
};
|
|
212
|
-
const clamped = {
|
|
213
|
-
left: Math.min(measured.left, cap.left),
|
|
214
|
-
right: Math.min(measured.right, cap.right),
|
|
215
|
-
top: Math.min(measured.top, cap.top),
|
|
216
|
-
bottom: Math.min(measured.bottom, cap.bottom)
|
|
217
|
-
};
|
|
218
|
-
if (clamped.left <= 0 && clamped.right <= 0 && clamped.top <= 0 && clamped.bottom <= 0)
|
|
219
|
-
return base;
|
|
220
|
-
const out = { ...base };
|
|
221
|
-
if (clamped.right > 0 && base?.right === undefined)
|
|
222
|
-
out.right = AUTO_MARGIN_ESTIMATE.right + clamped.right;
|
|
223
|
-
if (clamped.left > 0 && base?.left === undefined)
|
|
224
|
-
out.left = AUTO_MARGIN_ESTIMATE.left + clamped.left;
|
|
225
|
-
if (clamped.top > 0 && base?.top === undefined)
|
|
226
|
-
out.top = AUTO_MARGIN_ESTIMATE.top + clamped.top;
|
|
227
|
-
if (clamped.bottom > 0 && base?.bottom === undefined)
|
|
228
|
-
out.bottom = AUTO_MARGIN_ESTIMATE.bottom + clamped.bottom;
|
|
229
|
-
return out;
|
|
230
|
-
});
|
|
231
|
-
// Bundles `resolvedMargins` with a remount key, ready to spread straight
|
|
232
|
-
// onto `<BasePlotLayout>` as its `margins`/`marginRemountKey` props (see
|
|
233
|
-
// that prop's doc comment for *why* a remount key is needed here at all)
|
|
234
|
-
// — keeps the caller from re-deriving the same key by hand. Keyed off
|
|
235
|
-
// `resolvedMargins` itself (the actually-applied value) rather than raw
|
|
236
|
-
// `measured` — with a `maxOverflow` cap in play, `measured` can keep
|
|
237
|
-
// climbing past the point where it's clamped without the applied margin
|
|
238
|
-
// changing at all, and remounting for that would be pure waste. Also
|
|
239
|
-
// tracks the caller's own `margins()` — a caller that changes its
|
|
240
|
-
// explicit margins prop after mount (e.g. locking in a previously-
|
|
241
|
-
// measured value) needs that picked up just as cleanly as internal
|
|
242
|
-
// growth does; `resolvedMargins` alone already reflects that too, but
|
|
243
|
-
// spelling it out keeps the key's intent obvious.
|
|
244
|
-
const plotProps = $derived.by(() => ({
|
|
245
|
-
margins: resolvedMargins,
|
|
246
|
-
marginRemountKey: JSON.stringify({ base: margins(), resolvedMargins })
|
|
247
|
-
}));
|
|
248
|
-
return {
|
|
249
|
-
report,
|
|
250
|
-
get resolvedMargins() {
|
|
251
|
-
return resolvedMargins;
|
|
252
|
-
},
|
|
253
|
-
get plotProps() {
|
|
254
|
-
return plotProps;
|
|
255
|
-
}
|
|
256
|
-
};
|
|
257
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { LegendDisabledAction, LegendDisabledStyle, LegendInteractionStore } from '../../types/layout/legend';
|
|
2
|
-
import type { StrokeStyle, DotStyle } from '../../types/plots/styling';
|
|
3
|
-
/** Resolves a {@link LegendDisabledAction} into the style a mark should render with — `'omit'` resolves to fully transparent. */
|
|
4
|
-
export declare function resolveDisabledStyle(action: LegendDisabledAction | undefined, fallbackOpacity: number): LegendDisabledStyle | undefined;
|
|
5
|
-
/** Drops series toggled off with `disabled: { mode: 'omit' }` from a series list. */
|
|
6
|
-
export declare function omitDisabledSeries<S extends {
|
|
7
|
-
name: string;
|
|
8
|
-
}>(series: S[], legendInteraction: LegendInteractionStore | null | undefined): S[];
|
|
9
|
-
/** Builds a per-series-name → palette index from the full series list, before {@link omitDisabledSeries} filters it. */
|
|
10
|
-
export declare function buildSeriesColorIndex<S extends {
|
|
11
|
-
name: string;
|
|
12
|
-
}>(series: S[]): Map<string, number>;
|
|
13
|
-
/** Resolves the disabled style for a series by name: legend-off state, falling back to hover-isolate dim. */
|
|
14
|
-
export declare function resolveEffectiveDisabledStyle(name: string, legendInteraction: LegendInteractionStore | null | undefined, disabledOpacity: number, hoverIsolate: boolean, hoverIsolatedSeries: string | null): LegendDisabledStyle | undefined;
|
|
15
|
-
/**
|
|
16
|
-
* The three per-mark override layers a legend "disabled" state can apply,
|
|
17
|
-
* derived once from a {@link LegendDisabledStyle}. Each is `undefined` when
|
|
18
|
-
* there's no active override, so call sites can slot the result in as just
|
|
19
|
-
* one more `??` layer ahead of their existing segment-style/default-color
|
|
20
|
-
* chain — no branching needed at the call site.
|
|
21
|
-
*/
|
|
22
|
-
export declare function disabledStrokeOverride(disabled: LegendDisabledStyle | undefined): StrokeStyle | undefined;
|
|
23
|
-
export declare function disabledDotsOverride(disabled: LegendDisabledStyle | undefined): DotStyle | undefined;
|
|
24
|
-
export declare function disabledFillOverride(disabled: LegendDisabledStyle | undefined): {
|
|
25
|
-
fill?: string;
|
|
26
|
-
fillOpacity?: number;
|
|
27
|
-
} | undefined;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/** Resolves a {@link LegendDisabledAction} into the style a mark should render with — `'omit'` resolves to fully transparent. */
|
|
2
|
-
export function resolveDisabledStyle(action, fallbackOpacity) {
|
|
3
|
-
if (!action)
|
|
4
|
-
return undefined;
|
|
5
|
-
if (action.mode === 'omit')
|
|
6
|
-
return { opacity: 0 };
|
|
7
|
-
return action.style ?? { opacity: fallbackOpacity };
|
|
8
|
-
}
|
|
9
|
-
/** Drops series toggled off with `disabled: { mode: 'omit' }` from a series list. */
|
|
10
|
-
export function omitDisabledSeries(series, legendInteraction) {
|
|
11
|
-
if (!legendInteraction)
|
|
12
|
-
return series;
|
|
13
|
-
return series.filter((s) => legendInteraction.disabledSeries.get(s.name)?.mode !== 'omit');
|
|
14
|
-
}
|
|
15
|
-
/** Builds a per-series-name → palette index from the full series list, before {@link omitDisabledSeries} filters it. */
|
|
16
|
-
export function buildSeriesColorIndex(series) {
|
|
17
|
-
const index = new Map();
|
|
18
|
-
series.forEach((s, i) => index.set(s.name, i));
|
|
19
|
-
return index;
|
|
20
|
-
}
|
|
21
|
-
/** Resolves the disabled style for a series by name: legend-off state, falling back to hover-isolate dim. */
|
|
22
|
-
export function resolveEffectiveDisabledStyle(name, legendInteraction, disabledOpacity, hoverIsolate, hoverIsolatedSeries) {
|
|
23
|
-
return (resolveDisabledStyle(legendInteraction?.disabledSeries.get(name), disabledOpacity) ??
|
|
24
|
-
(hoverIsolate && hoverIsolatedSeries && hoverIsolatedSeries !== name
|
|
25
|
-
? { opacity: disabledOpacity }
|
|
26
|
-
: undefined));
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* The three per-mark override layers a legend "disabled" state can apply,
|
|
30
|
-
* derived once from a {@link LegendDisabledStyle}. Each is `undefined` when
|
|
31
|
-
* there's no active override, so call sites can slot the result in as just
|
|
32
|
-
* one more `??` layer ahead of their existing segment-style/default-color
|
|
33
|
-
* chain — no branching needed at the call site.
|
|
34
|
-
*/
|
|
35
|
-
export function disabledStrokeOverride(disabled) {
|
|
36
|
-
if (!disabled)
|
|
37
|
-
return undefined;
|
|
38
|
-
return {
|
|
39
|
-
stroke: disabled.stroke?.stroke,
|
|
40
|
-
strokeWidth: disabled.stroke?.strokeWidth,
|
|
41
|
-
strokeOpacity: disabled.stroke?.strokeOpacity ?? disabled.opacity,
|
|
42
|
-
strokeDasharray: disabled.stroke?.strokeDasharray,
|
|
43
|
-
strokeLinecap: disabled.stroke?.strokeLinecap,
|
|
44
|
-
strokeLinejoin: disabled.stroke?.strokeLinejoin,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
export function disabledDotsOverride(disabled) {
|
|
48
|
-
if (!disabled)
|
|
49
|
-
return undefined;
|
|
50
|
-
return {
|
|
51
|
-
dotRadius: disabled.dots?.dotRadius,
|
|
52
|
-
dotFill: disabled.dots?.dotFill,
|
|
53
|
-
dotFillOpacity: disabled.dots?.dotFillOpacity ?? disabled.opacity,
|
|
54
|
-
dotSymbol: disabled.dots?.dotSymbol,
|
|
55
|
-
dotStroke: disabled.dots?.dotStroke,
|
|
56
|
-
dotStrokeWidth: disabled.dots?.dotStrokeWidth,
|
|
57
|
-
dotStrokeOpacity: disabled.dots?.dotStrokeOpacity ?? disabled.opacity,
|
|
58
|
-
dotStrokeDasharray: disabled.dots?.dotStrokeDasharray,
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
export function disabledFillOverride(disabled) {
|
|
62
|
-
if (!disabled)
|
|
63
|
-
return undefined;
|
|
64
|
-
return {
|
|
65
|
-
fill: disabled.fill,
|
|
66
|
-
fillOpacity: disabled.fillOpacity ?? disabled.opacity,
|
|
67
|
-
};
|
|
68
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import type { LineAnchor } from '../../types/plots/constants';
|
|
2
|
-
/**
|
|
3
|
-
* The one calculation every value-label-drawing plot (`LinePlot`, `BarPlot`,
|
|
4
|
-
* `PyramidPlot`, …) needs to reserve margin for its own value labels ahead of
|
|
5
|
-
* time, stable across a timeline scrubber or a dataset change: measure the
|
|
6
|
-
* widest candidate label (already off-DOM/canvas via `measureMaxLabelWidth`,
|
|
7
|
-
* so this is synchronous and exact, not an approximation needing a later
|
|
8
|
-
* DOM-measured correction), then add a fixed `reach` — whatever fixed gap
|
|
9
|
-
* sits between the anchor point and where the text itself starts, which
|
|
10
|
-
* differs per plot (a bar/pyramid's anchor offset; a line's elbow-routed
|
|
11
|
-
* lane geometry, see `laneReachUpperBound`).
|
|
12
|
-
*
|
|
13
|
-
* `texts` is the plot's own candidate list (its own concern — which values
|
|
14
|
-
* count as "the widest this could ever need to be", e.g. every row's value
|
|
15
|
-
* vs. just a pinned domain's extremes) — this function only measures and
|
|
16
|
-
* combines, it never decides which labels matter.
|
|
17
|
-
*/
|
|
18
|
-
export declare function estimateValueLabelMargin(texts: string[], options: {
|
|
19
|
-
/** Canvas font shorthand, e.g. `"12px sans-serif"`, matching the labels' own rendered font. */
|
|
20
|
-
canvasFont: string;
|
|
21
|
-
/**
|
|
22
|
-
* Fraction of the widest label's own width that extends toward the
|
|
23
|
-
* margin being reserved — `1` (the default) for a label anchored so
|
|
24
|
-
* its whole width reaches outward (`textAnchor: 'start'`), `0.5` for
|
|
25
|
-
* one centered on its anchor (`'middle'`), `0` for one anchored back
|
|
26
|
-
* over the plot's own content (no text-width contribution, though
|
|
27
|
-
* `reach` can still apply).
|
|
28
|
-
*/
|
|
29
|
-
textFraction?: number;
|
|
30
|
-
/**
|
|
31
|
-
* Fixed gap (px) between the anchor point and the start of the label
|
|
32
|
-
* text — always reserved, even when `texts` is empty, matching every
|
|
33
|
-
* caller's existing behaviour of never collapsing to zero margin
|
|
34
|
-
* outright (a plot with no value-label-bearing data yet still keeps
|
|
35
|
-
* whatever fixed offset its style config asks for).
|
|
36
|
-
*/
|
|
37
|
-
reach?: number;
|
|
38
|
-
}): number;
|
|
39
|
-
/** Estimated full rendered height of a single-line value label at `fontSize`. */
|
|
40
|
-
export declare function estimateLabelHeight(fontSize: number): number;
|
|
41
|
-
/** Vertical analogue of `estimateValueLabelMargin`: how far a value label's text extends above/below its anchor point. */
|
|
42
|
-
export declare function estimateValueLabelVerticalMargin(options: {
|
|
43
|
-
fontSize: number;
|
|
44
|
-
lineAnchor: LineAnchor;
|
|
45
|
-
/** Pixel offset from the anchor point to the label's line-anchor edge, same sign as SVG's `dy`. */
|
|
46
|
-
dy?: number;
|
|
47
|
-
}): {
|
|
48
|
-
top: number;
|
|
49
|
-
bottom: number;
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* Upper bound on how far `LinePlot`'s end-of-line labels can ever fan out
|
|
53
|
-
* into lanes (see `plots/utils/declutter.ts`'s `laneAssignment`): a run of
|
|
54
|
-
* colliding labels never uses more lanes than it has members, and a run can
|
|
55
|
-
* never have more members than there are series total — so `elbowGap +
|
|
56
|
-
* (seriesCount - 1) * laneStep + labelGap` is always >= the real, rendered
|
|
57
|
-
* reach, for *any* arrangement `declutter1D`/`laneAssignment` could ever
|
|
58
|
-
* produce. That's what makes it safe to use as a stable floor: it doesn't
|
|
59
|
-
* depend on which series happen to collide on the current frame (which can
|
|
60
|
-
* change tick to tick as a timeline scrubs), only on how many series exist —
|
|
61
|
-
* so the margin it implies never needs to change across a scrub either.
|
|
62
|
-
*/
|
|
63
|
-
export declare function laneReachUpperBound(seriesCount: number, cfg: {
|
|
64
|
-
elbowGap: number;
|
|
65
|
-
laneStep: number;
|
|
66
|
-
labelGap: number;
|
|
67
|
-
}): number;
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { measureMaxLabelWidth } from '../../layout/plot/measureText';
|
|
2
|
-
/**
|
|
3
|
-
* The one calculation every value-label-drawing plot (`LinePlot`, `BarPlot`,
|
|
4
|
-
* `PyramidPlot`, …) needs to reserve margin for its own value labels ahead of
|
|
5
|
-
* time, stable across a timeline scrubber or a dataset change: measure the
|
|
6
|
-
* widest candidate label (already off-DOM/canvas via `measureMaxLabelWidth`,
|
|
7
|
-
* so this is synchronous and exact, not an approximation needing a later
|
|
8
|
-
* DOM-measured correction), then add a fixed `reach` — whatever fixed gap
|
|
9
|
-
* sits between the anchor point and where the text itself starts, which
|
|
10
|
-
* differs per plot (a bar/pyramid's anchor offset; a line's elbow-routed
|
|
11
|
-
* lane geometry, see `laneReachUpperBound`).
|
|
12
|
-
*
|
|
13
|
-
* `texts` is the plot's own candidate list (its own concern — which values
|
|
14
|
-
* count as "the widest this could ever need to be", e.g. every row's value
|
|
15
|
-
* vs. just a pinned domain's extremes) — this function only measures and
|
|
16
|
-
* combines, it never decides which labels matter.
|
|
17
|
-
*/
|
|
18
|
-
export function estimateValueLabelMargin(texts, options) {
|
|
19
|
-
const maxWidth = measureMaxLabelWidth(texts, options.canvasFont);
|
|
20
|
-
const textFraction = options.textFraction ?? 1;
|
|
21
|
-
const reach = options.reach ?? 0;
|
|
22
|
-
return Math.ceil(reach + textFraction * maxWidth);
|
|
23
|
-
}
|
|
24
|
-
/** Estimated full rendered height of a single-line value label at `fontSize`. */
|
|
25
|
-
export function estimateLabelHeight(fontSize) {
|
|
26
|
-
return fontSize * 1.2;
|
|
27
|
-
}
|
|
28
|
-
/** Vertical analogue of `estimateValueLabelMargin`: how far a value label's text extends above/below its anchor point. */
|
|
29
|
-
export function estimateValueLabelVerticalMargin(options) {
|
|
30
|
-
const height = estimateLabelHeight(options.fontSize);
|
|
31
|
-
const dy = options.dy ?? 0;
|
|
32
|
-
if (options.lineAnchor === 'top') {
|
|
33
|
-
return { top: 0, bottom: Math.ceil(Math.max(0, dy) + height) + 2 };
|
|
34
|
-
}
|
|
35
|
-
if (options.lineAnchor === 'bottom') {
|
|
36
|
-
return { top: Math.ceil(Math.max(0, -dy) + height) + 2, bottom: 0 };
|
|
37
|
-
}
|
|
38
|
-
const half = height / 2;
|
|
39
|
-
return {
|
|
40
|
-
top: Math.ceil(Math.max(0, half - dy)) + 2,
|
|
41
|
-
bottom: Math.ceil(Math.max(0, half + dy)) + 2
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Upper bound on how far `LinePlot`'s end-of-line labels can ever fan out
|
|
46
|
-
* into lanes (see `plots/utils/declutter.ts`'s `laneAssignment`): a run of
|
|
47
|
-
* colliding labels never uses more lanes than it has members, and a run can
|
|
48
|
-
* never have more members than there are series total — so `elbowGap +
|
|
49
|
-
* (seriesCount - 1) * laneStep + labelGap` is always >= the real, rendered
|
|
50
|
-
* reach, for *any* arrangement `declutter1D`/`laneAssignment` could ever
|
|
51
|
-
* produce. That's what makes it safe to use as a stable floor: it doesn't
|
|
52
|
-
* depend on which series happen to collide on the current frame (which can
|
|
53
|
-
* change tick to tick as a timeline scrubs), only on how many series exist —
|
|
54
|
-
* so the margin it implies never needs to change across a scrub either.
|
|
55
|
-
*/
|
|
56
|
-
export function laneReachUpperBound(seriesCount, cfg) {
|
|
57
|
-
if (seriesCount <= 1)
|
|
58
|
-
return 0;
|
|
59
|
-
return cfg.elbowGap + (seriesCount - 1) * cfg.laneStep + cfg.labelGap;
|
|
60
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { Snippet } from 'svelte';
|
|
2
|
-
import type { TimeValue } from '../layout/timeline';
|
|
3
|
-
import type { LegendPlotContext } from '../layout/legend';
|
|
4
|
-
import type { MarginConfig } from '../plots/props';
|
|
5
|
-
export type ChartBoxContext = {
|
|
6
|
-
width: number;
|
|
7
|
-
height: number;
|
|
8
|
-
};
|
|
9
|
-
export type ChartBoxSnippet = Snippet<[ChartBoxContext]>;
|
|
10
|
-
export type ChartPlotContext<TRow extends Record<string, unknown>> = {
|
|
11
|
-
data: TRow[];
|
|
12
|
-
width: number;
|
|
13
|
-
height: number;
|
|
14
|
-
facetValue?: string;
|
|
15
|
-
selectedValue?: TimeValue;
|
|
16
|
-
legend?: LegendPlotContext;
|
|
17
|
-
/** Present only when faceted with `facet.marginsForFacet` — forward to the plot's own `margins` prop so every facet shares the same content box. */
|
|
18
|
-
margins?: MarginConfig;
|
|
19
|
-
};
|
|
20
|
-
export type ChartPlotSnippet<TRow extends Record<string, unknown>> = Snippet<[
|
|
21
|
-
ChartPlotContext<TRow>
|
|
22
|
-
]>;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import type { Snippet } from 'svelte';
|
|
2
|
-
import type { AxisValue, AxisBasedScalesConfig } from '../layout/scales';
|
|
3
|
-
import type { Accessor } from '../plots/data/common';
|
|
4
|
-
import type { AxisBasedStylesConfig, GapsAwarePlotStylesConfig } from '../layout/styles';
|
|
5
|
-
import type { SegmentsConfig, MarginConfig } from '../plots/props';
|
|
6
|
-
import type { AxisBasedMarkersConfig } from '../markers/common';
|
|
7
|
-
import type { TooltipProp } from '../layout/tooltip';
|
|
8
|
-
import type { LegendSection } from '../layout/legend';
|
|
9
|
-
import type { FacetConfig } from '../layout/facet';
|
|
10
|
-
import type { TimelineConfig } from '../layout/timeline';
|
|
11
|
-
/**
|
|
12
|
-
* Common props accepted by every chart component (bar, line, heatmap, pyramid,
|
|
13
|
-
* …). The `TSegmentStyle` parameter lets each chart narrow `segments` to its
|
|
14
|
-
* own style shape while keeping everything else shared.
|
|
15
|
-
*
|
|
16
|
-
* Note: `z` is optional here (bar/line charts) but individual charts may
|
|
17
|
-
* tighten it to required and/or narrow its value type (e.g. `number` for
|
|
18
|
-
* heatmap).
|
|
19
|
-
*/
|
|
20
|
-
export type ChartProps<TRow extends Record<string, unknown>, TSegmentStyle extends object = object> = {
|
|
21
|
-
width: number;
|
|
22
|
-
height: number;
|
|
23
|
-
title?: string;
|
|
24
|
-
subtitle?: string;
|
|
25
|
-
caption?: string;
|
|
26
|
-
header?: Snippet;
|
|
27
|
-
footer?: Snippet;
|
|
28
|
-
legend?: LegendSection[];
|
|
29
|
-
data: TRow[];
|
|
30
|
-
x: Accessor<TRow, AxisValue>;
|
|
31
|
-
y: Accessor<TRow, AxisValue>;
|
|
32
|
-
z?: Accessor<TRow, unknown>;
|
|
33
|
-
styles?: AxisBasedStylesConfig;
|
|
34
|
-
segments?: SegmentsConfig<TSegmentStyle>;
|
|
35
|
-
markers?: AxisBasedMarkersConfig[];
|
|
36
|
-
scales?: AxisBasedScalesConfig<TRow>;
|
|
37
|
-
margins?: MarginConfig;
|
|
38
|
-
facet?: FacetConfig<TRow>;
|
|
39
|
-
timeline?: TimelineConfig<TRow>;
|
|
40
|
-
tooltip?: TooltipProp<TRow>;
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* `ChartProps` for the chart kinds with gap-fill (`BarChart`/`LineChart`/
|
|
44
|
-
* `PyramidChart`) — identical shape, but `styles` accepts
|
|
45
|
-
* `GapsAwarePlotStylesConfig<TSegmentStyle>` (adds `styles.gaps`) instead of
|
|
46
|
-
* the plain `AxisBasedStylesConfig` every other chart kind uses.
|
|
47
|
-
*/
|
|
48
|
-
export type GapsAwareChartProps<TRow extends Record<string, unknown>, TSegmentStyle extends object = object> = Omit<ChartProps<TRow, TSegmentStyle>, 'styles'> & {
|
|
49
|
-
styles?: GapsAwarePlotStylesConfig<TSegmentStyle>;
|
|
50
|
-
};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { AxisValue } from '../layout/scales';
|
|
2
|
-
import type { DotStyle, FontStyle } from '../plots/styling';
|
|
3
|
-
import type { ColorsStyle } from '../layout/styles';
|
|
4
|
-
/**
|
|
5
|
-
* A set of point marks (svelteplot's `Dot`) — usable on any plot kind, axis-based or geo.
|
|
6
|
-
*
|
|
7
|
-
* `x`/`y`/`r`/`value` accept a field key or an accessor function, like `Series.x`/`y`.
|
|
8
|
-
* `GeometryLayout` resolves the shorthand before it reaches `DotMarker.svelte`, which only
|
|
9
|
-
* ever sees functions.
|
|
10
|
-
*/
|
|
11
|
-
export type DotMarkerConfig = {
|
|
12
|
-
type: 'dot';
|
|
13
|
-
data: Record<string, unknown>[];
|
|
14
|
-
x: string | ((d: any) => AxisValue);
|
|
15
|
-
y: string | ((d: any) => AxisValue);
|
|
16
|
-
/** Per-row radius, or a constant — overrides `style.dotRadius`. */
|
|
17
|
-
r?: number | string | ((d: any) => number);
|
|
18
|
-
/** Per-row fill, overriding `style.dotFill` — ignored when `value` is set. */
|
|
19
|
-
fill?: (d: any) => string;
|
|
20
|
-
/** Continuous value driving a per-dot color ramp through `style.colors`. */
|
|
21
|
-
value?: string | ((d: any) => number);
|
|
22
|
-
style?: DotStyle & {
|
|
23
|
-
colors?: ColorsStyle;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* A text label per row (svelteplot's `Text`) — usable on any plot kind, axis-based or geo.
|
|
28
|
-
*
|
|
29
|
-
* `x`/`y` accept the same field-key-or-function shorthand as `DotMarkerConfig`. `text` is a
|
|
30
|
-
* constant or a per-row accessor.
|
|
31
|
-
*/
|
|
32
|
-
export type TextMarkerConfig = {
|
|
33
|
-
type: 'text';
|
|
34
|
-
data: Record<string, unknown>[];
|
|
35
|
-
x: string | ((d: any) => AxisValue);
|
|
36
|
-
y: string | ((d: any) => AxisValue);
|
|
37
|
-
text: string | ((d: any) => string);
|
|
38
|
-
style?: FontStyle;
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* Every marker kind usable on any plot, axis-based or geo. `AxisBasedMarkersConfig`
|
|
42
|
-
* (`types/markers/common.ts`) and `GeoMarkersConfig` (`types/markers/geo.ts`) both extend
|
|
43
|
-
* this, so `MarkerConfig` (`types/markers/all.ts`) can union the two without a shape collision.
|
|
44
|
-
*/
|
|
45
|
-
export type BaseMarkersConfig = DotMarkerConfig | TextMarkerConfig;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { AxisValue } from '../layout/scales';
|
|
2
|
-
import type { StrokeStyle, FontStyle, DotStyle } from '../plots/styling';
|
|
3
|
-
import type { AxisBasedMarkersConfig } from './common';
|
|
4
|
-
/** Which endpoint a delta measures from/to: a named series, or a fixed axis value (defaults to `0`). */
|
|
5
|
-
export type DeltaTarget = {
|
|
6
|
-
type: 'series';
|
|
7
|
-
series: string;
|
|
8
|
-
} | {
|
|
9
|
-
type: 'axis';
|
|
10
|
-
value?: number;
|
|
11
|
-
};
|
|
12
|
-
/** How far apart two points are on a line chart: a given x (or y), or a series' distance from a fixed axis value. */
|
|
13
|
-
export type DeltaConfig = {
|
|
14
|
-
axis: 'x' | 'y';
|
|
15
|
-
at: AxisValue;
|
|
16
|
-
from: DeltaTarget;
|
|
17
|
-
to?: DeltaTarget;
|
|
18
|
-
formatDiff?: (diff: number) => string;
|
|
19
|
-
strokeStyle?: StrokeStyle;
|
|
20
|
-
fontStyle?: FontStyle;
|
|
21
|
-
dotStyle?: DotStyle;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* A delta annotation between two points on a line chart, resolved against
|
|
25
|
-
* series data (`utils/delta.ts`). `xDomain`/`yDomain` optionally clamp
|
|
26
|
-
* the varying endpoint to the plot's own axis range.
|
|
27
|
-
*/
|
|
28
|
-
export type DeltaMarkerConfig = {
|
|
29
|
-
type: 'delta';
|
|
30
|
-
xDomain?: (number | string | Date)[];
|
|
31
|
-
yDomain?: (number | string | Date)[];
|
|
32
|
-
} & DeltaConfig;
|
|
33
|
-
/** `LinePlot`'s own `markers` prop type — every {@link AxisBasedMarkersConfig} kind plus the line-only `'delta'` annotation. */
|
|
34
|
-
export type LineMarkersConfig = AxisBasedMarkersConfig | DeltaMarkerConfig;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Baseline props every marker component receives when mounted by a plot:
|
|
3
|
-
* `data` for the points/values it draws, plus `series`/`seriesColor` when
|
|
4
|
-
* mounted per-series via a `CustomComponentMarkerConfig`. Marker components extend
|
|
5
|
-
* this with whatever else they need (e.g. PeakMarker's `mode`, `label`).
|
|
6
|
-
*/
|
|
7
|
-
export interface MarkerProps<TData = Record<string, unknown>> {
|
|
8
|
-
data?: TData[];
|
|
9
|
-
series?: string;
|
|
10
|
-
seriesColor?: string;
|
|
11
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Accessor, SeriesProps, DataProps } from './common';
|
|
2
|
-
/**
|
|
3
|
-
* `SeriesProps`/`DataProps`, plus an optional per-row bubble radius —
|
|
4
|
-
* ScatterPlot's own data contract. A field key or accessor function is
|
|
5
|
-
* bound to svelteplot's own auto sqrt scale (mirroring how `x`/`y` are
|
|
6
|
-
* bound to their own scales), so bubble *area* — not radius — ends up
|
|
7
|
-
* proportional to the raw values with no manual scaling needed; feeding it
|
|
8
|
-
* an already-scaled value double-scales it. A literal number bypasses
|
|
9
|
-
* scaling entirely (a fixed pixel radius, same as the default dot size).
|
|
10
|
-
*/
|
|
11
|
-
export type ScatterDataProps<T extends Record<string, unknown>> = (SeriesProps<T> | DataProps<T>) & {
|
|
12
|
-
r?: Accessor<T, number> | number;
|
|
13
|
-
};
|