@fundar/data-chart-telling 0.0.63 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +21 -0
  3. package/README.md +81 -558
  4. package/dist/configuration/config.svelte.d.ts +5 -5
  5. package/dist/configuration/config.svelte.js +133 -46
  6. package/dist/configuration/fonts.d.ts +6 -0
  7. package/dist/configuration/fonts.js +6 -0
  8. package/dist/configuration/themes/compact.d.ts +2 -2
  9. package/dist/configuration/themes/compact.js +1 -1
  10. package/dist/configuration/themes/dark.d.ts +2 -2
  11. package/dist/configuration/themes/dark.js +5 -4
  12. package/dist/configuration/themes/default.d.ts +8 -3
  13. package/dist/configuration/themes/default.js +8 -2
  14. package/dist/configuration/themes/editorial.d.ts +2 -2
  15. package/dist/configuration/themes/editorial.js +2 -2
  16. package/dist/configuration/themes/index.d.ts +433 -80
  17. package/dist/configuration/themes/index.js +6 -5
  18. package/dist/index.d.ts +34 -48
  19. package/dist/index.js +19 -35
  20. package/dist/layout/base/BasePlotLayout.svelte +312 -0
  21. package/dist/layout/base/BasePlotLayout.svelte.d.ts +111 -0
  22. package/dist/layout/composer/PlotComposer.svelte +94 -0
  23. package/dist/layout/composer/PlotComposer.svelte.d.ts +13 -0
  24. package/dist/layout/coordinates/CameraFit.svelte +4 -4
  25. package/dist/layout/coordinates/CoordinatesLayout.svelte +11 -3
  26. package/dist/layout/coordinates/CoordinatesLayout.svelte.d.ts +6 -2
  27. package/dist/layout/coordinates/camera.svelte.d.ts +1 -1
  28. package/dist/layout/coordinates/camera.svelte.js +6 -6
  29. package/dist/layout/coordinates/projections/argentina.js +3 -3
  30. package/dist/layout/coordinates/projections/fit.js +1 -1
  31. package/dist/layout/coordinates/resolveCameraTarget.d.ts +1 -1
  32. package/dist/layout/coordinates/resolveProjection.d.ts +1 -1
  33. package/dist/layout/coordinates/resolveProjection.js +2 -2
  34. package/dist/layout/coordinates/rotate.svelte.d.ts +3 -3
  35. package/dist/layout/coordinates/rotate.svelte.js +8 -8
  36. package/dist/layout/coordinates/zoom.svelte.d.ts +1 -1
  37. package/dist/layout/facet/FacetIndicator.svelte +23 -23
  38. package/dist/layout/facet/FacetLayout.svelte +435 -398
  39. package/dist/layout/facet/FacetLayout.svelte.d.ts +9 -3
  40. package/dist/layout/facet/axes.d.ts +16 -0
  41. package/dist/layout/facet/axes.js +25 -0
  42. package/dist/layout/facet/config.d.ts +32 -0
  43. package/dist/layout/facet/config.js +82 -0
  44. package/dist/layout/figure/Figure.svelte +177 -0
  45. package/dist/layout/figure/Figure.svelte.d.ts +14 -0
  46. package/dist/layout/figure/FigureChrome.svelte +341 -0
  47. package/dist/layout/figure/FigureChrome.svelte.d.ts +21 -0
  48. package/dist/layout/geometry/FrameClip.svelte +45 -0
  49. package/dist/layout/geometry/FrameClip.svelte.d.ts +8 -0
  50. package/dist/layout/geometry/FrameClipping.d.ts +24 -0
  51. package/dist/layout/geometry/FrameClipping.js +40 -0
  52. package/dist/layout/geometry/GeometryLayout.svelte +287 -224
  53. package/dist/layout/geometry/GeometryLayout.svelte.d.ts +10 -10
  54. package/dist/layout/grid/Grid.svelte +194 -0
  55. package/dist/layout/grid/Grid.svelte.d.ts +26 -0
  56. package/dist/layout/grid/GridAlignment.svelte.d.ts +31 -0
  57. package/dist/layout/grid/GridAlignment.svelte.js +56 -0
  58. package/dist/layout/grid/GridCell.svelte +141 -0
  59. package/dist/layout/grid/GridCell.svelte.d.ts +17 -0
  60. package/dist/layout/grid/GridCellsRegistry.svelte.d.ts +52 -0
  61. package/dist/layout/grid/GridCellsRegistry.svelte.js +70 -0
  62. package/dist/layout/grid/GridPlan.d.ts +49 -0
  63. package/dist/layout/grid/GridPlan.js +167 -0
  64. package/dist/layout/grid/Tags.d.ts +8 -0
  65. package/dist/layout/grid/Tags.js +39 -0
  66. package/dist/layout/hover/HoverScope.svelte +11 -0
  67. package/dist/layout/hover/HoverScope.svelte.d.ts +8 -0
  68. package/dist/layout/hover/HoverSettings.d.ts +20 -0
  69. package/dist/layout/hover/HoverSettings.js +27 -0
  70. package/dist/layout/hover/HoverState.svelte.d.ts +47 -0
  71. package/dist/layout/hover/HoverState.svelte.js +99 -0
  72. package/dist/layout/hover/PlotHover.svelte.d.ts +63 -0
  73. package/dist/layout/hover/PlotHover.svelte.js +133 -0
  74. package/dist/layout/interaction/PlotInteraction.svelte.d.ts +38 -0
  75. package/dist/layout/interaction/PlotInteraction.svelte.js +56 -0
  76. package/dist/layout/legend/AxisNumberFormat.d.ts +12 -0
  77. package/dist/layout/legend/AxisNumberFormat.js +25 -0
  78. package/dist/layout/legend/ContinuousSection.svelte +365 -335
  79. package/dist/layout/legend/DisabledStyle.d.ts +19 -0
  80. package/dist/layout/legend/DisabledStyle.js +57 -0
  81. package/dist/layout/legend/DiscreteBadgeItem.svelte +6 -3
  82. package/dist/layout/legend/DiscreteSection.svelte +39 -32
  83. package/dist/layout/legend/DiscreteSwatchItem.svelte +4 -1
  84. package/dist/layout/legend/DiscreteSymbolIcon.svelte +14 -9
  85. package/dist/layout/legend/LegendChannels.d.ts +21 -0
  86. package/dist/layout/legend/LegendChannels.js +221 -0
  87. package/dist/layout/legend/LegendLayout.svelte +49 -43
  88. package/dist/layout/legend/LegendState.svelte.d.ts +79 -0
  89. package/dist/layout/legend/LegendState.svelte.js +329 -0
  90. package/dist/layout/legend/LegendText.d.ts +12 -0
  91. package/dist/layout/legend/LegendText.js +22 -0
  92. package/dist/layout/legend/SizeSection.svelte +84 -0
  93. package/dist/layout/legend/SizeSection.svelte.d.ts +7 -0
  94. package/dist/layout/legend/SymbolSection.svelte +31 -0
  95. package/dist/layout/legend/SymbolSection.svelte.d.ts +8 -0
  96. package/dist/layout/margins/Box.d.ts +84 -0
  97. package/dist/layout/margins/Box.js +138 -0
  98. package/dist/layout/margins/Margins.d.ts +37 -0
  99. package/dist/layout/margins/Margins.js +71 -0
  100. package/dist/layout/margins/PlotMargins.svelte.d.ts +101 -0
  101. package/dist/layout/margins/PlotMargins.svelte.js +219 -0
  102. package/dist/layout/plot/Core.svelte +61 -0
  103. package/dist/layout/plot/Core.svelte.d.ts +41 -0
  104. package/dist/layout/plot/PanelRun.svelte +28 -0
  105. package/dist/{charts/heatmap/Chart.svelte.d.ts → layout/plot/PanelRun.svelte.d.ts} +11 -7
  106. package/dist/layout/plot/Plot.svelte +284 -0
  107. package/dist/layout/plot/Plot.svelte.d.ts +49 -0
  108. package/dist/layout/plot/PlotContext.d.ts +41 -0
  109. package/dist/layout/plot/PlotContext.js +46 -0
  110. package/dist/layout/plot/PublicPlotContext.d.ts +130 -0
  111. package/dist/layout/plot/PublicPlotContext.js +236 -0
  112. package/dist/layout/plot/Slice.d.ts +44 -0
  113. package/dist/layout/plot/Slice.js +98 -0
  114. package/dist/layout/plot/usePlot.d.ts +9 -0
  115. package/dist/layout/plot/usePlot.js +13 -0
  116. package/dist/layout/scales/ScalesLayout.svelte +241 -206
  117. package/dist/layout/scales/ScalesLayout.svelte.d.ts +2 -1
  118. package/dist/layout/scales/buildScale.d.ts +5 -22
  119. package/dist/layout/scales/buildScale.js +11 -34
  120. package/dist/layout/scales/niceDomain.d.ts +3 -3
  121. package/dist/layout/scales/niceDomain.js +4 -4
  122. package/dist/layout/styles/StylesLayout.svelte +65 -65
  123. package/dist/layout/styles/TileLayer.svelte +78 -76
  124. package/dist/layout/styles/TileLayer.svelte.d.ts +1 -1
  125. package/dist/layout/styles/ValueLabels.d.ts +97 -0
  126. package/dist/layout/styles/ValueLabels.js +237 -0
  127. package/dist/layout/timeline/Timeline.svelte +80 -74
  128. package/dist/layout/timeline/TimelineFrame.svelte +86 -0
  129. package/dist/layout/timeline/TimelineFrame.svelte.d.ts +16 -0
  130. package/dist/layout/timeline/TimelineLayout.svelte +114 -169
  131. package/dist/layout/timeline/TimelineLayout.svelte.d.ts +2 -0
  132. package/dist/layout/timeline/TimelinePlayer.svelte +195 -0
  133. package/dist/layout/timeline/TimelinePlayer.svelte.d.ts +7 -0
  134. package/dist/layout/timeline/TimelineRule.svelte +50 -0
  135. package/dist/layout/timeline/TimelineRule.svelte.d.ts +7 -0
  136. package/dist/layout/timeline/TimelineState.svelte.d.ts +82 -0
  137. package/dist/layout/timeline/TimelineState.svelte.js +226 -0
  138. package/dist/layout/timeline/TimelineSteps.d.ts +24 -0
  139. package/dist/layout/timeline/TimelineSteps.js +48 -0
  140. package/dist/layout/tooltip/Tooltip.svelte +82 -85
  141. package/dist/layout/tooltip/Tooltip.svelte.d.ts +43 -24
  142. package/dist/layout/tooltip/TooltipState.svelte.d.ts +61 -0
  143. package/dist/layout/tooltip/TooltipState.svelte.js +107 -0
  144. package/dist/markers/MarkerKinds.d.ts +173 -0
  145. package/dist/markers/MarkerKinds.js +51 -0
  146. package/dist/markers/area/AreaMarker.svelte +110 -0
  147. package/dist/markers/area/AreaMarker.svelte.d.ts +7 -0
  148. package/dist/markers/arrow/ArrowMarker.svelte +28 -0
  149. package/dist/markers/arrow/ArrowMarker.svelte.d.ts +7 -0
  150. package/dist/markers/{BarMarker.svelte → bar/BarMarker.svelte} +54 -52
  151. package/dist/markers/{BarMarker.svelte.d.ts → bar/BarMarker.svelte.d.ts} +1 -1
  152. package/dist/markers/bollinger/BollingerMarker.svelte +44 -0
  153. package/dist/markers/bollinger/BollingerMarker.svelte.d.ts +7 -0
  154. package/dist/markers/box/BoxMarker.svelte +143 -0
  155. package/dist/markers/box/BoxMarker.svelte.d.ts +7 -0
  156. package/dist/markers/brush/BrushMarker.svelte +32 -0
  157. package/dist/markers/brush/BrushMarker.svelte.d.ts +7 -0
  158. package/dist/markers/cell/CellMarker.svelte +27 -0
  159. package/dist/markers/{CellMarker.svelte.d.ts → cell/CellMarker.svelte.d.ts} +1 -1
  160. package/dist/markers/contour/ContourClipMarker.svelte +83 -0
  161. package/dist/markers/{ContourClipMarker.svelte.d.ts → contour/ContourClipMarker.svelte.d.ts} +1 -1
  162. package/dist/markers/contour/ContourMarker.svelte +28 -0
  163. package/dist/markers/{ContourMarker.svelte.d.ts → contour/ContourMarker.svelte.d.ts} +1 -1
  164. package/dist/markers/delaunay/DelaunayLinkMarker.svelte +26 -0
  165. package/dist/markers/delaunay/DelaunayLinkMarker.svelte.d.ts +7 -0
  166. package/dist/markers/delaunay/DelaunayMeshMarker.svelte +26 -0
  167. package/dist/markers/delaunay/DelaunayMeshMarker.svelte.d.ts +7 -0
  168. package/dist/markers/delta/Delta.d.ts +21 -0
  169. package/dist/markers/delta/Delta.js +60 -0
  170. package/dist/markers/delta/DeltaMarker.svelte +94 -0
  171. package/dist/markers/{DeltaMarker.svelte.d.ts → delta/DeltaMarker.svelte.d.ts} +2 -2
  172. package/dist/markers/density/DensityMarker.svelte +63 -0
  173. package/dist/markers/density/DensityMarker.svelte.d.ts +7 -0
  174. package/dist/markers/difference/DifferenceMarker.svelte +30 -0
  175. package/dist/markers/difference/DifferenceMarker.svelte.d.ts +7 -0
  176. package/dist/markers/dot/DotMarker.svelte +102 -0
  177. package/dist/markers/{DotMarker.svelte.d.ts → dot/DotMarker.svelte.d.ts} +5 -17
  178. package/dist/markers/geo/GeoFeaturesMarker.svelte +39 -0
  179. package/dist/markers/{GeoFeaturesMarker.svelte.d.ts → geo/GeoFeaturesMarker.svelte.d.ts} +1 -1
  180. package/dist/markers/geo/GeoHoverMarker.svelte +28 -0
  181. package/dist/markers/{GeoHoverMarker.svelte.d.ts → geo/GeoHoverMarker.svelte.d.ts} +2 -2
  182. package/dist/markers/geo/GraticuleMarker.svelte +18 -0
  183. package/dist/markers/{GraticuleMarker.svelte.d.ts → geo/GraticuleMarker.svelte.d.ts} +1 -1
  184. package/dist/markers/geo/SphereMarker.svelte +15 -0
  185. package/dist/markers/{SphereMarker.svelte.d.ts → geo/SphereMarker.svelte.d.ts} +1 -1
  186. package/dist/markers/hover/HoverMarker.svelte +252 -0
  187. package/dist/markers/{HoverMarker.svelte.d.ts → hover/HoverMarker.svelte.d.ts} +10 -10
  188. package/dist/markers/hull/HullMarker.svelte +25 -0
  189. package/dist/markers/hull/HullMarker.svelte.d.ts +7 -0
  190. package/dist/markers/image/ImageMarker.svelte +22 -0
  191. package/dist/markers/image/ImageMarker.svelte.d.ts +7 -0
  192. package/dist/markers/inset/InsetMarker.svelte +184 -150
  193. package/dist/markers/inset/InsetMarker.svelte.d.ts +4 -4
  194. package/dist/markers/inset/insetLayout.d.ts +1 -1
  195. package/dist/markers/inset/insetLayout.js +6 -2
  196. package/dist/markers/inset/insetProjection.d.ts +1 -1
  197. package/dist/markers/inset/insetProjection.js +3 -3
  198. package/dist/markers/line/LineMarker.svelte +30 -0
  199. package/dist/markers/{LineMarker.svelte.d.ts → line/LineMarker.svelte.d.ts} +1 -1
  200. package/dist/markers/link/LinkMarker.svelte +47 -0
  201. package/dist/markers/{LinkMarker.svelte.d.ts → link/LinkMarker.svelte.d.ts} +1 -1
  202. package/dist/markers/raster/RasterMarker.svelte +31 -0
  203. package/dist/markers/raster/RasterMarker.svelte.d.ts +7 -0
  204. package/dist/markers/rect/RectMarker.svelte +62 -0
  205. package/dist/markers/rect/RectMarker.svelte.d.ts +7 -0
  206. package/dist/markers/regression/RegressionMarker.svelte +60 -0
  207. package/dist/markers/regression/RegressionMarker.svelte.d.ts +7 -0
  208. package/dist/markers/rule/RuleMarker.svelte +47 -0
  209. package/dist/markers/{RuleMarker.svelte.d.ts → rule/RuleMarker.svelte.d.ts} +2 -5
  210. package/dist/markers/text/Declutter.d.ts +35 -0
  211. package/dist/markers/text/Declutter.js +157 -0
  212. package/dist/markers/text/TextMarker.svelte +244 -0
  213. package/dist/markers/{TextMarker.svelte.d.ts → text/TextMarker.svelte.d.ts} +5 -9
  214. package/dist/markers/tick/TickMarker.svelte +44 -0
  215. package/dist/markers/tick/TickMarker.svelte.d.ts +7 -0
  216. package/dist/markers/trail/TrailMarker.svelte +27 -0
  217. package/dist/markers/trail/TrailMarker.svelte.d.ts +7 -0
  218. package/dist/markers/utils/BandNudge.d.ts +22 -0
  219. package/dist/markers/utils/BandNudge.js +23 -0
  220. package/dist/markers/utils/MarkerChannels.d.ts +49 -0
  221. package/dist/markers/utils/MarkerChannels.js +97 -0
  222. package/dist/markers/vector/VectorMarker.svelte +29 -0
  223. package/dist/markers/{VectorMarker.svelte.d.ts → vector/VectorMarker.svelte.d.ts} +1 -1
  224. package/dist/markers/voronoi/VoronoiMarker.svelte +26 -0
  225. package/dist/markers/voronoi/VoronoiMarker.svelte.d.ts +7 -0
  226. package/dist/markers/voronoi/VoronoiMeshMarker.svelte +26 -0
  227. package/dist/markers/voronoi/VoronoiMeshMarker.svelte.d.ts +7 -0
  228. package/dist/markers/waffle/WaffleMarker.svelte +56 -0
  229. package/dist/markers/waffle/WaffleMarker.svelte.d.ts +7 -0
  230. package/dist/phases/Pipeline.d.ts +108 -0
  231. package/dist/phases/Pipeline.js +226 -0
  232. package/dist/phases/data/DataPhase.d.ts +25 -0
  233. package/dist/phases/data/DataPhase.js +82 -0
  234. package/dist/phases/data/PlotAxes.d.ts +75 -0
  235. package/dist/phases/data/PlotAxes.js +151 -0
  236. package/dist/phases/facet/FacetPhase.d.ts +52 -0
  237. package/dist/phases/facet/FacetPhase.js +114 -0
  238. package/dist/phases/hover/HoverPhase.d.ts +73 -0
  239. package/dist/phases/hover/HoverPhase.js +144 -0
  240. package/dist/phases/mapping/MappingPhase.d.ts +17 -0
  241. package/dist/phases/mapping/MappingPhase.js +42 -0
  242. package/dist/phases/markers/MarkersPhase.d.ts +14 -0
  243. package/dist/phases/markers/MarkersPhase.js +27 -0
  244. package/dist/phases/scales/MarkerAxisValues.d.ts +12 -0
  245. package/dist/phases/scales/MarkerAxisValues.js +34 -0
  246. package/dist/phases/scales/ScalesPhase.d.ts +31 -0
  247. package/dist/phases/scales/ScalesPhase.js +157 -0
  248. package/dist/phases/sharedScales/SharedScalesPhase.d.ts +55 -0
  249. package/dist/phases/sharedScales/SharedScalesPhase.js +168 -0
  250. package/dist/phases/statistics/AuthorMarkers.d.ts +43 -0
  251. package/dist/phases/statistics/AuthorMarkers.js +69 -0
  252. package/dist/phases/statistics/MarkerGrouping.d.ts +48 -0
  253. package/dist/phases/statistics/MarkerGrouping.js +113 -0
  254. package/dist/phases/statistics/Statistics.d.ts +53 -0
  255. package/dist/phases/statistics/Statistics.js +156 -0
  256. package/dist/phases/statistics/StatisticsPhase.d.ts +18 -0
  257. package/dist/phases/statistics/StatisticsPhase.js +68 -0
  258. package/dist/phases/statistics/methods/BollingerStatistic.d.ts +9 -0
  259. package/dist/phases/statistics/methods/BollingerStatistic.js +18 -0
  260. package/dist/phases/statistics/methods/BoxStatistic.d.ts +9 -0
  261. package/dist/phases/statistics/methods/BoxStatistic.js +18 -0
  262. package/dist/phases/statistics/methods/Density2dStatistic.d.ts +9 -0
  263. package/dist/phases/statistics/methods/Density2dStatistic.js +18 -0
  264. package/dist/phases/statistics/methods/DensityStatistic.d.ts +12 -0
  265. package/dist/phases/statistics/methods/DensityStatistic.js +29 -0
  266. package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +12 -0
  267. package/dist/phases/statistics/methods/MovingAverageStatistic.js +30 -0
  268. package/dist/phases/statistics/methods/RegressionStatistic.d.ts +9 -0
  269. package/dist/phases/statistics/methods/RegressionStatistic.js +21 -0
  270. package/dist/phases/styles/StylesPhase.d.ts +13 -0
  271. package/dist/phases/styles/StylesPhase.js +17 -0
  272. package/dist/phases/tooltip/TooltipPhase.d.ts +12 -0
  273. package/dist/phases/tooltip/TooltipPhase.js +10 -0
  274. package/dist/phases/transforms/Transforms.d.ts +42 -0
  275. package/dist/phases/transforms/Transforms.js +130 -0
  276. package/dist/phases/transforms/TransformsPhase.d.ts +64 -0
  277. package/dist/phases/transforms/TransformsPhase.js +242 -0
  278. package/dist/phases/transforms/methods/AnchorBar.d.ts +13 -0
  279. package/dist/phases/transforms/methods/AnchorBar.js +21 -0
  280. package/dist/phases/transforms/methods/BinTransform.d.ts +7 -0
  281. package/dist/phases/transforms/methods/BinTransform.js +48 -0
  282. package/dist/phases/transforms/methods/DensityTransform.d.ts +6 -0
  283. package/dist/phases/transforms/methods/DensityTransform.js +13 -0
  284. package/dist/phases/transforms/methods/GroupTransform.d.ts +8 -0
  285. package/dist/phases/transforms/methods/GroupTransform.js +39 -0
  286. package/dist/phases/transforms/methods/NormalizeTransform.d.ts +10 -0
  287. package/dist/phases/transforms/methods/NormalizeTransform.js +30 -0
  288. package/dist/phases/transforms/methods/OrderTransform.d.ts +16 -0
  289. package/dist/phases/transforms/methods/OrderTransform.js +43 -0
  290. package/dist/phases/transforms/methods/PerGroup.d.ts +11 -0
  291. package/dist/phases/transforms/methods/PerGroup.js +39 -0
  292. package/dist/phases/transforms/methods/PositionTransform.d.ts +15 -0
  293. package/dist/phases/transforms/methods/PositionTransform.js +74 -0
  294. package/dist/phases/transforms/methods/StackTransform.d.ts +8 -0
  295. package/dist/phases/transforms/methods/StackTransform.js +29 -0
  296. package/dist/phases/transforms/methods/WindowTransform.d.ts +8 -0
  297. package/dist/phases/transforms/methods/WindowTransform.js +23 -0
  298. package/dist/plots/area/Plot.svelte +42 -0
  299. package/dist/plots/{heatmap/ValueLabels.svelte.d.ts → area/Plot.svelte.d.ts} +8 -16
  300. package/dist/plots/area/defaults.d.ts +4 -0
  301. package/dist/plots/area/defaults.js +21 -0
  302. package/dist/plots/area/markers.d.ts +14 -0
  303. package/dist/plots/area/markers.js +40 -0
  304. package/dist/plots/bar/Plot.svelte +33 -438
  305. package/dist/plots/bar/Plot.svelte.d.ts +5 -8
  306. package/dist/plots/bar/defaults.d.ts +9 -0
  307. package/dist/plots/bar/defaults.js +92 -0
  308. package/dist/plots/bar/markers.d.ts +45 -0
  309. package/dist/plots/bar/markers.js +232 -0
  310. package/dist/plots/geo/Core.svelte +151 -0
  311. package/dist/plots/geo/Core.svelte.d.ts +25 -0
  312. package/dist/plots/geo/Plot.svelte +103 -324
  313. package/dist/plots/geo/Plot.svelte.d.ts +5 -9
  314. package/dist/plots/geo/defaults.d.ts +4 -0
  315. package/dist/plots/geo/defaults.js +16 -0
  316. package/dist/plots/geo/features.svelte.d.ts +5 -0
  317. package/dist/plots/geo/features.svelte.js +44 -0
  318. package/dist/plots/geo/phases/data.d.ts +6 -0
  319. package/dist/plots/geo/phases/data.js +26 -0
  320. package/dist/plots/geo/phases/hover.d.ts +9 -0
  321. package/dist/plots/geo/phases/hover.js +45 -0
  322. package/dist/plots/geo/phases/markers.d.ts +9 -0
  323. package/dist/plots/geo/phases/markers.js +76 -0
  324. package/dist/plots/geo/phases/scales.d.ts +10 -0
  325. package/dist/plots/geo/phases/scales.js +85 -0
  326. package/dist/plots/geo/phases/tooltip.d.ts +3 -0
  327. package/dist/plots/geo/phases/tooltip.js +5 -0
  328. package/dist/plots/geo/slices.d.ts +18 -0
  329. package/dist/plots/geo/slices.js +56 -0
  330. package/dist/plots/heatmap/Plot.svelte +55 -249
  331. package/dist/plots/heatmap/Plot.svelte.d.ts +5 -8
  332. package/dist/plots/heatmap/defaults.d.ts +11 -0
  333. package/dist/plots/heatmap/defaults.js +91 -0
  334. package/dist/plots/heatmap/markers.d.ts +17 -0
  335. package/dist/plots/heatmap/markers.js +141 -0
  336. package/dist/plots/histogram/Plot.svelte +45 -0
  337. package/dist/plots/histogram/Plot.svelte.d.ts +26 -0
  338. package/dist/plots/histogram/defaults.d.ts +9 -0
  339. package/dist/plots/histogram/defaults.js +87 -0
  340. package/dist/plots/histogram/markers.d.ts +18 -0
  341. package/dist/plots/histogram/markers.js +89 -0
  342. package/dist/plots/line/Plot.svelte +37 -268
  343. package/dist/plots/line/Plot.svelte.d.ts +3 -7
  344. package/dist/plots/line/defaults.d.ts +4 -0
  345. package/dist/plots/line/defaults.js +29 -0
  346. package/dist/plots/line/markers.d.ts +49 -0
  347. package/dist/plots/line/markers.js +200 -0
  348. package/dist/plots/pyramid/Plot.svelte +34 -362
  349. package/dist/plots/pyramid/Plot.svelte.d.ts +5 -8
  350. package/dist/plots/pyramid/defaults.d.ts +13 -0
  351. package/dist/plots/pyramid/defaults.js +86 -0
  352. package/dist/plots/pyramid/markers.d.ts +21 -0
  353. package/dist/plots/pyramid/markers.js +159 -0
  354. package/dist/plots/scatter/Plot.svelte +34 -288
  355. package/dist/plots/scatter/Plot.svelte.d.ts +5 -8
  356. package/dist/plots/scatter/defaults.d.ts +4 -0
  357. package/dist/plots/scatter/defaults.js +79 -0
  358. package/dist/plots/scatter/markers.d.ts +19 -0
  359. package/dist/plots/scatter/markers.js +128 -0
  360. package/dist/plots/utils/ChannelName.d.ts +9 -0
  361. package/dist/plots/utils/ChannelName.js +14 -0
  362. package/dist/plots/utils/accessors.d.ts +1 -1
  363. package/dist/plots/utils/accessors.js +4 -2
  364. package/dist/plots/utils/gaps.d.ts +14 -19
  365. package/dist/plots/utils/gaps.js +38 -18
  366. package/dist/plots/utils/geoAccessors.d.ts +8 -8
  367. package/dist/plots/utils/geoAccessors.js +16 -12
  368. package/dist/plots/utils/geoSegments.d.ts +24 -9
  369. package/dist/plots/utils/geoSegments.js +31 -11
  370. package/dist/plots/utils/segments.d.ts +5 -16
  371. package/dist/plots/utils/segments.js +40 -52
  372. package/dist/plots/utils/tiles.d.ts +9 -9
  373. package/dist/plots/utils/tiles.js +35 -25
  374. package/dist/plots/utils/topojson.d.ts +1 -1
  375. package/dist/plots/utils/topojson.js +3 -3
  376. package/dist/stores/device.js +2 -4
  377. package/dist/types/configuration/styling.d.ts +158 -27
  378. package/dist/types/layout/box.d.ts +24 -0
  379. package/dist/types/layout/composer.d.ts +36 -0
  380. package/dist/types/layout/coordinates.d.ts +14 -14
  381. package/dist/types/layout/facet.d.ts +44 -22
  382. package/dist/types/layout/figure.d.ts +7 -0
  383. package/dist/types/layout/geometry.d.ts +6 -2
  384. package/dist/types/layout/grid.d.ts +66 -0
  385. package/dist/types/layout/hover.d.ts +48 -0
  386. package/dist/types/layout/legend.d.ts +258 -54
  387. package/dist/types/layout/mapping.d.ts +68 -0
  388. package/dist/types/layout/plot.d.ts +41 -0
  389. package/dist/types/layout/scales.d.ts +92 -24
  390. package/dist/types/layout/scales.js +19 -1
  391. package/dist/types/layout/statistics/bollinger.d.ts +18 -0
  392. package/dist/types/layout/statistics/box.d.ts +8 -0
  393. package/dist/types/layout/statistics/box.js +1 -0
  394. package/dist/types/layout/statistics/density.d.ts +27 -0
  395. package/dist/types/layout/statistics/density.js +1 -0
  396. package/dist/types/layout/statistics/index.d.ts +46 -0
  397. package/dist/types/layout/statistics/index.js +1 -0
  398. package/dist/types/layout/statistics/movingAverage.d.ts +12 -0
  399. package/dist/types/layout/statistics/movingAverage.js +1 -0
  400. package/dist/types/layout/statistics/regression.d.ts +20 -0
  401. package/dist/types/layout/statistics/regression.js +1 -0
  402. package/dist/types/layout/styles.d.ts +24 -35
  403. package/dist/types/layout/timeline.d.ts +51 -4
  404. package/dist/types/layout/tooltip.d.ts +7 -85
  405. package/dist/types/markers/all.d.ts +3 -4
  406. package/dist/types/markers/axis/area.d.ts +12 -0
  407. package/dist/types/markers/axis/area.js +1 -0
  408. package/dist/types/markers/axis/arrow.d.ts +15 -0
  409. package/dist/types/markers/axis/arrow.js +1 -0
  410. package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +29 -0
  411. package/dist/types/markers/axis/axisBasedMarkersConfig.js +1 -0
  412. package/dist/types/markers/axis/bar.d.ts +18 -0
  413. package/dist/types/markers/axis/bar.js +1 -0
  414. package/dist/types/markers/axis/bollinger.d.ts +6 -0
  415. package/dist/types/markers/axis/bollinger.js +1 -0
  416. package/dist/types/markers/axis/box.d.ts +14 -0
  417. package/dist/types/markers/axis/box.js +1 -0
  418. package/dist/types/markers/axis/brush.d.ts +28 -0
  419. package/dist/types/markers/axis/brush.js +1 -0
  420. package/dist/types/markers/axis/cell.d.ts +9 -0
  421. package/dist/types/markers/axis/cell.js +1 -0
  422. package/dist/types/markers/axis/component.d.ts +9 -0
  423. package/dist/types/markers/axis/component.js +1 -0
  424. package/dist/types/markers/axis/curveName.d.ts +2 -0
  425. package/dist/types/markers/axis/curveName.js +1 -0
  426. package/dist/types/markers/axis/delaunayLink.d.ts +7 -0
  427. package/dist/types/markers/axis/delaunayLink.js +1 -0
  428. package/dist/types/markers/axis/delaunayMesh.d.ts +7 -0
  429. package/dist/types/markers/axis/delaunayMesh.js +1 -0
  430. package/dist/types/markers/axis/delta.d.ts +27 -0
  431. package/dist/types/markers/axis/delta.js +1 -0
  432. package/dist/types/markers/axis/density.d.ts +12 -0
  433. package/dist/types/markers/axis/density.js +1 -0
  434. package/dist/types/markers/axis/difference.d.ts +12 -0
  435. package/dist/types/markers/axis/difference.js +1 -0
  436. package/dist/types/markers/axis/hover.d.ts +21 -0
  437. package/dist/types/markers/axis/hover.js +1 -0
  438. package/dist/types/markers/axis/hull.d.ts +7 -0
  439. package/dist/types/markers/axis/hull.js +1 -0
  440. package/dist/types/markers/axis/image.d.ts +12 -0
  441. package/dist/types/markers/axis/image.js +1 -0
  442. package/dist/types/markers/axis/line.d.ts +7 -0
  443. package/dist/types/markers/axis/line.js +1 -0
  444. package/dist/types/markers/axis/raster.d.ts +18 -0
  445. package/dist/types/markers/axis/raster.js +1 -0
  446. package/dist/types/markers/axis/rect.d.ts +15 -0
  447. package/dist/types/markers/axis/rect.js +1 -0
  448. package/dist/types/markers/axis/regression.d.ts +6 -0
  449. package/dist/types/markers/axis/regression.js +1 -0
  450. package/dist/types/markers/axis/rule.d.ts +15 -0
  451. package/dist/types/markers/axis/rule.js +1 -0
  452. package/dist/types/markers/axis/tick.d.ts +8 -0
  453. package/dist/types/markers/axis/tick.js +1 -0
  454. package/dist/types/markers/axis/trail.d.ts +14 -0
  455. package/dist/types/markers/axis/trail.js +1 -0
  456. package/dist/types/markers/axis/voronoi.d.ts +7 -0
  457. package/dist/types/markers/axis/voronoi.js +1 -0
  458. package/dist/types/markers/axis/voronoiMesh.d.ts +7 -0
  459. package/dist/types/markers/axis/voronoiMesh.js +1 -0
  460. package/dist/types/markers/axis/waffle.d.ts +13 -0
  461. package/dist/types/markers/axis/waffle.js +1 -0
  462. package/dist/types/markers/basic/basicMarkersConfig.d.ts +4 -0
  463. package/dist/types/markers/basic/basicMarkersConfig.js +1 -0
  464. package/dist/types/markers/basic/dot.d.ts +9 -0
  465. package/dist/types/markers/basic/dot.js +1 -0
  466. package/dist/types/markers/basic/text.d.ts +60 -0
  467. package/dist/types/markers/basic/text.js +1 -0
  468. package/dist/types/markers/basic.d.ts +4 -0
  469. package/dist/types/markers/basic.js +1 -0
  470. package/dist/types/markers/channels/commonMarkerConfig.d.ts +26 -0
  471. package/dist/types/markers/channels/commonMarkerConfig.js +1 -0
  472. package/dist/types/markers/channels/commonMarkerConfigWithArea.d.ts +6 -0
  473. package/dist/types/markers/channels/commonMarkerConfigWithArea.js +1 -0
  474. package/dist/types/markers/channels/commonMarkerConfigWithColor.d.ts +5 -0
  475. package/dist/types/markers/channels/commonMarkerConfigWithColor.js +1 -0
  476. package/dist/types/markers/channels/commonMarkerConfigWithInterval.d.ts +9 -0
  477. package/dist/types/markers/channels/commonMarkerConfigWithInterval.js +1 -0
  478. package/dist/types/markers/channels/commonMarkerConfigWithRadius.d.ts +5 -0
  479. package/dist/types/markers/channels/commonMarkerConfigWithRadius.js +1 -0
  480. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.d.ts +5 -0
  481. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.js +1 -0
  482. package/dist/types/markers/channels/commonMarkerConfigWithWeight.d.ts +5 -0
  483. package/dist/types/markers/channels/commonMarkerConfigWithWeight.js +1 -0
  484. package/dist/types/markers/common.d.ts +30 -103
  485. package/dist/types/markers/common.js +29 -1
  486. package/dist/types/markers/geo/contour.d.ts +27 -0
  487. package/dist/types/markers/geo/contour.js +1 -0
  488. package/dist/types/markers/geo/features.d.ts +12 -0
  489. package/dist/types/markers/geo/features.js +1 -0
  490. package/dist/types/markers/geo/geoComponent.d.ts +7 -0
  491. package/dist/types/markers/geo/geoComponent.js +1 -0
  492. package/dist/types/markers/geo/geoHover.d.ts +6 -0
  493. package/dist/types/markers/geo/geoHover.js +1 -0
  494. package/dist/types/markers/geo/geoMarkersConfig.d.ts +11 -0
  495. package/dist/types/markers/geo/geoMarkersConfig.js +1 -0
  496. package/dist/types/markers/geo/graticule.d.ts +11 -0
  497. package/dist/types/markers/geo/graticule.js +1 -0
  498. package/dist/types/markers/geo/inset.d.ts +50 -0
  499. package/dist/types/markers/geo/inset.js +1 -0
  500. package/dist/types/markers/geo/link.d.ts +13 -0
  501. package/dist/types/markers/geo/link.js +1 -0
  502. package/dist/types/markers/geo/sphere.d.ts +11 -0
  503. package/dist/types/markers/geo/sphere.js +1 -0
  504. package/dist/types/markers/geo/vector.d.ts +17 -0
  505. package/dist/types/markers/geo/vector.js +1 -0
  506. package/dist/types/markers/geo.d.ts +10 -212
  507. package/dist/types/markers/geo.js +10 -1
  508. package/dist/types/markers/traits.d.ts +22 -0
  509. package/dist/types/markers/traits.js +1 -0
  510. package/dist/types/misc/easing.js +1 -0
  511. package/dist/types/misc/viewport.js +1 -0
  512. package/dist/types/phases/data/axes.d.ts +18 -0
  513. package/dist/types/phases/data/axes.js +1 -0
  514. package/dist/types/phases/data/phase.d.ts +26 -0
  515. package/dist/types/phases/data/phase.js +2 -0
  516. package/dist/types/phases/facet/phase.d.ts +18 -0
  517. package/dist/types/phases/facet/phase.js +1 -0
  518. package/dist/types/phases/hover/phase.d.ts +34 -0
  519. package/dist/types/phases/hover/phase.js +1 -0
  520. package/dist/types/phases/index.d.ts +14 -0
  521. package/dist/types/phases/index.js +1 -0
  522. package/dist/types/phases/kind.d.ts +59 -0
  523. package/dist/types/phases/kind.js +1 -0
  524. package/dist/types/phases/mapping/phase.d.ts +5 -0
  525. package/dist/types/phases/mapping/phase.js +1 -0
  526. package/dist/types/phases/markers/phase.d.ts +13 -0
  527. package/dist/types/phases/markers/phase.js +1 -0
  528. package/dist/types/phases/pipeline.d.ts +10 -0
  529. package/dist/types/phases/pipeline.js +1 -0
  530. package/dist/types/phases/scales/phase.d.ts +26 -0
  531. package/dist/types/phases/scales/phase.js +1 -0
  532. package/dist/types/phases/sharedScales/phase.d.ts +12 -0
  533. package/dist/types/phases/sharedScales/phase.js +1 -0
  534. package/dist/types/phases/stage.d.ts +12 -0
  535. package/dist/types/phases/stage.js +1 -0
  536. package/dist/types/phases/state.d.ts +73 -0
  537. package/dist/types/phases/state.js +1 -0
  538. package/dist/types/phases/statistics/phase.d.ts +41 -0
  539. package/dist/types/phases/statistics/phase.js +1 -0
  540. package/dist/types/phases/statistics/source.d.ts +20 -0
  541. package/dist/types/phases/statistics/source.js +7 -0
  542. package/dist/types/phases/styles/phase.d.ts +24 -0
  543. package/dist/types/phases/styles/phase.js +1 -0
  544. package/dist/types/phases/transforms/adapter.d.ts +27 -0
  545. package/dist/types/phases/transforms/adapter.js +1 -0
  546. package/dist/types/phases/transforms/phase.d.ts +40 -0
  547. package/dist/types/phases/transforms/phase.js +1 -0
  548. package/dist/types/plots/area/props.d.ts +10 -0
  549. package/dist/types/plots/area/props.js +1 -0
  550. package/dist/types/plots/area/state.d.ts +6 -0
  551. package/dist/types/plots/area/state.js +1 -0
  552. package/dist/types/plots/bar/props.d.ts +10 -0
  553. package/dist/types/plots/bar/props.js +1 -0
  554. package/dist/types/plots/bar/state.d.ts +6 -0
  555. package/dist/types/plots/bar/state.js +1 -0
  556. package/dist/types/plots/camera.d.ts +7 -17
  557. package/dist/types/plots/constants.d.ts +16 -8
  558. package/dist/types/plots/data/common.d.ts +25 -17
  559. package/dist/types/plots/data/geo.d.ts +26 -12
  560. package/dist/types/plots/gaps.d.ts +19 -38
  561. package/dist/types/plots/geo/props.d.ts +23 -0
  562. package/dist/types/plots/geo/props.js +1 -0
  563. package/dist/types/plots/geo/state.d.ts +82 -0
  564. package/dist/types/plots/geo/state.js +1 -0
  565. package/dist/types/plots/heatmap/props.d.ts +10 -0
  566. package/dist/types/plots/heatmap/props.js +1 -0
  567. package/dist/types/plots/heatmap/state.d.ts +28 -0
  568. package/dist/types/plots/heatmap/state.js +1 -0
  569. package/dist/types/plots/histogram/props.d.ts +18 -0
  570. package/dist/types/plots/histogram/props.js +1 -0
  571. package/dist/types/plots/histogram/state.d.ts +6 -0
  572. package/dist/types/plots/histogram/state.js +1 -0
  573. package/dist/types/plots/line/props.d.ts +10 -0
  574. package/dist/types/plots/line/props.js +1 -0
  575. package/dist/types/plots/line/state.d.ts +9 -0
  576. package/dist/types/plots/line/state.js +1 -0
  577. package/dist/types/plots/props.d.ts +143 -35
  578. package/dist/types/plots/pyramid/props.d.ts +10 -0
  579. package/dist/types/plots/pyramid/props.js +1 -0
  580. package/dist/types/plots/pyramid/state.d.ts +16 -0
  581. package/dist/types/plots/pyramid/state.js +1 -0
  582. package/dist/types/plots/scatter/props.d.ts +10 -0
  583. package/dist/types/plots/scatter/props.js +1 -0
  584. package/dist/types/plots/scatter/state.d.ts +6 -0
  585. package/dist/types/plots/scatter/state.js +1 -0
  586. package/dist/types/plots/segments/common.d.ts +1 -1
  587. package/dist/types/plots/segments/config.d.ts +12 -6
  588. package/dist/types/plots/styling.d.ts +5 -5
  589. package/dist/types/transforms/bin.d.ts +84 -0
  590. package/dist/types/transforms/bin.js +28 -0
  591. package/dist/types/transforms/bollinger.d.ts +21 -0
  592. package/dist/types/transforms/bollinger.js +1 -0
  593. package/dist/types/transforms/common.d.ts +29 -0
  594. package/dist/types/transforms/common.js +16 -0
  595. package/dist/types/transforms/density.d.ts +45 -0
  596. package/dist/types/transforms/density.js +10 -0
  597. package/dist/types/transforms/filter.d.ts +12 -0
  598. package/dist/types/transforms/filter.js +14 -0
  599. package/dist/types/transforms/group.d.ts +70 -0
  600. package/dist/types/transforms/group.js +8 -0
  601. package/dist/types/transforms/index.d.ts +36 -0
  602. package/dist/types/transforms/index.js +1 -0
  603. package/dist/types/transforms/interval.d.ts +21 -0
  604. package/dist/types/transforms/interval.js +14 -0
  605. package/dist/types/transforms/jitter.d.ts +34 -0
  606. package/dist/types/transforms/jitter.js +1 -0
  607. package/dist/types/transforms/map.d.ts +24 -0
  608. package/dist/types/transforms/map.js +1 -0
  609. package/dist/types/transforms/normalize.d.ts +36 -0
  610. package/dist/types/transforms/normalize.js +1 -0
  611. package/dist/types/transforms/select.d.ts +15 -0
  612. package/dist/types/transforms/select.js +1 -0
  613. package/dist/types/transforms/shift.d.ts +20 -0
  614. package/dist/types/transforms/shift.js +1 -0
  615. package/dist/types/transforms/sort.d.ts +31 -0
  616. package/dist/types/transforms/sort.js +14 -0
  617. package/dist/types/transforms/stack.d.ts +64 -0
  618. package/dist/types/transforms/stack.js +12 -0
  619. package/dist/types/transforms/window.d.ts +29 -0
  620. package/dist/types/transforms/window.js +1 -0
  621. package/dist/utils/ContinuousDomain.d.ts +12 -0
  622. package/dist/utils/ContinuousDomain.js +19 -0
  623. package/dist/utils/Interpolation.d.ts +26 -0
  624. package/dist/utils/Interpolation.js +65 -0
  625. package/dist/utils/{color.d.ts → color/contrast.d.ts} +0 -5
  626. package/dist/utils/color/contrast.js +40 -0
  627. package/dist/utils/color/cssColor.d.ts +4 -0
  628. package/dist/utils/color/cssColor.js +77 -0
  629. package/dist/utils/color/index.d.ts +3 -0
  630. package/dist/utils/color/index.js +3 -0
  631. package/dist/utils/color/ramp.d.ts +17 -0
  632. package/dist/utils/color/ramp.js +110 -0
  633. package/dist/utils/grouping.d.ts +9 -5
  634. package/dist/utils/grouping.js +19 -10
  635. package/dist/utils/merge.d.ts +7 -0
  636. package/dist/utils/merge.js +17 -0
  637. package/dist/utils/opacity.d.ts +9 -0
  638. package/dist/utils/opacity.js +38 -0
  639. package/dist/utils/symbol.d.ts +31 -0
  640. package/dist/utils/symbol.js +92 -0
  641. package/docs/architecture.md +137 -0
  642. package/docs/chrome.md +68 -0
  643. package/docs/composer.md +53 -0
  644. package/docs/concepts.md +99 -0
  645. package/docs/development.md +94 -0
  646. package/docs/facets.md +69 -0
  647. package/docs/geo.md +151 -0
  648. package/docs/getting-started.md +79 -0
  649. package/docs/legend.md +106 -0
  650. package/docs/markers.md +106 -0
  651. package/docs/plots.md +158 -0
  652. package/docs/scales.md +78 -0
  653. package/docs/state.md +71 -0
  654. package/docs/styles-and-segments.md +215 -0
  655. package/docs/theming.md +215 -0
  656. package/docs/timeline.md +94 -0
  657. package/docs/tooltip-and-hover.md +80 -0
  658. package/docs/transforms-and-statistics.md +88 -0
  659. package/examples/BarValues.svelte +14 -0
  660. package/examples/CustomTooltip.svelte +37 -0
  661. package/examples/Facets.svelte +15 -0
  662. package/examples/LegendReader.svelte +8 -0
  663. package/examples/LegendToggle.svelte +25 -0
  664. package/examples/ResponsiveLine.svelte +37 -0
  665. package/examples/Segments.svelte +17 -0
  666. package/examples/TimelinePlayer.svelte +20 -0
  667. package/examples/Tooltip.svelte +19 -0
  668. package/examples/TooltipCard.svelte +86 -0
  669. package/examples/data.ts +12 -0
  670. package/llms-full.txt +114 -0
  671. package/llms.txt +49 -0
  672. package/package.json +41 -5
  673. package/dist/charts/BaseChart.svelte +0 -149
  674. package/dist/charts/BaseChart.svelte.d.ts +0 -47
  675. package/dist/charts/bar/Chart.svelte +0 -110
  676. package/dist/charts/bar/Chart.svelte.d.ts +0 -26
  677. package/dist/charts/container/ChartContainer.svelte +0 -137
  678. package/dist/charts/container/ChartContainer.svelte.d.ts +0 -16
  679. package/dist/charts/heatmap/Chart.svelte +0 -114
  680. package/dist/charts/line/Chart.svelte +0 -112
  681. package/dist/charts/line/Chart.svelte.d.ts +0 -26
  682. package/dist/charts/pyramid/Chart.svelte +0 -134
  683. package/dist/charts/pyramid/Chart.svelte.d.ts +0 -30
  684. package/dist/charts/scatter/Chart.svelte +0 -95
  685. package/dist/charts/scatter/Chart.svelte.d.ts +0 -28
  686. package/dist/layout/coordinates/margins.d.ts +0 -16
  687. package/dist/layout/coordinates/margins.js +0 -11
  688. package/dist/layout/legend/interaction.svelte.d.ts +0 -15
  689. package/dist/layout/legend/interaction.svelte.js +0 -32
  690. package/dist/layout/plot/BasePlotLayout.svelte +0 -332
  691. package/dist/layout/plot/BasePlotLayout.svelte.d.ts +0 -122
  692. package/dist/layout/plot/margins.d.ts +0 -18
  693. package/dist/layout/plot/margins.js +0 -15
  694. package/dist/layout/plot/measureText.d.ts +0 -4
  695. package/dist/layout/plot/measureText.js +0 -19
  696. package/dist/layout/tooltip/TooltipLayout.svelte +0 -51
  697. package/dist/layout/tooltip/TooltipLayout.svelte.d.ts +0 -45
  698. package/dist/layout/tooltip/controller.svelte.d.ts +0 -61
  699. package/dist/layout/tooltip/controller.svelte.js +0 -173
  700. package/dist/layout/tooltip/hover.svelte.d.ts +0 -7
  701. package/dist/layout/tooltip/hover.svelte.js +0 -28
  702. package/dist/layout/tooltip/resolveTooltipPlacement.d.ts +0 -24
  703. package/dist/layout/tooltip/resolveTooltipPlacement.js +0 -49
  704. package/dist/layout/tooltip/utils.d.ts +0 -49
  705. package/dist/layout/tooltip/utils.js +0 -82
  706. package/dist/markers/CellMarker.svelte +0 -21
  707. package/dist/markers/ContourClipMarker.svelte +0 -77
  708. package/dist/markers/ContourMarker.svelte +0 -28
  709. package/dist/markers/DeltaMarker.svelte +0 -109
  710. package/dist/markers/DotMarker.svelte +0 -70
  711. package/dist/markers/GeoFeaturesMarker.svelte +0 -19
  712. package/dist/markers/GeoHoverMarker.svelte +0 -25
  713. package/dist/markers/GraticuleMarker.svelte +0 -18
  714. package/dist/markers/HoverMarker.svelte +0 -212
  715. package/dist/markers/LineMarker.svelte +0 -19
  716. package/dist/markers/LinkMarker.svelte +0 -42
  717. package/dist/markers/PeakMarker.svelte +0 -80
  718. package/dist/markers/PeakMarker.svelte.d.ts +0 -13
  719. package/dist/markers/RuleMarker.svelte +0 -24
  720. package/dist/markers/SphereMarker.svelte +0 -15
  721. package/dist/markers/TextMarker.svelte +0 -62
  722. package/dist/markers/VectorMarker.svelte +0 -20
  723. package/dist/plots/bar/ValueLabels.svelte +0 -149
  724. package/dist/plots/bar/ValueLabels.svelte.d.ts +0 -58
  725. package/dist/plots/bar/buildBarMarkers.d.ts +0 -27
  726. package/dist/plots/bar/buildBarMarkers.js +0 -151
  727. package/dist/plots/bar/hoverPoints.d.ts +0 -15
  728. package/dist/plots/bar/hoverPoints.js +0 -37
  729. package/dist/plots/bar/layout.svelte.d.ts +0 -42
  730. package/dist/plots/bar/layout.svelte.js +0 -182
  731. package/dist/plots/geo/buildGeoMarkers.d.ts +0 -33
  732. package/dist/plots/geo/buildGeoMarkers.js +0 -47
  733. package/dist/plots/heatmap/ValueLabels.svelte +0 -56
  734. package/dist/plots/heatmap/buildCellMarkers.d.ts +0 -21
  735. package/dist/plots/heatmap/buildCellMarkers.js +0 -25
  736. package/dist/plots/line/ValueLabels.svelte +0 -269
  737. package/dist/plots/line/ValueLabels.svelte.d.ts +0 -52
  738. package/dist/plots/line/buildGapMarkers.d.ts +0 -28
  739. package/dist/plots/line/buildGapMarkers.js +0 -74
  740. package/dist/plots/line/buildLineMarkers.d.ts +0 -16
  741. package/dist/plots/line/buildLineMarkers.js +0 -56
  742. package/dist/plots/line/valueLabelMargin.d.ts +0 -19
  743. package/dist/plots/line/valueLabelMargin.js +0 -65
  744. package/dist/plots/pyramid/ValueLabels.svelte +0 -139
  745. package/dist/plots/pyramid/ValueLabels.svelte.d.ts +0 -56
  746. package/dist/plots/pyramid/buildPyramidBarMarkers.d.ts +0 -26
  747. package/dist/plots/pyramid/buildPyramidBarMarkers.js +0 -72
  748. package/dist/plots/scatter/ValueLabels.svelte +0 -163
  749. package/dist/plots/scatter/ValueLabels.svelte.d.ts +0 -52
  750. package/dist/plots/scatter/buildScatterMarkers.d.ts +0 -12
  751. package/dist/plots/scatter/buildScatterMarkers.js +0 -36
  752. package/dist/plots/scatter/resolveRadiusPaddedDomain.d.ts +0 -10
  753. package/dist/plots/scatter/resolveRadiusPaddedDomain.js +0 -23
  754. package/dist/plots/utils/categoricalAxisMargin.d.ts +0 -14
  755. package/dist/plots/utils/categoricalAxisMargin.js +0 -20
  756. package/dist/plots/utils/declutter.d.ts +0 -120
  757. package/dist/plots/utils/declutter.js +0 -240
  758. package/dist/plots/utils/labelOverflow.svelte.d.ts +0 -107
  759. package/dist/plots/utils/labelOverflow.svelte.js +0 -257
  760. package/dist/plots/utils/legendDisabled.d.ts +0 -27
  761. package/dist/plots/utils/legendDisabled.js +0 -68
  762. package/dist/plots/utils/valueLabelMargin.d.ts +0 -67
  763. package/dist/plots/utils/valueLabelMargin.js +0 -60
  764. package/dist/types/charts/common.d.ts +0 -22
  765. package/dist/types/charts/props.d.ts +0 -50
  766. package/dist/types/markers/base.d.ts +0 -45
  767. package/dist/types/markers/line.d.ts +0 -34
  768. package/dist/types/markers/props.d.ts +0 -11
  769. package/dist/types/plots/data/scatter.d.ts +0 -13
  770. package/dist/utils/color.js +0 -141
  771. package/dist/utils/delta.d.ts +0 -12
  772. package/dist/utils/delta.js +0 -69
  773. package/dist/utils/edgeAwareAnchor.d.ts +0 -34
  774. package/dist/utils/edgeAwareAnchor.js +0 -60
  775. package/dist/utils/interpolate.d.ts +0 -31
  776. package/dist/utils/interpolate.js +0 -71
  777. /package/dist/types/{charts/common.js → layout/box.js} +0 -0
  778. /package/dist/types/{charts/interpolate.js → layout/composer.js} +0 -0
  779. /package/dist/types/{charts/props.js → layout/figure.js} +0 -0
  780. /package/dist/types/{markers/base.js → layout/grid.js} +0 -0
  781. /package/dist/types/{markers/line.js → layout/hover.js} +0 -0
  782. /package/dist/types/{markers/props.js → layout/mapping.js} +0 -0
  783. /package/dist/types/{plots/data/scatter.js → layout/plot.js} +0 -0
  784. /package/dist/types/{viewport.js → layout/statistics/bollinger.js} +0 -0
  785. /package/dist/types/{charts/interpolate.d.ts → misc/easing.d.ts} +0 -0
  786. /package/dist/types/{viewport.d.ts → misc/viewport.d.ts} +0 -0
@@ -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;
@@ -50,6 +88,12 @@ export type ChartConfig = {
50
88
  };
51
89
  /** Continuous section styling: the draggable lo/hi handles and the tick/edge labels. */
52
90
  continuous: {
91
+ /** Total height (px) of the bar's drawing area. */
92
+ height: number;
93
+ /** Height (px) of the gradient bar itself, centered within `height`. */
94
+ barHeight: number;
95
+ /** Corner radius (px) of the gradient bar and excluded-range overlays. */
96
+ barRadius: number;
53
97
  /** The draggable lo/hi handle. */
54
98
  handle: {
55
99
  width: string;
@@ -78,7 +122,7 @@ export type ChartConfig = {
78
122
  enabled: boolean;
79
123
  /** How many px of horizontal slack the two labels need between them before they're considered overlapping (and flipped). */
80
124
  margin: number;
81
- /** 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. */
82
126
  rotate: string;
83
127
  };
84
128
  };
@@ -95,6 +139,7 @@ export type ChartConfig = {
95
139
  yTickPadding: number;
96
140
  grid: boolean;
97
141
  locale: string;
142
+ /** Compact units abbreviated (`'short'`, the default: `1 M`) or spelled out (`'long'`: `1 millón`). Axes and size legends. */
98
143
  compactDisplay: 'short' | 'long';
99
144
  };
100
145
  tooltip: {
@@ -107,8 +152,8 @@ export type ChartConfig = {
107
152
  };
108
153
  /**
109
154
  * Per-side plot margin. `'auto'` (the default) lets svelteplot size that
110
- * side to fit whatever it actually renders there — tick labels, an axis
111
- * 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
112
157
  * space. A number pins that side exactly, opting out of auto-sizing.
113
158
  */
114
159
  margins: {
@@ -117,20 +162,33 @@ export type ChartConfig = {
117
162
  bottom: number | 'auto';
118
163
  left: number | 'auto';
119
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
+ };
120
175
  /** Discrete categorical palette (grouped series). */
121
176
  palette: string[];
122
- /** 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. */
123
180
  continuous: {
124
181
  min: string;
125
182
  max: string;
126
183
  labelColor: string;
184
+ opacityRange: [number, number];
127
185
  };
128
186
  /** Default line geometry. */
129
187
  line: {
130
188
  strokeWidth: number;
131
189
  dotRadius: number;
132
190
  /**
133
- * Default gap-fill bridge styling (`LinePlot`'s `styles.gaps`) — the
191
+ * Default gap-fill bridge styling (`LinePlot`'s `styles.gaps`) - the
134
192
  * fallback merged under whatever a gap zone's own `style` sets, the
135
193
  * same way `hover.rule`/`hover.dot` back every hover marker's style.
136
194
  */
@@ -138,40 +196,49 @@ export type ChartConfig = {
138
196
  stroke: StrokeStyle;
139
197
  dots: DotStyle;
140
198
  };
141
- /**
142
- * End-of-line value-label declutter geometry and connector styling —
143
- * `LinePlot`-specific, since only line charts spread colliding
144
- * end-point labels apart with elbow-routed leader lines.
145
- */
146
- valueLabels: {
147
- /** 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. */
148
205
  elbowGap: number;
149
- /** Extra distance (px) each subsequent lane sits out from the last. */
206
+ /** Extra distance (px) each further lane sits out from the last. */
150
207
  laneStep: number;
151
- /** Clearance (px) between the outermost lane and the label text it feeds into. */
208
+ /** Clearance (px) between the outermost lane and the label text. */
152
209
  labelGap: number;
153
- /** Default leader-line colour — overridable per-plot via `styles.values.strokeStyle`. */
154
- connectorColor: string;
155
- /** Default leader-line width — overridable per-plot via `styles.values.strokeStyle`. */
156
- connectorWidth: number;
210
+ /** Default connector stroke. */
211
+ connector: StrokeStyle;
157
212
  };
158
213
  };
159
214
  /** Default bar-mark styling. */
160
215
  bar: {
161
- /** 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. */
162
217
  gap: AreaStyle;
163
- /** 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. */
164
219
  seriesPadding: number;
165
- /** 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`. */
166
221
  paddingInner: number;
167
- /** 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`. */
168
223
  paddingOuter: number;
169
224
  };
170
225
  /** Default pyramid-bar styling. */
171
226
  pyramid: {
172
- /** 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. */
173
228
  gap: AreaStyle;
174
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
+ };
175
242
  /** Default scatter point geometry. */
176
243
  scatter: {
177
244
  dotRadius: number;
@@ -181,10 +248,74 @@ export type ChartConfig = {
181
248
  axisColor: string;
182
249
  activeColor: string;
183
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
+ };
184
315
  };
185
316
  /**
186
317
  * In-SVG hover highlight: crosshair rule, dot + value label, and the area
187
- * highlight — a restyled feature on `GeoPlot`, or an `areaX`/`areaY` band
318
+ * highlight - a restyled feature on `GeoPlot`, or an `areaX`/`areaY` band
188
319
  * on an axis-based plot's band scale.
189
320
  */
190
321
  hover: {
@@ -214,7 +345,7 @@ export type ChartConfig = {
214
345
  };
215
346
  };
216
347
  /** Deep-partial input accepted by `setConfiguration`. */
217
- export type ChartConfigInput = DeepPartial<ChartConfig>;
348
+ export type PlotStylesConfigInput = DeepPartial<PlotStylesConfig>;
218
349
  type DeepPartial<T> = {
219
350
  [K in keyof T]?: T[K] extends (infer U)[] ? U[] : T[K] extends object ? DeepPartial<T[K]> : T[K];
220
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
+ };