@fundar/data-chart-telling 0.0.64 → 1.1.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 (839) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -0
  3. package/README.md +112 -553
  4. package/dist/configuration/config.svelte.d.ts +5 -5
  5. package/dist/configuration/config.svelte.js +142 -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 +545 -80
  17. package/dist/configuration/themes/index.js +6 -5
  18. package/dist/index.d.ts +35 -48
  19. package/dist/index.js +20 -35
  20. package/dist/layout/base/BasePlotLayout.svelte +325 -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 +34 -0
  69. package/dist/layout/hover/HoverSettings.js +52 -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 +84 -0
  89. package/dist/layout/legend/LegendState.svelte.js +333 -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 +287 -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 +131 -0
  111. package/dist/layout/plot/PublicPlotContext.js +240 -0
  112. package/dist/layout/plot/Slice.d.ts +44 -0
  113. package/dist/layout/plot/Slice.js +100 -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/EdgeTicks.d.ts +39 -0
  117. package/dist/layout/scales/EdgeTicks.js +82 -0
  118. package/dist/layout/scales/NiceTicks.d.ts +40 -0
  119. package/dist/layout/scales/NiceTicks.js +72 -0
  120. package/dist/layout/scales/ScalesLayout.svelte +275 -206
  121. package/dist/layout/scales/ScalesLayout.svelte.d.ts +7 -1
  122. package/dist/layout/scales/SveltePlotScale.d.ts +15 -0
  123. package/dist/layout/scales/SveltePlotScale.js +79 -0
  124. package/dist/layout/styles/StylesLayout.svelte +65 -65
  125. package/dist/layout/styles/TileLayer.svelte +78 -76
  126. package/dist/layout/styles/TileLayer.svelte.d.ts +1 -1
  127. package/dist/layout/styles/ValueLabels.d.ts +97 -0
  128. package/dist/layout/styles/ValueLabels.js +238 -0
  129. package/dist/layout/timeline/Timeline.svelte +83 -74
  130. package/dist/layout/timeline/Timeline.svelte.d.ts +2 -0
  131. package/dist/layout/timeline/TimelineFrame.svelte +86 -0
  132. package/dist/layout/timeline/TimelineFrame.svelte.d.ts +16 -0
  133. package/dist/layout/timeline/TimelineLayout.svelte +140 -169
  134. package/dist/layout/timeline/TimelineLayout.svelte.d.ts +7 -3
  135. package/dist/layout/timeline/TimelinePlayer.svelte +195 -0
  136. package/dist/layout/timeline/TimelinePlayer.svelte.d.ts +7 -0
  137. package/dist/layout/timeline/TimelineRule.svelte +51 -0
  138. package/dist/layout/timeline/TimelineRule.svelte.d.ts +7 -0
  139. package/dist/layout/timeline/TimelineState.svelte.d.ts +90 -0
  140. package/dist/layout/timeline/TimelineState.svelte.js +260 -0
  141. package/dist/layout/timeline/TimelineSteps.d.ts +24 -0
  142. package/dist/layout/timeline/TimelineSteps.js +48 -0
  143. package/dist/layout/timeline/TimelineTime.d.ts +18 -0
  144. package/dist/layout/timeline/TimelineTime.js +117 -0
  145. package/dist/layout/tooltip/Tooltip.svelte +85 -85
  146. package/dist/layout/tooltip/Tooltip.svelte.d.ts +45 -24
  147. package/dist/layout/tooltip/TooltipState.svelte.d.ts +67 -0
  148. package/dist/layout/tooltip/TooltipState.svelte.js +126 -0
  149. package/dist/markers/MarkerKinds.d.ts +173 -0
  150. package/dist/markers/MarkerKinds.js +51 -0
  151. package/dist/markers/area/AreaMarker.svelte +110 -0
  152. package/dist/markers/area/AreaMarker.svelte.d.ts +7 -0
  153. package/dist/markers/arrow/ArrowMarker.svelte +28 -0
  154. package/dist/markers/arrow/ArrowMarker.svelte.d.ts +7 -0
  155. package/dist/markers/{BarMarker.svelte → bar/BarMarker.svelte} +54 -52
  156. package/dist/markers/{BarMarker.svelte.d.ts → bar/BarMarker.svelte.d.ts} +1 -1
  157. package/dist/markers/bollinger/BollingerMarker.svelte +44 -0
  158. package/dist/markers/bollinger/BollingerMarker.svelte.d.ts +7 -0
  159. package/dist/markers/box/BoxMarker.svelte +143 -0
  160. package/dist/markers/box/BoxMarker.svelte.d.ts +7 -0
  161. package/dist/markers/brush/BrushMarker.svelte +32 -0
  162. package/dist/markers/brush/BrushMarker.svelte.d.ts +7 -0
  163. package/dist/markers/cell/CellMarker.svelte +27 -0
  164. package/dist/markers/{CellMarker.svelte.d.ts → cell/CellMarker.svelte.d.ts} +1 -1
  165. package/dist/markers/contour/ContourClipMarker.svelte +83 -0
  166. package/dist/markers/{ContourClipMarker.svelte.d.ts → contour/ContourClipMarker.svelte.d.ts} +1 -1
  167. package/dist/markers/contour/ContourMarker.svelte +28 -0
  168. package/dist/markers/{ContourMarker.svelte.d.ts → contour/ContourMarker.svelte.d.ts} +1 -1
  169. package/dist/markers/delaunay/DelaunayLinkMarker.svelte +26 -0
  170. package/dist/markers/delaunay/DelaunayLinkMarker.svelte.d.ts +7 -0
  171. package/dist/markers/delaunay/DelaunayMeshMarker.svelte +26 -0
  172. package/dist/markers/delaunay/DelaunayMeshMarker.svelte.d.ts +7 -0
  173. package/dist/markers/delta/Delta.d.ts +21 -0
  174. package/dist/markers/delta/Delta.js +60 -0
  175. package/dist/markers/delta/DeltaMarker.svelte +96 -0
  176. package/dist/markers/{DeltaMarker.svelte.d.ts → delta/DeltaMarker.svelte.d.ts} +2 -2
  177. package/dist/markers/density/DensityMarker.svelte +63 -0
  178. package/dist/markers/density/DensityMarker.svelte.d.ts +7 -0
  179. package/dist/markers/difference/DifferenceMarker.svelte +30 -0
  180. package/dist/markers/difference/DifferenceMarker.svelte.d.ts +7 -0
  181. package/dist/markers/dot/DotMarker.svelte +102 -0
  182. package/dist/markers/{DotMarker.svelte.d.ts → dot/DotMarker.svelte.d.ts} +5 -17
  183. package/dist/markers/geo/GeoFeaturesMarker.svelte +39 -0
  184. package/dist/markers/{GeoFeaturesMarker.svelte.d.ts → geo/GeoFeaturesMarker.svelte.d.ts} +1 -1
  185. package/dist/markers/geo/GeoHoverMarker.svelte +28 -0
  186. package/dist/markers/{GeoHoverMarker.svelte.d.ts → geo/GeoHoverMarker.svelte.d.ts} +2 -2
  187. package/dist/markers/geo/GraticuleMarker.svelte +18 -0
  188. package/dist/markers/{GraticuleMarker.svelte.d.ts → geo/GraticuleMarker.svelte.d.ts} +1 -1
  189. package/dist/markers/geo/SphereMarker.svelte +15 -0
  190. package/dist/markers/{SphereMarker.svelte.d.ts → geo/SphereMarker.svelte.d.ts} +1 -1
  191. package/dist/markers/hover/HoverMarker.svelte +252 -0
  192. package/dist/markers/{HoverMarker.svelte.d.ts → hover/HoverMarker.svelte.d.ts} +10 -10
  193. package/dist/markers/hull/HullMarker.svelte +25 -0
  194. package/dist/markers/hull/HullMarker.svelte.d.ts +7 -0
  195. package/dist/markers/image/ImageMarker.svelte +22 -0
  196. package/dist/markers/image/ImageMarker.svelte.d.ts +7 -0
  197. package/dist/markers/inset/InsetMarker.svelte +184 -150
  198. package/dist/markers/inset/InsetMarker.svelte.d.ts +4 -4
  199. package/dist/markers/inset/insetLayout.d.ts +1 -1
  200. package/dist/markers/inset/insetLayout.js +6 -2
  201. package/dist/markers/inset/insetProjection.d.ts +1 -1
  202. package/dist/markers/inset/insetProjection.js +3 -3
  203. package/dist/markers/line/LineMarker.svelte +30 -0
  204. package/dist/markers/{LineMarker.svelte.d.ts → line/LineMarker.svelte.d.ts} +1 -1
  205. package/dist/markers/link/LinkMarker.svelte +47 -0
  206. package/dist/markers/{LinkMarker.svelte.d.ts → link/LinkMarker.svelte.d.ts} +1 -1
  207. package/dist/markers/raster/RasterMarker.svelte +31 -0
  208. package/dist/markers/raster/RasterMarker.svelte.d.ts +7 -0
  209. package/dist/markers/rect/RectMarker.svelte +62 -0
  210. package/dist/markers/rect/RectMarker.svelte.d.ts +7 -0
  211. package/dist/markers/regression/RegressionMarker.svelte +60 -0
  212. package/dist/markers/regression/RegressionMarker.svelte.d.ts +7 -0
  213. package/dist/markers/rule/RuleMarker.svelte +47 -0
  214. package/dist/markers/{RuleMarker.svelte.d.ts → rule/RuleMarker.svelte.d.ts} +2 -5
  215. package/dist/markers/text/Declutter.d.ts +35 -0
  216. package/dist/markers/text/Declutter.js +157 -0
  217. package/dist/markers/text/TextMarker.svelte +244 -0
  218. package/dist/markers/{TextMarker.svelte.d.ts → text/TextMarker.svelte.d.ts} +5 -9
  219. package/dist/markers/tick/TickMarker.svelte +44 -0
  220. package/dist/markers/tick/TickMarker.svelte.d.ts +7 -0
  221. package/dist/markers/trail/TrailMarker.svelte +27 -0
  222. package/dist/markers/trail/TrailMarker.svelte.d.ts +7 -0
  223. package/dist/markers/utils/BandNudge.d.ts +22 -0
  224. package/dist/markers/utils/BandNudge.js +23 -0
  225. package/dist/markers/utils/MarkerChannels.d.ts +49 -0
  226. package/dist/markers/utils/MarkerChannels.js +97 -0
  227. package/dist/markers/vector/VectorMarker.svelte +29 -0
  228. package/dist/markers/{VectorMarker.svelte.d.ts → vector/VectorMarker.svelte.d.ts} +1 -1
  229. package/dist/markers/voronoi/VoronoiMarker.svelte +26 -0
  230. package/dist/markers/voronoi/VoronoiMarker.svelte.d.ts +7 -0
  231. package/dist/markers/voronoi/VoronoiMeshMarker.svelte +26 -0
  232. package/dist/markers/voronoi/VoronoiMeshMarker.svelte.d.ts +7 -0
  233. package/dist/markers/waffle/WaffleMarker.svelte +56 -0
  234. package/dist/markers/waffle/WaffleMarker.svelte.d.ts +7 -0
  235. package/dist/phases/Pipeline.d.ts +108 -0
  236. package/dist/phases/Pipeline.js +227 -0
  237. package/dist/phases/data/DataPhase.d.ts +19 -0
  238. package/dist/phases/data/DataPhase.js +85 -0
  239. package/dist/phases/data/PlotAxes.d.ts +75 -0
  240. package/dist/phases/data/PlotAxes.js +151 -0
  241. package/dist/phases/facet/FacetPanels.d.ts +54 -0
  242. package/dist/phases/facet/FacetPanels.js +95 -0
  243. package/dist/phases/facet/FacetPhase.d.ts +11 -0
  244. package/dist/phases/facet/FacetPhase.js +28 -0
  245. package/dist/phases/hover/HoverPhase.d.ts +36 -0
  246. package/dist/phases/hover/HoverPhase.js +109 -0
  247. package/dist/phases/mapping/MappingPhase.d.ts +17 -0
  248. package/dist/phases/mapping/MappingPhase.js +40 -0
  249. package/dist/phases/markers/MarkersPhase.d.ts +14 -0
  250. package/dist/phases/markers/MarkersPhase.js +27 -0
  251. package/dist/phases/scales/MarkerAxisValues.d.ts +12 -0
  252. package/dist/phases/scales/MarkerAxisValues.js +34 -0
  253. package/dist/phases/scales/ScalesPhase.d.ts +29 -0
  254. package/dist/phases/scales/ScalesPhase.js +153 -0
  255. package/dist/phases/sharedScales/SharedScalesPhase.d.ts +58 -0
  256. package/dist/phases/sharedScales/SharedScalesPhase.js +171 -0
  257. package/dist/phases/statistics/AuthorMarkers.d.ts +43 -0
  258. package/dist/phases/statistics/AuthorMarkers.js +69 -0
  259. package/dist/phases/statistics/MarkerGrouping.d.ts +48 -0
  260. package/dist/phases/statistics/MarkerGrouping.js +113 -0
  261. package/dist/phases/statistics/Statistics.d.ts +53 -0
  262. package/dist/phases/statistics/Statistics.js +156 -0
  263. package/dist/phases/statistics/StatisticsPhase.d.ts +18 -0
  264. package/dist/phases/statistics/StatisticsPhase.js +67 -0
  265. package/dist/phases/statistics/methods/BollingerStatistic.d.ts +9 -0
  266. package/dist/phases/statistics/methods/BollingerStatistic.js +18 -0
  267. package/dist/phases/statistics/methods/BoxStatistic.d.ts +9 -0
  268. package/dist/phases/statistics/methods/BoxStatistic.js +18 -0
  269. package/dist/phases/statistics/methods/Density2dStatistic.d.ts +9 -0
  270. package/dist/phases/statistics/methods/Density2dStatistic.js +18 -0
  271. package/dist/phases/statistics/methods/DensityStatistic.d.ts +12 -0
  272. package/dist/phases/statistics/methods/DensityStatistic.js +29 -0
  273. package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +12 -0
  274. package/dist/phases/statistics/methods/MovingAverageStatistic.js +30 -0
  275. package/dist/phases/statistics/methods/RegressionStatistic.d.ts +9 -0
  276. package/dist/phases/statistics/methods/RegressionStatistic.js +21 -0
  277. package/dist/phases/styles/StylesPhase.d.ts +13 -0
  278. package/dist/phases/styles/StylesPhase.js +17 -0
  279. package/dist/phases/tooltip/TooltipPhase.d.ts +14 -0
  280. package/dist/phases/tooltip/TooltipPhase.js +17 -0
  281. package/dist/phases/transforms/ProcessedPositions.d.ts +30 -0
  282. package/dist/phases/transforms/ProcessedPositions.js +74 -0
  283. package/dist/phases/transforms/Transforms.d.ts +42 -0
  284. package/dist/phases/transforms/Transforms.js +130 -0
  285. package/dist/phases/transforms/TransformsPhase.d.ts +27 -0
  286. package/dist/phases/transforms/TransformsPhase.js +205 -0
  287. package/dist/phases/transforms/methods/AnchorBar.d.ts +13 -0
  288. package/dist/phases/transforms/methods/AnchorBar.js +21 -0
  289. package/dist/phases/transforms/methods/BinTransform.d.ts +7 -0
  290. package/dist/phases/transforms/methods/BinTransform.js +48 -0
  291. package/dist/phases/transforms/methods/DensityTransform.d.ts +6 -0
  292. package/dist/phases/transforms/methods/DensityTransform.js +13 -0
  293. package/dist/phases/transforms/methods/GroupTransform.d.ts +8 -0
  294. package/dist/phases/transforms/methods/GroupTransform.js +39 -0
  295. package/dist/phases/transforms/methods/NormalizeTransform.d.ts +10 -0
  296. package/dist/phases/transforms/methods/NormalizeTransform.js +30 -0
  297. package/dist/phases/transforms/methods/OrderTransform.d.ts +16 -0
  298. package/dist/phases/transforms/methods/OrderTransform.js +43 -0
  299. package/dist/phases/transforms/methods/PerGroup.d.ts +11 -0
  300. package/dist/phases/transforms/methods/PerGroup.js +39 -0
  301. package/dist/phases/transforms/methods/PositionTransform.d.ts +15 -0
  302. package/dist/phases/transforms/methods/PositionTransform.js +74 -0
  303. package/dist/phases/transforms/methods/StackTransform.d.ts +8 -0
  304. package/dist/phases/transforms/methods/StackTransform.js +29 -0
  305. package/dist/phases/transforms/methods/WindowTransform.d.ts +8 -0
  306. package/dist/phases/transforms/methods/WindowTransform.js +23 -0
  307. package/dist/plots/area/Plot.svelte +42 -0
  308. package/dist/plots/{heatmap/ValueLabels.svelte.d.ts → area/Plot.svelte.d.ts} +8 -16
  309. package/dist/plots/area/defaults.d.ts +4 -0
  310. package/dist/plots/area/defaults.js +21 -0
  311. package/dist/plots/area/markers.d.ts +14 -0
  312. package/dist/plots/area/markers.js +39 -0
  313. package/dist/plots/bar/Plot.svelte +33 -438
  314. package/dist/plots/bar/Plot.svelte.d.ts +5 -8
  315. package/dist/plots/bar/defaults.d.ts +9 -0
  316. package/dist/plots/bar/defaults.js +88 -0
  317. package/dist/plots/bar/markers.d.ts +45 -0
  318. package/dist/plots/bar/markers.js +233 -0
  319. package/dist/plots/box/BoxSummaries.d.ts +19 -0
  320. package/dist/plots/box/BoxSummaries.js +101 -0
  321. package/dist/plots/box/Plot.svelte +42 -0
  322. package/dist/plots/box/Plot.svelte.d.ts +26 -0
  323. package/dist/plots/box/defaults.d.ts +12 -0
  324. package/dist/plots/box/defaults.js +34 -0
  325. package/dist/plots/box/markers.d.ts +12 -0
  326. package/dist/plots/box/markers.js +34 -0
  327. package/dist/plots/geo/Core.svelte +151 -0
  328. package/dist/plots/geo/Core.svelte.d.ts +25 -0
  329. package/dist/plots/geo/Plot.svelte +103 -324
  330. package/dist/plots/geo/Plot.svelte.d.ts +5 -9
  331. package/dist/plots/geo/defaults.d.ts +4 -0
  332. package/dist/plots/geo/defaults.js +16 -0
  333. package/dist/plots/geo/features.svelte.d.ts +5 -0
  334. package/dist/plots/geo/features.svelte.js +44 -0
  335. package/dist/plots/geo/phases/data.d.ts +6 -0
  336. package/dist/plots/geo/phases/data.js +26 -0
  337. package/dist/plots/geo/phases/hover.d.ts +9 -0
  338. package/dist/plots/geo/phases/hover.js +45 -0
  339. package/dist/plots/geo/phases/markers.d.ts +9 -0
  340. package/dist/plots/geo/phases/markers.js +75 -0
  341. package/dist/plots/geo/phases/scales.d.ts +10 -0
  342. package/dist/plots/geo/phases/scales.js +85 -0
  343. package/dist/plots/geo/phases/tooltip.d.ts +3 -0
  344. package/dist/plots/geo/phases/tooltip.js +5 -0
  345. package/dist/plots/geo/slices.d.ts +18 -0
  346. package/dist/plots/geo/slices.js +59 -0
  347. package/dist/plots/heatmap/Plot.svelte +55 -249
  348. package/dist/plots/heatmap/Plot.svelte.d.ts +5 -8
  349. package/dist/plots/heatmap/defaults.d.ts +11 -0
  350. package/dist/plots/heatmap/defaults.js +91 -0
  351. package/dist/plots/heatmap/markers.d.ts +17 -0
  352. package/dist/plots/heatmap/markers.js +142 -0
  353. package/dist/plots/histogram/Plot.svelte +45 -0
  354. package/dist/plots/histogram/Plot.svelte.d.ts +26 -0
  355. package/dist/plots/histogram/defaults.d.ts +9 -0
  356. package/dist/plots/histogram/defaults.js +87 -0
  357. package/dist/plots/histogram/markers.d.ts +18 -0
  358. package/dist/plots/histogram/markers.js +89 -0
  359. package/dist/plots/line/Plot.svelte +37 -268
  360. package/dist/plots/line/Plot.svelte.d.ts +3 -7
  361. package/dist/plots/line/defaults.d.ts +4 -0
  362. package/dist/plots/line/defaults.js +29 -0
  363. package/dist/plots/line/markers.d.ts +49 -0
  364. package/dist/plots/line/markers.js +199 -0
  365. package/dist/plots/pyramid/Plot.svelte +34 -362
  366. package/dist/plots/pyramid/Plot.svelte.d.ts +5 -8
  367. package/dist/plots/pyramid/defaults.d.ts +13 -0
  368. package/dist/plots/pyramid/defaults.js +87 -0
  369. package/dist/plots/pyramid/markers.d.ts +21 -0
  370. package/dist/plots/pyramid/markers.js +156 -0
  371. package/dist/plots/scatter/Plot.svelte +34 -288
  372. package/dist/plots/scatter/Plot.svelte.d.ts +5 -8
  373. package/dist/plots/scatter/defaults.d.ts +4 -0
  374. package/dist/plots/scatter/defaults.js +80 -0
  375. package/dist/plots/scatter/markers.d.ts +19 -0
  376. package/dist/plots/scatter/markers.js +129 -0
  377. package/dist/plots/utils/ChannelName.d.ts +9 -0
  378. package/dist/plots/utils/ChannelName.js +14 -0
  379. package/dist/plots/utils/accessors.d.ts +1 -1
  380. package/dist/plots/utils/accessors.js +4 -2
  381. package/dist/plots/utils/gaps.d.ts +14 -19
  382. package/dist/plots/utils/gaps.js +38 -18
  383. package/dist/plots/utils/geoAccessors.d.ts +8 -8
  384. package/dist/plots/utils/geoAccessors.js +16 -12
  385. package/dist/plots/utils/geoSegments.d.ts +24 -9
  386. package/dist/plots/utils/geoSegments.js +31 -11
  387. package/dist/plots/utils/segments.d.ts +5 -16
  388. package/dist/plots/utils/segments.js +40 -52
  389. package/dist/plots/utils/tiles.d.ts +9 -9
  390. package/dist/plots/utils/tiles.js +35 -25
  391. package/dist/plots/utils/topojson.d.ts +1 -1
  392. package/dist/plots/utils/topojson.js +3 -3
  393. package/dist/stores/device.js +2 -4
  394. package/dist/types/configuration/styling.d.ts +174 -27
  395. package/dist/types/layout/box.d.ts +24 -0
  396. package/dist/types/layout/composer.d.ts +39 -0
  397. package/dist/types/layout/coordinates.d.ts +14 -14
  398. package/dist/types/layout/facet.d.ts +44 -22
  399. package/dist/types/layout/figure.d.ts +7 -0
  400. package/dist/types/layout/geometry.d.ts +6 -2
  401. package/dist/types/layout/grid.d.ts +66 -0
  402. package/dist/types/layout/hover.d.ts +48 -0
  403. package/dist/types/layout/legend.d.ts +256 -55
  404. package/dist/types/layout/mapping.d.ts +68 -0
  405. package/dist/types/layout/plot.d.ts +41 -0
  406. package/dist/types/layout/scales.d.ts +108 -24
  407. package/dist/types/layout/scales.js +19 -1
  408. package/dist/types/layout/statistics/bollinger.d.ts +18 -0
  409. package/dist/types/layout/statistics/box.d.ts +8 -0
  410. package/dist/types/layout/statistics/box.js +1 -0
  411. package/dist/types/layout/statistics/density.d.ts +27 -0
  412. package/dist/types/layout/statistics/density.js +1 -0
  413. package/dist/types/layout/statistics/index.d.ts +46 -0
  414. package/dist/types/layout/statistics/index.js +1 -0
  415. package/dist/types/layout/statistics/movingAverage.d.ts +12 -0
  416. package/dist/types/layout/statistics/movingAverage.js +1 -0
  417. package/dist/types/layout/statistics/regression.d.ts +20 -0
  418. package/dist/types/layout/statistics/regression.js +1 -0
  419. package/dist/types/layout/styles.d.ts +24 -35
  420. package/dist/types/layout/timeline.d.ts +62 -6
  421. package/dist/types/layout/tooltip.d.ts +7 -85
  422. package/dist/types/markers/all.d.ts +3 -4
  423. package/dist/types/markers/axis/area.d.ts +12 -0
  424. package/dist/types/markers/axis/area.js +1 -0
  425. package/dist/types/markers/axis/arrow.d.ts +15 -0
  426. package/dist/types/markers/axis/arrow.js +1 -0
  427. package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +29 -0
  428. package/dist/types/markers/axis/axisBasedMarkersConfig.js +1 -0
  429. package/dist/types/markers/axis/bar.d.ts +18 -0
  430. package/dist/types/markers/axis/bar.js +1 -0
  431. package/dist/types/markers/axis/bollinger.d.ts +6 -0
  432. package/dist/types/markers/axis/bollinger.js +1 -0
  433. package/dist/types/markers/axis/box.d.ts +14 -0
  434. package/dist/types/markers/axis/box.js +1 -0
  435. package/dist/types/markers/axis/brush.d.ts +28 -0
  436. package/dist/types/markers/axis/brush.js +1 -0
  437. package/dist/types/markers/axis/cell.d.ts +9 -0
  438. package/dist/types/markers/axis/cell.js +1 -0
  439. package/dist/types/markers/axis/component.d.ts +9 -0
  440. package/dist/types/markers/axis/component.js +1 -0
  441. package/dist/types/markers/axis/curveName.d.ts +2 -0
  442. package/dist/types/markers/axis/curveName.js +1 -0
  443. package/dist/types/markers/axis/delaunayLink.d.ts +7 -0
  444. package/dist/types/markers/axis/delaunayLink.js +1 -0
  445. package/dist/types/markers/axis/delaunayMesh.d.ts +7 -0
  446. package/dist/types/markers/axis/delaunayMesh.js +1 -0
  447. package/dist/types/markers/axis/delta.d.ts +27 -0
  448. package/dist/types/markers/axis/delta.js +1 -0
  449. package/dist/types/markers/axis/density.d.ts +12 -0
  450. package/dist/types/markers/axis/density.js +1 -0
  451. package/dist/types/markers/axis/difference.d.ts +12 -0
  452. package/dist/types/markers/axis/difference.js +1 -0
  453. package/dist/types/markers/axis/hover.d.ts +21 -0
  454. package/dist/types/markers/axis/hover.js +1 -0
  455. package/dist/types/markers/axis/hull.d.ts +7 -0
  456. package/dist/types/markers/axis/hull.js +1 -0
  457. package/dist/types/markers/axis/image.d.ts +12 -0
  458. package/dist/types/markers/axis/image.js +1 -0
  459. package/dist/types/markers/axis/line.d.ts +7 -0
  460. package/dist/types/markers/axis/line.js +1 -0
  461. package/dist/types/markers/axis/raster.d.ts +18 -0
  462. package/dist/types/markers/axis/raster.js +1 -0
  463. package/dist/types/markers/axis/rect.d.ts +15 -0
  464. package/dist/types/markers/axis/rect.js +1 -0
  465. package/dist/types/markers/axis/regression.d.ts +6 -0
  466. package/dist/types/markers/axis/regression.js +1 -0
  467. package/dist/types/markers/axis/rule.d.ts +15 -0
  468. package/dist/types/markers/axis/rule.js +1 -0
  469. package/dist/types/markers/axis/tick.d.ts +8 -0
  470. package/dist/types/markers/axis/tick.js +1 -0
  471. package/dist/types/markers/axis/trail.d.ts +14 -0
  472. package/dist/types/markers/axis/trail.js +1 -0
  473. package/dist/types/markers/axis/voronoi.d.ts +7 -0
  474. package/dist/types/markers/axis/voronoi.js +1 -0
  475. package/dist/types/markers/axis/voronoiMesh.d.ts +7 -0
  476. package/dist/types/markers/axis/voronoiMesh.js +1 -0
  477. package/dist/types/markers/axis/waffle.d.ts +13 -0
  478. package/dist/types/markers/axis/waffle.js +1 -0
  479. package/dist/types/markers/basic/basicMarkersConfig.d.ts +4 -0
  480. package/dist/types/markers/basic/basicMarkersConfig.js +1 -0
  481. package/dist/types/markers/basic/dot.d.ts +9 -0
  482. package/dist/types/markers/basic/dot.js +1 -0
  483. package/dist/types/markers/basic/text.d.ts +60 -0
  484. package/dist/types/markers/basic/text.js +1 -0
  485. package/dist/types/markers/basic.d.ts +4 -0
  486. package/dist/types/markers/basic.js +1 -0
  487. package/dist/types/markers/channels/commonMarkerConfig.d.ts +26 -0
  488. package/dist/types/markers/channels/commonMarkerConfig.js +1 -0
  489. package/dist/types/markers/channels/commonMarkerConfigWithArea.d.ts +6 -0
  490. package/dist/types/markers/channels/commonMarkerConfigWithArea.js +1 -0
  491. package/dist/types/markers/channels/commonMarkerConfigWithColor.d.ts +5 -0
  492. package/dist/types/markers/channels/commonMarkerConfigWithColor.js +1 -0
  493. package/dist/types/markers/channels/commonMarkerConfigWithInterval.d.ts +9 -0
  494. package/dist/types/markers/channels/commonMarkerConfigWithInterval.js +1 -0
  495. package/dist/types/markers/channels/commonMarkerConfigWithRadius.d.ts +5 -0
  496. package/dist/types/markers/channels/commonMarkerConfigWithRadius.js +1 -0
  497. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.d.ts +5 -0
  498. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.js +1 -0
  499. package/dist/types/markers/channels/commonMarkerConfigWithWeight.d.ts +5 -0
  500. package/dist/types/markers/channels/commonMarkerConfigWithWeight.js +1 -0
  501. package/dist/types/markers/common.d.ts +30 -103
  502. package/dist/types/markers/common.js +29 -1
  503. package/dist/types/markers/geo/contour.d.ts +27 -0
  504. package/dist/types/markers/geo/contour.js +1 -0
  505. package/dist/types/markers/geo/features.d.ts +12 -0
  506. package/dist/types/markers/geo/features.js +1 -0
  507. package/dist/types/markers/geo/geoComponent.d.ts +7 -0
  508. package/dist/types/markers/geo/geoComponent.js +1 -0
  509. package/dist/types/markers/geo/geoHover.d.ts +6 -0
  510. package/dist/types/markers/geo/geoHover.js +1 -0
  511. package/dist/types/markers/geo/geoMarkersConfig.d.ts +11 -0
  512. package/dist/types/markers/geo/geoMarkersConfig.js +1 -0
  513. package/dist/types/markers/geo/graticule.d.ts +11 -0
  514. package/dist/types/markers/geo/graticule.js +1 -0
  515. package/dist/types/markers/geo/inset.d.ts +50 -0
  516. package/dist/types/markers/geo/inset.js +1 -0
  517. package/dist/types/markers/geo/link.d.ts +13 -0
  518. package/dist/types/markers/geo/link.js +1 -0
  519. package/dist/types/markers/geo/sphere.d.ts +11 -0
  520. package/dist/types/markers/geo/sphere.js +1 -0
  521. package/dist/types/markers/geo/vector.d.ts +17 -0
  522. package/dist/types/markers/geo/vector.js +1 -0
  523. package/dist/types/markers/geo.d.ts +10 -212
  524. package/dist/types/markers/geo.js +10 -1
  525. package/dist/types/markers/traits.d.ts +22 -0
  526. package/dist/types/markers/traits.js +1 -0
  527. package/dist/types/misc/easing.js +1 -0
  528. package/dist/types/misc/viewport.js +1 -0
  529. package/dist/types/phases/data/axes.d.ts +18 -0
  530. package/dist/types/phases/data/axes.js +1 -0
  531. package/dist/types/phases/data/phase.d.ts +26 -0
  532. package/dist/types/phases/data/phase.js +2 -0
  533. package/dist/types/phases/facet/phase.d.ts +18 -0
  534. package/dist/types/phases/facet/phase.js +1 -0
  535. package/dist/types/phases/hover/phase.d.ts +40 -0
  536. package/dist/types/phases/hover/phase.js +1 -0
  537. package/dist/types/phases/index.d.ts +14 -0
  538. package/dist/types/phases/index.js +1 -0
  539. package/dist/types/phases/kind.d.ts +59 -0
  540. package/dist/types/phases/kind.js +1 -0
  541. package/dist/types/phases/mapping/phase.d.ts +5 -0
  542. package/dist/types/phases/mapping/phase.js +1 -0
  543. package/dist/types/phases/markers/phase.d.ts +13 -0
  544. package/dist/types/phases/markers/phase.js +1 -0
  545. package/dist/types/phases/pipeline.d.ts +10 -0
  546. package/dist/types/phases/pipeline.js +1 -0
  547. package/dist/types/phases/scales/phase.d.ts +26 -0
  548. package/dist/types/phases/scales/phase.js +1 -0
  549. package/dist/types/phases/sharedScales/phase.d.ts +12 -0
  550. package/dist/types/phases/sharedScales/phase.js +1 -0
  551. package/dist/types/phases/stage.d.ts +12 -0
  552. package/dist/types/phases/stage.js +1 -0
  553. package/dist/types/phases/state.d.ts +76 -0
  554. package/dist/types/phases/state.js +1 -0
  555. package/dist/types/phases/statistics/phase.d.ts +43 -0
  556. package/dist/types/phases/statistics/phase.js +1 -0
  557. package/dist/types/phases/statistics/source.d.ts +20 -0
  558. package/dist/types/phases/statistics/source.js +7 -0
  559. package/dist/types/phases/styles/phase.d.ts +24 -0
  560. package/dist/types/phases/styles/phase.js +1 -0
  561. package/dist/types/phases/transforms/adapter.d.ts +27 -0
  562. package/dist/types/phases/transforms/adapter.js +1 -0
  563. package/dist/types/phases/transforms/phase.d.ts +50 -0
  564. package/dist/types/phases/transforms/phase.js +1 -0
  565. package/dist/types/plots/area/props.d.ts +10 -0
  566. package/dist/types/plots/area/props.js +1 -0
  567. package/dist/types/plots/area/state.d.ts +6 -0
  568. package/dist/types/plots/area/state.js +1 -0
  569. package/dist/types/plots/bar/props.d.ts +10 -0
  570. package/dist/types/plots/bar/props.js +1 -0
  571. package/dist/types/plots/bar/state.d.ts +6 -0
  572. package/dist/types/plots/bar/state.js +1 -0
  573. package/dist/types/plots/box/props.d.ts +10 -0
  574. package/dist/types/plots/box/props.js +1 -0
  575. package/dist/types/plots/box/state.d.ts +23 -0
  576. package/dist/types/plots/box/state.js +1 -0
  577. package/dist/types/plots/camera.d.ts +7 -17
  578. package/dist/types/plots/constants.d.ts +16 -8
  579. package/dist/types/plots/data/common.d.ts +25 -17
  580. package/dist/types/plots/data/geo.d.ts +26 -12
  581. package/dist/types/plots/gaps.d.ts +19 -38
  582. package/dist/types/plots/geo/props.d.ts +23 -0
  583. package/dist/types/plots/geo/props.js +1 -0
  584. package/dist/types/plots/geo/state.d.ts +82 -0
  585. package/dist/types/plots/geo/state.js +1 -0
  586. package/dist/types/plots/heatmap/props.d.ts +10 -0
  587. package/dist/types/plots/heatmap/props.js +1 -0
  588. package/dist/types/plots/heatmap/state.d.ts +28 -0
  589. package/dist/types/plots/heatmap/state.js +1 -0
  590. package/dist/types/plots/histogram/props.d.ts +18 -0
  591. package/dist/types/plots/histogram/props.js +1 -0
  592. package/dist/types/plots/histogram/state.d.ts +6 -0
  593. package/dist/types/plots/histogram/state.js +1 -0
  594. package/dist/types/plots/line/props.d.ts +10 -0
  595. package/dist/types/plots/line/props.js +1 -0
  596. package/dist/types/plots/line/state.d.ts +9 -0
  597. package/dist/types/plots/line/state.js +1 -0
  598. package/dist/types/plots/props.d.ts +145 -35
  599. package/dist/types/plots/pyramid/props.d.ts +10 -0
  600. package/dist/types/plots/pyramid/props.js +1 -0
  601. package/dist/types/plots/pyramid/state.d.ts +16 -0
  602. package/dist/types/plots/pyramid/state.js +1 -0
  603. package/dist/types/plots/scatter/props.d.ts +10 -0
  604. package/dist/types/plots/scatter/props.js +1 -0
  605. package/dist/types/plots/scatter/state.d.ts +6 -0
  606. package/dist/types/plots/scatter/state.js +1 -0
  607. package/dist/types/plots/segments/common.d.ts +1 -1
  608. package/dist/types/plots/segments/config.d.ts +12 -6
  609. package/dist/types/plots/styling.d.ts +5 -5
  610. package/dist/types/transforms/bin.d.ts +84 -0
  611. package/dist/types/transforms/bin.js +28 -0
  612. package/dist/types/transforms/bollinger.d.ts +21 -0
  613. package/dist/types/transforms/bollinger.js +1 -0
  614. package/dist/types/transforms/common.d.ts +29 -0
  615. package/dist/types/transforms/common.js +16 -0
  616. package/dist/types/transforms/density.d.ts +45 -0
  617. package/dist/types/transforms/density.js +10 -0
  618. package/dist/types/transforms/filter.d.ts +12 -0
  619. package/dist/types/transforms/filter.js +14 -0
  620. package/dist/types/transforms/group.d.ts +70 -0
  621. package/dist/types/transforms/group.js +8 -0
  622. package/dist/types/transforms/index.d.ts +36 -0
  623. package/dist/types/transforms/index.js +1 -0
  624. package/dist/types/transforms/interval.d.ts +21 -0
  625. package/dist/types/transforms/interval.js +14 -0
  626. package/dist/types/transforms/jitter.d.ts +34 -0
  627. package/dist/types/transforms/jitter.js +1 -0
  628. package/dist/types/transforms/map.d.ts +24 -0
  629. package/dist/types/transforms/map.js +1 -0
  630. package/dist/types/transforms/normalize.d.ts +36 -0
  631. package/dist/types/transforms/normalize.js +1 -0
  632. package/dist/types/transforms/select.d.ts +15 -0
  633. package/dist/types/transforms/select.js +1 -0
  634. package/dist/types/transforms/shift.d.ts +20 -0
  635. package/dist/types/transforms/shift.js +1 -0
  636. package/dist/types/transforms/sort.d.ts +31 -0
  637. package/dist/types/transforms/sort.js +14 -0
  638. package/dist/types/transforms/stack.d.ts +64 -0
  639. package/dist/types/transforms/stack.js +12 -0
  640. package/dist/types/transforms/window.d.ts +29 -0
  641. package/dist/types/transforms/window.js +1 -0
  642. package/dist/utils/ContinuousDomain.d.ts +12 -0
  643. package/dist/utils/ContinuousDomain.js +19 -0
  644. package/dist/utils/Interpolation.d.ts +26 -0
  645. package/dist/utils/Interpolation.js +65 -0
  646. package/dist/utils/{color.d.ts → color/contrast.d.ts} +0 -5
  647. package/dist/utils/color/contrast.js +40 -0
  648. package/dist/utils/color/cssColor.d.ts +4 -0
  649. package/dist/utils/color/cssColor.js +77 -0
  650. package/dist/utils/color/index.d.ts +3 -0
  651. package/dist/utils/color/index.js +3 -0
  652. package/dist/utils/color/ramp.d.ts +17 -0
  653. package/dist/utils/color/ramp.js +110 -0
  654. package/dist/utils/grouping.d.ts +9 -5
  655. package/dist/utils/grouping.js +19 -10
  656. package/dist/utils/merge.d.ts +7 -0
  657. package/dist/utils/merge.js +17 -0
  658. package/dist/utils/opacity.d.ts +9 -0
  659. package/dist/utils/opacity.js +38 -0
  660. package/dist/utils/symbol.d.ts +31 -0
  661. package/dist/utils/symbol.js +92 -0
  662. package/docs/architecture.md +137 -0
  663. package/docs/chrome.md +99 -0
  664. package/docs/composer.md +69 -0
  665. package/docs/concepts.md +99 -0
  666. package/docs/development.md +103 -0
  667. package/docs/facets.md +123 -0
  668. package/docs/geo.md +151 -0
  669. package/docs/getting-started.md +78 -0
  670. package/docs/legend.md +153 -0
  671. package/docs/markers.md +117 -0
  672. package/docs/plots.md +284 -0
  673. package/docs/scales.md +95 -0
  674. package/docs/state.md +71 -0
  675. package/docs/styles-and-segments.md +269 -0
  676. package/docs/theming.md +226 -0
  677. package/docs/timeline.md +128 -0
  678. package/docs/tooltip-and-hover.md +128 -0
  679. package/docs/transforms-and-statistics.md +118 -0
  680. package/examples/BarValues.svelte +14 -0
  681. package/examples/Box.svelte +7 -0
  682. package/examples/Chrome.svelte +17 -0
  683. package/examples/ChromeOrder.svelte +18 -0
  684. package/examples/Composer.svelte +23 -0
  685. package/examples/CustomTooltip.svelte +44 -0
  686. package/examples/Facets.svelte +15 -0
  687. package/examples/FacetsCarousel.svelte +14 -0
  688. package/examples/FacetsRowsCols.svelte +23 -0
  689. package/examples/FirstPlot.svelte +7 -0
  690. package/examples/Gaps.svelte +21 -0
  691. package/examples/GroupedBars.svelte +15 -0
  692. package/examples/Heatmap.svelte +7 -0
  693. package/examples/HeatmapSegments.svelte +26 -0
  694. package/examples/Histogram.svelte +14 -0
  695. package/examples/HorizontalBars.svelte +15 -0
  696. package/examples/LegendReader.svelte +8 -0
  697. package/examples/LegendSections.svelte +27 -0
  698. package/examples/LegendToggle.svelte +25 -0
  699. package/examples/LineByRegion.svelte +18 -0
  700. package/examples/LineDates.svelte +15 -0
  701. package/examples/Markers.svelte +27 -0
  702. package/examples/MovingAverage.svelte +15 -0
  703. package/examples/Pyramid.svelte +7 -0
  704. package/examples/Regression.svelte +14 -0
  705. package/examples/ResponsiveLine.svelte +37 -0
  706. package/examples/Scales.svelte +26 -0
  707. package/examples/Scatter.svelte +16 -0
  708. package/examples/SegmentHighlight.svelte +22 -0
  709. package/examples/Segments.svelte +25 -0
  710. package/examples/SegmentsBySeries.svelte +25 -0
  711. package/examples/StackedArea.svelte +16 -0
  712. package/examples/StackedBars.svelte +15 -0
  713. package/examples/TimelinePlayer.svelte +21 -0
  714. package/examples/TimelineRule.svelte +19 -0
  715. package/examples/Tooltip.svelte +19 -0
  716. package/examples/TooltipCard.svelte +86 -0
  717. package/examples/ValueLabels.svelte +21 -0
  718. package/examples/data.ts +324 -0
  719. package/llms-full.txt +142 -0
  720. package/llms.txt +77 -0
  721. package/package.json +42 -5
  722. package/dist/charts/BaseChart.svelte +0 -149
  723. package/dist/charts/BaseChart.svelte.d.ts +0 -47
  724. package/dist/charts/bar/Chart.svelte +0 -110
  725. package/dist/charts/bar/Chart.svelte.d.ts +0 -26
  726. package/dist/charts/container/ChartContainer.svelte +0 -137
  727. package/dist/charts/container/ChartContainer.svelte.d.ts +0 -16
  728. package/dist/charts/heatmap/Chart.svelte +0 -114
  729. package/dist/charts/line/Chart.svelte +0 -112
  730. package/dist/charts/line/Chart.svelte.d.ts +0 -26
  731. package/dist/charts/pyramid/Chart.svelte +0 -134
  732. package/dist/charts/pyramid/Chart.svelte.d.ts +0 -30
  733. package/dist/charts/scatter/Chart.svelte +0 -95
  734. package/dist/charts/scatter/Chart.svelte.d.ts +0 -28
  735. package/dist/layout/coordinates/margins.d.ts +0 -16
  736. package/dist/layout/coordinates/margins.js +0 -11
  737. package/dist/layout/legend/interaction.svelte.d.ts +0 -15
  738. package/dist/layout/legend/interaction.svelte.js +0 -32
  739. package/dist/layout/plot/BasePlotLayout.svelte +0 -332
  740. package/dist/layout/plot/BasePlotLayout.svelte.d.ts +0 -122
  741. package/dist/layout/plot/margins.d.ts +0 -18
  742. package/dist/layout/plot/margins.js +0 -15
  743. package/dist/layout/plot/measureText.d.ts +0 -4
  744. package/dist/layout/plot/measureText.js +0 -19
  745. package/dist/layout/scales/buildScale.d.ts +0 -25
  746. package/dist/layout/scales/buildScale.js +0 -90
  747. package/dist/layout/scales/niceDomain.d.ts +0 -23
  748. package/dist/layout/scales/niceDomain.js +0 -59
  749. package/dist/layout/tooltip/TooltipLayout.svelte +0 -51
  750. package/dist/layout/tooltip/TooltipLayout.svelte.d.ts +0 -45
  751. package/dist/layout/tooltip/controller.svelte.d.ts +0 -61
  752. package/dist/layout/tooltip/controller.svelte.js +0 -173
  753. package/dist/layout/tooltip/hover.svelte.d.ts +0 -7
  754. package/dist/layout/tooltip/hover.svelte.js +0 -28
  755. package/dist/layout/tooltip/resolveTooltipPlacement.d.ts +0 -24
  756. package/dist/layout/tooltip/resolveTooltipPlacement.js +0 -49
  757. package/dist/layout/tooltip/utils.d.ts +0 -49
  758. package/dist/layout/tooltip/utils.js +0 -82
  759. package/dist/markers/CellMarker.svelte +0 -21
  760. package/dist/markers/ContourClipMarker.svelte +0 -77
  761. package/dist/markers/ContourMarker.svelte +0 -28
  762. package/dist/markers/DeltaMarker.svelte +0 -109
  763. package/dist/markers/DotMarker.svelte +0 -70
  764. package/dist/markers/GeoFeaturesMarker.svelte +0 -19
  765. package/dist/markers/GeoHoverMarker.svelte +0 -25
  766. package/dist/markers/GraticuleMarker.svelte +0 -18
  767. package/dist/markers/HoverMarker.svelte +0 -212
  768. package/dist/markers/LineMarker.svelte +0 -19
  769. package/dist/markers/LinkMarker.svelte +0 -42
  770. package/dist/markers/PeakMarker.svelte +0 -80
  771. package/dist/markers/PeakMarker.svelte.d.ts +0 -13
  772. package/dist/markers/RuleMarker.svelte +0 -24
  773. package/dist/markers/SphereMarker.svelte +0 -15
  774. package/dist/markers/TextMarker.svelte +0 -62
  775. package/dist/markers/VectorMarker.svelte +0 -20
  776. package/dist/plots/bar/ValueLabels.svelte +0 -149
  777. package/dist/plots/bar/ValueLabels.svelte.d.ts +0 -58
  778. package/dist/plots/bar/buildBarMarkers.d.ts +0 -27
  779. package/dist/plots/bar/buildBarMarkers.js +0 -151
  780. package/dist/plots/bar/hoverPoints.d.ts +0 -15
  781. package/dist/plots/bar/hoverPoints.js +0 -37
  782. package/dist/plots/bar/layout.svelte.d.ts +0 -42
  783. package/dist/plots/bar/layout.svelte.js +0 -182
  784. package/dist/plots/geo/buildGeoMarkers.d.ts +0 -33
  785. package/dist/plots/geo/buildGeoMarkers.js +0 -47
  786. package/dist/plots/heatmap/ValueLabels.svelte +0 -56
  787. package/dist/plots/heatmap/buildCellMarkers.d.ts +0 -21
  788. package/dist/plots/heatmap/buildCellMarkers.js +0 -25
  789. package/dist/plots/line/ValueLabels.svelte +0 -269
  790. package/dist/plots/line/ValueLabels.svelte.d.ts +0 -52
  791. package/dist/plots/line/buildGapMarkers.d.ts +0 -28
  792. package/dist/plots/line/buildGapMarkers.js +0 -74
  793. package/dist/plots/line/buildLineMarkers.d.ts +0 -16
  794. package/dist/plots/line/buildLineMarkers.js +0 -56
  795. package/dist/plots/line/valueLabelMargin.d.ts +0 -19
  796. package/dist/plots/line/valueLabelMargin.js +0 -65
  797. package/dist/plots/pyramid/ValueLabels.svelte +0 -139
  798. package/dist/plots/pyramid/ValueLabels.svelte.d.ts +0 -56
  799. package/dist/plots/pyramid/buildPyramidBarMarkers.d.ts +0 -26
  800. package/dist/plots/pyramid/buildPyramidBarMarkers.js +0 -72
  801. package/dist/plots/scatter/ValueLabels.svelte +0 -163
  802. package/dist/plots/scatter/ValueLabels.svelte.d.ts +0 -52
  803. package/dist/plots/scatter/buildScatterMarkers.d.ts +0 -12
  804. package/dist/plots/scatter/buildScatterMarkers.js +0 -36
  805. package/dist/plots/scatter/resolveRadiusPaddedDomain.d.ts +0 -10
  806. package/dist/plots/scatter/resolveRadiusPaddedDomain.js +0 -23
  807. package/dist/plots/utils/categoricalAxisMargin.d.ts +0 -14
  808. package/dist/plots/utils/categoricalAxisMargin.js +0 -20
  809. package/dist/plots/utils/declutter.d.ts +0 -120
  810. package/dist/plots/utils/declutter.js +0 -240
  811. package/dist/plots/utils/labelOverflow.svelte.d.ts +0 -107
  812. package/dist/plots/utils/labelOverflow.svelte.js +0 -257
  813. package/dist/plots/utils/legendDisabled.d.ts +0 -27
  814. package/dist/plots/utils/legendDisabled.js +0 -68
  815. package/dist/plots/utils/valueLabelMargin.d.ts +0 -67
  816. package/dist/plots/utils/valueLabelMargin.js +0 -60
  817. package/dist/types/charts/common.d.ts +0 -22
  818. package/dist/types/charts/props.d.ts +0 -50
  819. package/dist/types/markers/base.d.ts +0 -45
  820. package/dist/types/markers/line.d.ts +0 -34
  821. package/dist/types/markers/props.d.ts +0 -11
  822. package/dist/types/plots/data/scatter.d.ts +0 -13
  823. package/dist/utils/color.js +0 -141
  824. package/dist/utils/delta.d.ts +0 -12
  825. package/dist/utils/delta.js +0 -69
  826. package/dist/utils/edgeAwareAnchor.d.ts +0 -34
  827. package/dist/utils/edgeAwareAnchor.js +0 -60
  828. package/dist/utils/interpolate.d.ts +0 -31
  829. package/dist/utils/interpolate.js +0 -71
  830. /package/dist/types/{charts/common.js → layout/box.js} +0 -0
  831. /package/dist/types/{charts/interpolate.js → layout/composer.js} +0 -0
  832. /package/dist/types/{charts/props.js → layout/figure.js} +0 -0
  833. /package/dist/types/{markers/base.js → layout/grid.js} +0 -0
  834. /package/dist/types/{markers/line.js → layout/hover.js} +0 -0
  835. /package/dist/types/{markers/props.js → layout/mapping.js} +0 -0
  836. /package/dist/types/{plots/data/scatter.js → layout/plot.js} +0 -0
  837. /package/dist/types/{viewport.js → layout/statistics/bollinger.js} +0 -0
  838. /package/dist/types/{charts/interpolate.d.ts → misc/easing.d.ts} +0 -0
  839. /package/dist/types/{viewport.d.ts → misc/viewport.d.ts} +0 -0
@@ -0,0 +1,44 @@
1
+ <script lang="ts">
2
+ import { TickX, TickY } from 'svelteplot';
3
+ import { usePlot } from '../../layout/plot/usePlot';
4
+ import { MarkerChannels } from '../utils/MarkerChannels';
5
+ import { getConfiguration } from '../../configuration/config.svelte';
6
+ import type { TickMarkerConfig } from '../../types/markers/common';
7
+
8
+ /** Renders one `'tick'` marker as `<TickX>` or `<TickY>`, picked from the way the plot runs (`usePlot().axes`). */
9
+ let { marker }: { marker: TickMarkerConfig } = $props();
10
+
11
+ const plot = usePlot();
12
+ const isHorizontal = $derived(plot.axes?.isHorizontal ?? false);
13
+
14
+ const cfg = $derived(getConfiguration());
15
+ const data = $derived(marker.data ?? []);
16
+ const channelStroke = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
17
+ const stroke = $derived(channelStroke ?? marker.styles?.stroke ?? 'currentColor');
18
+ </script>
19
+
20
+ {#if isHorizontal}
21
+ <TickX
22
+ {data}
23
+ x={marker.x}
24
+ y={marker.y}
25
+ tickLength={marker.tickLength}
26
+ {stroke}
27
+ strokeWidth={marker.styles?.strokeWidth}
28
+ strokeOpacity={marker.styles?.strokeOpacity}
29
+ strokeDasharray={marker.styles?.strokeDasharray}
30
+ strokeLinecap={marker.styles?.strokeLinecap}
31
+ />
32
+ {:else}
33
+ <TickY
34
+ {data}
35
+ x={marker.x}
36
+ y={marker.y}
37
+ tickLength={marker.tickLength}
38
+ {stroke}
39
+ strokeWidth={marker.styles?.strokeWidth}
40
+ strokeOpacity={marker.styles?.strokeOpacity}
41
+ strokeDasharray={marker.styles?.strokeDasharray}
42
+ strokeLinecap={marker.styles?.strokeLinecap}
43
+ />
44
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { TickMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: TickMarkerConfig;
4
+ };
5
+ declare const TickMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type TickMarker = ReturnType<typeof TickMarker>;
7
+ export default TickMarker;
@@ -0,0 +1,27 @@
1
+ <script lang="ts">
2
+ import { Trail } from 'svelteplot';
3
+ import { MarkerChannels } from '../utils/MarkerChannels';
4
+ import { getConfiguration } from '../../configuration/config.svelte';
5
+ import type { TrailMarkerConfig } from '../../types/markers/common';
6
+
7
+ /** Renders one `'trail'` marker as `<Trail>` - a ribbon whose width follows `r`. */
8
+ let { marker }: { marker: TrailMarkerConfig } = $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
+ <Trail
16
+ {data}
17
+ x={marker.x}
18
+ y={marker.y}
19
+ r={marker.r}
20
+ z={marker.grouping}
21
+ curve={marker.curve}
22
+ tension={marker.tension}
23
+ cap={marker.cap}
24
+ resolution={marker.resolution}
25
+ fill={channelFill ?? marker.styles?.fill ?? cfg.palette[0]}
26
+ fillOpacity={marker.styles?.fillOpacity}
27
+ />
@@ -0,0 +1,7 @@
1
+ import type { TrailMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: TrailMarkerConfig;
4
+ };
5
+ declare const TrailMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type TrailMarker = ReturnType<typeof TrailMarker>;
7
+ export default TrailMarker;
@@ -0,0 +1,22 @@
1
+ import type { BandSlice } from '../../types/layout/hover';
2
+ type BandScale = {
3
+ type?: string;
4
+ fn?: unknown;
5
+ } | undefined;
6
+ /**
7
+ * How far a mark sits off the middle of its category band, in pixels, when it
8
+ * belongs to one `slice` of the band (a grouped bar's series). Vertical bars
9
+ * slice their band along `x`, horizontal ones along `y`, from the bottom; the
10
+ * band is read at its drawn width.
11
+ */
12
+ export declare class BandNudge {
13
+ #private;
14
+ static of(scales: {
15
+ x?: BandScale;
16
+ y?: BandScale;
17
+ }, slice: BandSlice | undefined): {
18
+ dx: number;
19
+ dy: number;
20
+ };
21
+ }
22
+ export {};
@@ -0,0 +1,23 @@
1
+ /**
2
+ * How far a mark sits off the middle of its category band, in pixels, when it
3
+ * belongs to one `slice` of the band (a grouped bar's series). Vertical bars
4
+ * slice their band along `x`, horizontal ones along `y`, from the bottom; the
5
+ * band is read at its drawn width.
6
+ */
7
+ export class BandNudge {
8
+ static of(scales, slice) {
9
+ if (!slice)
10
+ return { dx: 0, dy: 0 };
11
+ const across = (slice.start - slice.end) / 2;
12
+ const bandX = BandNudge.#width(scales.x);
13
+ return bandX > 0
14
+ ? { dx: across * bandX, dy: 0 }
15
+ : { dx: 0, dy: -across * BandNudge.#width(scales.y) };
16
+ }
17
+ /** A band scale's drawn band width; `0` for any other scale. */
18
+ static #width(scale) {
19
+ return scale?.type === 'band'
20
+ ? (scale.fn.bandwidth?.() ?? 0)
21
+ : 0;
22
+ }
23
+ }
@@ -0,0 +1,49 @@
1
+ import type { ChannelScalesConfig } from '../../types/layout/scales';
2
+ import type { SymbolType } from '../../types/plots/constants';
3
+ import type { PlotStylesConfig } from '../../types/configuration/styling';
4
+ /** One resolved opacity bucket: every row in `data` renders at exactly `value`. */
5
+ export type OpacityBucket<TData> = {
6
+ value: number;
7
+ data: TData[];
8
+ };
9
+ /**
10
+ * What a marker's own `color`, `symbol` and `opacity` channels resolve to,
11
+ * over its rows, shared by every marker kind that intersects `CommonMarkerConfig`.
12
+ */
13
+ export declare class MarkerChannels {
14
+ /**
15
+ * Resolves a `CommonMarkerConfig` pair into a per-row fill accessor, or
16
+ * `undefined` when `color` is unset (caller falls back to its own flat
17
+ * fill/stroke). Shared by every marker kind that intersects `CommonMarkerConfig`.
18
+ * Safe as a live per-row function - svelteplot recognizes an already-resolved
19
+ * CSS color string as a literal and never re-scales it (unlike `opacity`/`r`).
20
+ * Continuous (numeric) or categorical (string) values both work, same as a
21
+ * plot's own `color` channel - the theme's own 2-color ramp defaults a
22
+ * continuous value, its discrete `palette` a categorical one.
23
+ */
24
+ static buildFill<TData>(data: TData[], color: string | ((d: TData) => unknown) | undefined, scales: ChannelScalesConfig | undefined, cfg: PlotStylesConfig): ((d: TData) => string) | undefined;
25
+ /**
26
+ * Resolves a `CommonMarkerConfig`-style `symbol` pair into a per-row shape
27
+ * accessor, or `undefined` when unset. Safe as a live per-row function for
28
+ * the same reason `buildFill` is - a resolved shape name is a
29
+ * recognized literal, not re-scaled.
30
+ */
31
+ static buildSymbol<TData>(data: TData[], symbol: string | ((d: TData) => unknown) | undefined, scales: ChannelScalesConfig | undefined, cfg: PlotStylesConfig): ((d: TData) => SymbolType) | undefined;
32
+ /**
33
+ * Resolves a `CommonMarkerConfig`-style `opacity` pair into a list of
34
+ * opacity buckets, or `undefined` when unset. Unlike `buildFill`,
35
+ * this can NOT hand back a live per-row function - svelteplot treats
36
+ * `fillOpacity`/`opacity` as bound to its own shared scale (there's no
37
+ * "this number is already resolved, don't touch it" escape hatch the way a
38
+ * recognized CSS color string gets), so any function handed a per-row
39
+ * accessor gets its domain silently re-derived and re-normalized by
40
+ * svelteplot itself (verified empirically, not assumed). Bucketing rows by
41
+ * a quantized opacity value and rendering one mark instance per bucket
42
+ * (each with `value` as a literal constant) is the only way to land an
43
+ * exact, independently-resolved value - same technique `fillOpacity`/gap
44
+ * dimming already use elsewhere in this codebase (e.g. `heatmap/markers.ts`).
45
+ * `steps` bounds how many buckets (mark instances) a continuous value can
46
+ * produce - a visually-smooth compromise, not true infinite precision.
47
+ */
48
+ static buildOpacityBuckets<TData>(data: TData[], opacity: string | ((d: TData) => unknown) | undefined, scales: ChannelScalesConfig | undefined, cfg: PlotStylesConfig, steps?: number): OpacityBucket<TData>[] | undefined;
49
+ }
@@ -0,0 +1,97 @@
1
+ import { resolveColorScale } from '../../utils/color';
2
+ import { resolveOpacityScale } from '../../utils/opacity';
3
+ import { resolveSymbolScale } from '../../utils/symbol';
4
+ /**
5
+ * What a marker's own `color`, `symbol` and `opacity` channels resolve to,
6
+ * over its rows, shared by every marker kind that intersects `CommonMarkerConfig`.
7
+ */
8
+ export class MarkerChannels {
9
+ /**
10
+ * Resolves a `CommonMarkerConfig` pair into a per-row fill accessor, or
11
+ * `undefined` when `color` is unset (caller falls back to its own flat
12
+ * fill/stroke). Shared by every marker kind that intersects `CommonMarkerConfig`.
13
+ * Safe as a live per-row function - svelteplot recognizes an already-resolved
14
+ * CSS color string as a literal and never re-scales it (unlike `opacity`/`r`).
15
+ * Continuous (numeric) or categorical (string) values both work, same as a
16
+ * plot's own `color` channel - the theme's own 2-color ramp defaults a
17
+ * continuous value, its discrete `palette` a categorical one.
18
+ */
19
+ static buildFill(data, color, scales, cfg) {
20
+ if (!color || !data.length)
21
+ return undefined;
22
+ const colorFn = typeof color === 'function' ? color : (d) => d[color];
23
+ const rawVals = data
24
+ .map((d) => colorFn(d))
25
+ .filter((v) => v != null && !(typeof v === 'number' && !Number.isFinite(v)));
26
+ if (!rawVals.length)
27
+ return undefined;
28
+ const allNumeric = rawVals.every((v) => Number.isFinite(Number(v)));
29
+ const domain = allNumeric
30
+ ? [Math.min(...rawVals.map(Number)), Math.max(...rawVals.map(Number))]
31
+ : [...new Set(rawVals.map(String))];
32
+ const defaultScheme = allNumeric ? [cfg.continuous.min, cfg.continuous.max] : cfg.palette;
33
+ const colorScale = resolveColorScale(scales?.color, domain, defaultScheme);
34
+ return (d) => colorScale(colorFn(d));
35
+ }
36
+ /**
37
+ * Resolves a `CommonMarkerConfig`-style `symbol` pair into a per-row shape
38
+ * accessor, or `undefined` when unset. Safe as a live per-row function for
39
+ * the same reason `buildFill` is - a resolved shape name is a
40
+ * recognized literal, not re-scaled.
41
+ */
42
+ static buildSymbol(data, symbol, scales, cfg) {
43
+ if (!symbol)
44
+ return undefined;
45
+ const symbolFn = typeof symbol === 'function' ? symbol : (d) => d[symbol];
46
+ const domain = [
47
+ ...new Set(data
48
+ .map((d) => symbolFn(d))
49
+ .filter((v) => v != null)
50
+ .map(String))
51
+ ];
52
+ if (!domain.length)
53
+ return undefined;
54
+ const scale = resolveSymbolScale(scales?.symbol, domain, cfg.symbols);
55
+ return (d) => scale(symbolFn(d));
56
+ }
57
+ /**
58
+ * Resolves a `CommonMarkerConfig`-style `opacity` pair into a list of
59
+ * opacity buckets, or `undefined` when unset. Unlike `buildFill`,
60
+ * this can NOT hand back a live per-row function - svelteplot treats
61
+ * `fillOpacity`/`opacity` as bound to its own shared scale (there's no
62
+ * "this number is already resolved, don't touch it" escape hatch the way a
63
+ * recognized CSS color string gets), so any function handed a per-row
64
+ * accessor gets its domain silently re-derived and re-normalized by
65
+ * svelteplot itself (verified empirically, not assumed). Bucketing rows by
66
+ * a quantized opacity value and rendering one mark instance per bucket
67
+ * (each with `value` as a literal constant) is the only way to land an
68
+ * exact, independently-resolved value - same technique `fillOpacity`/gap
69
+ * dimming already use elsewhere in this codebase (e.g. `heatmap/markers.ts`).
70
+ * `steps` bounds how many buckets (mark instances) a continuous value can
71
+ * produce - a visually-smooth compromise, not true infinite precision.
72
+ */
73
+ static buildOpacityBuckets(data, opacity, scales, cfg, steps = 32) {
74
+ if (!opacity || !data.length)
75
+ return undefined;
76
+ const opacityFn = typeof opacity === 'function'
77
+ ? opacity
78
+ : (d) => d[opacity];
79
+ const rawVals = data.map((d) => opacityFn(d)).filter((v) => v != null);
80
+ if (!rawVals.length)
81
+ return undefined;
82
+ const allNumeric = rawVals.every((v) => Number.isFinite(Number(v)));
83
+ const domain = allNumeric
84
+ ? [Math.min(...rawVals.map(Number)), Math.max(...rawVals.map(Number))]
85
+ : [...new Set(rawVals.map(String))];
86
+ const scale = resolveOpacityScale(scales?.opacity, domain, cfg.continuous.opacityRange);
87
+ const buckets = new Map();
88
+ for (const d of data) {
89
+ const resolved = scale(opacityFn(d));
90
+ const quantized = Math.round(resolved * steps) / steps;
91
+ if (!buckets.has(quantized))
92
+ buckets.set(quantized, []);
93
+ buckets.get(quantized).push(d);
94
+ }
95
+ return [...buckets.entries()].map(([value, rows]) => ({ value, data: rows }));
96
+ }
97
+ }
@@ -0,0 +1,29 @@
1
+ <script lang="ts">
2
+ import { Vector } from 'svelteplot';
3
+ import type { GeoVectorMarkerConfig } from '../../types/markers/geo';
4
+
5
+ /**
6
+ * Renders one `'vector'` marker - arrows/spikes at points. `'arrow'`/`'spike'`
7
+ * draw an open (stroked) path - svelteplot itself resolves their default
8
+ * color via `stroke`, not `fill` (only `'arrow-filled'` is a closed, filled
9
+ * shape) - so the default color applies to whichever channel the active
10
+ * shape actually draws with, matching svelteplot's own convention.
11
+ */
12
+ let { marker }: { marker: GeoVectorMarkerConfig } = $props();
13
+
14
+ const shape = $derived(marker.shape ?? 'arrow-filled');
15
+ const isFilledShape = $derived(shape === 'arrow-filled');
16
+ </script>
17
+
18
+ <Vector
19
+ data={marker.data}
20
+ x={marker.x}
21
+ y={marker.y}
22
+ length={marker.length}
23
+ rotate={marker.rotate}
24
+ {shape}
25
+ anchor={marker.anchor}
26
+ fill={marker.styles?.fill ?? (isFilledShape ? 'currentColor' : undefined)}
27
+ stroke={marker.styles?.stroke ?? (isFilledShape ? undefined : 'currentColor')}
28
+ strokeWidth={marker.styles?.strokeWidth}
29
+ />
@@ -1,4 +1,4 @@
1
- import type { GeoVectorMarkerConfig } from '../types/markers/geo';
1
+ import type { GeoVectorMarkerConfig } from '../../types/markers/geo';
2
2
  type $$ComponentProps = {
3
3
  marker: GeoVectorMarkerConfig;
4
4
  };
@@ -0,0 +1,26 @@
1
+ <script lang="ts">
2
+ import { Voronoi } from 'svelteplot';
3
+ import { MarkerChannels } from '../utils/MarkerChannels';
4
+ import { getConfiguration } from '../../configuration/config.svelte';
5
+ import type { VoronoiMarkerConfig } from '../../types/markers/common';
6
+
7
+ /** Renders one `'voronoi'` marker as `<Voronoi>` - one Voronoi cell per point. */
8
+ let { marker }: { marker: VoronoiMarkerConfig } = $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
+ <Voronoi
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 { VoronoiMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: VoronoiMarkerConfig;
4
+ };
5
+ declare const VoronoiMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type VoronoiMarker = ReturnType<typeof VoronoiMarker>;
7
+ export default VoronoiMarker;
@@ -0,0 +1,26 @@
1
+ <script lang="ts">
2
+ import { VoronoiMesh } from 'svelteplot';
3
+ import { MarkerChannels } from '../utils/MarkerChannels';
4
+ import { getConfiguration } from '../../configuration/config.svelte';
5
+ import type { VoronoiMeshMarkerConfig } from '../../types/markers/common';
6
+
7
+ /** Renders one `'voronoiMesh'` marker as `<VoronoiMesh>` - the Voronoi diagram as a single mesh. */
8
+ let { marker }: { marker: VoronoiMeshMarkerConfig } = $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
+ <VoronoiMesh
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 { VoronoiMeshMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: VoronoiMeshMarkerConfig;
4
+ };
5
+ declare const VoronoiMeshMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type VoronoiMeshMarker = ReturnType<typeof VoronoiMeshMarker>;
7
+ export default VoronoiMeshMarker;
@@ -0,0 +1,56 @@
1
+ <script lang="ts">
2
+ import { WaffleX, WaffleY } from 'svelteplot';
3
+ import { usePlot } from '../../layout/plot/usePlot';
4
+ import { MarkerChannels } from '../utils/MarkerChannels';
5
+ import { getConfiguration } from '../../configuration/config.svelte';
6
+ import type { WaffleMarkerConfig } from '../../types/markers/common';
7
+
8
+ /** Renders one `'waffle'` marker as `<WaffleX>` or `<WaffleY>`, picked from the way the plot runs (`usePlot().axes`). */
9
+ let { marker }: { marker: WaffleMarkerConfig } = $props();
10
+
11
+ const plot = usePlot();
12
+ const isHorizontal = $derived(plot.axes?.isHorizontal ?? false);
13
+
14
+ const cfg = $derived(getConfiguration());
15
+ const data = $derived(marker.data ?? []);
16
+ const channelFill = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
17
+ const fill = $derived(channelFill ?? marker.styles?.fill ?? cfg.palette[0]);
18
+ </script>
19
+
20
+ {#if isHorizontal}
21
+ <WaffleX
22
+ {data}
23
+ x={marker.x}
24
+ x1={marker.x1}
25
+ x2={marker.x2}
26
+ y={marker.y}
27
+ unit={marker.unit}
28
+ multiple={marker.multiple}
29
+ gap={marker.gap}
30
+ round={marker.round}
31
+ borderRadius={marker.styles?.borderRadius}
32
+ {fill}
33
+ fillOpacity={marker.styles?.fillOpacity}
34
+ stroke={marker.styles?.stroke}
35
+ strokeWidth={marker.styles?.strokeWidth}
36
+ strokeOpacity={marker.styles?.strokeOpacity}
37
+ />
38
+ {:else}
39
+ <WaffleY
40
+ {data}
41
+ x={marker.x}
42
+ y={marker.y}
43
+ y1={marker.y1}
44
+ y2={marker.y2}
45
+ unit={marker.unit}
46
+ multiple={marker.multiple}
47
+ gap={marker.gap}
48
+ round={marker.round}
49
+ borderRadius={marker.styles?.borderRadius}
50
+ {fill}
51
+ fillOpacity={marker.styles?.fillOpacity}
52
+ stroke={marker.styles?.stroke}
53
+ strokeWidth={marker.styles?.strokeWidth}
54
+ strokeOpacity={marker.styles?.strokeOpacity}
55
+ />
56
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { WaffleMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: WaffleMarkerConfig;
4
+ };
5
+ declare const WaffleMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type WaffleMarker = ReturnType<typeof WaffleMarker>;
7
+ export default WaffleMarker;
@@ -0,0 +1,108 @@
1
+ import type { AxisPlotState, AxisPlotCtx, AxisPlotKind, AxisPlotDefaults, DataRunState, HoverStageOptions, PhaseStage, PlotPhase } from '../types/phases';
2
+ import type { PlotStylesConfig } from '../types/configuration/styling';
3
+ import type { FacetConfig } from '../types/layout/facet';
4
+ import type { LegendState } from '../layout/legend/LegendState.svelte';
5
+ import type { HoverStrategy } from '../types/layout/hover';
6
+ import type { Accessor } from '../types/plots/data/common';
7
+ /** The core props an axis plot kind seeds its pipeline from. */
8
+ export type AxisPipelineProps<TData extends Record<string, unknown>> = {
9
+ series?: unknown[];
10
+ data?: TData[];
11
+ x?: Accessor<TData, unknown>;
12
+ y?: Accessor<TData, unknown>;
13
+ grouping?: Accessor<TData, unknown>;
14
+ color?: Accessor<TData, unknown>;
15
+ opacity?: unknown;
16
+ r?: unknown;
17
+ symbol?: unknown;
18
+ segments?: unknown;
19
+ styles?: {
20
+ gaps?: unknown;
21
+ values?: unknown;
22
+ };
23
+ scales?: object;
24
+ width?: number;
25
+ height?: number;
26
+ margins?: unknown;
27
+ tooltip?: unknown;
28
+ markers?: unknown[];
29
+ statistics?: unknown[];
30
+ transforms?: unknown[];
31
+ };
32
+ /** What a {@link Pipeline} knows besides its stages: how a run starts and its plot's defaults. */
33
+ export type PipelineOptions<TState> = {
34
+ /** The state a run starts from, given its input. Unset, the input is the state. */
35
+ seed?: (input: any, rows?: unknown[]) => TState;
36
+ /** The plot's hover strategy when neither its `tooltip` nor a hover marker sets one. */
37
+ hoverStrategy?: HoverStageOptions<unknown>['strategy'];
38
+ /** How its plot steps through a timeline, unless the author says otherwise. */
39
+ timeline?: AxisPlotDefaults<never, never>['timeline'];
40
+ };
41
+ /**
42
+ * A plot's pipeline: its stages, one per phase, in {@link Pipeline.ORDER},
43
+ * and what its plot needs before any of them run - its hover strategy and
44
+ * timeline defaults. Every core of the plot runs it ({@link run}); with a
45
+ * facet, the plot first runs its data phases once over every panel
46
+ * ({@link runData}), and each panel's core runs only the rest.
47
+ *
48
+ * Stages declared out of phase order still run in it - with a warning, once,
49
+ * since the declared order would otherwise read as the one that runs.
50
+ */
51
+ export declare class Pipeline<TState, TCtx = unknown> {
52
+ #private;
53
+ /**
54
+ * The phases that work on the plot's rows - everything before its scales,
55
+ * plus the domains its slices share - in order. They run once over every
56
+ * facet panel; the rest depend on each panel's own box.
57
+ */
58
+ static readonly DATA_PHASES: readonly PlotPhase[];
59
+ /** Every {@link PlotPhase}, in the order they run: the data phases, then each panel's own. */
60
+ static readonly ORDER: readonly PlotPhase[];
61
+ readonly stages: readonly PhaseStage<TState, TCtx>[];
62
+ constructor(stages: PhaseStage<TState, TCtx>[], options?: PipelineOptions<TState>);
63
+ /**
64
+ * An axis-based plot kind's pipeline: the shared stages, each set up with
65
+ * the kind's own options - its marks and value labels among them - started
66
+ * from a core's props. Built once per kind object.
67
+ */
68
+ static ofAxisKind<TState extends AxisPlotState<any, any, any, any>, TCtx extends AxisPlotCtx>(kind: AxisPlotKind<TState, TCtx> & Pick<AxisPlotDefaults<any, any>, 'timeline'>): Pipeline<TState, TCtx>;
69
+ /** A plot's pipeline from what its kind gives: its axis-kind defaults, or a pipeline of its own. */
70
+ static of(defaults: AxisPlotDefaults<any, any> | Pipeline<any, any>): Pipeline<any, any>;
71
+ /** The stage of `phase`, if the pipeline has one. */
72
+ stage(phase: PlotPhase): PhaseStage<TState, TCtx> | undefined;
73
+ /**
74
+ * A core's run: every stage over the state its `input` (an axis core's
75
+ * props) seeds - or, given `panelState` (one facet panel's part of
76
+ * {@link runData}), only the stages after the data phases, over that state
77
+ * with the input's own props (its box, margins and scales) on top.
78
+ */
79
+ run: (input: unknown, ctx: TCtx, panelState?: object) => TState;
80
+ /** Whether the pipeline has data phases to run once over every facet panel ({@link runData}). */
81
+ get facets(): boolean;
82
+ /**
83
+ * The data phases over `rows`, seeded from a core's `props`, with the
84
+ * plot's `facet`: one run that every facet panel then reads its part of,
85
+ * including the domains its slices share (its "sharedScales" phase).
86
+ */
87
+ runData(props: object, rows: unknown[], facet: FacetConfig<never> | undefined, legendInteraction: LegendState | null, cfg: PlotStylesConfig): DataRunState;
88
+ /**
89
+ * The plot's hover strategy when neither its `tooltip` nor a hover marker
90
+ * sets one, given its props: the kind's own, or the one its axes ask for,
91
+ * read after the "data" phase tells them apart.
92
+ */
93
+ hoverStrategy(props: object, cfg?: PlotStylesConfig): HoverStrategy;
94
+ /** The plot's default `timeline.filterMode`. */
95
+ get filterMode(): 'exact' | 'upTo' | undefined;
96
+ /**
97
+ * How the plot tweens its timeline unless `timeline.interpolate` says
98
+ * otherwise, from the channels its "mapping" phase resolves over
99
+ * `props.data`: rows matched by the values of whichever `key` channels are
100
+ * set, `value` tweened. `undefined` when its kind tweens nothing.
101
+ */
102
+ interpolation<TRow extends Record<string, unknown>>(props: {
103
+ data?: TRow[];
104
+ }, cfg: PlotStylesConfig): {
105
+ value: Accessor<TRow, never>;
106
+ key?: Accessor<TRow, unknown>;
107
+ } | undefined;
108
+ }