@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.
Files changed (786) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +21 -0
  3. package/README.md +81 -561
  4. package/dist/configuration/config.svelte.d.ts +5 -5
  5. package/dist/configuration/config.svelte.js +130 -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 +421 -80
  17. package/dist/configuration/themes/index.js +6 -5
  18. package/dist/index.d.ts +34 -48
  19. package/dist/index.js +19 -35
  20. package/dist/layout/base/BasePlotLayout.svelte +312 -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 +20 -0
  69. package/dist/layout/hover/HoverSettings.js +27 -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 +79 -0
  89. package/dist/layout/legend/LegendState.svelte.js +329 -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 +284 -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 +130 -0
  111. package/dist/layout/plot/PublicPlotContext.js +236 -0
  112. package/dist/layout/plot/Slice.d.ts +44 -0
  113. package/dist/layout/plot/Slice.js +98 -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/ScalesLayout.svelte +241 -206
  117. package/dist/layout/scales/ScalesLayout.svelte.d.ts +2 -1
  118. package/dist/layout/scales/buildScale.d.ts +5 -22
  119. package/dist/layout/scales/buildScale.js +11 -34
  120. package/dist/layout/scales/niceDomain.d.ts +3 -3
  121. package/dist/layout/scales/niceDomain.js +4 -4
  122. package/dist/layout/styles/StylesLayout.svelte +65 -65
  123. package/dist/layout/styles/TileLayer.svelte +78 -76
  124. package/dist/layout/styles/TileLayer.svelte.d.ts +1 -1
  125. package/dist/layout/styles/ValueLabels.d.ts +97 -0
  126. package/dist/layout/styles/ValueLabels.js +237 -0
  127. package/dist/layout/timeline/Timeline.svelte +80 -74
  128. package/dist/layout/timeline/TimelineFrame.svelte +86 -0
  129. package/dist/layout/timeline/TimelineFrame.svelte.d.ts +16 -0
  130. package/dist/layout/timeline/TimelineLayout.svelte +114 -169
  131. package/dist/layout/timeline/TimelineLayout.svelte.d.ts +2 -0
  132. package/dist/layout/timeline/TimelinePlayer.svelte +195 -0
  133. package/dist/layout/timeline/TimelinePlayer.svelte.d.ts +7 -0
  134. package/dist/layout/timeline/TimelineRule.svelte +50 -0
  135. package/dist/layout/timeline/TimelineRule.svelte.d.ts +7 -0
  136. package/dist/layout/timeline/TimelineState.svelte.d.ts +82 -0
  137. package/dist/layout/timeline/TimelineState.svelte.js +226 -0
  138. package/dist/layout/timeline/TimelineSteps.d.ts +24 -0
  139. package/dist/layout/timeline/TimelineSteps.js +48 -0
  140. package/dist/layout/tooltip/Tooltip.svelte +82 -85
  141. package/dist/layout/tooltip/Tooltip.svelte.d.ts +43 -24
  142. package/dist/layout/tooltip/TooltipState.svelte.d.ts +61 -0
  143. package/dist/layout/tooltip/TooltipState.svelte.js +107 -0
  144. package/dist/markers/MarkerKinds.d.ts +173 -0
  145. package/dist/markers/MarkerKinds.js +51 -0
  146. package/dist/markers/area/AreaMarker.svelte +110 -0
  147. package/dist/markers/area/AreaMarker.svelte.d.ts +7 -0
  148. package/dist/markers/arrow/ArrowMarker.svelte +28 -0
  149. package/dist/markers/arrow/ArrowMarker.svelte.d.ts +7 -0
  150. package/dist/markers/{BarMarker.svelte → bar/BarMarker.svelte} +54 -52
  151. package/dist/markers/{BarMarker.svelte.d.ts → bar/BarMarker.svelte.d.ts} +1 -1
  152. package/dist/markers/bollinger/BollingerMarker.svelte +44 -0
  153. package/dist/markers/bollinger/BollingerMarker.svelte.d.ts +7 -0
  154. package/dist/markers/box/BoxMarker.svelte +143 -0
  155. package/dist/markers/box/BoxMarker.svelte.d.ts +7 -0
  156. package/dist/markers/brush/BrushMarker.svelte +32 -0
  157. package/dist/markers/brush/BrushMarker.svelte.d.ts +7 -0
  158. package/dist/markers/cell/CellMarker.svelte +27 -0
  159. package/dist/markers/{CellMarker.svelte.d.ts → cell/CellMarker.svelte.d.ts} +1 -1
  160. package/dist/markers/contour/ContourClipMarker.svelte +83 -0
  161. package/dist/markers/{ContourClipMarker.svelte.d.ts → contour/ContourClipMarker.svelte.d.ts} +1 -1
  162. package/dist/markers/contour/ContourMarker.svelte +28 -0
  163. package/dist/markers/{ContourMarker.svelte.d.ts → contour/ContourMarker.svelte.d.ts} +1 -1
  164. package/dist/markers/delaunay/DelaunayLinkMarker.svelte +26 -0
  165. package/dist/markers/delaunay/DelaunayLinkMarker.svelte.d.ts +7 -0
  166. package/dist/markers/delaunay/DelaunayMeshMarker.svelte +26 -0
  167. package/dist/markers/delaunay/DelaunayMeshMarker.svelte.d.ts +7 -0
  168. package/dist/markers/delta/Delta.d.ts +21 -0
  169. package/dist/markers/delta/Delta.js +60 -0
  170. package/dist/markers/delta/DeltaMarker.svelte +94 -0
  171. package/dist/markers/{DeltaMarker.svelte.d.ts → delta/DeltaMarker.svelte.d.ts} +2 -2
  172. package/dist/markers/density/DensityMarker.svelte +63 -0
  173. package/dist/markers/density/DensityMarker.svelte.d.ts +7 -0
  174. package/dist/markers/difference/DifferenceMarker.svelte +30 -0
  175. package/dist/markers/difference/DifferenceMarker.svelte.d.ts +7 -0
  176. package/dist/markers/dot/DotMarker.svelte +102 -0
  177. package/dist/markers/{DotMarker.svelte.d.ts → dot/DotMarker.svelte.d.ts} +5 -17
  178. package/dist/markers/geo/GeoFeaturesMarker.svelte +39 -0
  179. package/dist/markers/{GeoFeaturesMarker.svelte.d.ts → geo/GeoFeaturesMarker.svelte.d.ts} +1 -1
  180. package/dist/markers/geo/GeoHoverMarker.svelte +28 -0
  181. package/dist/markers/{GeoHoverMarker.svelte.d.ts → geo/GeoHoverMarker.svelte.d.ts} +2 -2
  182. package/dist/markers/geo/GraticuleMarker.svelte +18 -0
  183. package/dist/markers/{GraticuleMarker.svelte.d.ts → geo/GraticuleMarker.svelte.d.ts} +1 -1
  184. package/dist/markers/geo/SphereMarker.svelte +15 -0
  185. package/dist/markers/{SphereMarker.svelte.d.ts → geo/SphereMarker.svelte.d.ts} +1 -1
  186. package/dist/markers/hover/HoverMarker.svelte +252 -0
  187. package/dist/markers/{HoverMarker.svelte.d.ts → hover/HoverMarker.svelte.d.ts} +10 -10
  188. package/dist/markers/hull/HullMarker.svelte +25 -0
  189. package/dist/markers/hull/HullMarker.svelte.d.ts +7 -0
  190. package/dist/markers/image/ImageMarker.svelte +22 -0
  191. package/dist/markers/image/ImageMarker.svelte.d.ts +7 -0
  192. package/dist/markers/inset/InsetMarker.svelte +184 -150
  193. package/dist/markers/inset/InsetMarker.svelte.d.ts +4 -4
  194. package/dist/markers/inset/insetLayout.d.ts +1 -1
  195. package/dist/markers/inset/insetLayout.js +6 -2
  196. package/dist/markers/inset/insetProjection.d.ts +1 -1
  197. package/dist/markers/inset/insetProjection.js +3 -3
  198. package/dist/markers/line/LineMarker.svelte +30 -0
  199. package/dist/markers/{LineMarker.svelte.d.ts → line/LineMarker.svelte.d.ts} +1 -1
  200. package/dist/markers/link/LinkMarker.svelte +47 -0
  201. package/dist/markers/{LinkMarker.svelte.d.ts → link/LinkMarker.svelte.d.ts} +1 -1
  202. package/dist/markers/raster/RasterMarker.svelte +31 -0
  203. package/dist/markers/raster/RasterMarker.svelte.d.ts +7 -0
  204. package/dist/markers/rect/RectMarker.svelte +62 -0
  205. package/dist/markers/rect/RectMarker.svelte.d.ts +7 -0
  206. package/dist/markers/regression/RegressionMarker.svelte +60 -0
  207. package/dist/markers/regression/RegressionMarker.svelte.d.ts +7 -0
  208. package/dist/markers/rule/RuleMarker.svelte +47 -0
  209. package/dist/markers/{RuleMarker.svelte.d.ts → rule/RuleMarker.svelte.d.ts} +2 -5
  210. package/dist/markers/text/Declutter.d.ts +35 -0
  211. package/dist/markers/text/Declutter.js +157 -0
  212. package/dist/markers/text/TextMarker.svelte +244 -0
  213. package/dist/markers/{TextMarker.svelte.d.ts → text/TextMarker.svelte.d.ts} +5 -9
  214. package/dist/markers/tick/TickMarker.svelte +44 -0
  215. package/dist/markers/tick/TickMarker.svelte.d.ts +7 -0
  216. package/dist/markers/trail/TrailMarker.svelte +27 -0
  217. package/dist/markers/trail/TrailMarker.svelte.d.ts +7 -0
  218. package/dist/markers/utils/BandNudge.d.ts +22 -0
  219. package/dist/markers/utils/BandNudge.js +23 -0
  220. package/dist/markers/utils/MarkerChannels.d.ts +49 -0
  221. package/dist/markers/utils/MarkerChannels.js +97 -0
  222. package/dist/markers/vector/VectorMarker.svelte +29 -0
  223. package/dist/markers/{VectorMarker.svelte.d.ts → vector/VectorMarker.svelte.d.ts} +1 -1
  224. package/dist/markers/voronoi/VoronoiMarker.svelte +26 -0
  225. package/dist/markers/voronoi/VoronoiMarker.svelte.d.ts +7 -0
  226. package/dist/markers/voronoi/VoronoiMeshMarker.svelte +26 -0
  227. package/dist/markers/voronoi/VoronoiMeshMarker.svelte.d.ts +7 -0
  228. package/dist/markers/waffle/WaffleMarker.svelte +56 -0
  229. package/dist/markers/waffle/WaffleMarker.svelte.d.ts +7 -0
  230. package/dist/phases/Pipeline.d.ts +108 -0
  231. package/dist/phases/Pipeline.js +226 -0
  232. package/dist/phases/data/DataPhase.d.ts +25 -0
  233. package/dist/phases/data/DataPhase.js +82 -0
  234. package/dist/phases/data/PlotAxes.d.ts +75 -0
  235. package/dist/phases/data/PlotAxes.js +151 -0
  236. package/dist/phases/facet/FacetPhase.d.ts +52 -0
  237. package/dist/phases/facet/FacetPhase.js +114 -0
  238. package/dist/phases/hover/HoverPhase.d.ts +73 -0
  239. package/dist/phases/hover/HoverPhase.js +144 -0
  240. package/dist/phases/mapping/MappingPhase.d.ts +17 -0
  241. package/dist/phases/mapping/MappingPhase.js +42 -0
  242. package/dist/phases/markers/MarkersPhase.d.ts +14 -0
  243. package/dist/phases/markers/MarkersPhase.js +27 -0
  244. package/dist/phases/scales/MarkerAxisValues.d.ts +12 -0
  245. package/dist/phases/scales/MarkerAxisValues.js +34 -0
  246. package/dist/phases/scales/ScalesPhase.d.ts +31 -0
  247. package/dist/phases/scales/ScalesPhase.js +157 -0
  248. package/dist/phases/sharedScales/SharedScalesPhase.d.ts +55 -0
  249. package/dist/phases/sharedScales/SharedScalesPhase.js +168 -0
  250. package/dist/phases/statistics/AuthorMarkers.d.ts +43 -0
  251. package/dist/phases/statistics/AuthorMarkers.js +69 -0
  252. package/dist/phases/statistics/MarkerGrouping.d.ts +48 -0
  253. package/dist/phases/statistics/MarkerGrouping.js +113 -0
  254. package/dist/phases/statistics/Statistics.d.ts +53 -0
  255. package/dist/phases/statistics/Statistics.js +156 -0
  256. package/dist/phases/statistics/StatisticsPhase.d.ts +18 -0
  257. package/dist/phases/statistics/StatisticsPhase.js +68 -0
  258. package/dist/phases/statistics/methods/BollingerStatistic.d.ts +9 -0
  259. package/dist/phases/statistics/methods/BollingerStatistic.js +18 -0
  260. package/dist/phases/statistics/methods/BoxStatistic.d.ts +9 -0
  261. package/dist/phases/statistics/methods/BoxStatistic.js +18 -0
  262. package/dist/phases/statistics/methods/Density2dStatistic.d.ts +9 -0
  263. package/dist/phases/statistics/methods/Density2dStatistic.js +18 -0
  264. package/dist/phases/statistics/methods/DensityStatistic.d.ts +12 -0
  265. package/dist/phases/statistics/methods/DensityStatistic.js +29 -0
  266. package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +12 -0
  267. package/dist/phases/statistics/methods/MovingAverageStatistic.js +30 -0
  268. package/dist/phases/statistics/methods/RegressionStatistic.d.ts +9 -0
  269. package/dist/phases/statistics/methods/RegressionStatistic.js +21 -0
  270. package/dist/phases/styles/StylesPhase.d.ts +13 -0
  271. package/dist/phases/styles/StylesPhase.js +17 -0
  272. package/dist/phases/tooltip/TooltipPhase.d.ts +12 -0
  273. package/dist/phases/tooltip/TooltipPhase.js +10 -0
  274. package/dist/phases/transforms/Transforms.d.ts +42 -0
  275. package/dist/phases/transforms/Transforms.js +130 -0
  276. package/dist/phases/transforms/TransformsPhase.d.ts +64 -0
  277. package/dist/phases/transforms/TransformsPhase.js +242 -0
  278. package/dist/phases/transforms/methods/AnchorBar.d.ts +13 -0
  279. package/dist/phases/transforms/methods/AnchorBar.js +21 -0
  280. package/dist/phases/transforms/methods/BinTransform.d.ts +7 -0
  281. package/dist/phases/transforms/methods/BinTransform.js +48 -0
  282. package/dist/phases/transforms/methods/DensityTransform.d.ts +6 -0
  283. package/dist/phases/transforms/methods/DensityTransform.js +13 -0
  284. package/dist/phases/transforms/methods/GroupTransform.d.ts +8 -0
  285. package/dist/phases/transforms/methods/GroupTransform.js +39 -0
  286. package/dist/phases/transforms/methods/NormalizeTransform.d.ts +10 -0
  287. package/dist/phases/transforms/methods/NormalizeTransform.js +30 -0
  288. package/dist/phases/transforms/methods/OrderTransform.d.ts +16 -0
  289. package/dist/phases/transforms/methods/OrderTransform.js +43 -0
  290. package/dist/phases/transforms/methods/PerGroup.d.ts +11 -0
  291. package/dist/phases/transforms/methods/PerGroup.js +39 -0
  292. package/dist/phases/transforms/methods/PositionTransform.d.ts +15 -0
  293. package/dist/phases/transforms/methods/PositionTransform.js +74 -0
  294. package/dist/phases/transforms/methods/StackTransform.d.ts +8 -0
  295. package/dist/phases/transforms/methods/StackTransform.js +29 -0
  296. package/dist/phases/transforms/methods/WindowTransform.d.ts +8 -0
  297. package/dist/phases/transforms/methods/WindowTransform.js +23 -0
  298. package/dist/plots/area/Plot.svelte +42 -0
  299. package/dist/plots/{heatmap/ValueLabels.svelte.d.ts → area/Plot.svelte.d.ts} +8 -16
  300. package/dist/plots/area/defaults.d.ts +4 -0
  301. package/dist/plots/area/defaults.js +21 -0
  302. package/dist/plots/area/markers.d.ts +14 -0
  303. package/dist/plots/area/markers.js +40 -0
  304. package/dist/plots/bar/Plot.svelte +33 -438
  305. package/dist/plots/bar/Plot.svelte.d.ts +5 -8
  306. package/dist/plots/bar/defaults.d.ts +9 -0
  307. package/dist/plots/bar/defaults.js +92 -0
  308. package/dist/plots/bar/markers.d.ts +45 -0
  309. package/dist/plots/bar/markers.js +232 -0
  310. package/dist/plots/geo/Core.svelte +151 -0
  311. package/dist/plots/geo/Core.svelte.d.ts +25 -0
  312. package/dist/plots/geo/Plot.svelte +103 -324
  313. package/dist/plots/geo/Plot.svelte.d.ts +5 -9
  314. package/dist/plots/geo/defaults.d.ts +4 -0
  315. package/dist/plots/geo/defaults.js +16 -0
  316. package/dist/plots/geo/features.svelte.d.ts +5 -0
  317. package/dist/plots/geo/features.svelte.js +44 -0
  318. package/dist/plots/geo/phases/data.d.ts +6 -0
  319. package/dist/plots/geo/phases/data.js +26 -0
  320. package/dist/plots/geo/phases/hover.d.ts +9 -0
  321. package/dist/plots/geo/phases/hover.js +45 -0
  322. package/dist/plots/geo/phases/markers.d.ts +9 -0
  323. package/dist/plots/geo/phases/markers.js +76 -0
  324. package/dist/plots/geo/phases/scales.d.ts +10 -0
  325. package/dist/plots/geo/phases/scales.js +85 -0
  326. package/dist/plots/geo/phases/tooltip.d.ts +3 -0
  327. package/dist/plots/geo/phases/tooltip.js +5 -0
  328. package/dist/plots/geo/slices.d.ts +18 -0
  329. package/dist/plots/geo/slices.js +56 -0
  330. package/dist/plots/heatmap/Plot.svelte +55 -249
  331. package/dist/plots/heatmap/Plot.svelte.d.ts +5 -8
  332. package/dist/plots/heatmap/defaults.d.ts +11 -0
  333. package/dist/plots/heatmap/defaults.js +91 -0
  334. package/dist/plots/heatmap/markers.d.ts +17 -0
  335. package/dist/plots/heatmap/markers.js +141 -0
  336. package/dist/plots/histogram/Plot.svelte +45 -0
  337. package/dist/plots/histogram/Plot.svelte.d.ts +26 -0
  338. package/dist/plots/histogram/defaults.d.ts +9 -0
  339. package/dist/plots/histogram/defaults.js +87 -0
  340. package/dist/plots/histogram/markers.d.ts +18 -0
  341. package/dist/plots/histogram/markers.js +89 -0
  342. package/dist/plots/line/Plot.svelte +37 -268
  343. package/dist/plots/line/Plot.svelte.d.ts +3 -7
  344. package/dist/plots/line/defaults.d.ts +4 -0
  345. package/dist/plots/line/defaults.js +29 -0
  346. package/dist/plots/line/markers.d.ts +49 -0
  347. package/dist/plots/line/markers.js +200 -0
  348. package/dist/plots/pyramid/Plot.svelte +34 -362
  349. package/dist/plots/pyramid/Plot.svelte.d.ts +5 -8
  350. package/dist/plots/pyramid/defaults.d.ts +13 -0
  351. package/dist/plots/pyramid/defaults.js +86 -0
  352. package/dist/plots/pyramid/markers.d.ts +21 -0
  353. package/dist/plots/pyramid/markers.js +159 -0
  354. package/dist/plots/scatter/Plot.svelte +34 -288
  355. package/dist/plots/scatter/Plot.svelte.d.ts +5 -8
  356. package/dist/plots/scatter/defaults.d.ts +4 -0
  357. package/dist/plots/scatter/defaults.js +79 -0
  358. package/dist/plots/scatter/markers.d.ts +19 -0
  359. package/dist/plots/scatter/markers.js +128 -0
  360. package/dist/plots/utils/ChannelName.d.ts +9 -0
  361. package/dist/plots/utils/ChannelName.js +14 -0
  362. package/dist/plots/utils/accessors.d.ts +1 -1
  363. package/dist/plots/utils/accessors.js +4 -2
  364. package/dist/plots/utils/gaps.d.ts +14 -19
  365. package/dist/plots/utils/gaps.js +38 -18
  366. package/dist/plots/utils/geoAccessors.d.ts +8 -8
  367. package/dist/plots/utils/geoAccessors.js +16 -12
  368. package/dist/plots/utils/geoSegments.d.ts +24 -9
  369. package/dist/plots/utils/geoSegments.js +31 -11
  370. package/dist/plots/utils/segments.d.ts +5 -16
  371. package/dist/plots/utils/segments.js +40 -52
  372. package/dist/plots/utils/tiles.d.ts +9 -9
  373. package/dist/plots/utils/tiles.js +35 -25
  374. package/dist/plots/utils/topojson.d.ts +1 -1
  375. package/dist/plots/utils/topojson.js +3 -3
  376. package/dist/stores/device.js +2 -4
  377. package/dist/types/configuration/styling.d.ts +152 -27
  378. package/dist/types/layout/box.d.ts +24 -0
  379. package/dist/types/layout/composer.d.ts +36 -0
  380. package/dist/types/layout/coordinates.d.ts +14 -14
  381. package/dist/types/layout/facet.d.ts +44 -22
  382. package/dist/types/layout/figure.d.ts +7 -0
  383. package/dist/types/layout/geometry.d.ts +6 -2
  384. package/dist/types/layout/grid.d.ts +66 -0
  385. package/dist/types/layout/hover.d.ts +48 -0
  386. package/dist/types/layout/legend.d.ts +256 -55
  387. package/dist/types/layout/mapping.d.ts +68 -0
  388. package/dist/types/layout/plot.d.ts +41 -0
  389. package/dist/types/layout/scales.d.ts +92 -24
  390. package/dist/types/layout/scales.js +19 -1
  391. package/dist/types/layout/statistics/bollinger.d.ts +18 -0
  392. package/dist/types/layout/statistics/box.d.ts +8 -0
  393. package/dist/types/layout/statistics/box.js +1 -0
  394. package/dist/types/layout/statistics/density.d.ts +27 -0
  395. package/dist/types/layout/statistics/density.js +1 -0
  396. package/dist/types/layout/statistics/index.d.ts +46 -0
  397. package/dist/types/layout/statistics/index.js +1 -0
  398. package/dist/types/layout/statistics/movingAverage.d.ts +12 -0
  399. package/dist/types/layout/statistics/movingAverage.js +1 -0
  400. package/dist/types/layout/statistics/regression.d.ts +20 -0
  401. package/dist/types/layout/statistics/regression.js +1 -0
  402. package/dist/types/layout/styles.d.ts +24 -35
  403. package/dist/types/layout/timeline.d.ts +51 -4
  404. package/dist/types/layout/tooltip.d.ts +7 -85
  405. package/dist/types/markers/all.d.ts +3 -4
  406. package/dist/types/markers/axis/area.d.ts +12 -0
  407. package/dist/types/markers/axis/area.js +1 -0
  408. package/dist/types/markers/axis/arrow.d.ts +15 -0
  409. package/dist/types/markers/axis/arrow.js +1 -0
  410. package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +29 -0
  411. package/dist/types/markers/axis/axisBasedMarkersConfig.js +1 -0
  412. package/dist/types/markers/axis/bar.d.ts +18 -0
  413. package/dist/types/markers/axis/bar.js +1 -0
  414. package/dist/types/markers/axis/bollinger.d.ts +6 -0
  415. package/dist/types/markers/axis/bollinger.js +1 -0
  416. package/dist/types/markers/axis/box.d.ts +14 -0
  417. package/dist/types/markers/axis/box.js +1 -0
  418. package/dist/types/markers/axis/brush.d.ts +28 -0
  419. package/dist/types/markers/axis/brush.js +1 -0
  420. package/dist/types/markers/axis/cell.d.ts +9 -0
  421. package/dist/types/markers/axis/cell.js +1 -0
  422. package/dist/types/markers/axis/component.d.ts +9 -0
  423. package/dist/types/markers/axis/component.js +1 -0
  424. package/dist/types/markers/axis/curveName.d.ts +2 -0
  425. package/dist/types/markers/axis/curveName.js +1 -0
  426. package/dist/types/markers/axis/delaunayLink.d.ts +7 -0
  427. package/dist/types/markers/axis/delaunayLink.js +1 -0
  428. package/dist/types/markers/axis/delaunayMesh.d.ts +7 -0
  429. package/dist/types/markers/axis/delaunayMesh.js +1 -0
  430. package/dist/types/markers/axis/delta.d.ts +27 -0
  431. package/dist/types/markers/axis/delta.js +1 -0
  432. package/dist/types/markers/axis/density.d.ts +12 -0
  433. package/dist/types/markers/axis/density.js +1 -0
  434. package/dist/types/markers/axis/difference.d.ts +12 -0
  435. package/dist/types/markers/axis/difference.js +1 -0
  436. package/dist/types/markers/axis/hover.d.ts +21 -0
  437. package/dist/types/markers/axis/hover.js +1 -0
  438. package/dist/types/markers/axis/hull.d.ts +7 -0
  439. package/dist/types/markers/axis/hull.js +1 -0
  440. package/dist/types/markers/axis/image.d.ts +12 -0
  441. package/dist/types/markers/axis/image.js +1 -0
  442. package/dist/types/markers/axis/line.d.ts +7 -0
  443. package/dist/types/markers/axis/line.js +1 -0
  444. package/dist/types/markers/axis/raster.d.ts +18 -0
  445. package/dist/types/markers/axis/raster.js +1 -0
  446. package/dist/types/markers/axis/rect.d.ts +15 -0
  447. package/dist/types/markers/axis/rect.js +1 -0
  448. package/dist/types/markers/axis/regression.d.ts +6 -0
  449. package/dist/types/markers/axis/regression.js +1 -0
  450. package/dist/types/markers/axis/rule.d.ts +15 -0
  451. package/dist/types/markers/axis/rule.js +1 -0
  452. package/dist/types/markers/axis/tick.d.ts +8 -0
  453. package/dist/types/markers/axis/tick.js +1 -0
  454. package/dist/types/markers/axis/trail.d.ts +14 -0
  455. package/dist/types/markers/axis/trail.js +1 -0
  456. package/dist/types/markers/axis/voronoi.d.ts +7 -0
  457. package/dist/types/markers/axis/voronoi.js +1 -0
  458. package/dist/types/markers/axis/voronoiMesh.d.ts +7 -0
  459. package/dist/types/markers/axis/voronoiMesh.js +1 -0
  460. package/dist/types/markers/axis/waffle.d.ts +13 -0
  461. package/dist/types/markers/axis/waffle.js +1 -0
  462. package/dist/types/markers/basic/basicMarkersConfig.d.ts +4 -0
  463. package/dist/types/markers/basic/basicMarkersConfig.js +1 -0
  464. package/dist/types/markers/basic/dot.d.ts +9 -0
  465. package/dist/types/markers/basic/dot.js +1 -0
  466. package/dist/types/markers/basic/text.d.ts +60 -0
  467. package/dist/types/markers/basic/text.js +1 -0
  468. package/dist/types/markers/basic.d.ts +4 -0
  469. package/dist/types/markers/basic.js +1 -0
  470. package/dist/types/markers/channels/commonMarkerConfig.d.ts +26 -0
  471. package/dist/types/markers/channels/commonMarkerConfig.js +1 -0
  472. package/dist/types/markers/channels/commonMarkerConfigWithArea.d.ts +6 -0
  473. package/dist/types/markers/channels/commonMarkerConfigWithArea.js +1 -0
  474. package/dist/types/markers/channels/commonMarkerConfigWithColor.d.ts +5 -0
  475. package/dist/types/markers/channels/commonMarkerConfigWithColor.js +1 -0
  476. package/dist/types/markers/channels/commonMarkerConfigWithInterval.d.ts +9 -0
  477. package/dist/types/markers/channels/commonMarkerConfigWithInterval.js +1 -0
  478. package/dist/types/markers/channels/commonMarkerConfigWithRadius.d.ts +5 -0
  479. package/dist/types/markers/channels/commonMarkerConfigWithRadius.js +1 -0
  480. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.d.ts +5 -0
  481. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.js +1 -0
  482. package/dist/types/markers/channels/commonMarkerConfigWithWeight.d.ts +5 -0
  483. package/dist/types/markers/channels/commonMarkerConfigWithWeight.js +1 -0
  484. package/dist/types/markers/common.d.ts +30 -103
  485. package/dist/types/markers/common.js +29 -1
  486. package/dist/types/markers/geo/contour.d.ts +27 -0
  487. package/dist/types/markers/geo/contour.js +1 -0
  488. package/dist/types/markers/geo/features.d.ts +12 -0
  489. package/dist/types/markers/geo/features.js +1 -0
  490. package/dist/types/markers/geo/geoComponent.d.ts +7 -0
  491. package/dist/types/markers/geo/geoComponent.js +1 -0
  492. package/dist/types/markers/geo/geoHover.d.ts +6 -0
  493. package/dist/types/markers/geo/geoHover.js +1 -0
  494. package/dist/types/markers/geo/geoMarkersConfig.d.ts +11 -0
  495. package/dist/types/markers/geo/geoMarkersConfig.js +1 -0
  496. package/dist/types/markers/geo/graticule.d.ts +11 -0
  497. package/dist/types/markers/geo/graticule.js +1 -0
  498. package/dist/types/markers/geo/inset.d.ts +50 -0
  499. package/dist/types/markers/geo/inset.js +1 -0
  500. package/dist/types/markers/geo/link.d.ts +13 -0
  501. package/dist/types/markers/geo/link.js +1 -0
  502. package/dist/types/markers/geo/sphere.d.ts +11 -0
  503. package/dist/types/markers/geo/sphere.js +1 -0
  504. package/dist/types/markers/geo/vector.d.ts +17 -0
  505. package/dist/types/markers/geo/vector.js +1 -0
  506. package/dist/types/markers/geo.d.ts +10 -212
  507. package/dist/types/markers/geo.js +10 -1
  508. package/dist/types/markers/traits.d.ts +22 -0
  509. package/dist/types/markers/traits.js +1 -0
  510. package/dist/types/misc/easing.js +1 -0
  511. package/dist/types/misc/viewport.js +1 -0
  512. package/dist/types/phases/data/axes.d.ts +18 -0
  513. package/dist/types/phases/data/axes.js +1 -0
  514. package/dist/types/phases/data/phase.d.ts +26 -0
  515. package/dist/types/phases/data/phase.js +2 -0
  516. package/dist/types/phases/facet/phase.d.ts +18 -0
  517. package/dist/types/phases/facet/phase.js +1 -0
  518. package/dist/types/phases/hover/phase.d.ts +34 -0
  519. package/dist/types/phases/hover/phase.js +1 -0
  520. package/dist/types/phases/index.d.ts +14 -0
  521. package/dist/types/phases/index.js +1 -0
  522. package/dist/types/phases/kind.d.ts +59 -0
  523. package/dist/types/phases/kind.js +1 -0
  524. package/dist/types/phases/mapping/phase.d.ts +5 -0
  525. package/dist/types/phases/mapping/phase.js +1 -0
  526. package/dist/types/phases/markers/phase.d.ts +13 -0
  527. package/dist/types/phases/markers/phase.js +1 -0
  528. package/dist/types/phases/pipeline.d.ts +10 -0
  529. package/dist/types/phases/pipeline.js +1 -0
  530. package/dist/types/phases/scales/phase.d.ts +26 -0
  531. package/dist/types/phases/scales/phase.js +1 -0
  532. package/dist/types/phases/sharedScales/phase.d.ts +12 -0
  533. package/dist/types/phases/sharedScales/phase.js +1 -0
  534. package/dist/types/phases/stage.d.ts +12 -0
  535. package/dist/types/phases/stage.js +1 -0
  536. package/dist/types/phases/state.d.ts +73 -0
  537. package/dist/types/phases/state.js +1 -0
  538. package/dist/types/phases/statistics/phase.d.ts +41 -0
  539. package/dist/types/phases/statistics/phase.js +1 -0
  540. package/dist/types/phases/statistics/source.d.ts +20 -0
  541. package/dist/types/phases/statistics/source.js +7 -0
  542. package/dist/types/phases/styles/phase.d.ts +24 -0
  543. package/dist/types/phases/styles/phase.js +1 -0
  544. package/dist/types/phases/transforms/adapter.d.ts +27 -0
  545. package/dist/types/phases/transforms/adapter.js +1 -0
  546. package/dist/types/phases/transforms/phase.d.ts +40 -0
  547. package/dist/types/phases/transforms/phase.js +1 -0
  548. package/dist/types/plots/area/props.d.ts +10 -0
  549. package/dist/types/plots/area/props.js +1 -0
  550. package/dist/types/plots/area/state.d.ts +6 -0
  551. package/dist/types/plots/area/state.js +1 -0
  552. package/dist/types/plots/bar/props.d.ts +10 -0
  553. package/dist/types/plots/bar/props.js +1 -0
  554. package/dist/types/plots/bar/state.d.ts +6 -0
  555. package/dist/types/plots/bar/state.js +1 -0
  556. package/dist/types/plots/camera.d.ts +7 -17
  557. package/dist/types/plots/constants.d.ts +16 -8
  558. package/dist/types/plots/data/common.d.ts +25 -17
  559. package/dist/types/plots/data/geo.d.ts +26 -12
  560. package/dist/types/plots/gaps.d.ts +19 -38
  561. package/dist/types/plots/geo/props.d.ts +23 -0
  562. package/dist/types/plots/geo/props.js +1 -0
  563. package/dist/types/plots/geo/state.d.ts +82 -0
  564. package/dist/types/plots/geo/state.js +1 -0
  565. package/dist/types/plots/heatmap/props.d.ts +10 -0
  566. package/dist/types/plots/heatmap/props.js +1 -0
  567. package/dist/types/plots/heatmap/state.d.ts +28 -0
  568. package/dist/types/plots/heatmap/state.js +1 -0
  569. package/dist/types/plots/histogram/props.d.ts +18 -0
  570. package/dist/types/plots/histogram/props.js +1 -0
  571. package/dist/types/plots/histogram/state.d.ts +6 -0
  572. package/dist/types/plots/histogram/state.js +1 -0
  573. package/dist/types/plots/line/props.d.ts +10 -0
  574. package/dist/types/plots/line/props.js +1 -0
  575. package/dist/types/plots/line/state.d.ts +9 -0
  576. package/dist/types/plots/line/state.js +1 -0
  577. package/dist/types/plots/props.d.ts +143 -35
  578. package/dist/types/plots/pyramid/props.d.ts +10 -0
  579. package/dist/types/plots/pyramid/props.js +1 -0
  580. package/dist/types/plots/pyramid/state.d.ts +16 -0
  581. package/dist/types/plots/pyramid/state.js +1 -0
  582. package/dist/types/plots/scatter/props.d.ts +10 -0
  583. package/dist/types/plots/scatter/props.js +1 -0
  584. package/dist/types/plots/scatter/state.d.ts +6 -0
  585. package/dist/types/plots/scatter/state.js +1 -0
  586. package/dist/types/plots/segments/common.d.ts +1 -1
  587. package/dist/types/plots/segments/config.d.ts +12 -6
  588. package/dist/types/plots/styling.d.ts +5 -5
  589. package/dist/types/transforms/bin.d.ts +84 -0
  590. package/dist/types/transforms/bin.js +28 -0
  591. package/dist/types/transforms/bollinger.d.ts +21 -0
  592. package/dist/types/transforms/bollinger.js +1 -0
  593. package/dist/types/transforms/common.d.ts +29 -0
  594. package/dist/types/transforms/common.js +16 -0
  595. package/dist/types/transforms/density.d.ts +45 -0
  596. package/dist/types/transforms/density.js +10 -0
  597. package/dist/types/transforms/filter.d.ts +12 -0
  598. package/dist/types/transforms/filter.js +14 -0
  599. package/dist/types/transforms/group.d.ts +70 -0
  600. package/dist/types/transforms/group.js +8 -0
  601. package/dist/types/transforms/index.d.ts +36 -0
  602. package/dist/types/transforms/index.js +1 -0
  603. package/dist/types/transforms/interval.d.ts +21 -0
  604. package/dist/types/transforms/interval.js +14 -0
  605. package/dist/types/transforms/jitter.d.ts +34 -0
  606. package/dist/types/transforms/jitter.js +1 -0
  607. package/dist/types/transforms/map.d.ts +24 -0
  608. package/dist/types/transforms/map.js +1 -0
  609. package/dist/types/transforms/normalize.d.ts +36 -0
  610. package/dist/types/transforms/normalize.js +1 -0
  611. package/dist/types/transforms/select.d.ts +15 -0
  612. package/dist/types/transforms/select.js +1 -0
  613. package/dist/types/transforms/shift.d.ts +20 -0
  614. package/dist/types/transforms/shift.js +1 -0
  615. package/dist/types/transforms/sort.d.ts +31 -0
  616. package/dist/types/transforms/sort.js +14 -0
  617. package/dist/types/transforms/stack.d.ts +64 -0
  618. package/dist/types/transforms/stack.js +12 -0
  619. package/dist/types/transforms/window.d.ts +29 -0
  620. package/dist/types/transforms/window.js +1 -0
  621. package/dist/utils/ContinuousDomain.d.ts +12 -0
  622. package/dist/utils/ContinuousDomain.js +19 -0
  623. package/dist/utils/Interpolation.d.ts +26 -0
  624. package/dist/utils/Interpolation.js +65 -0
  625. package/dist/utils/{color.d.ts → color/contrast.d.ts} +0 -5
  626. package/dist/utils/color/contrast.js +40 -0
  627. package/dist/utils/color/cssColor.d.ts +4 -0
  628. package/dist/utils/color/cssColor.js +77 -0
  629. package/dist/utils/color/index.d.ts +3 -0
  630. package/dist/utils/color/index.js +3 -0
  631. package/dist/utils/color/ramp.d.ts +17 -0
  632. package/dist/utils/color/ramp.js +110 -0
  633. package/dist/utils/grouping.d.ts +9 -5
  634. package/dist/utils/grouping.js +19 -10
  635. package/dist/utils/merge.d.ts +7 -0
  636. package/dist/utils/merge.js +17 -0
  637. package/dist/utils/opacity.d.ts +9 -0
  638. package/dist/utils/opacity.js +38 -0
  639. package/dist/utils/symbol.d.ts +31 -0
  640. package/dist/utils/symbol.js +92 -0
  641. package/docs/architecture.md +137 -0
  642. package/docs/chrome.md +68 -0
  643. package/docs/composer.md +53 -0
  644. package/docs/concepts.md +99 -0
  645. package/docs/development.md +94 -0
  646. package/docs/facets.md +69 -0
  647. package/docs/geo.md +151 -0
  648. package/docs/getting-started.md +79 -0
  649. package/docs/legend.md +106 -0
  650. package/docs/markers.md +106 -0
  651. package/docs/plots.md +158 -0
  652. package/docs/scales.md +78 -0
  653. package/docs/state.md +71 -0
  654. package/docs/styles-and-segments.md +215 -0
  655. package/docs/theming.md +215 -0
  656. package/docs/timeline.md +94 -0
  657. package/docs/tooltip-and-hover.md +80 -0
  658. package/docs/transforms-and-statistics.md +88 -0
  659. package/examples/BarValues.svelte +14 -0
  660. package/examples/CustomTooltip.svelte +37 -0
  661. package/examples/Facets.svelte +15 -0
  662. package/examples/LegendReader.svelte +8 -0
  663. package/examples/LegendToggle.svelte +25 -0
  664. package/examples/ResponsiveLine.svelte +37 -0
  665. package/examples/Segments.svelte +17 -0
  666. package/examples/TimelinePlayer.svelte +20 -0
  667. package/examples/Tooltip.svelte +19 -0
  668. package/examples/TooltipCard.svelte +86 -0
  669. package/examples/data.ts +12 -0
  670. package/llms-full.txt +114 -0
  671. package/llms.txt +49 -0
  672. package/package.json +41 -5
  673. package/dist/charts/BaseChart.svelte +0 -149
  674. package/dist/charts/BaseChart.svelte.d.ts +0 -47
  675. package/dist/charts/bar/Chart.svelte +0 -110
  676. package/dist/charts/bar/Chart.svelte.d.ts +0 -26
  677. package/dist/charts/container/ChartContainer.svelte +0 -137
  678. package/dist/charts/container/ChartContainer.svelte.d.ts +0 -16
  679. package/dist/charts/heatmap/Chart.svelte +0 -114
  680. package/dist/charts/line/Chart.svelte +0 -112
  681. package/dist/charts/line/Chart.svelte.d.ts +0 -26
  682. package/dist/charts/pyramid/Chart.svelte +0 -134
  683. package/dist/charts/pyramid/Chart.svelte.d.ts +0 -30
  684. package/dist/charts/scatter/Chart.svelte +0 -95
  685. package/dist/charts/scatter/Chart.svelte.d.ts +0 -28
  686. package/dist/layout/coordinates/margins.d.ts +0 -16
  687. package/dist/layout/coordinates/margins.js +0 -11
  688. package/dist/layout/legend/interaction.svelte.d.ts +0 -15
  689. package/dist/layout/legend/interaction.svelte.js +0 -32
  690. package/dist/layout/plot/BasePlotLayout.svelte +0 -332
  691. package/dist/layout/plot/BasePlotLayout.svelte.d.ts +0 -122
  692. package/dist/layout/plot/margins.d.ts +0 -18
  693. package/dist/layout/plot/margins.js +0 -15
  694. package/dist/layout/plot/measureText.d.ts +0 -4
  695. package/dist/layout/plot/measureText.js +0 -19
  696. package/dist/layout/tooltip/TooltipLayout.svelte +0 -51
  697. package/dist/layout/tooltip/TooltipLayout.svelte.d.ts +0 -45
  698. package/dist/layout/tooltip/controller.svelte.d.ts +0 -61
  699. package/dist/layout/tooltip/controller.svelte.js +0 -173
  700. package/dist/layout/tooltip/hover.svelte.d.ts +0 -7
  701. package/dist/layout/tooltip/hover.svelte.js +0 -28
  702. package/dist/layout/tooltip/resolveTooltipPlacement.d.ts +0 -24
  703. package/dist/layout/tooltip/resolveTooltipPlacement.js +0 -49
  704. package/dist/layout/tooltip/utils.d.ts +0 -49
  705. package/dist/layout/tooltip/utils.js +0 -82
  706. package/dist/markers/CellMarker.svelte +0 -21
  707. package/dist/markers/ContourClipMarker.svelte +0 -77
  708. package/dist/markers/ContourMarker.svelte +0 -28
  709. package/dist/markers/DeltaMarker.svelte +0 -109
  710. package/dist/markers/DotMarker.svelte +0 -70
  711. package/dist/markers/GeoFeaturesMarker.svelte +0 -19
  712. package/dist/markers/GeoHoverMarker.svelte +0 -25
  713. package/dist/markers/GraticuleMarker.svelte +0 -18
  714. package/dist/markers/HoverMarker.svelte +0 -212
  715. package/dist/markers/LineMarker.svelte +0 -19
  716. package/dist/markers/LinkMarker.svelte +0 -42
  717. package/dist/markers/PeakMarker.svelte +0 -80
  718. package/dist/markers/PeakMarker.svelte.d.ts +0 -13
  719. package/dist/markers/RuleMarker.svelte +0 -24
  720. package/dist/markers/SphereMarker.svelte +0 -15
  721. package/dist/markers/TextMarker.svelte +0 -62
  722. package/dist/markers/VectorMarker.svelte +0 -20
  723. package/dist/plots/bar/ValueLabels.svelte +0 -149
  724. package/dist/plots/bar/ValueLabels.svelte.d.ts +0 -58
  725. package/dist/plots/bar/buildBarMarkers.d.ts +0 -27
  726. package/dist/plots/bar/buildBarMarkers.js +0 -151
  727. package/dist/plots/bar/hoverPoints.d.ts +0 -15
  728. package/dist/plots/bar/hoverPoints.js +0 -37
  729. package/dist/plots/bar/layout.svelte.d.ts +0 -42
  730. package/dist/plots/bar/layout.svelte.js +0 -182
  731. package/dist/plots/geo/buildGeoMarkers.d.ts +0 -33
  732. package/dist/plots/geo/buildGeoMarkers.js +0 -47
  733. package/dist/plots/heatmap/ValueLabels.svelte +0 -56
  734. package/dist/plots/heatmap/buildCellMarkers.d.ts +0 -21
  735. package/dist/plots/heatmap/buildCellMarkers.js +0 -25
  736. package/dist/plots/line/ValueLabels.svelte +0 -269
  737. package/dist/plots/line/ValueLabels.svelte.d.ts +0 -52
  738. package/dist/plots/line/buildGapMarkers.d.ts +0 -28
  739. package/dist/plots/line/buildGapMarkers.js +0 -74
  740. package/dist/plots/line/buildLineMarkers.d.ts +0 -16
  741. package/dist/plots/line/buildLineMarkers.js +0 -56
  742. package/dist/plots/line/valueLabelMargin.d.ts +0 -19
  743. package/dist/plots/line/valueLabelMargin.js +0 -65
  744. package/dist/plots/pyramid/ValueLabels.svelte +0 -139
  745. package/dist/plots/pyramid/ValueLabels.svelte.d.ts +0 -56
  746. package/dist/plots/pyramid/buildPyramidBarMarkers.d.ts +0 -26
  747. package/dist/plots/pyramid/buildPyramidBarMarkers.js +0 -72
  748. package/dist/plots/scatter/ValueLabels.svelte +0 -163
  749. package/dist/plots/scatter/ValueLabels.svelte.d.ts +0 -52
  750. package/dist/plots/scatter/buildScatterMarkers.d.ts +0 -12
  751. package/dist/plots/scatter/buildScatterMarkers.js +0 -36
  752. package/dist/plots/scatter/resolveRadiusPaddedDomain.d.ts +0 -10
  753. package/dist/plots/scatter/resolveRadiusPaddedDomain.js +0 -23
  754. package/dist/plots/utils/categoricalAxisMargin.d.ts +0 -14
  755. package/dist/plots/utils/categoricalAxisMargin.js +0 -20
  756. package/dist/plots/utils/declutter.d.ts +0 -120
  757. package/dist/plots/utils/declutter.js +0 -240
  758. package/dist/plots/utils/labelOverflow.svelte.d.ts +0 -107
  759. package/dist/plots/utils/labelOverflow.svelte.js +0 -257
  760. package/dist/plots/utils/legendDisabled.d.ts +0 -27
  761. package/dist/plots/utils/legendDisabled.js +0 -68
  762. package/dist/plots/utils/valueLabelMargin.d.ts +0 -67
  763. package/dist/plots/utils/valueLabelMargin.js +0 -60
  764. package/dist/types/charts/common.d.ts +0 -22
  765. package/dist/types/charts/props.d.ts +0 -50
  766. package/dist/types/markers/base.d.ts +0 -45
  767. package/dist/types/markers/line.d.ts +0 -34
  768. package/dist/types/markers/props.d.ts +0 -11
  769. package/dist/types/plots/data/scatter.d.ts +0 -13
  770. package/dist/utils/color.js +0 -141
  771. package/dist/utils/delta.d.ts +0 -12
  772. package/dist/utils/delta.js +0 -69
  773. package/dist/utils/edgeAwareAnchor.d.ts +0 -34
  774. package/dist/utils/edgeAwareAnchor.js +0 -60
  775. package/dist/utils/interpolate.d.ts +0 -31
  776. package/dist/utils/interpolate.js +0 -71
  777. /package/dist/types/{charts/common.js → layout/box.js} +0 -0
  778. /package/dist/types/{charts/interpolate.js → layout/composer.js} +0 -0
  779. /package/dist/types/{charts/props.js → layout/figure.js} +0 -0
  780. /package/dist/types/{markers/base.js → layout/grid.js} +0 -0
  781. /package/dist/types/{markers/line.js → layout/hover.js} +0 -0
  782. /package/dist/types/{markers/props.js → layout/mapping.js} +0 -0
  783. /package/dist/types/{plots/data/scatter.js → layout/plot.js} +0 -0
  784. /package/dist/types/{viewport.js → layout/statistics/bollinger.js} +0 -0
  785. /package/dist/types/{charts/interpolate.d.ts → misc/easing.d.ts} +0 -0
  786. /package/dist/types/{viewport.d.ts → misc/viewport.d.ts} +0 -0
@@ -1,44 +1,42 @@
1
- import type { HoverPoint, HoverStrategy, TooltipOptions } from '../layout/tooltip';
1
+ import type { Pipeline } from '../../phases/Pipeline';
2
+ import type { Snippet } from 'svelte';
3
+ import type { TooltipOptions, TooltipProp } from '../layout/tooltip';
4
+ import type { HoverPoint, HoverStrategy } from '../layout/hover';
5
+ import type { LegendExtension, LegendSection } from '../layout/legend';
6
+ import type { FacetConfig } from '../layout/facet';
7
+ import type { GridPlacement } from '../layout/grid';
8
+ import type { TimelineConfig } from '../layout/timeline';
2
9
  import type { Segment } from './segments/config';
3
10
  import type { AxisBasedScalesConfig } from '../layout/scales';
4
11
  import type { GeoScalesConfig } from '../layout/coordinates';
5
- /** The `styles` prop accepted by every plot kind — its own
12
+ import type { StatisticConfig } from '../layout/statistics';
13
+ import type { MarkerTransform } from '../transforms';
14
+ /** The `styles` prop accepted by every plot kind - its own
6
15
  * styles shape ({@link AxisBasedStylesConfig}, `GeoStylesConfig`, …). */
7
16
  export type StylesConfig<TStyles extends object> = TStyles;
8
- /** The `markers` prop accepted by every plot kind — a list of that kind's own marker union. */
17
+ /** The `markers` prop accepted by every plot kind - a list of that kind's own marker union. */
9
18
  export type MarkersConfig<TMarker> = TMarker[];
10
19
  /**
11
- * The `segments` prop accepted by every plot kind — series name (or
12
- * `'default'` for all series) to a list of {@link Segment}s. Within a
13
- * series, catch-all segments (no `areas`) evaluate first as a baseline;
14
- * area-specific segments merge on top and win on conflict.
20
+ * The `segments` prop - series name (or `'default'`) to its {@link Segment}s.
21
+ * Area-specific segments win over catch-all ones.
15
22
  */
16
23
  export type SegmentsConfig<TStyle> = Record<string, Segment<TStyle>[]>;
17
- /**
18
- * Partial margin override — unset sides fall back to the theme (itself
19
- * `'auto'` by default). `'auto'` fits the side to its rendered content; a
20
- * number pins it exactly.
21
- */
24
+ /** One side of a box. */
25
+ export type MarginSide = 'top' | 'right' | 'bottom' | 'left';
26
+ /** Margin overrides per side: a number pins it, `'auto'` fits it to its content. Unset sides use the theme's. */
22
27
  export type MarginConfig = Partial<{
23
28
  top: number | 'auto';
24
29
  right: number | 'auto';
25
30
  bottom: number | 'auto';
26
31
  left: number | 'auto';
27
32
  }>;
28
- /**
29
- * The `tooltip` prop a plot actually receives — the resolved form of the
30
- * author-facing {@link TooltipOptions}. `format`/`sync` become required;
31
- * `facetId` identifies the originating facet (`''` when not faceted).
32
- * Presence of this object is what turns hovering on.
33
- */
34
- export type TooltipConfig<TRow extends Record<string, unknown>> = Omit<TooltipOptions<TRow>, 'format' | 'sync'> & {
35
- format: (row: TRow) => string;
33
+ /** The tooltip a plot's core draws from: {@link TooltipOptions} with `sync` resolved. Without `format`, the core uses its own default. */
34
+ export type TooltipConfig<TRow extends Record<string, unknown>> = Omit<TooltipOptions<TRow>, 'sync'> & {
36
35
  sync: boolean;
37
- facetId: string;
38
36
  };
39
37
  /** How a pointer event resolves to a candidate point: `'nearest'` (closest within a distance threshold) or `'contains'` (whichever candidate's own rendered shape contains the cursor). */
40
38
  export type PointMatchingStrategy = 'nearest' | 'contains';
41
- /** `BasePlotLayout`'s single `hover` prop — every plot kind's own resolved hover/tooltip wiring. */
39
+ /** `BasePlotLayout`'s single `hover` prop - every plot kind's own resolved hover/tooltip wiring. */
42
40
  export type HoverConfig<TRow extends Record<string, unknown>> = {
43
41
  /** Whether the pointer/hover/tooltip machinery should mount at all. */
44
42
  active: boolean;
@@ -50,28 +48,113 @@ export type HoverConfig<TRow extends Record<string, unknown>> = {
50
48
  strategy?: HoverStrategy;
51
49
  /** Resolved sync flag for the *local* hover store (ignored once a shared store is in scope). */
52
50
  sync?: boolean;
53
- tooltip?: TooltipConfig<TRow>;
54
- /** When it returns `true`, that pointer event is treated as a leave instead of a move — lets a nested layout opt part of the plot out of hover matching. */
51
+ tooltip?: TooltipConfig<TRow> & {
52
+ format: (row: TRow) => string;
53
+ };
54
+ /** When it returns `true`, that pointer event is treated as a leave instead of a move - lets a nested layout opt part of the plot out of hover matching. */
55
55
  exclude?: (e: PointerEvent) => boolean;
56
- /** How to resolve a pointer event to a candidate point — see {@link PointMatchingStrategy}. Defaults to `'nearest'`. */
56
+ /** How to resolve a pointer event to a candidate point - see {@link PointMatchingStrategy}. Defaults to `'nearest'`. */
57
57
  pointMatching?: PointMatchingStrategy;
58
58
  /** Forces the crosshair rule(s) a `hover` marker draws off entirely, overriding whatever `strategy` implies. */
59
59
  crosshair?: boolean;
60
60
  };
61
+ /** The `scales` prop of any plot kind. */
62
+ export type ScalesConfig<TData = Record<string, unknown>> = AxisBasedScalesConfig<TData> | GeoScalesConfig;
61
63
  /**
62
- * The `scales` prop accepted by every plot kind — either flavor of scale
63
- * config a plot kind can have. Each concrete `Plot.svelte` narrows
64
- * `BasePlotProps`'s `TScales` to exactly the one that applies to it.
64
+ * A block a plot's chrome draws, `plot` for the plot itself, `timeline` for
65
+ * its timeline when that's a player bar, or `divider` for a line between two
66
+ * blocks, styled by the configuration's `divider`.
65
67
  */
66
- export type ScalesConfig<TData = Record<string, unknown>> = AxisBasedScalesConfig<TData> | GeoScalesConfig;
68
+ export type PlotChromeItem = 'title' | 'subtitle' | 'header' | 'legend' | 'plot' | 'caption' | 'footer' | 'timeline' | 'divider';
69
+ /**
70
+ * Two or three blocks drawn side by side in one row of the chrome, written as
71
+ * `'(plot, timeline)'`. The `plot` takes the width the others leave, and the
72
+ * others take as much as they need; a row without a `plot` shares its width
73
+ * among its blocks, none of them stretching.
74
+ */
75
+ export type PlotChromeRow<TItem extends string = Exclude<PlotChromeItem, 'divider'>> = `(${TItem}, ${TItem})` | `(${TItem}, ${TItem}, ${TItem})`;
76
+ /** One entry of a chrome `order`: a block, or a row of blocks. */
77
+ export type PlotChromeEntry = PlotChromeItem | PlotChromeRow;
78
+ /**
79
+ * What's drawn around a figure, as `Figure` and `FigureChrome` read it: every block
80
+ * optional, `header` drawn instead of `title`/`subtitle` and `footer` instead
81
+ * of `caption`. `order` lists the blocks top to bottom (by default, the
82
+ * configuration's `chrome.order`); one left out isn't drawn, except `plot`, which then
83
+ * goes last. Any number of `divider`s may sit in it, each drawn only between
84
+ * two drawn blocks.
85
+ */
86
+ export type PlotChromeConfig = {
87
+ title?: string;
88
+ subtitle?: string;
89
+ caption?: string;
90
+ header?: Snippet;
91
+ footer?: Snippet;
92
+ /**
93
+ * The figure's legend: unset or `true`, the one its plots read as - their
94
+ * series, scales, and the segments and markers that name themselves; `false`,
95
+ * none; a list of sections, exactly those; `{ items, sections }`, the
96
+ * automatic one with those added, and `{ series, color, opacity, size,
97
+ * symbol }`, with the section of each channel adjusted (see {@link LegendExtension}).
98
+ */
99
+ legend?: LegendSection[] | LegendExtension | boolean;
100
+ order?: PlotChromeEntry[];
101
+ };
102
+ /**
103
+ * One way to fill part of the chrome, and the `order` items it allows. A block
104
+ * that's passed may still be `undefined` at runtime: it's then just not drawn.
105
+ */
106
+ type ChromeBlock<TProps, TItem extends PlotChromeItem> = {
107
+ props: TProps;
108
+ item: TItem;
109
+ };
110
+ type HeadingBlock = ChromeBlock<{
111
+ header: Snippet | undefined;
112
+ title?: never;
113
+ subtitle?: never;
114
+ }, 'header'> | ChromeBlock<{
115
+ header?: never;
116
+ title: string | undefined;
117
+ subtitle: string | undefined;
118
+ }, 'title' | 'subtitle'> | ChromeBlock<{
119
+ header?: never;
120
+ title: string | undefined;
121
+ subtitle?: never;
122
+ }, 'title'> | ChromeBlock<{
123
+ header?: never;
124
+ title?: never;
125
+ subtitle: string | undefined;
126
+ }, 'subtitle'> | ChromeBlock<{
127
+ header?: never;
128
+ title?: never;
129
+ subtitle?: never;
130
+ }, never>;
131
+ /** The legend is always there to place: unset, a figure reads one off what its plots draw. */
132
+ type LegendBlock = ChromeBlock<{
133
+ legend?: LegendSection[] | LegendExtension | boolean | undefined;
134
+ }, 'legend'>;
135
+ type ClosingBlock = ChromeBlock<{
136
+ footer: Snippet | undefined;
137
+ caption?: never;
138
+ }, 'footer'> | ChromeBlock<{
139
+ footer?: never;
140
+ caption: string | undefined;
141
+ }, 'caption'> | ChromeBlock<{
142
+ footer?: never;
143
+ caption?: never;
144
+ }, never>;
145
+ /** Every combination of the three parts, each with an `order` of only the blocks it fills, plus `plot` and dividers. */
146
+ type ChromeCombination<THeading, TLegend, TClosing> = THeading extends ChromeBlock<infer HP, infer HI> ? TLegend extends ChromeBlock<infer LP, infer LI> ? TClosing extends ChromeBlock<infer CP, infer CI> ? HP & LP & CP & {
147
+ order?: (HI | LI | CI | 'plot' | 'timeline' | 'divider' | PlotChromeRow<HI | LI | CI | 'plot' | 'timeline'>)[];
148
+ } : never : never : never;
67
149
  /**
68
- * The shared prop bag every plot component accepts, parameterized over
69
- * everything that varies by plot kind: `TDataContract` is its own data
70
- * shape, `TRow` is what `tooltip` resolves against, and the rest are its
71
- * own segment/style/marker/scale/coordinate-system shapes. `TCoordinates`
72
- * defaults to `undefined` — only `GeoPlot` instantiates it.
150
+ * What's drawn around a plot: accepted by every plot kind and by
151
+ * `PlotComposer`. `header` replaces `title`/`subtitle` and `footer`
152
+ * replaces `caption`, so each excludes the other. `order` lists the blocks
153
+ * top to bottom, out of the ones set here plus `plot`, `timeline` and `divider`; see {@link PlotChromeConfig}.
73
154
  */
74
- export type BasePlotProps<TDataContract, TRow extends Record<string, unknown>, TStyles extends object, TSegmentStyle extends object, TMarker, TScales extends ScalesConfig<TRow>, TCoordinates = undefined> = TDataContract & {
155
+ export type PlotChromeProps = ChromeCombination<HeadingBlock, LegendBlock, ClosingBlock>;
156
+ /** The props every plot kind shares between its core and its public component. */
157
+ type PlotCommonProps<TStyles extends object, TSegmentStyle extends object, TMarker, TScales, TCoordinates> = {
75
158
  width: number;
76
159
  height: number;
77
160
  styles?: StylesConfig<TStyles>;
@@ -80,5 +163,30 @@ export type BasePlotProps<TDataContract, TRow extends Record<string, unknown>, T
80
163
  scales?: TScales;
81
164
  coordinates?: TCoordinates;
82
165
  margins?: MarginConfig;
166
+ statistics?: StatisticConfig[];
167
+ transforms?: MarkerTransform[];
168
+ };
169
+ /** The props a plot kind's core draws from. `TCoordinates` is only set by `GeoPlot`. */
170
+ export type PlotCoreProps<TDataContract, TRow extends Record<string, unknown>, TStyles extends object, TSegmentStyle extends object, TMarker, TScales extends ScalesConfig<TRow>, TCoordinates = undefined> = TDataContract & PlotCommonProps<TStyles, TSegmentStyle, TMarker, TScales, TCoordinates> & {
83
171
  tooltip?: TooltipConfig<TRow>;
172
+ /** One facet panel's part of a run of the data phases over every panel: the core then runs only the phases after them. */
173
+ panelState?: object;
174
+ /** The kind's pipeline, built once by its plot: the core runs it over its own props. */
175
+ pipeline?: Pipeline<any, any>;
176
+ };
177
+ /**
178
+ * A figure's box - a plot's or a `PlotComposer`'s: its own `width` and
179
+ * `height`, or, drawn straight inside a `PlotComposer`, the cell it takes
180
+ * there (an `area`, or an `inset` floating over it), whose size it draws at.
181
+ */
182
+ export type FigureBoxProps = GridPlacement & {
183
+ width?: number;
184
+ height?: number;
185
+ };
186
+ /** A plot component's public props: its core props, chrome, `timeline`, `facet` and an author-facing `tooltip`. */
187
+ export type BasePlotProps<TDataContract, TRow extends Record<string, unknown>, TStyles extends object, TSegmentStyle extends object, TMarker, TScales extends ScalesConfig<TRow>, TCoordinates = undefined> = TDataContract & Omit<PlotCommonProps<TStyles, TSegmentStyle, TMarker, TScales, TCoordinates>, 'width' | 'height'> & FigureBoxProps & PlotChromeProps & {
188
+ tooltip?: TooltipProp<TRow>;
189
+ timeline?: TimelineConfig<TRow>;
190
+ facet?: FacetConfig<TRow>;
84
191
  };
192
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { BasePlotProps, PlotCoreProps } from '../props';
2
+ import type { AxisBasedScalesConfig } from '../../layout/scales';
3
+ import type { AxisBasedMarkersConfig } from '../../markers/common';
4
+ import type { SeriesProps, DataProps } from '../data/common';
5
+ import type { GapsAwarePlotStylesConfig } from '../../layout/styles';
6
+ import type { BarSegmentStyle } from '../segments/common';
7
+ /** `PyramidPlot`'s public props. */
8
+ export type PyramidPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, GapsAwarePlotStylesConfig<BarSegmentStyle>, BarSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
9
+ /** What `PyramidPlot`'s core draws from. */
10
+ export type PyramidPlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | DataProps<TData>, TData, GapsAwarePlotStylesConfig<BarSegmentStyle>, BarSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { Series } from '../data/common';
2
+ import type { BarSegmentStyle } from '../segments/common';
3
+ import type { AxisPlotState, AxisPlotCtx } from '../../phases';
4
+ export type PyramidSide = 'left' | 'right';
5
+ /** A resolved series tagged with which side of the shared zero baseline it renders on. */
6
+ export type PyramidSeries<TData extends Record<string, unknown>> = Series<TData> & {
7
+ side: PyramidSide;
8
+ };
9
+ /**
10
+ * PyramidPlot's pipeline state: the shared axis-based state with its own series
11
+ * and row shapes. Its `x`/`y` are the visual axes, as on every plot: the one
12
+ * holding categories decides whether its sides run left/right or bottom/top.
13
+ */
14
+ export type PyramidPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, BarSegmentStyle, PyramidSeries<TData>>;
15
+ /** The environment every PyramidPlot phase reads from, alongside the growing state. */
16
+ export type PyramidPlotCtx = AxisPlotCtx;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { BasePlotProps, PlotCoreProps } from '../props';
2
+ import type { AxisBasedScalesConfig } from '../../layout/scales';
3
+ import type { AxisBasedMarkersConfig } from '../../markers/common';
4
+ import type { SeriesProps, DataProps } from '../data/common';
5
+ import type { AxisBasedStylesConfig } from '../../layout/styles';
6
+ import type { ScatterSegmentStyle } from '../segments/common';
7
+ /** `ScatterPlot`'s public props. */
8
+ export type ScatterPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, ScatterSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
9
+ /** What `ScatterPlot`'s core draws from. */
10
+ export type ScatterPlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, ScatterSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { ScatterSegmentStyle } from '../segments/common';
2
+ import type { AxisPlotState, AxisPlotCtx } from '../../phases';
3
+ /** ScatterPlot's pipeline state: the shared axis-based state, with no extras of its own. */
4
+ export type ScatterPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, ScatterSegmentStyle>;
5
+ /** The environment every ScatterPlot phase reads from, alongside the growing state. */
6
+ export type ScatterPlotCtx = AxisPlotCtx;
@@ -0,0 +1 @@
1
+ export {};
@@ -10,7 +10,7 @@ export type BarSegmentStyle = AreaStyle;
10
10
  export type CellSegmentStyle = AreaStyle;
11
11
  /** Per-segment styling for a scatter point cloud. */
12
12
  export type ScatterSegmentStyle = DotStyle;
13
- /** Per-feature styling override for `GeoPlot` — the geo analog of `CellSegmentStyle`. */
13
+ /** Per-feature styling override for `GeoPlot` - the geo analog of `CellSegmentStyle`. */
14
14
  export type GeoSegmentStyle = {
15
15
  fill?: string;
16
16
  fillOpacity?: number;
@@ -1,6 +1,8 @@
1
- import type { AxisValue } from '../../layout/scales';
1
+ import type { ChannelScalesConfig } from '../../layout/scales';
2
+ import type { AxisValue } from '../../layout/mapping';
2
3
  import type { Series } from '../data/common';
3
4
  import type { LineSegmentStyle } from './common';
5
+ import type { MarkLegend } from '../../layout/legend';
4
6
  /** A half-open interval on one axis. Both bounds are inclusive; omit either to leave that end open. */
5
7
  export type Range = {
6
8
  from?: AxisValue;
@@ -21,7 +23,7 @@ export type Area = {
21
23
  /**
22
24
  * One styled rule for a plot. A data point (or cell) is styled when it falls
23
25
  * inside **any** of the listed `areas`. Omitting `areas` (or passing an empty
24
- * array) makes the segment a catch-all that matches every data point — useful
26
+ * array) makes the segment a catch-all that matches every data point - useful
25
27
  * as a baseline style. `TStyle` is the per-mark shape ({@link LineSegmentStyle},
26
28
  * {@link BarSegmentStyle}, {@link CellSegmentStyle}, …).
27
29
  *
@@ -31,16 +33,20 @@ export type Area = {
31
33
  */
32
34
  export type Segment<TStyle> = {
33
35
  areas?: Area[];
34
- style?: TStyle;
36
+ scales?: ChannelScalesConfig;
37
+ styles?: TStyle;
38
+ /** Names the segment on its plot's automatic legend - see {@link MarkLegend}. */
39
+ legend?: MarkLegend;
35
40
  };
36
- /** One contiguous, styled slice of a series' data — ready to draw as its own mark. */
41
+ /** One contiguous, styled slice of a series' data - ready to draw as its own mark. */
37
42
  export type VisualSegment<T extends Record<string, unknown>, TStyle = LineSegmentStyle> = {
38
43
  data: T[];
39
- style: TStyle;
44
+ scales?: ChannelScalesConfig;
45
+ styles: TStyle;
40
46
  };
41
47
  /**
42
48
  * A series split into its styled visual segments. `S` is the full series
43
- * type Series<T> — its row type is read off `S['data']`
49
+ * type Series<T> - its row type is read off `S['data']`
44
50
  * rather than taken as a separate parameter, since TypeScript can't reliably
45
51
  * infer a type parameter that only appears inside another parameter's
46
52
  * constraint.
@@ -1,5 +1,5 @@
1
1
  import type { FontWeight, FontStyleKeyword, TextAnchor, LineAnchor, LineStyle, LineCap, LineJoin, SymbolType } from './constants';
2
- /** Text/label styling for any text mark — a marker's label, an annotation, a value label. */
2
+ /** Text/label styling for any text mark - a marker's label, an annotation, a value label. */
3
3
  export type FontStyle = {
4
4
  fill?: string;
5
5
  fontSize?: number;
@@ -17,7 +17,7 @@ export type FontStyle = {
17
17
  class?: string;
18
18
  textClass?: string;
19
19
  };
20
- /** Stroke styling for any line-ish mark — a line, a rule, a marker's connector. */
20
+ /** Stroke styling for any line-ish mark - a line, a rule, a marker's connector. */
21
21
  export type StrokeStyle = {
22
22
  stroke?: string;
23
23
  strokeWidth?: number;
@@ -27,10 +27,10 @@ export type StrokeStyle = {
27
27
  strokeLinejoin?: LineJoin;
28
28
  };
29
29
  /**
30
- * Dot styling for any point mark — a line's endpoint dots, a marker's dot.
30
+ * Dot styling for any point mark - a line's endpoint dots, a marker's dot.
31
31
  * Carries its own `dotStroke*` fields rather than nesting a {@link StrokeStyle},
32
32
  * because a dot's outline is a distinct style from the stroke of the line (or
33
- * other mark) it sits next to — e.g. a `LineSegmentStyle` styles its
33
+ * other mark) it sits next to - e.g. a `LineSegmentStyle` styles its
34
34
  * line's stroke and its dots' outline independently.
35
35
  */
36
36
  export type DotStyle = {
@@ -43,7 +43,7 @@ export type DotStyle = {
43
43
  dotStrokeOpacity?: number;
44
44
  dotStrokeDasharray?: string | LineStyle;
45
45
  };
46
- /** Styling for a 2D area mark — a bar segment, a heatmap cell, a geo feature highlight. */
46
+ /** Styling for a 2D area mark - a bar segment, a heatmap cell, a geo feature highlight. */
47
47
  export type AreaStyle = {
48
48
  fill?: string;
49
49
  fillOpacity?: number;
@@ -0,0 +1,84 @@
1
+ import type { TransformChannel, TransformReducer } from './common';
2
+ type BinReducer = TransformReducer;
3
+ /** Channels both bin transforms read besides their binned one; `z` splits each bin by a group. */
4
+ type SharedBinChannels = {
5
+ data?: Record<string, unknown>[];
6
+ z?: TransformChannel;
7
+ insetLeft?: number;
8
+ insetRight?: number;
9
+ insetTop?: number;
10
+ insetBottom?: number;
11
+ };
12
+ /** Channels `binX` reads: its binned `x`, plus the shared ones. */
13
+ export type BinXChannels = SharedBinChannels & {
14
+ x?: TransformChannel;
15
+ };
16
+ /** Channels `binY` reads: its binned `y`, plus the shared ones. */
17
+ export type BinYChannels = SharedBinChannels & {
18
+ y?: TransformChannel;
19
+ };
20
+ /**
21
+ * The keys of {@link BinXChannels}, at runtime. Typed as a record over the
22
+ * type's own keys, so a key added to or removed from the type fails to compile here.
23
+ */
24
+ export declare const BIN_X_CHANNEL_KEYS: Record<keyof BinXChannels, true>;
25
+ /** The keys of {@link BinYChannels}, at runtime - see {@link BIN_X_CHANNEL_KEYS}. */
26
+ export declare const BIN_Y_CHANNEL_KEYS: Record<keyof BinYChannels, true>;
27
+ /** Channels the 2D `bin` reads: both binned axes, plus the shared ones. */
28
+ export type Bin2DChannels = SharedBinChannels & {
29
+ x?: TransformChannel;
30
+ y?: TransformChannel;
31
+ };
32
+ /** The keys of {@link Bin2DChannels}, at runtime - see {@link BIN_X_CHANNEL_KEYS}. */
33
+ export declare const BIN_2D_CHANNEL_KEYS: Record<keyof Bin2DChannels, true>;
34
+ /** Options both bin transforms take, flat next to the channels - same names as svelteplot's. */
35
+ type BinOptions = {
36
+ /** Explicit thresholds, a count, or a named generator (`auto`, `scott`, `sturges`, `freedman-diaconis`). */
37
+ thresholds?: 'auto' | 'scott' | 'sturges' | 'freedman-diaconis' | number | number[];
38
+ /** Bin width as an interval (a number or a named one like `'day'`); takes over from `thresholds`. */
39
+ interval?: number | string;
40
+ /** The domain the bins cover. */
41
+ domain?: [number, number];
42
+ /** Accumulates the bins: `1` from the start, `-1` from the end. */
43
+ cumulative?: false | 1 | -1;
44
+ /** Reverses the output rows. */
45
+ reverse?: boolean;
46
+ /** Reducers for the bin's other output channels. */
47
+ fill?: BinReducer;
48
+ stroke?: BinReducer;
49
+ r?: BinReducer;
50
+ opacity?: BinReducer;
51
+ fillOpacity?: BinReducer;
52
+ strokeOpacity?: BinReducer;
53
+ };
54
+ /**
55
+ * `binX` as a marker transform: its own props, flat, exactly as svelteplot's
56
+ * `binX` takes them. Svelteplot names the binned channel `x` and its value
57
+ * output `y` (a reducer such as `'count'`). Both live in one flat object, so
58
+ * here `x` is the input and `y` is always the reducer - grouping goes through
59
+ * `z`, which a marker fills from its `grouping`.
60
+ */
61
+ export type BinXTransform = {
62
+ type: 'binX';
63
+ /** The bins' value - a reducer such as `'count'`. */
64
+ y?: BinReducer;
65
+ } & BinXChannels & BinOptions;
66
+ /**
67
+ * `binY` as a marker transform - see {@link BinXTransform}; here `y` is the
68
+ * binned input and `x` is the reducer.
69
+ */
70
+ export type BinYTransform = {
71
+ type: 'binY';
72
+ /** The bins' value - a reducer such as `'count'`. */
73
+ x?: BinReducer;
74
+ } & BinYChannels & BinOptions;
75
+ /**
76
+ * `bin` as a marker transform: bins on `x` and `y` at once, so each output row
77
+ * is one cell of a 2D grid with its `x1`/`x2`/`y1`/`y2` edges. Its value goes to
78
+ * one of the other channels - `fill: 'count'` colors each cell by its row count,
79
+ * `r: 'count'` sizes a dot by it.
80
+ */
81
+ export type Bin2DTransform = {
82
+ type: 'bin';
83
+ } & Bin2DChannels & BinOptions;
84
+ export {};
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The keys of {@link BinXChannels}, at runtime. Typed as a record over the
3
+ * type's own keys, so a key added to or removed from the type fails to compile here.
4
+ */
5
+ export const BIN_X_CHANNEL_KEYS = {
6
+ data: true,
7
+ x: true,
8
+ z: true,
9
+ insetLeft: true,
10
+ insetRight: true,
11
+ insetTop: true,
12
+ insetBottom: true
13
+ };
14
+ /** The keys of {@link BinYChannels}, at runtime - see {@link BIN_X_CHANNEL_KEYS}. */
15
+ export const BIN_Y_CHANNEL_KEYS = {
16
+ data: true,
17
+ y: true,
18
+ z: true,
19
+ insetLeft: true,
20
+ insetRight: true,
21
+ insetTop: true,
22
+ insetBottom: true
23
+ };
24
+ /** The keys of {@link Bin2DChannels}, at runtime - see {@link BIN_X_CHANNEL_KEYS}. */
25
+ export const BIN_2D_CHANNEL_KEYS = {
26
+ ...BIN_X_CHANNEL_KEYS,
27
+ y: true
28
+ };
@@ -0,0 +1,21 @@
1
+ import type { PositionChannels } from './common';
2
+ /** Options both Bollinger transforms take - same names as svelteplot's. */
3
+ type BollingerOptions = {
4
+ /** The moving window's size, in rows; defaults to 20. */
5
+ n?: number;
6
+ /** The band's radius, in standard deviations; defaults to 2. */
7
+ k?: number;
8
+ };
9
+ /**
10
+ * `bollingerY` as a marker transform: a moving mean of `y` over `n` rows with a
11
+ * band `k` standard deviations around it - the mean as `y`, the band as
12
+ * `y1`/`y2`. A `line` draws the mean, an `area` the band. Runs per `z` group.
13
+ */
14
+ export type BollingerYTransform = {
15
+ type: 'bollingerY';
16
+ } & PositionChannels & BollingerOptions;
17
+ /** `bollingerX` - see {@link BollingerYTransform}, on `x`. */
18
+ export type BollingerXTransform = {
19
+ type: 'bollingerX';
20
+ } & PositionChannels & BollingerOptions;
21
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,29 @@
1
+ import type { AxisValue } from '../layout/mapping';
2
+ /**
3
+ * A channel a transform reads: a field key, or a per-row function - the same
4
+ * shape every marker's own `x`/`y` takes.
5
+ */
6
+ export type TransformChannel = string | ((d: any) => AxisValue | unknown);
7
+ /**
8
+ * A reducer a grouping transform (bin, group) runs over each group's rows:
9
+ * svelteplot's own name (`count`, `sum`, `mean`, `p25`, …) or a function of the rows.
10
+ */
11
+ export type TransformReducer = string | ((group: any[]) => unknown);
12
+ /** The position channels most transforms read, by svelteplot's own names; `z` splits the rows into groups. */
13
+ export type PositionChannels = {
14
+ data?: Record<string, unknown>[];
15
+ x?: TransformChannel;
16
+ y?: TransformChannel;
17
+ x1?: TransformChannel;
18
+ x2?: TransformChannel;
19
+ y1?: TransformChannel;
20
+ y2?: TransformChannel;
21
+ z?: TransformChannel;
22
+ fill?: TransformChannel;
23
+ stroke?: TransformChannel;
24
+ };
25
+ /**
26
+ * The keys of {@link PositionChannels}, at runtime. Typed as a record over the
27
+ * type's own keys, so a key added to or removed from the type fails to compile here.
28
+ */
29
+ export declare const POSITION_CHANNEL_KEYS: Record<keyof PositionChannels, true>;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The keys of {@link PositionChannels}, at runtime. Typed as a record over the
3
+ * type's own keys, so a key added to or removed from the type fails to compile here.
4
+ */
5
+ export const POSITION_CHANNEL_KEYS = {
6
+ data: true,
7
+ x: true,
8
+ y: true,
9
+ x1: true,
10
+ x2: true,
11
+ y1: true,
12
+ y2: true,
13
+ z: true,
14
+ fill: true,
15
+ stroke: true
16
+ };
@@ -0,0 +1,45 @@
1
+ import type { TransformChannel } from './common';
2
+ /** Kernel shapes svelteplot's own density transforms support. */
3
+ export type DensityKernel = 'uniform' | 'triangular' | 'epanechnikov' | 'quartic' | 'triweight' | 'gaussian' | 'cosine';
4
+ /** Channels both density transforms read; `weight` gives each row its share of the estimate. */
5
+ type DensityChannels = {
6
+ data?: Record<string, unknown>[];
7
+ x?: TransformChannel;
8
+ y?: TransformChannel;
9
+ z?: TransformChannel;
10
+ fill?: TransformChannel;
11
+ stroke?: TransformChannel;
12
+ weight?: (d: any) => number;
13
+ };
14
+ /** The keys of the density transforms' channels, at runtime. */
15
+ export declare const DENSITY_CHANNEL_KEYS: Record<keyof DensityChannels, true>;
16
+ /** Options both density transforms take, flat next to the channels - same names as svelteplot's. */
17
+ type DensityOptions = {
18
+ /** The kernel's shape, or a kernel function of `u`; defaults to `epanechnikov`. */
19
+ kernel?: DensityKernel | ((u: number) => number);
20
+ /** Kernel bandwidth in data units, or a function of the sorted values; defaults to Silverman's rule. */
21
+ bandwidth?: number | ((values: number[]) => number);
22
+ /** The spacing of the points the estimate is sampled at; defaults to a fifth of the bandwidth. */
23
+ interval?: number | string;
24
+ /** Keeps the curve within the data's own extent, instead of letting it fade out past it. */
25
+ trim?: boolean;
26
+ /** Accumulates the estimate into a CDF: `1` from the start, `-1` from the end. */
27
+ cumulative?: false | 1 | -1;
28
+ };
29
+ /**
30
+ * `densityX` as a marker transform: a 1D kernel density estimate over the `x`
31
+ * values. Replaces the rows with points along `x`, and their density goes to
32
+ * `y` (or `channel`: `y1`/`y2` for a band). One curve per `z` group.
33
+ */
34
+ export type DensityXTransform = {
35
+ type: 'densityX';
36
+ /** The channel the density goes to. */
37
+ channel?: 'y' | 'y1' | 'y2';
38
+ } & DensityChannels & DensityOptions;
39
+ /** `densityY` - see {@link DensityXTransform}, estimating over `y` with the density on `x`. */
40
+ export type DensityYTransform = {
41
+ type: 'densityY';
42
+ /** The channel the density goes to. */
43
+ channel?: 'x' | 'x1' | 'x2';
44
+ } & DensityChannels & DensityOptions;
45
+ export {};
@@ -0,0 +1,10 @@
1
+ /** The keys of the density transforms' channels, at runtime. */
2
+ export const DENSITY_CHANNEL_KEYS = {
3
+ data: true,
4
+ x: true,
5
+ y: true,
6
+ z: true,
7
+ fill: true,
8
+ stroke: true,
9
+ weight: true
10
+ };
@@ -0,0 +1,12 @@
1
+ import type { PositionChannels, TransformChannel } from './common';
2
+ /**
3
+ * `filter` as a marker transform: keeps only the rows `filter` holds for -
4
+ * a per-row test, or a field key whose value is truthy. Unlike filtering the
5
+ * marker's `data` beforehand, it composes with the transforms around it.
6
+ */
7
+ export type FilterTransform = {
8
+ type: 'filter';
9
+ filter: TransformChannel;
10
+ } & PositionChannels;
11
+ /** The keys `filter` reads as channels: every position channel, and `filter` itself. */
12
+ export declare const FILTER_CHANNEL_KEYS: Record<keyof PositionChannels | 'filter', true>;