@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
@@ -0,0 +1,44 @@
1
+ <script lang="ts">
2
+ import { BollingerX, BollingerY } from 'svelteplot';
3
+ import { usePlot } from '../../layout/plot/usePlot';
4
+ import type { BollingerMarkerConfig } from '../../types/markers/common';
5
+
6
+ /**
7
+ * Renders one `'bollinger'` marker - a moving-average band (svelteplot's
8
+ * `BollingerX`/`BollingerY`, picked from the way the plot runs
9
+ * (`usePlot().axes`). A `stroke`-independent `fill`-style option
10
+ * is deliberately not offered - confirmed empirically to have no visible
11
+ * effect on svelteplot's own line (see `BollingerStatisticOptions`'s own
12
+ * doc comment).
13
+ */
14
+ let { marker }: { marker: BollingerMarkerConfig } = $props();
15
+
16
+ const plot = usePlot();
17
+ const isHorizontal = $derived(plot.axes?.isHorizontal ?? false);
18
+
19
+ const data = $derived(marker.data ?? []);
20
+ </script>
21
+
22
+ {#if isHorizontal}
23
+ <BollingerX
24
+ {data}
25
+ x={marker.x}
26
+ y={marker.y}
27
+ n={marker.n}
28
+ k={marker.k}
29
+ stroke={marker.styles?.stroke}
30
+ strokeOpacity={marker.styles?.strokeOpacity}
31
+ fill={marker.styles?.bandFill}
32
+ />
33
+ {:else}
34
+ <BollingerY
35
+ {data}
36
+ x={marker.x}
37
+ y={marker.y}
38
+ n={marker.n}
39
+ k={marker.k}
40
+ stroke={marker.styles?.stroke}
41
+ strokeOpacity={marker.styles?.strokeOpacity}
42
+ fill={marker.styles?.bandFill}
43
+ />
44
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { BollingerMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: BollingerMarkerConfig;
4
+ };
5
+ declare const BollingerMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type BollingerMarker = ReturnType<typeof BollingerMarker>;
7
+ export default BollingerMarker;
@@ -0,0 +1,143 @@
1
+ <script lang="ts">
2
+ import { BoxX, BoxY } from 'svelteplot';
3
+ import { usePlot } from '../../layout/plot/usePlot';
4
+ import { contrastTextColor } from '../../utils/color';
5
+ import { getConfiguration } from '../../configuration/config.svelte';
6
+ import type { BoxMarkerConfig } from '../../types/markers/common';
7
+
8
+ /**
9
+ * Renders one `'box'` marker as `<BoxX>` or `<BoxY>`, picked from the
10
+ * way the plot runs (`usePlot().axes`) - `marker.x`/`marker.y`
11
+ * map straight onto the plot's axes either way.
12
+ * `bar`/`rule`/`dot`/`tickMedian`/`tickMinMax` forward straight through to
13
+ * svelteplot's own same-named options - see `BoxMarkerConfig`'s own doc
14
+ * comment for the default styling this wrapper adds on top, inherited
15
+ * from `bar`.
16
+ */
17
+ let { marker }: { marker: BoxMarkerConfig } = $props();
18
+
19
+ const plot = usePlot();
20
+ const isHorizontal = $derived(plot.axes?.isHorizontal ?? false);
21
+
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ const data = $derived((marker.data ?? []) as any[]);
24
+
25
+ const cfg = $derived(getConfiguration());
26
+
27
+ /**
28
+ * The bar's own fully-resolved options - the author's own `bar`, with
29
+ * `fill` defaulted to this package's own `cfg.palette[0]` when unset
30
+ * (svelteplot's own bare default, `currentColor`, can't be resolved to a
31
+ * real color at this layer). Every other sub-mark's own default styling
32
+ * (below) is derived from this one object, so a change to `bar` (e.g. its
33
+ * `fillOpacity`) cascades to `rule`/`dot`/both ticks unless that sub-mark's
34
+ * own options object overrides the specific field.
35
+ */
36
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
+ const bar: Record<string, any> = $derived({
38
+ fill:
39
+ (typeof marker.bar === 'object' && marker.bar.fill != null
40
+ ? (marker.bar.fill as string)
41
+ : undefined) ?? cfg.palette[0],
42
+ ...(typeof marker.bar === 'object' ? marker.bar : {})
43
+ });
44
+ const barFill = $derived(bar.fill as string);
45
+
46
+ /** `bar.insetLeft`/`insetRight` averaged into one symmetric value - a tick's own `inset` is a single number/percentage, not independent left/right. */
47
+ const tickInset = $derived.by(() => {
48
+ const l = typeof bar.insetLeft === 'number' ? bar.insetLeft : undefined;
49
+ const r = typeof bar.insetRight === 'number' ? bar.insetRight : undefined;
50
+ if (l === undefined && r === undefined) return undefined;
51
+ return ((l ?? 0) + (r ?? 0)) / 2;
52
+ });
53
+
54
+ /**
55
+ * The style fields a line-shaped sub-mark (`rule`, `tickMedian`,
56
+ * `tickMinMax` - stroke, no fill) inherits from `bar` by default, besides
57
+ * its own `stroke` color (passed in separately: contrasting for
58
+ * `tickMedian`, matching for `rule`/`tickMinMax`).
59
+ */
60
+ function lineStyleDefaults(strokeColor: string): Record<string, unknown> {
61
+ const out: Record<string, unknown> = { stroke: strokeColor };
62
+ if (bar.strokeWidth !== undefined) out.strokeWidth = bar.strokeWidth;
63
+ const strokeOpacity = bar.fillOpacity ?? bar.opacity;
64
+ if (strokeOpacity !== undefined) out.strokeOpacity = strokeOpacity;
65
+ if (bar.opacity !== undefined) out.opacity = bar.opacity;
66
+ return out;
67
+ }
68
+
69
+ /** The style fields `dot` (fill + stroke, like `bar` itself) inherits from `bar` by default. */
70
+ function fillStyleDefaults(): Record<string, unknown> {
71
+ const out: Record<string, unknown> = { fill: barFill };
72
+ if (bar.fillOpacity !== undefined) out.fillOpacity = bar.fillOpacity;
73
+ if (bar.stroke !== undefined) out.stroke = bar.stroke;
74
+ if (bar.strokeWidth !== undefined) out.strokeWidth = bar.strokeWidth;
75
+ if (bar.strokeOpacity !== undefined) out.strokeOpacity = bar.strokeOpacity;
76
+ if (bar.opacity !== undefined) out.opacity = bar.opacity;
77
+ return out;
78
+ }
79
+
80
+ const ruleDefault = $derived(lineStyleDefaults(barFill));
81
+ const dotDefault = $derived(fillStyleDefaults());
82
+ const tickMedianDefault = $derived({
83
+ ...lineStyleDefaults(contrastTextColor(barFill)),
84
+ ...(tickInset !== undefined ? { inset: tickInset } : {})
85
+ });
86
+ const tickMinMaxDefault = $derived({
87
+ ...lineStyleDefaults(barFill),
88
+ ...(tickInset !== undefined ? { inset: tickInset } : {})
89
+ });
90
+
91
+ /**
92
+ * Resolves a `tickMedian`/`tickMinMax` value against this package's own
93
+ * default (enabled, with `defaultStyle`) - `false` hides it; `true` or
94
+ * unset shows it at just the default style; an options object shows it
95
+ * with the default style as a base, overridden by whatever the object
96
+ * itself sets.
97
+ */
98
+ function resolveTick(
99
+ value: boolean | Record<string, unknown> | undefined,
100
+ defaultStyle: Record<string, unknown>
101
+ ): Record<string, unknown> | false {
102
+ if (value === false) return false;
103
+ if (value === undefined || value === true) return defaultStyle;
104
+ return { ...defaultStyle, ...value };
105
+ }
106
+
107
+ const tickMedian = $derived(resolveTick(marker.tickMedian, tickMedianDefault));
108
+ const tickMinMax = $derived(resolveTick(marker.tickMinMax, tickMinMaxDefault));
109
+ const rule = $derived({
110
+ ...ruleDefault,
111
+ ...(typeof marker.rule === 'object' ? marker.rule : {})
112
+ });
113
+ /**
114
+ * `dot.fill: true` is svelteplot's own `currentColor` shorthand, which would
115
+ * paint the outliers in the text color. Here it means the box's own fill,
116
+ * so outliers take the series color like the box does.
117
+ */
118
+ const dot = $derived.by(() => {
119
+ const own = typeof marker.dot === 'object' ? marker.dot : {};
120
+ const fill = own.fill === true ? barFill : 'fill' in own ? own.fill : dotDefault.fill;
121
+ return { ...dotDefault, ...own, fill };
122
+ });
123
+
124
+ /**
125
+ * Cast once here (rather than at each call site) since this package's own
126
+ * `Record<string, unknown>` is looser than svelteplot's own
127
+ * `Record<string, ChannelAccessor>`.
128
+ */
129
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
130
+ const passthrough: Record<string, any> = $derived({
131
+ bar,
132
+ rule,
133
+ dot,
134
+ tickMedian,
135
+ tickMinMax
136
+ });
137
+ </script>
138
+
139
+ {#if isHorizontal}
140
+ <BoxX {data} x={marker.x} y={marker.y} sort={marker.sort} {...passthrough} />
141
+ {:else}
142
+ <BoxY {data} x={marker.x} y={marker.y} sort={marker.sort} {...passthrough} />
143
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { BoxMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: BoxMarkerConfig;
4
+ };
5
+ declare const BoxMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type BoxMarker = ReturnType<typeof BoxMarker>;
7
+ export default BoxMarker;
@@ -0,0 +1,32 @@
1
+ <script lang="ts">
2
+ import { Brush } from 'svelteplot';
3
+ import type { BrushMarkerConfig, BrushSelection } from '../../types/markers/common';
4
+
5
+ /**
6
+ * Renders one `'brush'` marker as `<Brush>`. svelteplot's `Brush` binds its
7
+ * selection, so this wrapper owns that state (seeded once from
8
+ * `marker.brush`) and surfaces changes through the `onbrush*` callbacks.
9
+ * svelteplot's `Brush` spreads its props over its defaults, so an explicit
10
+ * `undefined` would erase them - each default is restated here instead.
11
+ */
12
+ let { marker }: { marker: BrushMarkerConfig } = $props();
13
+
14
+ // svelte-ignore state_referenced_locally
15
+ let brush = $state<BrushSelection>(marker.brush ?? { enabled: false });
16
+ </script>
17
+
18
+ <Brush
19
+ bind:brush
20
+ limitDimension={marker.limitDimension ?? false}
21
+ constrainToDomain={marker.constrainToDomain ?? false}
22
+ resizeHandleSize={marker.resizeHandleSize ?? 10}
23
+ onbrushstart={marker.onbrushstart}
24
+ onbrush={marker.onbrush}
25
+ onbrushend={marker.onbrushend}
26
+ stroke={marker.styles?.stroke ?? 'currentColor'}
27
+ strokeWidth={marker.styles?.strokeWidth}
28
+ strokeOpacity={marker.styles?.strokeOpacity ?? 0.6}
29
+ strokeDasharray={marker.styles?.strokeDasharray ?? '2,3'}
30
+ strokeLinecap={marker.styles?.strokeLinecap}
31
+ strokeLinejoin={marker.styles?.strokeLinejoin}
32
+ />
@@ -0,0 +1,7 @@
1
+ import type { BrushMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: BrushMarkerConfig;
4
+ };
5
+ declare const BrushMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type BrushMarker = ReturnType<typeof BrushMarker>;
7
+ export default BrushMarker;
@@ -0,0 +1,27 @@
1
+ <script lang="ts">
2
+ import { Cell } from 'svelteplot';
3
+ import { MarkerChannels } from '../utils/MarkerChannels';
4
+ import { getConfiguration } from '../../configuration/config.svelte';
5
+ import type { CellMarkerConfig } from '../../types/markers/common';
6
+
7
+ /** Renders one `'cell'` marker as a `<Cell>` call. */
8
+ let { marker }: { marker: CellMarkerConfig } = $props();
9
+
10
+ const cfg = $derived(getConfiguration());
11
+ const data = $derived(marker.data ?? []);
12
+ const channelFill = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
13
+ </script>
14
+
15
+ <Cell
16
+ {data}
17
+ x={marker.x}
18
+ y={marker.y}
19
+ fill={channelFill ?? marker.fill}
20
+ fillOpacity={marker.styles?.fillOpacity ?? 1}
21
+ stroke={marker.styles?.stroke}
22
+ strokeWidth={marker.styles?.strokeWidth ?? 0}
23
+ strokeOpacity={marker.styles?.strokeOpacity}
24
+ strokeDasharray={marker.styles?.strokeDasharray}
25
+ borderRadius={marker.styles?.borderRadius}
26
+ inset={marker.inset ?? 0.5}
27
+ />
@@ -1,4 +1,4 @@
1
- import type { CellMarkerConfig } from '../types/markers/common';
1
+ import type { CellMarkerConfig } from '../../types/markers/common';
2
2
  type $$ComponentProps = {
3
3
  marker: CellMarkerConfig;
4
4
  };
@@ -0,0 +1,83 @@
1
+ <script lang="ts">
2
+ import { geoPath, type GeoPath } from 'd3-geo';
3
+ import { usePlot } from '../../layout/plot/usePlot';
4
+ import type { Snippet } from 'svelte';
5
+ import type { GeoFeature } from '../../types/plots/data/geo';
6
+
7
+ /**
8
+ * Masks a `contour` marker to just the landmass (`'land'`) or just the
9
+ * water (`'ocean'`) of the plot's own base map, via an SVG `clipPath` -
10
+ * lets a filled contour read as "temperature over land" without also
11
+ * painting straight across the ocean, or vice versa. A no-op passthrough
12
+ * when `mode` is unset, so this can unconditionally wrap every `contour`
13
+ * marker without an extra branch at each call site.
14
+ *
15
+ * Builds the clip path from the plot's own shared, already-fitted
16
+ * projection (`usePlot()` - the same hook `TileLayer.svelte` uses) rather
17
+ * than an independent one, so it lines up with the rest of the map
18
+ * regardless of projection/zoom. `'ocean'` unions the sphere and land
19
+ * paths into one `clip-rule: evenodd` shape - the sphere covers
20
+ * everything, then every land ring toggles back out, leaving only water.
21
+ */
22
+ let {
23
+ mode,
24
+ features,
25
+ children
26
+ }: {
27
+ mode: 'land' | 'ocean' | undefined;
28
+ features: GeoFeature<Record<string, unknown>>[];
29
+ children: Snippet;
30
+ } = $props();
31
+
32
+ const plot = usePlot().svelteplot;
33
+ const clipId = `geo-contour-clip-${Math.random().toString(36).slice(2, 9)}`;
34
+
35
+ // Same runtime shape TileLayer.svelte relies on - svelteplot's own
36
+ // `PlotScale` type doesn't reflect it, but `plot.scales.projection` is a
37
+ // real `d3-geo`-compatible stream source at runtime.
38
+ const path: GeoPath = $derived(
39
+ geoPath(plot.scales.projection as unknown as Parameters<typeof geoPath>[0])
40
+ );
41
+ // Some real-world datasets carry exact-duplicate features for the same
42
+ // territory (seen in this repo's own `WORLD_COUNTRIES` fixture, for every
43
+ // South American country) - harmless for an ordinary filled `<Geo>` (the
44
+ // duplicate just redraws the same shape), but fatal here: two identical,
45
+ // oppositely-would-be-redundant copies of the same ring toggle each other
46
+ // back out under `clip-rule: evenodd`, silently punching a hole exactly
47
+ // where the duplicated territory is. Deduping by geometry keeps this
48
+ // correct regardless of whether the caller's data happens to be clean.
49
+ const uniqueGeometries = $derived(
50
+ Array.from(
51
+ new Map(
52
+ features.map((f) => [JSON.stringify(f.geometry), f as unknown as GeoJSON.Feature])
53
+ ).values()
54
+ )
55
+ );
56
+ const landPath = $derived(
57
+ uniqueGeometries
58
+ .map((f) => path(f))
59
+ .filter((d): d is string => !!d)
60
+ .join(' ')
61
+ );
62
+ // `{type: 'Sphere'}` is d3-geo's own pseudo-geometry for "the whole
63
+ // globe" - not part of the GeoJSON spec, so `@types/geojson` has no type
64
+ // for it either.
65
+ const spherePath = $derived(path({ type: 'Sphere' } as unknown as GeoJSON.Feature) ?? '');
66
+ </script>
67
+
68
+ {#if mode}
69
+ <defs>
70
+ <clipPath id={clipId}>
71
+ {#if mode === 'land'}
72
+ <path d={landPath} clip-rule="evenodd" />
73
+ {:else}
74
+ <path d="{spherePath} {landPath}" clip-rule="evenodd" />
75
+ {/if}
76
+ </clipPath>
77
+ </defs>
78
+ <g clip-path="url(#{clipId})">
79
+ {@render children()}
80
+ </g>
81
+ {:else}
82
+ {@render children()}
83
+ {/if}
@@ -1,5 +1,5 @@
1
1
  import type { Snippet } from 'svelte';
2
- import type { GeoFeature } from '../types/plots/data/geo';
2
+ import type { GeoFeature } from '../../types/plots/data/geo';
3
3
  type $$ComponentProps = {
4
4
  mode: 'land' | 'ocean' | undefined;
5
5
  features: GeoFeature<Record<string, unknown>>[];
@@ -0,0 +1,28 @@
1
+ <script lang="ts">
2
+ import { Contour } from 'svelteplot';
3
+ import type { GeoContourMarkerConfig } from '../../types/markers/geo';
4
+
5
+ /**
6
+ * Renders one `'contour'` marker's `<Contour>` mark. `marker.clip` is
7
+ * handled by the caller (`GeometryLayout` wraps this in `ContourClipMarker`)
8
+ * - this component only draws the contour itself.
9
+ */
10
+ let { marker }: { marker: GeoContourMarkerConfig } = $props();
11
+ </script>
12
+
13
+ <!-- No `?? 'none'` fallback: an unset `fill` should leave svelteplot's own default (`fill="none"`) in place, not run the literal string `'none'` through the color scale. -->
14
+ <Contour
15
+ class="contour"
16
+ data={marker.data}
17
+ x={marker.x}
18
+ y={marker.y}
19
+ value={marker.value}
20
+ thresholds={marker.thresholds}
21
+ fill={marker.fill}
22
+ stroke={marker.stroke ?? 'currentColor'}
23
+ strokeWidth={marker.styles?.strokeWidth}
24
+ fillOpacity={marker.styles?.fillOpacity}
25
+ strokeOpacity={marker.styles?.strokeOpacity}
26
+ blur={marker.blur}
27
+ interpolate={marker.interpolate}
28
+ />
@@ -1,4 +1,4 @@
1
- import type { GeoContourMarkerConfig } from '../types/markers/geo';
1
+ import type { GeoContourMarkerConfig } from '../../types/markers/geo';
2
2
  type $$ComponentProps = {
3
3
  marker: GeoContourMarkerConfig;
4
4
  };
@@ -0,0 +1,26 @@
1
+ <script lang="ts">
2
+ import { DelaunayLink } from 'svelteplot';
3
+ import { MarkerChannels } from '../utils/MarkerChannels';
4
+ import { getConfiguration } from '../../configuration/config.svelte';
5
+ import type { DelaunayLinkMarkerConfig } from '../../types/markers/common';
6
+
7
+ /** Renders one `'delaunayLink'` marker as `<DelaunayLink>` - one line per Delaunay triangulation edge. */
8
+ let { marker }: { marker: DelaunayLinkMarkerConfig } = $props();
9
+
10
+ const cfg = $derived(getConfiguration());
11
+ const data = $derived(marker.data ?? []);
12
+ const channelColor = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
13
+ </script>
14
+
15
+ <DelaunayLink
16
+ {data}
17
+ x={marker.x}
18
+ y={marker.y}
19
+ z={marker.grouping}
20
+ fill={marker.styles?.fill}
21
+ fillOpacity={marker.styles?.fillOpacity}
22
+ stroke={marker.styles?.stroke ?? channelColor}
23
+ strokeWidth={marker.styles?.strokeWidth}
24
+ strokeOpacity={marker.styles?.strokeOpacity}
25
+ strokeDasharray={marker.styles?.strokeDasharray}
26
+ />
@@ -0,0 +1,7 @@
1
+ import type { DelaunayLinkMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: DelaunayLinkMarkerConfig;
4
+ };
5
+ declare const DelaunayLinkMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type DelaunayLinkMarker = ReturnType<typeof DelaunayLinkMarker>;
7
+ export default DelaunayLinkMarker;
@@ -0,0 +1,26 @@
1
+ <script lang="ts">
2
+ import { DelaunayMesh } from 'svelteplot';
3
+ import { MarkerChannels } from '../utils/MarkerChannels';
4
+ import { getConfiguration } from '../../configuration/config.svelte';
5
+ import type { DelaunayMeshMarkerConfig } from '../../types/markers/common';
6
+
7
+ /** Renders one `'delaunayMesh'` marker as `<DelaunayMesh>` - the Delaunay triangulation as a single mesh. */
8
+ let { marker }: { marker: DelaunayMeshMarkerConfig } = $props();
9
+
10
+ const cfg = $derived(getConfiguration());
11
+ const data = $derived(marker.data ?? []);
12
+ const channelColor = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
13
+ </script>
14
+
15
+ <DelaunayMesh
16
+ {data}
17
+ x={marker.x}
18
+ y={marker.y}
19
+ z={marker.grouping}
20
+ fill={marker.styles?.fill}
21
+ fillOpacity={marker.styles?.fillOpacity}
22
+ stroke={marker.styles?.stroke ?? channelColor}
23
+ strokeWidth={marker.styles?.strokeWidth}
24
+ strokeOpacity={marker.styles?.strokeOpacity}
25
+ strokeDasharray={marker.styles?.strokeDasharray}
26
+ />
@@ -0,0 +1,7 @@
1
+ import type { DelaunayMeshMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: DelaunayMeshMarkerConfig;
4
+ };
5
+ declare const DelaunayMeshMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type DelaunayMeshMarker = ReturnType<typeof DelaunayMeshMarker>;
7
+ export default DelaunayMeshMarker;
@@ -0,0 +1,21 @@
1
+ import type { Series } from '../../types/plots/data/common';
2
+ import type { DeltaConfig } from '../../types/markers/axis/delta';
3
+ /** A delta, measured: where it sits (`at`), its two ends and what lies between. */
4
+ export type ResolvedDelta = {
5
+ cfg: DeltaConfig;
6
+ at: number;
7
+ from: number;
8
+ to: number;
9
+ diff: number;
10
+ mid: number;
11
+ };
12
+ /**
13
+ * A delta marker's measure: the gap, at one position along `axis`, between
14
+ * the two curves (or axis lines) it compares. A target series is read where
15
+ * it crosses that position, interpolated linearly between its two nearest points.
16
+ */
17
+ export declare class Delta {
18
+ #private;
19
+ /** The delta `config` asks for over `allSeries`, or `undefined` while an end has no value there. */
20
+ static build<T extends Record<string, unknown>>(axis: 'x' | 'y', allSeries: Series<T>[], config: DeltaConfig): ResolvedDelta | undefined;
21
+ }
@@ -0,0 +1,60 @@
1
+ import { resolveAccessor } from '../../plots/utils/accessors';
2
+ /**
3
+ * A delta marker's measure: the gap, at one position along `axis`, between
4
+ * the two curves (or axis lines) it compares. A target series is read where
5
+ * it crosses that position, interpolated linearly between its two nearest points.
6
+ */
7
+ export class Delta {
8
+ /** The delta `config` asks for over `allSeries`, or `undefined` while an end has no value there. */
9
+ static build(axis, allSeries, config) {
10
+ const at = Number(config.at);
11
+ const from = Delta.#endpoint(axis, allSeries, config.from, at);
12
+ const to = config.to ? Delta.#endpoint(axis, allSeries, config.to, at) : 0;
13
+ if (from === null || to === null)
14
+ return undefined;
15
+ return {
16
+ cfg: config,
17
+ at,
18
+ from,
19
+ to,
20
+ diff: Math.abs(from - to),
21
+ mid: (from + to) / 2
22
+ };
23
+ }
24
+ /**
25
+ * Where `target` stands at `at` along `axis`: its value on the other axis,
26
+ * or an axis line's own. For `y`, the series' first crossing of that value.
27
+ */
28
+ static #endpoint(axis, allSeries, target, at) {
29
+ if (target.type === 'axis')
30
+ return target.value ?? 0;
31
+ const series = allSeries.find((s) => s.name === target.series);
32
+ if (!series)
33
+ return null;
34
+ const getX = (d) => Number(resolveAccessor(series.x)(d));
35
+ const getY = (d) => Number(resolveAccessor(series.y)(d));
36
+ return axis === 'x'
37
+ ? Delta.#interpolate(series.data, getX, getX, getY, at)
38
+ : Delta.#interpolate(series.data, getX, getY, getX, at);
39
+ }
40
+ /**
41
+ * Sorts `data` by `sortBy`, then finds the first adjacent pair where `scanBy`
42
+ * brackets `target` and linearly interpolates `measureBy` at that crossing.
43
+ */
44
+ static #interpolate(data, sortBy, scanBy, measureBy, target) {
45
+ const sorted = [...data].sort((a, b) => sortBy(a) - sortBy(b));
46
+ for (let i = 0; i < sorted.length; i++) {
47
+ if (scanBy(sorted[i]) === target)
48
+ return measureBy(sorted[i]);
49
+ }
50
+ for (let i = 0; i < sorted.length - 1; i++) {
51
+ const s0 = scanBy(sorted[i]);
52
+ const s1 = scanBy(sorted[i + 1]);
53
+ if ((s0 <= target && target <= s1) || (s1 <= target && target <= s0)) {
54
+ const t = (target - s0) / (s1 - s0);
55
+ return measureBy(sorted[i]) + t * (measureBy(sorted[i + 1]) - measureBy(sorted[i]));
56
+ }
57
+ }
58
+ return null;
59
+ }
60
+ }
@@ -0,0 +1,94 @@
1
+ <script lang="ts" generics="TData extends Record<string, unknown>">
2
+ import { Line } from 'svelteplot';
3
+ import DotMarker from '../dot/DotMarker.svelte';
4
+ import TextMarker from '../text/TextMarker.svelte';
5
+ import { Delta } from './Delta';
6
+ import type { Series } from '../../types/plots/data/common';
7
+ import type { DeltaMarkerConfig } from '../../types/markers/axis/delta';
8
+
9
+ let { marker, data = [] }: { marker: DeltaMarkerConfig; data?: Series<TData>[] } = $props();
10
+
11
+ const resolved = $derived(Delta.build(marker.axis, data, marker));
12
+
13
+ const clampRange = $derived.by((): [number, number] | undefined => {
14
+ const domain = marker.axis === 'x' ? marker.yDomain : marker.xDomain;
15
+ if (!domain || domain.length < 2) return undefined;
16
+ const lo = Number(domain[0]);
17
+ const hi = Number(domain[domain.length - 1]);
18
+ return isNaN(lo) || isNaN(hi) ? undefined : [Math.min(lo, hi), Math.max(lo, hi)];
19
+ });
20
+
21
+ function clamp(v: number): number {
22
+ return clampRange ? Math.max(clampRange[0], Math.min(clampRange[1], v)) : v;
23
+ }
24
+
25
+ function pt(fixed: number, varying: number) {
26
+ return marker.axis === 'x' ? { x: fixed, y: varying } : { x: varying, y: fixed };
27
+ }
28
+
29
+ function textVaryCoord(fromVis: number, toVis: number) {
30
+ const anchor = marker.text?.lineAnchor ?? 'middle';
31
+ return anchor === 'top'
32
+ ? Math.max(fromVis, toVis)
33
+ : anchor === 'bottom'
34
+ ? Math.min(fromVis, toVis)
35
+ : (fromVis + toVis) / 2;
36
+ }
37
+
38
+ // Pre-derive all coordinates as script-level signals so prop getters read safe
39
+ // values during Svelte 5 teardown, before the {#if} guard finishes unmounting.
40
+ const coords = $derived.by(() => {
41
+ if (!resolved) return null;
42
+ const fromVis = clamp(resolved.from ?? 0);
43
+ const toVis = clamp(resolved.to ?? 0);
44
+ const at = resolved.at ?? 0;
45
+ return {
46
+ fromPt: pt(at, fromVis),
47
+ toPt: pt(at, toVis),
48
+ textPt: pt(at, textVaryCoord(fromVis, toVis)),
49
+ lineData: [pt(at, fromVis), pt(at, toVis)],
50
+ diff: resolved.diff ?? 0
51
+ };
52
+ });
53
+
54
+ const dotStyles = $derived({
55
+ dotRadius: 4,
56
+ dotFill: marker.line?.stroke,
57
+ dotStroke: marker.line?.stroke,
58
+ dotStrokeWidth: 2,
59
+ ...marker.dot
60
+ });
61
+ </script>
62
+
63
+ {#if coords}
64
+ <Line
65
+ data={coords.lineData}
66
+ x={(p) => p.x}
67
+ y={(p) => p.y}
68
+ stroke={marker.line?.stroke ?? 'currentColor'}
69
+ strokeWidth={marker.line?.strokeWidth ?? 2}
70
+ strokeOpacity={marker.line?.strokeOpacity ?? 0.8}
71
+ strokeDasharray={marker.line?.strokeDasharray ?? '6 6'}
72
+ strokeLinecap={marker.line?.strokeLinecap ?? 'round'}
73
+ />
74
+ <DotMarker marker={{ type: 'dot', x: coords.fromPt.x, y: coords.fromPt.y, styles: dotStyles }} />
75
+ <DotMarker marker={{ type: 'dot', x: coords.toPt.x, y: coords.toPt.y, styles: dotStyles }} />
76
+ <TextMarker
77
+ marker={{
78
+ type: 'text',
79
+ x: coords.textPt.x,
80
+ y: coords.textPt.y,
81
+ text: (marker.formatDiff ?? ((v: number) => v.toFixed(1)))(coords.diff),
82
+ styles: {
83
+ fontWeight: 'bold',
84
+ fontSize: 14,
85
+ textAnchor: 'middle',
86
+ fill: marker.line?.stroke ?? 'currentColor',
87
+ ...marker.text,
88
+ dx: marker.text?.dx ?? (marker.axis === 'x' ? 12 : 0),
89
+ dy: marker.text?.dy ?? (marker.axis === 'x' ? 0 : -10),
90
+ lineAnchor: marker.axis === 'x' ? (marker.text?.lineAnchor ?? 'middle') : 'bottom'
91
+ }
92
+ }}
93
+ />
94
+ {/if}
@@ -1,5 +1,5 @@
1
- import type { Series } from '../types/plots/data/common';
2
- import type { DeltaMarkerConfig } from '../types/markers/line';
1
+ import type { Series } from '../../types/plots/data/common';
2
+ import type { DeltaMarkerConfig } from '../../types/markers/axis/delta';
3
3
  declare function $$render<TData extends Record<string, unknown>>(): {
4
4
  props: {
5
5
  marker: DeltaMarkerConfig;