@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,14 +1,12 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
|
-
import type { SvelteMap } from 'svelte/reactivity';
|
|
3
2
|
import type { SymbolType, LineStyle } from '../plots/constants';
|
|
4
3
|
import type { StrokeStyle, DotStyle } from '../plots/styling';
|
|
5
|
-
|
|
4
|
+
import type { ColorScaleConfig, OpacityScaleConfig, SymbolScaleConfig } from './scales';
|
|
5
|
+
export type LegendSectionType = 'discrete' | 'continuous' | 'size' | 'symbol';
|
|
6
6
|
/**
|
|
7
|
-
* Style
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* `*Opacity` field a consumer doesn't set falls back to it, so
|
|
11
|
-
* `{ opacity: 0.1 }` alone is enough to read as "disabled" everywhere.
|
|
7
|
+
* Style for whatever a legend has turned off: a toggled-off series, or a row
|
|
8
|
+
* outside a continuous range. `opacity` is the fallback for every
|
|
9
|
+
* `*Opacity` field left unset.
|
|
12
10
|
*/
|
|
13
11
|
export type LegendDisabledStyle = {
|
|
14
12
|
opacity?: number;
|
|
@@ -17,10 +15,17 @@ export type LegendDisabledStyle = {
|
|
|
17
15
|
fill?: string;
|
|
18
16
|
fillOpacity?: number;
|
|
19
17
|
};
|
|
20
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* What a legend toggle does to a series once it's off: `'dim'` dims it in
|
|
20
|
+
* place (styled by `style`), `'hide'` makes it fully transparent while the
|
|
21
|
+
* axes keep its range, `'omit'` removes it from the plot entirely, rescaling
|
|
22
|
+
* the axes to what's left.
|
|
23
|
+
*/
|
|
21
24
|
export type LegendDisabledAction = {
|
|
22
|
-
mode: '
|
|
25
|
+
mode: 'dim';
|
|
23
26
|
style?: LegendDisabledStyle;
|
|
27
|
+
} | {
|
|
28
|
+
mode: 'hide';
|
|
24
29
|
} | {
|
|
25
30
|
mode: 'omit';
|
|
26
31
|
};
|
|
@@ -29,16 +34,17 @@ export type LegendItem = {
|
|
|
29
34
|
label?: string;
|
|
30
35
|
color?: string;
|
|
31
36
|
symbol?: SymbolType;
|
|
37
|
+
/** Whether the symbol is filled, or drawn as an outline. Defaults to `true`. */
|
|
38
|
+
filled?: boolean;
|
|
32
39
|
opacity?: number;
|
|
33
40
|
lineStyle?: LineStyle;
|
|
34
|
-
/** Initial toggled-off state (uncontrolled
|
|
41
|
+
/** Initial toggled-off state (uncontrolled - the user can still click it back on). */
|
|
35
42
|
disabled?: boolean;
|
|
36
43
|
};
|
|
37
44
|
/**
|
|
38
|
-
* How a discrete section's items flow
|
|
39
|
-
* `
|
|
40
|
-
*
|
|
41
|
-
* left to right, but wraps onto as many rows as it takes instead of paginating.
|
|
45
|
+
* How a discrete section's items flow: `'vertical'` in a `columns`-wide grid,
|
|
46
|
+
* `'horizontal'` in rows paginated past `maxRows` (default 1), `'flex'` in
|
|
47
|
+
* wrapping rows.
|
|
42
48
|
*/
|
|
43
49
|
export type LegendItemsLayout = {
|
|
44
50
|
type: 'vertical';
|
|
@@ -68,14 +74,7 @@ export type LegendHandleContext = {
|
|
|
68
74
|
};
|
|
69
75
|
/** Custom drag-handle renderer for an interactive continuous section. */
|
|
70
76
|
export type LegendHandleSnippet = Snippet<[LegendHandleContext]>;
|
|
71
|
-
/**
|
|
72
|
-
* Item look for an interactive discrete section. `'badge'` (the default once
|
|
73
|
-
* `interactive.enabled` is on) draws each item as a pill filled with its
|
|
74
|
-
* series color, with the symbol icon and label auto-contrasted against that
|
|
75
|
-
* fill and an eye icon on the right — crossed out once the item is toggled
|
|
76
|
-
* off. `'basic'` keeps the plain swatch + label, same as a non-interactive
|
|
77
|
-
* section.
|
|
78
|
-
*/
|
|
77
|
+
/** Item look of an interactive discrete section: `'badge'` (default) pills with an eye toggle, or `'basic'` swatches. */
|
|
79
78
|
export type LegendInteractiveStyle = 'badge' | 'basic';
|
|
80
79
|
/** Click-to-toggle configuration for a discrete section: whether it's on, how toggled items look, and the style applied to a toggled-off one. */
|
|
81
80
|
export type DiscreteInteractiveConfig = {
|
|
@@ -83,7 +82,7 @@ export type DiscreteInteractiveConfig = {
|
|
|
83
82
|
enabled?: boolean;
|
|
84
83
|
/** Item look while `enabled`. Defaults to `'badge'`. */
|
|
85
84
|
legendStyle?: LegendInteractiveStyle;
|
|
86
|
-
/** What happens to a toggled-off item. Defaults to `{ mode: '
|
|
85
|
+
/** What happens to a toggled-off item. Defaults to `{ mode: 'dim' }`. */
|
|
87
86
|
disabled?: LegendDisabledAction;
|
|
88
87
|
/** Shows the symbol icon inside a `'badge'` pill. Defaults to `true`; ignored by `'basic'`, which always shows it. */
|
|
89
88
|
showIcon?: boolean;
|
|
@@ -102,11 +101,7 @@ export type DiscreteLegendSection = {
|
|
|
102
101
|
export type ContinuousInteractiveConfig = {
|
|
103
102
|
/** Turns drag-to-narrow on, adding lo/hi handles at the edges of the excluded range. */
|
|
104
103
|
enabled?: boolean;
|
|
105
|
-
/**
|
|
106
|
-
* How the color ramp responds to a narrowed range: `'rescale'` reprojects
|
|
107
|
-
* it onto the new bounds, `'filter'` keeps the original domain and only
|
|
108
|
-
* excludes out-of-range values. Defaults to `'filter'`.
|
|
109
|
-
*/
|
|
104
|
+
/** `'rescale'` refits the color ramp to the narrowed range; `'filter'` (default) keeps it and hides what's outside. */
|
|
110
105
|
mode?: 'rescale' | 'filter';
|
|
111
106
|
/** Style applied to the excluded (narrowed-out) range. Defaults to `{ opacity: cfg.legend.disabledOpacity }`. */
|
|
112
107
|
disabledStyle?: LegendDisabledStyle;
|
|
@@ -121,38 +116,244 @@ export type ContinuousLegendSection = {
|
|
|
121
116
|
max: number;
|
|
122
117
|
colorMin?: string;
|
|
123
118
|
colorMax?: string;
|
|
119
|
+
/** A named ramp (e.g. `'turbo'`) or 2+ colors to draw the bar in, over `colorMin`/`colorMax`. */
|
|
120
|
+
scheme?: string | string[];
|
|
121
|
+
/** Splits an array `scheme` into two halves meeting at this value (diverging). */
|
|
122
|
+
pivot?: number;
|
|
123
|
+
/** Draws the bar in one color (`colorMin`, the text color by default) fading across this opacity range, instead of a color ramp. */
|
|
124
|
+
opacity?: [number, number];
|
|
124
125
|
ticks?: number[];
|
|
125
126
|
width?: number;
|
|
126
127
|
format?: (v: number) => string;
|
|
127
128
|
interactive?: ContinuousInteractiveConfig;
|
|
128
129
|
};
|
|
129
|
-
export type LegendSection = DiscreteLegendSection | ContinuousLegendSection;
|
|
130
130
|
/**
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
131
|
+
* A continuous size scale - the `r` channel of a plot's dots: a few dots of
|
|
132
|
+
* the radius each value draws at, its value under each. `domain` maps to
|
|
133
|
+
* `range` (px) on a square-root scale, so a dot's area follows its value.
|
|
134
|
+
*/
|
|
135
|
+
export type SizeLegendSection = {
|
|
136
|
+
type: 'size';
|
|
137
|
+
title?: string;
|
|
138
|
+
columns?: number;
|
|
139
|
+
domain: [number, number];
|
|
140
|
+
range: [number, number];
|
|
141
|
+
/** The values shown, one dot each. Defaults to a few round values across `domain`. */
|
|
142
|
+
values?: number[];
|
|
143
|
+
/** The dots' color. Defaults to the text color. */
|
|
144
|
+
color?: string;
|
|
145
|
+
/** Whether the dots are filled, or drawn as rings. Defaults to `true`. */
|
|
146
|
+
filled?: boolean;
|
|
147
|
+
/** The dots' shape. Defaults to `'circle'`. */
|
|
148
|
+
symbol?: SymbolType;
|
|
149
|
+
/** How each value reads. Defaults to the axes' own format (`axis.locale`, `axis.compactDisplay`). */
|
|
150
|
+
format?: (v: number) => string;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* A categorical shape scale - the `symbol` channel of a plot's dots: each
|
|
154
|
+
* category next to the shape it draws as. Unlike a discrete section, its
|
|
155
|
+
* items name categories, not series, so they never toggle.
|
|
156
|
+
*/
|
|
157
|
+
export type SymbolLegendSection = {
|
|
158
|
+
type: 'symbol';
|
|
159
|
+
title?: string;
|
|
160
|
+
columns?: number;
|
|
161
|
+
/** Item flow direction, as in a discrete section. */
|
|
162
|
+
layout?: LegendItemsLayout;
|
|
163
|
+
items: {
|
|
164
|
+
name: string;
|
|
165
|
+
label?: string;
|
|
166
|
+
symbol: SymbolType;
|
|
167
|
+
}[];
|
|
168
|
+
/** The shapes' color. Defaults to the text color. */
|
|
169
|
+
color?: string;
|
|
170
|
+
/** Whether the shapes are filled, or drawn as outlines. Defaults to `true`. */
|
|
171
|
+
filled?: boolean;
|
|
172
|
+
};
|
|
173
|
+
export type LegendSection = DiscreteLegendSection | ContinuousLegendSection | SizeLegendSection | SymbolLegendSection;
|
|
174
|
+
/** The narrowed range of an interactive continuous section: rows outside it dim, or the ramp refits to it. */
|
|
175
|
+
export type LegendRange = {
|
|
176
|
+
min: number;
|
|
177
|
+
max: number;
|
|
178
|
+
mode: 'rescale' | 'filter';
|
|
179
|
+
disabledStyle: LegendDisabledStyle;
|
|
180
|
+
};
|
|
181
|
+
/** How a series draws, as a legend shows it: the plot's own mark for it. */
|
|
182
|
+
export type LegendMark = 'line' | 'dot' | 'area' | 'bar' | 'cell' | 'rect' | 'geo';
|
|
183
|
+
/**
|
|
184
|
+
* What a plot draws that a legend can show - registered on the figure's
|
|
185
|
+
* `LegendState` as the plot resolves: a series (its name, color and how it
|
|
186
|
+
* draws), a segment or marker that names itself on the legend (`'mark'`), a
|
|
187
|
+
* continuous color scale (the domain its colors span), the opacity scale
|
|
188
|
+
* its marks fade across, the size scale its
|
|
189
|
+
* dots' `r` channel draws with, or the shapes its dots' `symbol` channel
|
|
190
|
+
* draws each category as.
|
|
191
|
+
*/
|
|
192
|
+
export type LegendEntry = {
|
|
193
|
+
type: 'series' | 'mark';
|
|
194
|
+
name: string;
|
|
195
|
+
label?: string;
|
|
196
|
+
color?: string;
|
|
197
|
+
mark?: LegendMark;
|
|
198
|
+
symbol?: SymbolType;
|
|
199
|
+
filled?: boolean;
|
|
200
|
+
lineStyle?: LineStyle;
|
|
201
|
+
} | {
|
|
202
|
+
type: 'size';
|
|
203
|
+
channel: 'r';
|
|
204
|
+
title?: string;
|
|
205
|
+
domain: [number, number];
|
|
206
|
+
range: [number, number];
|
|
207
|
+
color?: string;
|
|
208
|
+
filled: boolean;
|
|
209
|
+
symbol?: SymbolType;
|
|
210
|
+
} | {
|
|
211
|
+
type: 'symbol';
|
|
212
|
+
channel: 'symbol';
|
|
213
|
+
title?: string;
|
|
214
|
+
items: {
|
|
215
|
+
name: string;
|
|
216
|
+
symbol: SymbolType;
|
|
217
|
+
}[];
|
|
218
|
+
color?: string;
|
|
219
|
+
filled: boolean;
|
|
220
|
+
} | {
|
|
221
|
+
type: 'scale';
|
|
222
|
+
channel: 'color';
|
|
223
|
+
title?: string;
|
|
224
|
+
min: number;
|
|
225
|
+
max: number;
|
|
226
|
+
colorMin?: string;
|
|
227
|
+
colorMax?: string;
|
|
228
|
+
scheme?: string | string[];
|
|
229
|
+
pivot?: number;
|
|
230
|
+
} | {
|
|
231
|
+
type: 'opacity';
|
|
232
|
+
channel: 'opacity';
|
|
233
|
+
title?: string;
|
|
234
|
+
min: number;
|
|
235
|
+
max: number;
|
|
236
|
+
/** The opacity at `min` and at `max`. */
|
|
237
|
+
opacityMin: number;
|
|
238
|
+
opacityMax: number;
|
|
239
|
+
/** The color the marks draw in. Defaults to the text color. */
|
|
240
|
+
color?: string;
|
|
241
|
+
};
|
|
242
|
+
/**
|
|
243
|
+
* How a segment or marker shows on its plot's automatic legend: its label, or
|
|
244
|
+
* the item itself. What the item leaves out - its color, its symbol, its line
|
|
245
|
+
* style - comes from how the segment or marker draws.
|
|
246
|
+
*/
|
|
247
|
+
export type MarkLegend = string | (Omit<LegendItem, 'name' | 'disabled'> & {
|
|
248
|
+
label: string;
|
|
249
|
+
});
|
|
250
|
+
/** What a legend reads each automatic section from: the series, or the channel a scale encodes. */
|
|
251
|
+
export type LegendChannel = 'series' | 'color' | 'opacity' | 'size' | 'symbol';
|
|
252
|
+
/**
|
|
253
|
+
* How to adjust one automatic section: its own configuration, minus what the
|
|
254
|
+
* plots compute for it. An entry with a `match` (one, or several in a list) adjusts
|
|
255
|
+
* only the sections titled so - by the field or function name, or as the
|
|
256
|
+
* legend shows it - and one without adjusts all of that channel's.
|
|
257
|
+
*/
|
|
258
|
+
export type LegendOverride<TSection extends {
|
|
259
|
+
type: string;
|
|
260
|
+
}, TComputed extends string> = (Omit<TSection, 'type' | TComputed> & {
|
|
261
|
+
match?: string;
|
|
262
|
+
}) | (Omit<TSection, 'type' | TComputed> & {
|
|
263
|
+
match?: string;
|
|
264
|
+
})[];
|
|
265
|
+
/**
|
|
266
|
+
* How to adjust what a `color` channel draws: the continuous section of a
|
|
267
|
+
* numeric one, or the discrete section of series a categorical one makes. It
|
|
268
|
+
* takes what both sections share, plus each one's own - what a section lacks
|
|
269
|
+
* is ignored. `interactive` takes either section's options.
|
|
270
|
+
*/
|
|
271
|
+
export type ColorOverride = Omit<ContinuousLegendSection, 'type' | 'min' | 'max' | 'colorMin' | 'colorMax' | 'scheme' | 'pivot' | 'opacity' | 'interactive'> & Pick<DiscreteLegendSection, 'layout' | 'navButton'> & {
|
|
272
|
+
interactive?: ContinuousInteractiveConfig & DiscreteInteractiveConfig;
|
|
273
|
+
/** Adjusts only the continuous section titled so. */
|
|
274
|
+
match?: string;
|
|
275
|
+
};
|
|
276
|
+
/**
|
|
277
|
+
* What a figure adds to, or changes in, its automatic legend, keeping what
|
|
278
|
+
* its plots read as: `items` after the plots' own series, in the same
|
|
279
|
+
* section, `sections` after the automatic ones, and one key per channel to
|
|
280
|
+
* adjust the section that channel draws - `series` the discrete section,
|
|
281
|
+
* `color` and `opacity` the continuous ones, `size` and `symbol` theirs. A
|
|
282
|
+
* categorical `color` is the series, so `color` adjusts the discrete section
|
|
283
|
+
* too (`series` wins where both set the same). Only `color` can make a
|
|
284
|
+
* ramp `interactive`, and only its first ramp is.
|
|
138
285
|
*/
|
|
139
|
-
export type
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
286
|
+
export type LegendExtension = {
|
|
287
|
+
items?: LegendItem[];
|
|
288
|
+
sections?: LegendSection[];
|
|
289
|
+
series?: Omit<DiscreteLegendSection, 'type' | 'items'>;
|
|
290
|
+
color?: ColorOverride | ColorOverride[];
|
|
291
|
+
opacity?: LegendOverride<ContinuousLegendSection, 'min' | 'max' | 'colorMin' | 'colorMax' | 'scheme' | 'pivot' | 'opacity' | 'interactive'>;
|
|
292
|
+
size?: LegendOverride<SizeLegendSection, 'domain' | 'range' | 'color' | 'filled' | 'symbol'>;
|
|
293
|
+
symbol?: LegendOverride<SymbolLegendSection, 'items' | 'color' | 'filled'>;
|
|
294
|
+
};
|
|
295
|
+
/** A segment or marker as the legend reads it: whether it names itself, the channels it draws with and the colors it draws in. */
|
|
296
|
+
export type LegendSource = {
|
|
297
|
+
type?: string;
|
|
298
|
+
series?: string;
|
|
299
|
+
data?: unknown[];
|
|
300
|
+
color?: unknown;
|
|
301
|
+
opacity?: unknown;
|
|
302
|
+
r?: unknown;
|
|
303
|
+
symbol?: unknown;
|
|
304
|
+
scales?: {
|
|
305
|
+
color?: ColorScaleConfig;
|
|
306
|
+
opacity?: OpacityScaleConfig;
|
|
307
|
+
symbol?: SymbolScaleConfig;
|
|
308
|
+
};
|
|
309
|
+
legend?: MarkLegend;
|
|
310
|
+
fill?: unknown;
|
|
311
|
+
stroke?: unknown;
|
|
312
|
+
styles?: {
|
|
313
|
+
fill?: unknown;
|
|
314
|
+
stroke?: unknown;
|
|
315
|
+
dotFill?: unknown;
|
|
316
|
+
dotStroke?: unknown;
|
|
317
|
+
dotSymbol?: unknown;
|
|
318
|
+
strokeDasharray?: unknown;
|
|
319
|
+
};
|
|
320
|
+
};
|
|
321
|
+
/** What a plot hands the legend to read its entries from. */
|
|
322
|
+
export type LegendPlot = {
|
|
323
|
+
resolvedSeries?: {
|
|
324
|
+
name: string;
|
|
325
|
+
}[];
|
|
326
|
+
colorForSeries?: (name: string) => string;
|
|
327
|
+
markers?: LegendSource[];
|
|
328
|
+
segments?: Record<string, LegendSource[] | undefined>;
|
|
329
|
+
/** The `[min, max]` a plot-level color ramp spans, when the plot has no `color` channel to read it from. */
|
|
330
|
+
colorDomain?: [number, number];
|
|
331
|
+
/** The `[min, max]` of a plot-level numeric `opacity` channel. */
|
|
332
|
+
opacityDomain?: [number, number];
|
|
333
|
+
channels?: {
|
|
334
|
+
r?: {
|
|
335
|
+
source?: unknown;
|
|
336
|
+
};
|
|
337
|
+
symbol?: {
|
|
338
|
+
source?: unknown;
|
|
339
|
+
};
|
|
340
|
+
color?: {
|
|
341
|
+
source?: unknown;
|
|
342
|
+
};
|
|
343
|
+
opacity?: {
|
|
344
|
+
source?: unknown;
|
|
345
|
+
};
|
|
346
|
+
};
|
|
347
|
+
scales?: {
|
|
348
|
+
r?: {
|
|
349
|
+
domain?: [number, number];
|
|
350
|
+
range?: [number, number];
|
|
351
|
+
};
|
|
352
|
+
color?: {
|
|
353
|
+
domain?: unknown;
|
|
354
|
+
scheme?: unknown;
|
|
355
|
+
pivot?: number;
|
|
356
|
+
};
|
|
357
|
+
opacity?: OpacityScaleConfig;
|
|
358
|
+
};
|
|
158
359
|
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { Accessor } from '../plots/data/common';
|
|
2
|
+
export type AxisValue = number | string | Date;
|
|
3
|
+
/**
|
|
4
|
+
* Every channel a plot maps from its rows, and what its accessor yields per
|
|
5
|
+
* row. Every channel is available on every plot kind; a kind with no use for
|
|
6
|
+
* one ignores it.
|
|
7
|
+
*/
|
|
8
|
+
export type ChannelValue = {
|
|
9
|
+
/** Horizontal position - configure its axis via `scales.x`. */
|
|
10
|
+
x: AxisValue;
|
|
11
|
+
/** Vertical position - configure its axis via `scales.y`. */
|
|
12
|
+
y: AxisValue;
|
|
13
|
+
/**
|
|
14
|
+
* Splits `data` into one series per distinct value - the structural
|
|
15
|
+
* grouping key. Defaults to `color` when omitted, so a single `color`
|
|
16
|
+
* accessor groups *and* colors series; pass both to split by one field
|
|
17
|
+
* while coloring by another.
|
|
18
|
+
*/
|
|
19
|
+
grouping: unknown;
|
|
20
|
+
/**
|
|
21
|
+
* Color value - splits `data` into one series per distinct value when
|
|
22
|
+
* `grouping` is unset. Configure the ramp via `scales.color`.
|
|
23
|
+
*/
|
|
24
|
+
color: unknown;
|
|
25
|
+
/** Continuous or categorical opacity value - configure the ramp via `scales.opacity`. */
|
|
26
|
+
opacity: unknown;
|
|
27
|
+
/** Categorical shape value - configure the mapping via `scales.symbol`. */
|
|
28
|
+
symbol: unknown;
|
|
29
|
+
/**
|
|
30
|
+
* Radius - bound to an auto sqrt scale, so *area* ends up proportional to
|
|
31
|
+
* the raw values (an already-scaled value gets double-scaled). A literal
|
|
32
|
+
* number is a fixed pixel radius instead. Configure via `scales.r`.
|
|
33
|
+
*/
|
|
34
|
+
r: number;
|
|
35
|
+
/** Vector/spike magnitude - a literal number is a fixed pixel length. Configure via `scales.length`. */
|
|
36
|
+
length: number;
|
|
37
|
+
};
|
|
38
|
+
/** Every channel a plot maps from its rows. */
|
|
39
|
+
export type ChannelName = keyof ChannelValue;
|
|
40
|
+
/** The position channels, each bound to the one axis scale every mark shares. */
|
|
41
|
+
export type AxisChannelName = 'x' | 'y';
|
|
42
|
+
/**
|
|
43
|
+
* The channels each consumer scales on its own - a plot's `scales.color` and
|
|
44
|
+
* a marker's own `scales.color` can disagree on purpose.
|
|
45
|
+
*/
|
|
46
|
+
export type IndependentChannelName = 'color' | 'grouping' | 'opacity' | 'symbol';
|
|
47
|
+
/** The size channels, which also take a literal number as a fixed pixel size that bypasses their scale. */
|
|
48
|
+
export type SizeChannelName = 'r' | 'length';
|
|
49
|
+
/** Every channel as a plot prop: a field key or accessor function (or a literal size, for a size channel). */
|
|
50
|
+
export type ChannelAccessors<TData extends Record<string, unknown>> = {
|
|
51
|
+
[K in keyof ChannelValue]?: Accessor<TData, ChannelValue[K]> | (K extends SizeChannelName ? number : never);
|
|
52
|
+
};
|
|
53
|
+
/** One channel's own resolved data accessor - mirrors svelteplot's own `ChannelAccessor`. */
|
|
54
|
+
export type ResolvedChannel<TData, TValue = AxisValue> = {
|
|
55
|
+
accessor: (row: TData) => TValue;
|
|
56
|
+
/** The channel as given - a field key or a function - unset when the channel falls back to a default. */
|
|
57
|
+
source?: string | ((row: TData) => TValue);
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Every channel as the "mapping" phase resolves it. `x`/`y` are always
|
|
61
|
+
* resolved; any other channel only when its prop is set, and a size channel
|
|
62
|
+
* stays a literal number when given one.
|
|
63
|
+
*/
|
|
64
|
+
export type ResolvedChannels<TData> = {
|
|
65
|
+
[K in keyof ChannelValue]?: ResolvedChannel<TData, ChannelValue[K]> | (K extends SizeChannelName ? number : never);
|
|
66
|
+
} & {
|
|
67
|
+
[K in AxisChannelName]: ResolvedChannel<TData, ChannelValue[K]>;
|
|
68
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { TimeValue } from './timeline';
|
|
3
|
+
import type { GridPlacement } from './grid';
|
|
4
|
+
import type { MarginConfig, TooltipConfig } from '../plots/props';
|
|
5
|
+
/** Where one cell sits among the slices: the timeline step and the facet it shows. */
|
|
6
|
+
export type SlicePlace = {
|
|
7
|
+
time?: TimeValue;
|
|
8
|
+
facet?: {
|
|
9
|
+
facetValue: string;
|
|
10
|
+
row?: string;
|
|
11
|
+
col?: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
/** What `Plot` hands each core it renders: one slice's rows and box. */
|
|
15
|
+
export type PlotCellContext<TRow extends Record<string, unknown>, TScales extends object = object> = {
|
|
16
|
+
/** This slice's rows - `undefined` when the plot draws from pre-built `series`. */
|
|
17
|
+
data: TRow[] | undefined;
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
/** Shared margin for every facet, when the facet config sizes one. */
|
|
21
|
+
margins?: MarginConfig;
|
|
22
|
+
tooltip?: TooltipConfig<TRow>;
|
|
23
|
+
/** Scales every slice shares, to merge under the author's own. */
|
|
24
|
+
scales?: TScales;
|
|
25
|
+
/** This slice's facet panel, as a {@link Pipeline.runData} over every panel resolved it. */
|
|
26
|
+
panel?: object;
|
|
27
|
+
/** Whether any row - the plot's own or a marker's - belongs in this slice; rows without a slicing field belong in all. */
|
|
28
|
+
keep: (row: TRow) => boolean;
|
|
29
|
+
};
|
|
30
|
+
export type PlotCellSnippet<TRow extends Record<string, unknown>, TScales extends object = object> = Snippet<[PlotCellContext<TRow, TScales>]>;
|
|
31
|
+
/** What `Plot` reads off a plot kind's core props. */
|
|
32
|
+
export type PlotCoreBase = GridPlacement & {
|
|
33
|
+
width: number;
|
|
34
|
+
height: number;
|
|
35
|
+
data?: unknown;
|
|
36
|
+
markers?: {
|
|
37
|
+
type: string;
|
|
38
|
+
}[];
|
|
39
|
+
scales?: object;
|
|
40
|
+
margins?: MarginConfig;
|
|
41
|
+
};
|
|
@@ -1,18 +1,88 @@
|
|
|
1
|
-
|
|
1
|
+
import type { SymbolType } from '../plots/constants';
|
|
2
|
+
import type { AxisChannelName, IndependentChannelName } from './mapping';
|
|
3
|
+
/** A continuous or categorical color ramp. */
|
|
4
|
+
export type ColorScaleConfig = {
|
|
5
|
+
/** `[min, max]` for a continuous ramp, or the category list for a categorical one. Auto-computed from the data when omitted. */
|
|
6
|
+
domain?: [number, number] | string[];
|
|
7
|
+
/**
|
|
8
|
+
* A named d3-scale-chromatic ramp (e.g. `'turbo'`, `'blues'`, `'rdylbu'` -
|
|
9
|
+
* case-insensitive), 2+ literal colors interpolated across `domain`, or a
|
|
10
|
+
* category → color map. Defaults to the theme's own 2-color ramp.
|
|
11
|
+
*/
|
|
12
|
+
scheme?: string | string[] | Record<string, string>;
|
|
13
|
+
/** Splits an array `scheme` into two halves meeting at this domain value (diverging). Ignored for a `Record` scheme. */
|
|
14
|
+
pivot?: number;
|
|
15
|
+
/** Fallback color for a missing/unmapped value. Defaults to `'#ccc'`. */
|
|
16
|
+
unknown?: string;
|
|
17
|
+
};
|
|
18
|
+
/** How groups sharing the same `grouping`/`color` value are ordered: `reverse` flips which sorts first (e.g. PyramidPlot's left/right sides). */
|
|
19
|
+
export type GroupingScaleConfig = {
|
|
20
|
+
reverse?: boolean;
|
|
21
|
+
};
|
|
22
|
+
/** A continuous or categorical opacity ramp - maps a value to a numeric `[0,1]`-ish opacity instead of a color. */
|
|
23
|
+
export type OpacityScaleConfig = {
|
|
24
|
+
/** `[min, max]` for a continuous ramp, or the category list for a categorical one. Auto-computed from the data when omitted. */
|
|
25
|
+
domain?: [number, number] | string[];
|
|
26
|
+
/** `[minOpacity, maxOpacity]` for continuous, or a category → opacity map. Defaults to the theme's own `continuous.opacityRange`. */
|
|
27
|
+
range?: [number, number] | Record<string, number>;
|
|
28
|
+
/** Fallback opacity for a missing/unmapped value. Defaults to `1`. */
|
|
29
|
+
unknown?: number;
|
|
30
|
+
};
|
|
31
|
+
/** A categorical shape ramp - maps distinct values to marker shapes. Always discrete. */
|
|
32
|
+
export type SymbolScaleConfig = {
|
|
33
|
+
domain?: string[];
|
|
34
|
+
/** Shapes cycled through in `domain` order, or a category → shape map. Defaults to a built-in cycle. */
|
|
35
|
+
range?: SymbolType[] | Record<string, SymbolType>;
|
|
36
|
+
unknown?: SymbolType;
|
|
37
|
+
};
|
|
38
|
+
/** Each independent channel's scale config, on a plot's `scales` and a marker's own. */
|
|
39
|
+
export type ChannelScaleConfig = {
|
|
40
|
+
color: ColorScaleConfig;
|
|
41
|
+
grouping: GroupingScaleConfig;
|
|
42
|
+
opacity: OpacityScaleConfig;
|
|
43
|
+
symbol: SymbolScaleConfig;
|
|
44
|
+
};
|
|
45
|
+
/** `scales.<channel>` for every channel in `TChannel` - the shared shape for both a plot's own `scales` prop and a marker's own. */
|
|
46
|
+
export type ChannelScalesConfig<TChannel extends IndependentChannelName = IndependentChannelName> = {
|
|
47
|
+
[K in TChannel]?: ChannelScaleConfig[K];
|
|
48
|
+
};
|
|
49
|
+
/** `r` (radius/size) config - plot-level only, consumed via {@link AxisBasedScalesConfig.r}. */
|
|
50
|
+
export type RScaleConfig = {
|
|
51
|
+
domain?: [number, number];
|
|
52
|
+
/** Pixel radius range, e.g. `[2, 20]`. Defaults to svelteplot's own. */
|
|
53
|
+
range?: [number, number];
|
|
54
|
+
};
|
|
55
|
+
/** `length` (vector/spike magnitude) config - plot-level only. */
|
|
56
|
+
export type LengthScaleConfig = {
|
|
57
|
+
domain?: [number, number];
|
|
58
|
+
/** Pixel length range, e.g. `[0, 60]`. Defaults to svelteplot's own. */
|
|
59
|
+
range?: [number, number];
|
|
60
|
+
};
|
|
61
|
+
/** Scale types that lay out distinct categories - an axis paired with one plays the "index" role, so the other is the plain magnitude/value axis. */
|
|
62
|
+
export declare const DISCRETE_SCALE_TYPES: readonly ["band", "categorical", "point", "ordinal"];
|
|
63
|
+
export type DiscreteScaleType = (typeof DISCRETE_SCALE_TYPES)[number];
|
|
64
|
+
/** Scale types that lay out a continuous time axis. */
|
|
65
|
+
export declare const TEMPORAL_SCALE_TYPES: readonly ["time", "utc"];
|
|
66
|
+
export type TemporalScaleType = (typeof TEMPORAL_SCALE_TYPES)[number];
|
|
67
|
+
/** Scale types that map a numeric domain continuously onto the range, differing only in the transform applied (identity, power, log, ...). */
|
|
68
|
+
export declare const CONTINUOUS_SCALE_TYPES: readonly ["linear", "pow", "sqrt", "log", "symlog"];
|
|
69
|
+
export type ContinuousScaleType = (typeof CONTINUOUS_SCALE_TYPES)[number];
|
|
70
|
+
/** Scale types that interpolate continuously along a single ramp (one end to the other, or around a cycle). */
|
|
71
|
+
export declare const SEQUENTIAL_SCALE_TYPES: readonly ["sequential", "cyclical", "quantile-cont"];
|
|
72
|
+
export type SequentialScaleType = (typeof SEQUENTIAL_SCALE_TYPES)[number];
|
|
73
|
+
/** Scale types that interpolate continuously along a ramp with a neutral midpoint, diverging to either side of it. */
|
|
74
|
+
export declare const DIVERGING_SCALE_TYPES: readonly ["diverging", "diverging-log", "diverging-pow", "diverging-sqrt", "diverging-symlog"];
|
|
75
|
+
export type DivergingScaleType = (typeof DIVERGING_SCALE_TYPES)[number];
|
|
76
|
+
/** Scale types that bucket a numeric domain into a fixed set of output values instead of interpolating. */
|
|
77
|
+
export declare const BINNED_SCALE_TYPES: readonly ["threshold", "quantile", "quantize"];
|
|
78
|
+
export type BinnedScaleType = (typeof BINNED_SCALE_TYPES)[number];
|
|
2
79
|
/**
|
|
3
|
-
*
|
|
4
|
-
* `
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Used for both `x` and `y` entries in `ScalesConfig`. X-specific
|
|
8
|
-
* fields (`labelAnchor`, `tickRotate`) are accepted on `y` too; svelteplot
|
|
9
|
-
* silently ignores any inapplicable options.
|
|
10
|
-
*
|
|
11
|
-
* `TData` is the plot's own row type — it's what {@link AxisScale.sort}
|
|
12
|
-
* receives, so ordering isn't limited to comparing this axis's own value.
|
|
80
|
+
* Scale overrides for one plot axis - svelteplot's `ScaleOptions` and
|
|
81
|
+
* `XScaleOptions`, plus this package's own fields. `TData` is the row type
|
|
82
|
+
* {@link AxisScale.sort} compares.
|
|
13
83
|
*/
|
|
14
84
|
export type AxisScale<TData = Record<string, unknown>> = {
|
|
15
|
-
type?: 'auto' |
|
|
85
|
+
type?: 'auto' | ContinuousScaleType | TemporalScaleType | DiscreteScaleType | SequentialScaleType | DivergingScaleType | BinnedScaleType;
|
|
16
86
|
domain?: (number | string | boolean | Date | null)[];
|
|
17
87
|
range?: (number | string | boolean | Date | null)[];
|
|
18
88
|
reverse?: boolean;
|
|
@@ -37,6 +107,8 @@ export type AxisScale<TData = Record<string, unknown>> = {
|
|
|
37
107
|
strokeOpacity?: number;
|
|
38
108
|
strokeDasharray?: string;
|
|
39
109
|
};
|
|
110
|
+
/** Whether the axis' ticks and title draw: `'hidden'` keeps their space (so aligned panels stay aligned), `'none'` gives it back. Defaults to `'visible'`. */
|
|
111
|
+
axisDisplay?: 'visible' | 'hidden' | 'none';
|
|
40
112
|
padding?: number;
|
|
41
113
|
paddingInner?: number;
|
|
42
114
|
paddingOuter?: number;
|
|
@@ -50,17 +122,13 @@ export type AxisScale<TData = Record<string, unknown>> = {
|
|
|
50
122
|
tickPadding?: number;
|
|
51
123
|
tickRotate?: number;
|
|
52
124
|
tickFormat?: false | Intl.NumberFormatOptions | Intl.DateTimeFormatOptions | ((d: unknown, index: number, ticks: unknown[]) => string | string[]);
|
|
53
|
-
seriesLayout?: 'overlap' | 'grouped' | 'stacked';
|
|
54
|
-
seriesPadding?: number;
|
|
55
125
|
};
|
|
56
|
-
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
* no x/y/z axis pair). `TData` threads through to {@link AxisScale.sort} on
|
|
60
|
-
* each axis.
|
|
61
|
-
*/
|
|
62
|
-
export type AxisBasedScalesConfig<TData = Record<string, unknown>> = {
|
|
63
|
-
x?: AxisScale<TData>;
|
|
64
|
-
y?: AxisScale<TData>;
|
|
65
|
-
z?: AxisScale<TData>;
|
|
126
|
+
/** Each {@link AxisChannelName}'s own scale-config shape - both use {@link AxisScale}. */
|
|
127
|
+
export type AxisChannelScaleConfig<TData = Record<string, unknown>> = {
|
|
128
|
+
[K in AxisChannelName]?: AxisScale<TData>;
|
|
66
129
|
};
|
|
130
|
+
/** The `scales` prop of every axis-based plot kind. */
|
|
131
|
+
export type AxisBasedScalesConfig<TData = Record<string, unknown>> = AxisChannelScaleConfig<TData> & {
|
|
132
|
+
r?: RScaleConfig;
|
|
133
|
+
length?: LengthScaleConfig;
|
|
134
|
+
} & ChannelScalesConfig;
|
|
@@ -1 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
// ── Axis channels (x/y): one scale shared by every mark ─────────────────────
|
|
2
|
+
/** Scale types that lay out distinct categories - an axis paired with one plays the "index" role, so the other is the plain magnitude/value axis. */
|
|
3
|
+
export const DISCRETE_SCALE_TYPES = ['band', 'categorical', 'point', 'ordinal'];
|
|
4
|
+
/** Scale types that lay out a continuous time axis. */
|
|
5
|
+
export const TEMPORAL_SCALE_TYPES = ['time', 'utc'];
|
|
6
|
+
/** Scale types that map a numeric domain continuously onto the range, differing only in the transform applied (identity, power, log, ...). */
|
|
7
|
+
export const CONTINUOUS_SCALE_TYPES = ['linear', 'pow', 'sqrt', 'log', 'symlog'];
|
|
8
|
+
/** Scale types that interpolate continuously along a single ramp (one end to the other, or around a cycle). */
|
|
9
|
+
export const SEQUENTIAL_SCALE_TYPES = ['sequential', 'cyclical', 'quantile-cont'];
|
|
10
|
+
/** Scale types that interpolate continuously along a ramp with a neutral midpoint, diverging to either side of it. */
|
|
11
|
+
export const DIVERGING_SCALE_TYPES = [
|
|
12
|
+
'diverging',
|
|
13
|
+
'diverging-log',
|
|
14
|
+
'diverging-pow',
|
|
15
|
+
'diverging-sqrt',
|
|
16
|
+
'diverging-symlog'
|
|
17
|
+
];
|
|
18
|
+
/** Scale types that bucket a numeric domain into a fixed set of output values instead of interpolating. */
|
|
19
|
+
export const BINNED_SCALE_TYPES = ['threshold', 'quantile', 'quantize'];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { StrokeStyle } from '../../plots/styling';
|
|
2
|
+
/** Band options for `type: 'bollinger'` - mirrors svelteplot's own `BollingerOptions` field-for-field. */
|
|
3
|
+
export type BollingerStatisticOptions = {
|
|
4
|
+
/** Window size (the moving average's own `k`); svelteplot's default is 20. */
|
|
5
|
+
n?: number;
|
|
6
|
+
/** Band radius, a multiple of standard deviations; svelteplot's default is 2. */
|
|
7
|
+
k?: number;
|
|
8
|
+
/**
|
|
9
|
+
* `stroke`/`strokeOpacity` style the moving-average line; `bandFill`
|
|
10
|
+
* styles the ±k·σ band - confirmed empirically as the only two style
|
|
11
|
+
* channels svelteplot's own `BollingerX`/`Y` actually route through
|
|
12
|
+
* (`strokeWidth` and the rest of `StrokeStyle` are accepted but have no
|
|
13
|
+
* visible effect on the line, so deliberately not offered here).
|
|
14
|
+
*/
|
|
15
|
+
styles?: Pick<StrokeStyle, 'stroke' | 'strokeOpacity'> & {
|
|
16
|
+
bandFill?: string;
|
|
17
|
+
};
|
|
18
|
+
};
|