@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.
Files changed (839) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -0
  3. package/README.md +112 -553
  4. package/dist/configuration/config.svelte.d.ts +5 -5
  5. package/dist/configuration/config.svelte.js +142 -46
  6. package/dist/configuration/fonts.d.ts +6 -0
  7. package/dist/configuration/fonts.js +6 -0
  8. package/dist/configuration/themes/compact.d.ts +2 -2
  9. package/dist/configuration/themes/compact.js +1 -1
  10. package/dist/configuration/themes/dark.d.ts +2 -2
  11. package/dist/configuration/themes/dark.js +5 -4
  12. package/dist/configuration/themes/default.d.ts +8 -3
  13. package/dist/configuration/themes/default.js +8 -2
  14. package/dist/configuration/themes/editorial.d.ts +2 -2
  15. package/dist/configuration/themes/editorial.js +2 -2
  16. package/dist/configuration/themes/index.d.ts +545 -80
  17. package/dist/configuration/themes/index.js +6 -5
  18. package/dist/index.d.ts +35 -48
  19. package/dist/index.js +20 -35
  20. package/dist/layout/base/BasePlotLayout.svelte +325 -0
  21. package/dist/layout/base/BasePlotLayout.svelte.d.ts +111 -0
  22. package/dist/layout/composer/PlotComposer.svelte +94 -0
  23. package/dist/layout/composer/PlotComposer.svelte.d.ts +13 -0
  24. package/dist/layout/coordinates/CameraFit.svelte +4 -4
  25. package/dist/layout/coordinates/CoordinatesLayout.svelte +11 -3
  26. package/dist/layout/coordinates/CoordinatesLayout.svelte.d.ts +6 -2
  27. package/dist/layout/coordinates/camera.svelte.d.ts +1 -1
  28. package/dist/layout/coordinates/camera.svelte.js +6 -6
  29. package/dist/layout/coordinates/projections/argentina.js +3 -3
  30. package/dist/layout/coordinates/projections/fit.js +1 -1
  31. package/dist/layout/coordinates/resolveCameraTarget.d.ts +1 -1
  32. package/dist/layout/coordinates/resolveProjection.d.ts +1 -1
  33. package/dist/layout/coordinates/resolveProjection.js +2 -2
  34. package/dist/layout/coordinates/rotate.svelte.d.ts +3 -3
  35. package/dist/layout/coordinates/rotate.svelte.js +8 -8
  36. package/dist/layout/coordinates/zoom.svelte.d.ts +1 -1
  37. package/dist/layout/facet/FacetIndicator.svelte +23 -23
  38. package/dist/layout/facet/FacetLayout.svelte +435 -398
  39. package/dist/layout/facet/FacetLayout.svelte.d.ts +9 -3
  40. package/dist/layout/facet/axes.d.ts +16 -0
  41. package/dist/layout/facet/axes.js +25 -0
  42. package/dist/layout/facet/config.d.ts +32 -0
  43. package/dist/layout/facet/config.js +82 -0
  44. package/dist/layout/figure/Figure.svelte +177 -0
  45. package/dist/layout/figure/Figure.svelte.d.ts +14 -0
  46. package/dist/layout/figure/FigureChrome.svelte +341 -0
  47. package/dist/layout/figure/FigureChrome.svelte.d.ts +21 -0
  48. package/dist/layout/geometry/FrameClip.svelte +45 -0
  49. package/dist/layout/geometry/FrameClip.svelte.d.ts +8 -0
  50. package/dist/layout/geometry/FrameClipping.d.ts +24 -0
  51. package/dist/layout/geometry/FrameClipping.js +40 -0
  52. package/dist/layout/geometry/GeometryLayout.svelte +287 -224
  53. package/dist/layout/geometry/GeometryLayout.svelte.d.ts +10 -10
  54. package/dist/layout/grid/Grid.svelte +194 -0
  55. package/dist/layout/grid/Grid.svelte.d.ts +26 -0
  56. package/dist/layout/grid/GridAlignment.svelte.d.ts +31 -0
  57. package/dist/layout/grid/GridAlignment.svelte.js +56 -0
  58. package/dist/layout/grid/GridCell.svelte +141 -0
  59. package/dist/layout/grid/GridCell.svelte.d.ts +17 -0
  60. package/dist/layout/grid/GridCellsRegistry.svelte.d.ts +52 -0
  61. package/dist/layout/grid/GridCellsRegistry.svelte.js +70 -0
  62. package/dist/layout/grid/GridPlan.d.ts +49 -0
  63. package/dist/layout/grid/GridPlan.js +167 -0
  64. package/dist/layout/grid/Tags.d.ts +8 -0
  65. package/dist/layout/grid/Tags.js +39 -0
  66. package/dist/layout/hover/HoverScope.svelte +11 -0
  67. package/dist/layout/hover/HoverScope.svelte.d.ts +8 -0
  68. package/dist/layout/hover/HoverSettings.d.ts +34 -0
  69. package/dist/layout/hover/HoverSettings.js +52 -0
  70. package/dist/layout/hover/HoverState.svelte.d.ts +47 -0
  71. package/dist/layout/hover/HoverState.svelte.js +99 -0
  72. package/dist/layout/hover/PlotHover.svelte.d.ts +63 -0
  73. package/dist/layout/hover/PlotHover.svelte.js +133 -0
  74. package/dist/layout/interaction/PlotInteraction.svelte.d.ts +38 -0
  75. package/dist/layout/interaction/PlotInteraction.svelte.js +56 -0
  76. package/dist/layout/legend/AxisNumberFormat.d.ts +12 -0
  77. package/dist/layout/legend/AxisNumberFormat.js +25 -0
  78. package/dist/layout/legend/ContinuousSection.svelte +363 -351
  79. package/dist/layout/legend/DisabledStyle.d.ts +19 -0
  80. package/dist/layout/legend/DisabledStyle.js +57 -0
  81. package/dist/layout/legend/DiscreteBadgeItem.svelte +6 -3
  82. package/dist/layout/legend/DiscreteSection.svelte +32 -32
  83. package/dist/layout/legend/DiscreteSwatchItem.svelte +4 -1
  84. package/dist/layout/legend/DiscreteSymbolIcon.svelte +14 -9
  85. package/dist/layout/legend/LegendChannels.d.ts +21 -0
  86. package/dist/layout/legend/LegendChannels.js +221 -0
  87. package/dist/layout/legend/LegendLayout.svelte +49 -43
  88. package/dist/layout/legend/LegendState.svelte.d.ts +84 -0
  89. package/dist/layout/legend/LegendState.svelte.js +333 -0
  90. package/dist/layout/legend/LegendText.d.ts +12 -0
  91. package/dist/layout/legend/LegendText.js +22 -0
  92. package/dist/layout/legend/SizeSection.svelte +84 -0
  93. package/dist/layout/legend/SizeSection.svelte.d.ts +7 -0
  94. package/dist/layout/legend/SymbolSection.svelte +31 -0
  95. package/dist/layout/legend/SymbolSection.svelte.d.ts +8 -0
  96. package/dist/layout/margins/Box.d.ts +84 -0
  97. package/dist/layout/margins/Box.js +138 -0
  98. package/dist/layout/margins/Margins.d.ts +37 -0
  99. package/dist/layout/margins/Margins.js +71 -0
  100. package/dist/layout/margins/PlotMargins.svelte.d.ts +101 -0
  101. package/dist/layout/margins/PlotMargins.svelte.js +219 -0
  102. package/dist/layout/plot/Core.svelte +61 -0
  103. package/dist/layout/plot/Core.svelte.d.ts +41 -0
  104. package/dist/layout/plot/PanelRun.svelte +28 -0
  105. package/dist/{charts/heatmap/Chart.svelte.d.ts → layout/plot/PanelRun.svelte.d.ts} +11 -7
  106. package/dist/layout/plot/Plot.svelte +287 -0
  107. package/dist/layout/plot/Plot.svelte.d.ts +49 -0
  108. package/dist/layout/plot/PlotContext.d.ts +41 -0
  109. package/dist/layout/plot/PlotContext.js +46 -0
  110. package/dist/layout/plot/PublicPlotContext.d.ts +131 -0
  111. package/dist/layout/plot/PublicPlotContext.js +240 -0
  112. package/dist/layout/plot/Slice.d.ts +44 -0
  113. package/dist/layout/plot/Slice.js +100 -0
  114. package/dist/layout/plot/usePlot.d.ts +9 -0
  115. package/dist/layout/plot/usePlot.js +13 -0
  116. package/dist/layout/scales/EdgeTicks.d.ts +39 -0
  117. package/dist/layout/scales/EdgeTicks.js +82 -0
  118. package/dist/layout/scales/NiceTicks.d.ts +40 -0
  119. package/dist/layout/scales/NiceTicks.js +72 -0
  120. package/dist/layout/scales/ScalesLayout.svelte +275 -206
  121. package/dist/layout/scales/ScalesLayout.svelte.d.ts +7 -1
  122. package/dist/layout/scales/SveltePlotScale.d.ts +15 -0
  123. package/dist/layout/scales/SveltePlotScale.js +79 -0
  124. package/dist/layout/styles/StylesLayout.svelte +65 -65
  125. package/dist/layout/styles/TileLayer.svelte +78 -76
  126. package/dist/layout/styles/TileLayer.svelte.d.ts +1 -1
  127. package/dist/layout/styles/ValueLabels.d.ts +97 -0
  128. package/dist/layout/styles/ValueLabels.js +238 -0
  129. package/dist/layout/timeline/Timeline.svelte +83 -74
  130. package/dist/layout/timeline/Timeline.svelte.d.ts +2 -0
  131. package/dist/layout/timeline/TimelineFrame.svelte +86 -0
  132. package/dist/layout/timeline/TimelineFrame.svelte.d.ts +16 -0
  133. package/dist/layout/timeline/TimelineLayout.svelte +140 -169
  134. package/dist/layout/timeline/TimelineLayout.svelte.d.ts +7 -3
  135. package/dist/layout/timeline/TimelinePlayer.svelte +195 -0
  136. package/dist/layout/timeline/TimelinePlayer.svelte.d.ts +7 -0
  137. package/dist/layout/timeline/TimelineRule.svelte +51 -0
  138. package/dist/layout/timeline/TimelineRule.svelte.d.ts +7 -0
  139. package/dist/layout/timeline/TimelineState.svelte.d.ts +90 -0
  140. package/dist/layout/timeline/TimelineState.svelte.js +260 -0
  141. package/dist/layout/timeline/TimelineSteps.d.ts +24 -0
  142. package/dist/layout/timeline/TimelineSteps.js +48 -0
  143. package/dist/layout/timeline/TimelineTime.d.ts +18 -0
  144. package/dist/layout/timeline/TimelineTime.js +117 -0
  145. package/dist/layout/tooltip/Tooltip.svelte +85 -85
  146. package/dist/layout/tooltip/Tooltip.svelte.d.ts +45 -24
  147. package/dist/layout/tooltip/TooltipState.svelte.d.ts +67 -0
  148. package/dist/layout/tooltip/TooltipState.svelte.js +126 -0
  149. package/dist/markers/MarkerKinds.d.ts +173 -0
  150. package/dist/markers/MarkerKinds.js +51 -0
  151. package/dist/markers/area/AreaMarker.svelte +110 -0
  152. package/dist/markers/area/AreaMarker.svelte.d.ts +7 -0
  153. package/dist/markers/arrow/ArrowMarker.svelte +28 -0
  154. package/dist/markers/arrow/ArrowMarker.svelte.d.ts +7 -0
  155. package/dist/markers/{BarMarker.svelte → bar/BarMarker.svelte} +54 -52
  156. package/dist/markers/{BarMarker.svelte.d.ts → bar/BarMarker.svelte.d.ts} +1 -1
  157. package/dist/markers/bollinger/BollingerMarker.svelte +44 -0
  158. package/dist/markers/bollinger/BollingerMarker.svelte.d.ts +7 -0
  159. package/dist/markers/box/BoxMarker.svelte +143 -0
  160. package/dist/markers/box/BoxMarker.svelte.d.ts +7 -0
  161. package/dist/markers/brush/BrushMarker.svelte +32 -0
  162. package/dist/markers/brush/BrushMarker.svelte.d.ts +7 -0
  163. package/dist/markers/cell/CellMarker.svelte +27 -0
  164. package/dist/markers/{CellMarker.svelte.d.ts → cell/CellMarker.svelte.d.ts} +1 -1
  165. package/dist/markers/contour/ContourClipMarker.svelte +83 -0
  166. package/dist/markers/{ContourClipMarker.svelte.d.ts → contour/ContourClipMarker.svelte.d.ts} +1 -1
  167. package/dist/markers/contour/ContourMarker.svelte +28 -0
  168. package/dist/markers/{ContourMarker.svelte.d.ts → contour/ContourMarker.svelte.d.ts} +1 -1
  169. package/dist/markers/delaunay/DelaunayLinkMarker.svelte +26 -0
  170. package/dist/markers/delaunay/DelaunayLinkMarker.svelte.d.ts +7 -0
  171. package/dist/markers/delaunay/DelaunayMeshMarker.svelte +26 -0
  172. package/dist/markers/delaunay/DelaunayMeshMarker.svelte.d.ts +7 -0
  173. package/dist/markers/delta/Delta.d.ts +21 -0
  174. package/dist/markers/delta/Delta.js +60 -0
  175. package/dist/markers/delta/DeltaMarker.svelte +96 -0
  176. package/dist/markers/{DeltaMarker.svelte.d.ts → delta/DeltaMarker.svelte.d.ts} +2 -2
  177. package/dist/markers/density/DensityMarker.svelte +63 -0
  178. package/dist/markers/density/DensityMarker.svelte.d.ts +7 -0
  179. package/dist/markers/difference/DifferenceMarker.svelte +30 -0
  180. package/dist/markers/difference/DifferenceMarker.svelte.d.ts +7 -0
  181. package/dist/markers/dot/DotMarker.svelte +102 -0
  182. package/dist/markers/{DotMarker.svelte.d.ts → dot/DotMarker.svelte.d.ts} +5 -17
  183. package/dist/markers/geo/GeoFeaturesMarker.svelte +39 -0
  184. package/dist/markers/{GeoFeaturesMarker.svelte.d.ts → geo/GeoFeaturesMarker.svelte.d.ts} +1 -1
  185. package/dist/markers/geo/GeoHoverMarker.svelte +28 -0
  186. package/dist/markers/{GeoHoverMarker.svelte.d.ts → geo/GeoHoverMarker.svelte.d.ts} +2 -2
  187. package/dist/markers/geo/GraticuleMarker.svelte +18 -0
  188. package/dist/markers/{GraticuleMarker.svelte.d.ts → geo/GraticuleMarker.svelte.d.ts} +1 -1
  189. package/dist/markers/geo/SphereMarker.svelte +15 -0
  190. package/dist/markers/{SphereMarker.svelte.d.ts → geo/SphereMarker.svelte.d.ts} +1 -1
  191. package/dist/markers/hover/HoverMarker.svelte +252 -0
  192. package/dist/markers/{HoverMarker.svelte.d.ts → hover/HoverMarker.svelte.d.ts} +10 -10
  193. package/dist/markers/hull/HullMarker.svelte +25 -0
  194. package/dist/markers/hull/HullMarker.svelte.d.ts +7 -0
  195. package/dist/markers/image/ImageMarker.svelte +22 -0
  196. package/dist/markers/image/ImageMarker.svelte.d.ts +7 -0
  197. package/dist/markers/inset/InsetMarker.svelte +184 -150
  198. package/dist/markers/inset/InsetMarker.svelte.d.ts +4 -4
  199. package/dist/markers/inset/insetLayout.d.ts +1 -1
  200. package/dist/markers/inset/insetLayout.js +6 -2
  201. package/dist/markers/inset/insetProjection.d.ts +1 -1
  202. package/dist/markers/inset/insetProjection.js +3 -3
  203. package/dist/markers/line/LineMarker.svelte +30 -0
  204. package/dist/markers/{LineMarker.svelte.d.ts → line/LineMarker.svelte.d.ts} +1 -1
  205. package/dist/markers/link/LinkMarker.svelte +47 -0
  206. package/dist/markers/{LinkMarker.svelte.d.ts → link/LinkMarker.svelte.d.ts} +1 -1
  207. package/dist/markers/raster/RasterMarker.svelte +31 -0
  208. package/dist/markers/raster/RasterMarker.svelte.d.ts +7 -0
  209. package/dist/markers/rect/RectMarker.svelte +62 -0
  210. package/dist/markers/rect/RectMarker.svelte.d.ts +7 -0
  211. package/dist/markers/regression/RegressionMarker.svelte +60 -0
  212. package/dist/markers/regression/RegressionMarker.svelte.d.ts +7 -0
  213. package/dist/markers/rule/RuleMarker.svelte +47 -0
  214. package/dist/markers/{RuleMarker.svelte.d.ts → rule/RuleMarker.svelte.d.ts} +2 -5
  215. package/dist/markers/text/Declutter.d.ts +35 -0
  216. package/dist/markers/text/Declutter.js +157 -0
  217. package/dist/markers/text/TextMarker.svelte +244 -0
  218. package/dist/markers/{TextMarker.svelte.d.ts → text/TextMarker.svelte.d.ts} +5 -9
  219. package/dist/markers/tick/TickMarker.svelte +44 -0
  220. package/dist/markers/tick/TickMarker.svelte.d.ts +7 -0
  221. package/dist/markers/trail/TrailMarker.svelte +27 -0
  222. package/dist/markers/trail/TrailMarker.svelte.d.ts +7 -0
  223. package/dist/markers/utils/BandNudge.d.ts +22 -0
  224. package/dist/markers/utils/BandNudge.js +23 -0
  225. package/dist/markers/utils/MarkerChannels.d.ts +49 -0
  226. package/dist/markers/utils/MarkerChannels.js +97 -0
  227. package/dist/markers/vector/VectorMarker.svelte +29 -0
  228. package/dist/markers/{VectorMarker.svelte.d.ts → vector/VectorMarker.svelte.d.ts} +1 -1
  229. package/dist/markers/voronoi/VoronoiMarker.svelte +26 -0
  230. package/dist/markers/voronoi/VoronoiMarker.svelte.d.ts +7 -0
  231. package/dist/markers/voronoi/VoronoiMeshMarker.svelte +26 -0
  232. package/dist/markers/voronoi/VoronoiMeshMarker.svelte.d.ts +7 -0
  233. package/dist/markers/waffle/WaffleMarker.svelte +56 -0
  234. package/dist/markers/waffle/WaffleMarker.svelte.d.ts +7 -0
  235. package/dist/phases/Pipeline.d.ts +108 -0
  236. package/dist/phases/Pipeline.js +227 -0
  237. package/dist/phases/data/DataPhase.d.ts +19 -0
  238. package/dist/phases/data/DataPhase.js +85 -0
  239. package/dist/phases/data/PlotAxes.d.ts +75 -0
  240. package/dist/phases/data/PlotAxes.js +151 -0
  241. package/dist/phases/facet/FacetPanels.d.ts +54 -0
  242. package/dist/phases/facet/FacetPanels.js +95 -0
  243. package/dist/phases/facet/FacetPhase.d.ts +11 -0
  244. package/dist/phases/facet/FacetPhase.js +28 -0
  245. package/dist/phases/hover/HoverPhase.d.ts +36 -0
  246. package/dist/phases/hover/HoverPhase.js +109 -0
  247. package/dist/phases/mapping/MappingPhase.d.ts +17 -0
  248. package/dist/phases/mapping/MappingPhase.js +40 -0
  249. package/dist/phases/markers/MarkersPhase.d.ts +14 -0
  250. package/dist/phases/markers/MarkersPhase.js +27 -0
  251. package/dist/phases/scales/MarkerAxisValues.d.ts +12 -0
  252. package/dist/phases/scales/MarkerAxisValues.js +34 -0
  253. package/dist/phases/scales/ScalesPhase.d.ts +29 -0
  254. package/dist/phases/scales/ScalesPhase.js +153 -0
  255. package/dist/phases/sharedScales/SharedScalesPhase.d.ts +58 -0
  256. package/dist/phases/sharedScales/SharedScalesPhase.js +171 -0
  257. package/dist/phases/statistics/AuthorMarkers.d.ts +43 -0
  258. package/dist/phases/statistics/AuthorMarkers.js +69 -0
  259. package/dist/phases/statistics/MarkerGrouping.d.ts +48 -0
  260. package/dist/phases/statistics/MarkerGrouping.js +113 -0
  261. package/dist/phases/statistics/Statistics.d.ts +53 -0
  262. package/dist/phases/statistics/Statistics.js +156 -0
  263. package/dist/phases/statistics/StatisticsPhase.d.ts +18 -0
  264. package/dist/phases/statistics/StatisticsPhase.js +67 -0
  265. package/dist/phases/statistics/methods/BollingerStatistic.d.ts +9 -0
  266. package/dist/phases/statistics/methods/BollingerStatistic.js +18 -0
  267. package/dist/phases/statistics/methods/BoxStatistic.d.ts +9 -0
  268. package/dist/phases/statistics/methods/BoxStatistic.js +18 -0
  269. package/dist/phases/statistics/methods/Density2dStatistic.d.ts +9 -0
  270. package/dist/phases/statistics/methods/Density2dStatistic.js +18 -0
  271. package/dist/phases/statistics/methods/DensityStatistic.d.ts +12 -0
  272. package/dist/phases/statistics/methods/DensityStatistic.js +29 -0
  273. package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +12 -0
  274. package/dist/phases/statistics/methods/MovingAverageStatistic.js +30 -0
  275. package/dist/phases/statistics/methods/RegressionStatistic.d.ts +9 -0
  276. package/dist/phases/statistics/methods/RegressionStatistic.js +21 -0
  277. package/dist/phases/styles/StylesPhase.d.ts +13 -0
  278. package/dist/phases/styles/StylesPhase.js +17 -0
  279. package/dist/phases/tooltip/TooltipPhase.d.ts +14 -0
  280. package/dist/phases/tooltip/TooltipPhase.js +17 -0
  281. package/dist/phases/transforms/ProcessedPositions.d.ts +30 -0
  282. package/dist/phases/transforms/ProcessedPositions.js +74 -0
  283. package/dist/phases/transforms/Transforms.d.ts +42 -0
  284. package/dist/phases/transforms/Transforms.js +130 -0
  285. package/dist/phases/transforms/TransformsPhase.d.ts +27 -0
  286. package/dist/phases/transforms/TransformsPhase.js +205 -0
  287. package/dist/phases/transforms/methods/AnchorBar.d.ts +13 -0
  288. package/dist/phases/transforms/methods/AnchorBar.js +21 -0
  289. package/dist/phases/transforms/methods/BinTransform.d.ts +7 -0
  290. package/dist/phases/transforms/methods/BinTransform.js +48 -0
  291. package/dist/phases/transforms/methods/DensityTransform.d.ts +6 -0
  292. package/dist/phases/transforms/methods/DensityTransform.js +13 -0
  293. package/dist/phases/transforms/methods/GroupTransform.d.ts +8 -0
  294. package/dist/phases/transforms/methods/GroupTransform.js +39 -0
  295. package/dist/phases/transforms/methods/NormalizeTransform.d.ts +10 -0
  296. package/dist/phases/transforms/methods/NormalizeTransform.js +30 -0
  297. package/dist/phases/transforms/methods/OrderTransform.d.ts +16 -0
  298. package/dist/phases/transforms/methods/OrderTransform.js +43 -0
  299. package/dist/phases/transforms/methods/PerGroup.d.ts +11 -0
  300. package/dist/phases/transforms/methods/PerGroup.js +39 -0
  301. package/dist/phases/transforms/methods/PositionTransform.d.ts +15 -0
  302. package/dist/phases/transforms/methods/PositionTransform.js +74 -0
  303. package/dist/phases/transforms/methods/StackTransform.d.ts +8 -0
  304. package/dist/phases/transforms/methods/StackTransform.js +29 -0
  305. package/dist/phases/transforms/methods/WindowTransform.d.ts +8 -0
  306. package/dist/phases/transforms/methods/WindowTransform.js +23 -0
  307. package/dist/plots/area/Plot.svelte +42 -0
  308. package/dist/plots/{heatmap/ValueLabels.svelte.d.ts → area/Plot.svelte.d.ts} +8 -16
  309. package/dist/plots/area/defaults.d.ts +4 -0
  310. package/dist/plots/area/defaults.js +21 -0
  311. package/dist/plots/area/markers.d.ts +14 -0
  312. package/dist/plots/area/markers.js +39 -0
  313. package/dist/plots/bar/Plot.svelte +33 -438
  314. package/dist/plots/bar/Plot.svelte.d.ts +5 -8
  315. package/dist/plots/bar/defaults.d.ts +9 -0
  316. package/dist/plots/bar/defaults.js +88 -0
  317. package/dist/plots/bar/markers.d.ts +45 -0
  318. package/dist/plots/bar/markers.js +233 -0
  319. package/dist/plots/box/BoxSummaries.d.ts +19 -0
  320. package/dist/plots/box/BoxSummaries.js +101 -0
  321. package/dist/plots/box/Plot.svelte +42 -0
  322. package/dist/plots/box/Plot.svelte.d.ts +26 -0
  323. package/dist/plots/box/defaults.d.ts +12 -0
  324. package/dist/plots/box/defaults.js +34 -0
  325. package/dist/plots/box/markers.d.ts +12 -0
  326. package/dist/plots/box/markers.js +34 -0
  327. package/dist/plots/geo/Core.svelte +151 -0
  328. package/dist/plots/geo/Core.svelte.d.ts +25 -0
  329. package/dist/plots/geo/Plot.svelte +103 -324
  330. package/dist/plots/geo/Plot.svelte.d.ts +5 -9
  331. package/dist/plots/geo/defaults.d.ts +4 -0
  332. package/dist/plots/geo/defaults.js +16 -0
  333. package/dist/plots/geo/features.svelte.d.ts +5 -0
  334. package/dist/plots/geo/features.svelte.js +44 -0
  335. package/dist/plots/geo/phases/data.d.ts +6 -0
  336. package/dist/plots/geo/phases/data.js +26 -0
  337. package/dist/plots/geo/phases/hover.d.ts +9 -0
  338. package/dist/plots/geo/phases/hover.js +45 -0
  339. package/dist/plots/geo/phases/markers.d.ts +9 -0
  340. package/dist/plots/geo/phases/markers.js +75 -0
  341. package/dist/plots/geo/phases/scales.d.ts +10 -0
  342. package/dist/plots/geo/phases/scales.js +85 -0
  343. package/dist/plots/geo/phases/tooltip.d.ts +3 -0
  344. package/dist/plots/geo/phases/tooltip.js +5 -0
  345. package/dist/plots/geo/slices.d.ts +18 -0
  346. package/dist/plots/geo/slices.js +59 -0
  347. package/dist/plots/heatmap/Plot.svelte +55 -249
  348. package/dist/plots/heatmap/Plot.svelte.d.ts +5 -8
  349. package/dist/plots/heatmap/defaults.d.ts +11 -0
  350. package/dist/plots/heatmap/defaults.js +91 -0
  351. package/dist/plots/heatmap/markers.d.ts +17 -0
  352. package/dist/plots/heatmap/markers.js +142 -0
  353. package/dist/plots/histogram/Plot.svelte +45 -0
  354. package/dist/plots/histogram/Plot.svelte.d.ts +26 -0
  355. package/dist/plots/histogram/defaults.d.ts +9 -0
  356. package/dist/plots/histogram/defaults.js +87 -0
  357. package/dist/plots/histogram/markers.d.ts +18 -0
  358. package/dist/plots/histogram/markers.js +89 -0
  359. package/dist/plots/line/Plot.svelte +37 -268
  360. package/dist/plots/line/Plot.svelte.d.ts +3 -7
  361. package/dist/plots/line/defaults.d.ts +4 -0
  362. package/dist/plots/line/defaults.js +29 -0
  363. package/dist/plots/line/markers.d.ts +49 -0
  364. package/dist/plots/line/markers.js +199 -0
  365. package/dist/plots/pyramid/Plot.svelte +34 -362
  366. package/dist/plots/pyramid/Plot.svelte.d.ts +5 -8
  367. package/dist/plots/pyramid/defaults.d.ts +13 -0
  368. package/dist/plots/pyramid/defaults.js +87 -0
  369. package/dist/plots/pyramid/markers.d.ts +21 -0
  370. package/dist/plots/pyramid/markers.js +156 -0
  371. package/dist/plots/scatter/Plot.svelte +34 -288
  372. package/dist/plots/scatter/Plot.svelte.d.ts +5 -8
  373. package/dist/plots/scatter/defaults.d.ts +4 -0
  374. package/dist/plots/scatter/defaults.js +80 -0
  375. package/dist/plots/scatter/markers.d.ts +19 -0
  376. package/dist/plots/scatter/markers.js +129 -0
  377. package/dist/plots/utils/ChannelName.d.ts +9 -0
  378. package/dist/plots/utils/ChannelName.js +14 -0
  379. package/dist/plots/utils/accessors.d.ts +1 -1
  380. package/dist/plots/utils/accessors.js +4 -2
  381. package/dist/plots/utils/gaps.d.ts +14 -19
  382. package/dist/plots/utils/gaps.js +38 -18
  383. package/dist/plots/utils/geoAccessors.d.ts +8 -8
  384. package/dist/plots/utils/geoAccessors.js +16 -12
  385. package/dist/plots/utils/geoSegments.d.ts +24 -9
  386. package/dist/plots/utils/geoSegments.js +31 -11
  387. package/dist/plots/utils/segments.d.ts +5 -16
  388. package/dist/plots/utils/segments.js +40 -52
  389. package/dist/plots/utils/tiles.d.ts +9 -9
  390. package/dist/plots/utils/tiles.js +35 -25
  391. package/dist/plots/utils/topojson.d.ts +1 -1
  392. package/dist/plots/utils/topojson.js +3 -3
  393. package/dist/stores/device.js +2 -4
  394. package/dist/types/configuration/styling.d.ts +174 -27
  395. package/dist/types/layout/box.d.ts +24 -0
  396. package/dist/types/layout/composer.d.ts +39 -0
  397. package/dist/types/layout/coordinates.d.ts +14 -14
  398. package/dist/types/layout/facet.d.ts +44 -22
  399. package/dist/types/layout/figure.d.ts +7 -0
  400. package/dist/types/layout/geometry.d.ts +6 -2
  401. package/dist/types/layout/grid.d.ts +66 -0
  402. package/dist/types/layout/hover.d.ts +48 -0
  403. package/dist/types/layout/legend.d.ts +256 -55
  404. package/dist/types/layout/mapping.d.ts +68 -0
  405. package/dist/types/layout/plot.d.ts +41 -0
  406. package/dist/types/layout/scales.d.ts +108 -24
  407. package/dist/types/layout/scales.js +19 -1
  408. package/dist/types/layout/statistics/bollinger.d.ts +18 -0
  409. package/dist/types/layout/statistics/box.d.ts +8 -0
  410. package/dist/types/layout/statistics/box.js +1 -0
  411. package/dist/types/layout/statistics/density.d.ts +27 -0
  412. package/dist/types/layout/statistics/density.js +1 -0
  413. package/dist/types/layout/statistics/index.d.ts +46 -0
  414. package/dist/types/layout/statistics/index.js +1 -0
  415. package/dist/types/layout/statistics/movingAverage.d.ts +12 -0
  416. package/dist/types/layout/statistics/movingAverage.js +1 -0
  417. package/dist/types/layout/statistics/regression.d.ts +20 -0
  418. package/dist/types/layout/statistics/regression.js +1 -0
  419. package/dist/types/layout/styles.d.ts +24 -35
  420. package/dist/types/layout/timeline.d.ts +62 -6
  421. package/dist/types/layout/tooltip.d.ts +7 -85
  422. package/dist/types/markers/all.d.ts +3 -4
  423. package/dist/types/markers/axis/area.d.ts +12 -0
  424. package/dist/types/markers/axis/area.js +1 -0
  425. package/dist/types/markers/axis/arrow.d.ts +15 -0
  426. package/dist/types/markers/axis/arrow.js +1 -0
  427. package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +29 -0
  428. package/dist/types/markers/axis/axisBasedMarkersConfig.js +1 -0
  429. package/dist/types/markers/axis/bar.d.ts +18 -0
  430. package/dist/types/markers/axis/bar.js +1 -0
  431. package/dist/types/markers/axis/bollinger.d.ts +6 -0
  432. package/dist/types/markers/axis/bollinger.js +1 -0
  433. package/dist/types/markers/axis/box.d.ts +14 -0
  434. package/dist/types/markers/axis/box.js +1 -0
  435. package/dist/types/markers/axis/brush.d.ts +28 -0
  436. package/dist/types/markers/axis/brush.js +1 -0
  437. package/dist/types/markers/axis/cell.d.ts +9 -0
  438. package/dist/types/markers/axis/cell.js +1 -0
  439. package/dist/types/markers/axis/component.d.ts +9 -0
  440. package/dist/types/markers/axis/component.js +1 -0
  441. package/dist/types/markers/axis/curveName.d.ts +2 -0
  442. package/dist/types/markers/axis/curveName.js +1 -0
  443. package/dist/types/markers/axis/delaunayLink.d.ts +7 -0
  444. package/dist/types/markers/axis/delaunayLink.js +1 -0
  445. package/dist/types/markers/axis/delaunayMesh.d.ts +7 -0
  446. package/dist/types/markers/axis/delaunayMesh.js +1 -0
  447. package/dist/types/markers/axis/delta.d.ts +27 -0
  448. package/dist/types/markers/axis/delta.js +1 -0
  449. package/dist/types/markers/axis/density.d.ts +12 -0
  450. package/dist/types/markers/axis/density.js +1 -0
  451. package/dist/types/markers/axis/difference.d.ts +12 -0
  452. package/dist/types/markers/axis/difference.js +1 -0
  453. package/dist/types/markers/axis/hover.d.ts +21 -0
  454. package/dist/types/markers/axis/hover.js +1 -0
  455. package/dist/types/markers/axis/hull.d.ts +7 -0
  456. package/dist/types/markers/axis/hull.js +1 -0
  457. package/dist/types/markers/axis/image.d.ts +12 -0
  458. package/dist/types/markers/axis/image.js +1 -0
  459. package/dist/types/markers/axis/line.d.ts +7 -0
  460. package/dist/types/markers/axis/line.js +1 -0
  461. package/dist/types/markers/axis/raster.d.ts +18 -0
  462. package/dist/types/markers/axis/raster.js +1 -0
  463. package/dist/types/markers/axis/rect.d.ts +15 -0
  464. package/dist/types/markers/axis/rect.js +1 -0
  465. package/dist/types/markers/axis/regression.d.ts +6 -0
  466. package/dist/types/markers/axis/regression.js +1 -0
  467. package/dist/types/markers/axis/rule.d.ts +15 -0
  468. package/dist/types/markers/axis/rule.js +1 -0
  469. package/dist/types/markers/axis/tick.d.ts +8 -0
  470. package/dist/types/markers/axis/tick.js +1 -0
  471. package/dist/types/markers/axis/trail.d.ts +14 -0
  472. package/dist/types/markers/axis/trail.js +1 -0
  473. package/dist/types/markers/axis/voronoi.d.ts +7 -0
  474. package/dist/types/markers/axis/voronoi.js +1 -0
  475. package/dist/types/markers/axis/voronoiMesh.d.ts +7 -0
  476. package/dist/types/markers/axis/voronoiMesh.js +1 -0
  477. package/dist/types/markers/axis/waffle.d.ts +13 -0
  478. package/dist/types/markers/axis/waffle.js +1 -0
  479. package/dist/types/markers/basic/basicMarkersConfig.d.ts +4 -0
  480. package/dist/types/markers/basic/basicMarkersConfig.js +1 -0
  481. package/dist/types/markers/basic/dot.d.ts +9 -0
  482. package/dist/types/markers/basic/dot.js +1 -0
  483. package/dist/types/markers/basic/text.d.ts +60 -0
  484. package/dist/types/markers/basic/text.js +1 -0
  485. package/dist/types/markers/basic.d.ts +4 -0
  486. package/dist/types/markers/basic.js +1 -0
  487. package/dist/types/markers/channels/commonMarkerConfig.d.ts +26 -0
  488. package/dist/types/markers/channels/commonMarkerConfig.js +1 -0
  489. package/dist/types/markers/channels/commonMarkerConfigWithArea.d.ts +6 -0
  490. package/dist/types/markers/channels/commonMarkerConfigWithArea.js +1 -0
  491. package/dist/types/markers/channels/commonMarkerConfigWithColor.d.ts +5 -0
  492. package/dist/types/markers/channels/commonMarkerConfigWithColor.js +1 -0
  493. package/dist/types/markers/channels/commonMarkerConfigWithInterval.d.ts +9 -0
  494. package/dist/types/markers/channels/commonMarkerConfigWithInterval.js +1 -0
  495. package/dist/types/markers/channels/commonMarkerConfigWithRadius.d.ts +5 -0
  496. package/dist/types/markers/channels/commonMarkerConfigWithRadius.js +1 -0
  497. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.d.ts +5 -0
  498. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.js +1 -0
  499. package/dist/types/markers/channels/commonMarkerConfigWithWeight.d.ts +5 -0
  500. package/dist/types/markers/channels/commonMarkerConfigWithWeight.js +1 -0
  501. package/dist/types/markers/common.d.ts +30 -103
  502. package/dist/types/markers/common.js +29 -1
  503. package/dist/types/markers/geo/contour.d.ts +27 -0
  504. package/dist/types/markers/geo/contour.js +1 -0
  505. package/dist/types/markers/geo/features.d.ts +12 -0
  506. package/dist/types/markers/geo/features.js +1 -0
  507. package/dist/types/markers/geo/geoComponent.d.ts +7 -0
  508. package/dist/types/markers/geo/geoComponent.js +1 -0
  509. package/dist/types/markers/geo/geoHover.d.ts +6 -0
  510. package/dist/types/markers/geo/geoHover.js +1 -0
  511. package/dist/types/markers/geo/geoMarkersConfig.d.ts +11 -0
  512. package/dist/types/markers/geo/geoMarkersConfig.js +1 -0
  513. package/dist/types/markers/geo/graticule.d.ts +11 -0
  514. package/dist/types/markers/geo/graticule.js +1 -0
  515. package/dist/types/markers/geo/inset.d.ts +50 -0
  516. package/dist/types/markers/geo/inset.js +1 -0
  517. package/dist/types/markers/geo/link.d.ts +13 -0
  518. package/dist/types/markers/geo/link.js +1 -0
  519. package/dist/types/markers/geo/sphere.d.ts +11 -0
  520. package/dist/types/markers/geo/sphere.js +1 -0
  521. package/dist/types/markers/geo/vector.d.ts +17 -0
  522. package/dist/types/markers/geo/vector.js +1 -0
  523. package/dist/types/markers/geo.d.ts +10 -212
  524. package/dist/types/markers/geo.js +10 -1
  525. package/dist/types/markers/traits.d.ts +22 -0
  526. package/dist/types/markers/traits.js +1 -0
  527. package/dist/types/misc/easing.js +1 -0
  528. package/dist/types/misc/viewport.js +1 -0
  529. package/dist/types/phases/data/axes.d.ts +18 -0
  530. package/dist/types/phases/data/axes.js +1 -0
  531. package/dist/types/phases/data/phase.d.ts +26 -0
  532. package/dist/types/phases/data/phase.js +2 -0
  533. package/dist/types/phases/facet/phase.d.ts +18 -0
  534. package/dist/types/phases/facet/phase.js +1 -0
  535. package/dist/types/phases/hover/phase.d.ts +40 -0
  536. package/dist/types/phases/hover/phase.js +1 -0
  537. package/dist/types/phases/index.d.ts +14 -0
  538. package/dist/types/phases/index.js +1 -0
  539. package/dist/types/phases/kind.d.ts +59 -0
  540. package/dist/types/phases/kind.js +1 -0
  541. package/dist/types/phases/mapping/phase.d.ts +5 -0
  542. package/dist/types/phases/mapping/phase.js +1 -0
  543. package/dist/types/phases/markers/phase.d.ts +13 -0
  544. package/dist/types/phases/markers/phase.js +1 -0
  545. package/dist/types/phases/pipeline.d.ts +10 -0
  546. package/dist/types/phases/pipeline.js +1 -0
  547. package/dist/types/phases/scales/phase.d.ts +26 -0
  548. package/dist/types/phases/scales/phase.js +1 -0
  549. package/dist/types/phases/sharedScales/phase.d.ts +12 -0
  550. package/dist/types/phases/sharedScales/phase.js +1 -0
  551. package/dist/types/phases/stage.d.ts +12 -0
  552. package/dist/types/phases/stage.js +1 -0
  553. package/dist/types/phases/state.d.ts +76 -0
  554. package/dist/types/phases/state.js +1 -0
  555. package/dist/types/phases/statistics/phase.d.ts +43 -0
  556. package/dist/types/phases/statistics/phase.js +1 -0
  557. package/dist/types/phases/statistics/source.d.ts +20 -0
  558. package/dist/types/phases/statistics/source.js +7 -0
  559. package/dist/types/phases/styles/phase.d.ts +24 -0
  560. package/dist/types/phases/styles/phase.js +1 -0
  561. package/dist/types/phases/transforms/adapter.d.ts +27 -0
  562. package/dist/types/phases/transforms/adapter.js +1 -0
  563. package/dist/types/phases/transforms/phase.d.ts +50 -0
  564. package/dist/types/phases/transforms/phase.js +1 -0
  565. package/dist/types/plots/area/props.d.ts +10 -0
  566. package/dist/types/plots/area/props.js +1 -0
  567. package/dist/types/plots/area/state.d.ts +6 -0
  568. package/dist/types/plots/area/state.js +1 -0
  569. package/dist/types/plots/bar/props.d.ts +10 -0
  570. package/dist/types/plots/bar/props.js +1 -0
  571. package/dist/types/plots/bar/state.d.ts +6 -0
  572. package/dist/types/plots/bar/state.js +1 -0
  573. package/dist/types/plots/box/props.d.ts +10 -0
  574. package/dist/types/plots/box/props.js +1 -0
  575. package/dist/types/plots/box/state.d.ts +23 -0
  576. package/dist/types/plots/box/state.js +1 -0
  577. package/dist/types/plots/camera.d.ts +7 -17
  578. package/dist/types/plots/constants.d.ts +16 -8
  579. package/dist/types/plots/data/common.d.ts +25 -17
  580. package/dist/types/plots/data/geo.d.ts +26 -12
  581. package/dist/types/plots/gaps.d.ts +19 -38
  582. package/dist/types/plots/geo/props.d.ts +23 -0
  583. package/dist/types/plots/geo/props.js +1 -0
  584. package/dist/types/plots/geo/state.d.ts +82 -0
  585. package/dist/types/plots/geo/state.js +1 -0
  586. package/dist/types/plots/heatmap/props.d.ts +10 -0
  587. package/dist/types/plots/heatmap/props.js +1 -0
  588. package/dist/types/plots/heatmap/state.d.ts +28 -0
  589. package/dist/types/plots/heatmap/state.js +1 -0
  590. package/dist/types/plots/histogram/props.d.ts +18 -0
  591. package/dist/types/plots/histogram/props.js +1 -0
  592. package/dist/types/plots/histogram/state.d.ts +6 -0
  593. package/dist/types/plots/histogram/state.js +1 -0
  594. package/dist/types/plots/line/props.d.ts +10 -0
  595. package/dist/types/plots/line/props.js +1 -0
  596. package/dist/types/plots/line/state.d.ts +9 -0
  597. package/dist/types/plots/line/state.js +1 -0
  598. package/dist/types/plots/props.d.ts +145 -35
  599. package/dist/types/plots/pyramid/props.d.ts +10 -0
  600. package/dist/types/plots/pyramid/props.js +1 -0
  601. package/dist/types/plots/pyramid/state.d.ts +16 -0
  602. package/dist/types/plots/pyramid/state.js +1 -0
  603. package/dist/types/plots/scatter/props.d.ts +10 -0
  604. package/dist/types/plots/scatter/props.js +1 -0
  605. package/dist/types/plots/scatter/state.d.ts +6 -0
  606. package/dist/types/plots/scatter/state.js +1 -0
  607. package/dist/types/plots/segments/common.d.ts +1 -1
  608. package/dist/types/plots/segments/config.d.ts +12 -6
  609. package/dist/types/plots/styling.d.ts +5 -5
  610. package/dist/types/transforms/bin.d.ts +84 -0
  611. package/dist/types/transforms/bin.js +28 -0
  612. package/dist/types/transforms/bollinger.d.ts +21 -0
  613. package/dist/types/transforms/bollinger.js +1 -0
  614. package/dist/types/transforms/common.d.ts +29 -0
  615. package/dist/types/transforms/common.js +16 -0
  616. package/dist/types/transforms/density.d.ts +45 -0
  617. package/dist/types/transforms/density.js +10 -0
  618. package/dist/types/transforms/filter.d.ts +12 -0
  619. package/dist/types/transforms/filter.js +14 -0
  620. package/dist/types/transforms/group.d.ts +70 -0
  621. package/dist/types/transforms/group.js +8 -0
  622. package/dist/types/transforms/index.d.ts +36 -0
  623. package/dist/types/transforms/index.js +1 -0
  624. package/dist/types/transforms/interval.d.ts +21 -0
  625. package/dist/types/transforms/interval.js +14 -0
  626. package/dist/types/transforms/jitter.d.ts +34 -0
  627. package/dist/types/transforms/jitter.js +1 -0
  628. package/dist/types/transforms/map.d.ts +24 -0
  629. package/dist/types/transforms/map.js +1 -0
  630. package/dist/types/transforms/normalize.d.ts +36 -0
  631. package/dist/types/transforms/normalize.js +1 -0
  632. package/dist/types/transforms/select.d.ts +15 -0
  633. package/dist/types/transforms/select.js +1 -0
  634. package/dist/types/transforms/shift.d.ts +20 -0
  635. package/dist/types/transforms/shift.js +1 -0
  636. package/dist/types/transforms/sort.d.ts +31 -0
  637. package/dist/types/transforms/sort.js +14 -0
  638. package/dist/types/transforms/stack.d.ts +64 -0
  639. package/dist/types/transforms/stack.js +12 -0
  640. package/dist/types/transforms/window.d.ts +29 -0
  641. package/dist/types/transforms/window.js +1 -0
  642. package/dist/utils/ContinuousDomain.d.ts +12 -0
  643. package/dist/utils/ContinuousDomain.js +19 -0
  644. package/dist/utils/Interpolation.d.ts +26 -0
  645. package/dist/utils/Interpolation.js +65 -0
  646. package/dist/utils/{color.d.ts → color/contrast.d.ts} +0 -5
  647. package/dist/utils/color/contrast.js +40 -0
  648. package/dist/utils/color/cssColor.d.ts +4 -0
  649. package/dist/utils/color/cssColor.js +77 -0
  650. package/dist/utils/color/index.d.ts +3 -0
  651. package/dist/utils/color/index.js +3 -0
  652. package/dist/utils/color/ramp.d.ts +17 -0
  653. package/dist/utils/color/ramp.js +110 -0
  654. package/dist/utils/grouping.d.ts +9 -5
  655. package/dist/utils/grouping.js +19 -10
  656. package/dist/utils/merge.d.ts +7 -0
  657. package/dist/utils/merge.js +17 -0
  658. package/dist/utils/opacity.d.ts +9 -0
  659. package/dist/utils/opacity.js +38 -0
  660. package/dist/utils/symbol.d.ts +31 -0
  661. package/dist/utils/symbol.js +92 -0
  662. package/docs/architecture.md +137 -0
  663. package/docs/chrome.md +99 -0
  664. package/docs/composer.md +69 -0
  665. package/docs/concepts.md +99 -0
  666. package/docs/development.md +103 -0
  667. package/docs/facets.md +123 -0
  668. package/docs/geo.md +151 -0
  669. package/docs/getting-started.md +78 -0
  670. package/docs/legend.md +153 -0
  671. package/docs/markers.md +117 -0
  672. package/docs/plots.md +284 -0
  673. package/docs/scales.md +95 -0
  674. package/docs/state.md +71 -0
  675. package/docs/styles-and-segments.md +269 -0
  676. package/docs/theming.md +226 -0
  677. package/docs/timeline.md +128 -0
  678. package/docs/tooltip-and-hover.md +128 -0
  679. package/docs/transforms-and-statistics.md +118 -0
  680. package/examples/BarValues.svelte +14 -0
  681. package/examples/Box.svelte +7 -0
  682. package/examples/Chrome.svelte +17 -0
  683. package/examples/ChromeOrder.svelte +18 -0
  684. package/examples/Composer.svelte +23 -0
  685. package/examples/CustomTooltip.svelte +44 -0
  686. package/examples/Facets.svelte +15 -0
  687. package/examples/FacetsCarousel.svelte +14 -0
  688. package/examples/FacetsRowsCols.svelte +23 -0
  689. package/examples/FirstPlot.svelte +7 -0
  690. package/examples/Gaps.svelte +21 -0
  691. package/examples/GroupedBars.svelte +15 -0
  692. package/examples/Heatmap.svelte +7 -0
  693. package/examples/HeatmapSegments.svelte +26 -0
  694. package/examples/Histogram.svelte +14 -0
  695. package/examples/HorizontalBars.svelte +15 -0
  696. package/examples/LegendReader.svelte +8 -0
  697. package/examples/LegendSections.svelte +27 -0
  698. package/examples/LegendToggle.svelte +25 -0
  699. package/examples/LineByRegion.svelte +18 -0
  700. package/examples/LineDates.svelte +15 -0
  701. package/examples/Markers.svelte +27 -0
  702. package/examples/MovingAverage.svelte +15 -0
  703. package/examples/Pyramid.svelte +7 -0
  704. package/examples/Regression.svelte +14 -0
  705. package/examples/ResponsiveLine.svelte +37 -0
  706. package/examples/Scales.svelte +26 -0
  707. package/examples/Scatter.svelte +16 -0
  708. package/examples/SegmentHighlight.svelte +22 -0
  709. package/examples/Segments.svelte +25 -0
  710. package/examples/SegmentsBySeries.svelte +25 -0
  711. package/examples/StackedArea.svelte +16 -0
  712. package/examples/StackedBars.svelte +15 -0
  713. package/examples/TimelinePlayer.svelte +21 -0
  714. package/examples/TimelineRule.svelte +19 -0
  715. package/examples/Tooltip.svelte +19 -0
  716. package/examples/TooltipCard.svelte +86 -0
  717. package/examples/ValueLabels.svelte +21 -0
  718. package/examples/data.ts +324 -0
  719. package/llms-full.txt +142 -0
  720. package/llms.txt +77 -0
  721. package/package.json +42 -5
  722. package/dist/charts/BaseChart.svelte +0 -149
  723. package/dist/charts/BaseChart.svelte.d.ts +0 -47
  724. package/dist/charts/bar/Chart.svelte +0 -110
  725. package/dist/charts/bar/Chart.svelte.d.ts +0 -26
  726. package/dist/charts/container/ChartContainer.svelte +0 -137
  727. package/dist/charts/container/ChartContainer.svelte.d.ts +0 -16
  728. package/dist/charts/heatmap/Chart.svelte +0 -114
  729. package/dist/charts/line/Chart.svelte +0 -112
  730. package/dist/charts/line/Chart.svelte.d.ts +0 -26
  731. package/dist/charts/pyramid/Chart.svelte +0 -134
  732. package/dist/charts/pyramid/Chart.svelte.d.ts +0 -30
  733. package/dist/charts/scatter/Chart.svelte +0 -95
  734. package/dist/charts/scatter/Chart.svelte.d.ts +0 -28
  735. package/dist/layout/coordinates/margins.d.ts +0 -16
  736. package/dist/layout/coordinates/margins.js +0 -11
  737. package/dist/layout/legend/interaction.svelte.d.ts +0 -15
  738. package/dist/layout/legend/interaction.svelte.js +0 -32
  739. package/dist/layout/plot/BasePlotLayout.svelte +0 -332
  740. package/dist/layout/plot/BasePlotLayout.svelte.d.ts +0 -122
  741. package/dist/layout/plot/margins.d.ts +0 -18
  742. package/dist/layout/plot/margins.js +0 -15
  743. package/dist/layout/plot/measureText.d.ts +0 -4
  744. package/dist/layout/plot/measureText.js +0 -19
  745. package/dist/layout/scales/buildScale.d.ts +0 -25
  746. package/dist/layout/scales/buildScale.js +0 -90
  747. package/dist/layout/scales/niceDomain.d.ts +0 -23
  748. package/dist/layout/scales/niceDomain.js +0 -59
  749. package/dist/layout/tooltip/TooltipLayout.svelte +0 -51
  750. package/dist/layout/tooltip/TooltipLayout.svelte.d.ts +0 -45
  751. package/dist/layout/tooltip/controller.svelte.d.ts +0 -61
  752. package/dist/layout/tooltip/controller.svelte.js +0 -173
  753. package/dist/layout/tooltip/hover.svelte.d.ts +0 -7
  754. package/dist/layout/tooltip/hover.svelte.js +0 -28
  755. package/dist/layout/tooltip/resolveTooltipPlacement.d.ts +0 -24
  756. package/dist/layout/tooltip/resolveTooltipPlacement.js +0 -49
  757. package/dist/layout/tooltip/utils.d.ts +0 -49
  758. package/dist/layout/tooltip/utils.js +0 -82
  759. package/dist/markers/CellMarker.svelte +0 -21
  760. package/dist/markers/ContourClipMarker.svelte +0 -77
  761. package/dist/markers/ContourMarker.svelte +0 -28
  762. package/dist/markers/DeltaMarker.svelte +0 -109
  763. package/dist/markers/DotMarker.svelte +0 -70
  764. package/dist/markers/GeoFeaturesMarker.svelte +0 -19
  765. package/dist/markers/GeoHoverMarker.svelte +0 -25
  766. package/dist/markers/GraticuleMarker.svelte +0 -18
  767. package/dist/markers/HoverMarker.svelte +0 -212
  768. package/dist/markers/LineMarker.svelte +0 -19
  769. package/dist/markers/LinkMarker.svelte +0 -42
  770. package/dist/markers/PeakMarker.svelte +0 -80
  771. package/dist/markers/PeakMarker.svelte.d.ts +0 -13
  772. package/dist/markers/RuleMarker.svelte +0 -24
  773. package/dist/markers/SphereMarker.svelte +0 -15
  774. package/dist/markers/TextMarker.svelte +0 -62
  775. package/dist/markers/VectorMarker.svelte +0 -20
  776. package/dist/plots/bar/ValueLabels.svelte +0 -149
  777. package/dist/plots/bar/ValueLabels.svelte.d.ts +0 -58
  778. package/dist/plots/bar/buildBarMarkers.d.ts +0 -27
  779. package/dist/plots/bar/buildBarMarkers.js +0 -151
  780. package/dist/plots/bar/hoverPoints.d.ts +0 -15
  781. package/dist/plots/bar/hoverPoints.js +0 -37
  782. package/dist/plots/bar/layout.svelte.d.ts +0 -42
  783. package/dist/plots/bar/layout.svelte.js +0 -182
  784. package/dist/plots/geo/buildGeoMarkers.d.ts +0 -33
  785. package/dist/plots/geo/buildGeoMarkers.js +0 -47
  786. package/dist/plots/heatmap/ValueLabels.svelte +0 -56
  787. package/dist/plots/heatmap/buildCellMarkers.d.ts +0 -21
  788. package/dist/plots/heatmap/buildCellMarkers.js +0 -25
  789. package/dist/plots/line/ValueLabels.svelte +0 -269
  790. package/dist/plots/line/ValueLabels.svelte.d.ts +0 -52
  791. package/dist/plots/line/buildGapMarkers.d.ts +0 -28
  792. package/dist/plots/line/buildGapMarkers.js +0 -74
  793. package/dist/plots/line/buildLineMarkers.d.ts +0 -16
  794. package/dist/plots/line/buildLineMarkers.js +0 -56
  795. package/dist/plots/line/valueLabelMargin.d.ts +0 -19
  796. package/dist/plots/line/valueLabelMargin.js +0 -65
  797. package/dist/plots/pyramid/ValueLabels.svelte +0 -139
  798. package/dist/plots/pyramid/ValueLabels.svelte.d.ts +0 -56
  799. package/dist/plots/pyramid/buildPyramidBarMarkers.d.ts +0 -26
  800. package/dist/plots/pyramid/buildPyramidBarMarkers.js +0 -72
  801. package/dist/plots/scatter/ValueLabels.svelte +0 -163
  802. package/dist/plots/scatter/ValueLabels.svelte.d.ts +0 -52
  803. package/dist/plots/scatter/buildScatterMarkers.d.ts +0 -12
  804. package/dist/plots/scatter/buildScatterMarkers.js +0 -36
  805. package/dist/plots/scatter/resolveRadiusPaddedDomain.d.ts +0 -10
  806. package/dist/plots/scatter/resolveRadiusPaddedDomain.js +0 -23
  807. package/dist/plots/utils/categoricalAxisMargin.d.ts +0 -14
  808. package/dist/plots/utils/categoricalAxisMargin.js +0 -20
  809. package/dist/plots/utils/declutter.d.ts +0 -120
  810. package/dist/plots/utils/declutter.js +0 -240
  811. package/dist/plots/utils/labelOverflow.svelte.d.ts +0 -107
  812. package/dist/plots/utils/labelOverflow.svelte.js +0 -257
  813. package/dist/plots/utils/legendDisabled.d.ts +0 -27
  814. package/dist/plots/utils/legendDisabled.js +0 -68
  815. package/dist/plots/utils/valueLabelMargin.d.ts +0 -67
  816. package/dist/plots/utils/valueLabelMargin.js +0 -60
  817. package/dist/types/charts/common.d.ts +0 -22
  818. package/dist/types/charts/props.d.ts +0 -50
  819. package/dist/types/markers/base.d.ts +0 -45
  820. package/dist/types/markers/line.d.ts +0 -34
  821. package/dist/types/markers/props.d.ts +0 -11
  822. package/dist/types/plots/data/scatter.d.ts +0 -13
  823. package/dist/utils/color.js +0 -141
  824. package/dist/utils/delta.d.ts +0 -12
  825. package/dist/utils/delta.js +0 -69
  826. package/dist/utils/edgeAwareAnchor.d.ts +0 -34
  827. package/dist/utils/edgeAwareAnchor.js +0 -60
  828. package/dist/utils/interpolate.d.ts +0 -31
  829. package/dist/utils/interpolate.js +0 -71
  830. /package/dist/types/{charts/common.js → layout/box.js} +0 -0
  831. /package/dist/types/{charts/interpolate.js → layout/composer.js} +0 -0
  832. /package/dist/types/{charts/props.js → layout/figure.js} +0 -0
  833. /package/dist/types/{markers/base.js → layout/grid.js} +0 -0
  834. /package/dist/types/{markers/line.js → layout/hover.js} +0 -0
  835. /package/dist/types/{markers/props.js → layout/mapping.js} +0 -0
  836. /package/dist/types/{plots/data/scatter.js → layout/plot.js} +0 -0
  837. /package/dist/types/{viewport.js → layout/statistics/bollinger.js} +0 -0
  838. /package/dist/types/{charts/interpolate.d.ts → misc/easing.d.ts} +0 -0
  839. /package/dist/types/{viewport.d.ts → misc/viewport.d.ts} +0 -0
@@ -0,0 +1,156 @@
1
+ import { MarkerChannels } from '../../markers/utils/MarkerChannels';
2
+ import { getConfiguration } from '../../configuration/config.svelte';
3
+ import { MovingAverageStatistic } from './methods/MovingAverageStatistic';
4
+ import { DensityStatistic } from './methods/DensityStatistic';
5
+ import { Density2dStatistic } from './methods/Density2dStatistic';
6
+ import { BoxStatistic } from './methods/BoxStatistic';
7
+ import { RegressionStatistic } from './methods/RegressionStatistic';
8
+ import { BollingerStatistic } from './methods/BollingerStatistic';
9
+ /**
10
+ * The statistics a plot or a marker asks for, as the markers they draw as.
11
+ * Each statistic type is a class of its own under `methods/`; the same
12
+ * {@link Statistics.buildMarker} serves plot-level and marker-level attachment.
13
+ */
14
+ export class Statistics {
15
+ /**
16
+ * Builds one {@link StatisticConfig} over a data source into the marker it
17
+ * renders as - `regression`/`bollinger` construct their marker directly
18
+ * (svelteplot resolves the curve/band itself, at render time); the others
19
+ * compute their rows first.
20
+ */
21
+ static buildMarker(source, config) {
22
+ switch (config.type) {
23
+ case 'movingAverage':
24
+ return MovingAverageStatistic.build(source, config);
25
+ case 'density':
26
+ return DensityStatistic.build(source, config);
27
+ case 'density2d':
28
+ return Density2dStatistic.build(source, config);
29
+ case 'box':
30
+ return BoxStatistic.build(source, config);
31
+ case 'regression':
32
+ return RegressionStatistic.build(source, config);
33
+ case 'bollinger':
34
+ return BollingerStatistic.build(source, config);
35
+ }
36
+ }
37
+ /** Narrows a `Series`'s own `Accessor<T,AxisValue>` to a source's field-key-or-function shape - safe in practice, since a real row's field key is always a string. */
38
+ static #accessor(accessor
39
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
40
+ ) {
41
+ return accessor;
42
+ }
43
+ /**
44
+ * Resolves a plot's own top-level `statistics` prop against its already-built
45
+ * `Series<T>[]` (every kind has this before `mapping` runs - see
46
+ * `buildSeries`) into the derived markers to append alongside the plot's own
47
+ * default markers. Default (`series` unset, `pooled` unset): one statistic per
48
+ * series, using that series' own data/accessors/color, so a plot grouped by
49
+ * `color` gets its statistics grouped the same way. `pooled: true`: one
50
+ * statistic over every series combined (using the first series' own `x`/`y`,
51
+ * same convention the shared "mapping" stage uses for a shared
52
+ * accessor). Named `series`: one statistic per listed series.
53
+ */
54
+ static buildForPlot(args) {
55
+ const { series, statistics, colorFor } = args;
56
+ if (!statistics?.length || !series.length)
57
+ return [];
58
+ return statistics.flatMap((stat) => {
59
+ if (stat.pooled && stat.series === undefined) {
60
+ const pooled = series.flatMap((s) => s.data);
61
+ const source = {
62
+ data: pooled,
63
+ x: Statistics.#accessor(series[0].x),
64
+ y: Statistics.#accessor(series[0].y),
65
+ color: colorFor?.(series[0].name)
66
+ };
67
+ return [Statistics.buildMarker(source, stat)];
68
+ }
69
+ const names = stat.series ?? series.map((s) => s.name);
70
+ return names.flatMap((name) => {
71
+ const match = series.find((s) => s.name === name);
72
+ if (!match)
73
+ return [];
74
+ const source = {
75
+ data: match.data,
76
+ x: Statistics.#accessor(match.x),
77
+ y: Statistics.#accessor(match.y),
78
+ color: colorFor?.(name)
79
+ };
80
+ return [Statistics.buildMarker(source, stat)];
81
+ });
82
+ });
83
+ }
84
+ /**
85
+ * Color a marker's own statistics inherit when its `color` channel is unset:
86
+ * its flat fill (or stroke), ignoring `none`/`transparent`. Covers both the
87
+ * plain `styles` keys and the dot-specific `dotFill`/`dotStroke`.
88
+ */
89
+ static #markerBaseColor(marker) {
90
+ const styles = marker.styles;
91
+ const pick = (key) => {
92
+ const value = styles?.[key];
93
+ return typeof value === 'string' && value !== 'none' && value !== 'transparent'
94
+ ? value
95
+ : undefined;
96
+ };
97
+ return pick('fill') ?? pick('dotFill') ?? pick('stroke') ?? pick('dotStroke');
98
+ }
99
+ /** Splits rows into one bucket per distinct `color` value, in first-seen order; rows without a value are skipped. */
100
+ static #groupRowsByColor(data, color) {
101
+ const valueOf = typeof color === 'function' ? color : (d) => d[color];
102
+ const buckets = new Map();
103
+ for (const row of data) {
104
+ const value = valueOf(row);
105
+ if (value == null)
106
+ continue;
107
+ const key = String(value);
108
+ const bucket = buckets.get(key);
109
+ if (bucket)
110
+ bucket.push(row);
111
+ else
112
+ buckets.set(key, [row]);
113
+ }
114
+ return [...buckets.values()];
115
+ }
116
+ /**
117
+ * Expands each marker's own `.statistics` into derived markers, spliced in
118
+ * right after their source so a derived marker always renders on top of it.
119
+ * `fallbackData` mirrors `GeometryLayout`'s own `marker.data ?? data` -
120
+ * applied here too since this runs *before* `GeometryLayout` ever sees these
121
+ * markers, on a marker that may omit its own `data` to reuse the host plot's.
122
+ * Generic over the caller's own marker union (e.g. `LinePlot`'s own
123
+ * `AxisBasedMarkersConfig`, which adds a `delta` kind on top of
124
+ * {@link AxisBasedMarkersConfig}) - untouched markers pass through as
125
+ * `TMarker`. Eligibility is structural, not a hardcoded list of `type`s: any
126
+ * marker mixing in `CommonMarkerConfig` (the "common" family) has `.x`/`.y`
127
+ * and an optional `.statistics`, so a `rule`/`hover`/`component` marker
128
+ * (neither field) always falls through the guard below untouched, and a
129
+ * future "common" marker kind is eligible with no extra bookkeeping here.
130
+ */
131
+ static expandMarkers(markers, fallbackData) {
132
+ return markers.flatMap((marker) => {
133
+ const statable = marker;
134
+ const { x, y } = statable;
135
+ // A literal position (number/Date) has no per-row values to derive statistics from.
136
+ const isAccessor = (v) => typeof v === 'string' || typeof v === 'function';
137
+ if (!statable.statistics?.length || !isAccessor(x) || !isAccessor(y))
138
+ return [marker];
139
+ const data = statable.data ?? fallbackData;
140
+ const accessors = { x: x, y: y };
141
+ // A marker's `color` channel groups it: each statistic is then derived per
142
+ // group, in that group's own color - same as a plot's statistics per series.
143
+ const colorFn = statable.color
144
+ ? MarkerChannels.buildFill(data, statable.color, statable.scales, getConfiguration())
145
+ : undefined;
146
+ const flatColor = Statistics.#markerBaseColor(statable);
147
+ const derived = statable.statistics.flatMap((stat) => {
148
+ if (!colorFn || !statable.color || stat.pooled) {
149
+ return [Statistics.buildMarker({ data, ...accessors, color: flatColor }, stat)];
150
+ }
151
+ return Statistics.#groupRowsByColor(data, statable.color).flatMap((rows) => Statistics.buildMarker({ data: rows, ...accessors, color: colorFn(rows[0]) }, stat));
152
+ });
153
+ return [marker, ...derived];
154
+ });
155
+ }
156
+ }
@@ -0,0 +1,18 @@
1
+ import type { PhaseStage, StatisticsStageOptions, StatisticsStageState } from '../../types/phases';
2
+ /**
3
+ * The "statistics" phase every axis-based plot shares: seeds `state.markers`
4
+ * with the plot-level `statistics` resolved against every series, followed by
5
+ * the author's own markers, each one inheriting the plot's grouping and color,
6
+ * drawing the plot's processed rows when it has none of its own (see
7
+ * `withProcessedRows`), running its own `transforms`, and expanding its own
8
+ * `.statistics` in place.
9
+ * Authored markers render on top of the plot-level ones. Later phases build
10
+ * onto `state.markers`. With facet panels, all of it resolves once per panel,
11
+ * over that panel's series and rows, and each marker is tagged with its panel.
12
+ */
13
+ export declare class StatisticsPhase<TState extends StatisticsStageState> implements PhaseStage<TState> {
14
+ #private;
15
+ readonly phase: "statistics";
16
+ constructor(options?: StatisticsStageOptions<TState>);
17
+ run: (state: TState) => TState;
18
+ }
@@ -0,0 +1,67 @@
1
+ import { AuthorMarkers } from './AuthorMarkers';
2
+ import { Statistics } from './Statistics';
3
+ import { PANEL_KEY, FacetPanels } from '../facet/FacetPanels';
4
+ import { PlotAxes } from '../data/PlotAxes';
5
+ /** Marker kinds that draw from a channel pair, so they take the plot's `x`/`y` when the author leaves one out. */
6
+ const POSITIONED_KINDS = new Set(['line', 'area', 'dot']);
7
+ /**
8
+ * The "statistics" phase every axis-based plot shares: seeds `state.markers`
9
+ * with the plot-level `statistics` resolved against every series, followed by
10
+ * the author's own markers, each one inheriting the plot's grouping and color,
11
+ * drawing the plot's processed rows when it has none of its own (see
12
+ * `withProcessedRows`), running its own `transforms`, and expanding its own
13
+ * `.statistics` in place.
14
+ * Authored markers render on top of the plot-level ones. Later phases build
15
+ * onto `state.markers`. With facet panels, all of it resolves once per panel,
16
+ * over that panel's series and rows, and each marker is tagged with its panel.
17
+ */
18
+ export class StatisticsPhase {
19
+ phase = 'statistics';
20
+ #options;
21
+ constructor(options = {}) {
22
+ this.#options = options;
23
+ }
24
+ run = (state) => {
25
+ if (!state.panels)
26
+ return { ...state, markers: this.#resolve(state) };
27
+ const markers = state.panels.flatMap((panel) => this.#resolve(FacetPanels.narrowToPanel(state, panel.key)).map((marker) => ({ ...marker, [PANEL_KEY]: panel.key })));
28
+ return { ...state, markers };
29
+ };
30
+ #resolve(state) {
31
+ const options = this.#options;
32
+ const { resolvedSeries = [], flat = [], colorForSeries, statistics, authorMarkers = [] } = state;
33
+ const { inheritGrouping = true, inheritPositions = false } = options;
34
+ const defaultColor = options.defaultColor
35
+ ? options.defaultColor(state)
36
+ : resolvedSeries[0] && colorForSeries?.(resolvedSeries[0].name);
37
+ const onProcessed = authorMarkers.map((marker) => AuthorMarkers.withProcessedRows(marker, state.processedData));
38
+ const positioned = inheritPositions
39
+ ? onProcessed.map((marker) => {
40
+ if (!POSITIONED_KINDS.has(marker.type))
41
+ return marker;
42
+ const own = marker;
43
+ return {
44
+ ...own,
45
+ x: own.x ?? resolvedSeries[0]?.x ?? state.x,
46
+ y: own.y ?? resolvedSeries[0]?.y ?? state.y
47
+ };
48
+ })
49
+ : onProcessed;
50
+ // A series setting no value of its own (a histogram's) measures its processed rows: its bins.
51
+ const valueAxis = PlotAxes.valueOf(state);
52
+ const measured = state.processedData && resolvedSeries.some((s) => s[valueAxis] === undefined)
53
+ ? (state.processedGroups ?? []).map((group) => group.series)
54
+ : resolvedSeries;
55
+ return [
56
+ ...Statistics.buildForPlot({ series: measured, statistics, colorFor: colorForSeries }),
57
+ ...Statistics.expandMarkers(AuthorMarkers.prepare(positioned, {
58
+ grouping: inheritGrouping ? state.grouping : undefined,
59
+ color: inheritGrouping ? state.color : undefined,
60
+ defaultColor,
61
+ flat,
62
+ resolvedSeries,
63
+ scopedGroups: state.scopedGroups
64
+ }), flat)
65
+ ];
66
+ }
67
+ }
@@ -0,0 +1,9 @@
1
+ import type { StatisticConfig } from '../../../types/layout/statistics';
2
+ import type { BollingerMarkerConfig } from '../../../types/markers/common';
3
+ import { type StatisticSource } from '../../../types/phases/statistics/source';
4
+ /** Bollinger bands over the source, drawn as a `bollinger` marker (svelteplot computes them at render time). */
5
+ export declare class BollingerStatistic {
6
+ static build<T extends Record<string, unknown>>(source: StatisticSource<T>, config: Extract<StatisticConfig, {
7
+ type: 'bollinger';
8
+ }>): BollingerMarkerConfig;
9
+ }
@@ -0,0 +1,18 @@
1
+ import { STATISTIC_FALLBACK_COLOR } from '../../../types/phases/statistics/source';
2
+ /** Bollinger bands over the source, drawn as a `bollinger` marker (svelteplot computes them at render time). */
3
+ export class BollingerStatistic {
4
+ static build(source, config) {
5
+ return {
6
+ type: 'bollinger',
7
+ data: source.data,
8
+ x: source.x,
9
+ y: source.y,
10
+ n: config.n,
11
+ k: config.k,
12
+ styles: {
13
+ ...config.styles,
14
+ stroke: config.styles?.stroke ?? source.color ?? STATISTIC_FALLBACK_COLOR
15
+ }
16
+ };
17
+ }
18
+ }
@@ -0,0 +1,9 @@
1
+ import type { StatisticConfig } from '../../../types/layout/statistics';
2
+ import type { BoxMarkerConfig } from '../../../types/markers/common';
3
+ import { type StatisticSource } from '../../../types/phases/statistics/source';
4
+ /** Box-and-whisker summary of the source, drawn as a `box` marker. */
5
+ export declare class BoxStatistic {
6
+ static build<T extends Record<string, unknown>>(source: StatisticSource<T>, config: Extract<StatisticConfig, {
7
+ type: 'box';
8
+ }>): BoxMarkerConfig;
9
+ }
@@ -0,0 +1,18 @@
1
+ import { STATISTIC_FALLBACK_COLOR } from '../../../types/phases/statistics/source';
2
+ /** Box-and-whisker summary of the source, drawn as a `box` marker. */
3
+ export class BoxStatistic {
4
+ static build(source, config) {
5
+ return {
6
+ type: 'box',
7
+ data: source.data,
8
+ x: source.x,
9
+ y: source.y,
10
+ sort: config.sort,
11
+ bar: { fill: source.color ?? STATISTIC_FALLBACK_COLOR, ...config.bar },
12
+ rule: config.rule,
13
+ dot: config.dot,
14
+ tickMedian: config.tickMedian,
15
+ tickMinMax: config.tickMinMax
16
+ };
17
+ }
18
+ }
@@ -0,0 +1,9 @@
1
+ import type { StatisticConfig } from '../../../types/layout/statistics';
2
+ import type { DensityMarkerConfig } from '../../../types/markers/common';
3
+ import { type StatisticSource } from '../../../types/phases/statistics/source';
4
+ /** 2D kernel density over the source's `x` and `y`, drawn as a `density` marker. */
5
+ export declare class Density2dStatistic {
6
+ static build<T extends Record<string, unknown>>(source: StatisticSource<T>, config: Extract<StatisticConfig, {
7
+ type: 'density2d';
8
+ }>): DensityMarkerConfig;
9
+ }
@@ -0,0 +1,18 @@
1
+ import { STATISTIC_FALLBACK_COLOR } from '../../../types/phases/statistics/source';
2
+ /** 2D kernel density over the source's `x` and `y`, drawn as a `density` marker. */
3
+ export class Density2dStatistic {
4
+ static build(source, config) {
5
+ return {
6
+ type: 'density',
7
+ data: source.data,
8
+ x: source.x,
9
+ y: source.y,
10
+ bandwidth: config.bandwidth,
11
+ thresholds: config.thresholds,
12
+ styles: {
13
+ ...config.styles,
14
+ stroke: config.styles?.stroke ?? source.color ?? STATISTIC_FALLBACK_COLOR
15
+ }
16
+ };
17
+ }
18
+ }
@@ -0,0 +1,12 @@
1
+ import type { DensityStatisticOptions } from '../../../types/layout/statistics';
2
+ import type { AreaMarkerConfig } from '../../../types/markers/common';
3
+ import { type StatisticSource } from '../../../types/phases/statistics/source';
4
+ /** 1D kernel density over the source's `x` values, drawn as an `area` marker. */
5
+ export declare class DensityStatistic {
6
+ /**
7
+ * The `densityX` transform, wrapped into an `area` marker - the curve's own
8
+ * `x` is the value and `y` the density, so it draws on the plot's axes as-is.
9
+ * The output is one derived row per estimate point rather than one per input row.
10
+ */
11
+ static build<T extends Record<string, unknown>>(source: StatisticSource<T>, config: DensityStatisticOptions): AreaMarkerConfig;
12
+ }
@@ -0,0 +1,29 @@
1
+ import { Transforms } from '../../transforms/Transforms';
2
+ import { STATISTIC_FALLBACK_COLOR } from '../../../types/phases/statistics/source';
3
+ /** 1D kernel density over the source's `x` values, drawn as an `area` marker. */
4
+ export class DensityStatistic {
5
+ /**
6
+ * The `densityX` transform, wrapped into an `area` marker - the curve's own
7
+ * `x` is the value and `y` the density, so it draws on the plot's axes as-is.
8
+ * The output is one derived row per estimate point rather than one per input row.
9
+ */
10
+ static build(source, config) {
11
+ const result = Transforms.run({
12
+ type: 'densityX',
13
+ data: source.data,
14
+ x: source.x,
15
+ kernel: config.kernel,
16
+ bandwidth: config.bandwidth
17
+ });
18
+ return {
19
+ type: 'area',
20
+ data: result.data,
21
+ x: result.x,
22
+ y: result.y,
23
+ styles: {
24
+ ...config.styles,
25
+ fill: config.styles?.fill ?? source.color ?? STATISTIC_FALLBACK_COLOR
26
+ }
27
+ };
28
+ }
29
+ }
@@ -0,0 +1,12 @@
1
+ import type { MovingAverageStatisticOptions } from '../../../types/layout/statistics';
2
+ import type { LineMarkerConfig } from '../../../types/markers/common';
3
+ import { type StatisticSource } from '../../../types/phases/statistics/source';
4
+ /** Sliding-window reducer (mean/median/sum/...) drawn as a `line` marker. */
5
+ export declare class MovingAverageStatistic {
6
+ /**
7
+ * The `windowY` transform, wrapped into our own `line` marker - svelteplot has
8
+ * no dedicated mark for this (unlike `regression`/`bollinger`). `windowY`
9
+ * keeps one output row per input row, so `x` passes straight through.
10
+ */
11
+ static build<T extends Record<string, unknown>>(source: StatisticSource<T>, config: MovingAverageStatisticOptions): LineMarkerConfig;
12
+ }
@@ -0,0 +1,30 @@
1
+ import { Transforms } from '../../transforms/Transforms';
2
+ import { STATISTIC_FALLBACK_COLOR } from '../../../types/phases/statistics/source';
3
+ /** Sliding-window reducer (mean/median/sum/...) drawn as a `line` marker. */
4
+ export class MovingAverageStatistic {
5
+ /**
6
+ * The `windowY` transform, wrapped into our own `line` marker - svelteplot has
7
+ * no dedicated mark for this (unlike `regression`/`bollinger`). `windowY`
8
+ * keeps one output row per input row, so `x` passes straight through.
9
+ */
10
+ static build(source, config) {
11
+ const result = Transforms.run({
12
+ type: 'windowY',
13
+ data: source.data,
14
+ x: source.x,
15
+ y: source.y,
16
+ k: config.k,
17
+ reduce: config.reduce ?? 'mean'
18
+ });
19
+ return {
20
+ type: 'line',
21
+ data: result.data,
22
+ x: result.x,
23
+ y: result.y,
24
+ styles: {
25
+ ...config.styles,
26
+ stroke: config.styles?.stroke ?? source.color ?? STATISTIC_FALLBACK_COLOR
27
+ }
28
+ };
29
+ }
30
+ }
@@ -0,0 +1,9 @@
1
+ import type { StatisticConfig } from '../../../types/layout/statistics';
2
+ import type { RegressionMarkerConfig } from '../../../types/markers/common';
3
+ import { type StatisticSource } from '../../../types/phases/statistics/source';
4
+ /** A regression curve over the source, drawn as a `regression` marker (svelteplot fits it at render time). */
5
+ export declare class RegressionStatistic {
6
+ static build<T extends Record<string, unknown>>(source: StatisticSource<T>, config: Extract<StatisticConfig, {
7
+ type: 'regression';
8
+ }>): RegressionMarkerConfig;
9
+ }
@@ -0,0 +1,21 @@
1
+ import { STATISTIC_FALLBACK_COLOR } from '../../../types/phases/statistics/source';
2
+ /** A regression curve over the source, drawn as a `regression` marker (svelteplot fits it at render time). */
3
+ export class RegressionStatistic {
4
+ static build(source, config) {
5
+ return {
6
+ type: 'regression',
7
+ data: source.data,
8
+ x: source.x,
9
+ y: source.y,
10
+ regressionType: config.regressionType,
11
+ order: config.order,
12
+ base: config.base,
13
+ span: config.span,
14
+ confidence: config.confidence,
15
+ styles: {
16
+ ...config.styles,
17
+ stroke: config.styles?.stroke ?? source.color ?? STATISTIC_FALLBACK_COLOR
18
+ }
19
+ };
20
+ }
21
+ }
@@ -0,0 +1,13 @@
1
+ import type { AxisPlotState, AxisPlotCtx, PhaseStage } from '../../types/phases';
2
+ import type { StylesStageOptions } from '../../types/phases/styles/phase';
3
+ /**
4
+ * The shared "styles" phase: resolves the plot's `styles` against the plot
5
+ * kind's own defaults - its value labels (`valueLabels`), with how far they
6
+ * are expected to reach out, which its margins start from.
7
+ */
8
+ export declare class StylesPhase<TState extends AxisPlotState<any, any, any, any>, TCtx extends AxisPlotCtx> implements PhaseStage<TState, TCtx> {
9
+ #private;
10
+ readonly phase: "styles";
11
+ constructor(options?: StylesStageOptions<TState>);
12
+ run: (state: TState, ctx: TCtx) => TState;
13
+ }
@@ -0,0 +1,17 @@
1
+ import { ValueLabels } from '../../layout/styles/ValueLabels';
2
+ /**
3
+ * The shared "styles" phase: resolves the plot's `styles` against the plot
4
+ * kind's own defaults - its value labels (`valueLabels`), with how far they
5
+ * are expected to reach out, which its margins start from.
6
+ */
7
+ export class StylesPhase {
8
+ phase = 'styles';
9
+ #options;
10
+ constructor(options = {}) {
11
+ this.#options = options;
12
+ }
13
+ run = (state, ctx) => ({
14
+ ...state,
15
+ valueLabels: ValueLabels.build(state.values, ctx.cfg, this.#options.values ?? {}, state)
16
+ });
17
+ }
@@ -0,0 +1,14 @@
1
+ import type { AxisPlotState, PhaseStage } from '../../types/phases';
2
+ type AnyAxisState = AxisPlotState<any, any, any, any>;
3
+ /**
4
+ * The "tooltip" phase every axis-based plot shares: how a hovered row reads,
5
+ * as `tooltipFormat` - the same default on every plot, {@link TooltipState.default} -
6
+ * and the order its rows read in, as `tooltipSort`: highest value first, by
7
+ * each row's own value (a stacked row's share, not its running total). It
8
+ * runs after the scales, which say which axis holds categories.
9
+ */
10
+ export declare class TooltipPhase<TState extends AnyAxisState> implements PhaseStage<TState> {
11
+ readonly phase: "tooltip";
12
+ run: (state: TState) => TState;
13
+ }
14
+ export {};
@@ -0,0 +1,17 @@
1
+ import { TooltipState } from '../../layout/tooltip/TooltipState.svelte';
2
+ import { ValueLabels } from '../../layout/styles/ValueLabels';
3
+ /**
4
+ * The "tooltip" phase every axis-based plot shares: how a hovered row reads,
5
+ * as `tooltipFormat` - the same default on every plot, {@link TooltipState.default} -
6
+ * and the order its rows read in, as `tooltipSort`: highest value first, by
7
+ * each row's own value (a stacked row's share, not its running total). It
8
+ * runs after the scales, which say which axis holds categories.
9
+ */
10
+ export class TooltipPhase {
11
+ phase = 'tooltip';
12
+ run = (state) => ({
13
+ ...state,
14
+ tooltipFormat: TooltipState.default(state),
15
+ tooltipSort: TooltipState.descending(ValueLabels.valueOf(state))
16
+ });
17
+ }
@@ -0,0 +1,30 @@
1
+ import type { AxisChannelName } from '../../types/layout/mapping';
2
+ import type { ProcessedData, ProcessedRow } from '../../types/phases';
3
+ /**
4
+ * Where the "transforms" phase's processed rows sit, read off its output
5
+ * (`state.processedData`) - by whichever channels the transforms left: a
6
+ * row's own value, a stack's `1`-`2` span, a bin's edges. Every later phase
7
+ * reads positions through it instead of telling those channels apart itself.
8
+ */
9
+ export declare class ProcessedPositions {
10
+ /**
11
+ * Where a processed row sits: the top of its value (`y2`, or `y` - `x2`/`x`
12
+ * when `valueAxis` is `x`) and, on the other axis, its own position (or the
13
+ * middle of its `1`-`2` span, a bin's centre).
14
+ */
15
+ static of(processed: ProcessedData, valueAxis?: 'x' | 'y'): {
16
+ x: (row: ProcessedRow) => unknown;
17
+ y: (row: ProcessedRow) => unknown;
18
+ };
19
+ /**
20
+ * A processed row's span along `valueAxis`: from its `1` channel (a stack's
21
+ * bottom) or, with none, from `baseline`, to its top. `undefined` when the
22
+ * row has no value there. `stacked` tells a stack from plain values.
23
+ */
24
+ static span(processed: ProcessedData, valueAxis: 'x' | 'y', baseline?: number): {
25
+ stacked: boolean;
26
+ of: (row: ProcessedRow) => [number, number] | undefined;
27
+ };
28
+ /** Every value the processed rows sit at on one axis, through each of its channels. */
29
+ static values(processed: ProcessedData | undefined, axis: AxisChannelName): unknown[];
30
+ }
@@ -0,0 +1,74 @@
1
+ import { resolveAccessor } from '../../plots/utils/accessors';
2
+ import { isGapValue } from '../../plots/utils/gaps';
3
+ const POSITION_CHANNELS = {
4
+ x: ['x', 'x1', 'x2'],
5
+ y: ['y', 'y1', 'y2']
6
+ };
7
+ /**
8
+ * Where the "transforms" phase's processed rows sit, read off its output
9
+ * (`state.processedData`) - by whichever channels the transforms left: a
10
+ * row's own value, a stack's `1`-`2` span, a bin's edges. Every later phase
11
+ * reads positions through it instead of telling those channels apart itself.
12
+ */
13
+ export class ProcessedPositions {
14
+ /**
15
+ * Where a processed row sits: the top of its value (`y2`, or `y` - `x2`/`x`
16
+ * when `valueAxis` is `x`) and, on the other axis, its own position (or the
17
+ * middle of its `1`-`2` span, a bin's centre).
18
+ */
19
+ static of(processed, valueAxis = 'y') {
20
+ const { channels } = processed;
21
+ const read = (channel) => resolveAccessor(channel);
22
+ const along = (axis) => {
23
+ const own = channels[axis];
24
+ const from = channels[`${axis}1`];
25
+ const to = channels[`${axis}2`];
26
+ if (axis === valueAxis) {
27
+ const top = to ?? own;
28
+ return top !== undefined ? read(top) : () => undefined;
29
+ }
30
+ if (own !== undefined)
31
+ return read(own);
32
+ if (from === undefined || to === undefined)
33
+ return () => undefined;
34
+ return (row) => (Number(read(from)(row)) + Number(read(to)(row))) / 2;
35
+ };
36
+ return { x: along('x'), y: along('y') };
37
+ }
38
+ /**
39
+ * A processed row's span along `valueAxis`: from its `1` channel (a stack's
40
+ * bottom) or, with none, from `baseline`, to its top. `undefined` when the
41
+ * row has no value there. `stacked` tells a stack from plain values.
42
+ */
43
+ static span(processed, valueAxis, baseline = 0) {
44
+ const from = processed.channels[`${valueAxis}1`];
45
+ const stacked = from !== undefined && processed.channels[`${valueAxis}2`] !== undefined;
46
+ const top = ProcessedPositions.of(processed, valueAxis)[valueAxis];
47
+ const bottom = stacked
48
+ ? resolveAccessor(from)
49
+ : () => baseline;
50
+ return {
51
+ stacked,
52
+ of: (row) => {
53
+ const end = top(row);
54
+ const start = bottom(row);
55
+ if (isGapValue(end) || isGapValue(start))
56
+ return undefined;
57
+ const span = [Number(start), Number(end)];
58
+ return Number.isFinite(span[0]) && Number.isFinite(span[1]) ? span : undefined;
59
+ }
60
+ };
61
+ }
62
+ /** Every value the processed rows sit at on one axis, through each of its channels. */
63
+ static values(processed, axis) {
64
+ if (!processed)
65
+ return [];
66
+ return POSITION_CHANNELS[axis].flatMap((name) => {
67
+ const channel = processed.channels[name];
68
+ if (channel === undefined)
69
+ return [];
70
+ const read = resolveAccessor(channel);
71
+ return processed.data.map((row) => read(row));
72
+ });
73
+ }
74
+ }