@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
@@ -3,14 +3,15 @@ import { EDITORIAL_THEME } from './editorial';
3
3
  import { DARK_THEME } from './dark';
4
4
  import { COMPACT_THEME } from './compact';
5
5
  /**
6
- * Ready-made theme presets — partial configs deep-merged over
7
- * `DEFAULT_CONFIG` by `setConfiguration`. `DEFAULT_CONFIG` itself stays an
8
- * opinion-free no-op (`font: 'inherit'`, `color: 'currentColor'`, …); these
9
- * are the actual visual identities consumers can opt into.
6
+ * Ready-made theme presets - partial configs deep-merged over
7
+ * `DEFAULT_CONFIG` by `setConfiguration`. `DEFAULT_CONFIG` itself stays
8
+ * opinion-free (`font: 'inherit'`, `color: 'currentColor'`, …), following the
9
+ * host project's styles; these are the visual identities consumers can opt
10
+ * into, `Default` being the plain one with a system sans-serif font.
10
11
  */
11
12
  export const THEMES = {
12
13
  Default: DEFAULT_THEME,
13
14
  Editorial: EDITORIAL_THEME,
14
15
  Dark: DARK_THEME,
15
- Compact: COMPACT_THEME,
16
+ Compact: COMPACT_THEME
16
17
  };
package/dist/index.d.ts CHANGED
@@ -1,64 +1,50 @@
1
+ export { default as AreaPlot } from './plots/area/Plot.svelte';
1
2
  export { default as BarPlot } from './plots/bar/Plot.svelte';
3
+ export { default as HistogramPlot } from './plots/histogram/Plot.svelte';
2
4
  export { default as HeatmapPlot } from './plots/heatmap/Plot.svelte';
3
5
  export { default as LinePlot } from './plots/line/Plot.svelte';
4
6
  export { default as PyramidPlot } from './plots/pyramid/Plot.svelte';
5
7
  export { default as ScatterPlot } from './plots/scatter/Plot.svelte';
6
8
  export { default as GeoPlot } from './plots/geo/Plot.svelte';
7
- export { default as BaseChart } from './charts/BaseChart.svelte';
8
- export { default as BarChart } from './charts/bar/Chart.svelte';
9
- export { default as HeatmapChart } from './charts/heatmap/Chart.svelte';
10
- export { default as LineChart } from './charts/line/Chart.svelte';
11
- export { default as PyramidChart } from './charts/pyramid/Chart.svelte';
12
- export { default as ScatterChart } from './charts/scatter/Chart.svelte';
13
- export { default as ChartContainer } from './charts/container/ChartContainer.svelte';
14
- export { default as BasePlotLayout } from './layout/plot/BasePlotLayout.svelte';
15
- export { default as CoordinatesLayout } from './layout/coordinates/CoordinatesLayout.svelte';
16
- export { default as TileLayer } from './layout/styles/TileLayer.svelte';
9
+ export { default as PlotComposer } from './layout/composer/PlotComposer.svelte';
10
+ export { default as GridCell } from './layout/grid/GridCell.svelte';
11
+ export { default as Plot } from './layout/plot/Plot.svelte';
12
+ export { default as BasePlotLayout } from './layout/base/BasePlotLayout.svelte';
13
+ export { usePlot, useFigure } from './layout/plot/usePlot';
14
+ export type { PublicPlotContext, PublicFigureContext, PublicHover, PublicPlotHover, PublicLegend, PublicTimeline } from './layout/plot/PublicPlotContext';
17
15
  export { argentinaBicontinental } from './layout/coordinates/projections/argentina';
18
- export { default as Timeline } from './layout/timeline/Timeline.svelte';
19
- export { default as TimelineLayout } from './layout/timeline/TimelineLayout.svelte';
20
- export { default as FacetLayout } from './layout/facet/FacetLayout.svelte';
21
- export { default as FacetIndicator } from './layout/facet/FacetIndicator.svelte';
22
- export { default as LegendLayout } from './layout/legend/LegendLayout.svelte';
23
- export { default as Tooltip } from './layout/tooltip/Tooltip.svelte';
24
- export { getLegendInteraction, provideLegendInteraction, createLegendInteraction } from './layout/legend/interaction.svelte';
25
- export { default as BarMarker } from './markers/BarMarker.svelte';
26
- export { default as CellMarker } from './markers/CellMarker.svelte';
27
- export { default as DeltaMarker } from './markers/DeltaMarker.svelte';
28
- export { default as DotMarker } from './markers/DotMarker.svelte';
29
- export { default as HoverMarker } from './markers/HoverMarker.svelte';
30
- export { default as LineMarker } from './markers/LineMarker.svelte';
31
- export { default as PeakMarker } from './markers/PeakMarker.svelte';
32
- export { default as RuleMarker } from './markers/RuleMarker.svelte';
33
- export { default as TextMarker } from './markers/TextMarker.svelte';
34
16
  export { setConfiguration, getConfiguration, resetConfiguration, configToCssVars, cssVarsStyle, DEFAULT_CONFIG } from './configuration/config.svelte';
35
17
  export { THEMES } from './configuration/themes';
18
+ export { SYSTEM_FONT } from './configuration/fonts';
36
19
  export type { ThemeName } from './configuration/themes';
37
20
  export { groupBy, buildSeries } from './utils/grouping';
38
- export { makeColorScale, normalize, resolveCssColor, paletteColor, contrastTextColor, contrastRatio } from './utils/color';
39
- export { estimateCategoricalAxisMargin } from './plots/utils/categoricalAxisMargin';
40
- export { estimateLineValueLabelMargin } from './plots/line/valueLabelMargin';
41
- export type { AxisValue, AxisScale, AxisBasedScalesConfig } from './types/layout/scales';
21
+ export { makeColorScale, resolveColorScale, normalize, resolveCssColor, paletteColor, contrastTextColor, contrastRatio } from './utils/color';
22
+ export { Margins } from './layout/margins/Margins';
23
+ export { resolveOpacityScale } from './utils/opacity';
24
+ export { resolveSymbolScale } from './utils/symbol';
25
+ export { Statistics } from './phases/statistics/Statistics';
26
+ export type { AxisValue, ChannelValue, ChannelName, AxisChannelName, IndependentChannelName, SizeChannelName, ChannelAccessors } from './types/layout/mapping';
27
+ export type { AxisScale, AxisBasedScalesConfig, ChannelScalesConfig } from './types/layout/scales';
42
28
  export type { Accessor, Series, SeriesProps, DataProps } from './types/plots/data/common';
43
- export type { BasePlotProps, StylesConfig, MarkersConfig, SegmentsConfig, ScalesConfig, MarginConfig, TooltipConfig, HoverConfig, PointMatchingStrategy } from './types/plots/props';
44
- export type { ValuesStyle, ColorsStyle, FrameStyle, FrameProp, BasePlotStylesConfig, AxisBasedStylesConfig, GapsAwarePlotStylesConfig, GeoStylesConfig, GeoTileLayerConfig } from './types/layout/styles';
45
- export type { GapsConfig, GapZonesConfig, GapZoneConfig, OpenGapZoneConfig } from './types/plots/gaps';
29
+ export type { BasePlotProps, PlotCoreProps, PlotChromeProps, FigureBoxProps, SegmentsConfig, ScalesConfig, MarginConfig, TooltipConfig, HoverConfig } from './types/plots/props';
30
+ export type { AxisBasedStylesConfig, GapsAwarePlotStylesConfig, GeoStylesConfig, GeoTileLayerConfig } from './types/layout/styles';
31
+ export type { GapsConfig } from './types/plots/gaps';
46
32
  export type { LineSegmentStyle, BarSegmentStyle, CellSegmentStyle, GeoSegmentStyle, ScatterSegmentStyle } from './types/plots/segments/common';
47
33
  export type { Range, Area, Segment } from './types/plots/segments/config';
48
- export type { ValueAnchor, SymbolType, LineStyle, LineCap, LineJoin, FontWeight, FontStyleKeyword, TextAnchor, LineAnchor } from './types/plots/constants';
34
+ export type { SymbolType } from './types/plots/constants';
49
35
  export type { FontStyle, StrokeStyle, DotStyle, AreaStyle } from './types/plots/styling';
50
- export type { AxisBasedMarkersConfig } from './types/markers/common';
51
- export type { LineMarkersConfig, DeltaMarkerConfig, DeltaConfig, DeltaTarget } from './types/markers/line';
52
- export type { MarkerProps } from './types/markers/props';
36
+ export type { AxisBasedMarkersConfig, BrushSelection, MarkerCurveName } from './types/markers/common';
37
+ export type { StatisticConfig } from './types/layout/statistics';
38
+ export type * from './types/transforms';
53
39
  export type { GeoFeature, GeoJsonInput, GeoDataProps, Topology } from './types/plots/data/geo';
54
- export type { ScatterDataProps } from './types/plots/data/scatter';
55
- export type { GeoProjectionName, GeoProjectionConfig, GeoCustomProjection, GeoCustomProjectionFactory, GeoScalesConfig, GeoZoomConfig, CoordinatesConfig } from './types/layout/coordinates';
56
- export type { GeoCameraTarget, GeoCameraConfig, GeoCameraTransition } from './types/plots/camera';
57
- export type { GeoMarkersConfig, GeoInsetMarkerConfig, GeoInsetTooltipConfig, GeoInsetLocation, GeoInsetProjectionName, GeoInsetProjectionConfig } from './types/markers/geo';
58
- export type { ChartPlotContext, ChartPlotSnippet } from './types/charts/common';
59
- export type { TimeValue, Orientation, TimelineConfig } from './types/layout/timeline';
60
- export type { Responsive, FacetColumns, FacetMode, FacetNavLayout, FacetConfig, FacetIndicatorContext, FacetIndicatorSnippet, FacetNavDirection, FacetNavContext, FacetNavSnippet } from './types/layout/facet';
61
- export type { LegendSection, DiscreteLegendSection, ContinuousLegendSection, LegendItem, LegendDisabledStyle, LegendDisabledAction, LegendItemsLayout, LegendInteractiveStyle, DiscreteInteractiveConfig, ContinuousInteractiveConfig, LegendNavDirection, LegendNavContext, LegendNavSnippet, LegendInteractionStore, LegendPlotContext } from './types/layout/legend';
62
- export type { HoverStrategy, TooltipOptions, TooltipProp, TooltipAnchorX, TooltipAnchorY } from './types/layout/tooltip';
63
- export type { ChartConfig, ChartConfigInput, TextStyle } from './types/configuration/styling';
64
- export type { ChartProps, GapsAwareChartProps } from './types/charts/props';
40
+ export type { GeoCustomProjection, GeoCustomProjectionFactory, GeoScalesConfig, CoordinatesConfig } from './types/layout/coordinates';
41
+ export type { GeoCameraConfig } from './types/plots/camera';
42
+ export type { GeoMarkersConfig } from './types/markers/geo';
43
+ export type { SharedAxisValues } from './types/phases';
44
+ export type { TimeValue, Orientation, TimelineConfig, TimelineType, TimelineCallbacks, PlayerConfig, PlayerControl } from './types/layout/timeline';
45
+ export type { ComposerLayout, ComposerTags, ComposerTimelineConfig, ComposerHoverConfig } from './types/layout/composer';
46
+ export type { GridPlacement, GridInset, GridCellContext, GridCellSnippet } from './types/layout/grid';
47
+ export type { Responsive, FacetConfig, FacetCellContext, FacetIndicatorContext, FacetIndicatorSnippet, FacetNavDirection, FacetNavContext, FacetNavSnippet } from './types/layout/facet';
48
+ export type { LegendSection, DiscreteLegendSection, ContinuousLegendSection, LegendItem, LegendNavDirection, LegendNavContext, LegendNavSnippet, LegendEntry, LegendMark, LegendRange } from './types/layout/legend';
49
+ export type { HoverStrategy, HoverPoint, HoverDisplayPoint } from './types/layout/hover';
50
+ export type { PlotStylesConfig, PlotStylesConfigInput, DividerLineStyle, TextStyle } from './types/configuration/styling';
package/dist/index.js CHANGED
@@ -1,47 +1,31 @@
1
1
  // ── Plots ───────────────────────────────────────────────────────────────────
2
- // Low-level graphics: one specific mark family each, drawn into a given box.
2
+ // One mark family each, with optional chrome (title, legend, caption),
3
+ // timeline and facets around it.
4
+ export { default as AreaPlot } from './plots/area/Plot.svelte';
3
5
  export { default as BarPlot } from './plots/bar/Plot.svelte';
6
+ export { default as HistogramPlot } from './plots/histogram/Plot.svelte';
4
7
  export { default as HeatmapPlot } from './plots/heatmap/Plot.svelte';
5
8
  export { default as LinePlot } from './plots/line/Plot.svelte';
6
9
  export { default as PyramidPlot } from './plots/pyramid/Plot.svelte';
7
10
  export { default as ScatterPlot } from './plots/scatter/Plot.svelte';
8
11
  export { default as GeoPlot } from './plots/geo/Plot.svelte';
9
- // ── Charts ──────────────────────────────────────────────────────────────────
10
- // High-level, plot-agnostic chrome plus ready-made chart kinds.
11
- export { default as BaseChart } from './charts/BaseChart.svelte';
12
- export { default as BarChart } from './charts/bar/Chart.svelte';
13
- export { default as HeatmapChart } from './charts/heatmap/Chart.svelte';
14
- export { default as LineChart } from './charts/line/Chart.svelte';
15
- export { default as PyramidChart } from './charts/pyramid/Chart.svelte';
16
- export { default as ScatterChart } from './charts/scatter/Chart.svelte';
17
- // Interchangeable layout primitives (compose your own chart kinds with these).
18
- export { default as ChartContainer } from './charts/container/ChartContainer.svelte';
19
- export { default as BasePlotLayout } from './layout/plot/BasePlotLayout.svelte';
20
- export { default as CoordinatesLayout } from './layout/coordinates/CoordinatesLayout.svelte';
21
- export { default as TileLayer } from './layout/styles/TileLayer.svelte';
22
- // Custom geo projections — usable as `scales.projection.type`.
12
+ // ── Composition ─────────────────────────────────────────────────────────────
13
+ // Separate plots combined into one figure, with chrome of its own.
14
+ export { default as PlotComposer } from './layout/composer/PlotComposer.svelte';
15
+ export { default as GridCell } from './layout/grid/GridCell.svelte';
16
+ // The generic plot, to build your own plot kind: wrap it with your kind's core and defaults.
17
+ export { default as Plot } from './layout/plot/Plot.svelte';
18
+ export { default as BasePlotLayout } from './layout/base/BasePlotLayout.svelte';
19
+ export { usePlot, useFigure } from './layout/plot/usePlot';
20
+ // Custom geo projections - usable as `scales.projection.type`.
23
21
  export { argentinaBicontinental } from './layout/coordinates/projections/argentina';
24
- export { default as Timeline } from './layout/timeline/Timeline.svelte';
25
- export { default as TimelineLayout } from './layout/timeline/TimelineLayout.svelte';
26
- export { default as FacetLayout } from './layout/facet/FacetLayout.svelte';
27
- export { default as FacetIndicator } from './layout/facet/FacetIndicator.svelte';
28
- export { default as LegendLayout } from './layout/legend/LegendLayout.svelte';
29
- export { default as Tooltip } from './layout/tooltip/Tooltip.svelte';
30
- export { getLegendInteraction, provideLegendInteraction, createLegendInteraction } from './layout/legend/interaction.svelte';
31
- // Markers
32
- export { default as BarMarker } from './markers/BarMarker.svelte';
33
- export { default as CellMarker } from './markers/CellMarker.svelte';
34
- export { default as DeltaMarker } from './markers/DeltaMarker.svelte';
35
- export { default as DotMarker } from './markers/DotMarker.svelte';
36
- export { default as HoverMarker } from './markers/HoverMarker.svelte';
37
- export { default as LineMarker } from './markers/LineMarker.svelte';
38
- export { default as PeakMarker } from './markers/PeakMarker.svelte';
39
- export { default as RuleMarker } from './markers/RuleMarker.svelte';
40
- export { default as TextMarker } from './markers/TextMarker.svelte';
41
22
  export { setConfiguration, getConfiguration, resetConfiguration, configToCssVars, cssVarsStyle, DEFAULT_CONFIG } from './configuration/config.svelte';
42
23
  export { THEMES } from './configuration/themes';
24
+ export { SYSTEM_FONT } from './configuration/fonts';
43
25
  // ── Utils ─────────────────────────────────────────────────────────────────────
44
26
  export { groupBy, buildSeries } from './utils/grouping';
45
- export { makeColorScale, normalize, resolveCssColor, paletteColor, contrastTextColor, contrastRatio } from './utils/color';
46
- export { estimateCategoricalAxisMargin } from './plots/utils/categoricalAxisMargin';
47
- export { estimateLineValueLabelMargin } from './plots/line/valueLabelMargin';
27
+ export { makeColorScale, resolveColorScale, normalize, resolveCssColor, paletteColor, contrastTextColor, contrastRatio } from './utils/color';
28
+ export { Margins } from './layout/margins/Margins';
29
+ export { resolveOpacityScale } from './utils/opacity';
30
+ export { resolveSymbolScale } from './utils/symbol';
31
+ export { Statistics } from './phases/statistics/Statistics';
@@ -0,0 +1,312 @@
1
+ <script module lang="ts">
2
+ import type { Margins as MarginsType } from '../margins/Margins';
3
+ import type { EdgeBox } from '../../types/layout/box';
4
+ import type { StylesLayoutConfig } from '../../types/layout/styles';
5
+ import type { HoverPosition } from '../../types/phases';
6
+ import type { HoverConfig as PlotHoverConfig } from '../../types/plots/props';
7
+
8
+ /**
9
+ * What `BasePlotLayout` draws from: the end of a plot's pipeline. An axis
10
+ * kind's state is one as is; GeoPlot builds its own.
11
+ */
12
+ export type PlotLayoutState = {
13
+ /** What the pointer can match, and how the hover reads. */
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+ hover?: PlotHoverConfig<any>;
16
+ /** Where each row sits, for hover matching and the plot's scales. */
17
+ hoverPosition?: HoverPosition;
18
+ /** The rows the plot draws and hovers over. */
19
+ hoverRows?: unknown[];
20
+ /** The plot's x/y/r/length scales, and the scales a marker without its own inherits. */
21
+ scales?: object;
22
+ /** What the plot's position channels are and which way it runs, for what draws inside it. */
23
+ axes?: PlotAxes;
24
+ /** Every marker the pipeline resolved. */
25
+ markers?: object[];
26
+ /** All resolved series - axis kinds only. */
27
+ resolvedSeries?: object[];
28
+ /** Each series' color, by name - axis kinds only. */
29
+ colorForSeries?: (name: string) => string;
30
+ /** Per-series marker groups - axis kinds only. */
31
+ scopedGroups?: object[];
32
+ /** The plot's `styles`: its frame and, on a map, its tile layer. */
33
+ styles?: StylesLayoutConfig;
34
+ /** What an `'auto'` margin side reads as. Defaults to {@link Margins.AXIS_ESTIMATE}. */
35
+ marginEstimate?: MarginsType;
36
+ /** The plot's value labels, whose `reach` is the room the margins start from. */
37
+ valueLabels?: { reach: EdgeBox[] };
38
+ };
39
+ </script>
40
+
41
+ <script
42
+ lang="ts"
43
+ generics="TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData"
44
+ >
45
+ import { Margins } from '../margins/Margins';
46
+ import { PlotMargins } from '../margins/PlotMargins.svelte';
47
+ import { LegendState } from '../legend/LegendState.svelte';
48
+ import { onDestroy, untrack } from 'svelte';
49
+ import type { ComponentProps, Snippet } from 'svelte';
50
+ import { Plot, Pointer, setPlotDefaults } from 'svelteplot';
51
+ import { getConfiguration } from '../../configuration/config.svelte';
52
+ import { buildScale } from '../scales/buildScale';
53
+ import ScalesLayout from '../scales/ScalesLayout.svelte';
54
+ import GeometryLayout from '../geometry/GeometryLayout.svelte';
55
+ import CoordinatesLayout from '../coordinates/CoordinatesLayout.svelte';
56
+ import StylesLayout from '../styles/StylesLayout.svelte';
57
+ import Tooltip from '../tooltip/Tooltip.svelte';
58
+ import { PlotHover } from '../hover/PlotHover.svelte';
59
+ import { PlotContext } from '../plot/PlotContext';
60
+ import { TimelineState } from '../timeline/TimelineState.svelte';
61
+ import type { PlotAxes } from '../../phases/data/PlotAxes';
62
+ import type { AxisBasedScalesConfig } from '../../types/layout/scales';
63
+ import type { AxisValue } from '../../types/layout/mapping';
64
+ import type { CoordinatesConfig, GeoScalesConfig } from '../../types/layout/coordinates';
65
+ import type { ScopedMarkerGroup } from '../../types/layout/geometry';
66
+ import type { HoverPoint } from '../../types/layout/hover';
67
+ import type { MarginConfig, HoverConfig } from '../../types/plots/props';
68
+ import type { MarkerConfig } from '../../types/markers/all';
69
+ import type { Series } from '../../types/plots/data/common';
70
+ import type { GeoFeature } from '../../types/plots/data/geo';
71
+
72
+ type SveltePlotProps = ComponentProps<typeof Plot>;
73
+
74
+ /**
75
+ * Shared frame around every plot kind's svelteplot markup: the svelteplot
76
+ * `<Plot>` with its styles, axes and markers, the pointer and hover/tooltip
77
+ * wiring, and the floating tooltip. `children` draws on top of the markers.
78
+ */
79
+ let {
80
+ width,
81
+ height,
82
+ state,
83
+ coordinates = undefined,
84
+ margins = $bindable(),
85
+ markers = undefined,
86
+ geoAllFeatures = undefined,
87
+ containerEl = $bindable(undefined),
88
+ children
89
+ }: {
90
+ width: number;
91
+ height: number;
92
+ /**
93
+ * The end of the plot's pipeline: its hover config, the rows it draws and
94
+ * hovers over (fed to svelteplot's `<Pointer>` and to `CoordinatesLayout`
95
+ * for a `domain: 'data'` auto-fit) and where each sits, its scales, its
96
+ * markers, and an axis kind's series and marker groups.
97
+ */
98
+ state: PlotLayoutState;
99
+ /** This plot kind's coordinate system config - `GeoPlot` only (a projection + pan/zoom). */
100
+ coordinates?: CoordinatesConfig;
101
+ /**
102
+ * The author's margins, over the theme's. Bindable: it receives the
103
+ * margins the plot's labels settled on - see {@link PlotMargins}.
104
+ */
105
+ margins?: MarginConfig;
106
+ /** Markers drawn after the state's own. */
107
+ markers?: MarkerConfig[];
108
+ /** `GeoPlot`'s own untouched, tagged features, forwarded to `GeometryLayout` - `inset` marker only. */
109
+ geoAllFeatures?: (GeoFeature<Record<string, unknown>> & { __id: string })[];
110
+ /** The wrapper div's own element - bind for a nested layout that needs it for its own gesture handling (e.g. `CoordinatesLayout`'s zoom/rotate). */
111
+ containerEl?: HTMLDivElement;
112
+ /**
113
+ * Draws on top of every marker, given the matched and active hover points,
114
+ * the numeric margins and the hover-match callbacks.
115
+ */
116
+ children?: Snippet<
117
+ [
118
+ {
119
+ matchedPoints: HoverPoint<TData>[];
120
+ activePoint: HoverPoint<TData> | null;
121
+ impliesCrosshairX: boolean;
122
+ impliesCrosshairY: boolean;
123
+ numericMargins: { top: number; right: number; bottom: number; left: number };
124
+ setHoverMatch: (rows: TData[]) => void;
125
+ clearHoverMatch: () => void;
126
+ }
127
+ ]
128
+ >;
129
+ } = $props();
130
+
131
+ const data = $derived((state.hoverRows ?? []) as TData[]);
132
+ const getX = $derived(state.hoverPosition!.x as (d: TData) => AxisValue);
133
+ const getY = $derived(state.hoverPosition!.y as (d: TData) => AxisValue);
134
+ const hover = $derived(state.hover as HoverConfig<TData>);
135
+ const scales = $derived(
136
+ state.scales as (AxisBasedScalesConfig<TData> & GeoScalesConfig) | undefined
137
+ );
138
+ const seriesData = $derived(state.resolvedSeries as Series<TSeries>[] | undefined);
139
+ const scopedGroups = $derived(state.scopedGroups as ScopedMarkerGroup<TSeries>[] | undefined);
140
+
141
+ // What this plot draws, on its figure's legend - its series, their colors and marks.
142
+ const legend = LegendState.current();
143
+ const legendSource = Symbol('plot');
144
+ $effect(() => {
145
+ const entries = LegendState.entriesOf(state as never);
146
+ untrack(() => legend?.register(legendSource, entries));
147
+ });
148
+ onDestroy(() => legend?.unregister(legendSource));
149
+
150
+ // Created once, not `$derived`: this plot's hover.
151
+ const ctrl = new PlotHover<TData>({
152
+ hover: () => hover,
153
+ getX: () => getX,
154
+ getY: () => getY,
155
+ width: () => width,
156
+ height: () => height
157
+ });
158
+
159
+ const cfg = $derived(getConfiguration());
160
+ setPlotDefaults({
161
+ numberFormat: { useGrouping: 'min2', compactDisplay: untrack(() => cfg.axis.compactDisplay) }
162
+ });
163
+
164
+ // Created once: this plot's margins, grown to fit the labels its markers report.
165
+ const plotMargins = new PlotMargins({
166
+ theme: () => cfg.margins,
167
+ author: () => margins,
168
+ estimate: () => state.marginEstimate ?? Margins.AXIS_ESTIMATE,
169
+ reserve: () => state.valueLabels?.reach ?? [],
170
+ size: () => ({ width, height }),
171
+ resetKey: () => state.resolvedSeries,
172
+ scales: () => scales,
173
+ tickFontSize: () => cfg.axis.fontSize,
174
+ settle: (settled) => (margins = settled)
175
+ });
176
+ const numericMargins = $derived(plotMargins.numeric);
177
+
178
+ // What anything drawn inside this plot reads through `usePlot()`.
179
+ PlotContext.provide<TData>({
180
+ hover: ctrl,
181
+ legend,
182
+ timeline: TimelineState.current(),
183
+ margins: plotMargins,
184
+ scales: () => scales,
185
+ axes: () => state.axes,
186
+ data: () => data,
187
+ size: () => ({ width, height })
188
+ });
189
+
190
+ // `buildScale` already left only svelteplot's own scale options.
191
+ const resolvedX = $derived(buildScale(scales?.x, data, getX) as SveltePlotProps['x']);
192
+ const resolvedY = $derived(buildScale(scales?.y, data, getY) as SveltePlotProps['y']);
193
+ /** Threaded straight into svelteplot's own `r` scale option - see `RScaleConfig`'s own doc comment for why this isn't independently resolved like `color`. */
194
+ const resolvedR = $derived(scales?.r as SveltePlotProps['r']);
195
+ /** Threaded straight into svelteplot's own `length` scale option - see `LengthScaleConfig`'s own doc comment. `GeoPlot`-only in practice (see `scales`'s own doc comment), same mechanism as `r`. */
196
+ const resolvedLength = $derived(scales?.length as SveltePlotProps['length']);
197
+
198
+ /** Only ever meaningful for `GeoPlot`. `none` while any interactive gesture (`zoom`/`pan`/`rotate`) is on. */
199
+ const touchAction = $derived(
200
+ (coordinates?.zoom !== false && coordinates?.zoom != null) ||
201
+ coordinates?.pan ||
202
+ coordinates?.rotate
203
+ ? 'none'
204
+ : undefined
205
+ );
206
+
207
+ // ── Hover / tooltip ───────────────────────────────────────────────────────
208
+
209
+ /** Declared intent, defaulted - see {@link HoverConfig.pointMatching}. */
210
+ const pointMatchingStrategy = $derived(hover.pointMatching ?? 'nearest');
211
+
212
+ /** The axes svelteplot's `<Pointer>` matches along, per hover strategy. */
213
+ const pointerMatchX = $derived(ctrl.state.strategy === 'y' ? undefined : getX);
214
+ const pointerMatchY = $derived(ctrl.state.strategy === 'x' ? undefined : getY);
215
+
216
+ function onMove(e: PointerEvent) {
217
+ if (hover.exclude?.(e)) {
218
+ ctrl.onLeave();
219
+ return;
220
+ }
221
+ ctrl.onMove(e);
222
+ }
223
+
224
+ const resolvedMarkers = $derived([
225
+ ...((state.markers ?? []) as MarkerConfig[]),
226
+ ...(markers ?? [])
227
+ ]);
228
+ </script>
229
+
230
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
231
+ <div
232
+ class="dct-plot"
233
+ bind:this={containerEl}
234
+ style:color={cfg.axis.color}
235
+ style:touch-action={touchAction}
236
+ onpointermove={hover.active ? onMove : undefined}
237
+ onpointerleave={hover.active ? ctrl.onLeave : undefined}
238
+ >
239
+ <CoordinatesLayout
240
+ {width}
241
+ {height}
242
+ margin={plotMargins.config}
243
+ x={resolvedX}
244
+ y={resolvedY}
245
+ r={resolvedR}
246
+ length={resolvedLength}
247
+ {coordinates}
248
+ locale={cfg.axis.locale}
249
+ {data}
250
+ {containerEl}
251
+ remountKey={plotMargins.remountKey}
252
+ >
253
+ <StylesLayout styles={state.styles} {width} {height} {numericMargins} />
254
+ <!-- Axes for every kind but GeoPlot. -->
255
+ {#if scales !== undefined && coordinates === undefined}
256
+ <ScalesLayout {data} {getX} {getY} {width} {height} {numericMargins} {scales} />
257
+ {/if}
258
+ <GeometryLayout
259
+ markers={resolvedMarkers}
260
+ seriesData={seriesData ?? []}
261
+ scopedGroups={scopedGroups ?? []}
262
+ channelScales={scales}
263
+ {ctrl}
264
+ {width}
265
+ {height}
266
+ {numericMargins}
267
+ {data}
268
+ {geoAllFeatures}
269
+ tooltipAnchorX={hover.tooltip?.anchorX}
270
+ tooltipAnchorY={hover.tooltip?.anchorY}
271
+ />
272
+ {@render children?.({
273
+ matchedPoints: ctrl.points,
274
+ activePoint: ctrl.activePoint,
275
+ impliesCrosshairX: ctrl.impliesCrosshairX,
276
+ impliesCrosshairY: ctrl.impliesCrosshairY,
277
+ numericMargins,
278
+ setHoverMatch: ctrl.onPointer,
279
+ clearHoverMatch: ctrl.onLeave
280
+ })}
281
+
282
+ {#if hover.active && pointMatchingStrategy === 'nearest'}
283
+ <Pointer
284
+ {data}
285
+ x={pointerMatchX}
286
+ y={pointerMatchY}
287
+ maxDistance={400}
288
+ onupdate={ctrl.onPointer}
289
+ />
290
+ {/if}
291
+ </CoordinatesLayout>
292
+
293
+ {#if hover.tooltip}
294
+ <Tooltip
295
+ visible={ctrl.showTooltip && ctrl.tooltipPosition != null}
296
+ x={ctrl.tooltipPosition?.x ?? 0}
297
+ y={ctrl.tooltipPosition?.y ?? 0}
298
+ rows={ctrl.matchedRows.map((p) => p.row)}
299
+ format={hover.tooltip.format}
300
+ content={hover.tooltip.content}
301
+ anchorX={hover.tooltip.anchorX}
302
+ anchorY={hover.tooltip.anchorY}
303
+ />
304
+ {/if}
305
+ </div>
306
+
307
+ <style>
308
+ .dct-plot {
309
+ position: relative;
310
+ line-height: 0;
311
+ }
312
+ </style>
@@ -0,0 +1,111 @@
1
+ import type { Margins as MarginsType } from '../margins/Margins';
2
+ import type { EdgeBox } from '../../types/layout/box';
3
+ import type { StylesLayoutConfig } from '../../types/layout/styles';
4
+ import type { HoverPosition } from '../../types/phases';
5
+ import type { HoverConfig as PlotHoverConfig } from '../../types/plots/props';
6
+ /**
7
+ * What `BasePlotLayout` draws from: the end of a plot's pipeline. An axis
8
+ * kind's state is one as is; GeoPlot builds its own.
9
+ */
10
+ export type PlotLayoutState = {
11
+ /** What the pointer can match, and how the hover reads. */
12
+ hover?: PlotHoverConfig<any>;
13
+ /** Where each row sits, for hover matching and the plot's scales. */
14
+ hoverPosition?: HoverPosition;
15
+ /** The rows the plot draws and hovers over. */
16
+ hoverRows?: unknown[];
17
+ /** The plot's x/y/r/length scales, and the scales a marker without its own inherits. */
18
+ scales?: object;
19
+ /** What the plot's position channels are and which way it runs, for what draws inside it. */
20
+ axes?: PlotAxes;
21
+ /** Every marker the pipeline resolved. */
22
+ markers?: object[];
23
+ /** All resolved series - axis kinds only. */
24
+ resolvedSeries?: object[];
25
+ /** Each series' color, by name - axis kinds only. */
26
+ colorForSeries?: (name: string) => string;
27
+ /** Per-series marker groups - axis kinds only. */
28
+ scopedGroups?: object[];
29
+ /** The plot's `styles`: its frame and, on a map, its tile layer. */
30
+ styles?: StylesLayoutConfig;
31
+ /** What an `'auto'` margin side reads as. Defaults to {@link Margins.AXIS_ESTIMATE}. */
32
+ marginEstimate?: MarginsType;
33
+ /** The plot's value labels, whose `reach` is the room the margins start from. */
34
+ valueLabels?: {
35
+ reach: EdgeBox[];
36
+ };
37
+ };
38
+ import type { Snippet } from 'svelte';
39
+ import type { PlotAxes } from '../../phases/data/PlotAxes';
40
+ import type { CoordinatesConfig } from '../../types/layout/coordinates';
41
+ import type { HoverPoint } from '../../types/layout/hover';
42
+ import type { MarginConfig } from '../../types/plots/props';
43
+ import type { MarkerConfig } from '../../types/markers/all';
44
+ import type { GeoFeature } from '../../types/plots/data/geo';
45
+ declare function $$render<TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData>(): {
46
+ props: {
47
+ width: number;
48
+ height: number;
49
+ /**
50
+ * The end of the plot's pipeline: its hover config, the rows it draws and
51
+ * hovers over (fed to svelteplot's `<Pointer>` and to `CoordinatesLayout`
52
+ * for a `domain: 'data'` auto-fit) and where each sits, its scales, its
53
+ * markers, and an axis kind's series and marker groups.
54
+ */
55
+ state: PlotLayoutState;
56
+ /** This plot kind's coordinate system config - `GeoPlot` only (a projection + pan/zoom). */
57
+ coordinates?: CoordinatesConfig;
58
+ /**
59
+ * The author's margins, over the theme's. Bindable: it receives the
60
+ * margins the plot's labels settled on - see {@link PlotMargins}.
61
+ */
62
+ margins?: MarginConfig;
63
+ /** Markers drawn after the state's own. */
64
+ markers?: MarkerConfig[];
65
+ /** `GeoPlot`'s own untouched, tagged features, forwarded to `GeometryLayout` - `inset` marker only. */
66
+ geoAllFeatures?: (GeoFeature<Record<string, unknown>> & {
67
+ __id: string;
68
+ })[];
69
+ /** The wrapper div's own element - bind for a nested layout that needs it for its own gesture handling (e.g. `CoordinatesLayout`'s zoom/rotate). */
70
+ containerEl?: HTMLDivElement;
71
+ /**
72
+ * Draws on top of every marker, given the matched and active hover points,
73
+ * the numeric margins and the hover-match callbacks.
74
+ */
75
+ children?: Snippet<[{
76
+ matchedPoints: HoverPoint<TData>[];
77
+ activePoint: HoverPoint<TData> | null;
78
+ impliesCrosshairX: boolean;
79
+ impliesCrosshairY: boolean;
80
+ numericMargins: {
81
+ top: number;
82
+ right: number;
83
+ bottom: number;
84
+ left: number;
85
+ };
86
+ setHoverMatch: (rows: TData[]) => void;
87
+ clearHoverMatch: () => void;
88
+ }]>;
89
+ };
90
+ exports: {};
91
+ bindings: "margins" | "containerEl";
92
+ slots: {};
93
+ events: {};
94
+ };
95
+ declare class __sveltets_Render<TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData> {
96
+ props(): ReturnType<typeof $$render<TData, TSeries>>['props'];
97
+ events(): ReturnType<typeof $$render<TData, TSeries>>['events'];
98
+ slots(): ReturnType<typeof $$render<TData, TSeries>>['slots'];
99
+ bindings(): "margins" | "containerEl";
100
+ exports(): {};
101
+ }
102
+ interface $$IsomorphicComponent {
103
+ new <TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TData, TSeries>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TData, TSeries>['props']>, ReturnType<__sveltets_Render<TData, TSeries>['events']>, ReturnType<__sveltets_Render<TData, TSeries>['slots']>> & {
104
+ $$bindings?: ReturnType<__sveltets_Render<TData, TSeries>['bindings']>;
105
+ } & ReturnType<__sveltets_Render<TData, TSeries>['exports']>;
106
+ <TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData>(internal: unknown, props: ReturnType<__sveltets_Render<TData, TSeries>['props']> & {}): ReturnType<__sveltets_Render<TData, TSeries>['exports']>;
107
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
108
+ }
109
+ declare const BasePlotLayout: $$IsomorphicComponent;
110
+ type BasePlotLayout<TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData> = InstanceType<typeof BasePlotLayout<TData, TSeries>>;
111
+ export default BasePlotLayout;