@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
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Component } from 'svelte';
|
|
2
|
+
import { Pipeline } from '../../phases/Pipeline';
|
|
3
|
+
import type { TooltipProp } from '../../types/layout/tooltip';
|
|
4
|
+
import type { MarginConfig, PlotChromeConfig } from '../../types/plots/props';
|
|
5
|
+
import type { PlotCellContext, PlotCellSnippet, PlotCoreBase } from '../../types/layout/plot';
|
|
6
|
+
import type { FacetConfig } from '../../types/layout/facet';
|
|
7
|
+
import type { TimelineConfig } from '../../types/layout/timeline';
|
|
8
|
+
import type { AxisPlotDefaults } from '../../types/phases';
|
|
9
|
+
declare function $$render<TRow extends Record<string, unknown>, TScales extends object, TCore extends PlotCoreBase>(): {
|
|
10
|
+
props: PlotChromeConfig & {
|
|
11
|
+
Core?: Component<any, Record<string, never>, "margins">;
|
|
12
|
+
core?: TCore;
|
|
13
|
+
defaults?: () => AxisPlotDefaults<any, any> | Pipeline<any, any>;
|
|
14
|
+
slice?: (cell: PlotCellContext<TRow, TScales>) => TCore;
|
|
15
|
+
cell?: PlotCellSnippet<TRow, TScales>;
|
|
16
|
+
margins?: MarginConfig;
|
|
17
|
+
tooltip?: TooltipProp<TRow>;
|
|
18
|
+
/** The rows `timeline` and `facet` slice. Defaults to `core.data`. */
|
|
19
|
+
data?: TRow[];
|
|
20
|
+
width?: number;
|
|
21
|
+
height?: number;
|
|
22
|
+
markers?: {
|
|
23
|
+
type: string;
|
|
24
|
+
}[];
|
|
25
|
+
timeline?: TimelineConfig<TRow>;
|
|
26
|
+
facet?: FacetConfig<TRow>;
|
|
27
|
+
};
|
|
28
|
+
exports: {};
|
|
29
|
+
bindings: "margins";
|
|
30
|
+
slots: {};
|
|
31
|
+
events: {};
|
|
32
|
+
};
|
|
33
|
+
declare class __sveltets_Render<TRow extends Record<string, unknown>, TScales extends object, TCore extends PlotCoreBase> {
|
|
34
|
+
props(): ReturnType<typeof $$render<TRow, TScales, TCore>>['props'];
|
|
35
|
+
events(): ReturnType<typeof $$render<TRow, TScales, TCore>>['events'];
|
|
36
|
+
slots(): ReturnType<typeof $$render<TRow, TScales, TCore>>['slots'];
|
|
37
|
+
bindings(): "margins";
|
|
38
|
+
exports(): {};
|
|
39
|
+
}
|
|
40
|
+
interface $$IsomorphicComponent {
|
|
41
|
+
new <TRow extends Record<string, unknown>, TScales extends object, TCore extends PlotCoreBase>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TRow, TScales, TCore>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TRow, TScales, TCore>['props']>, ReturnType<__sveltets_Render<TRow, TScales, TCore>['events']>, ReturnType<__sveltets_Render<TRow, TScales, TCore>['slots']>> & {
|
|
42
|
+
$$bindings?: ReturnType<__sveltets_Render<TRow, TScales, TCore>['bindings']>;
|
|
43
|
+
} & ReturnType<__sveltets_Render<TRow, TScales, TCore>['exports']>;
|
|
44
|
+
<TRow extends Record<string, unknown>, TScales extends object, TCore extends PlotCoreBase>(internal: unknown, props: ReturnType<__sveltets_Render<TRow, TScales, TCore>['props']> & {}): ReturnType<__sveltets_Render<TRow, TScales, TCore>['exports']>;
|
|
45
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
|
|
46
|
+
}
|
|
47
|
+
declare const Plot: $$IsomorphicComponent;
|
|
48
|
+
type Plot<TRow extends Record<string, unknown>, TScales extends object, TCore extends PlotCoreBase> = InstanceType<typeof Plot<TRow, TScales, TCore>>;
|
|
49
|
+
export default Plot;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { PlotHover } from '../hover/PlotHover.svelte';
|
|
2
|
+
import type { LegendState } from '../legend/LegendState.svelte';
|
|
3
|
+
import type { TimelineState } from '../timeline/TimelineState.svelte';
|
|
4
|
+
import type { PlotMargins } from '../margins/PlotMargins.svelte';
|
|
5
|
+
import type { PlotAxes } from '../../phases/data/PlotAxes';
|
|
6
|
+
/** What a plot's context is built from; the functions are read reactively. */
|
|
7
|
+
export type PlotContextParts<T extends Record<string, unknown>> = {
|
|
8
|
+
hover: PlotHover<T>;
|
|
9
|
+
legend: LegendState | null;
|
|
10
|
+
timeline: TimelineState | null;
|
|
11
|
+
margins: PlotMargins;
|
|
12
|
+
scales: () => object | undefined;
|
|
13
|
+
axes: () => PlotAxes | undefined;
|
|
14
|
+
data: () => T[];
|
|
15
|
+
size: () => {
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Everything one plot is, gathered where what draws inside it can reach it:
|
|
22
|
+
* its hover, its figure's legend and timeline, its margins, scales, axes, rows and box. The
|
|
23
|
+
* mutable side; {@link PublicPlotContext} is what a user gets to read.
|
|
24
|
+
*/
|
|
25
|
+
export declare class PlotContext<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
26
|
+
#private;
|
|
27
|
+
readonly hover: PlotHover<T>;
|
|
28
|
+
readonly legend: LegendState | null;
|
|
29
|
+
readonly timeline: TimelineState | null;
|
|
30
|
+
readonly margins: PlotMargins;
|
|
31
|
+
constructor(parts: PlotContextParts<T>);
|
|
32
|
+
/** The enclosing plot's context, or `null` outside one. Call during component init. */
|
|
33
|
+
static current(): PlotContext | null;
|
|
34
|
+
/** A new context for everything drawn below. Call during component init. */
|
|
35
|
+
static provide<T extends Record<string, unknown>>(parts: PlotContextParts<T>): PlotContext<T>;
|
|
36
|
+
get scales(): object | undefined;
|
|
37
|
+
get axes(): PlotAxes | undefined;
|
|
38
|
+
get data(): T[];
|
|
39
|
+
get width(): number;
|
|
40
|
+
get height(): number;
|
|
41
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { getContext, setContext } from 'svelte';
|
|
2
|
+
const PLOT_CONTEXT_KEY = Symbol('dct-plot-context');
|
|
3
|
+
/**
|
|
4
|
+
* Everything one plot is, gathered where what draws inside it can reach it:
|
|
5
|
+
* its hover, its figure's legend and timeline, its margins, scales, axes, rows and box. The
|
|
6
|
+
* mutable side; {@link PublicPlotContext} is what a user gets to read.
|
|
7
|
+
*/
|
|
8
|
+
export class PlotContext {
|
|
9
|
+
hover;
|
|
10
|
+
legend;
|
|
11
|
+
timeline;
|
|
12
|
+
margins;
|
|
13
|
+
#parts;
|
|
14
|
+
constructor(parts) {
|
|
15
|
+
this.#parts = parts;
|
|
16
|
+
this.hover = parts.hover;
|
|
17
|
+
this.legend = parts.legend;
|
|
18
|
+
this.timeline = parts.timeline;
|
|
19
|
+
this.margins = parts.margins;
|
|
20
|
+
}
|
|
21
|
+
/** The enclosing plot's context, or `null` outside one. Call during component init. */
|
|
22
|
+
static current() {
|
|
23
|
+
return getContext(PLOT_CONTEXT_KEY) ?? null;
|
|
24
|
+
}
|
|
25
|
+
/** A new context for everything drawn below. Call during component init. */
|
|
26
|
+
static provide(parts) {
|
|
27
|
+
const context = new PlotContext(parts);
|
|
28
|
+
setContext(PLOT_CONTEXT_KEY, context);
|
|
29
|
+
return context;
|
|
30
|
+
}
|
|
31
|
+
get scales() {
|
|
32
|
+
return this.#parts.scales();
|
|
33
|
+
}
|
|
34
|
+
get axes() {
|
|
35
|
+
return this.#parts.axes();
|
|
36
|
+
}
|
|
37
|
+
get data() {
|
|
38
|
+
return this.#parts.data();
|
|
39
|
+
}
|
|
40
|
+
get width() {
|
|
41
|
+
return this.#parts.size().width;
|
|
42
|
+
}
|
|
43
|
+
get height() {
|
|
44
|
+
return this.#parts.size().height;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { usePlot as usePlotFromSvelteplot } from 'svelteplot';
|
|
2
|
+
import { HoverState } from '../hover/HoverState.svelte';
|
|
3
|
+
import { LegendState } from '../legend/LegendState.svelte';
|
|
4
|
+
import { PlotContext } from './PlotContext';
|
|
5
|
+
import { TimelineState } from '../timeline/TimelineState.svelte';
|
|
6
|
+
import type { PlotHover } from '../hover/PlotHover.svelte';
|
|
7
|
+
import type { Margins } from '../margins/Margins';
|
|
8
|
+
import type { PlotAxes } from '../../phases/data/PlotAxes';
|
|
9
|
+
import type { AxisValue } from '../../types/layout/mapping';
|
|
10
|
+
import type { HoverPoint, HoverStrategy } from '../../types/layout/hover';
|
|
11
|
+
import type { PlayerControl, TimeInput, TimelineStep } from '../../types/layout/timeline';
|
|
12
|
+
import type { LegendDisabledAction, LegendEntry, LegendRange } from '../../types/layout/legend';
|
|
13
|
+
/** What the pointer is over, shared by every plot in a figure. Read-only. */
|
|
14
|
+
export declare class PublicHover {
|
|
15
|
+
#private;
|
|
16
|
+
constructor(state: HoverState);
|
|
17
|
+
/** The hovered x, or `null` while nothing is hovered. */
|
|
18
|
+
get activeX(): AxisValue | null;
|
|
19
|
+
get activeY(): AxisValue | null;
|
|
20
|
+
/** The hovered row's series, when its plot has one. */
|
|
21
|
+
get activeSeries(): string | null;
|
|
22
|
+
/** How related points are found: by x, y, series or exact position. */
|
|
23
|
+
get strategy(): HoverStrategy;
|
|
24
|
+
/** Whether a plot's hover shows in the others. */
|
|
25
|
+
get sync(): boolean;
|
|
26
|
+
/** The id of the plot (facet panel or composer cell) that owns the hover, or `null`. */
|
|
27
|
+
get source(): string | null;
|
|
28
|
+
}
|
|
29
|
+
/** One plot's hover: the figure's, seen from the plot, with the points it highlights and its tooltip. Read-only. */
|
|
30
|
+
export declare class PublicPlotHover<T extends Record<string, unknown>> extends PublicHover {
|
|
31
|
+
#private;
|
|
32
|
+
constructor(hover: PlotHover<T>);
|
|
33
|
+
/** The points the hover highlights in this plot. */
|
|
34
|
+
get points(): HoverPoint<T>[];
|
|
35
|
+
/** The highlighted point under the cursor, or `null`. */
|
|
36
|
+
get activePoint(): HoverPoint<T> | null;
|
|
37
|
+
/** The plot's tooltip: whether it shows, where, and the rows it reads. */
|
|
38
|
+
get tooltip(): {
|
|
39
|
+
visible: boolean;
|
|
40
|
+
position: {
|
|
41
|
+
x: number;
|
|
42
|
+
y: number;
|
|
43
|
+
} | null;
|
|
44
|
+
rows: T[];
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/** A figure's legend: what is on it and which series are off, which a user can turn on and off too. */
|
|
48
|
+
export declare class PublicLegend {
|
|
49
|
+
#private;
|
|
50
|
+
constructor(state: LegendState);
|
|
51
|
+
/** Everything the figure's plots draw on the legend. */
|
|
52
|
+
get entries(): LegendEntry[];
|
|
53
|
+
/** The range its continuous section narrows to, or `null`. */
|
|
54
|
+
get range(): LegendRange | null;
|
|
55
|
+
/** The series that are turned off. */
|
|
56
|
+
get off(): string[];
|
|
57
|
+
isOff(series: string): boolean;
|
|
58
|
+
turnOff(series: string, action: LegendDisabledAction): void;
|
|
59
|
+
turnOn(series: string): void;
|
|
60
|
+
toggle(series: string, action: LegendDisabledAction): void;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* A figure's timeline: where it is, whether it is playing, and what a user
|
|
64
|
+
* can do to it - to build a widget of their own in place of the player bar.
|
|
65
|
+
*/
|
|
66
|
+
export declare class PublicTimeline {
|
|
67
|
+
#private;
|
|
68
|
+
constructor(state: TimelineState);
|
|
69
|
+
/** Whether the figure has a timeline at all. */
|
|
70
|
+
get enabled(): boolean;
|
|
71
|
+
/** Every step it moves across, ascending. */
|
|
72
|
+
get steps(): TimelineStep[];
|
|
73
|
+
/** The position across the steps, `0`-`1`. */
|
|
74
|
+
get progress(): number;
|
|
75
|
+
/** The step the position lands on, or `undefined` without steps. */
|
|
76
|
+
get value(): TimelineStep | undefined;
|
|
77
|
+
get index(): number;
|
|
78
|
+
get playing(): boolean;
|
|
79
|
+
get loop(): boolean;
|
|
80
|
+
/** The playing speed, as a multiple of `stepDuration`. */
|
|
81
|
+
get speed(): number;
|
|
82
|
+
get speeds(): number[];
|
|
83
|
+
get controls(): PlayerControl[];
|
|
84
|
+
seek(progress: number): void;
|
|
85
|
+
seekIndex(index: number): void;
|
|
86
|
+
/** Moves to the step closest to `value`. */
|
|
87
|
+
seekValue(value: TimeInput): void;
|
|
88
|
+
next(): void;
|
|
89
|
+
previous(): void;
|
|
90
|
+
play(): void;
|
|
91
|
+
pause(): void;
|
|
92
|
+
toggle(): void;
|
|
93
|
+
setLoop(loop: boolean): void;
|
|
94
|
+
setSpeed(speed: number): void;
|
|
95
|
+
cycleSpeed(): void;
|
|
96
|
+
}
|
|
97
|
+
/** What anything inside a figure - its chrome included - can read of it. */
|
|
98
|
+
export declare class PublicFigureContext {
|
|
99
|
+
readonly hover: PublicHover;
|
|
100
|
+
readonly legend: PublicLegend | null;
|
|
101
|
+
readonly timeline: PublicTimeline | null;
|
|
102
|
+
constructor(hover: HoverState, legend: LegendState | null, timeline: TimelineState | null);
|
|
103
|
+
/** The enclosing figure's context. Call during component init, below a figure. */
|
|
104
|
+
static use(): PublicFigureContext;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* What anything drawn inside a plot can read of it: its hover, its figure's
|
|
108
|
+
* legend, margins, scales, axes, rows and box - and svelteplot's own plot state,
|
|
109
|
+
* apart as `svelteplot`. Read-only, but for the legend.
|
|
110
|
+
*/
|
|
111
|
+
export declare class PublicPlotContext<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
112
|
+
#private;
|
|
113
|
+
readonly hover: PublicPlotHover<T>;
|
|
114
|
+
readonly legend: PublicLegend | null;
|
|
115
|
+
readonly timeline: PublicTimeline | null;
|
|
116
|
+
/** svelteplot's own state for this plot: its scales, options and size. */
|
|
117
|
+
readonly svelteplot: ReturnType<typeof usePlotFromSvelteplot>;
|
|
118
|
+
constructor(context: PlotContext<T>, svelteplot: ReturnType<typeof usePlotFromSvelteplot>);
|
|
119
|
+
/** The enclosing plot's context. Call during component init, below a plot's `BasePlotLayout`. */
|
|
120
|
+
static use<T extends Record<string, unknown> = Record<string, unknown>>(): PublicPlotContext<T>;
|
|
121
|
+
/** The margins around the plot's content box. */
|
|
122
|
+
get margins(): Margins;
|
|
123
|
+
/** The plot's scales as its kind built them. */
|
|
124
|
+
get scales(): object | undefined;
|
|
125
|
+
/** What the plot's position channels are and which way it runs - `undefined` for a plot with no axes (a map). */
|
|
126
|
+
get axes(): PlotAxes | undefined;
|
|
127
|
+
/** The rows the plot draws and hovers over. */
|
|
128
|
+
get data(): T[];
|
|
129
|
+
get width(): number;
|
|
130
|
+
get height(): number;
|
|
131
|
+
}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import { usePlot as usePlotFromSvelteplot } from 'svelteplot';
|
|
2
|
+
import { HoverState } from '../hover/HoverState.svelte';
|
|
3
|
+
import { LegendState } from '../legend/LegendState.svelte';
|
|
4
|
+
import { PlotContext } from './PlotContext';
|
|
5
|
+
import { TimelineState } from '../timeline/TimelineState.svelte';
|
|
6
|
+
/** What the pointer is over, shared by every plot in a figure. Read-only. */
|
|
7
|
+
export class PublicHover {
|
|
8
|
+
#state;
|
|
9
|
+
constructor(state) {
|
|
10
|
+
this.#state = state;
|
|
11
|
+
}
|
|
12
|
+
/** The hovered x, or `null` while nothing is hovered. */
|
|
13
|
+
get activeX() {
|
|
14
|
+
return this.#state.activeX;
|
|
15
|
+
}
|
|
16
|
+
get activeY() {
|
|
17
|
+
return this.#state.activeY;
|
|
18
|
+
}
|
|
19
|
+
/** The hovered row's series, when its plot has one. */
|
|
20
|
+
get activeSeries() {
|
|
21
|
+
return this.#state.activeSeries;
|
|
22
|
+
}
|
|
23
|
+
/** How related points are found: by x, y, series or exact position. */
|
|
24
|
+
get strategy() {
|
|
25
|
+
return this.#state.strategy;
|
|
26
|
+
}
|
|
27
|
+
/** Whether a plot's hover shows in the others. */
|
|
28
|
+
get sync() {
|
|
29
|
+
return this.#state.sync;
|
|
30
|
+
}
|
|
31
|
+
/** The id of the plot (facet panel or composer cell) that owns the hover, or `null`. */
|
|
32
|
+
get source() {
|
|
33
|
+
return this.#state.source;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/** One plot's hover: the figure's, seen from the plot, with the points it highlights and its tooltip. Read-only. */
|
|
37
|
+
export class PublicPlotHover extends PublicHover {
|
|
38
|
+
#hover;
|
|
39
|
+
constructor(hover) {
|
|
40
|
+
super(hover.state);
|
|
41
|
+
this.#hover = hover;
|
|
42
|
+
}
|
|
43
|
+
/** The points the hover highlights in this plot. */
|
|
44
|
+
get points() {
|
|
45
|
+
return this.#hover.points;
|
|
46
|
+
}
|
|
47
|
+
/** The highlighted point under the cursor, or `null`. */
|
|
48
|
+
get activePoint() {
|
|
49
|
+
return this.#hover.activePoint;
|
|
50
|
+
}
|
|
51
|
+
/** The plot's tooltip: whether it shows, where, and the rows it reads. */
|
|
52
|
+
get tooltip() {
|
|
53
|
+
const position = this.#hover.tooltipPosition;
|
|
54
|
+
return {
|
|
55
|
+
visible: this.#hover.showTooltip && position != null,
|
|
56
|
+
position,
|
|
57
|
+
rows: this.#hover.matchedRows.map((point) => point.row)
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/** A figure's legend: what is on it and which series are off, which a user can turn on and off too. */
|
|
62
|
+
export class PublicLegend {
|
|
63
|
+
#state;
|
|
64
|
+
constructor(state) {
|
|
65
|
+
this.#state = state;
|
|
66
|
+
}
|
|
67
|
+
/** Everything the figure's plots draw on the legend. */
|
|
68
|
+
get entries() {
|
|
69
|
+
return this.#state.entries;
|
|
70
|
+
}
|
|
71
|
+
/** The range its continuous section narrows to, or `null`. */
|
|
72
|
+
get range() {
|
|
73
|
+
return this.#state.range;
|
|
74
|
+
}
|
|
75
|
+
/** The series that are turned off. */
|
|
76
|
+
get off() {
|
|
77
|
+
return [...this.#state.disabled.keys()];
|
|
78
|
+
}
|
|
79
|
+
isOff(series) {
|
|
80
|
+
return this.#state.isOff(series);
|
|
81
|
+
}
|
|
82
|
+
turnOff(series, action) {
|
|
83
|
+
this.#state.turnOff(series, action);
|
|
84
|
+
}
|
|
85
|
+
turnOn(series) {
|
|
86
|
+
this.#state.turnOn(series);
|
|
87
|
+
}
|
|
88
|
+
toggle(series, action) {
|
|
89
|
+
this.#state.toggle(series, action);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* A figure's timeline: where it is, whether it is playing, and what a user
|
|
94
|
+
* can do to it - to build a widget of their own in place of the player bar.
|
|
95
|
+
*/
|
|
96
|
+
export class PublicTimeline {
|
|
97
|
+
#state;
|
|
98
|
+
constructor(state) {
|
|
99
|
+
this.#state = state;
|
|
100
|
+
}
|
|
101
|
+
/** Whether the figure has a timeline at all. */
|
|
102
|
+
get enabled() {
|
|
103
|
+
return this.#state.enabled;
|
|
104
|
+
}
|
|
105
|
+
/** Every step it moves across, ascending. */
|
|
106
|
+
get steps() {
|
|
107
|
+
return this.#state.steps.map((step) => this.#state.step(step));
|
|
108
|
+
}
|
|
109
|
+
/** The position across the steps, `0`-`1`. */
|
|
110
|
+
get progress() {
|
|
111
|
+
return this.#state.progress;
|
|
112
|
+
}
|
|
113
|
+
/** The step the position lands on, or `undefined` without steps. */
|
|
114
|
+
get value() {
|
|
115
|
+
const { value } = this.#state;
|
|
116
|
+
return value === undefined ? undefined : this.#state.step(value);
|
|
117
|
+
}
|
|
118
|
+
get index() {
|
|
119
|
+
return this.#state.index;
|
|
120
|
+
}
|
|
121
|
+
get playing() {
|
|
122
|
+
return this.#state.playing;
|
|
123
|
+
}
|
|
124
|
+
get loop() {
|
|
125
|
+
return this.#state.loop;
|
|
126
|
+
}
|
|
127
|
+
/** The playing speed, as a multiple of `stepDuration`. */
|
|
128
|
+
get speed() {
|
|
129
|
+
return this.#state.speed;
|
|
130
|
+
}
|
|
131
|
+
get speeds() {
|
|
132
|
+
return this.#state.speeds;
|
|
133
|
+
}
|
|
134
|
+
get controls() {
|
|
135
|
+
return this.#state.controls;
|
|
136
|
+
}
|
|
137
|
+
seek(progress) {
|
|
138
|
+
this.#state.seek(progress);
|
|
139
|
+
}
|
|
140
|
+
seekIndex(index) {
|
|
141
|
+
this.#state.seekIndex(index);
|
|
142
|
+
}
|
|
143
|
+
/** Moves to the step closest to `value`. */
|
|
144
|
+
seekValue(value) {
|
|
145
|
+
const time = this.#state.timeOf(value);
|
|
146
|
+
if (time !== undefined)
|
|
147
|
+
this.#state.seekValue(time);
|
|
148
|
+
}
|
|
149
|
+
next() {
|
|
150
|
+
this.#state.next();
|
|
151
|
+
}
|
|
152
|
+
previous() {
|
|
153
|
+
this.#state.previous();
|
|
154
|
+
}
|
|
155
|
+
play() {
|
|
156
|
+
this.#state.play();
|
|
157
|
+
}
|
|
158
|
+
pause() {
|
|
159
|
+
this.#state.pause();
|
|
160
|
+
}
|
|
161
|
+
toggle() {
|
|
162
|
+
this.#state.toggle();
|
|
163
|
+
}
|
|
164
|
+
setLoop(loop) {
|
|
165
|
+
this.#state.setLoop(loop);
|
|
166
|
+
}
|
|
167
|
+
setSpeed(speed) {
|
|
168
|
+
this.#state.setSpeed(speed);
|
|
169
|
+
}
|
|
170
|
+
cycleSpeed() {
|
|
171
|
+
this.#state.cycleSpeed();
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/** What anything inside a figure - its chrome included - can read of it. */
|
|
175
|
+
export class PublicFigureContext {
|
|
176
|
+
hover;
|
|
177
|
+
legend;
|
|
178
|
+
timeline;
|
|
179
|
+
constructor(hover, legend, timeline) {
|
|
180
|
+
this.hover = new PublicHover(hover);
|
|
181
|
+
this.legend = legend && new PublicLegend(legend);
|
|
182
|
+
this.timeline = timeline && new PublicTimeline(timeline);
|
|
183
|
+
}
|
|
184
|
+
/** The enclosing figure's context. Call during component init, below a figure. */
|
|
185
|
+
static use() {
|
|
186
|
+
const hover = HoverState.current();
|
|
187
|
+
if (!hover)
|
|
188
|
+
throw new Error('useFigure() must be called inside a figure (a plot or a PlotComposer).');
|
|
189
|
+
return new PublicFigureContext(hover, LegendState.current(), TimelineState.current());
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* What anything drawn inside a plot can read of it: its hover, its figure's
|
|
194
|
+
* legend, margins, scales, axes, rows and box - and svelteplot's own plot state,
|
|
195
|
+
* apart as `svelteplot`. Read-only, but for the legend.
|
|
196
|
+
*/
|
|
197
|
+
export class PublicPlotContext {
|
|
198
|
+
hover;
|
|
199
|
+
legend;
|
|
200
|
+
timeline;
|
|
201
|
+
/** svelteplot's own state for this plot: its scales, options and size. */
|
|
202
|
+
svelteplot;
|
|
203
|
+
#context;
|
|
204
|
+
constructor(context, svelteplot) {
|
|
205
|
+
this.#context = context;
|
|
206
|
+
this.hover = new PublicPlotHover(context.hover);
|
|
207
|
+
this.legend = context.legend && new PublicLegend(context.legend);
|
|
208
|
+
this.timeline = context.timeline && new PublicTimeline(context.timeline);
|
|
209
|
+
this.svelteplot = svelteplot;
|
|
210
|
+
}
|
|
211
|
+
/** The enclosing plot's context. Call during component init, below a plot's `BasePlotLayout`. */
|
|
212
|
+
static use() {
|
|
213
|
+
const context = PlotContext.current();
|
|
214
|
+
if (!context)
|
|
215
|
+
throw new Error('usePlot() must be called inside a plot.');
|
|
216
|
+
return new PublicPlotContext(context, usePlotFromSvelteplot());
|
|
217
|
+
}
|
|
218
|
+
/** The margins around the plot's content box. */
|
|
219
|
+
get margins() {
|
|
220
|
+
return this.#context.margins.numeric;
|
|
221
|
+
}
|
|
222
|
+
/** The plot's scales as its kind built them. */
|
|
223
|
+
get scales() {
|
|
224
|
+
return this.#context.scales;
|
|
225
|
+
}
|
|
226
|
+
/** What the plot's position channels are and which way it runs - `undefined` for a plot with no axes (a map). */
|
|
227
|
+
get axes() {
|
|
228
|
+
return this.#context.axes;
|
|
229
|
+
}
|
|
230
|
+
/** The rows the plot draws and hovers over. */
|
|
231
|
+
get data() {
|
|
232
|
+
return this.#context.data;
|
|
233
|
+
}
|
|
234
|
+
get width() {
|
|
235
|
+
return this.#context.width;
|
|
236
|
+
}
|
|
237
|
+
get height() {
|
|
238
|
+
return this.#context.height;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { FacetCellContext, FacetConfig } from '../../types/layout/facet';
|
|
2
|
+
import type { TimelineConfig } from '../../types/layout/timeline';
|
|
3
|
+
import type { SlicePlace } from '../../types/layout/plot';
|
|
4
|
+
/** What a plot is sliced by. */
|
|
5
|
+
export type SliceInputs<TRow extends Record<string, unknown>> = {
|
|
6
|
+
/** The rows being sliced. Without them (a plot of pre-built `series`) nothing slices. */
|
|
7
|
+
rows: TRow[] | undefined;
|
|
8
|
+
timeline: TimelineConfig<TRow> | undefined;
|
|
9
|
+
facet: FacetConfig<TRow> | undefined;
|
|
10
|
+
/** The plot kind's default for `timeline.filterMode`. */
|
|
11
|
+
filterMode: 'exact' | 'upTo' | undefined;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* How a plot's rows divide into slices - the timeline steps and facet panels
|
|
15
|
+
* each cell of its grid shows: which rows belong in a slice ({@link Slice.keep}),
|
|
16
|
+
* the scales the slices share and how the facets lay out. Create it once per
|
|
17
|
+
* plot, from its current inputs.
|
|
18
|
+
*/
|
|
19
|
+
export declare class Slice<TRow extends Record<string, unknown>> {
|
|
20
|
+
#private;
|
|
21
|
+
readonly timeline: TimelineConfig<TRow> | undefined;
|
|
22
|
+
readonly facet: FacetConfig<TRow> | undefined;
|
|
23
|
+
/** Whether the plot's rows are sliced at all. Unsliced, its one core is the whole plot. */
|
|
24
|
+
readonly sliced: boolean;
|
|
25
|
+
/** How a timeline matches rows to a step: the author's, else the plot kind's. */
|
|
26
|
+
readonly filterMode: 'exact' | 'upTo' | undefined;
|
|
27
|
+
/** The facet's layout alone - its `scales` and `axes` shape each cell instead. */
|
|
28
|
+
readonly layout: Omit<FacetConfig<TRow>, 'scales' | 'axes'> | undefined;
|
|
29
|
+
/** What is wrong with the slicing as set, for the author to fix. */
|
|
30
|
+
readonly problems: string[];
|
|
31
|
+
constructor({ rows, timeline, facet, filterMode }: SliceInputs<TRow>);
|
|
32
|
+
/** Whether a row belongs in the slice at `place`. A row lacking a slicing field belongs in every slice. */
|
|
33
|
+
keep(place: SlicePlace): (row: TRow) => boolean;
|
|
34
|
+
/** The key of the facet panel the cell at `place` shows, or `undefined` without a facet. */
|
|
35
|
+
panelKey(place: FacetCellContext<TRow>): string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* The scales for the facet cell at `place`: its panel's share of the
|
|
38
|
+
* domains the slices `shared` (keyed by panel), under how `facet.axes`
|
|
39
|
+
* displays its axes.
|
|
40
|
+
*/
|
|
41
|
+
facetScales<TScales extends object>(shared: Record<string, object> | undefined, place: FacetCellContext<TRow>): TScales | undefined;
|
|
42
|
+
/** The scales a timeline alone keeps every step on - the domains all its rows span - unless it fits each step's own. */
|
|
43
|
+
timelineScales<TScales extends object>(shared: Record<string, object> | undefined): TScales | undefined;
|
|
44
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { resolveAccessor } from '../../plots/utils/accessors';
|
|
2
|
+
import { merge } from '../../utils/merge';
|
|
3
|
+
import { TimelineSteps } from '../timeline/TimelineSteps';
|
|
4
|
+
import { TimelineTime } from '../timeline/TimelineTime';
|
|
5
|
+
import { buildFacetAxesDisplay } from '../facet/axes';
|
|
6
|
+
import { buildFacetPlaceKey, isFacetWrap } from '../facet/config';
|
|
7
|
+
/**
|
|
8
|
+
* How a plot's rows divide into slices - the timeline steps and facet panels
|
|
9
|
+
* each cell of its grid shows: which rows belong in a slice ({@link Slice.keep}),
|
|
10
|
+
* the scales the slices share and how the facets lay out. Create it once per
|
|
11
|
+
* plot, from its current inputs.
|
|
12
|
+
*/
|
|
13
|
+
export class Slice {
|
|
14
|
+
timeline;
|
|
15
|
+
facet;
|
|
16
|
+
/** Whether the plot's rows are sliced at all. Unsliced, its one core is the whole plot. */
|
|
17
|
+
sliced;
|
|
18
|
+
/** How a timeline matches rows to a step: the author's, else the plot kind's. */
|
|
19
|
+
filterMode;
|
|
20
|
+
/** The facet's layout alone - its `scales` and `axes` shape each cell instead. */
|
|
21
|
+
layout;
|
|
22
|
+
/** What is wrong with the slicing as set, for the author to fix. */
|
|
23
|
+
problems = [];
|
|
24
|
+
#axes;
|
|
25
|
+
constructor({ rows, timeline, facet, filterMode }) {
|
|
26
|
+
this.timeline = timeline;
|
|
27
|
+
this.facet = facet;
|
|
28
|
+
this.sliced = rows != null && (timeline != null || facet != null);
|
|
29
|
+
this.filterMode = timeline?.filterMode ?? filterMode;
|
|
30
|
+
this.#axes = facet ? buildFacetAxesDisplay(facet) : undefined;
|
|
31
|
+
if (facet) {
|
|
32
|
+
const layout = { ...facet };
|
|
33
|
+
delete layout.scales;
|
|
34
|
+
delete layout.axes;
|
|
35
|
+
this.layout = layout;
|
|
36
|
+
}
|
|
37
|
+
if (!rows && (timeline || facet)) {
|
|
38
|
+
this.problems.push('`timeline` and `facet` slice flat `data` rows - they are ignored with pre-built `series`.');
|
|
39
|
+
}
|
|
40
|
+
if (facet && facet.by === undefined && facet.rows === undefined && facet.cols === undefined) {
|
|
41
|
+
this.problems.push('`facet` needs `by`, or `rows` and/or `cols`.');
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/** Whether a row belongs in the slice at `place`. A row lacking a slicing field belongs in every slice. */
|
|
45
|
+
keep(place) {
|
|
46
|
+
const { timeline, facet } = this;
|
|
47
|
+
const tests = [];
|
|
48
|
+
const matches = (accessor, expected) => {
|
|
49
|
+
if (accessor === undefined || expected === undefined)
|
|
50
|
+
return;
|
|
51
|
+
const get = resolveAccessor(accessor);
|
|
52
|
+
tests.push((row) => {
|
|
53
|
+
const value = get(row);
|
|
54
|
+
return value == null || String(value) === expected;
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
if (timeline && place.time !== undefined) {
|
|
58
|
+
const get = resolveAccessor(timeline.accessor);
|
|
59
|
+
const reader = new TimelineTime(timeline.dateFormat);
|
|
60
|
+
const time = place.time;
|
|
61
|
+
tests.push((row) => {
|
|
62
|
+
const value = reader.toTime(get(row));
|
|
63
|
+
if (value === undefined)
|
|
64
|
+
return true;
|
|
65
|
+
return TimelineSteps.matches(value, time, this.filterMode);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
if (facet && place.facet) {
|
|
69
|
+
if (isFacetWrap(facet))
|
|
70
|
+
matches(facet.by, place.facet.facetValue);
|
|
71
|
+
else {
|
|
72
|
+
matches(facet.rows, place.facet.row);
|
|
73
|
+
matches(facet.cols, place.facet.col);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return (row) => tests.every((test) => test(row));
|
|
77
|
+
}
|
|
78
|
+
/** The key of the facet panel the cell at `place` shows, or `undefined` without a facet. */
|
|
79
|
+
panelKey(place) {
|
|
80
|
+
return this.facet ? buildFacetPlaceKey(this.facet, place) : undefined;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The scales for the facet cell at `place`: its panel's share of the
|
|
84
|
+
* domains the slices `shared` (keyed by panel), under how `facet.axes`
|
|
85
|
+
* displays its axes.
|
|
86
|
+
*/
|
|
87
|
+
facetScales(shared, place) {
|
|
88
|
+
const key = this.panelKey(place);
|
|
89
|
+
if (key === undefined)
|
|
90
|
+
return undefined;
|
|
91
|
+
return merge(shared?.[key], this.#axes?.(place));
|
|
92
|
+
}
|
|
93
|
+
/** The scales a timeline alone keeps every step on - the domains all its rows span - unless it fits each step's own. */
|
|
94
|
+
timelineScales(shared) {
|
|
95
|
+
const { timeline, facet } = this;
|
|
96
|
+
if (!timeline || facet || timeline.scales === 'free')
|
|
97
|
+
return undefined;
|
|
98
|
+
return shared?.[''];
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PublicFigureContext, PublicPlotContext } from './PublicPlotContext';
|
|
2
|
+
/**
|
|
3
|
+
* What the plot around the calling component is: its hover, its figure's
|
|
4
|
+
* legend and timeline, margins, scales, rows and box, and svelteplot's own state as
|
|
5
|
+
* `svelteplot`. Call it during init, in anything drawn inside a plot.
|
|
6
|
+
*/
|
|
7
|
+
export declare function usePlot<T extends Record<string, unknown> = Record<string, unknown>>(): PublicPlotContext<T>;
|
|
8
|
+
/** What the figure around the calling component is: its hover, legend and timeline. Call it during init, anywhere inside a figure - its chrome too. */
|
|
9
|
+
export declare function useFigure(): PublicFigureContext;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PublicFigureContext, PublicPlotContext } from './PublicPlotContext';
|
|
2
|
+
/**
|
|
3
|
+
* What the plot around the calling component is: its hover, its figure's
|
|
4
|
+
* legend and timeline, margins, scales, rows and box, and svelteplot's own state as
|
|
5
|
+
* `svelteplot`. Call it during init, in anything drawn inside a plot.
|
|
6
|
+
*/
|
|
7
|
+
export function usePlot() {
|
|
8
|
+
return PublicPlotContext.use();
|
|
9
|
+
}
|
|
10
|
+
/** What the figure around the calling component is: its hover, legend and timeline. Call it during init, anywhere inside a figure - its chrome too. */
|
|
11
|
+
export function useFigure() {
|
|
12
|
+
return PublicFigureContext.use();
|
|
13
|
+
}
|