@fundar/data-chart-telling 0.0.63 → 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 -558
  4. package/dist/configuration/config.svelte.d.ts +5 -5
  5. package/dist/configuration/config.svelte.js +133 -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 +433 -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 +365 -335
  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 +39 -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 +158 -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 +258 -54
  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
@@ -0,0 +1,23 @@
1
+ import type { BasePlotProps, PlotCoreProps } from '../props';
2
+ import type { GeoScalesConfig, CoordinatesConfig } from '../../layout/coordinates';
3
+ import type { GeoFeature, GeoDataProps } from '../data/geo';
4
+ import type { GeoStylesConfig } from '../../layout/styles';
5
+ import type { GeoSegmentStyle } from '../segments/common';
6
+ import type { GeoMarkersConfig } from '../../markers/geo';
7
+ import type { TimelineConfig } from '../../layout/timeline';
8
+ import type { FacetConfig } from '../../layout/facet';
9
+ /** `Omit` on each member of a union, so the union (and what tells its members apart) survives. */
10
+ type OmitEach<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
11
+ /**
12
+ * `GeoPlot`'s public props. Its `timeline` and `facet` slice both the map's
13
+ * features (reading a field key from each feature's `properties`) and every
14
+ * marker's own `data` rows; a feature or row without the field is context,
15
+ * drawn in every slice.
16
+ */
17
+ export type GeoPlotProps<TProps extends Record<string, unknown>> = OmitEach<BasePlotProps<GeoDataProps<TProps>, GeoFeature<TProps>, GeoStylesConfig<TProps>, GeoSegmentStyle, GeoMarkersConfig, GeoScalesConfig, CoordinatesConfig>, 'timeline' | 'facet'> & {
18
+ timeline?: TimelineConfig<Record<string, unknown>>;
19
+ facet?: FacetConfig<Record<string, unknown>>;
20
+ };
21
+ /** What `GeoPlot`'s core draws from. */
22
+ export type GeoPlotCoreProps<TProps extends Record<string, unknown>> = PlotCoreProps<GeoDataProps<TProps>, GeoFeature<TProps>, GeoStylesConfig<TProps>, GeoSegmentStyle, GeoMarkersConfig, GeoScalesConfig, CoordinatesConfig>;
23
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,82 @@
1
+ import type { Accessor } from '../data/common';
2
+ import type { GeoFeature } from '../data/geo';
3
+ import type { GeoScalesConfig } from '../../layout/coordinates';
4
+ import type { SegmentsConfig, MarginConfig, HoverConfig } from '../props';
5
+ import type { HoverPosition } from '../../phases';
6
+ import type { TooltipProp } from '../../layout/tooltip';
7
+ import type { GeoSegmentStyle } from '../segments/common';
8
+ import type { GeoMarkersConfig } from '../../markers/geo';
9
+ import type { MarkerConfig } from '../../markers/all';
10
+ import type { PlotStylesConfig } from '../../configuration/styling';
11
+ import type { LegendDisabledStyle } from '../../layout/legend';
12
+ /** One feature tagged with its resolved id/centroid as plain fields. */
13
+ export type TaggedGeoFeature<TProps extends Record<string, unknown>> = GeoFeature<TProps> & {
14
+ __id: string;
15
+ __cx: number;
16
+ __cy: number;
17
+ };
18
+ /** One resolved-style bucket of features - `opacity` is a second bucketing dimension alongside `style`, quantized so the channel produces a bounded number of mark instances. */
19
+ export type GeoStyleGroup<TProps extends Record<string, unknown>> = {
20
+ style: GeoSegmentStyle;
21
+ opacity: number | undefined;
22
+ data: TaggedGeoFeature<TProps>[];
23
+ };
24
+ /** The active continuous-legend range filter, if any - mirrors HeatmapPlot's own. */
25
+ export type GeoRangeFilter = {
26
+ min: number;
27
+ max: number;
28
+ mode: 'rescale' | 'filter';
29
+ disabledStyle: LegendDisabledStyle;
30
+ };
31
+ /** GeoPlot's shared pipeline state - raw props plus every phase's own output. */
32
+ export type GeoPlotState<TProps extends Record<string, unknown>> = {
33
+ /** Already resolved to plain GeoJSON - TopoJSON's async conversion happens in `Plot.svelte` itself, before the pipeline runs. */
34
+ rawFeatures: GeoFeature<TProps>[];
35
+ featureId?: Accessor<GeoFeature<TProps>, string>;
36
+ /** Color-value accessor - see `GeoDataProps.color`. */
37
+ color?: (feature: GeoFeature<TProps>) => number | undefined;
38
+ /** Structural grouping-bucket accessor - see `GeoDataProps.grouping`. */
39
+ grouping?: (feature: GeoFeature<TProps>) => string | undefined;
40
+ /** Opacity-value accessor - see `GeoDataProps.opacity`. */
41
+ opacity?: (feature: GeoFeature<TProps>) => number | undefined;
42
+ excludeParts?: (part: {
43
+ centroid: [number, number];
44
+ geometry: GeoJSON.Geometry;
45
+ }, feature: TaggedGeoFeature<TProps>) => boolean;
46
+ segments: SegmentsConfig<GeoSegmentStyle>;
47
+ scales: GeoScalesConfig;
48
+ /** The plot's `tooltip`, which the "hover" phase reads. */
49
+ tooltip?: TooltipProp<TaggedGeoFeature<TProps>>;
50
+ /** The raw `markers` prop - GeoPlot interleaves it with the base map by draw order, not a plain append. */
51
+ authoredMarkers: GeoMarkersConfig[];
52
+ width: number;
53
+ height: number;
54
+ margins?: MarginConfig;
55
+ allFeatures?: TaggedGeoFeature<TProps>[];
56
+ features?: TaggedGeoFeature<TProps>[];
57
+ /** "scales" phase output: the `[min, max]` the color ramp spans, before any legend range narrows it - `undefined` without a `color`. */
58
+ colorDomain?: [number, number];
59
+ /** "scales" phase output: the `[min, max]` of the `opacity` values - `undefined` without an `opacity`. */
60
+ opacityDomain?: [number, number];
61
+ /** "scales" phase output: each feature's own resolved color, composed from `color` and the color ramp - `undefined` where `color` itself is unset/returns nothing. */
62
+ resolveColor?: (feature: GeoFeature<TProps>) => string | undefined;
63
+ /** "scales" phase output: each feature's own resolved opacity, composed from `opacity` and the opacity ramp - `undefined` where `opacity` itself is unset/returns nothing. */
64
+ resolveOpacity?: (feature: GeoFeature<TProps>) => number | undefined;
65
+ markers?: MarkerConfig[];
66
+ styleGroups?: GeoStyleGroup<TProps>[];
67
+ /** "tooltip" phase output: how a hovered feature reads, unless `tooltip.format` says otherwise. */
68
+ tooltipFormat?: (feature: GeoFeature<TProps>) => string;
69
+ hover?: HoverConfig<TaggedGeoFeature<TProps>>;
70
+ hoverPosition?: HoverPosition;
71
+ hoverRows?: TaggedGeoFeature<TProps>[];
72
+ };
73
+ /** The environment every GeoPlot phase reads from, alongside the growing state. */
74
+ export type GeoPlotCtx<TProps extends Record<string, unknown>> = {
75
+ cfg: PlotStylesConfig;
76
+ range: GeoRangeFilter | null | undefined;
77
+ fill?: string;
78
+ fillOpacity?: number;
79
+ stroke?: string;
80
+ strokeWidth?: number;
81
+ onFeatureClick?: (d: TaggedGeoFeature<TProps>, e: Event) => void;
82
+ };
@@ -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 { CellSegmentStyle } from '../segments/common';
7
+ /** `HeatmapPlot`'s public props. */
8
+ export type HeatmapPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, CellSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
9
+ /** What `HeatmapPlot`'s core draws from. */
10
+ export type HeatmapPlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, CellSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ import type { CellSegmentStyle } from '../segments/common';
2
+ import type { ResolvedChannel, ResolvedChannels } from '../../layout/mapping';
3
+ import type { LegendRange } from '../../layout/legend';
4
+ import type { AxisPlotState, AxisPlotCtx } from '../../phases';
5
+ /**
6
+ * The active continuous-legend range filter, if any - narrows which cells
7
+ * render at full opacity, and in `'rescale'` mode, the color domain itself.
8
+ */
9
+ export type HeatmapRangeFilter = LegendRange;
10
+ /**
11
+ * HeatmapPlot's pipeline state: the shared axis-based state, where `color` is
12
+ * each cell's value channel (so always resolved) rather than a grouping key.
13
+ */
14
+ export type HeatmapPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, CellSegmentStyle> & {
15
+ channels?: ResolvedChannels<TData> & {
16
+ color: ResolvedChannel<TData, unknown>;
17
+ };
18
+ /** "scales" phase output: each row's own resolved color, composed from `channels.color` and the color ramp. */
19
+ resolveColor?: (row: TData) => string;
20
+ /** "scales" phase output: the `[min, max]` of the `opacity` values - `undefined` unless `opacity` is numeric. */
21
+ opacityDomain?: [number, number];
22
+ /** "scales" phase output: each row's own resolved opacity, composed from `channels.opacity` and the opacity ramp - `undefined` when `opacity` itself is unset. */
23
+ resolveOpacity?: (row: TData) => number;
24
+ };
25
+ /** The environment every HeatmapPlot phase reads from, alongside the growing state. */
26
+ export type HeatmapPlotCtx = AxisPlotCtx & {
27
+ range: HeatmapRangeFilter | null | undefined;
28
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
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 { AreaStyle } from '../styling';
7
+ import type { AxisChannelName, ChannelAccessors } from '../../layout/mapping';
8
+ /** Flat rows binned on one axis: `x` for vertical bars, or `y` alone for horizontal ones. A bin's count is its length. */
9
+ type HistogramDataProps<TRow extends Record<string, unknown>> = Omit<DataProps<TRow>, AxisChannelName> & ((Required<Pick<ChannelAccessors<TRow>, 'x'>> & {
10
+ y?: never;
11
+ }) | (Required<Pick<ChannelAccessors<TRow>, 'y'>> & {
12
+ x?: never;
13
+ }));
14
+ /** `HistogramPlot`'s public props. */
15
+ export type HistogramPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | HistogramDataProps<TData>, TData, AxisBasedStylesConfig, AreaStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
16
+ /** What `HistogramPlot`'s core draws from. */
17
+ export type HistogramPlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | HistogramDataProps<TData>, TData, AxisBasedStylesConfig, AreaStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
18
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { AreaStyle } from '../styling';
2
+ import type { AxisPlotState, AxisPlotCtx } from '../../phases';
3
+ /** HistogramPlot's pipeline state: the shared axis-based state, with no extras of its own. */
4
+ export type HistogramPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, AreaStyle>;
5
+ /** The environment every HistogramPlot phase reads from, alongside the growing state. */
6
+ export type HistogramPlotCtx = 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 { GapsAwarePlotStylesConfig } from '../../layout/styles';
6
+ import type { LineSegmentStyle } from '../segments/common';
7
+ /** `LinePlot`'s public props. */
8
+ export type LinePlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, GapsAwarePlotStylesConfig<LineSegmentStyle>, LineSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
9
+ /** What `LinePlot`'s core draws from. */
10
+ export type LinePlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | DataProps<TData>, TData, GapsAwarePlotStylesConfig<LineSegmentStyle>, LineSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import type { GapsConfig } from '../gaps';
2
+ import type { LineSegmentStyle } from '../segments/common';
3
+ import type { AxisPlotState, AxisPlotCtx } from '../../phases';
4
+ /** LinePlot's pipeline state: the shared axis-based state plus its gaps. */
5
+ export type LinePlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, LineSegmentStyle> & {
6
+ gaps?: GapsConfig<LineSegmentStyle>;
7
+ };
8
+ /** The environment every LinePlot phase reads from, alongside the growing state. */
9
+ export type LinePlotCtx = AxisPlotCtx;
@@ -0,0 +1 @@
1
+ export {};
@@ -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;