@fundar/data-chart-telling 0.0.64 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/LICENSE +21 -0
- package/README.md +81 -561
- package/dist/configuration/config.svelte.d.ts +5 -5
- package/dist/configuration/config.svelte.js +130 -46
- package/dist/configuration/fonts.d.ts +6 -0
- package/dist/configuration/fonts.js +6 -0
- package/dist/configuration/themes/compact.d.ts +2 -2
- package/dist/configuration/themes/compact.js +1 -1
- package/dist/configuration/themes/dark.d.ts +2 -2
- package/dist/configuration/themes/dark.js +5 -4
- package/dist/configuration/themes/default.d.ts +8 -3
- package/dist/configuration/themes/default.js +8 -2
- package/dist/configuration/themes/editorial.d.ts +2 -2
- package/dist/configuration/themes/editorial.js +2 -2
- package/dist/configuration/themes/index.d.ts +421 -80
- package/dist/configuration/themes/index.js +6 -5
- package/dist/index.d.ts +34 -48
- package/dist/index.js +19 -35
- package/dist/layout/base/BasePlotLayout.svelte +312 -0
- package/dist/layout/base/BasePlotLayout.svelte.d.ts +111 -0
- package/dist/layout/composer/PlotComposer.svelte +94 -0
- package/dist/layout/composer/PlotComposer.svelte.d.ts +13 -0
- package/dist/layout/coordinates/CameraFit.svelte +4 -4
- package/dist/layout/coordinates/CoordinatesLayout.svelte +11 -3
- package/dist/layout/coordinates/CoordinatesLayout.svelte.d.ts +6 -2
- package/dist/layout/coordinates/camera.svelte.d.ts +1 -1
- package/dist/layout/coordinates/camera.svelte.js +6 -6
- package/dist/layout/coordinates/projections/argentina.js +3 -3
- package/dist/layout/coordinates/projections/fit.js +1 -1
- package/dist/layout/coordinates/resolveCameraTarget.d.ts +1 -1
- package/dist/layout/coordinates/resolveProjection.d.ts +1 -1
- package/dist/layout/coordinates/resolveProjection.js +2 -2
- package/dist/layout/coordinates/rotate.svelte.d.ts +3 -3
- package/dist/layout/coordinates/rotate.svelte.js +8 -8
- package/dist/layout/coordinates/zoom.svelte.d.ts +1 -1
- package/dist/layout/facet/FacetIndicator.svelte +23 -23
- package/dist/layout/facet/FacetLayout.svelte +435 -398
- package/dist/layout/facet/FacetLayout.svelte.d.ts +9 -3
- package/dist/layout/facet/axes.d.ts +16 -0
- package/dist/layout/facet/axes.js +25 -0
- package/dist/layout/facet/config.d.ts +32 -0
- package/dist/layout/facet/config.js +82 -0
- package/dist/layout/figure/Figure.svelte +177 -0
- package/dist/layout/figure/Figure.svelte.d.ts +14 -0
- package/dist/layout/figure/FigureChrome.svelte +341 -0
- package/dist/layout/figure/FigureChrome.svelte.d.ts +21 -0
- package/dist/layout/geometry/FrameClip.svelte +45 -0
- package/dist/layout/geometry/FrameClip.svelte.d.ts +8 -0
- package/dist/layout/geometry/FrameClipping.d.ts +24 -0
- package/dist/layout/geometry/FrameClipping.js +40 -0
- package/dist/layout/geometry/GeometryLayout.svelte +287 -224
- package/dist/layout/geometry/GeometryLayout.svelte.d.ts +10 -10
- package/dist/layout/grid/Grid.svelte +194 -0
- package/dist/layout/grid/Grid.svelte.d.ts +26 -0
- package/dist/layout/grid/GridAlignment.svelte.d.ts +31 -0
- package/dist/layout/grid/GridAlignment.svelte.js +56 -0
- package/dist/layout/grid/GridCell.svelte +141 -0
- package/dist/layout/grid/GridCell.svelte.d.ts +17 -0
- package/dist/layout/grid/GridCellsRegistry.svelte.d.ts +52 -0
- package/dist/layout/grid/GridCellsRegistry.svelte.js +70 -0
- package/dist/layout/grid/GridPlan.d.ts +49 -0
- package/dist/layout/grid/GridPlan.js +167 -0
- package/dist/layout/grid/Tags.d.ts +8 -0
- package/dist/layout/grid/Tags.js +39 -0
- package/dist/layout/hover/HoverScope.svelte +11 -0
- package/dist/layout/hover/HoverScope.svelte.d.ts +8 -0
- package/dist/layout/hover/HoverSettings.d.ts +20 -0
- package/dist/layout/hover/HoverSettings.js +27 -0
- package/dist/layout/hover/HoverState.svelte.d.ts +47 -0
- package/dist/layout/hover/HoverState.svelte.js +99 -0
- package/dist/layout/hover/PlotHover.svelte.d.ts +63 -0
- package/dist/layout/hover/PlotHover.svelte.js +133 -0
- package/dist/layout/interaction/PlotInteraction.svelte.d.ts +38 -0
- package/dist/layout/interaction/PlotInteraction.svelte.js +56 -0
- package/dist/layout/legend/AxisNumberFormat.d.ts +12 -0
- package/dist/layout/legend/AxisNumberFormat.js +25 -0
- package/dist/layout/legend/ContinuousSection.svelte +363 -351
- package/dist/layout/legend/DisabledStyle.d.ts +19 -0
- package/dist/layout/legend/DisabledStyle.js +57 -0
- package/dist/layout/legend/DiscreteBadgeItem.svelte +6 -3
- package/dist/layout/legend/DiscreteSection.svelte +32 -32
- package/dist/layout/legend/DiscreteSwatchItem.svelte +4 -1
- package/dist/layout/legend/DiscreteSymbolIcon.svelte +14 -9
- package/dist/layout/legend/LegendChannels.d.ts +21 -0
- package/dist/layout/legend/LegendChannels.js +221 -0
- package/dist/layout/legend/LegendLayout.svelte +49 -43
- package/dist/layout/legend/LegendState.svelte.d.ts +79 -0
- package/dist/layout/legend/LegendState.svelte.js +329 -0
- package/dist/layout/legend/LegendText.d.ts +12 -0
- package/dist/layout/legend/LegendText.js +22 -0
- package/dist/layout/legend/SizeSection.svelte +84 -0
- package/dist/layout/legend/SizeSection.svelte.d.ts +7 -0
- package/dist/layout/legend/SymbolSection.svelte +31 -0
- package/dist/layout/legend/SymbolSection.svelte.d.ts +8 -0
- package/dist/layout/margins/Box.d.ts +84 -0
- package/dist/layout/margins/Box.js +138 -0
- package/dist/layout/margins/Margins.d.ts +37 -0
- package/dist/layout/margins/Margins.js +71 -0
- package/dist/layout/margins/PlotMargins.svelte.d.ts +101 -0
- package/dist/layout/margins/PlotMargins.svelte.js +219 -0
- package/dist/layout/plot/Core.svelte +61 -0
- package/dist/layout/plot/Core.svelte.d.ts +41 -0
- package/dist/layout/plot/PanelRun.svelte +28 -0
- package/dist/{charts/heatmap/Chart.svelte.d.ts → layout/plot/PanelRun.svelte.d.ts} +11 -7
- package/dist/layout/plot/Plot.svelte +284 -0
- package/dist/layout/plot/Plot.svelte.d.ts +49 -0
- package/dist/layout/plot/PlotContext.d.ts +41 -0
- package/dist/layout/plot/PlotContext.js +46 -0
- package/dist/layout/plot/PublicPlotContext.d.ts +130 -0
- package/dist/layout/plot/PublicPlotContext.js +236 -0
- package/dist/layout/plot/Slice.d.ts +44 -0
- package/dist/layout/plot/Slice.js +98 -0
- package/dist/layout/plot/usePlot.d.ts +9 -0
- package/dist/layout/plot/usePlot.js +13 -0
- package/dist/layout/scales/ScalesLayout.svelte +241 -206
- package/dist/layout/scales/ScalesLayout.svelte.d.ts +2 -1
- package/dist/layout/scales/buildScale.d.ts +5 -22
- package/dist/layout/scales/buildScale.js +11 -34
- package/dist/layout/scales/niceDomain.d.ts +3 -3
- package/dist/layout/scales/niceDomain.js +4 -4
- package/dist/layout/styles/StylesLayout.svelte +65 -65
- package/dist/layout/styles/TileLayer.svelte +78 -76
- package/dist/layout/styles/TileLayer.svelte.d.ts +1 -1
- package/dist/layout/styles/ValueLabels.d.ts +97 -0
- package/dist/layout/styles/ValueLabels.js +237 -0
- package/dist/layout/timeline/Timeline.svelte +80 -74
- package/dist/layout/timeline/TimelineFrame.svelte +86 -0
- package/dist/layout/timeline/TimelineFrame.svelte.d.ts +16 -0
- package/dist/layout/timeline/TimelineLayout.svelte +114 -169
- package/dist/layout/timeline/TimelineLayout.svelte.d.ts +2 -0
- package/dist/layout/timeline/TimelinePlayer.svelte +195 -0
- package/dist/layout/timeline/TimelinePlayer.svelte.d.ts +7 -0
- package/dist/layout/timeline/TimelineRule.svelte +50 -0
- package/dist/layout/timeline/TimelineRule.svelte.d.ts +7 -0
- package/dist/layout/timeline/TimelineState.svelte.d.ts +82 -0
- package/dist/layout/timeline/TimelineState.svelte.js +226 -0
- package/dist/layout/timeline/TimelineSteps.d.ts +24 -0
- package/dist/layout/timeline/TimelineSteps.js +48 -0
- package/dist/layout/tooltip/Tooltip.svelte +82 -85
- package/dist/layout/tooltip/Tooltip.svelte.d.ts +43 -24
- package/dist/layout/tooltip/TooltipState.svelte.d.ts +61 -0
- package/dist/layout/tooltip/TooltipState.svelte.js +107 -0
- package/dist/markers/MarkerKinds.d.ts +173 -0
- package/dist/markers/MarkerKinds.js +51 -0
- package/dist/markers/area/AreaMarker.svelte +110 -0
- package/dist/markers/area/AreaMarker.svelte.d.ts +7 -0
- package/dist/markers/arrow/ArrowMarker.svelte +28 -0
- package/dist/markers/arrow/ArrowMarker.svelte.d.ts +7 -0
- package/dist/markers/{BarMarker.svelte → bar/BarMarker.svelte} +54 -52
- package/dist/markers/{BarMarker.svelte.d.ts → bar/BarMarker.svelte.d.ts} +1 -1
- package/dist/markers/bollinger/BollingerMarker.svelte +44 -0
- package/dist/markers/bollinger/BollingerMarker.svelte.d.ts +7 -0
- package/dist/markers/box/BoxMarker.svelte +143 -0
- package/dist/markers/box/BoxMarker.svelte.d.ts +7 -0
- package/dist/markers/brush/BrushMarker.svelte +32 -0
- package/dist/markers/brush/BrushMarker.svelte.d.ts +7 -0
- package/dist/markers/cell/CellMarker.svelte +27 -0
- package/dist/markers/{CellMarker.svelte.d.ts → cell/CellMarker.svelte.d.ts} +1 -1
- package/dist/markers/contour/ContourClipMarker.svelte +83 -0
- package/dist/markers/{ContourClipMarker.svelte.d.ts → contour/ContourClipMarker.svelte.d.ts} +1 -1
- package/dist/markers/contour/ContourMarker.svelte +28 -0
- package/dist/markers/{ContourMarker.svelte.d.ts → contour/ContourMarker.svelte.d.ts} +1 -1
- package/dist/markers/delaunay/DelaunayLinkMarker.svelte +26 -0
- package/dist/markers/delaunay/DelaunayLinkMarker.svelte.d.ts +7 -0
- package/dist/markers/delaunay/DelaunayMeshMarker.svelte +26 -0
- package/dist/markers/delaunay/DelaunayMeshMarker.svelte.d.ts +7 -0
- package/dist/markers/delta/Delta.d.ts +21 -0
- package/dist/markers/delta/Delta.js +60 -0
- package/dist/markers/delta/DeltaMarker.svelte +94 -0
- package/dist/markers/{DeltaMarker.svelte.d.ts → delta/DeltaMarker.svelte.d.ts} +2 -2
- package/dist/markers/density/DensityMarker.svelte +63 -0
- package/dist/markers/density/DensityMarker.svelte.d.ts +7 -0
- package/dist/markers/difference/DifferenceMarker.svelte +30 -0
- package/dist/markers/difference/DifferenceMarker.svelte.d.ts +7 -0
- package/dist/markers/dot/DotMarker.svelte +102 -0
- package/dist/markers/{DotMarker.svelte.d.ts → dot/DotMarker.svelte.d.ts} +5 -17
- package/dist/markers/geo/GeoFeaturesMarker.svelte +39 -0
- package/dist/markers/{GeoFeaturesMarker.svelte.d.ts → geo/GeoFeaturesMarker.svelte.d.ts} +1 -1
- package/dist/markers/geo/GeoHoverMarker.svelte +28 -0
- package/dist/markers/{GeoHoverMarker.svelte.d.ts → geo/GeoHoverMarker.svelte.d.ts} +2 -2
- package/dist/markers/geo/GraticuleMarker.svelte +18 -0
- package/dist/markers/{GraticuleMarker.svelte.d.ts → geo/GraticuleMarker.svelte.d.ts} +1 -1
- package/dist/markers/geo/SphereMarker.svelte +15 -0
- package/dist/markers/{SphereMarker.svelte.d.ts → geo/SphereMarker.svelte.d.ts} +1 -1
- package/dist/markers/hover/HoverMarker.svelte +252 -0
- package/dist/markers/{HoverMarker.svelte.d.ts → hover/HoverMarker.svelte.d.ts} +10 -10
- package/dist/markers/hull/HullMarker.svelte +25 -0
- package/dist/markers/hull/HullMarker.svelte.d.ts +7 -0
- package/dist/markers/image/ImageMarker.svelte +22 -0
- package/dist/markers/image/ImageMarker.svelte.d.ts +7 -0
- package/dist/markers/inset/InsetMarker.svelte +184 -150
- package/dist/markers/inset/InsetMarker.svelte.d.ts +4 -4
- package/dist/markers/inset/insetLayout.d.ts +1 -1
- package/dist/markers/inset/insetLayout.js +6 -2
- package/dist/markers/inset/insetProjection.d.ts +1 -1
- package/dist/markers/inset/insetProjection.js +3 -3
- package/dist/markers/line/LineMarker.svelte +30 -0
- package/dist/markers/{LineMarker.svelte.d.ts → line/LineMarker.svelte.d.ts} +1 -1
- package/dist/markers/link/LinkMarker.svelte +47 -0
- package/dist/markers/{LinkMarker.svelte.d.ts → link/LinkMarker.svelte.d.ts} +1 -1
- package/dist/markers/raster/RasterMarker.svelte +31 -0
- package/dist/markers/raster/RasterMarker.svelte.d.ts +7 -0
- package/dist/markers/rect/RectMarker.svelte +62 -0
- package/dist/markers/rect/RectMarker.svelte.d.ts +7 -0
- package/dist/markers/regression/RegressionMarker.svelte +60 -0
- package/dist/markers/regression/RegressionMarker.svelte.d.ts +7 -0
- package/dist/markers/rule/RuleMarker.svelte +47 -0
- package/dist/markers/{RuleMarker.svelte.d.ts → rule/RuleMarker.svelte.d.ts} +2 -5
- package/dist/markers/text/Declutter.d.ts +35 -0
- package/dist/markers/text/Declutter.js +157 -0
- package/dist/markers/text/TextMarker.svelte +244 -0
- package/dist/markers/{TextMarker.svelte.d.ts → text/TextMarker.svelte.d.ts} +5 -9
- package/dist/markers/tick/TickMarker.svelte +44 -0
- package/dist/markers/tick/TickMarker.svelte.d.ts +7 -0
- package/dist/markers/trail/TrailMarker.svelte +27 -0
- package/dist/markers/trail/TrailMarker.svelte.d.ts +7 -0
- package/dist/markers/utils/BandNudge.d.ts +22 -0
- package/dist/markers/utils/BandNudge.js +23 -0
- package/dist/markers/utils/MarkerChannels.d.ts +49 -0
- package/dist/markers/utils/MarkerChannels.js +97 -0
- package/dist/markers/vector/VectorMarker.svelte +29 -0
- package/dist/markers/{VectorMarker.svelte.d.ts → vector/VectorMarker.svelte.d.ts} +1 -1
- package/dist/markers/voronoi/VoronoiMarker.svelte +26 -0
- package/dist/markers/voronoi/VoronoiMarker.svelte.d.ts +7 -0
- package/dist/markers/voronoi/VoronoiMeshMarker.svelte +26 -0
- package/dist/markers/voronoi/VoronoiMeshMarker.svelte.d.ts +7 -0
- package/dist/markers/waffle/WaffleMarker.svelte +56 -0
- package/dist/markers/waffle/WaffleMarker.svelte.d.ts +7 -0
- package/dist/phases/Pipeline.d.ts +108 -0
- package/dist/phases/Pipeline.js +226 -0
- package/dist/phases/data/DataPhase.d.ts +25 -0
- package/dist/phases/data/DataPhase.js +82 -0
- package/dist/phases/data/PlotAxes.d.ts +75 -0
- package/dist/phases/data/PlotAxes.js +151 -0
- package/dist/phases/facet/FacetPhase.d.ts +52 -0
- package/dist/phases/facet/FacetPhase.js +114 -0
- package/dist/phases/hover/HoverPhase.d.ts +73 -0
- package/dist/phases/hover/HoverPhase.js +144 -0
- package/dist/phases/mapping/MappingPhase.d.ts +17 -0
- package/dist/phases/mapping/MappingPhase.js +42 -0
- package/dist/phases/markers/MarkersPhase.d.ts +14 -0
- package/dist/phases/markers/MarkersPhase.js +27 -0
- package/dist/phases/scales/MarkerAxisValues.d.ts +12 -0
- package/dist/phases/scales/MarkerAxisValues.js +34 -0
- package/dist/phases/scales/ScalesPhase.d.ts +31 -0
- package/dist/phases/scales/ScalesPhase.js +157 -0
- package/dist/phases/sharedScales/SharedScalesPhase.d.ts +55 -0
- package/dist/phases/sharedScales/SharedScalesPhase.js +168 -0
- package/dist/phases/statistics/AuthorMarkers.d.ts +43 -0
- package/dist/phases/statistics/AuthorMarkers.js +69 -0
- package/dist/phases/statistics/MarkerGrouping.d.ts +48 -0
- package/dist/phases/statistics/MarkerGrouping.js +113 -0
- package/dist/phases/statistics/Statistics.d.ts +53 -0
- package/dist/phases/statistics/Statistics.js +156 -0
- package/dist/phases/statistics/StatisticsPhase.d.ts +18 -0
- package/dist/phases/statistics/StatisticsPhase.js +68 -0
- package/dist/phases/statistics/methods/BollingerStatistic.d.ts +9 -0
- package/dist/phases/statistics/methods/BollingerStatistic.js +18 -0
- package/dist/phases/statistics/methods/BoxStatistic.d.ts +9 -0
- package/dist/phases/statistics/methods/BoxStatistic.js +18 -0
- package/dist/phases/statistics/methods/Density2dStatistic.d.ts +9 -0
- package/dist/phases/statistics/methods/Density2dStatistic.js +18 -0
- package/dist/phases/statistics/methods/DensityStatistic.d.ts +12 -0
- package/dist/phases/statistics/methods/DensityStatistic.js +29 -0
- package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +12 -0
- package/dist/phases/statistics/methods/MovingAverageStatistic.js +30 -0
- package/dist/phases/statistics/methods/RegressionStatistic.d.ts +9 -0
- package/dist/phases/statistics/methods/RegressionStatistic.js +21 -0
- package/dist/phases/styles/StylesPhase.d.ts +13 -0
- package/dist/phases/styles/StylesPhase.js +17 -0
- package/dist/phases/tooltip/TooltipPhase.d.ts +12 -0
- package/dist/phases/tooltip/TooltipPhase.js +10 -0
- package/dist/phases/transforms/Transforms.d.ts +42 -0
- package/dist/phases/transforms/Transforms.js +130 -0
- package/dist/phases/transforms/TransformsPhase.d.ts +64 -0
- package/dist/phases/transforms/TransformsPhase.js +242 -0
- package/dist/phases/transforms/methods/AnchorBar.d.ts +13 -0
- package/dist/phases/transforms/methods/AnchorBar.js +21 -0
- package/dist/phases/transforms/methods/BinTransform.d.ts +7 -0
- package/dist/phases/transforms/methods/BinTransform.js +48 -0
- package/dist/phases/transforms/methods/DensityTransform.d.ts +6 -0
- package/dist/phases/transforms/methods/DensityTransform.js +13 -0
- package/dist/phases/transforms/methods/GroupTransform.d.ts +8 -0
- package/dist/phases/transforms/methods/GroupTransform.js +39 -0
- package/dist/phases/transforms/methods/NormalizeTransform.d.ts +10 -0
- package/dist/phases/transforms/methods/NormalizeTransform.js +30 -0
- package/dist/phases/transforms/methods/OrderTransform.d.ts +16 -0
- package/dist/phases/transforms/methods/OrderTransform.js +43 -0
- package/dist/phases/transforms/methods/PerGroup.d.ts +11 -0
- package/dist/phases/transforms/methods/PerGroup.js +39 -0
- package/dist/phases/transforms/methods/PositionTransform.d.ts +15 -0
- package/dist/phases/transforms/methods/PositionTransform.js +74 -0
- package/dist/phases/transforms/methods/StackTransform.d.ts +8 -0
- package/dist/phases/transforms/methods/StackTransform.js +29 -0
- package/dist/phases/transforms/methods/WindowTransform.d.ts +8 -0
- package/dist/phases/transforms/methods/WindowTransform.js +23 -0
- package/dist/plots/area/Plot.svelte +42 -0
- package/dist/plots/{heatmap/ValueLabels.svelte.d.ts → area/Plot.svelte.d.ts} +8 -16
- package/dist/plots/area/defaults.d.ts +4 -0
- package/dist/plots/area/defaults.js +21 -0
- package/dist/plots/area/markers.d.ts +14 -0
- package/dist/plots/area/markers.js +40 -0
- package/dist/plots/bar/Plot.svelte +33 -438
- package/dist/plots/bar/Plot.svelte.d.ts +5 -8
- package/dist/plots/bar/defaults.d.ts +9 -0
- package/dist/plots/bar/defaults.js +92 -0
- package/dist/plots/bar/markers.d.ts +45 -0
- package/dist/plots/bar/markers.js +232 -0
- package/dist/plots/geo/Core.svelte +151 -0
- package/dist/plots/geo/Core.svelte.d.ts +25 -0
- package/dist/plots/geo/Plot.svelte +103 -324
- package/dist/plots/geo/Plot.svelte.d.ts +5 -9
- package/dist/plots/geo/defaults.d.ts +4 -0
- package/dist/plots/geo/defaults.js +16 -0
- package/dist/plots/geo/features.svelte.d.ts +5 -0
- package/dist/plots/geo/features.svelte.js +44 -0
- package/dist/plots/geo/phases/data.d.ts +6 -0
- package/dist/plots/geo/phases/data.js +26 -0
- package/dist/plots/geo/phases/hover.d.ts +9 -0
- package/dist/plots/geo/phases/hover.js +45 -0
- package/dist/plots/geo/phases/markers.d.ts +9 -0
- package/dist/plots/geo/phases/markers.js +76 -0
- package/dist/plots/geo/phases/scales.d.ts +10 -0
- package/dist/plots/geo/phases/scales.js +85 -0
- package/dist/plots/geo/phases/tooltip.d.ts +3 -0
- package/dist/plots/geo/phases/tooltip.js +5 -0
- package/dist/plots/geo/slices.d.ts +18 -0
- package/dist/plots/geo/slices.js +56 -0
- package/dist/plots/heatmap/Plot.svelte +55 -249
- package/dist/plots/heatmap/Plot.svelte.d.ts +5 -8
- package/dist/plots/heatmap/defaults.d.ts +11 -0
- package/dist/plots/heatmap/defaults.js +91 -0
- package/dist/plots/heatmap/markers.d.ts +17 -0
- package/dist/plots/heatmap/markers.js +141 -0
- package/dist/plots/histogram/Plot.svelte +45 -0
- package/dist/plots/histogram/Plot.svelte.d.ts +26 -0
- package/dist/plots/histogram/defaults.d.ts +9 -0
- package/dist/plots/histogram/defaults.js +87 -0
- package/dist/plots/histogram/markers.d.ts +18 -0
- package/dist/plots/histogram/markers.js +89 -0
- package/dist/plots/line/Plot.svelte +37 -268
- package/dist/plots/line/Plot.svelte.d.ts +3 -7
- package/dist/plots/line/defaults.d.ts +4 -0
- package/dist/plots/line/defaults.js +29 -0
- package/dist/plots/line/markers.d.ts +49 -0
- package/dist/plots/line/markers.js +200 -0
- package/dist/plots/pyramid/Plot.svelte +34 -362
- package/dist/plots/pyramid/Plot.svelte.d.ts +5 -8
- package/dist/plots/pyramid/defaults.d.ts +13 -0
- package/dist/plots/pyramid/defaults.js +86 -0
- package/dist/plots/pyramid/markers.d.ts +21 -0
- package/dist/plots/pyramid/markers.js +159 -0
- package/dist/plots/scatter/Plot.svelte +34 -288
- package/dist/plots/scatter/Plot.svelte.d.ts +5 -8
- package/dist/plots/scatter/defaults.d.ts +4 -0
- package/dist/plots/scatter/defaults.js +79 -0
- package/dist/plots/scatter/markers.d.ts +19 -0
- package/dist/plots/scatter/markers.js +128 -0
- package/dist/plots/utils/ChannelName.d.ts +9 -0
- package/dist/plots/utils/ChannelName.js +14 -0
- package/dist/plots/utils/accessors.d.ts +1 -1
- package/dist/plots/utils/accessors.js +4 -2
- package/dist/plots/utils/gaps.d.ts +14 -19
- package/dist/plots/utils/gaps.js +38 -18
- package/dist/plots/utils/geoAccessors.d.ts +8 -8
- package/dist/plots/utils/geoAccessors.js +16 -12
- package/dist/plots/utils/geoSegments.d.ts +24 -9
- package/dist/plots/utils/geoSegments.js +31 -11
- package/dist/plots/utils/segments.d.ts +5 -16
- package/dist/plots/utils/segments.js +40 -52
- package/dist/plots/utils/tiles.d.ts +9 -9
- package/dist/plots/utils/tiles.js +35 -25
- package/dist/plots/utils/topojson.d.ts +1 -1
- package/dist/plots/utils/topojson.js +3 -3
- package/dist/stores/device.js +2 -4
- package/dist/types/configuration/styling.d.ts +152 -27
- package/dist/types/layout/box.d.ts +24 -0
- package/dist/types/layout/composer.d.ts +36 -0
- package/dist/types/layout/coordinates.d.ts +14 -14
- package/dist/types/layout/facet.d.ts +44 -22
- package/dist/types/layout/figure.d.ts +7 -0
- package/dist/types/layout/geometry.d.ts +6 -2
- package/dist/types/layout/grid.d.ts +66 -0
- package/dist/types/layout/hover.d.ts +48 -0
- package/dist/types/layout/legend.d.ts +256 -55
- package/dist/types/layout/mapping.d.ts +68 -0
- package/dist/types/layout/plot.d.ts +41 -0
- package/dist/types/layout/scales.d.ts +92 -24
- package/dist/types/layout/scales.js +19 -1
- package/dist/types/layout/statistics/bollinger.d.ts +18 -0
- package/dist/types/layout/statistics/box.d.ts +8 -0
- package/dist/types/layout/statistics/box.js +1 -0
- package/dist/types/layout/statistics/density.d.ts +27 -0
- package/dist/types/layout/statistics/density.js +1 -0
- package/dist/types/layout/statistics/index.d.ts +46 -0
- package/dist/types/layout/statistics/index.js +1 -0
- package/dist/types/layout/statistics/movingAverage.d.ts +12 -0
- package/dist/types/layout/statistics/movingAverage.js +1 -0
- package/dist/types/layout/statistics/regression.d.ts +20 -0
- package/dist/types/layout/statistics/regression.js +1 -0
- package/dist/types/layout/styles.d.ts +24 -35
- package/dist/types/layout/timeline.d.ts +51 -4
- package/dist/types/layout/tooltip.d.ts +7 -85
- package/dist/types/markers/all.d.ts +3 -4
- package/dist/types/markers/axis/area.d.ts +12 -0
- package/dist/types/markers/axis/area.js +1 -0
- package/dist/types/markers/axis/arrow.d.ts +15 -0
- package/dist/types/markers/axis/arrow.js +1 -0
- package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +29 -0
- package/dist/types/markers/axis/axisBasedMarkersConfig.js +1 -0
- package/dist/types/markers/axis/bar.d.ts +18 -0
- package/dist/types/markers/axis/bar.js +1 -0
- package/dist/types/markers/axis/bollinger.d.ts +6 -0
- package/dist/types/markers/axis/bollinger.js +1 -0
- package/dist/types/markers/axis/box.d.ts +14 -0
- package/dist/types/markers/axis/box.js +1 -0
- package/dist/types/markers/axis/brush.d.ts +28 -0
- package/dist/types/markers/axis/brush.js +1 -0
- package/dist/types/markers/axis/cell.d.ts +9 -0
- package/dist/types/markers/axis/cell.js +1 -0
- package/dist/types/markers/axis/component.d.ts +9 -0
- package/dist/types/markers/axis/component.js +1 -0
- package/dist/types/markers/axis/curveName.d.ts +2 -0
- package/dist/types/markers/axis/curveName.js +1 -0
- package/dist/types/markers/axis/delaunayLink.d.ts +7 -0
- package/dist/types/markers/axis/delaunayLink.js +1 -0
- package/dist/types/markers/axis/delaunayMesh.d.ts +7 -0
- package/dist/types/markers/axis/delaunayMesh.js +1 -0
- package/dist/types/markers/axis/delta.d.ts +27 -0
- package/dist/types/markers/axis/delta.js +1 -0
- package/dist/types/markers/axis/density.d.ts +12 -0
- package/dist/types/markers/axis/density.js +1 -0
- package/dist/types/markers/axis/difference.d.ts +12 -0
- package/dist/types/markers/axis/difference.js +1 -0
- package/dist/types/markers/axis/hover.d.ts +21 -0
- package/dist/types/markers/axis/hover.js +1 -0
- package/dist/types/markers/axis/hull.d.ts +7 -0
- package/dist/types/markers/axis/hull.js +1 -0
- package/dist/types/markers/axis/image.d.ts +12 -0
- package/dist/types/markers/axis/image.js +1 -0
- package/dist/types/markers/axis/line.d.ts +7 -0
- package/dist/types/markers/axis/line.js +1 -0
- package/dist/types/markers/axis/raster.d.ts +18 -0
- package/dist/types/markers/axis/raster.js +1 -0
- package/dist/types/markers/axis/rect.d.ts +15 -0
- package/dist/types/markers/axis/rect.js +1 -0
- package/dist/types/markers/axis/regression.d.ts +6 -0
- package/dist/types/markers/axis/regression.js +1 -0
- package/dist/types/markers/axis/rule.d.ts +15 -0
- package/dist/types/markers/axis/rule.js +1 -0
- package/dist/types/markers/axis/tick.d.ts +8 -0
- package/dist/types/markers/axis/tick.js +1 -0
- package/dist/types/markers/axis/trail.d.ts +14 -0
- package/dist/types/markers/axis/trail.js +1 -0
- package/dist/types/markers/axis/voronoi.d.ts +7 -0
- package/dist/types/markers/axis/voronoi.js +1 -0
- package/dist/types/markers/axis/voronoiMesh.d.ts +7 -0
- package/dist/types/markers/axis/voronoiMesh.js +1 -0
- package/dist/types/markers/axis/waffle.d.ts +13 -0
- package/dist/types/markers/axis/waffle.js +1 -0
- package/dist/types/markers/basic/basicMarkersConfig.d.ts +4 -0
- package/dist/types/markers/basic/basicMarkersConfig.js +1 -0
- package/dist/types/markers/basic/dot.d.ts +9 -0
- package/dist/types/markers/basic/dot.js +1 -0
- package/dist/types/markers/basic/text.d.ts +60 -0
- package/dist/types/markers/basic/text.js +1 -0
- package/dist/types/markers/basic.d.ts +4 -0
- package/dist/types/markers/basic.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfig.d.ts +26 -0
- package/dist/types/markers/channels/commonMarkerConfig.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfigWithArea.d.ts +6 -0
- package/dist/types/markers/channels/commonMarkerConfigWithArea.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfigWithColor.d.ts +5 -0
- package/dist/types/markers/channels/commonMarkerConfigWithColor.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfigWithInterval.d.ts +9 -0
- package/dist/types/markers/channels/commonMarkerConfigWithInterval.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfigWithRadius.d.ts +5 -0
- package/dist/types/markers/channels/commonMarkerConfigWithRadius.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfigWithSymbol.d.ts +5 -0
- package/dist/types/markers/channels/commonMarkerConfigWithSymbol.js +1 -0
- package/dist/types/markers/channels/commonMarkerConfigWithWeight.d.ts +5 -0
- package/dist/types/markers/channels/commonMarkerConfigWithWeight.js +1 -0
- package/dist/types/markers/common.d.ts +30 -103
- package/dist/types/markers/common.js +29 -1
- package/dist/types/markers/geo/contour.d.ts +27 -0
- package/dist/types/markers/geo/contour.js +1 -0
- package/dist/types/markers/geo/features.d.ts +12 -0
- package/dist/types/markers/geo/features.js +1 -0
- package/dist/types/markers/geo/geoComponent.d.ts +7 -0
- package/dist/types/markers/geo/geoComponent.js +1 -0
- package/dist/types/markers/geo/geoHover.d.ts +6 -0
- package/dist/types/markers/geo/geoHover.js +1 -0
- package/dist/types/markers/geo/geoMarkersConfig.d.ts +11 -0
- package/dist/types/markers/geo/geoMarkersConfig.js +1 -0
- package/dist/types/markers/geo/graticule.d.ts +11 -0
- package/dist/types/markers/geo/graticule.js +1 -0
- package/dist/types/markers/geo/inset.d.ts +50 -0
- package/dist/types/markers/geo/inset.js +1 -0
- package/dist/types/markers/geo/link.d.ts +13 -0
- package/dist/types/markers/geo/link.js +1 -0
- package/dist/types/markers/geo/sphere.d.ts +11 -0
- package/dist/types/markers/geo/sphere.js +1 -0
- package/dist/types/markers/geo/vector.d.ts +17 -0
- package/dist/types/markers/geo/vector.js +1 -0
- package/dist/types/markers/geo.d.ts +10 -212
- package/dist/types/markers/geo.js +10 -1
- package/dist/types/markers/traits.d.ts +22 -0
- package/dist/types/markers/traits.js +1 -0
- package/dist/types/misc/easing.js +1 -0
- package/dist/types/misc/viewport.js +1 -0
- package/dist/types/phases/data/axes.d.ts +18 -0
- package/dist/types/phases/data/axes.js +1 -0
- package/dist/types/phases/data/phase.d.ts +26 -0
- package/dist/types/phases/data/phase.js +2 -0
- package/dist/types/phases/facet/phase.d.ts +18 -0
- package/dist/types/phases/facet/phase.js +1 -0
- package/dist/types/phases/hover/phase.d.ts +34 -0
- package/dist/types/phases/hover/phase.js +1 -0
- package/dist/types/phases/index.d.ts +14 -0
- package/dist/types/phases/index.js +1 -0
- package/dist/types/phases/kind.d.ts +59 -0
- package/dist/types/phases/kind.js +1 -0
- package/dist/types/phases/mapping/phase.d.ts +5 -0
- package/dist/types/phases/mapping/phase.js +1 -0
- package/dist/types/phases/markers/phase.d.ts +13 -0
- package/dist/types/phases/markers/phase.js +1 -0
- package/dist/types/phases/pipeline.d.ts +10 -0
- package/dist/types/phases/pipeline.js +1 -0
- package/dist/types/phases/scales/phase.d.ts +26 -0
- package/dist/types/phases/scales/phase.js +1 -0
- package/dist/types/phases/sharedScales/phase.d.ts +12 -0
- package/dist/types/phases/sharedScales/phase.js +1 -0
- package/dist/types/phases/stage.d.ts +12 -0
- package/dist/types/phases/stage.js +1 -0
- package/dist/types/phases/state.d.ts +73 -0
- package/dist/types/phases/state.js +1 -0
- package/dist/types/phases/statistics/phase.d.ts +41 -0
- package/dist/types/phases/statistics/phase.js +1 -0
- package/dist/types/phases/statistics/source.d.ts +20 -0
- package/dist/types/phases/statistics/source.js +7 -0
- package/dist/types/phases/styles/phase.d.ts +24 -0
- package/dist/types/phases/styles/phase.js +1 -0
- package/dist/types/phases/transforms/adapter.d.ts +27 -0
- package/dist/types/phases/transforms/adapter.js +1 -0
- package/dist/types/phases/transforms/phase.d.ts +40 -0
- package/dist/types/phases/transforms/phase.js +1 -0
- package/dist/types/plots/area/props.d.ts +10 -0
- package/dist/types/plots/area/props.js +1 -0
- package/dist/types/plots/area/state.d.ts +6 -0
- package/dist/types/plots/area/state.js +1 -0
- package/dist/types/plots/bar/props.d.ts +10 -0
- package/dist/types/plots/bar/props.js +1 -0
- package/dist/types/plots/bar/state.d.ts +6 -0
- package/dist/types/plots/bar/state.js +1 -0
- package/dist/types/plots/camera.d.ts +7 -17
- package/dist/types/plots/constants.d.ts +16 -8
- package/dist/types/plots/data/common.d.ts +25 -17
- package/dist/types/plots/data/geo.d.ts +26 -12
- package/dist/types/plots/gaps.d.ts +19 -38
- package/dist/types/plots/geo/props.d.ts +23 -0
- package/dist/types/plots/geo/props.js +1 -0
- package/dist/types/plots/geo/state.d.ts +82 -0
- package/dist/types/plots/geo/state.js +1 -0
- package/dist/types/plots/heatmap/props.d.ts +10 -0
- package/dist/types/plots/heatmap/props.js +1 -0
- package/dist/types/plots/heatmap/state.d.ts +28 -0
- package/dist/types/plots/heatmap/state.js +1 -0
- package/dist/types/plots/histogram/props.d.ts +18 -0
- package/dist/types/plots/histogram/props.js +1 -0
- package/dist/types/plots/histogram/state.d.ts +6 -0
- package/dist/types/plots/histogram/state.js +1 -0
- package/dist/types/plots/line/props.d.ts +10 -0
- package/dist/types/plots/line/props.js +1 -0
- package/dist/types/plots/line/state.d.ts +9 -0
- package/dist/types/plots/line/state.js +1 -0
- package/dist/types/plots/props.d.ts +143 -35
- package/dist/types/plots/pyramid/props.d.ts +10 -0
- package/dist/types/plots/pyramid/props.js +1 -0
- package/dist/types/plots/pyramid/state.d.ts +16 -0
- package/dist/types/plots/pyramid/state.js +1 -0
- package/dist/types/plots/scatter/props.d.ts +10 -0
- package/dist/types/plots/scatter/props.js +1 -0
- package/dist/types/plots/scatter/state.d.ts +6 -0
- package/dist/types/plots/scatter/state.js +1 -0
- package/dist/types/plots/segments/common.d.ts +1 -1
- package/dist/types/plots/segments/config.d.ts +12 -6
- package/dist/types/plots/styling.d.ts +5 -5
- package/dist/types/transforms/bin.d.ts +84 -0
- package/dist/types/transforms/bin.js +28 -0
- package/dist/types/transforms/bollinger.d.ts +21 -0
- package/dist/types/transforms/bollinger.js +1 -0
- package/dist/types/transforms/common.d.ts +29 -0
- package/dist/types/transforms/common.js +16 -0
- package/dist/types/transforms/density.d.ts +45 -0
- package/dist/types/transforms/density.js +10 -0
- package/dist/types/transforms/filter.d.ts +12 -0
- package/dist/types/transforms/filter.js +14 -0
- package/dist/types/transforms/group.d.ts +70 -0
- package/dist/types/transforms/group.js +8 -0
- package/dist/types/transforms/index.d.ts +36 -0
- package/dist/types/transforms/index.js +1 -0
- package/dist/types/transforms/interval.d.ts +21 -0
- package/dist/types/transforms/interval.js +14 -0
- package/dist/types/transforms/jitter.d.ts +34 -0
- package/dist/types/transforms/jitter.js +1 -0
- package/dist/types/transforms/map.d.ts +24 -0
- package/dist/types/transforms/map.js +1 -0
- package/dist/types/transforms/normalize.d.ts +36 -0
- package/dist/types/transforms/normalize.js +1 -0
- package/dist/types/transforms/select.d.ts +15 -0
- package/dist/types/transforms/select.js +1 -0
- package/dist/types/transforms/shift.d.ts +20 -0
- package/dist/types/transforms/shift.js +1 -0
- package/dist/types/transforms/sort.d.ts +31 -0
- package/dist/types/transforms/sort.js +14 -0
- package/dist/types/transforms/stack.d.ts +64 -0
- package/dist/types/transforms/stack.js +12 -0
- package/dist/types/transforms/window.d.ts +29 -0
- package/dist/types/transforms/window.js +1 -0
- package/dist/utils/ContinuousDomain.d.ts +12 -0
- package/dist/utils/ContinuousDomain.js +19 -0
- package/dist/utils/Interpolation.d.ts +26 -0
- package/dist/utils/Interpolation.js +65 -0
- package/dist/utils/{color.d.ts → color/contrast.d.ts} +0 -5
- package/dist/utils/color/contrast.js +40 -0
- package/dist/utils/color/cssColor.d.ts +4 -0
- package/dist/utils/color/cssColor.js +77 -0
- package/dist/utils/color/index.d.ts +3 -0
- package/dist/utils/color/index.js +3 -0
- package/dist/utils/color/ramp.d.ts +17 -0
- package/dist/utils/color/ramp.js +110 -0
- package/dist/utils/grouping.d.ts +9 -5
- package/dist/utils/grouping.js +19 -10
- package/dist/utils/merge.d.ts +7 -0
- package/dist/utils/merge.js +17 -0
- package/dist/utils/opacity.d.ts +9 -0
- package/dist/utils/opacity.js +38 -0
- package/dist/utils/symbol.d.ts +31 -0
- package/dist/utils/symbol.js +92 -0
- package/docs/architecture.md +137 -0
- package/docs/chrome.md +68 -0
- package/docs/composer.md +53 -0
- package/docs/concepts.md +99 -0
- package/docs/development.md +94 -0
- package/docs/facets.md +69 -0
- package/docs/geo.md +151 -0
- package/docs/getting-started.md +79 -0
- package/docs/legend.md +106 -0
- package/docs/markers.md +106 -0
- package/docs/plots.md +158 -0
- package/docs/scales.md +78 -0
- package/docs/state.md +71 -0
- package/docs/styles-and-segments.md +215 -0
- package/docs/theming.md +215 -0
- package/docs/timeline.md +94 -0
- package/docs/tooltip-and-hover.md +80 -0
- package/docs/transforms-and-statistics.md +88 -0
- package/examples/BarValues.svelte +14 -0
- package/examples/CustomTooltip.svelte +37 -0
- package/examples/Facets.svelte +15 -0
- package/examples/LegendReader.svelte +8 -0
- package/examples/LegendToggle.svelte +25 -0
- package/examples/ResponsiveLine.svelte +37 -0
- package/examples/Segments.svelte +17 -0
- package/examples/TimelinePlayer.svelte +20 -0
- package/examples/Tooltip.svelte +19 -0
- package/examples/TooltipCard.svelte +86 -0
- package/examples/data.ts +12 -0
- package/llms-full.txt +114 -0
- package/llms.txt +49 -0
- package/package.json +41 -5
- package/dist/charts/BaseChart.svelte +0 -149
- package/dist/charts/BaseChart.svelte.d.ts +0 -47
- package/dist/charts/bar/Chart.svelte +0 -110
- package/dist/charts/bar/Chart.svelte.d.ts +0 -26
- package/dist/charts/container/ChartContainer.svelte +0 -137
- package/dist/charts/container/ChartContainer.svelte.d.ts +0 -16
- package/dist/charts/heatmap/Chart.svelte +0 -114
- package/dist/charts/line/Chart.svelte +0 -112
- package/dist/charts/line/Chart.svelte.d.ts +0 -26
- package/dist/charts/pyramid/Chart.svelte +0 -134
- package/dist/charts/pyramid/Chart.svelte.d.ts +0 -30
- package/dist/charts/scatter/Chart.svelte +0 -95
- package/dist/charts/scatter/Chart.svelte.d.ts +0 -28
- package/dist/layout/coordinates/margins.d.ts +0 -16
- package/dist/layout/coordinates/margins.js +0 -11
- package/dist/layout/legend/interaction.svelte.d.ts +0 -15
- package/dist/layout/legend/interaction.svelte.js +0 -32
- package/dist/layout/plot/BasePlotLayout.svelte +0 -332
- package/dist/layout/plot/BasePlotLayout.svelte.d.ts +0 -122
- package/dist/layout/plot/margins.d.ts +0 -18
- package/dist/layout/plot/margins.js +0 -15
- package/dist/layout/plot/measureText.d.ts +0 -4
- package/dist/layout/plot/measureText.js +0 -19
- package/dist/layout/tooltip/TooltipLayout.svelte +0 -51
- package/dist/layout/tooltip/TooltipLayout.svelte.d.ts +0 -45
- package/dist/layout/tooltip/controller.svelte.d.ts +0 -61
- package/dist/layout/tooltip/controller.svelte.js +0 -173
- package/dist/layout/tooltip/hover.svelte.d.ts +0 -7
- package/dist/layout/tooltip/hover.svelte.js +0 -28
- package/dist/layout/tooltip/resolveTooltipPlacement.d.ts +0 -24
- package/dist/layout/tooltip/resolveTooltipPlacement.js +0 -49
- package/dist/layout/tooltip/utils.d.ts +0 -49
- package/dist/layout/tooltip/utils.js +0 -82
- package/dist/markers/CellMarker.svelte +0 -21
- package/dist/markers/ContourClipMarker.svelte +0 -77
- package/dist/markers/ContourMarker.svelte +0 -28
- package/dist/markers/DeltaMarker.svelte +0 -109
- package/dist/markers/DotMarker.svelte +0 -70
- package/dist/markers/GeoFeaturesMarker.svelte +0 -19
- package/dist/markers/GeoHoverMarker.svelte +0 -25
- package/dist/markers/GraticuleMarker.svelte +0 -18
- package/dist/markers/HoverMarker.svelte +0 -212
- package/dist/markers/LineMarker.svelte +0 -19
- package/dist/markers/LinkMarker.svelte +0 -42
- package/dist/markers/PeakMarker.svelte +0 -80
- package/dist/markers/PeakMarker.svelte.d.ts +0 -13
- package/dist/markers/RuleMarker.svelte +0 -24
- package/dist/markers/SphereMarker.svelte +0 -15
- package/dist/markers/TextMarker.svelte +0 -62
- package/dist/markers/VectorMarker.svelte +0 -20
- package/dist/plots/bar/ValueLabels.svelte +0 -149
- package/dist/plots/bar/ValueLabels.svelte.d.ts +0 -58
- package/dist/plots/bar/buildBarMarkers.d.ts +0 -27
- package/dist/plots/bar/buildBarMarkers.js +0 -151
- package/dist/plots/bar/hoverPoints.d.ts +0 -15
- package/dist/plots/bar/hoverPoints.js +0 -37
- package/dist/plots/bar/layout.svelte.d.ts +0 -42
- package/dist/plots/bar/layout.svelte.js +0 -182
- package/dist/plots/geo/buildGeoMarkers.d.ts +0 -33
- package/dist/plots/geo/buildGeoMarkers.js +0 -47
- package/dist/plots/heatmap/ValueLabels.svelte +0 -56
- package/dist/plots/heatmap/buildCellMarkers.d.ts +0 -21
- package/dist/plots/heatmap/buildCellMarkers.js +0 -25
- package/dist/plots/line/ValueLabels.svelte +0 -269
- package/dist/plots/line/ValueLabels.svelte.d.ts +0 -52
- package/dist/plots/line/buildGapMarkers.d.ts +0 -28
- package/dist/plots/line/buildGapMarkers.js +0 -74
- package/dist/plots/line/buildLineMarkers.d.ts +0 -16
- package/dist/plots/line/buildLineMarkers.js +0 -56
- package/dist/plots/line/valueLabelMargin.d.ts +0 -19
- package/dist/plots/line/valueLabelMargin.js +0 -65
- package/dist/plots/pyramid/ValueLabels.svelte +0 -139
- package/dist/plots/pyramid/ValueLabels.svelte.d.ts +0 -56
- package/dist/plots/pyramid/buildPyramidBarMarkers.d.ts +0 -26
- package/dist/plots/pyramid/buildPyramidBarMarkers.js +0 -72
- package/dist/plots/scatter/ValueLabels.svelte +0 -163
- package/dist/plots/scatter/ValueLabels.svelte.d.ts +0 -52
- package/dist/plots/scatter/buildScatterMarkers.d.ts +0 -12
- package/dist/plots/scatter/buildScatterMarkers.js +0 -36
- package/dist/plots/scatter/resolveRadiusPaddedDomain.d.ts +0 -10
- package/dist/plots/scatter/resolveRadiusPaddedDomain.js +0 -23
- package/dist/plots/utils/categoricalAxisMargin.d.ts +0 -14
- package/dist/plots/utils/categoricalAxisMargin.js +0 -20
- package/dist/plots/utils/declutter.d.ts +0 -120
- package/dist/plots/utils/declutter.js +0 -240
- package/dist/plots/utils/labelOverflow.svelte.d.ts +0 -107
- package/dist/plots/utils/labelOverflow.svelte.js +0 -257
- package/dist/plots/utils/legendDisabled.d.ts +0 -27
- package/dist/plots/utils/legendDisabled.js +0 -68
- package/dist/plots/utils/valueLabelMargin.d.ts +0 -67
- package/dist/plots/utils/valueLabelMargin.js +0 -60
- package/dist/types/charts/common.d.ts +0 -22
- package/dist/types/charts/props.d.ts +0 -50
- package/dist/types/markers/base.d.ts +0 -45
- package/dist/types/markers/line.d.ts +0 -34
- package/dist/types/markers/props.d.ts +0 -11
- package/dist/types/plots/data/scatter.d.ts +0 -13
- package/dist/utils/color.js +0 -141
- package/dist/utils/delta.d.ts +0 -12
- package/dist/utils/delta.js +0 -69
- package/dist/utils/edgeAwareAnchor.d.ts +0 -34
- package/dist/utils/edgeAwareAnchor.js +0 -60
- package/dist/utils/interpolate.d.ts +0 -31
- package/dist/utils/interpolate.js +0 -71
- /package/dist/types/{charts/common.js → layout/box.js} +0 -0
- /package/dist/types/{charts/interpolate.js → layout/composer.js} +0 -0
- /package/dist/types/{charts/props.js → layout/figure.js} +0 -0
- /package/dist/types/{markers/base.js → layout/grid.js} +0 -0
- /package/dist/types/{markers/line.js → layout/hover.js} +0 -0
- /package/dist/types/{markers/props.js → layout/mapping.js} +0 -0
- /package/dist/types/{plots/data/scatter.js → layout/plot.js} +0 -0
- /package/dist/types/{viewport.js → layout/statistics/bollinger.js} +0 -0
- /package/dist/types/{charts/interpolate.d.ts → misc/easing.d.ts} +0 -0
- /package/dist/types/{viewport.d.ts → misc/viewport.d.ts} +0 -0
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { Accessor } from '../../types/plots/data/common';
|
|
2
|
-
import type { ChartProps } from '../../types/charts/props';
|
|
3
|
-
declare function $$render<TRow extends Record<string, unknown>>(): {
|
|
4
|
-
props: ChartProps<TRow, import("../..").DotStyle> & {
|
|
5
|
-
r?: Accessor<TRow, number> | number;
|
|
6
|
-
};
|
|
7
|
-
exports: {};
|
|
8
|
-
bindings: "";
|
|
9
|
-
slots: {};
|
|
10
|
-
events: {};
|
|
11
|
-
};
|
|
12
|
-
declare class __sveltets_Render<TRow extends Record<string, unknown>> {
|
|
13
|
-
props(): ReturnType<typeof $$render<TRow>>['props'];
|
|
14
|
-
events(): ReturnType<typeof $$render<TRow>>['events'];
|
|
15
|
-
slots(): ReturnType<typeof $$render<TRow>>['slots'];
|
|
16
|
-
bindings(): "";
|
|
17
|
-
exports(): {};
|
|
18
|
-
}
|
|
19
|
-
interface $$IsomorphicComponent {
|
|
20
|
-
new <TRow extends Record<string, unknown>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TRow>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TRow>['props']>, ReturnType<__sveltets_Render<TRow>['events']>, ReturnType<__sveltets_Render<TRow>['slots']>> & {
|
|
21
|
-
$$bindings?: ReturnType<__sveltets_Render<TRow>['bindings']>;
|
|
22
|
-
} & ReturnType<__sveltets_Render<TRow>['exports']>;
|
|
23
|
-
<TRow extends Record<string, unknown>>(internal: unknown, props: ReturnType<__sveltets_Render<TRow>['props']> & {}): ReturnType<__sveltets_Render<TRow>['exports']>;
|
|
24
|
-
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
25
|
-
}
|
|
26
|
-
declare const Chart: $$IsomorphicComponent;
|
|
27
|
-
type Chart<TRow extends Record<string, unknown>> = InstanceType<typeof Chart<TRow>>;
|
|
28
|
-
export default Chart;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GeoPlot's own margin default — a small, uniform gap on every side, unlike
|
|
3
|
-
* `AUTO_MARGIN_ESTIMATE`'s asymmetric axis-tick-label estimate (extra room
|
|
4
|
-
* on the left/bottom for y tick labels and an x-axis title). A map has no
|
|
5
|
-
* axes to make room for, so borrowing that estimate just left GeoPlot with
|
|
6
|
-
* a lopsided, oversized margin — most visibly a much taller gap under the
|
|
7
|
-
* map than an `inset` marker's own default `margin` (see `insetLayout.ts`),
|
|
8
|
-
* even though both are meant to read as the same edge gap. Matching this
|
|
9
|
-
* constant to that 8px inset default keeps the two visually aligned.
|
|
10
|
-
*/
|
|
11
|
-
export declare const GEO_MARGIN_ESTIMATE: {
|
|
12
|
-
readonly top: 8;
|
|
13
|
-
readonly right: 8;
|
|
14
|
-
readonly bottom: 8;
|
|
15
|
-
readonly left: 8;
|
|
16
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GeoPlot's own margin default — a small, uniform gap on every side, unlike
|
|
3
|
-
* `AUTO_MARGIN_ESTIMATE`'s asymmetric axis-tick-label estimate (extra room
|
|
4
|
-
* on the left/bottom for y tick labels and an x-axis title). A map has no
|
|
5
|
-
* axes to make room for, so borrowing that estimate just left GeoPlot with
|
|
6
|
-
* a lopsided, oversized margin — most visibly a much taller gap under the
|
|
7
|
-
* map than an `inset` marker's own default `margin` (see `insetLayout.ts`),
|
|
8
|
-
* even though both are meant to read as the same edge gap. Matching this
|
|
9
|
-
* constant to that 8px inset default keeps the two visually aligned.
|
|
10
|
-
*/
|
|
11
|
-
export const GEO_MARGIN_ESTIMATE = { top: 8, right: 8, bottom: 8, left: 8 };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { LegendInteractionStore } from '../../types/layout/legend';
|
|
2
|
-
/** Create + register the shared legend-interaction store. Call during component init. */
|
|
3
|
-
export declare function provideLegendInteraction(): LegendInteractionStore;
|
|
4
|
-
/**
|
|
5
|
-
* Read the shared legend-interaction store, or `null` when there is no provider.
|
|
6
|
-
*
|
|
7
|
-
* Only resolves correctly when called during a real descendant component's
|
|
8
|
-
* own `<script>` instantiation, not from inside a `{@render}`ed snippet body
|
|
9
|
-
* — snippets run in their author's scope rather than as a fresh component
|
|
10
|
-
* instance. `BaseChart`'s `plot` snippet gets the same data via its `legend`
|
|
11
|
-
* context field instead, which works from either scope.
|
|
12
|
-
*/
|
|
13
|
-
export declare function getLegendInteraction(): LegendInteractionStore | null;
|
|
14
|
-
/** A private legend-interaction store for a legend/plot used outside of a {@link BaseChart}. */
|
|
15
|
-
export declare function createLegendInteraction(): LegendInteractionStore;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { getContext, setContext } from 'svelte';
|
|
2
|
-
import { SvelteMap } from 'svelte/reactivity';
|
|
3
|
-
const LEGEND_INTERACTION_KEY = Symbol('dct-legend-interaction');
|
|
4
|
-
function blank() {
|
|
5
|
-
return {
|
|
6
|
-
disabledSeries: new SvelteMap(),
|
|
7
|
-
continuousRange: null,
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
/** Create + register the shared legend-interaction store. Call during component init. */
|
|
11
|
-
export function provideLegendInteraction() {
|
|
12
|
-
const store = $state(blank());
|
|
13
|
-
setContext(LEGEND_INTERACTION_KEY, store);
|
|
14
|
-
return store;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Read the shared legend-interaction store, or `null` when there is no provider.
|
|
18
|
-
*
|
|
19
|
-
* Only resolves correctly when called during a real descendant component's
|
|
20
|
-
* own `<script>` instantiation, not from inside a `{@render}`ed snippet body
|
|
21
|
-
* — snippets run in their author's scope rather than as a fresh component
|
|
22
|
-
* instance. `BaseChart`'s `plot` snippet gets the same data via its `legend`
|
|
23
|
-
* context field instead, which works from either scope.
|
|
24
|
-
*/
|
|
25
|
-
export function getLegendInteraction() {
|
|
26
|
-
return getContext(LEGEND_INTERACTION_KEY) ?? null;
|
|
27
|
-
}
|
|
28
|
-
/** A private legend-interaction store for a legend/plot used outside of a {@link BaseChart}. */
|
|
29
|
-
export function createLegendInteraction() {
|
|
30
|
-
const store = $state(blank());
|
|
31
|
-
return store;
|
|
32
|
-
}
|
|
@@ -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
|
-
}
|