@fundar/data-chart-telling 0.0.64 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +21 -0
  3. package/README.md +81 -561
  4. package/dist/configuration/config.svelte.d.ts +5 -5
  5. package/dist/configuration/config.svelte.js +130 -46
  6. package/dist/configuration/fonts.d.ts +6 -0
  7. package/dist/configuration/fonts.js +6 -0
  8. package/dist/configuration/themes/compact.d.ts +2 -2
  9. package/dist/configuration/themes/compact.js +1 -1
  10. package/dist/configuration/themes/dark.d.ts +2 -2
  11. package/dist/configuration/themes/dark.js +5 -4
  12. package/dist/configuration/themes/default.d.ts +8 -3
  13. package/dist/configuration/themes/default.js +8 -2
  14. package/dist/configuration/themes/editorial.d.ts +2 -2
  15. package/dist/configuration/themes/editorial.js +2 -2
  16. package/dist/configuration/themes/index.d.ts +421 -80
  17. package/dist/configuration/themes/index.js +6 -5
  18. package/dist/index.d.ts +34 -48
  19. package/dist/index.js +19 -35
  20. package/dist/layout/base/BasePlotLayout.svelte +312 -0
  21. package/dist/layout/base/BasePlotLayout.svelte.d.ts +111 -0
  22. package/dist/layout/composer/PlotComposer.svelte +94 -0
  23. package/dist/layout/composer/PlotComposer.svelte.d.ts +13 -0
  24. package/dist/layout/coordinates/CameraFit.svelte +4 -4
  25. package/dist/layout/coordinates/CoordinatesLayout.svelte +11 -3
  26. package/dist/layout/coordinates/CoordinatesLayout.svelte.d.ts +6 -2
  27. package/dist/layout/coordinates/camera.svelte.d.ts +1 -1
  28. package/dist/layout/coordinates/camera.svelte.js +6 -6
  29. package/dist/layout/coordinates/projections/argentina.js +3 -3
  30. package/dist/layout/coordinates/projections/fit.js +1 -1
  31. package/dist/layout/coordinates/resolveCameraTarget.d.ts +1 -1
  32. package/dist/layout/coordinates/resolveProjection.d.ts +1 -1
  33. package/dist/layout/coordinates/resolveProjection.js +2 -2
  34. package/dist/layout/coordinates/rotate.svelte.d.ts +3 -3
  35. package/dist/layout/coordinates/rotate.svelte.js +8 -8
  36. package/dist/layout/coordinates/zoom.svelte.d.ts +1 -1
  37. package/dist/layout/facet/FacetIndicator.svelte +23 -23
  38. package/dist/layout/facet/FacetLayout.svelte +435 -398
  39. package/dist/layout/facet/FacetLayout.svelte.d.ts +9 -3
  40. package/dist/layout/facet/axes.d.ts +16 -0
  41. package/dist/layout/facet/axes.js +25 -0
  42. package/dist/layout/facet/config.d.ts +32 -0
  43. package/dist/layout/facet/config.js +82 -0
  44. package/dist/layout/figure/Figure.svelte +177 -0
  45. package/dist/layout/figure/Figure.svelte.d.ts +14 -0
  46. package/dist/layout/figure/FigureChrome.svelte +341 -0
  47. package/dist/layout/figure/FigureChrome.svelte.d.ts +21 -0
  48. package/dist/layout/geometry/FrameClip.svelte +45 -0
  49. package/dist/layout/geometry/FrameClip.svelte.d.ts +8 -0
  50. package/dist/layout/geometry/FrameClipping.d.ts +24 -0
  51. package/dist/layout/geometry/FrameClipping.js +40 -0
  52. package/dist/layout/geometry/GeometryLayout.svelte +287 -224
  53. package/dist/layout/geometry/GeometryLayout.svelte.d.ts +10 -10
  54. package/dist/layout/grid/Grid.svelte +194 -0
  55. package/dist/layout/grid/Grid.svelte.d.ts +26 -0
  56. package/dist/layout/grid/GridAlignment.svelte.d.ts +31 -0
  57. package/dist/layout/grid/GridAlignment.svelte.js +56 -0
  58. package/dist/layout/grid/GridCell.svelte +141 -0
  59. package/dist/layout/grid/GridCell.svelte.d.ts +17 -0
  60. package/dist/layout/grid/GridCellsRegistry.svelte.d.ts +52 -0
  61. package/dist/layout/grid/GridCellsRegistry.svelte.js +70 -0
  62. package/dist/layout/grid/GridPlan.d.ts +49 -0
  63. package/dist/layout/grid/GridPlan.js +167 -0
  64. package/dist/layout/grid/Tags.d.ts +8 -0
  65. package/dist/layout/grid/Tags.js +39 -0
  66. package/dist/layout/hover/HoverScope.svelte +11 -0
  67. package/dist/layout/hover/HoverScope.svelte.d.ts +8 -0
  68. package/dist/layout/hover/HoverSettings.d.ts +20 -0
  69. package/dist/layout/hover/HoverSettings.js +27 -0
  70. package/dist/layout/hover/HoverState.svelte.d.ts +47 -0
  71. package/dist/layout/hover/HoverState.svelte.js +99 -0
  72. package/dist/layout/hover/PlotHover.svelte.d.ts +63 -0
  73. package/dist/layout/hover/PlotHover.svelte.js +133 -0
  74. package/dist/layout/interaction/PlotInteraction.svelte.d.ts +38 -0
  75. package/dist/layout/interaction/PlotInteraction.svelte.js +56 -0
  76. package/dist/layout/legend/AxisNumberFormat.d.ts +12 -0
  77. package/dist/layout/legend/AxisNumberFormat.js +25 -0
  78. package/dist/layout/legend/ContinuousSection.svelte +363 -351
  79. package/dist/layout/legend/DisabledStyle.d.ts +19 -0
  80. package/dist/layout/legend/DisabledStyle.js +57 -0
  81. package/dist/layout/legend/DiscreteBadgeItem.svelte +6 -3
  82. package/dist/layout/legend/DiscreteSection.svelte +32 -32
  83. package/dist/layout/legend/DiscreteSwatchItem.svelte +4 -1
  84. package/dist/layout/legend/DiscreteSymbolIcon.svelte +14 -9
  85. package/dist/layout/legend/LegendChannels.d.ts +21 -0
  86. package/dist/layout/legend/LegendChannels.js +221 -0
  87. package/dist/layout/legend/LegendLayout.svelte +49 -43
  88. package/dist/layout/legend/LegendState.svelte.d.ts +79 -0
  89. package/dist/layout/legend/LegendState.svelte.js +329 -0
  90. package/dist/layout/legend/LegendText.d.ts +12 -0
  91. package/dist/layout/legend/LegendText.js +22 -0
  92. package/dist/layout/legend/SizeSection.svelte +84 -0
  93. package/dist/layout/legend/SizeSection.svelte.d.ts +7 -0
  94. package/dist/layout/legend/SymbolSection.svelte +31 -0
  95. package/dist/layout/legend/SymbolSection.svelte.d.ts +8 -0
  96. package/dist/layout/margins/Box.d.ts +84 -0
  97. package/dist/layout/margins/Box.js +138 -0
  98. package/dist/layout/margins/Margins.d.ts +37 -0
  99. package/dist/layout/margins/Margins.js +71 -0
  100. package/dist/layout/margins/PlotMargins.svelte.d.ts +101 -0
  101. package/dist/layout/margins/PlotMargins.svelte.js +219 -0
  102. package/dist/layout/plot/Core.svelte +61 -0
  103. package/dist/layout/plot/Core.svelte.d.ts +41 -0
  104. package/dist/layout/plot/PanelRun.svelte +28 -0
  105. package/dist/{charts/heatmap/Chart.svelte.d.ts → layout/plot/PanelRun.svelte.d.ts} +11 -7
  106. package/dist/layout/plot/Plot.svelte +284 -0
  107. package/dist/layout/plot/Plot.svelte.d.ts +49 -0
  108. package/dist/layout/plot/PlotContext.d.ts +41 -0
  109. package/dist/layout/plot/PlotContext.js +46 -0
  110. package/dist/layout/plot/PublicPlotContext.d.ts +130 -0
  111. package/dist/layout/plot/PublicPlotContext.js +236 -0
  112. package/dist/layout/plot/Slice.d.ts +44 -0
  113. package/dist/layout/plot/Slice.js +98 -0
  114. package/dist/layout/plot/usePlot.d.ts +9 -0
  115. package/dist/layout/plot/usePlot.js +13 -0
  116. package/dist/layout/scales/ScalesLayout.svelte +241 -206
  117. package/dist/layout/scales/ScalesLayout.svelte.d.ts +2 -1
  118. package/dist/layout/scales/buildScale.d.ts +5 -22
  119. package/dist/layout/scales/buildScale.js +11 -34
  120. package/dist/layout/scales/niceDomain.d.ts +3 -3
  121. package/dist/layout/scales/niceDomain.js +4 -4
  122. package/dist/layout/styles/StylesLayout.svelte +65 -65
  123. package/dist/layout/styles/TileLayer.svelte +78 -76
  124. package/dist/layout/styles/TileLayer.svelte.d.ts +1 -1
  125. package/dist/layout/styles/ValueLabels.d.ts +97 -0
  126. package/dist/layout/styles/ValueLabels.js +237 -0
  127. package/dist/layout/timeline/Timeline.svelte +80 -74
  128. package/dist/layout/timeline/TimelineFrame.svelte +86 -0
  129. package/dist/layout/timeline/TimelineFrame.svelte.d.ts +16 -0
  130. package/dist/layout/timeline/TimelineLayout.svelte +114 -169
  131. package/dist/layout/timeline/TimelineLayout.svelte.d.ts +2 -0
  132. package/dist/layout/timeline/TimelinePlayer.svelte +195 -0
  133. package/dist/layout/timeline/TimelinePlayer.svelte.d.ts +7 -0
  134. package/dist/layout/timeline/TimelineRule.svelte +50 -0
  135. package/dist/layout/timeline/TimelineRule.svelte.d.ts +7 -0
  136. package/dist/layout/timeline/TimelineState.svelte.d.ts +82 -0
  137. package/dist/layout/timeline/TimelineState.svelte.js +226 -0
  138. package/dist/layout/timeline/TimelineSteps.d.ts +24 -0
  139. package/dist/layout/timeline/TimelineSteps.js +48 -0
  140. package/dist/layout/tooltip/Tooltip.svelte +82 -85
  141. package/dist/layout/tooltip/Tooltip.svelte.d.ts +43 -24
  142. package/dist/layout/tooltip/TooltipState.svelte.d.ts +61 -0
  143. package/dist/layout/tooltip/TooltipState.svelte.js +107 -0
  144. package/dist/markers/MarkerKinds.d.ts +173 -0
  145. package/dist/markers/MarkerKinds.js +51 -0
  146. package/dist/markers/area/AreaMarker.svelte +110 -0
  147. package/dist/markers/area/AreaMarker.svelte.d.ts +7 -0
  148. package/dist/markers/arrow/ArrowMarker.svelte +28 -0
  149. package/dist/markers/arrow/ArrowMarker.svelte.d.ts +7 -0
  150. package/dist/markers/{BarMarker.svelte → bar/BarMarker.svelte} +54 -52
  151. package/dist/markers/{BarMarker.svelte.d.ts → bar/BarMarker.svelte.d.ts} +1 -1
  152. package/dist/markers/bollinger/BollingerMarker.svelte +44 -0
  153. package/dist/markers/bollinger/BollingerMarker.svelte.d.ts +7 -0
  154. package/dist/markers/box/BoxMarker.svelte +143 -0
  155. package/dist/markers/box/BoxMarker.svelte.d.ts +7 -0
  156. package/dist/markers/brush/BrushMarker.svelte +32 -0
  157. package/dist/markers/brush/BrushMarker.svelte.d.ts +7 -0
  158. package/dist/markers/cell/CellMarker.svelte +27 -0
  159. package/dist/markers/{CellMarker.svelte.d.ts → cell/CellMarker.svelte.d.ts} +1 -1
  160. package/dist/markers/contour/ContourClipMarker.svelte +83 -0
  161. package/dist/markers/{ContourClipMarker.svelte.d.ts → contour/ContourClipMarker.svelte.d.ts} +1 -1
  162. package/dist/markers/contour/ContourMarker.svelte +28 -0
  163. package/dist/markers/{ContourMarker.svelte.d.ts → contour/ContourMarker.svelte.d.ts} +1 -1
  164. package/dist/markers/delaunay/DelaunayLinkMarker.svelte +26 -0
  165. package/dist/markers/delaunay/DelaunayLinkMarker.svelte.d.ts +7 -0
  166. package/dist/markers/delaunay/DelaunayMeshMarker.svelte +26 -0
  167. package/dist/markers/delaunay/DelaunayMeshMarker.svelte.d.ts +7 -0
  168. package/dist/markers/delta/Delta.d.ts +21 -0
  169. package/dist/markers/delta/Delta.js +60 -0
  170. package/dist/markers/delta/DeltaMarker.svelte +94 -0
  171. package/dist/markers/{DeltaMarker.svelte.d.ts → delta/DeltaMarker.svelte.d.ts} +2 -2
  172. package/dist/markers/density/DensityMarker.svelte +63 -0
  173. package/dist/markers/density/DensityMarker.svelte.d.ts +7 -0
  174. package/dist/markers/difference/DifferenceMarker.svelte +30 -0
  175. package/dist/markers/difference/DifferenceMarker.svelte.d.ts +7 -0
  176. package/dist/markers/dot/DotMarker.svelte +102 -0
  177. package/dist/markers/{DotMarker.svelte.d.ts → dot/DotMarker.svelte.d.ts} +5 -17
  178. package/dist/markers/geo/GeoFeaturesMarker.svelte +39 -0
  179. package/dist/markers/{GeoFeaturesMarker.svelte.d.ts → geo/GeoFeaturesMarker.svelte.d.ts} +1 -1
  180. package/dist/markers/geo/GeoHoverMarker.svelte +28 -0
  181. package/dist/markers/{GeoHoverMarker.svelte.d.ts → geo/GeoHoverMarker.svelte.d.ts} +2 -2
  182. package/dist/markers/geo/GraticuleMarker.svelte +18 -0
  183. package/dist/markers/{GraticuleMarker.svelte.d.ts → geo/GraticuleMarker.svelte.d.ts} +1 -1
  184. package/dist/markers/geo/SphereMarker.svelte +15 -0
  185. package/dist/markers/{SphereMarker.svelte.d.ts → geo/SphereMarker.svelte.d.ts} +1 -1
  186. package/dist/markers/hover/HoverMarker.svelte +252 -0
  187. package/dist/markers/{HoverMarker.svelte.d.ts → hover/HoverMarker.svelte.d.ts} +10 -10
  188. package/dist/markers/hull/HullMarker.svelte +25 -0
  189. package/dist/markers/hull/HullMarker.svelte.d.ts +7 -0
  190. package/dist/markers/image/ImageMarker.svelte +22 -0
  191. package/dist/markers/image/ImageMarker.svelte.d.ts +7 -0
  192. package/dist/markers/inset/InsetMarker.svelte +184 -150
  193. package/dist/markers/inset/InsetMarker.svelte.d.ts +4 -4
  194. package/dist/markers/inset/insetLayout.d.ts +1 -1
  195. package/dist/markers/inset/insetLayout.js +6 -2
  196. package/dist/markers/inset/insetProjection.d.ts +1 -1
  197. package/dist/markers/inset/insetProjection.js +3 -3
  198. package/dist/markers/line/LineMarker.svelte +30 -0
  199. package/dist/markers/{LineMarker.svelte.d.ts → line/LineMarker.svelte.d.ts} +1 -1
  200. package/dist/markers/link/LinkMarker.svelte +47 -0
  201. package/dist/markers/{LinkMarker.svelte.d.ts → link/LinkMarker.svelte.d.ts} +1 -1
  202. package/dist/markers/raster/RasterMarker.svelte +31 -0
  203. package/dist/markers/raster/RasterMarker.svelte.d.ts +7 -0
  204. package/dist/markers/rect/RectMarker.svelte +62 -0
  205. package/dist/markers/rect/RectMarker.svelte.d.ts +7 -0
  206. package/dist/markers/regression/RegressionMarker.svelte +60 -0
  207. package/dist/markers/regression/RegressionMarker.svelte.d.ts +7 -0
  208. package/dist/markers/rule/RuleMarker.svelte +47 -0
  209. package/dist/markers/{RuleMarker.svelte.d.ts → rule/RuleMarker.svelte.d.ts} +2 -5
  210. package/dist/markers/text/Declutter.d.ts +35 -0
  211. package/dist/markers/text/Declutter.js +157 -0
  212. package/dist/markers/text/TextMarker.svelte +244 -0
  213. package/dist/markers/{TextMarker.svelte.d.ts → text/TextMarker.svelte.d.ts} +5 -9
  214. package/dist/markers/tick/TickMarker.svelte +44 -0
  215. package/dist/markers/tick/TickMarker.svelte.d.ts +7 -0
  216. package/dist/markers/trail/TrailMarker.svelte +27 -0
  217. package/dist/markers/trail/TrailMarker.svelte.d.ts +7 -0
  218. package/dist/markers/utils/BandNudge.d.ts +22 -0
  219. package/dist/markers/utils/BandNudge.js +23 -0
  220. package/dist/markers/utils/MarkerChannels.d.ts +49 -0
  221. package/dist/markers/utils/MarkerChannels.js +97 -0
  222. package/dist/markers/vector/VectorMarker.svelte +29 -0
  223. package/dist/markers/{VectorMarker.svelte.d.ts → vector/VectorMarker.svelte.d.ts} +1 -1
  224. package/dist/markers/voronoi/VoronoiMarker.svelte +26 -0
  225. package/dist/markers/voronoi/VoronoiMarker.svelte.d.ts +7 -0
  226. package/dist/markers/voronoi/VoronoiMeshMarker.svelte +26 -0
  227. package/dist/markers/voronoi/VoronoiMeshMarker.svelte.d.ts +7 -0
  228. package/dist/markers/waffle/WaffleMarker.svelte +56 -0
  229. package/dist/markers/waffle/WaffleMarker.svelte.d.ts +7 -0
  230. package/dist/phases/Pipeline.d.ts +108 -0
  231. package/dist/phases/Pipeline.js +226 -0
  232. package/dist/phases/data/DataPhase.d.ts +25 -0
  233. package/dist/phases/data/DataPhase.js +82 -0
  234. package/dist/phases/data/PlotAxes.d.ts +75 -0
  235. package/dist/phases/data/PlotAxes.js +151 -0
  236. package/dist/phases/facet/FacetPhase.d.ts +52 -0
  237. package/dist/phases/facet/FacetPhase.js +114 -0
  238. package/dist/phases/hover/HoverPhase.d.ts +73 -0
  239. package/dist/phases/hover/HoverPhase.js +144 -0
  240. package/dist/phases/mapping/MappingPhase.d.ts +17 -0
  241. package/dist/phases/mapping/MappingPhase.js +42 -0
  242. package/dist/phases/markers/MarkersPhase.d.ts +14 -0
  243. package/dist/phases/markers/MarkersPhase.js +27 -0
  244. package/dist/phases/scales/MarkerAxisValues.d.ts +12 -0
  245. package/dist/phases/scales/MarkerAxisValues.js +34 -0
  246. package/dist/phases/scales/ScalesPhase.d.ts +31 -0
  247. package/dist/phases/scales/ScalesPhase.js +157 -0
  248. package/dist/phases/sharedScales/SharedScalesPhase.d.ts +55 -0
  249. package/dist/phases/sharedScales/SharedScalesPhase.js +168 -0
  250. package/dist/phases/statistics/AuthorMarkers.d.ts +43 -0
  251. package/dist/phases/statistics/AuthorMarkers.js +69 -0
  252. package/dist/phases/statistics/MarkerGrouping.d.ts +48 -0
  253. package/dist/phases/statistics/MarkerGrouping.js +113 -0
  254. package/dist/phases/statistics/Statistics.d.ts +53 -0
  255. package/dist/phases/statistics/Statistics.js +156 -0
  256. package/dist/phases/statistics/StatisticsPhase.d.ts +18 -0
  257. package/dist/phases/statistics/StatisticsPhase.js +68 -0
  258. package/dist/phases/statistics/methods/BollingerStatistic.d.ts +9 -0
  259. package/dist/phases/statistics/methods/BollingerStatistic.js +18 -0
  260. package/dist/phases/statistics/methods/BoxStatistic.d.ts +9 -0
  261. package/dist/phases/statistics/methods/BoxStatistic.js +18 -0
  262. package/dist/phases/statistics/methods/Density2dStatistic.d.ts +9 -0
  263. package/dist/phases/statistics/methods/Density2dStatistic.js +18 -0
  264. package/dist/phases/statistics/methods/DensityStatistic.d.ts +12 -0
  265. package/dist/phases/statistics/methods/DensityStatistic.js +29 -0
  266. package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +12 -0
  267. package/dist/phases/statistics/methods/MovingAverageStatistic.js +30 -0
  268. package/dist/phases/statistics/methods/RegressionStatistic.d.ts +9 -0
  269. package/dist/phases/statistics/methods/RegressionStatistic.js +21 -0
  270. package/dist/phases/styles/StylesPhase.d.ts +13 -0
  271. package/dist/phases/styles/StylesPhase.js +17 -0
  272. package/dist/phases/tooltip/TooltipPhase.d.ts +12 -0
  273. package/dist/phases/tooltip/TooltipPhase.js +10 -0
  274. package/dist/phases/transforms/Transforms.d.ts +42 -0
  275. package/dist/phases/transforms/Transforms.js +130 -0
  276. package/dist/phases/transforms/TransformsPhase.d.ts +64 -0
  277. package/dist/phases/transforms/TransformsPhase.js +242 -0
  278. package/dist/phases/transforms/methods/AnchorBar.d.ts +13 -0
  279. package/dist/phases/transforms/methods/AnchorBar.js +21 -0
  280. package/dist/phases/transforms/methods/BinTransform.d.ts +7 -0
  281. package/dist/phases/transforms/methods/BinTransform.js +48 -0
  282. package/dist/phases/transforms/methods/DensityTransform.d.ts +6 -0
  283. package/dist/phases/transforms/methods/DensityTransform.js +13 -0
  284. package/dist/phases/transforms/methods/GroupTransform.d.ts +8 -0
  285. package/dist/phases/transforms/methods/GroupTransform.js +39 -0
  286. package/dist/phases/transforms/methods/NormalizeTransform.d.ts +10 -0
  287. package/dist/phases/transforms/methods/NormalizeTransform.js +30 -0
  288. package/dist/phases/transforms/methods/OrderTransform.d.ts +16 -0
  289. package/dist/phases/transforms/methods/OrderTransform.js +43 -0
  290. package/dist/phases/transforms/methods/PerGroup.d.ts +11 -0
  291. package/dist/phases/transforms/methods/PerGroup.js +39 -0
  292. package/dist/phases/transforms/methods/PositionTransform.d.ts +15 -0
  293. package/dist/phases/transforms/methods/PositionTransform.js +74 -0
  294. package/dist/phases/transforms/methods/StackTransform.d.ts +8 -0
  295. package/dist/phases/transforms/methods/StackTransform.js +29 -0
  296. package/dist/phases/transforms/methods/WindowTransform.d.ts +8 -0
  297. package/dist/phases/transforms/methods/WindowTransform.js +23 -0
  298. package/dist/plots/area/Plot.svelte +42 -0
  299. package/dist/plots/{heatmap/ValueLabels.svelte.d.ts → area/Plot.svelte.d.ts} +8 -16
  300. package/dist/plots/area/defaults.d.ts +4 -0
  301. package/dist/plots/area/defaults.js +21 -0
  302. package/dist/plots/area/markers.d.ts +14 -0
  303. package/dist/plots/area/markers.js +40 -0
  304. package/dist/plots/bar/Plot.svelte +33 -438
  305. package/dist/plots/bar/Plot.svelte.d.ts +5 -8
  306. package/dist/plots/bar/defaults.d.ts +9 -0
  307. package/dist/plots/bar/defaults.js +92 -0
  308. package/dist/plots/bar/markers.d.ts +45 -0
  309. package/dist/plots/bar/markers.js +232 -0
  310. package/dist/plots/geo/Core.svelte +151 -0
  311. package/dist/plots/geo/Core.svelte.d.ts +25 -0
  312. package/dist/plots/geo/Plot.svelte +103 -324
  313. package/dist/plots/geo/Plot.svelte.d.ts +5 -9
  314. package/dist/plots/geo/defaults.d.ts +4 -0
  315. package/dist/plots/geo/defaults.js +16 -0
  316. package/dist/plots/geo/features.svelte.d.ts +5 -0
  317. package/dist/plots/geo/features.svelte.js +44 -0
  318. package/dist/plots/geo/phases/data.d.ts +6 -0
  319. package/dist/plots/geo/phases/data.js +26 -0
  320. package/dist/plots/geo/phases/hover.d.ts +9 -0
  321. package/dist/plots/geo/phases/hover.js +45 -0
  322. package/dist/plots/geo/phases/markers.d.ts +9 -0
  323. package/dist/plots/geo/phases/markers.js +76 -0
  324. package/dist/plots/geo/phases/scales.d.ts +10 -0
  325. package/dist/plots/geo/phases/scales.js +85 -0
  326. package/dist/plots/geo/phases/tooltip.d.ts +3 -0
  327. package/dist/plots/geo/phases/tooltip.js +5 -0
  328. package/dist/plots/geo/slices.d.ts +18 -0
  329. package/dist/plots/geo/slices.js +56 -0
  330. package/dist/plots/heatmap/Plot.svelte +55 -249
  331. package/dist/plots/heatmap/Plot.svelte.d.ts +5 -8
  332. package/dist/plots/heatmap/defaults.d.ts +11 -0
  333. package/dist/plots/heatmap/defaults.js +91 -0
  334. package/dist/plots/heatmap/markers.d.ts +17 -0
  335. package/dist/plots/heatmap/markers.js +141 -0
  336. package/dist/plots/histogram/Plot.svelte +45 -0
  337. package/dist/plots/histogram/Plot.svelte.d.ts +26 -0
  338. package/dist/plots/histogram/defaults.d.ts +9 -0
  339. package/dist/plots/histogram/defaults.js +87 -0
  340. package/dist/plots/histogram/markers.d.ts +18 -0
  341. package/dist/plots/histogram/markers.js +89 -0
  342. package/dist/plots/line/Plot.svelte +37 -268
  343. package/dist/plots/line/Plot.svelte.d.ts +3 -7
  344. package/dist/plots/line/defaults.d.ts +4 -0
  345. package/dist/plots/line/defaults.js +29 -0
  346. package/dist/plots/line/markers.d.ts +49 -0
  347. package/dist/plots/line/markers.js +200 -0
  348. package/dist/plots/pyramid/Plot.svelte +34 -362
  349. package/dist/plots/pyramid/Plot.svelte.d.ts +5 -8
  350. package/dist/plots/pyramid/defaults.d.ts +13 -0
  351. package/dist/plots/pyramid/defaults.js +86 -0
  352. package/dist/plots/pyramid/markers.d.ts +21 -0
  353. package/dist/plots/pyramid/markers.js +159 -0
  354. package/dist/plots/scatter/Plot.svelte +34 -288
  355. package/dist/plots/scatter/Plot.svelte.d.ts +5 -8
  356. package/dist/plots/scatter/defaults.d.ts +4 -0
  357. package/dist/plots/scatter/defaults.js +79 -0
  358. package/dist/plots/scatter/markers.d.ts +19 -0
  359. package/dist/plots/scatter/markers.js +128 -0
  360. package/dist/plots/utils/ChannelName.d.ts +9 -0
  361. package/dist/plots/utils/ChannelName.js +14 -0
  362. package/dist/plots/utils/accessors.d.ts +1 -1
  363. package/dist/plots/utils/accessors.js +4 -2
  364. package/dist/plots/utils/gaps.d.ts +14 -19
  365. package/dist/plots/utils/gaps.js +38 -18
  366. package/dist/plots/utils/geoAccessors.d.ts +8 -8
  367. package/dist/plots/utils/geoAccessors.js +16 -12
  368. package/dist/plots/utils/geoSegments.d.ts +24 -9
  369. package/dist/plots/utils/geoSegments.js +31 -11
  370. package/dist/plots/utils/segments.d.ts +5 -16
  371. package/dist/plots/utils/segments.js +40 -52
  372. package/dist/plots/utils/tiles.d.ts +9 -9
  373. package/dist/plots/utils/tiles.js +35 -25
  374. package/dist/plots/utils/topojson.d.ts +1 -1
  375. package/dist/plots/utils/topojson.js +3 -3
  376. package/dist/stores/device.js +2 -4
  377. package/dist/types/configuration/styling.d.ts +152 -27
  378. package/dist/types/layout/box.d.ts +24 -0
  379. package/dist/types/layout/composer.d.ts +36 -0
  380. package/dist/types/layout/coordinates.d.ts +14 -14
  381. package/dist/types/layout/facet.d.ts +44 -22
  382. package/dist/types/layout/figure.d.ts +7 -0
  383. package/dist/types/layout/geometry.d.ts +6 -2
  384. package/dist/types/layout/grid.d.ts +66 -0
  385. package/dist/types/layout/hover.d.ts +48 -0
  386. package/dist/types/layout/legend.d.ts +256 -55
  387. package/dist/types/layout/mapping.d.ts +68 -0
  388. package/dist/types/layout/plot.d.ts +41 -0
  389. package/dist/types/layout/scales.d.ts +92 -24
  390. package/dist/types/layout/scales.js +19 -1
  391. package/dist/types/layout/statistics/bollinger.d.ts +18 -0
  392. package/dist/types/layout/statistics/box.d.ts +8 -0
  393. package/dist/types/layout/statistics/box.js +1 -0
  394. package/dist/types/layout/statistics/density.d.ts +27 -0
  395. package/dist/types/layout/statistics/density.js +1 -0
  396. package/dist/types/layout/statistics/index.d.ts +46 -0
  397. package/dist/types/layout/statistics/index.js +1 -0
  398. package/dist/types/layout/statistics/movingAverage.d.ts +12 -0
  399. package/dist/types/layout/statistics/movingAverage.js +1 -0
  400. package/dist/types/layout/statistics/regression.d.ts +20 -0
  401. package/dist/types/layout/statistics/regression.js +1 -0
  402. package/dist/types/layout/styles.d.ts +24 -35
  403. package/dist/types/layout/timeline.d.ts +51 -4
  404. package/dist/types/layout/tooltip.d.ts +7 -85
  405. package/dist/types/markers/all.d.ts +3 -4
  406. package/dist/types/markers/axis/area.d.ts +12 -0
  407. package/dist/types/markers/axis/area.js +1 -0
  408. package/dist/types/markers/axis/arrow.d.ts +15 -0
  409. package/dist/types/markers/axis/arrow.js +1 -0
  410. package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +29 -0
  411. package/dist/types/markers/axis/axisBasedMarkersConfig.js +1 -0
  412. package/dist/types/markers/axis/bar.d.ts +18 -0
  413. package/dist/types/markers/axis/bar.js +1 -0
  414. package/dist/types/markers/axis/bollinger.d.ts +6 -0
  415. package/dist/types/markers/axis/bollinger.js +1 -0
  416. package/dist/types/markers/axis/box.d.ts +14 -0
  417. package/dist/types/markers/axis/box.js +1 -0
  418. package/dist/types/markers/axis/brush.d.ts +28 -0
  419. package/dist/types/markers/axis/brush.js +1 -0
  420. package/dist/types/markers/axis/cell.d.ts +9 -0
  421. package/dist/types/markers/axis/cell.js +1 -0
  422. package/dist/types/markers/axis/component.d.ts +9 -0
  423. package/dist/types/markers/axis/component.js +1 -0
  424. package/dist/types/markers/axis/curveName.d.ts +2 -0
  425. package/dist/types/markers/axis/curveName.js +1 -0
  426. package/dist/types/markers/axis/delaunayLink.d.ts +7 -0
  427. package/dist/types/markers/axis/delaunayLink.js +1 -0
  428. package/dist/types/markers/axis/delaunayMesh.d.ts +7 -0
  429. package/dist/types/markers/axis/delaunayMesh.js +1 -0
  430. package/dist/types/markers/axis/delta.d.ts +27 -0
  431. package/dist/types/markers/axis/delta.js +1 -0
  432. package/dist/types/markers/axis/density.d.ts +12 -0
  433. package/dist/types/markers/axis/density.js +1 -0
  434. package/dist/types/markers/axis/difference.d.ts +12 -0
  435. package/dist/types/markers/axis/difference.js +1 -0
  436. package/dist/types/markers/axis/hover.d.ts +21 -0
  437. package/dist/types/markers/axis/hover.js +1 -0
  438. package/dist/types/markers/axis/hull.d.ts +7 -0
  439. package/dist/types/markers/axis/hull.js +1 -0
  440. package/dist/types/markers/axis/image.d.ts +12 -0
  441. package/dist/types/markers/axis/image.js +1 -0
  442. package/dist/types/markers/axis/line.d.ts +7 -0
  443. package/dist/types/markers/axis/line.js +1 -0
  444. package/dist/types/markers/axis/raster.d.ts +18 -0
  445. package/dist/types/markers/axis/raster.js +1 -0
  446. package/dist/types/markers/axis/rect.d.ts +15 -0
  447. package/dist/types/markers/axis/rect.js +1 -0
  448. package/dist/types/markers/axis/regression.d.ts +6 -0
  449. package/dist/types/markers/axis/regression.js +1 -0
  450. package/dist/types/markers/axis/rule.d.ts +15 -0
  451. package/dist/types/markers/axis/rule.js +1 -0
  452. package/dist/types/markers/axis/tick.d.ts +8 -0
  453. package/dist/types/markers/axis/tick.js +1 -0
  454. package/dist/types/markers/axis/trail.d.ts +14 -0
  455. package/dist/types/markers/axis/trail.js +1 -0
  456. package/dist/types/markers/axis/voronoi.d.ts +7 -0
  457. package/dist/types/markers/axis/voronoi.js +1 -0
  458. package/dist/types/markers/axis/voronoiMesh.d.ts +7 -0
  459. package/dist/types/markers/axis/voronoiMesh.js +1 -0
  460. package/dist/types/markers/axis/waffle.d.ts +13 -0
  461. package/dist/types/markers/axis/waffle.js +1 -0
  462. package/dist/types/markers/basic/basicMarkersConfig.d.ts +4 -0
  463. package/dist/types/markers/basic/basicMarkersConfig.js +1 -0
  464. package/dist/types/markers/basic/dot.d.ts +9 -0
  465. package/dist/types/markers/basic/dot.js +1 -0
  466. package/dist/types/markers/basic/text.d.ts +60 -0
  467. package/dist/types/markers/basic/text.js +1 -0
  468. package/dist/types/markers/basic.d.ts +4 -0
  469. package/dist/types/markers/basic.js +1 -0
  470. package/dist/types/markers/channels/commonMarkerConfig.d.ts +26 -0
  471. package/dist/types/markers/channels/commonMarkerConfig.js +1 -0
  472. package/dist/types/markers/channels/commonMarkerConfigWithArea.d.ts +6 -0
  473. package/dist/types/markers/channels/commonMarkerConfigWithArea.js +1 -0
  474. package/dist/types/markers/channels/commonMarkerConfigWithColor.d.ts +5 -0
  475. package/dist/types/markers/channels/commonMarkerConfigWithColor.js +1 -0
  476. package/dist/types/markers/channels/commonMarkerConfigWithInterval.d.ts +9 -0
  477. package/dist/types/markers/channels/commonMarkerConfigWithInterval.js +1 -0
  478. package/dist/types/markers/channels/commonMarkerConfigWithRadius.d.ts +5 -0
  479. package/dist/types/markers/channels/commonMarkerConfigWithRadius.js +1 -0
  480. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.d.ts +5 -0
  481. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.js +1 -0
  482. package/dist/types/markers/channels/commonMarkerConfigWithWeight.d.ts +5 -0
  483. package/dist/types/markers/channels/commonMarkerConfigWithWeight.js +1 -0
  484. package/dist/types/markers/common.d.ts +30 -103
  485. package/dist/types/markers/common.js +29 -1
  486. package/dist/types/markers/geo/contour.d.ts +27 -0
  487. package/dist/types/markers/geo/contour.js +1 -0
  488. package/dist/types/markers/geo/features.d.ts +12 -0
  489. package/dist/types/markers/geo/features.js +1 -0
  490. package/dist/types/markers/geo/geoComponent.d.ts +7 -0
  491. package/dist/types/markers/geo/geoComponent.js +1 -0
  492. package/dist/types/markers/geo/geoHover.d.ts +6 -0
  493. package/dist/types/markers/geo/geoHover.js +1 -0
  494. package/dist/types/markers/geo/geoMarkersConfig.d.ts +11 -0
  495. package/dist/types/markers/geo/geoMarkersConfig.js +1 -0
  496. package/dist/types/markers/geo/graticule.d.ts +11 -0
  497. package/dist/types/markers/geo/graticule.js +1 -0
  498. package/dist/types/markers/geo/inset.d.ts +50 -0
  499. package/dist/types/markers/geo/inset.js +1 -0
  500. package/dist/types/markers/geo/link.d.ts +13 -0
  501. package/dist/types/markers/geo/link.js +1 -0
  502. package/dist/types/markers/geo/sphere.d.ts +11 -0
  503. package/dist/types/markers/geo/sphere.js +1 -0
  504. package/dist/types/markers/geo/vector.d.ts +17 -0
  505. package/dist/types/markers/geo/vector.js +1 -0
  506. package/dist/types/markers/geo.d.ts +10 -212
  507. package/dist/types/markers/geo.js +10 -1
  508. package/dist/types/markers/traits.d.ts +22 -0
  509. package/dist/types/markers/traits.js +1 -0
  510. package/dist/types/misc/easing.js +1 -0
  511. package/dist/types/misc/viewport.js +1 -0
  512. package/dist/types/phases/data/axes.d.ts +18 -0
  513. package/dist/types/phases/data/axes.js +1 -0
  514. package/dist/types/phases/data/phase.d.ts +26 -0
  515. package/dist/types/phases/data/phase.js +2 -0
  516. package/dist/types/phases/facet/phase.d.ts +18 -0
  517. package/dist/types/phases/facet/phase.js +1 -0
  518. package/dist/types/phases/hover/phase.d.ts +34 -0
  519. package/dist/types/phases/hover/phase.js +1 -0
  520. package/dist/types/phases/index.d.ts +14 -0
  521. package/dist/types/phases/index.js +1 -0
  522. package/dist/types/phases/kind.d.ts +59 -0
  523. package/dist/types/phases/kind.js +1 -0
  524. package/dist/types/phases/mapping/phase.d.ts +5 -0
  525. package/dist/types/phases/mapping/phase.js +1 -0
  526. package/dist/types/phases/markers/phase.d.ts +13 -0
  527. package/dist/types/phases/markers/phase.js +1 -0
  528. package/dist/types/phases/pipeline.d.ts +10 -0
  529. package/dist/types/phases/pipeline.js +1 -0
  530. package/dist/types/phases/scales/phase.d.ts +26 -0
  531. package/dist/types/phases/scales/phase.js +1 -0
  532. package/dist/types/phases/sharedScales/phase.d.ts +12 -0
  533. package/dist/types/phases/sharedScales/phase.js +1 -0
  534. package/dist/types/phases/stage.d.ts +12 -0
  535. package/dist/types/phases/stage.js +1 -0
  536. package/dist/types/phases/state.d.ts +73 -0
  537. package/dist/types/phases/state.js +1 -0
  538. package/dist/types/phases/statistics/phase.d.ts +41 -0
  539. package/dist/types/phases/statistics/phase.js +1 -0
  540. package/dist/types/phases/statistics/source.d.ts +20 -0
  541. package/dist/types/phases/statistics/source.js +7 -0
  542. package/dist/types/phases/styles/phase.d.ts +24 -0
  543. package/dist/types/phases/styles/phase.js +1 -0
  544. package/dist/types/phases/transforms/adapter.d.ts +27 -0
  545. package/dist/types/phases/transforms/adapter.js +1 -0
  546. package/dist/types/phases/transforms/phase.d.ts +40 -0
  547. package/dist/types/phases/transforms/phase.js +1 -0
  548. package/dist/types/plots/area/props.d.ts +10 -0
  549. package/dist/types/plots/area/props.js +1 -0
  550. package/dist/types/plots/area/state.d.ts +6 -0
  551. package/dist/types/plots/area/state.js +1 -0
  552. package/dist/types/plots/bar/props.d.ts +10 -0
  553. package/dist/types/plots/bar/props.js +1 -0
  554. package/dist/types/plots/bar/state.d.ts +6 -0
  555. package/dist/types/plots/bar/state.js +1 -0
  556. package/dist/types/plots/camera.d.ts +7 -17
  557. package/dist/types/plots/constants.d.ts +16 -8
  558. package/dist/types/plots/data/common.d.ts +25 -17
  559. package/dist/types/plots/data/geo.d.ts +26 -12
  560. package/dist/types/plots/gaps.d.ts +19 -38
  561. package/dist/types/plots/geo/props.d.ts +23 -0
  562. package/dist/types/plots/geo/props.js +1 -0
  563. package/dist/types/plots/geo/state.d.ts +82 -0
  564. package/dist/types/plots/geo/state.js +1 -0
  565. package/dist/types/plots/heatmap/props.d.ts +10 -0
  566. package/dist/types/plots/heatmap/props.js +1 -0
  567. package/dist/types/plots/heatmap/state.d.ts +28 -0
  568. package/dist/types/plots/heatmap/state.js +1 -0
  569. package/dist/types/plots/histogram/props.d.ts +18 -0
  570. package/dist/types/plots/histogram/props.js +1 -0
  571. package/dist/types/plots/histogram/state.d.ts +6 -0
  572. package/dist/types/plots/histogram/state.js +1 -0
  573. package/dist/types/plots/line/props.d.ts +10 -0
  574. package/dist/types/plots/line/props.js +1 -0
  575. package/dist/types/plots/line/state.d.ts +9 -0
  576. package/dist/types/plots/line/state.js +1 -0
  577. package/dist/types/plots/props.d.ts +143 -35
  578. package/dist/types/plots/pyramid/props.d.ts +10 -0
  579. package/dist/types/plots/pyramid/props.js +1 -0
  580. package/dist/types/plots/pyramid/state.d.ts +16 -0
  581. package/dist/types/plots/pyramid/state.js +1 -0
  582. package/dist/types/plots/scatter/props.d.ts +10 -0
  583. package/dist/types/plots/scatter/props.js +1 -0
  584. package/dist/types/plots/scatter/state.d.ts +6 -0
  585. package/dist/types/plots/scatter/state.js +1 -0
  586. package/dist/types/plots/segments/common.d.ts +1 -1
  587. package/dist/types/plots/segments/config.d.ts +12 -6
  588. package/dist/types/plots/styling.d.ts +5 -5
  589. package/dist/types/transforms/bin.d.ts +84 -0
  590. package/dist/types/transforms/bin.js +28 -0
  591. package/dist/types/transforms/bollinger.d.ts +21 -0
  592. package/dist/types/transforms/bollinger.js +1 -0
  593. package/dist/types/transforms/common.d.ts +29 -0
  594. package/dist/types/transforms/common.js +16 -0
  595. package/dist/types/transforms/density.d.ts +45 -0
  596. package/dist/types/transforms/density.js +10 -0
  597. package/dist/types/transforms/filter.d.ts +12 -0
  598. package/dist/types/transforms/filter.js +14 -0
  599. package/dist/types/transforms/group.d.ts +70 -0
  600. package/dist/types/transforms/group.js +8 -0
  601. package/dist/types/transforms/index.d.ts +36 -0
  602. package/dist/types/transforms/index.js +1 -0
  603. package/dist/types/transforms/interval.d.ts +21 -0
  604. package/dist/types/transforms/interval.js +14 -0
  605. package/dist/types/transforms/jitter.d.ts +34 -0
  606. package/dist/types/transforms/jitter.js +1 -0
  607. package/dist/types/transforms/map.d.ts +24 -0
  608. package/dist/types/transforms/map.js +1 -0
  609. package/dist/types/transforms/normalize.d.ts +36 -0
  610. package/dist/types/transforms/normalize.js +1 -0
  611. package/dist/types/transforms/select.d.ts +15 -0
  612. package/dist/types/transforms/select.js +1 -0
  613. package/dist/types/transforms/shift.d.ts +20 -0
  614. package/dist/types/transforms/shift.js +1 -0
  615. package/dist/types/transforms/sort.d.ts +31 -0
  616. package/dist/types/transforms/sort.js +14 -0
  617. package/dist/types/transforms/stack.d.ts +64 -0
  618. package/dist/types/transforms/stack.js +12 -0
  619. package/dist/types/transforms/window.d.ts +29 -0
  620. package/dist/types/transforms/window.js +1 -0
  621. package/dist/utils/ContinuousDomain.d.ts +12 -0
  622. package/dist/utils/ContinuousDomain.js +19 -0
  623. package/dist/utils/Interpolation.d.ts +26 -0
  624. package/dist/utils/Interpolation.js +65 -0
  625. package/dist/utils/{color.d.ts → color/contrast.d.ts} +0 -5
  626. package/dist/utils/color/contrast.js +40 -0
  627. package/dist/utils/color/cssColor.d.ts +4 -0
  628. package/dist/utils/color/cssColor.js +77 -0
  629. package/dist/utils/color/index.d.ts +3 -0
  630. package/dist/utils/color/index.js +3 -0
  631. package/dist/utils/color/ramp.d.ts +17 -0
  632. package/dist/utils/color/ramp.js +110 -0
  633. package/dist/utils/grouping.d.ts +9 -5
  634. package/dist/utils/grouping.js +19 -10
  635. package/dist/utils/merge.d.ts +7 -0
  636. package/dist/utils/merge.js +17 -0
  637. package/dist/utils/opacity.d.ts +9 -0
  638. package/dist/utils/opacity.js +38 -0
  639. package/dist/utils/symbol.d.ts +31 -0
  640. package/dist/utils/symbol.js +92 -0
  641. package/docs/architecture.md +137 -0
  642. package/docs/chrome.md +68 -0
  643. package/docs/composer.md +53 -0
  644. package/docs/concepts.md +99 -0
  645. package/docs/development.md +94 -0
  646. package/docs/facets.md +69 -0
  647. package/docs/geo.md +151 -0
  648. package/docs/getting-started.md +79 -0
  649. package/docs/legend.md +106 -0
  650. package/docs/markers.md +106 -0
  651. package/docs/plots.md +158 -0
  652. package/docs/scales.md +78 -0
  653. package/docs/state.md +71 -0
  654. package/docs/styles-and-segments.md +215 -0
  655. package/docs/theming.md +215 -0
  656. package/docs/timeline.md +94 -0
  657. package/docs/tooltip-and-hover.md +80 -0
  658. package/docs/transforms-and-statistics.md +88 -0
  659. package/examples/BarValues.svelte +14 -0
  660. package/examples/CustomTooltip.svelte +37 -0
  661. package/examples/Facets.svelte +15 -0
  662. package/examples/LegendReader.svelte +8 -0
  663. package/examples/LegendToggle.svelte +25 -0
  664. package/examples/ResponsiveLine.svelte +37 -0
  665. package/examples/Segments.svelte +17 -0
  666. package/examples/TimelinePlayer.svelte +20 -0
  667. package/examples/Tooltip.svelte +19 -0
  668. package/examples/TooltipCard.svelte +86 -0
  669. package/examples/data.ts +12 -0
  670. package/llms-full.txt +114 -0
  671. package/llms.txt +49 -0
  672. package/package.json +41 -5
  673. package/dist/charts/BaseChart.svelte +0 -149
  674. package/dist/charts/BaseChart.svelte.d.ts +0 -47
  675. package/dist/charts/bar/Chart.svelte +0 -110
  676. package/dist/charts/bar/Chart.svelte.d.ts +0 -26
  677. package/dist/charts/container/ChartContainer.svelte +0 -137
  678. package/dist/charts/container/ChartContainer.svelte.d.ts +0 -16
  679. package/dist/charts/heatmap/Chart.svelte +0 -114
  680. package/dist/charts/line/Chart.svelte +0 -112
  681. package/dist/charts/line/Chart.svelte.d.ts +0 -26
  682. package/dist/charts/pyramid/Chart.svelte +0 -134
  683. package/dist/charts/pyramid/Chart.svelte.d.ts +0 -30
  684. package/dist/charts/scatter/Chart.svelte +0 -95
  685. package/dist/charts/scatter/Chart.svelte.d.ts +0 -28
  686. package/dist/layout/coordinates/margins.d.ts +0 -16
  687. package/dist/layout/coordinates/margins.js +0 -11
  688. package/dist/layout/legend/interaction.svelte.d.ts +0 -15
  689. package/dist/layout/legend/interaction.svelte.js +0 -32
  690. package/dist/layout/plot/BasePlotLayout.svelte +0 -332
  691. package/dist/layout/plot/BasePlotLayout.svelte.d.ts +0 -122
  692. package/dist/layout/plot/margins.d.ts +0 -18
  693. package/dist/layout/plot/margins.js +0 -15
  694. package/dist/layout/plot/measureText.d.ts +0 -4
  695. package/dist/layout/plot/measureText.js +0 -19
  696. package/dist/layout/tooltip/TooltipLayout.svelte +0 -51
  697. package/dist/layout/tooltip/TooltipLayout.svelte.d.ts +0 -45
  698. package/dist/layout/tooltip/controller.svelte.d.ts +0 -61
  699. package/dist/layout/tooltip/controller.svelte.js +0 -173
  700. package/dist/layout/tooltip/hover.svelte.d.ts +0 -7
  701. package/dist/layout/tooltip/hover.svelte.js +0 -28
  702. package/dist/layout/tooltip/resolveTooltipPlacement.d.ts +0 -24
  703. package/dist/layout/tooltip/resolveTooltipPlacement.js +0 -49
  704. package/dist/layout/tooltip/utils.d.ts +0 -49
  705. package/dist/layout/tooltip/utils.js +0 -82
  706. package/dist/markers/CellMarker.svelte +0 -21
  707. package/dist/markers/ContourClipMarker.svelte +0 -77
  708. package/dist/markers/ContourMarker.svelte +0 -28
  709. package/dist/markers/DeltaMarker.svelte +0 -109
  710. package/dist/markers/DotMarker.svelte +0 -70
  711. package/dist/markers/GeoFeaturesMarker.svelte +0 -19
  712. package/dist/markers/GeoHoverMarker.svelte +0 -25
  713. package/dist/markers/GraticuleMarker.svelte +0 -18
  714. package/dist/markers/HoverMarker.svelte +0 -212
  715. package/dist/markers/LineMarker.svelte +0 -19
  716. package/dist/markers/LinkMarker.svelte +0 -42
  717. package/dist/markers/PeakMarker.svelte +0 -80
  718. package/dist/markers/PeakMarker.svelte.d.ts +0 -13
  719. package/dist/markers/RuleMarker.svelte +0 -24
  720. package/dist/markers/SphereMarker.svelte +0 -15
  721. package/dist/markers/TextMarker.svelte +0 -62
  722. package/dist/markers/VectorMarker.svelte +0 -20
  723. package/dist/plots/bar/ValueLabels.svelte +0 -149
  724. package/dist/plots/bar/ValueLabels.svelte.d.ts +0 -58
  725. package/dist/plots/bar/buildBarMarkers.d.ts +0 -27
  726. package/dist/plots/bar/buildBarMarkers.js +0 -151
  727. package/dist/plots/bar/hoverPoints.d.ts +0 -15
  728. package/dist/plots/bar/hoverPoints.js +0 -37
  729. package/dist/plots/bar/layout.svelte.d.ts +0 -42
  730. package/dist/plots/bar/layout.svelte.js +0 -182
  731. package/dist/plots/geo/buildGeoMarkers.d.ts +0 -33
  732. package/dist/plots/geo/buildGeoMarkers.js +0 -47
  733. package/dist/plots/heatmap/ValueLabels.svelte +0 -56
  734. package/dist/plots/heatmap/buildCellMarkers.d.ts +0 -21
  735. package/dist/plots/heatmap/buildCellMarkers.js +0 -25
  736. package/dist/plots/line/ValueLabels.svelte +0 -269
  737. package/dist/plots/line/ValueLabels.svelte.d.ts +0 -52
  738. package/dist/plots/line/buildGapMarkers.d.ts +0 -28
  739. package/dist/plots/line/buildGapMarkers.js +0 -74
  740. package/dist/plots/line/buildLineMarkers.d.ts +0 -16
  741. package/dist/plots/line/buildLineMarkers.js +0 -56
  742. package/dist/plots/line/valueLabelMargin.d.ts +0 -19
  743. package/dist/plots/line/valueLabelMargin.js +0 -65
  744. package/dist/plots/pyramid/ValueLabels.svelte +0 -139
  745. package/dist/plots/pyramid/ValueLabels.svelte.d.ts +0 -56
  746. package/dist/plots/pyramid/buildPyramidBarMarkers.d.ts +0 -26
  747. package/dist/plots/pyramid/buildPyramidBarMarkers.js +0 -72
  748. package/dist/plots/scatter/ValueLabels.svelte +0 -163
  749. package/dist/plots/scatter/ValueLabels.svelte.d.ts +0 -52
  750. package/dist/plots/scatter/buildScatterMarkers.d.ts +0 -12
  751. package/dist/plots/scatter/buildScatterMarkers.js +0 -36
  752. package/dist/plots/scatter/resolveRadiusPaddedDomain.d.ts +0 -10
  753. package/dist/plots/scatter/resolveRadiusPaddedDomain.js +0 -23
  754. package/dist/plots/utils/categoricalAxisMargin.d.ts +0 -14
  755. package/dist/plots/utils/categoricalAxisMargin.js +0 -20
  756. package/dist/plots/utils/declutter.d.ts +0 -120
  757. package/dist/plots/utils/declutter.js +0 -240
  758. package/dist/plots/utils/labelOverflow.svelte.d.ts +0 -107
  759. package/dist/plots/utils/labelOverflow.svelte.js +0 -257
  760. package/dist/plots/utils/legendDisabled.d.ts +0 -27
  761. package/dist/plots/utils/legendDisabled.js +0 -68
  762. package/dist/plots/utils/valueLabelMargin.d.ts +0 -67
  763. package/dist/plots/utils/valueLabelMargin.js +0 -60
  764. package/dist/types/charts/common.d.ts +0 -22
  765. package/dist/types/charts/props.d.ts +0 -50
  766. package/dist/types/markers/base.d.ts +0 -45
  767. package/dist/types/markers/line.d.ts +0 -34
  768. package/dist/types/markers/props.d.ts +0 -11
  769. package/dist/types/plots/data/scatter.d.ts +0 -13
  770. package/dist/utils/color.js +0 -141
  771. package/dist/utils/delta.d.ts +0 -12
  772. package/dist/utils/delta.js +0 -69
  773. package/dist/utils/edgeAwareAnchor.d.ts +0 -34
  774. package/dist/utils/edgeAwareAnchor.js +0 -60
  775. package/dist/utils/interpolate.d.ts +0 -31
  776. package/dist/utils/interpolate.js +0 -71
  777. /package/dist/types/{charts/common.js → layout/box.js} +0 -0
  778. /package/dist/types/{charts/interpolate.js → layout/composer.js} +0 -0
  779. /package/dist/types/{charts/props.js → layout/figure.js} +0 -0
  780. /package/dist/types/{markers/base.js → layout/grid.js} +0 -0
  781. /package/dist/types/{markers/line.js → layout/hover.js} +0 -0
  782. /package/dist/types/{markers/props.js → layout/mapping.js} +0 -0
  783. /package/dist/types/{plots/data/scatter.js → layout/plot.js} +0 -0
  784. /package/dist/types/{viewport.js → layout/statistics/bollinger.js} +0 -0
  785. /package/dist/types/{charts/interpolate.d.ts → misc/easing.d.ts} +0 -0
  786. /package/dist/types/{viewport.d.ts → misc/viewport.d.ts} +0 -0
@@ -1,4 +1,6 @@
1
1
  import type { StrokeStyle, DotStyle, FontStyle, AreaStyle } from '../plots/styling';
2
+ import type { SymbolType } from '../plots/constants';
3
+ import type { PlotChromeEntry } from '../plots/props';
2
4
  export type TextStyle = {
3
5
  /** font-family */
4
6
  font: string;
@@ -13,17 +15,34 @@ export type TextStyle = {
13
15
  /** letter-spacing */
14
16
  spacing: string;
15
17
  };
16
- export type ChartConfig = {
18
+ /** How a chrome divider's line is drawn, as a CSS border style. */
19
+ export type DividerLineStyle = 'solid' | 'dashed' | 'dotted' | 'double';
20
+ export type PlotStylesConfig = {
17
21
  font: string;
18
22
  color: string;
19
23
  background: string;
20
- border: string;
21
24
  spacing: {
22
25
  headerPadding: string;
23
26
  legendPadding: string;
24
27
  captionPadding: string;
25
28
  bleed: string;
26
29
  };
30
+ /** The line every `'divider'` in a plot's chrome `order` draws. */
31
+ divider: {
32
+ color: string;
33
+ /** Line thickness, e.g. `'1px'`. */
34
+ width: string;
35
+ style: DividerLineStyle;
36
+ /** Space around the line, as a CSS `margin`. */
37
+ margin: string;
38
+ };
39
+ /** What a plot's or composer's chrome draws around it. */
40
+ chrome: {
41
+ /** The blocks, top to bottom, when a figure doesn't set its own `order` - see {@link PlotChromeEntry}. */
42
+ order: PlotChromeEntry[];
43
+ /** The space between the blocks of a row of the chrome, as a CSS length. */
44
+ rowGap: string;
45
+ };
27
46
  title: TextStyle;
28
47
  subtitle: TextStyle;
29
48
  caption: TextStyle;
@@ -40,6 +59,25 @@ export type ChartConfig = {
40
59
  swatchSize: string;
41
60
  /** Fallback opacity for a legend-disabled series/value when a section doesn't set its own style. */
42
61
  disabledOpacity: number;
62
+ /**
63
+ * Whether names read off the data show as words (`gdp_per_capita` as
64
+ * "Gdp per capita"): an item with no `label`, and the titles the
65
+ * automatic legend takes from field names. Display only - toggling
66
+ * still goes by the name itself.
67
+ */
68
+ pretty: boolean;
69
+ /**
70
+ * The automatic legend's series section, titled `text` once the legend
71
+ * shows other sections too - a size or shape scale, or sections it adds.
72
+ */
73
+ seriesTitle: {
74
+ enabled: boolean;
75
+ text: string;
76
+ };
77
+ /** A size section: `gap` is the room between its dots (CSS length). */
78
+ sizeScale: {
79
+ gap: string;
80
+ };
43
81
  /** Prev/next arrows shown when a `layout: { type: 'horizontal' }` discrete section overflows `maxRows`. */
44
82
  navButton: {
45
83
  background: string;
@@ -84,7 +122,7 @@ export type ChartConfig = {
84
122
  enabled: boolean;
85
123
  /** How many px of horizontal slack the two labels need between them before they're considered overlapping (and flipped). */
86
124
  margin: number;
87
- /** Rotation magnitude applied once overlapping — lo rotates by this amount, hi by its negation, so both still grow inward toward the bar instead of off its edges. */
125
+ /** Rotation magnitude applied once overlapping - lo rotates by this amount, hi by its negation, so both still grow inward toward the bar instead of off its edges. */
88
126
  rotate: string;
89
127
  };
90
128
  };
@@ -101,6 +139,7 @@ export type ChartConfig = {
101
139
  yTickPadding: number;
102
140
  grid: boolean;
103
141
  locale: string;
142
+ /** Compact units abbreviated (`'short'`, the default: `1 M`) or spelled out (`'long'`: `1 millón`). Axes and size legends. */
104
143
  compactDisplay: 'short' | 'long';
105
144
  };
106
145
  tooltip: {
@@ -113,8 +152,8 @@ export type ChartConfig = {
113
152
  };
114
153
  /**
115
154
  * Per-side plot margin. `'auto'` (the default) lets svelteplot size that
116
- * side to fit whatever it actually renders there — tick labels, an axis
117
- * title, rotated ticks — instead of clipping content or leaving unused
155
+ * side to fit whatever it actually renders there - tick labels, an axis
156
+ * title, rotated ticks - instead of clipping content or leaving unused
118
157
  * space. A number pins that side exactly, opting out of auto-sizing.
119
158
  */
120
159
  margins: {
@@ -123,20 +162,33 @@ export type ChartConfig = {
123
162
  bottom: number | 'auto';
124
163
  left: number | 'auto';
125
164
  };
165
+ /** Marker clipping to the plot's inner frame (see `FrameClip`). */
166
+ frameClip: {
167
+ /**
168
+ * How far (px) a clipped mark may reach past the frame before it's cut,
169
+ * so strokes and labels on the edge aren't shaved off. A number sets all
170
+ * four sides; a string takes CSS shorthand px values for 1-4 sides, e.g.
171
+ * `'4px'`, `'4px 8px'`, `'0 8px 4px'`, `'0 8px 4px 2px'`.
172
+ */
173
+ tolerance: number | string;
174
+ };
126
175
  /** Discrete categorical palette (grouped series). */
127
176
  palette: string[];
128
- /** Continuous gradient endpoints + on-cell label colour. */
177
+ /** Default shape cycle for the `symbol` channel, in order. */
178
+ symbols: SymbolType[];
179
+ /** Continuous gradient endpoints + on-cell label colour, plus the default opacity-channel range. */
129
180
  continuous: {
130
181
  min: string;
131
182
  max: string;
132
183
  labelColor: string;
184
+ opacityRange: [number, number];
133
185
  };
134
186
  /** Default line geometry. */
135
187
  line: {
136
188
  strokeWidth: number;
137
189
  dotRadius: number;
138
190
  /**
139
- * Default gap-fill bridge styling (`LinePlot`'s `styles.gaps`) — the
191
+ * Default gap-fill bridge styling (`LinePlot`'s `styles.gaps`) - the
140
192
  * fallback merged under whatever a gap zone's own `style` sets, the
141
193
  * same way `hover.rule`/`hover.dot` back every hover marker's style.
142
194
  */
@@ -144,40 +196,49 @@ export type ChartConfig = {
144
196
  stroke: StrokeStyle;
145
197
  dots: DotStyle;
146
198
  };
147
- /**
148
- * End-of-line value-label declutter geometry and connector styling —
149
- * `LinePlot`-specific, since only line charts spread colliding
150
- * end-point labels apart with elbow-routed leader lines.
151
- */
152
- valueLabels: {
153
- /** Shortest lane's distance (px) from the data point before a leader line bends. */
199
+ };
200
+ /** Default text-marker behavior. */
201
+ text: {
202
+ /** Geometry and connector of a decluttered text marker (`declutter`) - e.g. LinePlot's end-of-line value labels. */
203
+ declutter: {
204
+ /** Shortest lane's distance (px) from the point before a connector bends. */
154
205
  elbowGap: number;
155
- /** Extra distance (px) each subsequent lane sits out from the last. */
206
+ /** Extra distance (px) each further lane sits out from the last. */
156
207
  laneStep: number;
157
- /** Clearance (px) between the outermost lane and the label text it feeds into. */
208
+ /** Clearance (px) between the outermost lane and the label text. */
158
209
  labelGap: number;
159
- /** Default leader-line colour — overridable per-plot via `styles.values.strokeStyle`. */
160
- connectorColor: string;
161
- /** Default leader-line width — overridable per-plot via `styles.values.strokeStyle`. */
162
- connectorWidth: number;
210
+ /** Default connector stroke. */
211
+ connector: StrokeStyle;
163
212
  };
164
213
  };
165
214
  /** Default bar-mark styling. */
166
215
  bar: {
167
- /** Default gap-fill styling (`BarPlot`'s `styles.gaps`) — the fallback merged under whatever a gap zone's own `style` sets. */
216
+ /** Default gap-fill styling (`BarPlot`'s `styles.gaps`) - the fallback merged under whatever a gap zone's own `style` sets. */
168
217
  gap: AreaStyle;
169
- /** Fallback `scales.z.seriesPadding` (0–1) for 'grouped' series layout, when a plot doesn't set its own. */
218
+ /** Gap (0-1) between the bars of side-by-side series within one category, as a fraction of each bar's slice. */
170
219
  seriesPadding: number;
171
- /** Fallback gap (0–1) *between* category groups on BarPlot's own category axis, when a plot doesn't set its own `scales.x/y.paddingInner`. */
220
+ /** Fallback gap (0-1) *between* category groups on BarPlot's own category axis, when a plot doesn't set its own `scales.x/y.paddingInner`. */
172
221
  paddingInner: number;
173
- /** Fallback gap (0–1) before the first and after the last category group on BarPlot's own category axis, when a plot doesn't set its own `scales.x/y.paddingOuter`. */
222
+ /** Fallback gap (0-1) before the first and after the last category group on BarPlot's own category axis, when a plot doesn't set its own `scales.x/y.paddingOuter`. */
174
223
  paddingOuter: number;
175
224
  };
176
225
  /** Default pyramid-bar styling. */
177
226
  pyramid: {
178
- /** Default gap-fill styling (`PyramidPlot`'s `styles.gaps`) — the fallback merged under whatever a gap zone's own `style` sets. */
227
+ /** Default gap-fill styling (`PyramidPlot`'s `styles.gaps`) - the fallback merged under whatever a gap zone's own `style` sets. */
179
228
  gap: AreaStyle;
180
229
  };
230
+ /** Default area-plot styling. */
231
+ area: {
232
+ /** Fill opacity of every area marker that sets none of its own. */
233
+ fillOpacity: number;
234
+ };
235
+ /** Default histogram styling. */
236
+ histogram: {
237
+ /** Pixels taken off each side of every bar, so neighbouring bars leave a gap of twice this. */
238
+ inset: number;
239
+ /** Fill opacity of every bar, so a grouped histogram's bars behind another group's still show. */
240
+ fillOpacity: number;
241
+ };
181
242
  /** Default scatter point geometry. */
182
243
  scatter: {
183
244
  dotRadius: number;
@@ -187,10 +248,74 @@ export type ChartConfig = {
187
248
  axisColor: string;
188
249
  activeColor: string;
189
250
  thickness: number;
251
+ /** Space between a plot (or a composition's panels) and its timeline, as a CSS length. */
252
+ gap: string;
253
+ /** The `'rule'` timeline beside a plot: a line with its steps written along it. */
254
+ rule: {
255
+ /** Font size of the steps, in px. */
256
+ fontSize: number;
257
+ /** Font size of the current step, in px. */
258
+ activeFontSize: number;
259
+ activeFontWeight: number | string;
260
+ /** Opacity of the steps other than the current one. */
261
+ labelOpacity: number;
262
+ /** Width of the line, in px. */
263
+ axisWidth: number;
264
+ axisOpacity: number;
265
+ };
266
+ /** The `'player'` timeline: a bar in the chrome with play, the current step, a slider and more. */
267
+ player: {
268
+ /** The controls it draws, in order, unless a timeline sets its own `player.controls`. */
269
+ controls: ('play' | 'value' | 'slider' | 'speed' | 'loop')[];
270
+ /** The speeds its speed control cycles through, as multiples of `stepDuration`. */
271
+ speeds: number[];
272
+ /** Milliseconds each step lasts at speed `1`. */
273
+ stepDuration: number;
274
+ background: string;
275
+ color: string;
276
+ /** CSS length. */
277
+ radius: string;
278
+ padding: string;
279
+ gap: string;
280
+ fontSize: string;
281
+ fontWeight: number | string;
282
+ /** Width reserved for the current step's text, so the slider doesn't shift as it changes. */
283
+ valueWidth: string;
284
+ /** The play and pause button. */
285
+ button: {
286
+ size: string;
287
+ background: string;
288
+ color: string;
289
+ hoverBackground: string;
290
+ radius: string;
291
+ };
292
+ /** The slider's line. */
293
+ track: {
294
+ height: string;
295
+ color: string;
296
+ fillColor: string;
297
+ radius: string;
298
+ };
299
+ /** The slider's handle. */
300
+ thumb: {
301
+ size: string;
302
+ color: string;
303
+ };
304
+ /** The speed and loop buttons. */
305
+ toggle: {
306
+ background: string;
307
+ color: string;
308
+ activeBackground: string;
309
+ activeColor: string;
310
+ radius: string;
311
+ fontSize: string;
312
+ padding: string;
313
+ };
314
+ };
190
315
  };
191
316
  /**
192
317
  * In-SVG hover highlight: crosshair rule, dot + value label, and the area
193
- * highlight — a restyled feature on `GeoPlot`, or an `areaX`/`areaY` band
318
+ * highlight - a restyled feature on `GeoPlot`, or an `areaX`/`areaY` band
194
319
  * on an axis-based plot's band scale.
195
320
  */
196
321
  hover: {
@@ -220,7 +345,7 @@ export type ChartConfig = {
220
345
  };
221
346
  };
222
347
  /** Deep-partial input accepted by `setConfiguration`. */
223
- export type ChartConfigInput = DeepPartial<ChartConfig>;
348
+ export type PlotStylesConfigInput = DeepPartial<PlotStylesConfig>;
224
349
  type DeepPartial<T> = {
225
350
  [K in keyof T]?: T[K] extends (infer U)[] ? U[] : T[K] extends object ? DeepPartial<T[K]> : T[K];
226
351
  };
@@ -0,0 +1,24 @@
1
+ import type { Box } from '../../layout/margins/Box';
2
+ import type { MarginSide } from '../plots/props';
3
+ /** Where a box sits along one axis, next to a point: before it, centred on it, or after it. */
4
+ export type BoxAnchor = 'before' | 'middle' | 'after';
5
+ /** A {@link BoxAnchor} per axis. */
6
+ export type BoxAnchors = {
7
+ x: BoxAnchor;
8
+ y: BoxAnchor;
9
+ };
10
+ /** Where a box goes next to a point: the side it ends up on, per axis, and its offset from the point. */
11
+ export type BoxFlip = {
12
+ anchor: BoxAnchors;
13
+ dx: number;
14
+ dy: number;
15
+ };
16
+ /**
17
+ * A box placed around a point (its origin), and the plot edges that point
18
+ * can sit on: how far the box reaches past each of those edges is room the
19
+ * plot's margins keep for it - see `PlotMargins`.
20
+ */
21
+ export type EdgeBox = {
22
+ box: Box;
23
+ edges: MarginSide[];
24
+ };
@@ -0,0 +1,36 @@
1
+ import type { HoverStrategy } from './hover';
2
+ import type { Orientation, PlayerConfig, TimeValue, TimelineCallbacks, TimelineType } from './timeline';
3
+ /**
4
+ * How a `PlotComposer` arranges its panels: `areas` names the grid cells
5
+ * (one string per row, `.` for empty), else panels flow into `columns`;
6
+ * `widths`/`heights` are relative track sizes. `align` lines up every
7
+ * panel's plot area with its row and column, like facets do - for panels
8
+ * whose plots draw no chrome of their own.
9
+ */
10
+ export type ComposerLayout = {
11
+ areas?: string[];
12
+ columns?: number;
13
+ widths?: number[];
14
+ heights?: number[];
15
+ gap?: number;
16
+ align?: boolean;
17
+ };
18
+ /** Labels a composer stamps on its panels in order: `'A'` (A, B, C…), `'a'`, `'1'`, `'I'` (roman), or an explicit list. */
19
+ export type ComposerTags = 'A' | 'a' | '1' | 'I' | 'i' | string[];
20
+ /** One timeline for every panel: plots with a `timeline` follow its `progress` over `values`. */
21
+ export type ComposerTimelineConfig = TimelineCallbacks & {
22
+ progress?: number;
23
+ values: TimeValue[];
24
+ /** How it draws. Defaults to `'player'`. */
25
+ type?: TimelineType;
26
+ /** The player bar's own options, when `type` is `'player'`. */
27
+ player?: PlayerConfig;
28
+ orientation?: Orientation;
29
+ show?: boolean;
30
+ thickness?: number;
31
+ };
32
+ /** Hover shared by every panel: `sync` broadcasts one panel's hover to the others. */
33
+ export type ComposerHoverConfig = {
34
+ strategy?: HoverStrategy;
35
+ sync?: boolean;
36
+ };
@@ -1,14 +1,15 @@
1
1
  import type { GeoProjection } from 'd3-geo';
2
2
  import type { GeoCameraConfig } from '../plots/camera';
3
+ import type { ChannelScalesConfig, LengthScaleConfig } from './scales';
3
4
  /**
4
5
  * The projection names svelteplot's `<Plot projection>` accepts as a string
5
- * (svelteplot itself doesn't export this as a type — defined here so authors
6
+ * (svelteplot itself doesn't export this as a type - defined here so authors
6
7
  * get autocomplete/type-checking over the full supported set).
7
8
  */
8
9
  export type GeoProjectionName = 'albers-usa' | 'albers' | 'azimuthal-equal-area' | 'azimuthal-equidistant' | 'conic-conformal' | 'conic-equal-area' | 'conic-equidistant' | 'equal-earth' | 'equirectangular' | 'gnomonic' | 'identity' | 'reflect-y' | 'mercator' | 'orthographic' | 'stereographic' | 'transverse-mercator';
9
10
  /**
10
11
  * What a custom projection factory (e.g. `argentinaBicontinental` under
11
- * `$lib`'s geo projections) must return — just enough of d3's `GeoProjection`
12
+ * `$lib`'s geo projections) must return - just enough of d3's `GeoProjection`
12
13
  * for svelteplot to stream marks through it and invert pointer coordinates
13
14
  * back to lon/lat. Deliberately narrower than importing `GeoProjection`
14
15
  * itself, since a hand-tuned custom projection may not implement its full
@@ -37,24 +38,23 @@ export type GeoProjectionConfig = GeoProjectionName | {
37
38
  * instead of the projection's own default (whole-world-sized) framing,
38
39
  * regardless of which named projection is active. Also what makes
39
40
  * `'identity'`/`'reflect-y'` (which otherwise have no scale/translate of
40
- * their own — they pass lon/lat through as-is) size themselves to fill
41
+ * their own - they pass lon/lat through as-is) size themselves to fill
41
42
  * the plot. Pass `'data'` to fit to whatever was already given to the
42
43
  * plot's own `data` prop, instead of repeating it here.
43
44
  */
44
45
  domain?: GeoJSON.GeoJsonObject | GeoJSON.FeatureCollection | GeoJSON.Feature | 'data';
45
46
  };
46
47
  /**
47
- * `scales` prop for GeoPlot — the geo analog of `AxisBasedScalesConfig`.
48
- * A map has no x/y/z axis pair, so this only configures the choropleth
49
- * colour domain (the coordinate system itself is `coordinates.projection`).
48
+ * `scales` prop for GeoPlot - the geo analog of `AxisBasedScalesConfig`. A
49
+ * map has no x/y axis pair (the coordinate system is `coordinates.projection`),
50
+ * so this carries the channels in {@link ChannelScalesConfig} plus `length` -
51
+ * GeoPlot's own plot-wide-only channel (a `vector` marker's magnitude),
52
+ * the geo analog of `AxisBasedScalesConfig.r`.
50
53
  */
51
- export type GeoScalesConfig = {
52
- /** Continuous choropleth value domain — mirrors heatmap's `scales.z.domain`. */
53
- color?: {
54
- domain?: [number, number];
55
- };
54
+ export type GeoScalesConfig = ChannelScalesConfig & {
55
+ length?: LengthScaleConfig;
56
56
  };
57
- /** Wheel/pinch scale gesture only — see `CoordinatesConfig.pan` for drag-to-translate, and `.rotate` for drag-to-spin-the-globe. */
57
+ /** Wheel/pinch scale gesture only - see `CoordinatesConfig.pan` for drag-to-translate, and `.rotate` for drag-to-spin-the-globe. */
58
58
  export type GeoZoomConfig = {
59
59
  min?: number;
60
60
  max?: number;
@@ -65,7 +65,7 @@ export type GeoZoomConfig = {
65
65
  };
66
66
  };
67
67
  /**
68
- * `coordinates` prop for GeoPlot — bundles the projection, interactive
68
+ * `coordinates` prop for GeoPlot - bundles the projection, interactive
69
69
  * gestures, and the declarative `camera`, resolved by `CoordinatesLayout`.
70
70
  */
71
71
  export type CoordinatesConfig = {
@@ -77,6 +77,6 @@ export type CoordinatesConfig = {
77
77
  pan?: boolean;
78
78
  /** `true` enables drag-to-rotate on `orthographic` (claims the drag gesture from `pan`). */
79
79
  rotate?: boolean;
80
- /** `GeoPlot`'s own declarative "current viewpoint" — frame/zoom/anchor on a target, animated on change. See `GeoCameraConfig`. */
80
+ /** `GeoPlot`'s own declarative "current viewpoint" - frame/zoom/anchor on a target, animated on change. See `GeoCameraConfig`. */
81
81
  camera?: GeoCameraConfig;
82
82
  };
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  import type { Accessor } from '../plots/data/common';
3
3
  import type { MarginConfig } from '../plots/props';
4
+ import type { CellEdges } from './grid';
4
5
  export type Responsive<T> = T | {
5
6
  desktop: T;
6
7
  mobile: T;
@@ -8,13 +9,33 @@ export type Responsive<T> = T | {
8
9
  export type FacetColumns = Responsive<number>;
9
10
  export type FacetMode = 'grid' | 'carousel' | 'paginated';
10
11
  export type FacetNavLayout = 'overlay' | 'below';
12
+ /**
13
+ * Which position scales facets share: `'shared'` (default), `'free'`, or
14
+ * `'free-x'`/`'free-y'` for one axis. In a `rows`/`cols` grid a free x is
15
+ * shared down each column and a free y along each row.
16
+ */
17
+ export type FacetScales = 'shared' | 'free' | 'free-x' | 'free-y';
18
+ /**
19
+ * Which facets draw their axes: `'all'` (default), or `'outer'` for only the
20
+ * left column's y and the bottom row's x, with panels resized to equal boxes.
21
+ */
22
+ export type FacetAxes = 'all' | 'outer';
23
+ /** Where a facet sits in its grid - whether each of its sides is on the grid's outer edge. */
24
+ export type FacetEdges = CellEdges;
11
25
  export type FacetCellContext<TRow extends Record<string, unknown>> = {
26
+ /** The facet's label: its `by` value, or its `rows`/`cols` values joined. */
12
27
  facetValue: string;
28
+ /** The facet's `rows` value, in a `rows`/`cols` grid. */
29
+ row?: string;
30
+ /** The facet's `cols` value, in a `rows`/`cols` grid. */
31
+ col?: string;
13
32
  data: TRow[];
14
33
  width: number;
15
34
  height: number;
16
- /** Margin sized off every facet's own natural need, per side — see `marginsForFacet`. Present only when it's given. */
35
+ /** The margins pinned on the facet's plot so its panel lines up with its row and column - once every facet reported its own. */
17
36
  margins?: MarginConfig;
37
+ /** Which of the facet's sides sit on the grid's outer edge. */
38
+ edges: FacetEdges;
18
39
  };
19
40
  export type FacetCellSnippet<TRow extends Record<string, unknown>> = Snippet<[
20
41
  FacetCellContext<TRow>
@@ -31,11 +52,19 @@ export type FacetNavContext = {
31
52
  onclick: () => void;
32
53
  };
33
54
  export type FacetNavSnippet = Snippet<[FacetNavContext]>;
34
- export type FacetConfig<TRow extends Record<string, unknown>> = {
55
+ /** Options every facet layout shares. */
56
+ type FacetCommonConfig = {
57
+ gap?: number;
58
+ scales?: FacetScales;
59
+ axes?: FacetAxes;
60
+ };
61
+ /** One facet per `by` value, wrapped into `columns` - laid out all at once, paged, or as a carousel. */
62
+ export type FacetWrapConfig<TRow extends Record<string, unknown>> = FacetCommonConfig & {
35
63
  by: Accessor<TRow, unknown>;
64
+ rows?: never;
65
+ cols?: never;
36
66
  columns?: FacetColumns;
37
67
  values?: string[];
38
- gap?: number;
39
68
  mode?: Responsive<FacetMode>;
40
69
  visible?: number;
41
70
  pageSize?: number;
@@ -43,23 +72,16 @@ export type FacetConfig<TRow extends Record<string, unknown>> = {
43
72
  formatIndicator?: (current: number, total: number) => string;
44
73
  indicator?: FacetIndicatorSnippet;
45
74
  navButton?: FacetNavSnippet;
46
- /**
47
- * One facet's own natural margin need, per side — measured across every
48
- * facet and combined with `Math.max` per side (`FacetLayout`'s own
49
- * `cellMargins`) to size one shared margin every facet's `cell` receives
50
- * through its own `margins`, instead of each facet growing its own margin
51
- * independently off what its own content happens to need (which drifts
52
- * out of alignment facet to facet, and — for a facet cramped enough that
53
- * its content can never fully fit — can grow without bound). A plot type
54
- * that draws content needing this (a categorical axis's labels, a value
55
- * label's own text) implements this by calling its own margin-estimating
56
- * export against the facet's rows — e.g. `BarPlot`'s left margin from its
57
- * category labels, `LinePlot`'s right margin from its end-of-line value
58
- * labels (see each plot's own docs for what its estimator assumes, such as
59
- * `LinePlot`'s one-line-per-facet caveat) — this callback only carries
60
- * that per-facet result up to where every facet's results can be compared.
61
- * Any side left unset by every facet stays unpinned, falling back to the
62
- * plot's own default (`'auto'`) sizing.
63
- */
64
- marginsForFacet?: (rows: TRow[]) => MarginConfig;
65
75
  };
76
+ /** One facet per `rows` × `cols` combination, with each value labelled; combinations without rows stay empty. */
77
+ export type FacetGridConfig<TRow extends Record<string, unknown>> = FacetCommonConfig & {
78
+ by?: never;
79
+ rows?: Accessor<TRow, unknown>;
80
+ cols?: Accessor<TRow, unknown>;
81
+ /** The `rows` values to show, in order. Defaults to every value, in data order. */
82
+ rowValues?: string[];
83
+ /** The `cols` values to show, in order. Defaults to every value, in data order. */
84
+ colValues?: string[];
85
+ };
86
+ export type FacetConfig<TRow extends Record<string, unknown>> = FacetWrapConfig<TRow> | FacetGridConfig<TRow>;
87
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { Snippet } from 'svelte';
2
+ /** A box measured for a plot to draw into. */
3
+ export type PlotBoxContext = {
4
+ width: number;
5
+ height: number;
6
+ };
7
+ export type PlotBoxSnippet = Snippet<[PlotBoxContext]>;
@@ -1,16 +1,20 @@
1
- /** One resolved segment for scoped-marker rendering — see {@link ScopedMarkerGroup}. */
1
+ /** One resolved segment for scoped-marker rendering - see {@link ScopedMarkerGroup}. */
2
2
  export type ScopedMarkerSegment<TData> = {
3
3
  match: (row: TData) => boolean;
4
4
  color: string;
5
5
  };
6
6
  /**
7
7
  * One series' resolved context for rendering its `series`-scoped `'hover'`/
8
- * `'component'` markers — built by each `Plot.svelte`, consumed by
8
+ * `'component'` markers - built by each `Plot.svelte`, consumed by
9
9
  * `GeometryLayout`. Keeps `GeometryLayout` itself agnostic of each plot
10
10
  * kind's segment style shape (e.g. `fill` vs `stroke.stroke`).
11
11
  */
12
12
  export type ScopedMarkerGroup<TData> = {
13
13
  name: string;
14
+ /** The series' id, when it differs from its name - see `Series.id`. */
15
+ id?: string;
16
+ /** The facet panel the series belongs to. */
17
+ panel?: string;
14
18
  data: TData[];
15
19
  color: string;
16
20
  segments: ScopedMarkerSegment<TData>[];
@@ -0,0 +1,66 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { Margins } from '../../layout/margins/Margins';
3
+ /** Where a cell sits in its grid - whether each of its sides is on the grid's outer edge (no cell beyond it). */
4
+ export type CellEdges = {
5
+ top: boolean;
6
+ right: boolean;
7
+ bottom: boolean;
8
+ left: boolean;
9
+ };
10
+ /** A cell's slot: its top-left track and how many tracks it spans. */
11
+ export type GridSpan = {
12
+ row: number;
13
+ col: number;
14
+ rowSpan: number;
15
+ colSpan: number;
16
+ };
17
+ /** Where a cell asks to sit: a named `area`, an explicit `row`/`col`, or - with neither - the next free slot. */
18
+ export type GridCellSpec = {
19
+ area?: string;
20
+ row?: number;
21
+ col?: number;
22
+ rowSpan?: number;
23
+ colSpan?: number;
24
+ };
25
+ /** A floating cell's box as fractions of its area (or of the whole grid), from the left and bottom edges. */
26
+ export type GridInset = {
27
+ left: number;
28
+ bottom: number;
29
+ right: number;
30
+ top: number;
31
+ };
32
+ /**
33
+ * Where a figure drawn straight inside a `Grid` (a `PlotComposer`'s)
34
+ * sits: a named `area`, or - with `inset` - a box floating over its area.
35
+ * Without either, it takes the next free cell.
36
+ */
37
+ export type GridPlacement = {
38
+ area?: string;
39
+ inset?: GridInset;
40
+ };
41
+ /** The box a grid cell hands its content. */
42
+ export type GridCellContext = {
43
+ width: number;
44
+ height: number;
45
+ /** The margins pinned on the cell's plot so its panel lines up with its row and column - only in an aligned grid. */
46
+ margins?: Margins;
47
+ edges: CellEdges;
48
+ };
49
+ export type GridCellSnippet = Snippet<[GridCellContext]>;
50
+ /** One cell's box: its size and, in an aligned grid, the margins pinned on it. */
51
+ export type CellBox = {
52
+ width: number;
53
+ height: number;
54
+ margins?: Margins;
55
+ };
56
+ /** What a cell asks of its grid: a slot, or - with `inset` - a box floating over one. */
57
+ export type GridCellRequest = GridCellSpec & {
58
+ inset?: GridInset;
59
+ };
60
+ /** Where the grid put a cell: its CSS placement, its box and which sides face the grid's edge. */
61
+ export type GridCellLayout = {
62
+ gridRow?: string;
63
+ gridColumn?: string;
64
+ box: CellBox;
65
+ edges: CellEdges;
66
+ };
@@ -0,0 +1,48 @@
1
+ import type { AxisValue } from './mapping';
2
+ /**
3
+ * How the hover highlight finds related points within a facet.
4
+ * - `'x'` all points sharing the hovered x (default for line / bar).
5
+ * - `'y'` all points sharing the hovered y (default for pyramid).
6
+ * - `'punctual'` exact XY match - one cell at a time (default for heatmap).
7
+ * - `'series'` all points sharing the hovered series, regardless of x/y.
8
+ */
9
+ export type HoverStrategy = 'x' | 'y' | 'punctual' | 'series';
10
+ /** Hover state shared by every plot under one figure - see `HoverState`. */
11
+ export type HoverStore = {
12
+ activeX: AxisValue | null;
13
+ activeY: AxisValue | null;
14
+ /** Series of the hovered row, when the plot kind has a series concept (line/bar). */
15
+ activeSeries: string | null;
16
+ /** The cursor's position in the source plot's box, as fractions of its width and height. */
17
+ cursorFrac: {
18
+ x: number;
19
+ y: number;
20
+ } | null;
21
+ /** Facet id that currently owns the hover (`''` when not faceted). */
22
+ source: string | null;
23
+ /** How related points are found within a facet. */
24
+ strategy: HoverStrategy;
25
+ /** Whether the hover is broadcast to other facets. */
26
+ sync: boolean;
27
+ };
28
+ /** A slice of a category band, as start/end fractions (0-1) of the whole band. */
29
+ export type BandSlice = {
30
+ start: number;
31
+ end: number;
32
+ };
33
+ /** A point ready to render: its plotted position plus its label. */
34
+ export type HoverDisplayPoint = {
35
+ x: AxisValue;
36
+ y: AxisValue;
37
+ label: string;
38
+ /** Owning series name; undefined for plot kinds with no series concept (heatmap). */
39
+ series?: string;
40
+ /** Resolved series color - used by HoverMarker when dotFill/fill is `'currentColor'`. */
41
+ color?: string;
42
+ /** A 'grouped' series' own slice of the category band, as start/end fractions (0-1) of the whole band. `undefined` means the whole band. */
43
+ areaInset?: BandSlice;
44
+ };
45
+ /** A candidate point for hover matching/highlighting - also carries its source row. */
46
+ export type HoverPoint<T> = HoverDisplayPoint & {
47
+ row: T;
48
+ };