@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,233 +1,296 @@
1
- <script lang="ts" generics="TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData">
2
- import type { Snippet } from 'svelte';
3
- import { SvelteMap } from 'svelte/reactivity';
4
- import BarMarker from '../../markers/BarMarker.svelte';
5
- import LineMarker from '../../markers/LineMarker.svelte';
6
- import CellMarker from '../../markers/CellMarker.svelte';
7
- import DotMarker from '../../markers/DotMarker.svelte';
8
- import TextMarker from '../../markers/TextMarker.svelte';
9
- import RuleMarker from '../../markers/RuleMarker.svelte';
10
- import HoverMarker from '../../markers/HoverMarker.svelte';
11
- import GeoHoverMarker from '../../markers/GeoHoverMarker.svelte';
12
- import DeltaMarker from '../../markers/DeltaMarker.svelte';
13
- import GeoFeaturesMarker from '../../markers/GeoFeaturesMarker.svelte';
14
- import GraticuleMarker from '../../markers/GraticuleMarker.svelte';
15
- import SphereMarker from '../../markers/SphereMarker.svelte';
16
- import VectorMarker from '../../markers/VectorMarker.svelte';
17
- import LinkMarker from '../../markers/LinkMarker.svelte';
18
- import ContourMarker from '../../markers/ContourMarker.svelte';
19
- import ContourClipMarker from '../../markers/ContourClipMarker.svelte';
20
- import InsetMarker from '../../markers/inset/InsetMarker.svelte';
21
- import { getConfiguration } from '../../configuration/config.svelte';
22
- import { resolveAccessor } from '../../plots/utils/accessors';
23
- import type { Series } from '../../types/plots/data/common';
24
- import type { HoverMarkerConfig, CustomComponentMarkerConfig } from '../../types/markers/common';
25
- import type { MarkerConfig } from '../../types/markers/all';
26
- import type { TooltipAnchorX, TooltipAnchorY } from '../../types/layout/tooltip';
27
- import type { HoverController } from '../tooltip/controller.svelte';
28
- import type { ScopedMarkerGroup } from '../../types/layout/geometry';
29
- import type { GeoFeature } from '../../types/plots/data/geo';
1
+ <script
2
+ lang="ts"
3
+ generics="TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData"
4
+ >
5
+ import BarMarker from '../../markers/bar/BarMarker.svelte';
6
+ import LineMarker from '../../markers/line/LineMarker.svelte';
7
+ import CellMarker from '../../markers/cell/CellMarker.svelte';
8
+ import RectMarker from '../../markers/rect/RectMarker.svelte';
9
+ import RegressionMarker from '../../markers/regression/RegressionMarker.svelte';
10
+ import BollingerMarker from '../../markers/bollinger/BollingerMarker.svelte';
11
+ import AreaMarker from '../../markers/area/AreaMarker.svelte';
12
+ import DensityMarker from '../../markers/density/DensityMarker.svelte';
13
+ import BoxMarker from '../../markers/box/BoxMarker.svelte';
14
+ import HullMarker from '../../markers/hull/HullMarker.svelte';
15
+ import DifferenceMarker from '../../markers/difference/DifferenceMarker.svelte';
16
+ import ArrowMarker from '../../markers/arrow/ArrowMarker.svelte';
17
+ import BrushMarker from '../../markers/brush/BrushMarker.svelte';
18
+ import DelaunayLinkMarker from '../../markers/delaunay/DelaunayLinkMarker.svelte';
19
+ import DelaunayMeshMarker from '../../markers/delaunay/DelaunayMeshMarker.svelte';
20
+ import VoronoiMarker from '../../markers/voronoi/VoronoiMarker.svelte';
21
+ import VoronoiMeshMarker from '../../markers/voronoi/VoronoiMeshMarker.svelte';
22
+ import ImageMarker from '../../markers/image/ImageMarker.svelte';
23
+ import RasterMarker from '../../markers/raster/RasterMarker.svelte';
24
+ import TickMarker from '../../markers/tick/TickMarker.svelte';
25
+ import TrailMarker from '../../markers/trail/TrailMarker.svelte';
26
+ import WaffleMarker from '../../markers/waffle/WaffleMarker.svelte';
27
+ import DotMarker from '../../markers/dot/DotMarker.svelte';
28
+ import TextMarker from '../../markers/text/TextMarker.svelte';
29
+ import RuleMarker from '../../markers/rule/RuleMarker.svelte';
30
+ import HoverMarker from '../../markers/hover/HoverMarker.svelte';
31
+ import GeoHoverMarker from '../../markers/geo/GeoHoverMarker.svelte';
32
+ import DeltaMarker from '../../markers/delta/DeltaMarker.svelte';
33
+ import GeoFeaturesMarker from '../../markers/geo/GeoFeaturesMarker.svelte';
34
+ import GraticuleMarker from '../../markers/geo/GraticuleMarker.svelte';
35
+ import SphereMarker from '../../markers/geo/SphereMarker.svelte';
36
+ import VectorMarker from '../../markers/vector/VectorMarker.svelte';
37
+ import LinkMarker from '../../markers/link/LinkMarker.svelte';
38
+ import ContourMarker from '../../markers/contour/ContourMarker.svelte';
39
+ import ContourClipMarker from '../../markers/contour/ContourClipMarker.svelte';
40
+ import InsetMarker from '../../markers/inset/InsetMarker.svelte';
41
+ import FrameClip from './FrameClip.svelte';
42
+ import { getConfiguration } from '../../configuration/config.svelte';
43
+ import { usePlot } from '../plot/usePlot';
44
+ import { PlotMargins } from '../margins/PlotMargins.svelte';
45
+ import type { Series } from '../../types/plots/data/common';
46
+ import type { MarkerConfig } from '../../types/markers/all';
47
+ import type { TooltipAnchorX, TooltipAnchorY } from '../../types/layout/tooltip';
48
+ import type { PlotHover } from '../hover/PlotHover.svelte';
49
+ import type { ScopedMarkerGroup } from '../../types/layout/geometry';
50
+ import type { GeoFeature } from '../../types/plots/data/geo';
51
+ import type { ChannelScalesConfig } from '../../types/layout/scales';
52
+ import { MarkerGrouping } from '../../phases/statistics/MarkerGrouping';
53
+ import { FrameClipping } from './FrameClipping';
30
54
 
31
- /**
32
- * Renders every marker in `markers`, in array order, each delegated to the
33
- * component that draws it. Owns only routing, plus the few extra props a
34
- * marker kind needs beyond its own config (hover-controller state for
35
- * `hover`; per-series data/color for a `series`-scoped `hover`/`component`).
36
- * `children` (value labels) renders last, on top of everything here.
37
- *
38
- * A marker scoped to one `series` renders once per matching entry in
39
- * `scopedGroups` instead of the plain loop, since it needs that series'
40
- * own data/color and resolved segments. `width`/`height`/`numericMargins`/
41
- * `geoAllFeatures` are `GeoPlot`-only context an `inset` marker needs
42
- * beyond its own config; `data` is `BasePlotLayout`'s own rows, forwarded
43
- * for `contour`'s clip and unscoped `geo-component`'s fallback data —
44
- * both reachable only through `GeoMarkersConfig`, so `data` is always
45
- * `GeoFeature`-shaped there despite the generic `TData` bound.
46
- */
47
- let {
48
- width,
49
- height,
50
- markers = [],
51
- seriesData = [],
52
- scopedGroups = [],
53
- ctrl,
54
- numericMargins,
55
- data = [],
56
- geoAllFeatures = [],
57
- tooltipAnchorX,
58
- tooltipAnchorY,
59
- children,
60
- }: {
61
- /** The plot's own outer width/height — `inset` marker only, to size its content box. */
62
- width?: number;
63
- height?: number;
64
- markers?: MarkerConfig[];
65
- /** All resolved series, forwarded to unscoped `component`/`delta` markers. Independently generic over `TSeries` (defaults to `TData`). */
66
- seriesData?: Series<TSeries>[];
67
- /** One entry per series that can own a `series`-scoped marker. Same `TSeries` as `seriesData`. */
68
- scopedGroups?: ScopedMarkerGroup<TSeries>[];
69
- /** `BasePlotLayout`'s own hover controller. */
70
- ctrl: HoverController<TData>;
71
- /** The plot's own resolved margins — `inset` marker only, to place its content box. */
72
- numericMargins?: { top: number; right: number; bottom: number; left: number };
73
- /** `BasePlotLayout`'s own rows — `contour` (clip) and unscoped `geo-component` fallback data. */
74
- data?: TData[];
75
- /** `GeoPlot`'s own untouched, tagged features — `inset` marker only (shows a part the main map may exclude). */
76
- geoAllFeatures?: (GeoFeature<Record<string, unknown>> & { __id: string })[];
77
- /** The plot's own top-level `tooltip.anchorX`/`anchorY` — `inset` marker only, as the fallback its own tooltip inherits when unset. */
78
- tooltipAnchorX?: TooltipAnchorX;
79
- tooltipAnchorY?: TooltipAnchorY;
80
- /** Rendered last, on top of every marker — typically value labels. Optional; a plot kind may have nothing extra to add. */
81
- children?: Snippet;
82
- } = $props();
55
+ /**
56
+ * Renders every marker in `markers`, in array order, each delegated to the
57
+ * component that draws it. Owns only routing, plus the few extra props a
58
+ * marker kind needs beyond its own config (hover-controller state for
59
+ * `hover`; per-series data/color for a `series`-scoped `hover`/`component`).
60
+ *
61
+ * A marker scoped to one `series` renders against its entry in
62
+ * `scopedGroups`, since it needs that series' own data/color and resolved
63
+ * segments; one whose series has no entry renders nothing. `width`/`height`/`numericMargins`/
64
+ * `geoAllFeatures` are `GeoPlot`-only context an `inset` marker needs
65
+ * beyond its own config; `data` is `BasePlotLayout`'s own rows, forwarded
66
+ * as the fallback every `CommonMarkerConfig`-based marker's own (optional)
67
+ * `data` falls back to when unset, plus `contour`'s clip and unscoped
68
+ * `geo-component`'s fallback data - the latter two reachable only through
69
+ * `GeoMarkersConfig`, so `data` is always `GeoFeature`-shaped there
70
+ * despite the generic `TData` bound.
71
+ */
72
+ let {
73
+ width,
74
+ height,
75
+ markers = [],
76
+ seriesData = [],
77
+ scopedGroups = [],
78
+ channelScales = undefined,
79
+ ctrl,
80
+ numericMargins,
81
+ data = [],
82
+ geoAllFeatures = [],
83
+ tooltipAnchorX,
84
+ tooltipAnchorY
85
+ }: {
86
+ /** The plot's own outer width/height - sizes the content box an `inset` marker needs. */
87
+ width?: number;
88
+ height?: number;
89
+ markers?: MarkerConfig[];
90
+ /** All resolved series, forwarded to unscoped `component`/`delta` markers. Independently generic over `TSeries` (defaults to `TData`). */
91
+ seriesData?: Series<TSeries>[];
92
+ /** One entry per series that can own a `series`-scoped marker. Same `TSeries` as `seriesData`. */
93
+ scopedGroups?: ScopedMarkerGroup<TSeries>[];
94
+ /** This plot kind's own `color`/`grouping` channel config - the fallback a marker's own `scales` inherits when it sets none of its own. */
95
+ channelScales?: ChannelScalesConfig;
96
+ /** `BasePlotLayout`'s own hover controller. */
97
+ ctrl: PlotHover<TData>;
98
+ /** The plot's own resolved margins - places the content box an `inset` marker needs. */
99
+ numericMargins?: { top: number; right: number; bottom: number; left: number };
100
+ /** `BasePlotLayout`'s own rows - `contour` (clip) and unscoped `geo-component` fallback data. */
101
+ data?: TData[];
102
+ /** `GeoPlot`'s own untouched, tagged features - `inset` marker only (shows a part the main map may exclude). */
103
+ geoAllFeatures?: (GeoFeature<Record<string, unknown>> & { __id: string })[];
104
+ /** The plot's own top-level `tooltip.anchorX`/`anchorY` - `inset` marker only, as the fallback its own tooltip inherits when unset. */
105
+ tooltipAnchorX?: TooltipAnchorX;
106
+ tooltipAnchorY?: TooltipAnchorY;
107
+ } = $props();
83
108
 
84
- const cfg = $derived(getConfiguration());
109
+ const cfg = $derived(getConfiguration());
85
110
 
86
- const geometryMarkers = $derived(
87
- markers.filter(
88
- (marker) => !((marker.type === 'hover' || marker.type === 'component') && 'series' in marker && marker.series),
89
- ),
90
- );
111
+ // Mounted inside svelteplot's `<Plot>`, the one place the margins it settles on can be read.
112
+ PlotMargins.current()?.follow(usePlot().svelteplot);
91
113
 
92
- const scopedMarkersByName = $derived.by(() => {
93
- const map = new SvelteMap<string, (HoverMarkerConfig | CustomComponentMarkerConfig)[]>();
94
- for (const marker of markers) {
95
- if ((marker.type === 'hover' || marker.type === 'component') && 'series' in marker && marker.series) {
96
- if (!map.has(marker.series)) map.set(marker.series, []);
97
- map.get(marker.series)!.push(marker);
98
- }
99
- }
100
- return map;
101
- });
114
+ const scopedSeriesOf = (marker: MarkerConfig): string | undefined =>
115
+ 'series' in marker && typeof marker.series === 'string' && marker.series
116
+ ? marker.series
117
+ : undefined;
102
118
 
103
- function markerKey(marker: MarkerConfig, i: number): string {
104
- if (marker.type === 'rule') return `rule-${marker.axis}-${marker.value}`;
105
- if (marker.type === 'bar') return `bar-${marker.role}-${i}`;
106
- return `${marker.type}-${i}`;
107
- }
119
+ const groupByName = $derived(new Map(scopedGroups.map((group) => [group.name, group])));
120
+
121
+ function markerKey(marker: MarkerConfig, i: number): string {
122
+ const scope = scopedSeriesOf(marker);
123
+ if (scope) return `${scope}-${marker.type}-${i}`;
124
+ if (marker.type === 'rule') {
125
+ const v = typeof marker.value === 'function' ? i : marker.value;
126
+ return `rule-${marker.axis}-${v}`;
127
+ }
128
+ if (marker.type === 'bar') return `bar-${marker.role}-${i}`;
129
+ return `${marker.type}-${i}`;
130
+ }
108
131
  </script>
109
132
 
110
- {#each geometryMarkers as marker, i (markerKey(marker, i))}
111
- {#if marker.type === 'bar'}
112
- <BarMarker {marker} />
113
- {:else if marker.type === 'line'}
114
- <LineMarker {marker} />
115
- {:else if marker.type === 'cell'}
116
- <CellMarker {marker} />
117
- {:else if marker.type === 'dot'}
118
- <DotMarker
119
- data={marker.data}
120
- x={resolveAccessor(marker.x)}
121
- y={resolveAccessor(marker.y)}
122
- r={typeof marker.r === 'number' || marker.r == null ? marker.r : resolveAccessor(marker.r)}
123
- fill={marker.fill}
124
- value={marker.value ? resolveAccessor(marker.value) : undefined}
125
- style={marker.style}
126
- />
127
- {:else if marker.type === 'text'}
128
- <TextMarker
129
- data={marker.data}
130
- x={resolveAccessor(marker.x)}
131
- y={resolveAccessor(marker.y)}
132
- text={marker.text}
133
- style={marker.style}
134
- />
135
- {:else if marker.type === 'rule'}
136
- <RuleMarker axis={marker.axis} value={marker.value} style={marker.style} />
137
- {:else if marker.type === 'geo'}
138
- <GeoFeaturesMarker {marker} />
139
- {:else if marker.type === 'graticule'}
140
- <GraticuleMarker {marker} />
141
- {:else if marker.type === 'sphere'}
142
- <SphereMarker {marker} />
143
- {:else if marker.type === 'vector'}
144
- <VectorMarker {marker} />
145
- {:else if marker.type === 'link'}
146
- <LinkMarker {marker} />
147
- {:else if marker.type === 'contour'}
148
- <!-- 'contour' only exists in GeoMarkersConfig, so `data` is always GeoFeature-shaped here despite the generic TData bound. -->
149
- <ContourClipMarker mode={marker.clip} features={data as unknown as GeoFeature<Record<string, unknown>>[]}>
150
- <ContourMarker {marker} />
151
- </ContourClipMarker>
152
- {:else if marker.type === 'inset'}
153
- <InsetMarker
154
- {marker}
155
- features={geoAllFeatures}
156
- width={Math.max(0, (width ?? 0) - (numericMargins?.left ?? 0) - (numericMargins?.right ?? 0))}
157
- height={Math.max(0, (height ?? 0) - (numericMargins?.top ?? 0) - (numericMargins?.bottom ?? 0))}
158
- left={numericMargins?.left ?? 0}
159
- top={numericMargins?.top ?? 0}
160
- defaultFill={cfg.palette[0]}
161
- {tooltipAnchorX}
162
- {tooltipAnchorY}
163
- />
164
- {:else if marker.type === 'component'}
165
- <marker.component {...marker.props} data={marker.data ?? seriesData} />
166
- {:else if marker.type === 'geo-component'}
167
- <marker.component {...marker.props} data={marker.data ?? data} />
168
- {:else if marker.type === 'hover'}
169
- <HoverMarker
170
- {marker}
171
- data={ctrl.points}
172
- activePoint={ctrl.activePoint}
173
- impliesCrosshairX={ctrl.impliesCrosshairX}
174
- impliesCrosshairY={ctrl.impliesCrosshairY}
175
- onActivePointPixel={ctrl.reportActivePointPixel}
176
- />
177
- {:else if marker.type === 'geo-hover'}
178
- <GeoHoverMarker {marker} data={ctrl.points} />
179
- {:else if marker.type === 'delta'}
180
- <DeltaMarker {marker} data={seriesData} />
181
- {/if}
182
- {/each}
133
+ {#snippet renderMarker(marker: MarkerConfig, rows: TData[] | TSeries[])}
134
+ {#if marker.type === 'bar'}
135
+ <BarMarker marker={{ ...marker, data: marker.data ?? rows }} />
136
+ {:else if marker.type === 'line'}
137
+ <LineMarker marker={{ ...marker, data: marker.data ?? rows }} />
138
+ {:else if marker.type === 'cell'}
139
+ <CellMarker marker={{ ...marker, data: marker.data ?? rows }} />
140
+ {:else if marker.type === 'rect'}
141
+ <RectMarker marker={{ ...marker, data: marker.data ?? rows }} />
142
+ {:else if marker.type === 'regression'}
143
+ <RegressionMarker marker={{ ...marker, data: marker.data ?? rows }} />
144
+ {:else if marker.type === 'bollinger'}
145
+ <BollingerMarker marker={{ ...marker, data: marker.data ?? rows }} />
146
+ {:else if marker.type === 'area'}
147
+ <AreaMarker marker={{ ...marker, data: marker.data ?? rows }} />
148
+ {:else if marker.type === 'density'}
149
+ <DensityMarker marker={{ ...marker, data: marker.data ?? rows }} />
150
+ {:else if marker.type === 'box'}
151
+ <BoxMarker marker={{ ...marker, data: marker.data ?? rows }} />
152
+ {:else if marker.type === 'hull'}
153
+ <HullMarker marker={{ ...marker, data: marker.data ?? rows }} />
154
+ {:else if marker.type === 'difference'}
155
+ <DifferenceMarker marker={{ ...marker, data: marker.data ?? rows }} />
156
+ {:else if marker.type === 'arrow'}
157
+ <ArrowMarker marker={{ ...marker, data: marker.data ?? rows }} />
158
+ {:else if marker.type === 'brush'}
159
+ <BrushMarker {marker} />
160
+ {:else if marker.type === 'delaunayLink'}
161
+ <DelaunayLinkMarker marker={{ ...marker, data: marker.data ?? rows }} />
162
+ {:else if marker.type === 'delaunayMesh'}
163
+ <DelaunayMeshMarker marker={{ ...marker, data: marker.data ?? rows }} />
164
+ {:else if marker.type === 'voronoi'}
165
+ <VoronoiMarker marker={{ ...marker, data: marker.data ?? rows }} />
166
+ {:else if marker.type === 'voronoiMesh'}
167
+ <VoronoiMeshMarker marker={{ ...marker, data: marker.data ?? rows }} />
168
+ {:else if marker.type === 'image'}
169
+ <ImageMarker marker={{ ...marker, data: marker.data ?? rows }} />
170
+ {:else if marker.type === 'raster'}
171
+ <RasterMarker marker={{ ...marker, data: marker.data ?? rows }} />
172
+ {:else if marker.type === 'tick'}
173
+ <TickMarker marker={{ ...marker, data: marker.data ?? rows }} />
174
+ {:else if marker.type === 'trail'}
175
+ <TrailMarker marker={{ ...marker, data: marker.data ?? rows }} />
176
+ {:else if marker.type === 'waffle'}
177
+ <WaffleMarker marker={{ ...marker, data: marker.data ?? rows }} />
178
+ {:else if marker.type === 'dot'}
179
+ <DotMarker
180
+ marker={{ ...marker, data: marker.data ?? rows, scales: marker.scales ?? channelScales }}
181
+ />
182
+ {:else if marker.type === 'text'}
183
+ <TextMarker marker={{ ...marker, data: marker.data ?? rows }} />
184
+ {:else if marker.type === 'rule'}
185
+ <RuleMarker {marker} />
186
+ {:else if marker.type === 'geo'}
187
+ <GeoFeaturesMarker {marker} />
188
+ {:else if marker.type === 'graticule'}
189
+ <GraticuleMarker {marker} />
190
+ {:else if marker.type === 'sphere'}
191
+ <SphereMarker {marker} />
192
+ {:else if marker.type === 'vector'}
193
+ <VectorMarker {marker} />
194
+ {:else if marker.type === 'link'}
195
+ <LinkMarker {marker} />
196
+ {:else if marker.type === 'contour'}
197
+ <!-- 'contour' only exists in GeoMarkersConfig, so `data` is always GeoFeature-shaped here despite the generic TData bound. -->
198
+ <ContourClipMarker
199
+ mode={marker.clip}
200
+ features={data as unknown as GeoFeature<Record<string, unknown>>[]}
201
+ >
202
+ <ContourMarker {marker} />
203
+ </ContourClipMarker>
204
+ {:else if marker.type === 'inset'}
205
+ <InsetMarker
206
+ {marker}
207
+ features={geoAllFeatures}
208
+ width={Math.max(0, (width ?? 0) - (numericMargins?.left ?? 0) - (numericMargins?.right ?? 0))}
209
+ height={Math.max(
210
+ 0,
211
+ (height ?? 0) - (numericMargins?.top ?? 0) - (numericMargins?.bottom ?? 0)
212
+ )}
213
+ left={numericMargins?.left ?? 0}
214
+ top={numericMargins?.top ?? 0}
215
+ defaultFill={cfg.palette[0]}
216
+ {tooltipAnchorX}
217
+ {tooltipAnchorY}
218
+ />
219
+ {:else if marker.type === 'component'}
220
+ <marker.component {...marker.props} data={marker.data ?? seriesData} />
221
+ {:else if marker.type === 'geo-component'}
222
+ <marker.component {...marker.props} data={marker.data ?? rows} />
223
+ {:else if marker.type === 'hover'}
224
+ <HoverMarker
225
+ {marker}
226
+ data={ctrl.points}
227
+ activePoint={ctrl.activePoint}
228
+ impliesCrosshairX={ctrl.impliesCrosshairX}
229
+ impliesCrosshairY={ctrl.impliesCrosshairY}
230
+ onActivePointPixel={ctrl.reportActivePointPixel}
231
+ />
232
+ {:else if marker.type === 'geo-hover'}
233
+ <GeoHoverMarker {marker} data={ctrl.points} />
234
+ {:else if marker.type === 'delta'}
235
+ <DeltaMarker {marker} data={seriesData} />
236
+ {/if}
237
+ {/snippet}
183
238
 
184
- {#each scopedGroups as group (group.name)}
185
- {#each scopedMarkersByName.get(group.name) ?? [] as marker, i (`${group.name}-${marker.type}-${i}`)}
186
- {#if marker.type === 'hover'}
187
- {@const seriesPoints = ctrl.points.filter((p) => p.series === group.name)}
188
- {#if marker.scope === 'segment'}
189
- {#each group.segments as seg, segIdx (`${group.name}-hover-segment-${segIdx}`)}
190
- <!-- p.row (TData) is always a superset of TSeries in practice, not provable across two independent generics. -->
191
- {@const segPoints = seriesPoints.filter((p) => seg.match(p.row as unknown as TSeries))}
192
- {#if segPoints.length > 0}
193
- <HoverMarker
194
- {marker}
195
- data={segPoints}
196
- activePoint={segPoints[0] ?? null}
197
- impliesCrosshairX={ctrl.impliesCrosshairX}
198
- impliesCrosshairY={ctrl.impliesCrosshairY}
199
- seriesColor={seg.color}
200
- />
201
- {/if}
202
- {/each}
203
- {:else}
204
- <HoverMarker
205
- {marker}
206
- data={seriesPoints}
207
- activePoint={seriesPoints[0] ?? null}
208
- impliesCrosshairX={ctrl.impliesCrosshairX}
209
- impliesCrosshairY={ctrl.impliesCrosshairY}
210
- seriesColor={group.segments[0]?.color ?? group.color}
211
- />
212
- {/if}
213
- {:else if marker.type === 'component'}
214
- {#if marker.scope === 'segment'}
215
- {#each group.segments as seg, segIdx (`${group.name}-component-segment-${segIdx}`)}
216
- {@const segmentData = group.data.filter((row) => seg.match(row))}
217
- {#if segmentData.length > 0}
218
- <marker.component {...marker.props} series={group.name} data={segmentData} seriesColor={seg.color} />
219
- {/if}
220
- {/each}
221
- {:else}
222
- <marker.component
223
- {...marker.props}
224
- series={group.name}
225
- data={group.data}
226
- seriesColor={group.segments[0]?.color ?? group.color}
227
- />
228
- {/if}
229
- {/if}
230
- {/each}
231
- {/each}
239
+ {#snippet renderScoped(marker: MarkerConfig, group: ScopedMarkerGroup<TSeries>)}
240
+ {#if marker.type === 'hover'}
241
+ {@const seriesPoints = ctrl.points.filter((p) => p.series === group.name)}
242
+ {#if marker.scope === 'segment'}
243
+ {#each group.segments as seg, segIdx (`${group.name}-hover-segment-${segIdx}`)}
244
+ <!-- p.row (TData) is always a superset of TSeries in practice, not provable across two independent generics. -->
245
+ {@const segPoints = seriesPoints.filter((p) => seg.match(p.row as unknown as TSeries))}
246
+ {#if segPoints.length > 0}
247
+ <HoverMarker
248
+ marker={MarkerGrouping.withHoverSeriesColor(marker, seg.color)}
249
+ data={segPoints}
250
+ activePoint={segPoints[0] ?? null}
251
+ impliesCrosshairX={ctrl.impliesCrosshairX}
252
+ impliesCrosshairY={ctrl.impliesCrosshairY}
253
+ />
254
+ {/if}
255
+ {/each}
256
+ {:else}
257
+ <HoverMarker
258
+ marker={MarkerGrouping.withHoverSeriesColor(
259
+ marker,
260
+ group.segments[0]?.color ?? group.color
261
+ )}
262
+ data={seriesPoints}
263
+ activePoint={seriesPoints[0] ?? null}
264
+ impliesCrosshairX={ctrl.impliesCrosshairX}
265
+ impliesCrosshairY={ctrl.impliesCrosshairY}
266
+ />
267
+ {/if}
268
+ {:else if marker.type === 'component'}
269
+ {#if marker.scope === 'segment'}
270
+ {#each group.segments as seg, segIdx (`${group.name}-component-segment-${segIdx}`)}
271
+ {@const segmentData = group.data.filter((row) => seg.match(row))}
272
+ {#if segmentData.length > 0}
273
+ <marker.component {...marker.props} series={group.name} data={segmentData} />
274
+ {/if}
275
+ {/each}
276
+ {:else}
277
+ <marker.component {...marker.props} series={group.name} data={group.data} />
278
+ {/if}
279
+ {:else}
280
+ <FrameClip clip={FrameClipping.isClipped(marker)}>
281
+ {@render renderMarker(MarkerGrouping.withSeriesColor(marker, group.color), group.data)}
282
+ </FrameClip>
283
+ {/if}
284
+ {/snippet}
232
285
 
233
- {@render children?.()}
286
+ <!-- Every marker in array order, so a later one always draws on top. -->
287
+ {#each markers as marker, i (markerKey(marker, i))}
288
+ {@const scope = scopedSeriesOf(marker)}
289
+ {#if scope === undefined}
290
+ <FrameClip clip={FrameClipping.isClipped(marker)}>
291
+ {@render renderMarker(marker, data)}
292
+ </FrameClip>
293
+ {:else if groupByName.has(scope)}
294
+ {@render renderScoped(marker, groupByName.get(scope)!)}
295
+ {/if}
296
+ {/each}
@@ -1,13 +1,13 @@
1
- import type { Snippet } from 'svelte';
2
1
  import type { Series } from '../../types/plots/data/common';
3
2
  import type { MarkerConfig } from '../../types/markers/all';
4
3
  import type { TooltipAnchorX, TooltipAnchorY } from '../../types/layout/tooltip';
5
- import type { HoverController } from '../tooltip/controller.svelte';
4
+ import type { PlotHover } from '../hover/PlotHover.svelte';
6
5
  import type { ScopedMarkerGroup } from '../../types/layout/geometry';
7
6
  import type { GeoFeature } from '../../types/plots/data/geo';
7
+ import type { ChannelScalesConfig } from '../../types/layout/scales';
8
8
  declare function $$render<TData extends Record<string, unknown>, TSeries extends Record<string, unknown> = TData>(): {
9
9
  props: {
10
- /** The plot's own outer width/height — `inset` marker only, to size its content box. */
10
+ /** The plot's own outer width/height - sizes the content box an `inset` marker needs. */
11
11
  width?: number;
12
12
  height?: number;
13
13
  markers?: MarkerConfig[];
@@ -15,26 +15,26 @@ declare function $$render<TData extends Record<string, unknown>, TSeries extends
15
15
  seriesData?: Series<TSeries>[];
16
16
  /** One entry per series that can own a `series`-scoped marker. Same `TSeries` as `seriesData`. */
17
17
  scopedGroups?: ScopedMarkerGroup<TSeries>[];
18
+ /** This plot kind's own `color`/`grouping` channel config - the fallback a marker's own `scales` inherits when it sets none of its own. */
19
+ channelScales?: ChannelScalesConfig;
18
20
  /** `BasePlotLayout`'s own hover controller. */
19
- ctrl: HoverController<TData>;
20
- /** The plot's own resolved margins — `inset` marker only, to place its content box. */
21
+ ctrl: PlotHover<TData>;
22
+ /** The plot's own resolved margins - places the content box an `inset` marker needs. */
21
23
  numericMargins?: {
22
24
  top: number;
23
25
  right: number;
24
26
  bottom: number;
25
27
  left: number;
26
28
  };
27
- /** `BasePlotLayout`'s own rows — `contour` (clip) and unscoped `geo-component` fallback data. */
29
+ /** `BasePlotLayout`'s own rows - `contour` (clip) and unscoped `geo-component` fallback data. */
28
30
  data?: TData[];
29
- /** `GeoPlot`'s own untouched, tagged features — `inset` marker only (shows a part the main map may exclude). */
31
+ /** `GeoPlot`'s own untouched, tagged features - `inset` marker only (shows a part the main map may exclude). */
30
32
  geoAllFeatures?: (GeoFeature<Record<string, unknown>> & {
31
33
  __id: string;
32
34
  })[];
33
- /** The plot's own top-level `tooltip.anchorX`/`anchorY` — `inset` marker only, as the fallback its own tooltip inherits when unset. */
35
+ /** The plot's own top-level `tooltip.anchorX`/`anchorY` - `inset` marker only, as the fallback its own tooltip inherits when unset. */
34
36
  tooltipAnchorX?: TooltipAnchorX;
35
37
  tooltipAnchorY?: TooltipAnchorY;
36
- /** Rendered last, on top of every marker — typically value labels. Optional; a plot kind may have nothing extra to add. */
37
- children?: Snippet;
38
38
  };
39
39
  exports: {};
40
40
  bindings: "";