@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
@@ -1,18 +1,100 @@
1
- export type AxisValue = number | string | Date;
1
+ import type { SymbolType } from '../plots/constants';
2
+ import type { AxisChannelName, IndependentChannelName } from './mapping';
3
+ /** A continuous or categorical color ramp. */
4
+ export type ColorScaleConfig = {
5
+ /** `[min, max]` for a continuous ramp, or the category list for a categorical one. Auto-computed from the data when omitted. */
6
+ domain?: [number, number] | string[];
7
+ /**
8
+ * A named d3-scale-chromatic ramp (e.g. `'turbo'`, `'blues'`, `'rdylbu'` -
9
+ * case-insensitive), 2+ literal colors interpolated across `domain`, or a
10
+ * category → color map. Defaults to the theme's own 2-color ramp.
11
+ */
12
+ scheme?: string | string[] | Record<string, string>;
13
+ /** Splits an array `scheme` into two halves meeting at this domain value (diverging). Ignored for a `Record` scheme. */
14
+ pivot?: number;
15
+ /** Fallback color for a missing/unmapped value. Defaults to `'#ccc'`. */
16
+ unknown?: string;
17
+ };
18
+ /** How groups sharing the same `grouping`/`color` value are ordered: `reverse` flips which sorts first (e.g. PyramidPlot's left/right sides). */
19
+ export type GroupingScaleConfig = {
20
+ reverse?: boolean;
21
+ };
22
+ /** A continuous or categorical opacity ramp - maps a value to a numeric `[0,1]`-ish opacity instead of a color. */
23
+ export type OpacityScaleConfig = {
24
+ /** `[min, max]` for a continuous ramp, or the category list for a categorical one. Auto-computed from the data when omitted. */
25
+ domain?: [number, number] | string[];
26
+ /** `[minOpacity, maxOpacity]` for continuous, or a category → opacity map. Defaults to the theme's own `continuous.opacityRange`. */
27
+ range?: [number, number] | Record<string, number>;
28
+ /** Fallback opacity for a missing/unmapped value. Defaults to `1`. */
29
+ unknown?: number;
30
+ };
31
+ /** A categorical shape ramp - maps distinct values to marker shapes. Always discrete. */
32
+ export type SymbolScaleConfig = {
33
+ domain?: string[];
34
+ /** Shapes cycled through in `domain` order, or a category → shape map. Defaults to a built-in cycle. */
35
+ range?: SymbolType[] | Record<string, SymbolType>;
36
+ unknown?: SymbolType;
37
+ };
38
+ /** Each independent channel's scale config, on a plot's `scales` and a marker's own. */
39
+ export type ChannelScaleConfig = {
40
+ color: ColorScaleConfig;
41
+ grouping: GroupingScaleConfig;
42
+ opacity: OpacityScaleConfig;
43
+ symbol: SymbolScaleConfig;
44
+ };
45
+ /** `scales.<channel>` for every channel in `TChannel` - the shared shape for both a plot's own `scales` prop and a marker's own. */
46
+ export type ChannelScalesConfig<TChannel extends IndependentChannelName = IndependentChannelName> = {
47
+ [K in TChannel]?: ChannelScaleConfig[K];
48
+ };
49
+ /** `r` (radius/size) config - plot-level only, consumed via {@link AxisBasedScalesConfig.r}. */
50
+ export type RScaleConfig = {
51
+ domain?: [number, number];
52
+ /** Pixel radius range, e.g. `[2, 20]`. Defaults to svelteplot's own. */
53
+ range?: [number, number];
54
+ };
55
+ /** `length` (vector/spike magnitude) config - plot-level only. */
56
+ export type LengthScaleConfig = {
57
+ domain?: [number, number];
58
+ /** Pixel length range, e.g. `[0, 60]`. Defaults to svelteplot's own. */
59
+ range?: [number, number];
60
+ };
61
+ /** Scale types that lay out distinct categories - an axis paired with one plays the "index" role, so the other is the plain magnitude/value axis. */
62
+ export declare const DISCRETE_SCALE_TYPES: readonly ["band", "categorical", "point", "ordinal"];
63
+ export type DiscreteScaleType = (typeof DISCRETE_SCALE_TYPES)[number];
64
+ /** Scale types that lay out a continuous time axis. */
65
+ export declare const TEMPORAL_SCALE_TYPES: readonly ["time", "utc"];
66
+ export type TemporalScaleType = (typeof TEMPORAL_SCALE_TYPES)[number];
67
+ /** Scale types that map a numeric domain continuously onto the range, differing only in the transform applied (identity, power, log, ...). */
68
+ export declare const CONTINUOUS_SCALE_TYPES: readonly ["linear", "pow", "sqrt", "log", "symlog"];
69
+ export type ContinuousScaleType = (typeof CONTINUOUS_SCALE_TYPES)[number];
70
+ /** Scale types that interpolate continuously along a single ramp (one end to the other, or around a cycle). */
71
+ export declare const SEQUENTIAL_SCALE_TYPES: readonly ["sequential", "cyclical", "quantile-cont"];
72
+ export type SequentialScaleType = (typeof SEQUENTIAL_SCALE_TYPES)[number];
73
+ /** Scale types that interpolate continuously along a ramp with a neutral midpoint, diverging to either side of it. */
74
+ export declare const DIVERGING_SCALE_TYPES: readonly ["diverging", "diverging-log", "diverging-pow", "diverging-sqrt", "diverging-symlog"];
75
+ export type DivergingScaleType = (typeof DIVERGING_SCALE_TYPES)[number];
76
+ /** Scale types that bucket a numeric domain into a fixed set of output values instead of interpolating. */
77
+ export declare const BINNED_SCALE_TYPES: readonly ["threshold", "quantile", "quantize"];
78
+ export type BinnedScaleType = (typeof BINNED_SCALE_TYPES)[number];
79
+ /**
80
+ * What an axis does when the tick at the data's first or last value would
81
+ * crowd the nice tick next to it: `'drop-nice'` keeps the data's tick and
82
+ * drops the nice one, `'drop-edge'` keeps the nice tick and drops the data's,
83
+ * `'extend'` widens the axis to the next nice tick past the data.
84
+ */
85
+ export type EdgeTickCollision = 'drop-nice' | 'drop-edge' | 'extend';
86
+ /** Whether an axis adds ticks at the data's first and last values, and what it does when one crowds a nice tick. */
87
+ export type EdgeTicksOptions = {
88
+ enabled: boolean;
89
+ collision: EdgeTickCollision;
90
+ };
2
91
  /**
3
- * Author-facing scale overrides for a plot axis. Mirrors svelteplot's
4
- * `ScaleOptions` + `XScaleOptions` in full — `type`, `padding`, `domain`,
5
- * `nice`, `reverse`, `label`, `tickFormat`, `labelAnchor`, etc.
6
- *
7
- * Used for both `x` and `y` entries in `ScalesConfig`. X-specific
8
- * fields (`labelAnchor`, `tickRotate`) are accepted on `y` too; svelteplot
9
- * silently ignores any inapplicable options.
10
- *
11
- * `TData` is the plot's own row type — it's what {@link AxisScale.sort}
12
- * receives, so ordering isn't limited to comparing this axis's own value.
92
+ * Scale overrides for one plot axis - svelteplot's `ScaleOptions` and
93
+ * `XScaleOptions`, plus this package's own fields. `TData` is the row type
94
+ * {@link AxisScale.sort} compares.
13
95
  */
14
96
  export type AxisScale<TData = Record<string, unknown>> = {
15
- type?: 'auto' | 'linear' | 'pow' | 'sqrt' | 'log' | 'symlog' | 'time' | 'utc' | 'point' | 'ordinal' | 'sequential' | 'band' | 'categorical' | 'cyclical' | 'threshold' | 'quantile-cont' | 'quantile' | 'quantize' | 'diverging' | 'diverging-log' | 'diverging-pow' | 'diverging-sqrt' | 'diverging-symlog';
97
+ type?: 'auto' | ContinuousScaleType | TemporalScaleType | DiscreteScaleType | SequentialScaleType | DivergingScaleType | BinnedScaleType;
16
98
  domain?: (number | string | boolean | Date | null)[];
17
99
  range?: (number | string | boolean | Date | null)[];
18
100
  reverse?: boolean;
@@ -24,6 +106,10 @@ export type AxisScale<TData = Record<string, unknown>> = {
24
106
  interval?: string | number;
25
107
  clamp?: boolean;
26
108
  nice?: boolean;
109
+ niceTolerance?: number;
110
+ edgeTicks?: boolean | {
111
+ collision?: EdgeTickCollision;
112
+ };
27
113
  zero?: boolean;
28
114
  round?: boolean;
29
115
  percent?: boolean;
@@ -37,6 +123,8 @@ export type AxisScale<TData = Record<string, unknown>> = {
37
123
  strokeOpacity?: number;
38
124
  strokeDasharray?: string;
39
125
  };
126
+ /** Whether the axis' ticks and title draw: `'hidden'` keeps their space (so aligned panels stay aligned), `'none'` gives it back. Defaults to `'visible'`. */
127
+ axisDisplay?: 'visible' | 'hidden' | 'none';
40
128
  padding?: number;
41
129
  paddingInner?: number;
42
130
  paddingOuter?: number;
@@ -50,17 +138,13 @@ export type AxisScale<TData = Record<string, unknown>> = {
50
138
  tickPadding?: number;
51
139
  tickRotate?: number;
52
140
  tickFormat?: false | Intl.NumberFormatOptions | Intl.DateTimeFormatOptions | ((d: unknown, index: number, ticks: unknown[]) => string | string[]);
53
- seriesLayout?: 'overlap' | 'grouped' | 'stacked';
54
- seriesPadding?: number;
55
141
  };
56
- /**
57
- * Per-axis scale overrides, passed as a single `scales` prop to every
58
- * axis-based plot kind (`GeoPlot` uses `GeoScalesConfig` instead — a map has
59
- * no x/y/z axis pair). `TData` threads through to {@link AxisScale.sort} on
60
- * each axis.
61
- */
62
- export type AxisBasedScalesConfig<TData = Record<string, unknown>> = {
63
- x?: AxisScale<TData>;
64
- y?: AxisScale<TData>;
65
- z?: AxisScale<TData>;
142
+ /** Each {@link AxisChannelName}'s own scale-config shape - both use {@link AxisScale}. */
143
+ export type AxisChannelScaleConfig<TData = Record<string, unknown>> = {
144
+ [K in AxisChannelName]?: AxisScale<TData>;
66
145
  };
146
+ /** The `scales` prop of every axis-based plot kind. */
147
+ export type AxisBasedScalesConfig<TData = Record<string, unknown>> = AxisChannelScaleConfig<TData> & {
148
+ r?: RScaleConfig;
149
+ length?: LengthScaleConfig;
150
+ } & ChannelScalesConfig;
@@ -1 +1,19 @@
1
- export {};
1
+ // ── Axis channels (x/y): one scale shared by every mark ─────────────────────
2
+ /** Scale types that lay out distinct categories - an axis paired with one plays the "index" role, so the other is the plain magnitude/value axis. */
3
+ export const DISCRETE_SCALE_TYPES = ['band', 'categorical', 'point', 'ordinal'];
4
+ /** Scale types that lay out a continuous time axis. */
5
+ export const TEMPORAL_SCALE_TYPES = ['time', 'utc'];
6
+ /** Scale types that map a numeric domain continuously onto the range, differing only in the transform applied (identity, power, log, ...). */
7
+ export const CONTINUOUS_SCALE_TYPES = ['linear', 'pow', 'sqrt', 'log', 'symlog'];
8
+ /** Scale types that interpolate continuously along a single ramp (one end to the other, or around a cycle). */
9
+ export const SEQUENTIAL_SCALE_TYPES = ['sequential', 'cyclical', 'quantile-cont'];
10
+ /** Scale types that interpolate continuously along a ramp with a neutral midpoint, diverging to either side of it. */
11
+ export const DIVERGING_SCALE_TYPES = [
12
+ 'diverging',
13
+ 'diverging-log',
14
+ 'diverging-pow',
15
+ 'diverging-sqrt',
16
+ 'diverging-symlog'
17
+ ];
18
+ /** Scale types that bucket a numeric domain into a fixed set of output values instead of interpolating. */
19
+ export const BINNED_SCALE_TYPES = ['threshold', 'quantile', 'quantize'];
@@ -0,0 +1,18 @@
1
+ import type { StrokeStyle } from '../../plots/styling';
2
+ /** Band options for `type: 'bollinger'` - mirrors svelteplot's own `BollingerOptions` field-for-field. */
3
+ export type BollingerStatisticOptions = {
4
+ /** Window size (the moving average's own `k`); svelteplot's default is 20. */
5
+ n?: number;
6
+ /** Band radius, a multiple of standard deviations; svelteplot's default is 2. */
7
+ k?: number;
8
+ /**
9
+ * `stroke`/`strokeOpacity` style the moving-average line; `bandFill`
10
+ * styles the ±k·σ band - confirmed empirically as the only two style
11
+ * channels svelteplot's own `BollingerX`/`Y` actually route through
12
+ * (`strokeWidth` and the rest of `StrokeStyle` are accepted but have no
13
+ * visible effect on the line, so deliberately not offered here).
14
+ */
15
+ styles?: Pick<StrokeStyle, 'stroke' | 'strokeOpacity'> & {
16
+ bandFill?: string;
17
+ };
18
+ };
@@ -0,0 +1,8 @@
1
+ import type { BoxMarkerConfig } from '../../markers/common';
2
+ /**
3
+ * Options for `type: 'box'` - the box plot's own styling and tick options,
4
+ * same fields and defaults as a `box` marker (see `BoxMarkerConfig`'s own
5
+ * doc comment). Summarizes the source's own distribution, one box per
6
+ * category.
7
+ */
8
+ export type BoxStatisticOptions = Omit<BoxMarkerConfig, 'type' | 'data' | 'x' | 'y' | 'series'>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,27 @@
1
+ import type { AreaStyle } from '../../plots/styling';
2
+ import type { DensityKernel } from '../../transforms/density';
3
+ export type { DensityKernel } from '../../transforms/density';
4
+ /**
5
+ * Options for `type: 'density'` - a 1D kernel density estimate over the
6
+ * `x` values, drawn as a filled area. Runs the `densityX` transform (same
7
+ * option names); the curve's own `y` is the density. To run the estimate on a
8
+ * marker of your own, or on a plot's own rows, use that transform directly.
9
+ */
10
+ export type DensityStatisticOptions = {
11
+ kernel?: DensityKernel;
12
+ /** Kernel bandwidth in data units; Silverman's rule picks one from the data when unset. */
13
+ bandwidth?: number;
14
+ styles?: AreaStyle;
15
+ };
16
+ /**
17
+ * Options for `type: 'density2d'` - 2D contour bands, same options as the
18
+ * `density` marker (svelteplot's own `Density` mark). Set `thresholds` to
19
+ * control the number of bands or give the density levels explicitly.
20
+ */
21
+ export type Density2DStatisticOptions = {
22
+ /** Gaussian kernel bandwidth in pixels - svelteplot defaults to 20. */
23
+ bandwidth?: number;
24
+ /** Contour level count, or an explicit list of density thresholds. */
25
+ thresholds?: number | number[];
26
+ styles?: AreaStyle;
27
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,46 @@
1
+ import type { RegressionStatisticOptions } from './regression';
2
+ import type { BollingerStatisticOptions } from './bollinger';
3
+ import type { MovingAverageStatisticOptions } from './movingAverage';
4
+ import type { DensityStatisticOptions, Density2DStatisticOptions } from './density';
5
+ import type { BoxStatisticOptions } from './box';
6
+ export type { RegressionType, RegressionStatisticOptions } from './regression';
7
+ export type { BollingerStatisticOptions } from './bollinger';
8
+ export type { StatisticReducer, MovingAverageStatisticOptions } from './movingAverage';
9
+ export type { DensityKernel, DensityStatisticOptions, Density2DStatisticOptions } from './density';
10
+ export type { BoxStatisticOptions } from './box';
11
+ /**
12
+ * Which series a plot-level statistic runs over. Omitted: one derived
13
+ * statistic per series, so a plot grouped by `color`/`grouping` gets its
14
+ * statistics grouped the same way. Named: only the listed series. `pooled:
15
+ * true`: one statistic over every series combined. Ignored on a marker's own
16
+ * `.statistics` - a marker has exactly one source, its own `data`.
17
+ */
18
+ export type StatisticScope = {
19
+ series?: string[];
20
+ pooled?: boolean;
21
+ };
22
+ /**
23
+ * A statistic to compute and draw as one or more derived markers - the same
24
+ * shape whether attached to a plot's own top-level `statistics` prop or a
25
+ * marker's own `.statistics`. `regression`/`bollinger` resolve straight to
26
+ * svelteplot's own `RegressionX`/`Y` and `BollingerX`/`Y` marks (no
27
+ * computation of our own); `movingAverage` has no svelteplot mark, so it
28
+ * calls svelteplot's own `windowY` transform and wraps the result into a
29
+ * `line` marker. `density` (1D) calls svelteplot's own `densityX` transform
30
+ * and wraps the curve into an `area` marker; `density2d` and `box` resolve
31
+ * straight to the same `density` and `box` markers a plot author can write
32
+ * directly.
33
+ */
34
+ export type StatisticConfig = StatisticScope & (({
35
+ type: 'regression';
36
+ } & RegressionStatisticOptions) | ({
37
+ type: 'bollinger';
38
+ } & BollingerStatisticOptions) | ({
39
+ type: 'movingAverage';
40
+ } & MovingAverageStatisticOptions) | ({
41
+ type: 'density';
42
+ } & DensityStatisticOptions) | ({
43
+ type: 'density2d';
44
+ } & Density2DStatisticOptions) | ({
45
+ type: 'box';
46
+ } & BoxStatisticOptions));
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { StrokeStyle } from '../../plots/styling';
2
+ import type { WindowReducer } from '../../transforms/window';
3
+ /** Window reducers the `windowY` transform takes by name. */
4
+ export type StatisticReducer = WindowReducer;
5
+ /** Sliding-window options for `type: 'movingAverage'` - runs the `windowY` transform. */
6
+ export type MovingAverageStatisticOptions = {
7
+ /** Window size, in number of points. */
8
+ k: number;
9
+ /** Reducer applied within each window. Defaults to `'mean'`. */
10
+ reduce?: StatisticReducer;
11
+ styles?: StrokeStyle;
12
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ import type { StrokeStyle } from '../../plots/styling';
2
+ /**
3
+ * Regression model svelteplot's own `RegressionX`/`RegressionY` marks support
4
+ * - same names, so nothing new to learn if you already know svelteplot.
5
+ */
6
+ export type RegressionType = 'linear' | 'quad' | 'poly' | 'exp' | 'log' | 'pow' | 'loess';
7
+ /** Fit options for `type: 'regression'` - mirrors svelteplot's own `RegressionOptions` field-for-field. */
8
+ export type RegressionStatisticOptions = {
9
+ regressionType?: RegressionType;
10
+ /** Polynomial order (`regressionType: 'poly'`). */
11
+ order?: number;
12
+ /** Logarithm base (`regressionType: 'log'`). */
13
+ base?: number;
14
+ /** LOESS bandwidth, as a fraction of the data range, 0-1 (`regressionType: 'loess'`). */
15
+ span?: number;
16
+ /** Confidence-band level (e.g. `0.95`); svelteplot's own default is `0.99`. Set `false` to omit the band. */
17
+ confidence?: number | false;
18
+ /** The band always renders in the same color as `stroke`, at a fixed low opacity - no separate band color to set. */
19
+ styles?: StrokeStyle;
20
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -3,37 +3,31 @@ import type { FontStyle, StrokeStyle, AreaStyle } from '../plots/styling';
3
3
  import type { GeoFeature } from '../plots/data/geo';
4
4
  import type { GapsConfig } from '../plots/gaps';
5
5
  /**
6
- * Controls if and how value labels are rendered on a plot. The high-level
7
- * `anchor` sets sensible defaults for placement; `fontStyle` (`dx`, `dy`,
8
- * `textAnchor`, `lineAnchor`, `lineHeight`, `rotate`, `class`, `textClass`,
9
- * `fill`, …) overrides those defaults field-by-field when provided — mirrors
10
- * {@link DeltaConfig}'s `fontStyle`/`strokeStyle` split, so label text and
11
- * connector-line styling never mix into one flat bag of props.
6
+ * Controls if and how value labels are rendered on a plot, drawn as a `text`
7
+ * marker over the rows the plot itself draws (after its own `transforms`):
8
+ * one at the end of each series on a line or area plot, one per bar on a bar,
9
+ * pyramid or histogram plot, one per point on a scatter plot and one per cell
10
+ * on a heatmap. The high-level `anchor` sets sensible defaults for placement;
11
+ * `fontStyle` (`dx`, `dy`, `textAnchor`, `lineAnchor`, `lineHeight`, `rotate`,
12
+ * `class`, `textClass`, `fill`, …) overrides those defaults field-by-field when
13
+ * provided - mirrors {@link DeltaConfig}'s `fontStyle`/`strokeStyle` split, so
14
+ * label text and connector-line styling never mix into one flat bag of props.
12
15
  */
13
16
  export type ValuesStyle = {
17
+ /** Whether the labels are drawn. Off by default, except on a heatmap. */
14
18
  show?: boolean;
19
+ /** Where each label sits on its mark - see {@link ValueAnchor}. */
15
20
  anchor?: ValueAnchor;
21
+ /** A label's text, from its row's own value (a histogram bin's count) and its series. */
16
22
  format?: (value: number, seriesName: string) => string;
23
+ /** Hovering a label dims every other series, like toggling them off in the legend. */
17
24
  hoverIsolate?: boolean;
18
25
  fontStyle?: FontStyle;
26
+ /** The connectors a line or area plot routes back from labels that had to move apart. */
19
27
  strokeStyle?: StrokeStyle;
20
28
  };
21
29
  /**
22
- * Color overrides for plots that derive their palette from data.
23
- * Each plot uses only the fields relevant to its kind; unused fields are
24
- * silently ignored.
25
- *
26
- * - `min` / `max` — sequential colour ramp endpoints (heatmap).
27
- * - `left` / `right` — diverging bar sides (pyramid).
28
- */
29
- export type ColorsStyle = {
30
- min?: string;
31
- max?: string;
32
- left?: string;
33
- right?: string;
34
- };
35
- /**
36
- * Decorative border around the plot's own content box — svelteplot's
30
+ * Decorative border around the plot's own content box - svelteplot's
37
31
  * `Frame` mark, purely cosmetic (drawn from the box geometry, never from
38
32
  * data). `true` enables it with svelteplot's own defaults; an object
39
33
  * enables it and overrides its look field-by-field. Insets pull the frame
@@ -46,16 +40,14 @@ export type FrameStyle = AreaStyle & {
46
40
  insetBottom?: number;
47
41
  insetLeft?: number;
48
42
  };
49
- /** Author-facing `styles.frame` prop — see {@link FrameStyle}. */
43
+ /** Author-facing `styles.frame` prop - see {@link FrameStyle}. */
50
44
  export type FrameProp = boolean | FrameStyle;
51
45
  /**
52
- * The fields every plot kind's own `styles` shape shares, regardless of
53
- * whether it's built on axes ({@link AxisBasedStylesConfig}) or geometry
54
- * ({@link GeoStylesConfig}) — the true common parent of the two, unlike the
55
- * name `AxisBasedStylesConfig` might suggest before this split existed.
46
+ * The fields every plot kind's own `styles` shape shares - the common parent
47
+ * of {@link AxisBasedStylesConfig} and {@link GeoStylesConfig}.
56
48
  */
57
49
  export type BasePlotStylesConfig = {
58
- /** Decorative border around the plot's content box — see {@link FrameStyle}. Available on every plot kind. */
50
+ /** Decorative border around the plot's content box - see {@link FrameStyle}. Available on every plot kind. */
59
51
  frame?: FrameProp;
60
52
  };
61
53
  /**
@@ -65,13 +57,12 @@ export type BasePlotStylesConfig = {
65
57
  */
66
58
  export type AxisBasedStylesConfig = BasePlotStylesConfig & {
67
59
  values?: ValuesStyle;
68
- colors?: ColorsStyle;
69
60
  };
70
61
  /**
71
- * `AxisBasedStylesConfig` extended with `gaps` — the interpolated
62
+ * `AxisBasedStylesConfig` extended with `gaps` - the interpolated
72
63
  * missing-data bridge fill available to plot kinds with an inherent
73
64
  * category/sequence ordering (`LinePlot`, `BarPlot`, `PyramidPlot`).
74
- * Resolved per series like `segments`, at zone granularity — see
65
+ * Resolved per series like `segments`, at zone granularity - see
75
66
  * {@link GapsConfig}.
76
67
  */
77
68
  export type GapsAwarePlotStylesConfig<TSegmentStyle extends object> = AxisBasedStylesConfig & {
@@ -88,7 +79,7 @@ export type GeoTileLayerConfig = {
88
79
  tileSize?: number;
89
80
  };
90
81
  /**
91
- * `styles` prop for GeoPlot — the geo analog of `AxisBasedStylesConfig`,
82
+ * `styles` prop for GeoPlot - the geo analog of `AxisBasedStylesConfig`,
92
83
  * sharing only {@link BasePlotStylesConfig}'s common ground with it. Unlike
93
84
  * the other plot kinds, GeoPlot's styling needs (base map, choropleth ramp,
94
85
  * tile background, click handling) are unlike anything x/y plots need, so
@@ -100,15 +91,13 @@ export type GeoStylesConfig<TProps extends Record<string, unknown> = Record<stri
100
91
  fillOpacity?: number;
101
92
  stroke?: string;
102
93
  strokeWidth?: number;
103
- /** Continuous choropleth ramp endpoints — used when `value` is provided on data. Mirrors heatmap's `styles.colors`. */
104
- colors?: ColorsStyle;
105
94
  /** Raster XYZ tile basemap under the vector geometry. Mercator-family projections only. */
106
95
  tileLayer?: GeoTileLayerConfig;
107
96
  /** Fired when a base-map feature is clicked. */
108
97
  onFeatureClick?: (feature: GeoFeature<TProps>, event: Event) => void;
109
98
  };
110
99
  /**
111
- * `GeoTileLayerConfig`, plus `features` — never author-facing (the public
100
+ * `GeoTileLayerConfig`, plus `features` - never author-facing (the public
112
101
  * `styles.tileLayer` shape, {@link GeoTileLayerConfig}, doesn't declare it).
113
102
  * `GeoPlot` tacks it onto its own internal copy of `styles` so `StylesLayout`
114
103
  * can compute the tile layer's auto-fit bounds without needing raw geometry
@@ -120,7 +109,7 @@ type GeoTileLayerConfigWithFeatures = GeoTileLayerConfig & {
120
109
  }[];
121
110
  };
122
111
  /**
123
- * The minimal slice of a plot kind's own `styles` prop `StylesLayout` reads —
112
+ * The minimal slice of a plot kind's own `styles` prop `StylesLayout` reads -
124
113
  * every concrete `styles` type ({@link AxisBasedStylesConfig},
125
114
  * {@link GeoStylesConfig}) structurally satisfies this whether or not it
126
115
  * declares `tileLayer` at all (a missing optional field type-checks fine).
@@ -1,8 +1,13 @@
1
1
  import type { Snippet } from 'svelte';
2
- import type { AxisValue } from './scales';
2
+ import type { AxisValue } from './mapping';
3
3
  import type { Accessor } from '../plots/data/common';
4
- import type { EasingName, EasingFn } from '../charts/interpolate';
4
+ import type { EasingName, EasingFn } from '../misc/easing';
5
+ /** A step as the timeline works with it: a number (a date as its timestamp). */
5
6
  export type TimeValue = number;
7
+ /** A step as the rows hold it: a number, a `Date` or a date string. */
8
+ export type TimeInput = TimeValue | Date | string;
9
+ /** A step as authors see it: a `Date` on a timeline of dates, else the number. */
10
+ export type TimelineStep = number | Date;
6
11
  export type Orientation = 'horizontal' | 'vertical';
7
12
  export type TimelineChildContext<TRow extends Record<string, unknown>> = {
8
13
  selectedValue: TimeValue;
@@ -20,13 +25,64 @@ export type TimelineInterpolation<TRow extends Record<string, unknown>> = {
20
25
  progressEasing?: EasingName | EasingFn;
21
26
  segmentEasing?: EasingName | EasingFn;
22
27
  };
23
- export type TimelineConfig<TRow extends Record<string, unknown>> = {
24
- accessor: Accessor<TRow, TimeValue>;
25
- progress: number;
26
- values?: TimeValue[];
28
+ /** How a timeline draws: a `'player'` bar in the chrome (the default), or a `'rule'` beside the plot. */
29
+ export type TimelineType = 'rule' | 'player';
30
+ /** A piece of the player bar. */
31
+ export type PlayerControl = 'play' | 'value' | 'slider' | 'speed' | 'loop';
32
+ /**
33
+ * The player bar (`timeline.type: 'player'`): which controls it draws, in what
34
+ * order, and how it plays. `loop` and `speed` are where the player starts: it
35
+ * keeps them from there, and tells `onloop` and `onspeed` when they change.
36
+ */
37
+ export type PlayerConfig = {
38
+ /** The controls drawn, in this order - one left out isn't drawn. Defaults to the configuration's `timeline.player.controls`. */
39
+ controls?: PlayerControl[];
40
+ /** Starts playing as soon as the timeline has steps. */
41
+ autoplay?: boolean;
42
+ /** Starts again from the first step after the last, instead of stopping. */
43
+ loop?: boolean;
44
+ /** The playing speed, as a multiple of `stepDuration`. Defaults to `1`. */
45
+ speed?: number;
46
+ /** The speeds the speed control cycles through. Defaults to the configuration's `timeline.player.speeds`. */
47
+ speeds?: number[];
48
+ /** Milliseconds each step lasts at speed `1`. Defaults to the configuration's `timeline.player.stepDuration`. */
49
+ stepDuration?: number;
50
+ /** How a step reads, in the player and along a rule. Defaults to the step, or a date label for dates. */
51
+ format?: (value: TimelineStep) => string;
52
+ onplay?: (playing: boolean) => void;
53
+ onspeed?: (speed: number) => void;
54
+ onloop?: (loop: boolean) => void;
55
+ };
56
+ /** What every timeline can tell its owner, whatever it draws as. */
57
+ export type TimelineCallbacks = {
58
+ /** Called with the new position, `0`-`1`, whenever the player or the reader moves it. */
59
+ onprogress?: (progress: number) => void;
60
+ /** Called with the step the position lands on, when that step changes. */
61
+ onvalue?: (value: TimelineStep) => void;
62
+ };
63
+ export type TimelineConfig<TRow extends Record<string, unknown>> = TimelineCallbacks & {
64
+ /** The field (or function) giving each row's step: a number, a `Date`, or an ISO or `dateFormat` date string. */
65
+ accessor: Accessor<TRow, TimeInput>;
66
+ /** How a non-ISO date string reads, with `YYYY`, `MM`, `DD`, `HH`, `mm`, `ss`, e.g. `'DD/MM/YYYY'`. */
67
+ dateFormat?: string;
68
+ /** How it draws. Defaults to `'player'`. */
69
+ type?: TimelineType;
70
+ /** The player bar's own options, when `type` is `'player'`. */
71
+ player?: PlayerConfig;
72
+ /**
73
+ * The timeline's position, `0`-`1`. A `'player'` keeps its own position from
74
+ * there on (see `onprogress`), until this changes. Inside a `PlotComposer`
75
+ * with its own `timeline`, the composer's wins and nothing draws here.
76
+ */
77
+ progress?: number;
78
+ /** The steps, when not every distinct value of `accessor`. */
79
+ values?: TimeInput[];
80
+ /** Which way a `'rule'` runs. A `'player'` is always horizontal. */
27
81
  orientation?: Orientation;
28
82
  show?: boolean;
29
83
  thickness?: number;
30
84
  filterMode?: 'exact' | 'upTo';
31
85
  interpolate?: boolean | TimelineInterpolation<TRow>;
86
+ /** `'shared'` (default): x and y span every step's rows, so the axes hold still while scrubbing; `'free'` refits them to each step. */
87
+ scales?: 'shared' | 'free';
32
88
  };