@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,73 @@
1
+ import type { Series } from '../plots/data/common';
2
+ import type { AxisBasedScalesConfig } from '../layout/scales';
3
+ import type { SegmentsConfig, MarginConfig, HoverConfig, TooltipConfig } from '../plots/props';
4
+ import type { HoverPosition } from './hover/phase';
5
+ import type { VisualGroup } from '../plots/segments/config';
6
+ import type { ScopedMarkerGroup } from '../layout/geometry';
7
+ import type { ChannelAccessors, ResolvedChannels } from '../layout/mapping';
8
+ import type { PlotStylesConfig } from '../configuration/styling';
9
+ import type { AxisBasedMarkersConfig } from '../markers/common';
10
+ import type { StatisticConfig } from '../layout/statistics';
11
+ import type { MarkerTransform } from '../transforms';
12
+ import type { ProcessedData } from './transforms/phase';
13
+ import type { FacetStageState } from './facet/phase';
14
+ import type { AxisBasedStylesConfig, ValuesStyle } from '../layout/styles';
15
+ import type { ValueLabels } from '../../layout/styles/ValueLabels';
16
+ import type { PlotInteraction } from '../../layout/interaction/PlotInteraction.svelte';
17
+ import type { PlotAxes } from '../../phases/data/PlotAxes';
18
+ import type { DiscreteGapFill, GapZonesConfig } from '../plots/gaps';
19
+ /**
20
+ * The pipeline state every axis-based plot shares - raw props plus every
21
+ * phase's own output. A plot kind extends it with what only it has.
22
+ * `TSeries` is the series shape the "data" phase resolves, and `TRow` what
23
+ * `flat` holds, for a kind that tags its own rows.
24
+ */
25
+ export type AxisPlotState<TData extends Record<string, unknown>, TStyle extends object, TSeries extends Series<TData> = Series<TData>, TRow = TData> = ChannelAccessors<TData> & {
26
+ series?: Series<TData>[];
27
+ data?: TData[];
28
+ segments?: SegmentsConfig<TStyle>;
29
+ scales: AxisBasedScalesConfig<TData>;
30
+ statistics?: StatisticConfig[];
31
+ transforms?: MarkerTransform[];
32
+ authorMarkers?: AxisBasedMarkersConfig[];
33
+ width: number;
34
+ height: number;
35
+ margins?: MarginConfig;
36
+ /** The plot's `styles`, which `BasePlotLayout` draws its frame from. */
37
+ styles?: AxisBasedStylesConfig;
38
+ /** The plot's `styles.values`, which its "markers" phase turns into a value-label `text` marker. */
39
+ values?: ValuesStyle;
40
+ /** The plot's `tooltip`, resolved: the "hover" phase reads it. */
41
+ tooltip?: TooltipConfig<TData>;
42
+ /** The plot's `styles.gaps`: how a discrete mark fills each series' missing values. */
43
+ gaps?: Record<string, GapZonesConfig<TStyle>>;
44
+ /** The plot's facet, which the "facet" phase splits the rows into panels by. */
45
+ facet?: FacetStageState['facet'];
46
+ panels?: FacetStageState['panels'];
47
+ panelOf?: FacetStageState['panelOf'];
48
+ /** What each position channel is, which one holds the categories, and which way the plot runs. */
49
+ axes?: PlotAxes;
50
+ resolvedSeries?: TSeries[];
51
+ /** Every series name, before legend-omitted ones are dropped, so colors stay put. */
52
+ allSeriesNames?: string[];
53
+ groupedSeries?: VisualGroup<TSeries, TStyle>[];
54
+ flat?: TRow[];
55
+ scopedGroups?: ScopedMarkerGroup<TData>[];
56
+ colorForSeries?: (name: string) => string;
57
+ /** A discrete mark's gap fills, per series id: the value each missing row is drawn at. */
58
+ gapFillMaps?: Map<string, Map<TData, DiscreteGapFill<TStyle>>>;
59
+ channels?: ResolvedChannels<TData>;
60
+ processedData?: ProcessedData;
61
+ valueLabels?: ValueLabels;
62
+ markers?: AxisBasedMarkersConfig[];
63
+ tooltipFormat?: (row: Record<string, unknown>) => string;
64
+ hover?: HoverConfig<any>;
65
+ hoverPosition?: HoverPosition;
66
+ hoverRows?: unknown[];
67
+ };
68
+ /** The environment every axis-based plot's phases read from, alongside the growing state. */
69
+ export type AxisPlotCtx = {
70
+ cfg: PlotStylesConfig;
71
+ /** The legend's toggles and the figure's hover, read for one plot: which series show and how each dims. */
72
+ interaction?: PlotInteraction;
73
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,41 @@
1
+ import type { ScopedMarkerGroup } from '../../layout/geometry';
2
+ import type { Accessor, Series } from '../../plots/data/common';
3
+ import type { AxisValue } from '../../layout/mapping';
4
+ import type { StatisticConfig } from '../../layout/statistics';
5
+ import type { AxisBasedMarkersConfig } from '../../markers/common';
6
+ import type { ProcessedData } from '../transforms/phase';
7
+ import type { FacetStageState } from '../facet/phase';
8
+ import type { PlotAxes } from '../../../phases/data/PlotAxes';
9
+ /**
10
+ * What the shared "statistics" stage reads from and writes to a plot's state.
11
+ * Every axis-based plot state carries these fields, so each satisfies it by shape.
12
+ */
13
+ export type StatisticsStageState = Pick<FacetStageState, 'panels'> & {
14
+ x?: Accessor<any, AxisValue>;
15
+ y?: Accessor<any, AxisValue>;
16
+ grouping?: Accessor<any, unknown>;
17
+ color?: Accessor<any, unknown>;
18
+ statistics?: StatisticConfig[];
19
+ authorMarkers?: AxisBasedMarkersConfig[];
20
+ resolvedSeries?: Series<any>[];
21
+ axes?: PlotAxes;
22
+ flat?: any[];
23
+ colorForSeries?: (name: string) => string;
24
+ /** Each series' segments, which a `scope: 'segment'` author marker splits by. */
25
+ scopedGroups?: ScopedMarkerGroup<any>[];
26
+ /** The plot's rows after its own transforms, which an author marker without rows of its own draws. */
27
+ processedData?: ProcessedData;
28
+ markers?: AxisBasedMarkersConfig[];
29
+ };
30
+ /** What differs between plots in the shared "statistics" stage. */
31
+ export type StatisticsStageOptions<TState extends StatisticsStageState> = {
32
+ /** The color an unscoped author marker inherits. Defaults to the first series' color. */
33
+ defaultColor?: (state: TState) => string | undefined;
34
+ /**
35
+ * Whether author markers inherit the plot's `grouping`/`color`. On by
36
+ * default; off for a plot whose `color` is a value channel, not a group.
37
+ */
38
+ inheritGrouping?: boolean;
39
+ /** Whether a line/area/dot author marker with no `x`/`y` takes the plot's own. */
40
+ inheritPositions?: boolean;
41
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ import type { AxisValue } from '../../layout/mapping';
2
+ /**
3
+ * Resolved `{data, x, y}` input a statistic computes over - a marker's own
4
+ * data, or one plot series/the pooled combination of every series. `x`/`y`
5
+ * use the same field-key-or-function shape every marker config's own `x`/`y` does.
6
+ */
7
+ export type StatisticSource<T extends Record<string, unknown> = Record<string, unknown>> = {
8
+ data: T[];
9
+ x: string | ((d: any) => AxisValue);
10
+ y: string | ((d: any) => AxisValue);
11
+ /** Fallback stroke for the derived marker, used when its own `styles.stroke` is unset - typically the source series' own color. */
12
+ color?: string;
13
+ };
14
+ /**
15
+ * Color a derived statistic draws in when neither its own `styles` nor its
16
+ * source supplies one. A statistic's color is resolved in this order: its own
17
+ * explicit style, then its source's color (the marker's own color, or the
18
+ * plot's default series color - per group when grouped), then this.
19
+ */
20
+ export declare const STATISTIC_FALLBACK_COLOR = "#000000";
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Color a derived statistic draws in when neither its own `styles` nor its
3
+ * source supplies one. A statistic's color is resolved in this order: its own
4
+ * explicit style, then its source's color (the marker's own color, or the
5
+ * plot's default series color - per group when grouped), then this.
6
+ */
7
+ export const STATISTIC_FALLBACK_COLOR = '#000000';
@@ -0,0 +1,24 @@
1
+ import type { EdgeBox } from '../../layout/box';
2
+ import type { ValueLabels } from '../../../layout/styles/ValueLabels';
3
+ import type { ValueAnchor } from '../../plots/constants';
4
+ /** A plot kind's own defaults for its value labels, under the author's `styles.values`. */
5
+ export type ValueLabelsOptions<TState> = {
6
+ /** Whether the labels draw when `styles.values.show` is unset. Defaults to `false`. */
7
+ show?: boolean;
8
+ /** Where a label sits when `styles.values.anchor` is unset. Defaults to `'outside'`. */
9
+ anchor?: ValueAnchor;
10
+ /** A label's text when `styles.values.format` is unset. Defaults to the bare value. */
11
+ format?: (value: number, seriesName: string) => string;
12
+ /**
13
+ * Where the labels are expected to sit, from the whole data: boxes around
14
+ * the points they label, on the plot edges those points can reach (see
15
+ * {@link ValueLabels.edgeBox}). The plot's margins keep their room, so the
16
+ * labels fit from the first render; without it they still grow to fit,
17
+ * once measured.
18
+ */
19
+ reach?: (labels: ValueLabels, state: TState) => EdgeBox[];
20
+ };
21
+ /** What differs between plots in the shared "styles" stage. */
22
+ export type StylesStageOptions<TState> = {
23
+ values?: ValueLabelsOptions<TState>;
24
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,27 @@
1
+ export type Row = Record<string | symbol, unknown>;
2
+ /** A transform's props once split: what svelteplot reads as channels, and what it takes as options. */
3
+ export type TransformArgs = {
4
+ channels: Row;
5
+ options: Row;
6
+ };
7
+ /**
8
+ * Everything one transform type needs to run through svelteplot, and the fixes
9
+ * that type alone needs: `prepare` before it runs, `finish` on the marker once
10
+ * every transform has run. A type without a fix leaves the hook out.
11
+ */
12
+ export type TransformAdapter = {
13
+ /** The keys svelteplot reads as channels; every other prop of the transform is an option. */
14
+ channelKeys: Record<string, true>;
15
+ /**
16
+ * Keys that, set on the transform, are reducers (options), while the
17
+ * marker's own channel of the same name is still read as the reducer's input
18
+ * - a `groupX`'s `y: 'sum'` sums the marker's `y`.
19
+ */
20
+ outputKeys?: Record<string, true>;
21
+ /** svelteplot's own function for this type, taking channels first and options second. */
22
+ run: (channels: Row, options: Row) => Row;
23
+ /** Fixes the split props before svelteplot sees them. */
24
+ prepare?: (args: TransformArgs) => TransformArgs;
25
+ /** Fixes the marker after all of its transforms have been merged onto it. */
26
+ finish?: (marker: Row) => Row;
27
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,40 @@
1
+ import type { Series } from '../../plots/data/common';
2
+ import type { MarkerTransform } from '../../transforms';
3
+ import type { PlotAxes } from '../../../phases/data/PlotAxes';
4
+ /** A row the plot-level transforms produced: the source row's fields, plus whatever channels they add (often symbol-keyed). */
5
+ export type ProcessedRow = Record<string | symbol, unknown>;
6
+ /** A channel as svelteplot reads it off a processed row: a field key, a symbol key, or a function. */
7
+ export type ProcessedChannel = string | symbol | ((row: any) => unknown);
8
+ /** The position channels a processed row can carry. */
9
+ export type ProcessedChannelName = 'x' | 'y' | 'x1' | 'x2' | 'y1' | 'y2';
10
+ /**
11
+ * Every visible series' rows after the plot-level transforms, as one set.
12
+ * With no transforms, they're the source rows read by the series' own `x`/`y`.
13
+ */
14
+ export type ProcessedData = {
15
+ /** Every row, each tagged with its series name under `SERIES_KEY`. */
16
+ data: ProcessedRow[];
17
+ /** The channels that read those rows: the series' `x`/`y`, or what the transforms set (`x1`/`x2`, `y1`/`y2`…). */
18
+ channels: Partial<Record<ProcessedChannelName, ProcessedChannel>>;
19
+ /** The transforms' own mark options (e.g. a bin's insets), for the marks that draw these rows. */
20
+ options: Record<string, unknown>;
21
+ /** The transforms the rows went through, so a mark can apply each type's `finish` fix. */
22
+ transforms: MarkerTransform[];
23
+ };
24
+ /** What the shared "transforms" stage reads from and writes to a plot's state. */
25
+ export type TransformsStageState = {
26
+ resolvedSeries?: Series<any>[];
27
+ axes?: PlotAxes;
28
+ /** Each series' gap fills, by series id: the value each missing row is drawn at. */
29
+ gapFillMaps?: Map<string, Map<unknown, {
30
+ value: number;
31
+ kind: string;
32
+ }>>;
33
+ transforms?: MarkerTransform[];
34
+ processedData?: ProcessedData;
35
+ };
36
+ /** What differs between plots in the shared "transforms" stage. */
37
+ export type TransformsStageOptions<TState extends TransformsStageState, TCtx> = {
38
+ /** The transforms to run. Defaults to the plot's own `transforms`. */
39
+ transforms?: (state: TState, ctx: TCtx) => MarkerTransform[];
40
+ };
@@ -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 { AreaStyle } from '../styling';
7
+ /** `AreaPlot`'s public props. */
8
+ export type AreaPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, AreaStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
9
+ /** What `AreaPlot`'s core draws from. */
10
+ export type AreaPlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, AreaStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { AreaStyle } from '../styling';
2
+ import type { AxisPlotState, AxisPlotCtx } from '../../phases';
3
+ /** AreaPlot's pipeline state: the shared axis-based state, with no extras of its own. */
4
+ export type AreaPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, AreaStyle>;
5
+ /** The environment every AreaPlot phase reads from, alongside the growing state. */
6
+ export type AreaPlotCtx = 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 { BarSegmentStyle } from '../segments/common';
7
+ /** `BarPlot`'s public props. */
8
+ export type BarPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, GapsAwarePlotStylesConfig<BarSegmentStyle>, BarSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
9
+ /** What `BarPlot`'s core draws from. */
10
+ export type BarPlotCoreProps<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,6 @@
1
+ import type { AxisPlotState, AxisPlotCtx } from '../../phases';
2
+ import type { BarSegmentStyle } from '../segments/common';
3
+ /** BarPlot's pipeline state: the shared axis-based state. */
4
+ export type BarPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, BarSegmentStyle>;
5
+ /** The environment every BarPlot phase reads from, alongside the growing state. */
6
+ export type BarPlotCtx = AxisPlotCtx;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,6 @@
1
- import type { EasingName, EasingFn } from '../charts/interpolate';
1
+ import type { EasingName, EasingFn } from '../misc/easing';
2
2
  import type { GeoInsetLocation } from '../markers/geo';
3
- /** What the camera frames. `features` shares its id space with `segments`/`featureId`. `center` has no extent of its own — see `GeoCameraConfig.zoom`. */
3
+ /** What the camera frames. `features` shares its id space with `segments`/`featureId`. `center` has no extent of its own - see `GeoCameraConfig.zoom`. */
4
4
  export type GeoCameraTarget = {
5
5
  features: string[];
6
6
  } | {
@@ -8,33 +8,23 @@ export type GeoCameraTarget = {
8
8
  } | {
9
9
  bounds: GeoJSON.GeoJsonObject;
10
10
  };
11
- /**
12
- * How the camera moves to a newly resolved target.
13
- * - `progress` unset: auto-plays once over `duration` ms, eased by `easing`.
14
- * - `progress` set (a live 0–1 value, e.g. from scroll): renders the move as
15
- * a pure function of it instead — stalls/reverses with the input.
16
- */
11
+ /** How the camera moves to a new target: auto-played over `duration` ms, or driven by a live 0-1 `progress`. */
17
12
  export type GeoCameraTransition = {
18
13
  /** Auto-play duration in ms, ignored once `progress` is set. Defaults to 750. */
19
14
  duration?: number;
20
15
  /** Same `EasingName | EasingFn` vocabulary as `styles.gaps`/`TimelineConfig.interpolate`. */
21
16
  easing?: EasingName | EasingFn;
22
- /** A live 0–1 value the host drives itself instead of an auto-played duration. */
17
+ /** A live 0-1 value the host drives itself instead of an auto-played duration. */
23
18
  progress?: number;
24
- /** Which way to interpolate rotation when ambiguous — only relevant for `orthographic`. `'shortest'` (default) or `'longest'`. No-op for 2D projections. */
19
+ /** Which way to interpolate rotation when ambiguous - only relevant for `orthographic`. `'shortest'` (default) or `'longest'`. No-op for 2D projections. */
25
20
  direction?: 'shortest' | 'longest';
26
21
  };
27
- /**
28
- * `coordinates.camera` — `GeoPlot`'s declarative "current viewpoint": frames,
29
- * zooms and anchors on `target`, animated on change. Realized as a
30
- * pixel-space pan/zoom transform for 2D projections, plus a `rotate`
31
- * override for `orthographic`. Composes with interactive `coordinates.pan`/`zoom`/`rotate`.
32
- */
22
+ /** `coordinates.camera`: the viewpoint `GeoPlot` frames on `target`, animated on change. */
33
23
  export type GeoCameraConfig = {
34
24
  target: GeoCameraTarget;
35
25
  /** Multiplier on the auto-fit scale for a `features`/`bounds` target (`1` = tight fit). For a `center` target, used directly as the pixel scale instead. */
36
26
  zoom?: number;
37
- /** Where the framed target lands within the plot frame — the same 9-point vocabulary `inset` markers use. Defaults to `'middle-middle'`. */
27
+ /** Where the framed target lands within the plot frame - the same 9-point vocabulary `inset` markers use. Defaults to `'middle-middle'`. */
38
28
  anchor?: GeoInsetLocation;
39
29
  /** Pixel gap kept between the framed target and whichever edge(s) `anchor` pushes it toward. Defaults to 24. */
40
30
  padding?: number;
@@ -1,27 +1,35 @@
1
1
  /**
2
2
  * Unified positional anchor for value labels across all plot kinds.
3
3
  *
4
- * - `'outside'` — beyond the tip of the mark (above a vertical bar, to the
4
+ * - `'outside'` - beyond the tip of the mark (above a vertical bar, to the
5
5
  * far end of a horizontal bar or line). This is the only value with no
6
6
  * direct svelteplot equivalent; the plot computes dx/dy internally.
7
- * - `'start'` — at the tip of the mark, just inside (top of a bar, far end
7
+ * - `'start'` - at the tip of the mark, just inside (top of a bar, far end
8
8
  * of a pyramid bar from zero, right of a line's last point).
9
- * - `'middle'` — centred on the mark.
10
- * - `'end'` — at the baseline/zero end of the mark.
9
+ * - `'middle'` - centred on the mark.
10
+ * - `'end'` - at the baseline/zero end of the mark.
11
11
  */
12
12
  export type ValueAnchor = 'outside' | 'start' | 'middle' | 'end';
13
- export type SymbolType = 'circle' | 'square' | 'triangle' | 'line';
13
+ /**
14
+ * Shared by two unrelated renderers: a `dot` mark's own point shape
15
+ * (delegated to svelteplot/d3-shape) and a discrete legend item's own icon
16
+ * (`DiscreteSymbolIcon.svelte`, the same shape fitted to the icon). `'line'` is legend-only - it represents
17
+ * a Line series' own swatch there, but isn't a real d3-shape symbol name, so
18
+ * a `dot` mark (or the `symbol` channel) given `'line'` renders as
19
+ * `'circle'` instead.
20
+ */
21
+ export type SymbolType = 'circle' | 'square' | 'triangle' | 'line' | 'diamond' | 'star' | 'cross';
14
22
  export type LineStyle = 'solid' | 'dashed' | 'dotted' | 'dashdot';
15
23
  export type LineCap = 'butt' | 'round' | 'square';
16
24
  export type LineJoin = 'arcs' | 'bevel' | 'miter' | 'miter-clip' | 'round';
17
- /** `font-weight` keyword accepted by any text styling. */
18
- export type FontWeight = 'normal' | 'bold';
25
+ /** `font-weight` accepted by any text styling: a keyword, or a numeric weight (100-900). */
26
+ export type FontWeight = 'normal' | 'bold' | number;
19
27
  /** `font-style` keyword accepted by any text styling. */
20
28
  export type FontStyleKeyword = 'normal' | 'italic';
21
29
  /**
22
30
  * Horizontal text anchor. `'outside'` is only meaningful where the consuming
23
31
  * mark resolves it per-point from a signed x value (currently `HoverMarker`
24
- * only) — it anchors the label away from zero: `'start'` (extending right)
32
+ * only) - it anchors the label away from zero: `'start'` (extending right)
25
33
  * for a positive x, `'end'` (extending left) for negative. Elsewhere it's
26
34
  * treated the same as `'start'`.
27
35
  */
@@ -1,40 +1,48 @@
1
- import type { AxisValue } from '../../layout/scales';
1
+ import type { AxisValue, AxisChannelName, ChannelAccessors } from '../../layout/mapping';
2
2
  /**
3
3
  * A field key or accessor function. Mirrors the shorthand used across plots
4
- * so chart-level encodings (`x`, `y`, `z`, facet, timeline) feel consistent
5
- * with the plot-level series definitions.
4
+ * so chart-level encodings (`x`, `y`, `color`, facet, timeline) feel
5
+ * consistent with the plot-level series definitions.
6
6
  */
7
7
  export type Accessor<TRow extends Record<string, unknown>, V> = keyof TRow | ((d: TRow) => V);
8
8
  /**
9
9
  * A plot series: a name, x/y accessors and the rows it draws. Shared as-is by
10
- * every mark (line, bar, …) — none of them need anything beyond this shape;
10
+ * every mark (line, bar, …) - none of them need anything beyond this shape;
11
11
  * visual styling lives separately in `segments`.
12
12
  */
13
13
  export type Series<T extends Record<string, unknown> = Record<string, unknown>> = {
14
14
  name: string;
15
- x: Accessor<T, AxisValue>;
16
- y: Accessor<T, AxisValue>;
17
- z?: Accessor<T, unknown>;
15
+ /** Tells apart series that share a `name`, such as one per facet panel. Defaults to `name`. */
16
+ id?: string;
17
+ /** The facet panel the series belongs to, once the "facet" phase splits it. */
18
+ panel?: string;
19
+ /** Horizontal position. A plot reading one position channel only (a histogram) takes either alone. */
20
+ x?: Accessor<T, AxisValue>;
21
+ /** Vertical position. */
22
+ y?: Accessor<T, AxisValue>;
23
+ /** The `color` channel's own accessor - a pre-built series is already one group, so this is purely the color value (per-name for most plot kinds; per-cell for HeatmapPlot). */
24
+ color?: Accessor<T, unknown>;
18
25
  data: T[];
19
26
  };
27
+ /** The channels a pre-built {@link Series} carries itself, so a plot given `series` takes none of them. */
28
+ type SeriesChannelName = AxisChannelName | 'color' | 'grouping';
20
29
  /**
21
- * Pre-built series. Mutually exclusive with {@link DataProps} — takes
22
- * precedence when both could apply.
30
+ * Pre-built series. Mutually exclusive with {@link DataProps} - takes
31
+ * precedence when both could apply. Any channel a series doesn't carry
32
+ * itself is still a plot-level prop.
23
33
  */
24
34
  export type SeriesProps<T extends Record<string, unknown>> = {
25
35
  series: Series<T>[];
26
36
  data?: never;
27
- x?: never;
28
- y?: never;
29
- z?: never;
30
- };
37
+ } & {
38
+ [K in SeriesChannelName]?: never;
39
+ } & Omit<ChannelAccessors<T>, SeriesChannelName>;
31
40
  /**
32
41
  * Flat rows to group into series, as an alternative to {@link SeriesProps}.
42
+ * Takes every channel; `x`/`y` are required.
33
43
  */
34
44
  export type DataProps<T extends Record<string, unknown>> = {
35
45
  series?: never;
36
46
  data: T[];
37
- x: Accessor<T, AxisValue>;
38
- y: Accessor<T, AxisValue>;
39
- z?: Accessor<T, unknown>;
40
- };
47
+ } & ChannelAccessors<T> & Required<Pick<ChannelAccessors<T>, AxisChannelName>>;
48
+ export {};
@@ -3,7 +3,7 @@ import type { Accessor } from './common';
3
3
  * One GeoJSON feature, generically typed over its `properties`. Intersected
4
4
  * with `Record<string, unknown>` so it satisfies the same generic bound
5
5
  * every other row type in this package does (e.g. `TooltipConfig<TRow
6
- * extends Record<string, unknown>>`) — GeoJSON's own `Feature` type has no
6
+ * extends Record<string, unknown>>`) - GeoJSON's own `Feature` type has no
7
7
  * index signature on its own.
8
8
  */
9
9
  export type GeoFeature<TProps extends Record<string, unknown> = Record<string, unknown>> = GeoJSON.Feature<GeoJSON.Geometry, TProps> & Record<string, unknown>;
@@ -12,7 +12,7 @@ export type GeoJsonInput<TProps extends Record<string, unknown>> = GeoJSON.Featu
12
12
  * Minimal structural shape of a TopoJSON `Topology` object. Deliberately not
13
13
  * imported from `topojson-client`'s own types, so referencing it never forces
14
14
  * module resolution of that (optional peer) package at typecheck time for
15
- * consumers who haven't installed it — see `$lib/plots/utils/topojson`.
15
+ * consumers who haven't installed it - see `$lib/plots/utils/topojson`.
16
16
  */
17
17
  export type Topology = {
18
18
  type: 'Topology';
@@ -25,42 +25,56 @@ export type Topology = {
25
25
  bbox?: number[];
26
26
  };
27
27
  /**
28
- * Data contract for GeoPlot — the geo analog of {@link DataProps}/{@link SeriesProps}
29
- * (`$lib/types/plots/data/common`). There's no x/y/z axis pair for geographic data:
28
+ * Data contract for GeoPlot - the geo analog of {@link DataProps}/{@link SeriesProps}
29
+ * (`$lib/types/plots/data/common`). There's no x/y axis pair for geographic data:
30
30
  * `data` IS the map.
31
31
  */
32
32
  export type GeoDataProps<TProps extends Record<string, unknown> = Record<string, unknown>> = {
33
33
  /**
34
34
  * GeoJSON is always accepted. A TopoJSON `Topology` is also accepted, but
35
35
  * only converted at runtime if `topojson-client` is installed (an optional
36
- * peer dependency) — see `object`.
36
+ * peer dependency) - see `object`.
37
37
  */
38
38
  data: GeoJsonInput<TProps> | Topology;
39
39
  /**
40
- * Required when `data` is a `Topology` — the key under `topology.objects`
40
+ * Required when `data` is a `Topology` - the key under `topology.objects`
41
41
  * to convert via topojson-client's `feature()`. Ignored for GeoJSON input.
42
42
  */
43
43
  object?: string;
44
44
  /**
45
- * Resolves each feature's stable id — used as the `segments` lookup key
45
+ * Resolves each feature's stable id - used as the `segments` lookup key
46
46
  * (e.g. `segments.argentina`) and for hover/click identification. Defaults
47
47
  * to `feature.id ?? feature.properties?.id ?? feature.properties?.name`.
48
48
  */
49
49
  featureId?: Accessor<GeoFeature<TProps>, string>;
50
50
  /**
51
- * Optional continuous value accessor for choropleth coloring (mirrors
52
- * heatmap's `z`). A feature with no `value` (or when omitted entirely)
51
+ * Optional continuous color-value accessor for choropleth coloring - the
52
+ * channel driving the ramp (mirrors heatmap's `color`), configured via
53
+ * `scales.color`. A feature with no `color` (or when omitted entirely)
53
54
  * falls back to `styles.fill`/`segments`.
54
55
  */
55
- value?: (feature: GeoFeature<TProps>) => number | undefined;
56
+ color?: (feature: GeoFeature<TProps>) => number | undefined;
57
+ /**
58
+ * Optional structural grouping key - splits features into named buckets
59
+ * for `segments` to address by name (e.g. `segments.global_south`),
60
+ * independent of `color`. Unlike the axis-based plot kinds, this has no
61
+ * implicit default: `color` here is a per-feature *continuous* value, not
62
+ * a series-splitting key, so defaulting `grouping` to `color` would try
63
+ * to bucket by every distinct numeric value instead of leaving features
64
+ * ungrouped. A feature whose `grouping` value has no matching `segments`
65
+ * key simply falls through to `segments.default`/the plot-level ramp.
66
+ */
67
+ grouping?: (feature: GeoFeature<TProps>) => string | undefined;
68
+ /** Continuous or categorical opacity-value accessor - configure the ramp via `scales.opacity`. */
69
+ opacity?: (feature: GeoFeature<TProps>) => number | undefined;
56
70
  /**
57
71
  * Excludes matching parts of a feature's geometry from the map's own
58
- * rendering and hover/click matching — e.g. so a separate `inset` marker
72
+ * rendering and hover/click matching - e.g. so a separate `inset` marker
59
73
  * (via its own `featurePartsFilter`) can take over showing that part
60
74
  * elsewhere without it being drawn twice. Runs once per disjoint part of
61
75
  * each feature's geometry (each polygon of a `MultiPolygon`, each line of
62
76
  * a `MultiLineString`; any other geometry type is a single part). Return
63
- * `true` to exclude that part — excluding every part of a feature drops
77
+ * `true` to exclude that part - excluding every part of a feature drops
64
78
  * it entirely, which also covers omitting a whole feature from the map.
65
79
  * `segments` styling is unaffected (still keyed by whole-feature
66
80
  * `featureId`, applied to whatever geometry remains).
@@ -1,54 +1,35 @@
1
- import type { EasingName } from '../charts/interpolate';
2
- import type { AxisValue } from '../layout/scales';
3
- /**
4
- * How one gap zone bridges its hole: `interpolate` eases the synthetic
5
- * segment's value between its two endpoints (defaults to `'linear'`, a
6
- * straight line); `style` is the per-mark shape drawn for it
7
- * ({@link LineSegmentStyle} for `LinePlot`), independent of that plot
8
- * kind's own default marker style unless the caller repeats it.
9
- */
1
+ import type { EasingName } from '../misc/easing';
2
+ import type { AxisValue } from '../layout/mapping';
3
+ /** How one gap zone is bridged: `interpolate` eases the value (default `'linear'`), `style` draws it. */
10
4
  export type GapZoneConfig<TStyle> = {
11
5
  interpolate?: EasingName;
12
6
  style?: TStyle;
13
7
  };
14
8
  /**
15
- * A leading/trailing gap has only one real boundary — `x` (required to opt
16
- * in) is the domain value the synthetic segment extends to, and `y` is the
17
- * value it reaches there (defaults to holding the nearest real point's
18
- * value, i.e. a flat extrapolation). Omitting the zone entirely leaves that
19
- * end of the series unfilled — extrapolating without an explicit target
20
- * would imply data that doesn't exist.
21
- *
22
- * On `LinePlot`, `x`'s value is the actual spatial target the bridge draws
23
- * out to (its axis is continuous). On `BarPlot`/`PyramidPlot`, each gap row
24
- * already has its own real category, so `x`'s *presence* is only the opt-in
25
- * gate — its value isn't read; `y` is what drives the fill.
9
+ * A gap before the first or after the last real point: bridged out to `x`
10
+ * (required to fill it), reaching `y` there (default: the nearest real
11
+ * value). On bar plots only `x`'s presence matters.
26
12
  */
27
13
  export type OpenGapZoneConfig<TStyle> = GapZoneConfig<TStyle> & {
28
14
  x: AxisValue;
29
15
  y?: AxisValue;
30
16
  };
31
- /**
32
- * One series' gap-fill config: `start` (before its first real point),
33
- * `middle` (any internal run of missing rows, bounded by real data on both
34
- * sides) and `end` (after its last real point). A row counts as missing
35
- * when its resolved value is `null`, `undefined`, or `NaN` — the same
36
- * convention svelteplot's own `Line` mark already uses to break the line
37
- * there. See {@link GapsConfig} for how this is keyed per series on a
38
- * gap-aware plot kind's `styles.gaps`.
39
- */
17
+ /** One series' gap fill: `start`, `middle` and `end`. A row is missing when its value is `null`, `undefined` or `NaN`. */
40
18
  export type GapZonesConfig<TStyle> = {
41
19
  start?: OpenGapZoneConfig<TStyle>;
42
20
  middle?: GapZoneConfig<TStyle>;
43
21
  end?: OpenGapZoneConfig<TStyle>;
44
22
  };
45
- /**
46
- * The `gaps` field a gap-aware plot kind's `styles` accepts (see
47
- * {@link GapsAwarePlotStylesConfig}, `types/layout/styles.ts`) — series name
48
- * (or `'default'` for all series) to that series' {@link GapZonesConfig}.
49
- * Mirrors `SegmentsConfig`'s series-keyed shape: a named entry applies only
50
- * to that series; `'default'` fills in whichever of its zones
51
- * (`start`/`middle`/`end`) the named entry itself leaves unset, at zone
52
- * granularity rather than a merged style.
53
- */
23
+ /** `styles.gaps`: series name (or `'default'`) to its {@link GapZonesConfig}; `'default'` fills the zones a named entry leaves unset. */
54
24
  export type GapsConfig<TStyle> = Record<string, GapZonesConfig<TStyle>>;
25
+ /** A point sampled along a gap-fill bridge, already resolved to plot data-space numbers. */
26
+ export type GapPoint = {
27
+ x: number;
28
+ y: number;
29
+ };
30
+ /** One gap row's resolved fill - the interpolated value to render instead of the missing one, and which zone produced it. */
31
+ export type DiscreteGapFill<TStyle> = {
32
+ value: number;
33
+ kind: 'start' | 'middle' | 'end';
34
+ style?: TStyle;
35
+ };