@fundar/data-chart-telling 0.0.64 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (839) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -0
  3. package/README.md +112 -553
  4. package/dist/configuration/config.svelte.d.ts +5 -5
  5. package/dist/configuration/config.svelte.js +142 -46
  6. package/dist/configuration/fonts.d.ts +6 -0
  7. package/dist/configuration/fonts.js +6 -0
  8. package/dist/configuration/themes/compact.d.ts +2 -2
  9. package/dist/configuration/themes/compact.js +1 -1
  10. package/dist/configuration/themes/dark.d.ts +2 -2
  11. package/dist/configuration/themes/dark.js +5 -4
  12. package/dist/configuration/themes/default.d.ts +8 -3
  13. package/dist/configuration/themes/default.js +8 -2
  14. package/dist/configuration/themes/editorial.d.ts +2 -2
  15. package/dist/configuration/themes/editorial.js +2 -2
  16. package/dist/configuration/themes/index.d.ts +545 -80
  17. package/dist/configuration/themes/index.js +6 -5
  18. package/dist/index.d.ts +35 -48
  19. package/dist/index.js +20 -35
  20. package/dist/layout/base/BasePlotLayout.svelte +325 -0
  21. package/dist/layout/base/BasePlotLayout.svelte.d.ts +111 -0
  22. package/dist/layout/composer/PlotComposer.svelte +94 -0
  23. package/dist/layout/composer/PlotComposer.svelte.d.ts +13 -0
  24. package/dist/layout/coordinates/CameraFit.svelte +4 -4
  25. package/dist/layout/coordinates/CoordinatesLayout.svelte +11 -3
  26. package/dist/layout/coordinates/CoordinatesLayout.svelte.d.ts +6 -2
  27. package/dist/layout/coordinates/camera.svelte.d.ts +1 -1
  28. package/dist/layout/coordinates/camera.svelte.js +6 -6
  29. package/dist/layout/coordinates/projections/argentina.js +3 -3
  30. package/dist/layout/coordinates/projections/fit.js +1 -1
  31. package/dist/layout/coordinates/resolveCameraTarget.d.ts +1 -1
  32. package/dist/layout/coordinates/resolveProjection.d.ts +1 -1
  33. package/dist/layout/coordinates/resolveProjection.js +2 -2
  34. package/dist/layout/coordinates/rotate.svelte.d.ts +3 -3
  35. package/dist/layout/coordinates/rotate.svelte.js +8 -8
  36. package/dist/layout/coordinates/zoom.svelte.d.ts +1 -1
  37. package/dist/layout/facet/FacetIndicator.svelte +23 -23
  38. package/dist/layout/facet/FacetLayout.svelte +435 -398
  39. package/dist/layout/facet/FacetLayout.svelte.d.ts +9 -3
  40. package/dist/layout/facet/axes.d.ts +16 -0
  41. package/dist/layout/facet/axes.js +25 -0
  42. package/dist/layout/facet/config.d.ts +32 -0
  43. package/dist/layout/facet/config.js +82 -0
  44. package/dist/layout/figure/Figure.svelte +177 -0
  45. package/dist/layout/figure/Figure.svelte.d.ts +14 -0
  46. package/dist/layout/figure/FigureChrome.svelte +341 -0
  47. package/dist/layout/figure/FigureChrome.svelte.d.ts +21 -0
  48. package/dist/layout/geometry/FrameClip.svelte +45 -0
  49. package/dist/layout/geometry/FrameClip.svelte.d.ts +8 -0
  50. package/dist/layout/geometry/FrameClipping.d.ts +24 -0
  51. package/dist/layout/geometry/FrameClipping.js +40 -0
  52. package/dist/layout/geometry/GeometryLayout.svelte +287 -224
  53. package/dist/layout/geometry/GeometryLayout.svelte.d.ts +10 -10
  54. package/dist/layout/grid/Grid.svelte +194 -0
  55. package/dist/layout/grid/Grid.svelte.d.ts +26 -0
  56. package/dist/layout/grid/GridAlignment.svelte.d.ts +31 -0
  57. package/dist/layout/grid/GridAlignment.svelte.js +56 -0
  58. package/dist/layout/grid/GridCell.svelte +141 -0
  59. package/dist/layout/grid/GridCell.svelte.d.ts +17 -0
  60. package/dist/layout/grid/GridCellsRegistry.svelte.d.ts +52 -0
  61. package/dist/layout/grid/GridCellsRegistry.svelte.js +70 -0
  62. package/dist/layout/grid/GridPlan.d.ts +49 -0
  63. package/dist/layout/grid/GridPlan.js +167 -0
  64. package/dist/layout/grid/Tags.d.ts +8 -0
  65. package/dist/layout/grid/Tags.js +39 -0
  66. package/dist/layout/hover/HoverScope.svelte +11 -0
  67. package/dist/layout/hover/HoverScope.svelte.d.ts +8 -0
  68. package/dist/layout/hover/HoverSettings.d.ts +34 -0
  69. package/dist/layout/hover/HoverSettings.js +52 -0
  70. package/dist/layout/hover/HoverState.svelte.d.ts +47 -0
  71. package/dist/layout/hover/HoverState.svelte.js +99 -0
  72. package/dist/layout/hover/PlotHover.svelte.d.ts +63 -0
  73. package/dist/layout/hover/PlotHover.svelte.js +133 -0
  74. package/dist/layout/interaction/PlotInteraction.svelte.d.ts +38 -0
  75. package/dist/layout/interaction/PlotInteraction.svelte.js +56 -0
  76. package/dist/layout/legend/AxisNumberFormat.d.ts +12 -0
  77. package/dist/layout/legend/AxisNumberFormat.js +25 -0
  78. package/dist/layout/legend/ContinuousSection.svelte +363 -351
  79. package/dist/layout/legend/DisabledStyle.d.ts +19 -0
  80. package/dist/layout/legend/DisabledStyle.js +57 -0
  81. package/dist/layout/legend/DiscreteBadgeItem.svelte +6 -3
  82. package/dist/layout/legend/DiscreteSection.svelte +32 -32
  83. package/dist/layout/legend/DiscreteSwatchItem.svelte +4 -1
  84. package/dist/layout/legend/DiscreteSymbolIcon.svelte +14 -9
  85. package/dist/layout/legend/LegendChannels.d.ts +21 -0
  86. package/dist/layout/legend/LegendChannels.js +221 -0
  87. package/dist/layout/legend/LegendLayout.svelte +49 -43
  88. package/dist/layout/legend/LegendState.svelte.d.ts +84 -0
  89. package/dist/layout/legend/LegendState.svelte.js +333 -0
  90. package/dist/layout/legend/LegendText.d.ts +12 -0
  91. package/dist/layout/legend/LegendText.js +22 -0
  92. package/dist/layout/legend/SizeSection.svelte +84 -0
  93. package/dist/layout/legend/SizeSection.svelte.d.ts +7 -0
  94. package/dist/layout/legend/SymbolSection.svelte +31 -0
  95. package/dist/layout/legend/SymbolSection.svelte.d.ts +8 -0
  96. package/dist/layout/margins/Box.d.ts +84 -0
  97. package/dist/layout/margins/Box.js +138 -0
  98. package/dist/layout/margins/Margins.d.ts +37 -0
  99. package/dist/layout/margins/Margins.js +71 -0
  100. package/dist/layout/margins/PlotMargins.svelte.d.ts +101 -0
  101. package/dist/layout/margins/PlotMargins.svelte.js +219 -0
  102. package/dist/layout/plot/Core.svelte +61 -0
  103. package/dist/layout/plot/Core.svelte.d.ts +41 -0
  104. package/dist/layout/plot/PanelRun.svelte +28 -0
  105. package/dist/{charts/heatmap/Chart.svelte.d.ts → layout/plot/PanelRun.svelte.d.ts} +11 -7
  106. package/dist/layout/plot/Plot.svelte +287 -0
  107. package/dist/layout/plot/Plot.svelte.d.ts +49 -0
  108. package/dist/layout/plot/PlotContext.d.ts +41 -0
  109. package/dist/layout/plot/PlotContext.js +46 -0
  110. package/dist/layout/plot/PublicPlotContext.d.ts +131 -0
  111. package/dist/layout/plot/PublicPlotContext.js +240 -0
  112. package/dist/layout/plot/Slice.d.ts +44 -0
  113. package/dist/layout/plot/Slice.js +100 -0
  114. package/dist/layout/plot/usePlot.d.ts +9 -0
  115. package/dist/layout/plot/usePlot.js +13 -0
  116. package/dist/layout/scales/EdgeTicks.d.ts +39 -0
  117. package/dist/layout/scales/EdgeTicks.js +82 -0
  118. package/dist/layout/scales/NiceTicks.d.ts +40 -0
  119. package/dist/layout/scales/NiceTicks.js +72 -0
  120. package/dist/layout/scales/ScalesLayout.svelte +275 -206
  121. package/dist/layout/scales/ScalesLayout.svelte.d.ts +7 -1
  122. package/dist/layout/scales/SveltePlotScale.d.ts +15 -0
  123. package/dist/layout/scales/SveltePlotScale.js +79 -0
  124. package/dist/layout/styles/StylesLayout.svelte +65 -65
  125. package/dist/layout/styles/TileLayer.svelte +78 -76
  126. package/dist/layout/styles/TileLayer.svelte.d.ts +1 -1
  127. package/dist/layout/styles/ValueLabels.d.ts +97 -0
  128. package/dist/layout/styles/ValueLabels.js +238 -0
  129. package/dist/layout/timeline/Timeline.svelte +83 -74
  130. package/dist/layout/timeline/Timeline.svelte.d.ts +2 -0
  131. package/dist/layout/timeline/TimelineFrame.svelte +86 -0
  132. package/dist/layout/timeline/TimelineFrame.svelte.d.ts +16 -0
  133. package/dist/layout/timeline/TimelineLayout.svelte +140 -169
  134. package/dist/layout/timeline/TimelineLayout.svelte.d.ts +7 -3
  135. package/dist/layout/timeline/TimelinePlayer.svelte +195 -0
  136. package/dist/layout/timeline/TimelinePlayer.svelte.d.ts +7 -0
  137. package/dist/layout/timeline/TimelineRule.svelte +51 -0
  138. package/dist/layout/timeline/TimelineRule.svelte.d.ts +7 -0
  139. package/dist/layout/timeline/TimelineState.svelte.d.ts +90 -0
  140. package/dist/layout/timeline/TimelineState.svelte.js +260 -0
  141. package/dist/layout/timeline/TimelineSteps.d.ts +24 -0
  142. package/dist/layout/timeline/TimelineSteps.js +48 -0
  143. package/dist/layout/timeline/TimelineTime.d.ts +18 -0
  144. package/dist/layout/timeline/TimelineTime.js +117 -0
  145. package/dist/layout/tooltip/Tooltip.svelte +85 -85
  146. package/dist/layout/tooltip/Tooltip.svelte.d.ts +45 -24
  147. package/dist/layout/tooltip/TooltipState.svelte.d.ts +67 -0
  148. package/dist/layout/tooltip/TooltipState.svelte.js +126 -0
  149. package/dist/markers/MarkerKinds.d.ts +173 -0
  150. package/dist/markers/MarkerKinds.js +51 -0
  151. package/dist/markers/area/AreaMarker.svelte +110 -0
  152. package/dist/markers/area/AreaMarker.svelte.d.ts +7 -0
  153. package/dist/markers/arrow/ArrowMarker.svelte +28 -0
  154. package/dist/markers/arrow/ArrowMarker.svelte.d.ts +7 -0
  155. package/dist/markers/{BarMarker.svelte → bar/BarMarker.svelte} +54 -52
  156. package/dist/markers/{BarMarker.svelte.d.ts → bar/BarMarker.svelte.d.ts} +1 -1
  157. package/dist/markers/bollinger/BollingerMarker.svelte +44 -0
  158. package/dist/markers/bollinger/BollingerMarker.svelte.d.ts +7 -0
  159. package/dist/markers/box/BoxMarker.svelte +143 -0
  160. package/dist/markers/box/BoxMarker.svelte.d.ts +7 -0
  161. package/dist/markers/brush/BrushMarker.svelte +32 -0
  162. package/dist/markers/brush/BrushMarker.svelte.d.ts +7 -0
  163. package/dist/markers/cell/CellMarker.svelte +27 -0
  164. package/dist/markers/{CellMarker.svelte.d.ts → cell/CellMarker.svelte.d.ts} +1 -1
  165. package/dist/markers/contour/ContourClipMarker.svelte +83 -0
  166. package/dist/markers/{ContourClipMarker.svelte.d.ts → contour/ContourClipMarker.svelte.d.ts} +1 -1
  167. package/dist/markers/contour/ContourMarker.svelte +28 -0
  168. package/dist/markers/{ContourMarker.svelte.d.ts → contour/ContourMarker.svelte.d.ts} +1 -1
  169. package/dist/markers/delaunay/DelaunayLinkMarker.svelte +26 -0
  170. package/dist/markers/delaunay/DelaunayLinkMarker.svelte.d.ts +7 -0
  171. package/dist/markers/delaunay/DelaunayMeshMarker.svelte +26 -0
  172. package/dist/markers/delaunay/DelaunayMeshMarker.svelte.d.ts +7 -0
  173. package/dist/markers/delta/Delta.d.ts +21 -0
  174. package/dist/markers/delta/Delta.js +60 -0
  175. package/dist/markers/delta/DeltaMarker.svelte +96 -0
  176. package/dist/markers/{DeltaMarker.svelte.d.ts → delta/DeltaMarker.svelte.d.ts} +2 -2
  177. package/dist/markers/density/DensityMarker.svelte +63 -0
  178. package/dist/markers/density/DensityMarker.svelte.d.ts +7 -0
  179. package/dist/markers/difference/DifferenceMarker.svelte +30 -0
  180. package/dist/markers/difference/DifferenceMarker.svelte.d.ts +7 -0
  181. package/dist/markers/dot/DotMarker.svelte +102 -0
  182. package/dist/markers/{DotMarker.svelte.d.ts → dot/DotMarker.svelte.d.ts} +5 -17
  183. package/dist/markers/geo/GeoFeaturesMarker.svelte +39 -0
  184. package/dist/markers/{GeoFeaturesMarker.svelte.d.ts → geo/GeoFeaturesMarker.svelte.d.ts} +1 -1
  185. package/dist/markers/geo/GeoHoverMarker.svelte +28 -0
  186. package/dist/markers/{GeoHoverMarker.svelte.d.ts → geo/GeoHoverMarker.svelte.d.ts} +2 -2
  187. package/dist/markers/geo/GraticuleMarker.svelte +18 -0
  188. package/dist/markers/{GraticuleMarker.svelte.d.ts → geo/GraticuleMarker.svelte.d.ts} +1 -1
  189. package/dist/markers/geo/SphereMarker.svelte +15 -0
  190. package/dist/markers/{SphereMarker.svelte.d.ts → geo/SphereMarker.svelte.d.ts} +1 -1
  191. package/dist/markers/hover/HoverMarker.svelte +252 -0
  192. package/dist/markers/{HoverMarker.svelte.d.ts → hover/HoverMarker.svelte.d.ts} +10 -10
  193. package/dist/markers/hull/HullMarker.svelte +25 -0
  194. package/dist/markers/hull/HullMarker.svelte.d.ts +7 -0
  195. package/dist/markers/image/ImageMarker.svelte +22 -0
  196. package/dist/markers/image/ImageMarker.svelte.d.ts +7 -0
  197. package/dist/markers/inset/InsetMarker.svelte +184 -150
  198. package/dist/markers/inset/InsetMarker.svelte.d.ts +4 -4
  199. package/dist/markers/inset/insetLayout.d.ts +1 -1
  200. package/dist/markers/inset/insetLayout.js +6 -2
  201. package/dist/markers/inset/insetProjection.d.ts +1 -1
  202. package/dist/markers/inset/insetProjection.js +3 -3
  203. package/dist/markers/line/LineMarker.svelte +30 -0
  204. package/dist/markers/{LineMarker.svelte.d.ts → line/LineMarker.svelte.d.ts} +1 -1
  205. package/dist/markers/link/LinkMarker.svelte +47 -0
  206. package/dist/markers/{LinkMarker.svelte.d.ts → link/LinkMarker.svelte.d.ts} +1 -1
  207. package/dist/markers/raster/RasterMarker.svelte +31 -0
  208. package/dist/markers/raster/RasterMarker.svelte.d.ts +7 -0
  209. package/dist/markers/rect/RectMarker.svelte +62 -0
  210. package/dist/markers/rect/RectMarker.svelte.d.ts +7 -0
  211. package/dist/markers/regression/RegressionMarker.svelte +60 -0
  212. package/dist/markers/regression/RegressionMarker.svelte.d.ts +7 -0
  213. package/dist/markers/rule/RuleMarker.svelte +47 -0
  214. package/dist/markers/{RuleMarker.svelte.d.ts → rule/RuleMarker.svelte.d.ts} +2 -5
  215. package/dist/markers/text/Declutter.d.ts +35 -0
  216. package/dist/markers/text/Declutter.js +157 -0
  217. package/dist/markers/text/TextMarker.svelte +244 -0
  218. package/dist/markers/{TextMarker.svelte.d.ts → text/TextMarker.svelte.d.ts} +5 -9
  219. package/dist/markers/tick/TickMarker.svelte +44 -0
  220. package/dist/markers/tick/TickMarker.svelte.d.ts +7 -0
  221. package/dist/markers/trail/TrailMarker.svelte +27 -0
  222. package/dist/markers/trail/TrailMarker.svelte.d.ts +7 -0
  223. package/dist/markers/utils/BandNudge.d.ts +22 -0
  224. package/dist/markers/utils/BandNudge.js +23 -0
  225. package/dist/markers/utils/MarkerChannels.d.ts +49 -0
  226. package/dist/markers/utils/MarkerChannels.js +97 -0
  227. package/dist/markers/vector/VectorMarker.svelte +29 -0
  228. package/dist/markers/{VectorMarker.svelte.d.ts → vector/VectorMarker.svelte.d.ts} +1 -1
  229. package/dist/markers/voronoi/VoronoiMarker.svelte +26 -0
  230. package/dist/markers/voronoi/VoronoiMarker.svelte.d.ts +7 -0
  231. package/dist/markers/voronoi/VoronoiMeshMarker.svelte +26 -0
  232. package/dist/markers/voronoi/VoronoiMeshMarker.svelte.d.ts +7 -0
  233. package/dist/markers/waffle/WaffleMarker.svelte +56 -0
  234. package/dist/markers/waffle/WaffleMarker.svelte.d.ts +7 -0
  235. package/dist/phases/Pipeline.d.ts +108 -0
  236. package/dist/phases/Pipeline.js +227 -0
  237. package/dist/phases/data/DataPhase.d.ts +19 -0
  238. package/dist/phases/data/DataPhase.js +85 -0
  239. package/dist/phases/data/PlotAxes.d.ts +75 -0
  240. package/dist/phases/data/PlotAxes.js +151 -0
  241. package/dist/phases/facet/FacetPanels.d.ts +54 -0
  242. package/dist/phases/facet/FacetPanels.js +95 -0
  243. package/dist/phases/facet/FacetPhase.d.ts +11 -0
  244. package/dist/phases/facet/FacetPhase.js +28 -0
  245. package/dist/phases/hover/HoverPhase.d.ts +36 -0
  246. package/dist/phases/hover/HoverPhase.js +109 -0
  247. package/dist/phases/mapping/MappingPhase.d.ts +17 -0
  248. package/dist/phases/mapping/MappingPhase.js +40 -0
  249. package/dist/phases/markers/MarkersPhase.d.ts +14 -0
  250. package/dist/phases/markers/MarkersPhase.js +27 -0
  251. package/dist/phases/scales/MarkerAxisValues.d.ts +12 -0
  252. package/dist/phases/scales/MarkerAxisValues.js +34 -0
  253. package/dist/phases/scales/ScalesPhase.d.ts +29 -0
  254. package/dist/phases/scales/ScalesPhase.js +153 -0
  255. package/dist/phases/sharedScales/SharedScalesPhase.d.ts +58 -0
  256. package/dist/phases/sharedScales/SharedScalesPhase.js +171 -0
  257. package/dist/phases/statistics/AuthorMarkers.d.ts +43 -0
  258. package/dist/phases/statistics/AuthorMarkers.js +69 -0
  259. package/dist/phases/statistics/MarkerGrouping.d.ts +48 -0
  260. package/dist/phases/statistics/MarkerGrouping.js +113 -0
  261. package/dist/phases/statistics/Statistics.d.ts +53 -0
  262. package/dist/phases/statistics/Statistics.js +156 -0
  263. package/dist/phases/statistics/StatisticsPhase.d.ts +18 -0
  264. package/dist/phases/statistics/StatisticsPhase.js +67 -0
  265. package/dist/phases/statistics/methods/BollingerStatistic.d.ts +9 -0
  266. package/dist/phases/statistics/methods/BollingerStatistic.js +18 -0
  267. package/dist/phases/statistics/methods/BoxStatistic.d.ts +9 -0
  268. package/dist/phases/statistics/methods/BoxStatistic.js +18 -0
  269. package/dist/phases/statistics/methods/Density2dStatistic.d.ts +9 -0
  270. package/dist/phases/statistics/methods/Density2dStatistic.js +18 -0
  271. package/dist/phases/statistics/methods/DensityStatistic.d.ts +12 -0
  272. package/dist/phases/statistics/methods/DensityStatistic.js +29 -0
  273. package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +12 -0
  274. package/dist/phases/statistics/methods/MovingAverageStatistic.js +30 -0
  275. package/dist/phases/statistics/methods/RegressionStatistic.d.ts +9 -0
  276. package/dist/phases/statistics/methods/RegressionStatistic.js +21 -0
  277. package/dist/phases/styles/StylesPhase.d.ts +13 -0
  278. package/dist/phases/styles/StylesPhase.js +17 -0
  279. package/dist/phases/tooltip/TooltipPhase.d.ts +14 -0
  280. package/dist/phases/tooltip/TooltipPhase.js +17 -0
  281. package/dist/phases/transforms/ProcessedPositions.d.ts +30 -0
  282. package/dist/phases/transforms/ProcessedPositions.js +74 -0
  283. package/dist/phases/transforms/Transforms.d.ts +42 -0
  284. package/dist/phases/transforms/Transforms.js +130 -0
  285. package/dist/phases/transforms/TransformsPhase.d.ts +27 -0
  286. package/dist/phases/transforms/TransformsPhase.js +205 -0
  287. package/dist/phases/transforms/methods/AnchorBar.d.ts +13 -0
  288. package/dist/phases/transforms/methods/AnchorBar.js +21 -0
  289. package/dist/phases/transforms/methods/BinTransform.d.ts +7 -0
  290. package/dist/phases/transforms/methods/BinTransform.js +48 -0
  291. package/dist/phases/transforms/methods/DensityTransform.d.ts +6 -0
  292. package/dist/phases/transforms/methods/DensityTransform.js +13 -0
  293. package/dist/phases/transforms/methods/GroupTransform.d.ts +8 -0
  294. package/dist/phases/transforms/methods/GroupTransform.js +39 -0
  295. package/dist/phases/transforms/methods/NormalizeTransform.d.ts +10 -0
  296. package/dist/phases/transforms/methods/NormalizeTransform.js +30 -0
  297. package/dist/phases/transforms/methods/OrderTransform.d.ts +16 -0
  298. package/dist/phases/transforms/methods/OrderTransform.js +43 -0
  299. package/dist/phases/transforms/methods/PerGroup.d.ts +11 -0
  300. package/dist/phases/transforms/methods/PerGroup.js +39 -0
  301. package/dist/phases/transforms/methods/PositionTransform.d.ts +15 -0
  302. package/dist/phases/transforms/methods/PositionTransform.js +74 -0
  303. package/dist/phases/transforms/methods/StackTransform.d.ts +8 -0
  304. package/dist/phases/transforms/methods/StackTransform.js +29 -0
  305. package/dist/phases/transforms/methods/WindowTransform.d.ts +8 -0
  306. package/dist/phases/transforms/methods/WindowTransform.js +23 -0
  307. package/dist/plots/area/Plot.svelte +42 -0
  308. package/dist/plots/{heatmap/ValueLabels.svelte.d.ts → area/Plot.svelte.d.ts} +8 -16
  309. package/dist/plots/area/defaults.d.ts +4 -0
  310. package/dist/plots/area/defaults.js +21 -0
  311. package/dist/plots/area/markers.d.ts +14 -0
  312. package/dist/plots/area/markers.js +39 -0
  313. package/dist/plots/bar/Plot.svelte +33 -438
  314. package/dist/plots/bar/Plot.svelte.d.ts +5 -8
  315. package/dist/plots/bar/defaults.d.ts +9 -0
  316. package/dist/plots/bar/defaults.js +88 -0
  317. package/dist/plots/bar/markers.d.ts +45 -0
  318. package/dist/plots/bar/markers.js +233 -0
  319. package/dist/plots/box/BoxSummaries.d.ts +19 -0
  320. package/dist/plots/box/BoxSummaries.js +101 -0
  321. package/dist/plots/box/Plot.svelte +42 -0
  322. package/dist/plots/box/Plot.svelte.d.ts +26 -0
  323. package/dist/plots/box/defaults.d.ts +12 -0
  324. package/dist/plots/box/defaults.js +34 -0
  325. package/dist/plots/box/markers.d.ts +12 -0
  326. package/dist/plots/box/markers.js +34 -0
  327. package/dist/plots/geo/Core.svelte +151 -0
  328. package/dist/plots/geo/Core.svelte.d.ts +25 -0
  329. package/dist/plots/geo/Plot.svelte +103 -324
  330. package/dist/plots/geo/Plot.svelte.d.ts +5 -9
  331. package/dist/plots/geo/defaults.d.ts +4 -0
  332. package/dist/plots/geo/defaults.js +16 -0
  333. package/dist/plots/geo/features.svelte.d.ts +5 -0
  334. package/dist/plots/geo/features.svelte.js +44 -0
  335. package/dist/plots/geo/phases/data.d.ts +6 -0
  336. package/dist/plots/geo/phases/data.js +26 -0
  337. package/dist/plots/geo/phases/hover.d.ts +9 -0
  338. package/dist/plots/geo/phases/hover.js +45 -0
  339. package/dist/plots/geo/phases/markers.d.ts +9 -0
  340. package/dist/plots/geo/phases/markers.js +75 -0
  341. package/dist/plots/geo/phases/scales.d.ts +10 -0
  342. package/dist/plots/geo/phases/scales.js +85 -0
  343. package/dist/plots/geo/phases/tooltip.d.ts +3 -0
  344. package/dist/plots/geo/phases/tooltip.js +5 -0
  345. package/dist/plots/geo/slices.d.ts +18 -0
  346. package/dist/plots/geo/slices.js +59 -0
  347. package/dist/plots/heatmap/Plot.svelte +55 -249
  348. package/dist/plots/heatmap/Plot.svelte.d.ts +5 -8
  349. package/dist/plots/heatmap/defaults.d.ts +11 -0
  350. package/dist/plots/heatmap/defaults.js +91 -0
  351. package/dist/plots/heatmap/markers.d.ts +17 -0
  352. package/dist/plots/heatmap/markers.js +142 -0
  353. package/dist/plots/histogram/Plot.svelte +45 -0
  354. package/dist/plots/histogram/Plot.svelte.d.ts +26 -0
  355. package/dist/plots/histogram/defaults.d.ts +9 -0
  356. package/dist/plots/histogram/defaults.js +87 -0
  357. package/dist/plots/histogram/markers.d.ts +18 -0
  358. package/dist/plots/histogram/markers.js +89 -0
  359. package/dist/plots/line/Plot.svelte +37 -268
  360. package/dist/plots/line/Plot.svelte.d.ts +3 -7
  361. package/dist/plots/line/defaults.d.ts +4 -0
  362. package/dist/plots/line/defaults.js +29 -0
  363. package/dist/plots/line/markers.d.ts +49 -0
  364. package/dist/plots/line/markers.js +199 -0
  365. package/dist/plots/pyramid/Plot.svelte +34 -362
  366. package/dist/plots/pyramid/Plot.svelte.d.ts +5 -8
  367. package/dist/plots/pyramid/defaults.d.ts +13 -0
  368. package/dist/plots/pyramid/defaults.js +87 -0
  369. package/dist/plots/pyramid/markers.d.ts +21 -0
  370. package/dist/plots/pyramid/markers.js +156 -0
  371. package/dist/plots/scatter/Plot.svelte +34 -288
  372. package/dist/plots/scatter/Plot.svelte.d.ts +5 -8
  373. package/dist/plots/scatter/defaults.d.ts +4 -0
  374. package/dist/plots/scatter/defaults.js +80 -0
  375. package/dist/plots/scatter/markers.d.ts +19 -0
  376. package/dist/plots/scatter/markers.js +129 -0
  377. package/dist/plots/utils/ChannelName.d.ts +9 -0
  378. package/dist/plots/utils/ChannelName.js +14 -0
  379. package/dist/plots/utils/accessors.d.ts +1 -1
  380. package/dist/plots/utils/accessors.js +4 -2
  381. package/dist/plots/utils/gaps.d.ts +14 -19
  382. package/dist/plots/utils/gaps.js +38 -18
  383. package/dist/plots/utils/geoAccessors.d.ts +8 -8
  384. package/dist/plots/utils/geoAccessors.js +16 -12
  385. package/dist/plots/utils/geoSegments.d.ts +24 -9
  386. package/dist/plots/utils/geoSegments.js +31 -11
  387. package/dist/plots/utils/segments.d.ts +5 -16
  388. package/dist/plots/utils/segments.js +40 -52
  389. package/dist/plots/utils/tiles.d.ts +9 -9
  390. package/dist/plots/utils/tiles.js +35 -25
  391. package/dist/plots/utils/topojson.d.ts +1 -1
  392. package/dist/plots/utils/topojson.js +3 -3
  393. package/dist/stores/device.js +2 -4
  394. package/dist/types/configuration/styling.d.ts +174 -27
  395. package/dist/types/layout/box.d.ts +24 -0
  396. package/dist/types/layout/composer.d.ts +39 -0
  397. package/dist/types/layout/coordinates.d.ts +14 -14
  398. package/dist/types/layout/facet.d.ts +44 -22
  399. package/dist/types/layout/figure.d.ts +7 -0
  400. package/dist/types/layout/geometry.d.ts +6 -2
  401. package/dist/types/layout/grid.d.ts +66 -0
  402. package/dist/types/layout/hover.d.ts +48 -0
  403. package/dist/types/layout/legend.d.ts +256 -55
  404. package/dist/types/layout/mapping.d.ts +68 -0
  405. package/dist/types/layout/plot.d.ts +41 -0
  406. package/dist/types/layout/scales.d.ts +108 -24
  407. package/dist/types/layout/scales.js +19 -1
  408. package/dist/types/layout/statistics/bollinger.d.ts +18 -0
  409. package/dist/types/layout/statistics/box.d.ts +8 -0
  410. package/dist/types/layout/statistics/box.js +1 -0
  411. package/dist/types/layout/statistics/density.d.ts +27 -0
  412. package/dist/types/layout/statistics/density.js +1 -0
  413. package/dist/types/layout/statistics/index.d.ts +46 -0
  414. package/dist/types/layout/statistics/index.js +1 -0
  415. package/dist/types/layout/statistics/movingAverage.d.ts +12 -0
  416. package/dist/types/layout/statistics/movingAverage.js +1 -0
  417. package/dist/types/layout/statistics/regression.d.ts +20 -0
  418. package/dist/types/layout/statistics/regression.js +1 -0
  419. package/dist/types/layout/styles.d.ts +24 -35
  420. package/dist/types/layout/timeline.d.ts +62 -6
  421. package/dist/types/layout/tooltip.d.ts +7 -85
  422. package/dist/types/markers/all.d.ts +3 -4
  423. package/dist/types/markers/axis/area.d.ts +12 -0
  424. package/dist/types/markers/axis/area.js +1 -0
  425. package/dist/types/markers/axis/arrow.d.ts +15 -0
  426. package/dist/types/markers/axis/arrow.js +1 -0
  427. package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +29 -0
  428. package/dist/types/markers/axis/axisBasedMarkersConfig.js +1 -0
  429. package/dist/types/markers/axis/bar.d.ts +18 -0
  430. package/dist/types/markers/axis/bar.js +1 -0
  431. package/dist/types/markers/axis/bollinger.d.ts +6 -0
  432. package/dist/types/markers/axis/bollinger.js +1 -0
  433. package/dist/types/markers/axis/box.d.ts +14 -0
  434. package/dist/types/markers/axis/box.js +1 -0
  435. package/dist/types/markers/axis/brush.d.ts +28 -0
  436. package/dist/types/markers/axis/brush.js +1 -0
  437. package/dist/types/markers/axis/cell.d.ts +9 -0
  438. package/dist/types/markers/axis/cell.js +1 -0
  439. package/dist/types/markers/axis/component.d.ts +9 -0
  440. package/dist/types/markers/axis/component.js +1 -0
  441. package/dist/types/markers/axis/curveName.d.ts +2 -0
  442. package/dist/types/markers/axis/curveName.js +1 -0
  443. package/dist/types/markers/axis/delaunayLink.d.ts +7 -0
  444. package/dist/types/markers/axis/delaunayLink.js +1 -0
  445. package/dist/types/markers/axis/delaunayMesh.d.ts +7 -0
  446. package/dist/types/markers/axis/delaunayMesh.js +1 -0
  447. package/dist/types/markers/axis/delta.d.ts +27 -0
  448. package/dist/types/markers/axis/delta.js +1 -0
  449. package/dist/types/markers/axis/density.d.ts +12 -0
  450. package/dist/types/markers/axis/density.js +1 -0
  451. package/dist/types/markers/axis/difference.d.ts +12 -0
  452. package/dist/types/markers/axis/difference.js +1 -0
  453. package/dist/types/markers/axis/hover.d.ts +21 -0
  454. package/dist/types/markers/axis/hover.js +1 -0
  455. package/dist/types/markers/axis/hull.d.ts +7 -0
  456. package/dist/types/markers/axis/hull.js +1 -0
  457. package/dist/types/markers/axis/image.d.ts +12 -0
  458. package/dist/types/markers/axis/image.js +1 -0
  459. package/dist/types/markers/axis/line.d.ts +7 -0
  460. package/dist/types/markers/axis/line.js +1 -0
  461. package/dist/types/markers/axis/raster.d.ts +18 -0
  462. package/dist/types/markers/axis/raster.js +1 -0
  463. package/dist/types/markers/axis/rect.d.ts +15 -0
  464. package/dist/types/markers/axis/rect.js +1 -0
  465. package/dist/types/markers/axis/regression.d.ts +6 -0
  466. package/dist/types/markers/axis/regression.js +1 -0
  467. package/dist/types/markers/axis/rule.d.ts +15 -0
  468. package/dist/types/markers/axis/rule.js +1 -0
  469. package/dist/types/markers/axis/tick.d.ts +8 -0
  470. package/dist/types/markers/axis/tick.js +1 -0
  471. package/dist/types/markers/axis/trail.d.ts +14 -0
  472. package/dist/types/markers/axis/trail.js +1 -0
  473. package/dist/types/markers/axis/voronoi.d.ts +7 -0
  474. package/dist/types/markers/axis/voronoi.js +1 -0
  475. package/dist/types/markers/axis/voronoiMesh.d.ts +7 -0
  476. package/dist/types/markers/axis/voronoiMesh.js +1 -0
  477. package/dist/types/markers/axis/waffle.d.ts +13 -0
  478. package/dist/types/markers/axis/waffle.js +1 -0
  479. package/dist/types/markers/basic/basicMarkersConfig.d.ts +4 -0
  480. package/dist/types/markers/basic/basicMarkersConfig.js +1 -0
  481. package/dist/types/markers/basic/dot.d.ts +9 -0
  482. package/dist/types/markers/basic/dot.js +1 -0
  483. package/dist/types/markers/basic/text.d.ts +60 -0
  484. package/dist/types/markers/basic/text.js +1 -0
  485. package/dist/types/markers/basic.d.ts +4 -0
  486. package/dist/types/markers/basic.js +1 -0
  487. package/dist/types/markers/channels/commonMarkerConfig.d.ts +26 -0
  488. package/dist/types/markers/channels/commonMarkerConfig.js +1 -0
  489. package/dist/types/markers/channels/commonMarkerConfigWithArea.d.ts +6 -0
  490. package/dist/types/markers/channels/commonMarkerConfigWithArea.js +1 -0
  491. package/dist/types/markers/channels/commonMarkerConfigWithColor.d.ts +5 -0
  492. package/dist/types/markers/channels/commonMarkerConfigWithColor.js +1 -0
  493. package/dist/types/markers/channels/commonMarkerConfigWithInterval.d.ts +9 -0
  494. package/dist/types/markers/channels/commonMarkerConfigWithInterval.js +1 -0
  495. package/dist/types/markers/channels/commonMarkerConfigWithRadius.d.ts +5 -0
  496. package/dist/types/markers/channels/commonMarkerConfigWithRadius.js +1 -0
  497. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.d.ts +5 -0
  498. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.js +1 -0
  499. package/dist/types/markers/channels/commonMarkerConfigWithWeight.d.ts +5 -0
  500. package/dist/types/markers/channels/commonMarkerConfigWithWeight.js +1 -0
  501. package/dist/types/markers/common.d.ts +30 -103
  502. package/dist/types/markers/common.js +29 -1
  503. package/dist/types/markers/geo/contour.d.ts +27 -0
  504. package/dist/types/markers/geo/contour.js +1 -0
  505. package/dist/types/markers/geo/features.d.ts +12 -0
  506. package/dist/types/markers/geo/features.js +1 -0
  507. package/dist/types/markers/geo/geoComponent.d.ts +7 -0
  508. package/dist/types/markers/geo/geoComponent.js +1 -0
  509. package/dist/types/markers/geo/geoHover.d.ts +6 -0
  510. package/dist/types/markers/geo/geoHover.js +1 -0
  511. package/dist/types/markers/geo/geoMarkersConfig.d.ts +11 -0
  512. package/dist/types/markers/geo/geoMarkersConfig.js +1 -0
  513. package/dist/types/markers/geo/graticule.d.ts +11 -0
  514. package/dist/types/markers/geo/graticule.js +1 -0
  515. package/dist/types/markers/geo/inset.d.ts +50 -0
  516. package/dist/types/markers/geo/inset.js +1 -0
  517. package/dist/types/markers/geo/link.d.ts +13 -0
  518. package/dist/types/markers/geo/link.js +1 -0
  519. package/dist/types/markers/geo/sphere.d.ts +11 -0
  520. package/dist/types/markers/geo/sphere.js +1 -0
  521. package/dist/types/markers/geo/vector.d.ts +17 -0
  522. package/dist/types/markers/geo/vector.js +1 -0
  523. package/dist/types/markers/geo.d.ts +10 -212
  524. package/dist/types/markers/geo.js +10 -1
  525. package/dist/types/markers/traits.d.ts +22 -0
  526. package/dist/types/markers/traits.js +1 -0
  527. package/dist/types/misc/easing.js +1 -0
  528. package/dist/types/misc/viewport.js +1 -0
  529. package/dist/types/phases/data/axes.d.ts +18 -0
  530. package/dist/types/phases/data/axes.js +1 -0
  531. package/dist/types/phases/data/phase.d.ts +26 -0
  532. package/dist/types/phases/data/phase.js +2 -0
  533. package/dist/types/phases/facet/phase.d.ts +18 -0
  534. package/dist/types/phases/facet/phase.js +1 -0
  535. package/dist/types/phases/hover/phase.d.ts +40 -0
  536. package/dist/types/phases/hover/phase.js +1 -0
  537. package/dist/types/phases/index.d.ts +14 -0
  538. package/dist/types/phases/index.js +1 -0
  539. package/dist/types/phases/kind.d.ts +59 -0
  540. package/dist/types/phases/kind.js +1 -0
  541. package/dist/types/phases/mapping/phase.d.ts +5 -0
  542. package/dist/types/phases/mapping/phase.js +1 -0
  543. package/dist/types/phases/markers/phase.d.ts +13 -0
  544. package/dist/types/phases/markers/phase.js +1 -0
  545. package/dist/types/phases/pipeline.d.ts +10 -0
  546. package/dist/types/phases/pipeline.js +1 -0
  547. package/dist/types/phases/scales/phase.d.ts +26 -0
  548. package/dist/types/phases/scales/phase.js +1 -0
  549. package/dist/types/phases/sharedScales/phase.d.ts +12 -0
  550. package/dist/types/phases/sharedScales/phase.js +1 -0
  551. package/dist/types/phases/stage.d.ts +12 -0
  552. package/dist/types/phases/stage.js +1 -0
  553. package/dist/types/phases/state.d.ts +76 -0
  554. package/dist/types/phases/state.js +1 -0
  555. package/dist/types/phases/statistics/phase.d.ts +43 -0
  556. package/dist/types/phases/statistics/phase.js +1 -0
  557. package/dist/types/phases/statistics/source.d.ts +20 -0
  558. package/dist/types/phases/statistics/source.js +7 -0
  559. package/dist/types/phases/styles/phase.d.ts +24 -0
  560. package/dist/types/phases/styles/phase.js +1 -0
  561. package/dist/types/phases/transforms/adapter.d.ts +27 -0
  562. package/dist/types/phases/transforms/adapter.js +1 -0
  563. package/dist/types/phases/transforms/phase.d.ts +50 -0
  564. package/dist/types/phases/transforms/phase.js +1 -0
  565. package/dist/types/plots/area/props.d.ts +10 -0
  566. package/dist/types/plots/area/props.js +1 -0
  567. package/dist/types/plots/area/state.d.ts +6 -0
  568. package/dist/types/plots/area/state.js +1 -0
  569. package/dist/types/plots/bar/props.d.ts +10 -0
  570. package/dist/types/plots/bar/props.js +1 -0
  571. package/dist/types/plots/bar/state.d.ts +6 -0
  572. package/dist/types/plots/bar/state.js +1 -0
  573. package/dist/types/plots/box/props.d.ts +10 -0
  574. package/dist/types/plots/box/props.js +1 -0
  575. package/dist/types/plots/box/state.d.ts +23 -0
  576. package/dist/types/plots/box/state.js +1 -0
  577. package/dist/types/plots/camera.d.ts +7 -17
  578. package/dist/types/plots/constants.d.ts +16 -8
  579. package/dist/types/plots/data/common.d.ts +25 -17
  580. package/dist/types/plots/data/geo.d.ts +26 -12
  581. package/dist/types/plots/gaps.d.ts +19 -38
  582. package/dist/types/plots/geo/props.d.ts +23 -0
  583. package/dist/types/plots/geo/props.js +1 -0
  584. package/dist/types/plots/geo/state.d.ts +82 -0
  585. package/dist/types/plots/geo/state.js +1 -0
  586. package/dist/types/plots/heatmap/props.d.ts +10 -0
  587. package/dist/types/plots/heatmap/props.js +1 -0
  588. package/dist/types/plots/heatmap/state.d.ts +28 -0
  589. package/dist/types/plots/heatmap/state.js +1 -0
  590. package/dist/types/plots/histogram/props.d.ts +18 -0
  591. package/dist/types/plots/histogram/props.js +1 -0
  592. package/dist/types/plots/histogram/state.d.ts +6 -0
  593. package/dist/types/plots/histogram/state.js +1 -0
  594. package/dist/types/plots/line/props.d.ts +10 -0
  595. package/dist/types/plots/line/props.js +1 -0
  596. package/dist/types/plots/line/state.d.ts +9 -0
  597. package/dist/types/plots/line/state.js +1 -0
  598. package/dist/types/plots/props.d.ts +145 -35
  599. package/dist/types/plots/pyramid/props.d.ts +10 -0
  600. package/dist/types/plots/pyramid/props.js +1 -0
  601. package/dist/types/plots/pyramid/state.d.ts +16 -0
  602. package/dist/types/plots/pyramid/state.js +1 -0
  603. package/dist/types/plots/scatter/props.d.ts +10 -0
  604. package/dist/types/plots/scatter/props.js +1 -0
  605. package/dist/types/plots/scatter/state.d.ts +6 -0
  606. package/dist/types/plots/scatter/state.js +1 -0
  607. package/dist/types/plots/segments/common.d.ts +1 -1
  608. package/dist/types/plots/segments/config.d.ts +12 -6
  609. package/dist/types/plots/styling.d.ts +5 -5
  610. package/dist/types/transforms/bin.d.ts +84 -0
  611. package/dist/types/transforms/bin.js +28 -0
  612. package/dist/types/transforms/bollinger.d.ts +21 -0
  613. package/dist/types/transforms/bollinger.js +1 -0
  614. package/dist/types/transforms/common.d.ts +29 -0
  615. package/dist/types/transforms/common.js +16 -0
  616. package/dist/types/transforms/density.d.ts +45 -0
  617. package/dist/types/transforms/density.js +10 -0
  618. package/dist/types/transforms/filter.d.ts +12 -0
  619. package/dist/types/transforms/filter.js +14 -0
  620. package/dist/types/transforms/group.d.ts +70 -0
  621. package/dist/types/transforms/group.js +8 -0
  622. package/dist/types/transforms/index.d.ts +36 -0
  623. package/dist/types/transforms/index.js +1 -0
  624. package/dist/types/transforms/interval.d.ts +21 -0
  625. package/dist/types/transforms/interval.js +14 -0
  626. package/dist/types/transforms/jitter.d.ts +34 -0
  627. package/dist/types/transforms/jitter.js +1 -0
  628. package/dist/types/transforms/map.d.ts +24 -0
  629. package/dist/types/transforms/map.js +1 -0
  630. package/dist/types/transforms/normalize.d.ts +36 -0
  631. package/dist/types/transforms/normalize.js +1 -0
  632. package/dist/types/transforms/select.d.ts +15 -0
  633. package/dist/types/transforms/select.js +1 -0
  634. package/dist/types/transforms/shift.d.ts +20 -0
  635. package/dist/types/transforms/shift.js +1 -0
  636. package/dist/types/transforms/sort.d.ts +31 -0
  637. package/dist/types/transforms/sort.js +14 -0
  638. package/dist/types/transforms/stack.d.ts +64 -0
  639. package/dist/types/transforms/stack.js +12 -0
  640. package/dist/types/transforms/window.d.ts +29 -0
  641. package/dist/types/transforms/window.js +1 -0
  642. package/dist/utils/ContinuousDomain.d.ts +12 -0
  643. package/dist/utils/ContinuousDomain.js +19 -0
  644. package/dist/utils/Interpolation.d.ts +26 -0
  645. package/dist/utils/Interpolation.js +65 -0
  646. package/dist/utils/{color.d.ts → color/contrast.d.ts} +0 -5
  647. package/dist/utils/color/contrast.js +40 -0
  648. package/dist/utils/color/cssColor.d.ts +4 -0
  649. package/dist/utils/color/cssColor.js +77 -0
  650. package/dist/utils/color/index.d.ts +3 -0
  651. package/dist/utils/color/index.js +3 -0
  652. package/dist/utils/color/ramp.d.ts +17 -0
  653. package/dist/utils/color/ramp.js +110 -0
  654. package/dist/utils/grouping.d.ts +9 -5
  655. package/dist/utils/grouping.js +19 -10
  656. package/dist/utils/merge.d.ts +7 -0
  657. package/dist/utils/merge.js +17 -0
  658. package/dist/utils/opacity.d.ts +9 -0
  659. package/dist/utils/opacity.js +38 -0
  660. package/dist/utils/symbol.d.ts +31 -0
  661. package/dist/utils/symbol.js +92 -0
  662. package/docs/architecture.md +137 -0
  663. package/docs/chrome.md +99 -0
  664. package/docs/composer.md +69 -0
  665. package/docs/concepts.md +99 -0
  666. package/docs/development.md +103 -0
  667. package/docs/facets.md +123 -0
  668. package/docs/geo.md +151 -0
  669. package/docs/getting-started.md +78 -0
  670. package/docs/legend.md +153 -0
  671. package/docs/markers.md +117 -0
  672. package/docs/plots.md +284 -0
  673. package/docs/scales.md +95 -0
  674. package/docs/state.md +71 -0
  675. package/docs/styles-and-segments.md +269 -0
  676. package/docs/theming.md +226 -0
  677. package/docs/timeline.md +128 -0
  678. package/docs/tooltip-and-hover.md +128 -0
  679. package/docs/transforms-and-statistics.md +118 -0
  680. package/examples/BarValues.svelte +14 -0
  681. package/examples/Box.svelte +7 -0
  682. package/examples/Chrome.svelte +17 -0
  683. package/examples/ChromeOrder.svelte +18 -0
  684. package/examples/Composer.svelte +23 -0
  685. package/examples/CustomTooltip.svelte +44 -0
  686. package/examples/Facets.svelte +15 -0
  687. package/examples/FacetsCarousel.svelte +14 -0
  688. package/examples/FacetsRowsCols.svelte +23 -0
  689. package/examples/FirstPlot.svelte +7 -0
  690. package/examples/Gaps.svelte +21 -0
  691. package/examples/GroupedBars.svelte +15 -0
  692. package/examples/Heatmap.svelte +7 -0
  693. package/examples/HeatmapSegments.svelte +26 -0
  694. package/examples/Histogram.svelte +14 -0
  695. package/examples/HorizontalBars.svelte +15 -0
  696. package/examples/LegendReader.svelte +8 -0
  697. package/examples/LegendSections.svelte +27 -0
  698. package/examples/LegendToggle.svelte +25 -0
  699. package/examples/LineByRegion.svelte +18 -0
  700. package/examples/LineDates.svelte +15 -0
  701. package/examples/Markers.svelte +27 -0
  702. package/examples/MovingAverage.svelte +15 -0
  703. package/examples/Pyramid.svelte +7 -0
  704. package/examples/Regression.svelte +14 -0
  705. package/examples/ResponsiveLine.svelte +37 -0
  706. package/examples/Scales.svelte +26 -0
  707. package/examples/Scatter.svelte +16 -0
  708. package/examples/SegmentHighlight.svelte +22 -0
  709. package/examples/Segments.svelte +25 -0
  710. package/examples/SegmentsBySeries.svelte +25 -0
  711. package/examples/StackedArea.svelte +16 -0
  712. package/examples/StackedBars.svelte +15 -0
  713. package/examples/TimelinePlayer.svelte +21 -0
  714. package/examples/TimelineRule.svelte +19 -0
  715. package/examples/Tooltip.svelte +19 -0
  716. package/examples/TooltipCard.svelte +86 -0
  717. package/examples/ValueLabels.svelte +21 -0
  718. package/examples/data.ts +324 -0
  719. package/llms-full.txt +142 -0
  720. package/llms.txt +77 -0
  721. package/package.json +42 -5
  722. package/dist/charts/BaseChart.svelte +0 -149
  723. package/dist/charts/BaseChart.svelte.d.ts +0 -47
  724. package/dist/charts/bar/Chart.svelte +0 -110
  725. package/dist/charts/bar/Chart.svelte.d.ts +0 -26
  726. package/dist/charts/container/ChartContainer.svelte +0 -137
  727. package/dist/charts/container/ChartContainer.svelte.d.ts +0 -16
  728. package/dist/charts/heatmap/Chart.svelte +0 -114
  729. package/dist/charts/line/Chart.svelte +0 -112
  730. package/dist/charts/line/Chart.svelte.d.ts +0 -26
  731. package/dist/charts/pyramid/Chart.svelte +0 -134
  732. package/dist/charts/pyramid/Chart.svelte.d.ts +0 -30
  733. package/dist/charts/scatter/Chart.svelte +0 -95
  734. package/dist/charts/scatter/Chart.svelte.d.ts +0 -28
  735. package/dist/layout/coordinates/margins.d.ts +0 -16
  736. package/dist/layout/coordinates/margins.js +0 -11
  737. package/dist/layout/legend/interaction.svelte.d.ts +0 -15
  738. package/dist/layout/legend/interaction.svelte.js +0 -32
  739. package/dist/layout/plot/BasePlotLayout.svelte +0 -332
  740. package/dist/layout/plot/BasePlotLayout.svelte.d.ts +0 -122
  741. package/dist/layout/plot/margins.d.ts +0 -18
  742. package/dist/layout/plot/margins.js +0 -15
  743. package/dist/layout/plot/measureText.d.ts +0 -4
  744. package/dist/layout/plot/measureText.js +0 -19
  745. package/dist/layout/scales/buildScale.d.ts +0 -25
  746. package/dist/layout/scales/buildScale.js +0 -90
  747. package/dist/layout/scales/niceDomain.d.ts +0 -23
  748. package/dist/layout/scales/niceDomain.js +0 -59
  749. package/dist/layout/tooltip/TooltipLayout.svelte +0 -51
  750. package/dist/layout/tooltip/TooltipLayout.svelte.d.ts +0 -45
  751. package/dist/layout/tooltip/controller.svelte.d.ts +0 -61
  752. package/dist/layout/tooltip/controller.svelte.js +0 -173
  753. package/dist/layout/tooltip/hover.svelte.d.ts +0 -7
  754. package/dist/layout/tooltip/hover.svelte.js +0 -28
  755. package/dist/layout/tooltip/resolveTooltipPlacement.d.ts +0 -24
  756. package/dist/layout/tooltip/resolveTooltipPlacement.js +0 -49
  757. package/dist/layout/tooltip/utils.d.ts +0 -49
  758. package/dist/layout/tooltip/utils.js +0 -82
  759. package/dist/markers/CellMarker.svelte +0 -21
  760. package/dist/markers/ContourClipMarker.svelte +0 -77
  761. package/dist/markers/ContourMarker.svelte +0 -28
  762. package/dist/markers/DeltaMarker.svelte +0 -109
  763. package/dist/markers/DotMarker.svelte +0 -70
  764. package/dist/markers/GeoFeaturesMarker.svelte +0 -19
  765. package/dist/markers/GeoHoverMarker.svelte +0 -25
  766. package/dist/markers/GraticuleMarker.svelte +0 -18
  767. package/dist/markers/HoverMarker.svelte +0 -212
  768. package/dist/markers/LineMarker.svelte +0 -19
  769. package/dist/markers/LinkMarker.svelte +0 -42
  770. package/dist/markers/PeakMarker.svelte +0 -80
  771. package/dist/markers/PeakMarker.svelte.d.ts +0 -13
  772. package/dist/markers/RuleMarker.svelte +0 -24
  773. package/dist/markers/SphereMarker.svelte +0 -15
  774. package/dist/markers/TextMarker.svelte +0 -62
  775. package/dist/markers/VectorMarker.svelte +0 -20
  776. package/dist/plots/bar/ValueLabels.svelte +0 -149
  777. package/dist/plots/bar/ValueLabels.svelte.d.ts +0 -58
  778. package/dist/plots/bar/buildBarMarkers.d.ts +0 -27
  779. package/dist/plots/bar/buildBarMarkers.js +0 -151
  780. package/dist/plots/bar/hoverPoints.d.ts +0 -15
  781. package/dist/plots/bar/hoverPoints.js +0 -37
  782. package/dist/plots/bar/layout.svelte.d.ts +0 -42
  783. package/dist/plots/bar/layout.svelte.js +0 -182
  784. package/dist/plots/geo/buildGeoMarkers.d.ts +0 -33
  785. package/dist/plots/geo/buildGeoMarkers.js +0 -47
  786. package/dist/plots/heatmap/ValueLabels.svelte +0 -56
  787. package/dist/plots/heatmap/buildCellMarkers.d.ts +0 -21
  788. package/dist/plots/heatmap/buildCellMarkers.js +0 -25
  789. package/dist/plots/line/ValueLabels.svelte +0 -269
  790. package/dist/plots/line/ValueLabels.svelte.d.ts +0 -52
  791. package/dist/plots/line/buildGapMarkers.d.ts +0 -28
  792. package/dist/plots/line/buildGapMarkers.js +0 -74
  793. package/dist/plots/line/buildLineMarkers.d.ts +0 -16
  794. package/dist/plots/line/buildLineMarkers.js +0 -56
  795. package/dist/plots/line/valueLabelMargin.d.ts +0 -19
  796. package/dist/plots/line/valueLabelMargin.js +0 -65
  797. package/dist/plots/pyramid/ValueLabels.svelte +0 -139
  798. package/dist/plots/pyramid/ValueLabels.svelte.d.ts +0 -56
  799. package/dist/plots/pyramid/buildPyramidBarMarkers.d.ts +0 -26
  800. package/dist/plots/pyramid/buildPyramidBarMarkers.js +0 -72
  801. package/dist/plots/scatter/ValueLabels.svelte +0 -163
  802. package/dist/plots/scatter/ValueLabels.svelte.d.ts +0 -52
  803. package/dist/plots/scatter/buildScatterMarkers.d.ts +0 -12
  804. package/dist/plots/scatter/buildScatterMarkers.js +0 -36
  805. package/dist/plots/scatter/resolveRadiusPaddedDomain.d.ts +0 -10
  806. package/dist/plots/scatter/resolveRadiusPaddedDomain.js +0 -23
  807. package/dist/plots/utils/categoricalAxisMargin.d.ts +0 -14
  808. package/dist/plots/utils/categoricalAxisMargin.js +0 -20
  809. package/dist/plots/utils/declutter.d.ts +0 -120
  810. package/dist/plots/utils/declutter.js +0 -240
  811. package/dist/plots/utils/labelOverflow.svelte.d.ts +0 -107
  812. package/dist/plots/utils/labelOverflow.svelte.js +0 -257
  813. package/dist/plots/utils/legendDisabled.d.ts +0 -27
  814. package/dist/plots/utils/legendDisabled.js +0 -68
  815. package/dist/plots/utils/valueLabelMargin.d.ts +0 -67
  816. package/dist/plots/utils/valueLabelMargin.js +0 -60
  817. package/dist/types/charts/common.d.ts +0 -22
  818. package/dist/types/charts/props.d.ts +0 -50
  819. package/dist/types/markers/base.d.ts +0 -45
  820. package/dist/types/markers/line.d.ts +0 -34
  821. package/dist/types/markers/props.d.ts +0 -11
  822. package/dist/types/plots/data/scatter.d.ts +0 -13
  823. package/dist/utils/color.js +0 -141
  824. package/dist/utils/delta.d.ts +0 -12
  825. package/dist/utils/delta.js +0 -69
  826. package/dist/utils/edgeAwareAnchor.d.ts +0 -34
  827. package/dist/utils/edgeAwareAnchor.js +0 -60
  828. package/dist/utils/interpolate.d.ts +0 -31
  829. package/dist/utils/interpolate.js +0 -71
  830. /package/dist/types/{charts/common.js → layout/box.js} +0 -0
  831. /package/dist/types/{charts/interpolate.js → layout/composer.js} +0 -0
  832. /package/dist/types/{charts/props.js → layout/figure.js} +0 -0
  833. /package/dist/types/{markers/base.js → layout/grid.js} +0 -0
  834. /package/dist/types/{markers/line.js → layout/hover.js} +0 -0
  835. /package/dist/types/{markers/props.js → layout/mapping.js} +0 -0
  836. /package/dist/types/{plots/data/scatter.js → layout/plot.js} +0 -0
  837. /package/dist/types/{viewport.js → layout/statistics/bollinger.js} +0 -0
  838. /package/dist/types/{charts/interpolate.d.ts → misc/easing.d.ts} +0 -0
  839. /package/dist/types/{viewport.d.ts → misc/viewport.d.ts} +0 -0
@@ -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
+ };
@@ -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,115 @@ 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
+ /** The resolved tooltip: its `format`, and the order its text reads the rows in (a `content` snippet gets them as matched). */
52
+ tooltip?: TooltipConfig<TRow> & {
53
+ format: (row: TRow) => string;
54
+ sort?: (a: TRow, b: TRow) => number;
55
+ };
56
+ /** 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
57
  exclude?: (e: PointerEvent) => boolean;
56
- /** How to resolve a pointer event to a candidate point — see {@link PointMatchingStrategy}. Defaults to `'nearest'`. */
58
+ /** How to resolve a pointer event to a candidate point - see {@link PointMatchingStrategy}. Defaults to `'nearest'`. */
57
59
  pointMatching?: PointMatchingStrategy;
58
60
  /** Forces the crosshair rule(s) a `hover` marker draws off entirely, overriding whatever `strategy` implies. */
59
61
  crosshair?: boolean;
60
62
  };
63
+ /** The `scales` prop of any plot kind. */
64
+ export type ScalesConfig<TData = Record<string, unknown>> = AxisBasedScalesConfig<TData> | GeoScalesConfig;
61
65
  /**
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.
66
+ * A block a plot's chrome draws, `plot` for the plot itself, `timeline` for
67
+ * its timeline when that's a player bar, or `divider` for a line between two
68
+ * blocks, styled by the configuration's `divider`.
65
69
  */
66
- export type ScalesConfig<TData = Record<string, unknown>> = AxisBasedScalesConfig<TData> | GeoScalesConfig;
70
+ export type PlotChromeItem = 'title' | 'subtitle' | 'header' | 'legend' | 'plot' | 'caption' | 'footer' | 'timeline' | 'divider';
71
+ /**
72
+ * Two or three blocks drawn side by side in one row of the chrome, written as
73
+ * `'(plot, timeline)'`. The `plot` takes the width the others leave, and the
74
+ * others take as much as they need; a row without a `plot` shares its width
75
+ * among its blocks, none of them stretching.
76
+ */
77
+ export type PlotChromeRow<TItem extends string = Exclude<PlotChromeItem, 'divider'>> = `(${TItem}, ${TItem})` | `(${TItem}, ${TItem}, ${TItem})`;
78
+ /** One entry of a chrome `order`: a block, or a row of blocks. */
79
+ export type PlotChromeEntry = PlotChromeItem | PlotChromeRow;
80
+ /**
81
+ * What's drawn around a figure, as `Figure` and `FigureChrome` read it: every block
82
+ * optional, `header` drawn instead of `title`/`subtitle` and `footer` instead
83
+ * of `caption`. `order` lists the blocks top to bottom (by default, the
84
+ * configuration's `chrome.order`); one left out isn't drawn, except `plot`, which then
85
+ * goes last. Any number of `divider`s may sit in it, each drawn only between
86
+ * two drawn blocks.
87
+ */
88
+ export type PlotChromeConfig = {
89
+ title?: string;
90
+ subtitle?: string;
91
+ caption?: string;
92
+ header?: Snippet;
93
+ footer?: Snippet;
94
+ /**
95
+ * The figure's legend: unset or `true`, the one its plots read as - their
96
+ * series, scales, and the segments and markers that name themselves; `false`,
97
+ * none; a list of sections, exactly those; `{ items, sections }`, the
98
+ * automatic one with those added, and `{ series, color, opacity, size,
99
+ * symbol }`, with the section of each channel adjusted (see {@link LegendExtension}).
100
+ */
101
+ legend?: LegendSection[] | LegendExtension | boolean;
102
+ order?: PlotChromeEntry[];
103
+ };
104
+ /**
105
+ * One way to fill part of the chrome, and the `order` items it allows. A block
106
+ * that's passed may still be `undefined` at runtime: it's then just not drawn.
107
+ */
108
+ type ChromeBlock<TProps, TItem extends PlotChromeItem> = {
109
+ props: TProps;
110
+ item: TItem;
111
+ };
112
+ type HeadingBlock = ChromeBlock<{
113
+ header: Snippet | undefined;
114
+ title?: never;
115
+ subtitle?: never;
116
+ }, 'header'> | ChromeBlock<{
117
+ header?: never;
118
+ title: string | undefined;
119
+ subtitle: string | undefined;
120
+ }, 'title' | 'subtitle'> | ChromeBlock<{
121
+ header?: never;
122
+ title: string | undefined;
123
+ subtitle?: never;
124
+ }, 'title'> | ChromeBlock<{
125
+ header?: never;
126
+ title?: never;
127
+ subtitle: string | undefined;
128
+ }, 'subtitle'> | ChromeBlock<{
129
+ header?: never;
130
+ title?: never;
131
+ subtitle?: never;
132
+ }, never>;
133
+ /** The legend is always there to place: unset, a figure reads one off what its plots draw. */
134
+ type LegendBlock = ChromeBlock<{
135
+ legend?: LegendSection[] | LegendExtension | boolean | undefined;
136
+ }, 'legend'>;
137
+ type ClosingBlock = ChromeBlock<{
138
+ footer: Snippet | undefined;
139
+ caption?: never;
140
+ }, 'footer'> | ChromeBlock<{
141
+ footer?: never;
142
+ caption: string | undefined;
143
+ }, 'caption'> | ChromeBlock<{
144
+ footer?: never;
145
+ caption?: never;
146
+ }, never>;
147
+ /** Every combination of the three parts, each with an `order` of only the blocks it fills, plus `plot` and dividers. */
148
+ 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 & {
149
+ order?: (HI | LI | CI | 'plot' | 'timeline' | 'divider' | PlotChromeRow<HI | LI | CI | 'plot' | 'timeline'>)[];
150
+ } : never : never : never;
67
151
  /**
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.
152
+ * What's drawn around a plot: accepted by every plot kind and by
153
+ * `PlotComposer`. `header` replaces `title`/`subtitle` and `footer`
154
+ * replaces `caption`, so each excludes the other. `order` lists the blocks
155
+ * top to bottom, out of the ones set here plus `plot`, `timeline` and `divider`; see {@link PlotChromeConfig}.
73
156
  */
74
- export type BasePlotProps<TDataContract, TRow extends Record<string, unknown>, TStyles extends object, TSegmentStyle extends object, TMarker, TScales extends ScalesConfig<TRow>, TCoordinates = undefined> = TDataContract & {
157
+ export type PlotChromeProps = ChromeCombination<HeadingBlock, LegendBlock, ClosingBlock>;
158
+ /** The props every plot kind shares between its core and its public component. */
159
+ type PlotCommonProps<TStyles extends object, TSegmentStyle extends object, TMarker, TScales, TCoordinates> = {
75
160
  width: number;
76
161
  height: number;
77
162
  styles?: StylesConfig<TStyles>;
@@ -80,5 +165,30 @@ export type BasePlotProps<TDataContract, TRow extends Record<string, unknown>, T
80
165
  scales?: TScales;
81
166
  coordinates?: TCoordinates;
82
167
  margins?: MarginConfig;
168
+ statistics?: StatisticConfig[];
169
+ transforms?: MarkerTransform[];
170
+ };
171
+ /** The props a plot kind's core draws from. `TCoordinates` is only set by `GeoPlot`. */
172
+ 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
173
  tooltip?: TooltipConfig<TRow>;
174
+ /** One facet panel's part of a run of the data phases over every panel: the core then runs only the phases after them. */
175
+ panelState?: object;
176
+ /** The kind's pipeline, built once by its plot: the core runs it over its own props. */
177
+ pipeline?: Pipeline<any, any>;
178
+ };
179
+ /**
180
+ * A figure's box - a plot's or a `PlotComposer`'s: its own `width` and
181
+ * `height`, or, drawn straight inside a `PlotComposer`, the cell it takes
182
+ * there (an `area`, or an `inset` floating over it), whose size it draws at.
183
+ */
184
+ export type FigureBoxProps = GridPlacement & {
185
+ width?: number;
186
+ height?: number;
187
+ };
188
+ /** A plot component's public props: its core props, chrome, `timeline`, `facet` and an author-facing `tooltip`. */
189
+ 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 & {
190
+ tooltip?: TooltipProp<TRow>;
191
+ timeline?: TimelineConfig<TRow>;
192
+ facet?: FacetConfig<TRow>;
84
193
  };
194
+ 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;