@fundar/data-chart-telling 0.0.64 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +21 -0
  3. package/README.md +81 -561
  4. package/dist/configuration/config.svelte.d.ts +5 -5
  5. package/dist/configuration/config.svelte.js +130 -46
  6. package/dist/configuration/fonts.d.ts +6 -0
  7. package/dist/configuration/fonts.js +6 -0
  8. package/dist/configuration/themes/compact.d.ts +2 -2
  9. package/dist/configuration/themes/compact.js +1 -1
  10. package/dist/configuration/themes/dark.d.ts +2 -2
  11. package/dist/configuration/themes/dark.js +5 -4
  12. package/dist/configuration/themes/default.d.ts +8 -3
  13. package/dist/configuration/themes/default.js +8 -2
  14. package/dist/configuration/themes/editorial.d.ts +2 -2
  15. package/dist/configuration/themes/editorial.js +2 -2
  16. package/dist/configuration/themes/index.d.ts +421 -80
  17. package/dist/configuration/themes/index.js +6 -5
  18. package/dist/index.d.ts +34 -48
  19. package/dist/index.js +19 -35
  20. package/dist/layout/base/BasePlotLayout.svelte +312 -0
  21. package/dist/layout/base/BasePlotLayout.svelte.d.ts +111 -0
  22. package/dist/layout/composer/PlotComposer.svelte +94 -0
  23. package/dist/layout/composer/PlotComposer.svelte.d.ts +13 -0
  24. package/dist/layout/coordinates/CameraFit.svelte +4 -4
  25. package/dist/layout/coordinates/CoordinatesLayout.svelte +11 -3
  26. package/dist/layout/coordinates/CoordinatesLayout.svelte.d.ts +6 -2
  27. package/dist/layout/coordinates/camera.svelte.d.ts +1 -1
  28. package/dist/layout/coordinates/camera.svelte.js +6 -6
  29. package/dist/layout/coordinates/projections/argentina.js +3 -3
  30. package/dist/layout/coordinates/projections/fit.js +1 -1
  31. package/dist/layout/coordinates/resolveCameraTarget.d.ts +1 -1
  32. package/dist/layout/coordinates/resolveProjection.d.ts +1 -1
  33. package/dist/layout/coordinates/resolveProjection.js +2 -2
  34. package/dist/layout/coordinates/rotate.svelte.d.ts +3 -3
  35. package/dist/layout/coordinates/rotate.svelte.js +8 -8
  36. package/dist/layout/coordinates/zoom.svelte.d.ts +1 -1
  37. package/dist/layout/facet/FacetIndicator.svelte +23 -23
  38. package/dist/layout/facet/FacetLayout.svelte +435 -398
  39. package/dist/layout/facet/FacetLayout.svelte.d.ts +9 -3
  40. package/dist/layout/facet/axes.d.ts +16 -0
  41. package/dist/layout/facet/axes.js +25 -0
  42. package/dist/layout/facet/config.d.ts +32 -0
  43. package/dist/layout/facet/config.js +82 -0
  44. package/dist/layout/figure/Figure.svelte +177 -0
  45. package/dist/layout/figure/Figure.svelte.d.ts +14 -0
  46. package/dist/layout/figure/FigureChrome.svelte +341 -0
  47. package/dist/layout/figure/FigureChrome.svelte.d.ts +21 -0
  48. package/dist/layout/geometry/FrameClip.svelte +45 -0
  49. package/dist/layout/geometry/FrameClip.svelte.d.ts +8 -0
  50. package/dist/layout/geometry/FrameClipping.d.ts +24 -0
  51. package/dist/layout/geometry/FrameClipping.js +40 -0
  52. package/dist/layout/geometry/GeometryLayout.svelte +287 -224
  53. package/dist/layout/geometry/GeometryLayout.svelte.d.ts +10 -10
  54. package/dist/layout/grid/Grid.svelte +194 -0
  55. package/dist/layout/grid/Grid.svelte.d.ts +26 -0
  56. package/dist/layout/grid/GridAlignment.svelte.d.ts +31 -0
  57. package/dist/layout/grid/GridAlignment.svelte.js +56 -0
  58. package/dist/layout/grid/GridCell.svelte +141 -0
  59. package/dist/layout/grid/GridCell.svelte.d.ts +17 -0
  60. package/dist/layout/grid/GridCellsRegistry.svelte.d.ts +52 -0
  61. package/dist/layout/grid/GridCellsRegistry.svelte.js +70 -0
  62. package/dist/layout/grid/GridPlan.d.ts +49 -0
  63. package/dist/layout/grid/GridPlan.js +167 -0
  64. package/dist/layout/grid/Tags.d.ts +8 -0
  65. package/dist/layout/grid/Tags.js +39 -0
  66. package/dist/layout/hover/HoverScope.svelte +11 -0
  67. package/dist/layout/hover/HoverScope.svelte.d.ts +8 -0
  68. package/dist/layout/hover/HoverSettings.d.ts +20 -0
  69. package/dist/layout/hover/HoverSettings.js +27 -0
  70. package/dist/layout/hover/HoverState.svelte.d.ts +47 -0
  71. package/dist/layout/hover/HoverState.svelte.js +99 -0
  72. package/dist/layout/hover/PlotHover.svelte.d.ts +63 -0
  73. package/dist/layout/hover/PlotHover.svelte.js +133 -0
  74. package/dist/layout/interaction/PlotInteraction.svelte.d.ts +38 -0
  75. package/dist/layout/interaction/PlotInteraction.svelte.js +56 -0
  76. package/dist/layout/legend/AxisNumberFormat.d.ts +12 -0
  77. package/dist/layout/legend/AxisNumberFormat.js +25 -0
  78. package/dist/layout/legend/ContinuousSection.svelte +363 -351
  79. package/dist/layout/legend/DisabledStyle.d.ts +19 -0
  80. package/dist/layout/legend/DisabledStyle.js +57 -0
  81. package/dist/layout/legend/DiscreteBadgeItem.svelte +6 -3
  82. package/dist/layout/legend/DiscreteSection.svelte +32 -32
  83. package/dist/layout/legend/DiscreteSwatchItem.svelte +4 -1
  84. package/dist/layout/legend/DiscreteSymbolIcon.svelte +14 -9
  85. package/dist/layout/legend/LegendChannels.d.ts +21 -0
  86. package/dist/layout/legend/LegendChannels.js +221 -0
  87. package/dist/layout/legend/LegendLayout.svelte +49 -43
  88. package/dist/layout/legend/LegendState.svelte.d.ts +79 -0
  89. package/dist/layout/legend/LegendState.svelte.js +329 -0
  90. package/dist/layout/legend/LegendText.d.ts +12 -0
  91. package/dist/layout/legend/LegendText.js +22 -0
  92. package/dist/layout/legend/SizeSection.svelte +84 -0
  93. package/dist/layout/legend/SizeSection.svelte.d.ts +7 -0
  94. package/dist/layout/legend/SymbolSection.svelte +31 -0
  95. package/dist/layout/legend/SymbolSection.svelte.d.ts +8 -0
  96. package/dist/layout/margins/Box.d.ts +84 -0
  97. package/dist/layout/margins/Box.js +138 -0
  98. package/dist/layout/margins/Margins.d.ts +37 -0
  99. package/dist/layout/margins/Margins.js +71 -0
  100. package/dist/layout/margins/PlotMargins.svelte.d.ts +101 -0
  101. package/dist/layout/margins/PlotMargins.svelte.js +219 -0
  102. package/dist/layout/plot/Core.svelte +61 -0
  103. package/dist/layout/plot/Core.svelte.d.ts +41 -0
  104. package/dist/layout/plot/PanelRun.svelte +28 -0
  105. package/dist/{charts/heatmap/Chart.svelte.d.ts → layout/plot/PanelRun.svelte.d.ts} +11 -7
  106. package/dist/layout/plot/Plot.svelte +284 -0
  107. package/dist/layout/plot/Plot.svelte.d.ts +49 -0
  108. package/dist/layout/plot/PlotContext.d.ts +41 -0
  109. package/dist/layout/plot/PlotContext.js +46 -0
  110. package/dist/layout/plot/PublicPlotContext.d.ts +130 -0
  111. package/dist/layout/plot/PublicPlotContext.js +236 -0
  112. package/dist/layout/plot/Slice.d.ts +44 -0
  113. package/dist/layout/plot/Slice.js +98 -0
  114. package/dist/layout/plot/usePlot.d.ts +9 -0
  115. package/dist/layout/plot/usePlot.js +13 -0
  116. package/dist/layout/scales/ScalesLayout.svelte +241 -206
  117. package/dist/layout/scales/ScalesLayout.svelte.d.ts +2 -1
  118. package/dist/layout/scales/buildScale.d.ts +5 -22
  119. package/dist/layout/scales/buildScale.js +11 -34
  120. package/dist/layout/scales/niceDomain.d.ts +3 -3
  121. package/dist/layout/scales/niceDomain.js +4 -4
  122. package/dist/layout/styles/StylesLayout.svelte +65 -65
  123. package/dist/layout/styles/TileLayer.svelte +78 -76
  124. package/dist/layout/styles/TileLayer.svelte.d.ts +1 -1
  125. package/dist/layout/styles/ValueLabels.d.ts +97 -0
  126. package/dist/layout/styles/ValueLabels.js +237 -0
  127. package/dist/layout/timeline/Timeline.svelte +80 -74
  128. package/dist/layout/timeline/TimelineFrame.svelte +86 -0
  129. package/dist/layout/timeline/TimelineFrame.svelte.d.ts +16 -0
  130. package/dist/layout/timeline/TimelineLayout.svelte +114 -169
  131. package/dist/layout/timeline/TimelineLayout.svelte.d.ts +2 -0
  132. package/dist/layout/timeline/TimelinePlayer.svelte +195 -0
  133. package/dist/layout/timeline/TimelinePlayer.svelte.d.ts +7 -0
  134. package/dist/layout/timeline/TimelineRule.svelte +50 -0
  135. package/dist/layout/timeline/TimelineRule.svelte.d.ts +7 -0
  136. package/dist/layout/timeline/TimelineState.svelte.d.ts +82 -0
  137. package/dist/layout/timeline/TimelineState.svelte.js +226 -0
  138. package/dist/layout/timeline/TimelineSteps.d.ts +24 -0
  139. package/dist/layout/timeline/TimelineSteps.js +48 -0
  140. package/dist/layout/tooltip/Tooltip.svelte +82 -85
  141. package/dist/layout/tooltip/Tooltip.svelte.d.ts +43 -24
  142. package/dist/layout/tooltip/TooltipState.svelte.d.ts +61 -0
  143. package/dist/layout/tooltip/TooltipState.svelte.js +107 -0
  144. package/dist/markers/MarkerKinds.d.ts +173 -0
  145. package/dist/markers/MarkerKinds.js +51 -0
  146. package/dist/markers/area/AreaMarker.svelte +110 -0
  147. package/dist/markers/area/AreaMarker.svelte.d.ts +7 -0
  148. package/dist/markers/arrow/ArrowMarker.svelte +28 -0
  149. package/dist/markers/arrow/ArrowMarker.svelte.d.ts +7 -0
  150. package/dist/markers/{BarMarker.svelte → bar/BarMarker.svelte} +54 -52
  151. package/dist/markers/{BarMarker.svelte.d.ts → bar/BarMarker.svelte.d.ts} +1 -1
  152. package/dist/markers/bollinger/BollingerMarker.svelte +44 -0
  153. package/dist/markers/bollinger/BollingerMarker.svelte.d.ts +7 -0
  154. package/dist/markers/box/BoxMarker.svelte +143 -0
  155. package/dist/markers/box/BoxMarker.svelte.d.ts +7 -0
  156. package/dist/markers/brush/BrushMarker.svelte +32 -0
  157. package/dist/markers/brush/BrushMarker.svelte.d.ts +7 -0
  158. package/dist/markers/cell/CellMarker.svelte +27 -0
  159. package/dist/markers/{CellMarker.svelte.d.ts → cell/CellMarker.svelte.d.ts} +1 -1
  160. package/dist/markers/contour/ContourClipMarker.svelte +83 -0
  161. package/dist/markers/{ContourClipMarker.svelte.d.ts → contour/ContourClipMarker.svelte.d.ts} +1 -1
  162. package/dist/markers/contour/ContourMarker.svelte +28 -0
  163. package/dist/markers/{ContourMarker.svelte.d.ts → contour/ContourMarker.svelte.d.ts} +1 -1
  164. package/dist/markers/delaunay/DelaunayLinkMarker.svelte +26 -0
  165. package/dist/markers/delaunay/DelaunayLinkMarker.svelte.d.ts +7 -0
  166. package/dist/markers/delaunay/DelaunayMeshMarker.svelte +26 -0
  167. package/dist/markers/delaunay/DelaunayMeshMarker.svelte.d.ts +7 -0
  168. package/dist/markers/delta/Delta.d.ts +21 -0
  169. package/dist/markers/delta/Delta.js +60 -0
  170. package/dist/markers/delta/DeltaMarker.svelte +94 -0
  171. package/dist/markers/{DeltaMarker.svelte.d.ts → delta/DeltaMarker.svelte.d.ts} +2 -2
  172. package/dist/markers/density/DensityMarker.svelte +63 -0
  173. package/dist/markers/density/DensityMarker.svelte.d.ts +7 -0
  174. package/dist/markers/difference/DifferenceMarker.svelte +30 -0
  175. package/dist/markers/difference/DifferenceMarker.svelte.d.ts +7 -0
  176. package/dist/markers/dot/DotMarker.svelte +102 -0
  177. package/dist/markers/{DotMarker.svelte.d.ts → dot/DotMarker.svelte.d.ts} +5 -17
  178. package/dist/markers/geo/GeoFeaturesMarker.svelte +39 -0
  179. package/dist/markers/{GeoFeaturesMarker.svelte.d.ts → geo/GeoFeaturesMarker.svelte.d.ts} +1 -1
  180. package/dist/markers/geo/GeoHoverMarker.svelte +28 -0
  181. package/dist/markers/{GeoHoverMarker.svelte.d.ts → geo/GeoHoverMarker.svelte.d.ts} +2 -2
  182. package/dist/markers/geo/GraticuleMarker.svelte +18 -0
  183. package/dist/markers/{GraticuleMarker.svelte.d.ts → geo/GraticuleMarker.svelte.d.ts} +1 -1
  184. package/dist/markers/geo/SphereMarker.svelte +15 -0
  185. package/dist/markers/{SphereMarker.svelte.d.ts → geo/SphereMarker.svelte.d.ts} +1 -1
  186. package/dist/markers/hover/HoverMarker.svelte +252 -0
  187. package/dist/markers/{HoverMarker.svelte.d.ts → hover/HoverMarker.svelte.d.ts} +10 -10
  188. package/dist/markers/hull/HullMarker.svelte +25 -0
  189. package/dist/markers/hull/HullMarker.svelte.d.ts +7 -0
  190. package/dist/markers/image/ImageMarker.svelte +22 -0
  191. package/dist/markers/image/ImageMarker.svelte.d.ts +7 -0
  192. package/dist/markers/inset/InsetMarker.svelte +184 -150
  193. package/dist/markers/inset/InsetMarker.svelte.d.ts +4 -4
  194. package/dist/markers/inset/insetLayout.d.ts +1 -1
  195. package/dist/markers/inset/insetLayout.js +6 -2
  196. package/dist/markers/inset/insetProjection.d.ts +1 -1
  197. package/dist/markers/inset/insetProjection.js +3 -3
  198. package/dist/markers/line/LineMarker.svelte +30 -0
  199. package/dist/markers/{LineMarker.svelte.d.ts → line/LineMarker.svelte.d.ts} +1 -1
  200. package/dist/markers/link/LinkMarker.svelte +47 -0
  201. package/dist/markers/{LinkMarker.svelte.d.ts → link/LinkMarker.svelte.d.ts} +1 -1
  202. package/dist/markers/raster/RasterMarker.svelte +31 -0
  203. package/dist/markers/raster/RasterMarker.svelte.d.ts +7 -0
  204. package/dist/markers/rect/RectMarker.svelte +62 -0
  205. package/dist/markers/rect/RectMarker.svelte.d.ts +7 -0
  206. package/dist/markers/regression/RegressionMarker.svelte +60 -0
  207. package/dist/markers/regression/RegressionMarker.svelte.d.ts +7 -0
  208. package/dist/markers/rule/RuleMarker.svelte +47 -0
  209. package/dist/markers/{RuleMarker.svelte.d.ts → rule/RuleMarker.svelte.d.ts} +2 -5
  210. package/dist/markers/text/Declutter.d.ts +35 -0
  211. package/dist/markers/text/Declutter.js +157 -0
  212. package/dist/markers/text/TextMarker.svelte +244 -0
  213. package/dist/markers/{TextMarker.svelte.d.ts → text/TextMarker.svelte.d.ts} +5 -9
  214. package/dist/markers/tick/TickMarker.svelte +44 -0
  215. package/dist/markers/tick/TickMarker.svelte.d.ts +7 -0
  216. package/dist/markers/trail/TrailMarker.svelte +27 -0
  217. package/dist/markers/trail/TrailMarker.svelte.d.ts +7 -0
  218. package/dist/markers/utils/BandNudge.d.ts +22 -0
  219. package/dist/markers/utils/BandNudge.js +23 -0
  220. package/dist/markers/utils/MarkerChannels.d.ts +49 -0
  221. package/dist/markers/utils/MarkerChannels.js +97 -0
  222. package/dist/markers/vector/VectorMarker.svelte +29 -0
  223. package/dist/markers/{VectorMarker.svelte.d.ts → vector/VectorMarker.svelte.d.ts} +1 -1
  224. package/dist/markers/voronoi/VoronoiMarker.svelte +26 -0
  225. package/dist/markers/voronoi/VoronoiMarker.svelte.d.ts +7 -0
  226. package/dist/markers/voronoi/VoronoiMeshMarker.svelte +26 -0
  227. package/dist/markers/voronoi/VoronoiMeshMarker.svelte.d.ts +7 -0
  228. package/dist/markers/waffle/WaffleMarker.svelte +56 -0
  229. package/dist/markers/waffle/WaffleMarker.svelte.d.ts +7 -0
  230. package/dist/phases/Pipeline.d.ts +108 -0
  231. package/dist/phases/Pipeline.js +226 -0
  232. package/dist/phases/data/DataPhase.d.ts +25 -0
  233. package/dist/phases/data/DataPhase.js +82 -0
  234. package/dist/phases/data/PlotAxes.d.ts +75 -0
  235. package/dist/phases/data/PlotAxes.js +151 -0
  236. package/dist/phases/facet/FacetPhase.d.ts +52 -0
  237. package/dist/phases/facet/FacetPhase.js +114 -0
  238. package/dist/phases/hover/HoverPhase.d.ts +73 -0
  239. package/dist/phases/hover/HoverPhase.js +144 -0
  240. package/dist/phases/mapping/MappingPhase.d.ts +17 -0
  241. package/dist/phases/mapping/MappingPhase.js +42 -0
  242. package/dist/phases/markers/MarkersPhase.d.ts +14 -0
  243. package/dist/phases/markers/MarkersPhase.js +27 -0
  244. package/dist/phases/scales/MarkerAxisValues.d.ts +12 -0
  245. package/dist/phases/scales/MarkerAxisValues.js +34 -0
  246. package/dist/phases/scales/ScalesPhase.d.ts +31 -0
  247. package/dist/phases/scales/ScalesPhase.js +157 -0
  248. package/dist/phases/sharedScales/SharedScalesPhase.d.ts +55 -0
  249. package/dist/phases/sharedScales/SharedScalesPhase.js +168 -0
  250. package/dist/phases/statistics/AuthorMarkers.d.ts +43 -0
  251. package/dist/phases/statistics/AuthorMarkers.js +69 -0
  252. package/dist/phases/statistics/MarkerGrouping.d.ts +48 -0
  253. package/dist/phases/statistics/MarkerGrouping.js +113 -0
  254. package/dist/phases/statistics/Statistics.d.ts +53 -0
  255. package/dist/phases/statistics/Statistics.js +156 -0
  256. package/dist/phases/statistics/StatisticsPhase.d.ts +18 -0
  257. package/dist/phases/statistics/StatisticsPhase.js +68 -0
  258. package/dist/phases/statistics/methods/BollingerStatistic.d.ts +9 -0
  259. package/dist/phases/statistics/methods/BollingerStatistic.js +18 -0
  260. package/dist/phases/statistics/methods/BoxStatistic.d.ts +9 -0
  261. package/dist/phases/statistics/methods/BoxStatistic.js +18 -0
  262. package/dist/phases/statistics/methods/Density2dStatistic.d.ts +9 -0
  263. package/dist/phases/statistics/methods/Density2dStatistic.js +18 -0
  264. package/dist/phases/statistics/methods/DensityStatistic.d.ts +12 -0
  265. package/dist/phases/statistics/methods/DensityStatistic.js +29 -0
  266. package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +12 -0
  267. package/dist/phases/statistics/methods/MovingAverageStatistic.js +30 -0
  268. package/dist/phases/statistics/methods/RegressionStatistic.d.ts +9 -0
  269. package/dist/phases/statistics/methods/RegressionStatistic.js +21 -0
  270. package/dist/phases/styles/StylesPhase.d.ts +13 -0
  271. package/dist/phases/styles/StylesPhase.js +17 -0
  272. package/dist/phases/tooltip/TooltipPhase.d.ts +12 -0
  273. package/dist/phases/tooltip/TooltipPhase.js +10 -0
  274. package/dist/phases/transforms/Transforms.d.ts +42 -0
  275. package/dist/phases/transforms/Transforms.js +130 -0
  276. package/dist/phases/transforms/TransformsPhase.d.ts +64 -0
  277. package/dist/phases/transforms/TransformsPhase.js +242 -0
  278. package/dist/phases/transforms/methods/AnchorBar.d.ts +13 -0
  279. package/dist/phases/transforms/methods/AnchorBar.js +21 -0
  280. package/dist/phases/transforms/methods/BinTransform.d.ts +7 -0
  281. package/dist/phases/transforms/methods/BinTransform.js +48 -0
  282. package/dist/phases/transforms/methods/DensityTransform.d.ts +6 -0
  283. package/dist/phases/transforms/methods/DensityTransform.js +13 -0
  284. package/dist/phases/transforms/methods/GroupTransform.d.ts +8 -0
  285. package/dist/phases/transforms/methods/GroupTransform.js +39 -0
  286. package/dist/phases/transforms/methods/NormalizeTransform.d.ts +10 -0
  287. package/dist/phases/transforms/methods/NormalizeTransform.js +30 -0
  288. package/dist/phases/transforms/methods/OrderTransform.d.ts +16 -0
  289. package/dist/phases/transforms/methods/OrderTransform.js +43 -0
  290. package/dist/phases/transforms/methods/PerGroup.d.ts +11 -0
  291. package/dist/phases/transforms/methods/PerGroup.js +39 -0
  292. package/dist/phases/transforms/methods/PositionTransform.d.ts +15 -0
  293. package/dist/phases/transforms/methods/PositionTransform.js +74 -0
  294. package/dist/phases/transforms/methods/StackTransform.d.ts +8 -0
  295. package/dist/phases/transforms/methods/StackTransform.js +29 -0
  296. package/dist/phases/transforms/methods/WindowTransform.d.ts +8 -0
  297. package/dist/phases/transforms/methods/WindowTransform.js +23 -0
  298. package/dist/plots/area/Plot.svelte +42 -0
  299. package/dist/plots/{heatmap/ValueLabels.svelte.d.ts → area/Plot.svelte.d.ts} +8 -16
  300. package/dist/plots/area/defaults.d.ts +4 -0
  301. package/dist/plots/area/defaults.js +21 -0
  302. package/dist/plots/area/markers.d.ts +14 -0
  303. package/dist/plots/area/markers.js +40 -0
  304. package/dist/plots/bar/Plot.svelte +33 -438
  305. package/dist/plots/bar/Plot.svelte.d.ts +5 -8
  306. package/dist/plots/bar/defaults.d.ts +9 -0
  307. package/dist/plots/bar/defaults.js +92 -0
  308. package/dist/plots/bar/markers.d.ts +45 -0
  309. package/dist/plots/bar/markers.js +232 -0
  310. package/dist/plots/geo/Core.svelte +151 -0
  311. package/dist/plots/geo/Core.svelte.d.ts +25 -0
  312. package/dist/plots/geo/Plot.svelte +103 -324
  313. package/dist/plots/geo/Plot.svelte.d.ts +5 -9
  314. package/dist/plots/geo/defaults.d.ts +4 -0
  315. package/dist/plots/geo/defaults.js +16 -0
  316. package/dist/plots/geo/features.svelte.d.ts +5 -0
  317. package/dist/plots/geo/features.svelte.js +44 -0
  318. package/dist/plots/geo/phases/data.d.ts +6 -0
  319. package/dist/plots/geo/phases/data.js +26 -0
  320. package/dist/plots/geo/phases/hover.d.ts +9 -0
  321. package/dist/plots/geo/phases/hover.js +45 -0
  322. package/dist/plots/geo/phases/markers.d.ts +9 -0
  323. package/dist/plots/geo/phases/markers.js +76 -0
  324. package/dist/plots/geo/phases/scales.d.ts +10 -0
  325. package/dist/plots/geo/phases/scales.js +85 -0
  326. package/dist/plots/geo/phases/tooltip.d.ts +3 -0
  327. package/dist/plots/geo/phases/tooltip.js +5 -0
  328. package/dist/plots/geo/slices.d.ts +18 -0
  329. package/dist/plots/geo/slices.js +56 -0
  330. package/dist/plots/heatmap/Plot.svelte +55 -249
  331. package/dist/plots/heatmap/Plot.svelte.d.ts +5 -8
  332. package/dist/plots/heatmap/defaults.d.ts +11 -0
  333. package/dist/plots/heatmap/defaults.js +91 -0
  334. package/dist/plots/heatmap/markers.d.ts +17 -0
  335. package/dist/plots/heatmap/markers.js +141 -0
  336. package/dist/plots/histogram/Plot.svelte +45 -0
  337. package/dist/plots/histogram/Plot.svelte.d.ts +26 -0
  338. package/dist/plots/histogram/defaults.d.ts +9 -0
  339. package/dist/plots/histogram/defaults.js +87 -0
  340. package/dist/plots/histogram/markers.d.ts +18 -0
  341. package/dist/plots/histogram/markers.js +89 -0
  342. package/dist/plots/line/Plot.svelte +37 -268
  343. package/dist/plots/line/Plot.svelte.d.ts +3 -7
  344. package/dist/plots/line/defaults.d.ts +4 -0
  345. package/dist/plots/line/defaults.js +29 -0
  346. package/dist/plots/line/markers.d.ts +49 -0
  347. package/dist/plots/line/markers.js +200 -0
  348. package/dist/plots/pyramid/Plot.svelte +34 -362
  349. package/dist/plots/pyramid/Plot.svelte.d.ts +5 -8
  350. package/dist/plots/pyramid/defaults.d.ts +13 -0
  351. package/dist/plots/pyramid/defaults.js +86 -0
  352. package/dist/plots/pyramid/markers.d.ts +21 -0
  353. package/dist/plots/pyramid/markers.js +159 -0
  354. package/dist/plots/scatter/Plot.svelte +34 -288
  355. package/dist/plots/scatter/Plot.svelte.d.ts +5 -8
  356. package/dist/plots/scatter/defaults.d.ts +4 -0
  357. package/dist/plots/scatter/defaults.js +79 -0
  358. package/dist/plots/scatter/markers.d.ts +19 -0
  359. package/dist/plots/scatter/markers.js +128 -0
  360. package/dist/plots/utils/ChannelName.d.ts +9 -0
  361. package/dist/plots/utils/ChannelName.js +14 -0
  362. package/dist/plots/utils/accessors.d.ts +1 -1
  363. package/dist/plots/utils/accessors.js +4 -2
  364. package/dist/plots/utils/gaps.d.ts +14 -19
  365. package/dist/plots/utils/gaps.js +38 -18
  366. package/dist/plots/utils/geoAccessors.d.ts +8 -8
  367. package/dist/plots/utils/geoAccessors.js +16 -12
  368. package/dist/plots/utils/geoSegments.d.ts +24 -9
  369. package/dist/plots/utils/geoSegments.js +31 -11
  370. package/dist/plots/utils/segments.d.ts +5 -16
  371. package/dist/plots/utils/segments.js +40 -52
  372. package/dist/plots/utils/tiles.d.ts +9 -9
  373. package/dist/plots/utils/tiles.js +35 -25
  374. package/dist/plots/utils/topojson.d.ts +1 -1
  375. package/dist/plots/utils/topojson.js +3 -3
  376. package/dist/stores/device.js +2 -4
  377. package/dist/types/configuration/styling.d.ts +152 -27
  378. package/dist/types/layout/box.d.ts +24 -0
  379. package/dist/types/layout/composer.d.ts +36 -0
  380. package/dist/types/layout/coordinates.d.ts +14 -14
  381. package/dist/types/layout/facet.d.ts +44 -22
  382. package/dist/types/layout/figure.d.ts +7 -0
  383. package/dist/types/layout/geometry.d.ts +6 -2
  384. package/dist/types/layout/grid.d.ts +66 -0
  385. package/dist/types/layout/hover.d.ts +48 -0
  386. package/dist/types/layout/legend.d.ts +256 -55
  387. package/dist/types/layout/mapping.d.ts +68 -0
  388. package/dist/types/layout/plot.d.ts +41 -0
  389. package/dist/types/layout/scales.d.ts +92 -24
  390. package/dist/types/layout/scales.js +19 -1
  391. package/dist/types/layout/statistics/bollinger.d.ts +18 -0
  392. package/dist/types/layout/statistics/box.d.ts +8 -0
  393. package/dist/types/layout/statistics/box.js +1 -0
  394. package/dist/types/layout/statistics/density.d.ts +27 -0
  395. package/dist/types/layout/statistics/density.js +1 -0
  396. package/dist/types/layout/statistics/index.d.ts +46 -0
  397. package/dist/types/layout/statistics/index.js +1 -0
  398. package/dist/types/layout/statistics/movingAverage.d.ts +12 -0
  399. package/dist/types/layout/statistics/movingAverage.js +1 -0
  400. package/dist/types/layout/statistics/regression.d.ts +20 -0
  401. package/dist/types/layout/statistics/regression.js +1 -0
  402. package/dist/types/layout/styles.d.ts +24 -35
  403. package/dist/types/layout/timeline.d.ts +51 -4
  404. package/dist/types/layout/tooltip.d.ts +7 -85
  405. package/dist/types/markers/all.d.ts +3 -4
  406. package/dist/types/markers/axis/area.d.ts +12 -0
  407. package/dist/types/markers/axis/area.js +1 -0
  408. package/dist/types/markers/axis/arrow.d.ts +15 -0
  409. package/dist/types/markers/axis/arrow.js +1 -0
  410. package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +29 -0
  411. package/dist/types/markers/axis/axisBasedMarkersConfig.js +1 -0
  412. package/dist/types/markers/axis/bar.d.ts +18 -0
  413. package/dist/types/markers/axis/bar.js +1 -0
  414. package/dist/types/markers/axis/bollinger.d.ts +6 -0
  415. package/dist/types/markers/axis/bollinger.js +1 -0
  416. package/dist/types/markers/axis/box.d.ts +14 -0
  417. package/dist/types/markers/axis/box.js +1 -0
  418. package/dist/types/markers/axis/brush.d.ts +28 -0
  419. package/dist/types/markers/axis/brush.js +1 -0
  420. package/dist/types/markers/axis/cell.d.ts +9 -0
  421. package/dist/types/markers/axis/cell.js +1 -0
  422. package/dist/types/markers/axis/component.d.ts +9 -0
  423. package/dist/types/markers/axis/component.js +1 -0
  424. package/dist/types/markers/axis/curveName.d.ts +2 -0
  425. package/dist/types/markers/axis/curveName.js +1 -0
  426. package/dist/types/markers/axis/delaunayLink.d.ts +7 -0
  427. package/dist/types/markers/axis/delaunayLink.js +1 -0
  428. package/dist/types/markers/axis/delaunayMesh.d.ts +7 -0
  429. package/dist/types/markers/axis/delaunayMesh.js +1 -0
  430. package/dist/types/markers/axis/delta.d.ts +27 -0
  431. package/dist/types/markers/axis/delta.js +1 -0
  432. package/dist/types/markers/axis/density.d.ts +12 -0
  433. package/dist/types/markers/axis/density.js +1 -0
  434. package/dist/types/markers/axis/difference.d.ts +12 -0
  435. package/dist/types/markers/axis/difference.js +1 -0
  436. package/dist/types/markers/axis/hover.d.ts +21 -0
  437. package/dist/types/markers/axis/hover.js +1 -0
  438. package/dist/types/markers/axis/hull.d.ts +7 -0
  439. package/dist/types/markers/axis/hull.js +1 -0
  440. package/dist/types/markers/axis/image.d.ts +12 -0
  441. package/dist/types/markers/axis/image.js +1 -0
  442. package/dist/types/markers/axis/line.d.ts +7 -0
  443. package/dist/types/markers/axis/line.js +1 -0
  444. package/dist/types/markers/axis/raster.d.ts +18 -0
  445. package/dist/types/markers/axis/raster.js +1 -0
  446. package/dist/types/markers/axis/rect.d.ts +15 -0
  447. package/dist/types/markers/axis/rect.js +1 -0
  448. package/dist/types/markers/axis/regression.d.ts +6 -0
  449. package/dist/types/markers/axis/regression.js +1 -0
  450. package/dist/types/markers/axis/rule.d.ts +15 -0
  451. package/dist/types/markers/axis/rule.js +1 -0
  452. package/dist/types/markers/axis/tick.d.ts +8 -0
  453. package/dist/types/markers/axis/tick.js +1 -0
  454. package/dist/types/markers/axis/trail.d.ts +14 -0
  455. package/dist/types/markers/axis/trail.js +1 -0
  456. package/dist/types/markers/axis/voronoi.d.ts +7 -0
  457. package/dist/types/markers/axis/voronoi.js +1 -0
  458. package/dist/types/markers/axis/voronoiMesh.d.ts +7 -0
  459. package/dist/types/markers/axis/voronoiMesh.js +1 -0
  460. package/dist/types/markers/axis/waffle.d.ts +13 -0
  461. package/dist/types/markers/axis/waffle.js +1 -0
  462. package/dist/types/markers/basic/basicMarkersConfig.d.ts +4 -0
  463. package/dist/types/markers/basic/basicMarkersConfig.js +1 -0
  464. package/dist/types/markers/basic/dot.d.ts +9 -0
  465. package/dist/types/markers/basic/dot.js +1 -0
  466. package/dist/types/markers/basic/text.d.ts +60 -0
  467. package/dist/types/markers/basic/text.js +1 -0
  468. package/dist/types/markers/basic.d.ts +4 -0
  469. package/dist/types/markers/basic.js +1 -0
  470. package/dist/types/markers/channels/commonMarkerConfig.d.ts +26 -0
  471. package/dist/types/markers/channels/commonMarkerConfig.js +1 -0
  472. package/dist/types/markers/channels/commonMarkerConfigWithArea.d.ts +6 -0
  473. package/dist/types/markers/channels/commonMarkerConfigWithArea.js +1 -0
  474. package/dist/types/markers/channels/commonMarkerConfigWithColor.d.ts +5 -0
  475. package/dist/types/markers/channels/commonMarkerConfigWithColor.js +1 -0
  476. package/dist/types/markers/channels/commonMarkerConfigWithInterval.d.ts +9 -0
  477. package/dist/types/markers/channels/commonMarkerConfigWithInterval.js +1 -0
  478. package/dist/types/markers/channels/commonMarkerConfigWithRadius.d.ts +5 -0
  479. package/dist/types/markers/channels/commonMarkerConfigWithRadius.js +1 -0
  480. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.d.ts +5 -0
  481. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.js +1 -0
  482. package/dist/types/markers/channels/commonMarkerConfigWithWeight.d.ts +5 -0
  483. package/dist/types/markers/channels/commonMarkerConfigWithWeight.js +1 -0
  484. package/dist/types/markers/common.d.ts +30 -103
  485. package/dist/types/markers/common.js +29 -1
  486. package/dist/types/markers/geo/contour.d.ts +27 -0
  487. package/dist/types/markers/geo/contour.js +1 -0
  488. package/dist/types/markers/geo/features.d.ts +12 -0
  489. package/dist/types/markers/geo/features.js +1 -0
  490. package/dist/types/markers/geo/geoComponent.d.ts +7 -0
  491. package/dist/types/markers/geo/geoComponent.js +1 -0
  492. package/dist/types/markers/geo/geoHover.d.ts +6 -0
  493. package/dist/types/markers/geo/geoHover.js +1 -0
  494. package/dist/types/markers/geo/geoMarkersConfig.d.ts +11 -0
  495. package/dist/types/markers/geo/geoMarkersConfig.js +1 -0
  496. package/dist/types/markers/geo/graticule.d.ts +11 -0
  497. package/dist/types/markers/geo/graticule.js +1 -0
  498. package/dist/types/markers/geo/inset.d.ts +50 -0
  499. package/dist/types/markers/geo/inset.js +1 -0
  500. package/dist/types/markers/geo/link.d.ts +13 -0
  501. package/dist/types/markers/geo/link.js +1 -0
  502. package/dist/types/markers/geo/sphere.d.ts +11 -0
  503. package/dist/types/markers/geo/sphere.js +1 -0
  504. package/dist/types/markers/geo/vector.d.ts +17 -0
  505. package/dist/types/markers/geo/vector.js +1 -0
  506. package/dist/types/markers/geo.d.ts +10 -212
  507. package/dist/types/markers/geo.js +10 -1
  508. package/dist/types/markers/traits.d.ts +22 -0
  509. package/dist/types/markers/traits.js +1 -0
  510. package/dist/types/misc/easing.js +1 -0
  511. package/dist/types/misc/viewport.js +1 -0
  512. package/dist/types/phases/data/axes.d.ts +18 -0
  513. package/dist/types/phases/data/axes.js +1 -0
  514. package/dist/types/phases/data/phase.d.ts +26 -0
  515. package/dist/types/phases/data/phase.js +2 -0
  516. package/dist/types/phases/facet/phase.d.ts +18 -0
  517. package/dist/types/phases/facet/phase.js +1 -0
  518. package/dist/types/phases/hover/phase.d.ts +34 -0
  519. package/dist/types/phases/hover/phase.js +1 -0
  520. package/dist/types/phases/index.d.ts +14 -0
  521. package/dist/types/phases/index.js +1 -0
  522. package/dist/types/phases/kind.d.ts +59 -0
  523. package/dist/types/phases/kind.js +1 -0
  524. package/dist/types/phases/mapping/phase.d.ts +5 -0
  525. package/dist/types/phases/mapping/phase.js +1 -0
  526. package/dist/types/phases/markers/phase.d.ts +13 -0
  527. package/dist/types/phases/markers/phase.js +1 -0
  528. package/dist/types/phases/pipeline.d.ts +10 -0
  529. package/dist/types/phases/pipeline.js +1 -0
  530. package/dist/types/phases/scales/phase.d.ts +26 -0
  531. package/dist/types/phases/scales/phase.js +1 -0
  532. package/dist/types/phases/sharedScales/phase.d.ts +12 -0
  533. package/dist/types/phases/sharedScales/phase.js +1 -0
  534. package/dist/types/phases/stage.d.ts +12 -0
  535. package/dist/types/phases/stage.js +1 -0
  536. package/dist/types/phases/state.d.ts +73 -0
  537. package/dist/types/phases/state.js +1 -0
  538. package/dist/types/phases/statistics/phase.d.ts +41 -0
  539. package/dist/types/phases/statistics/phase.js +1 -0
  540. package/dist/types/phases/statistics/source.d.ts +20 -0
  541. package/dist/types/phases/statistics/source.js +7 -0
  542. package/dist/types/phases/styles/phase.d.ts +24 -0
  543. package/dist/types/phases/styles/phase.js +1 -0
  544. package/dist/types/phases/transforms/adapter.d.ts +27 -0
  545. package/dist/types/phases/transforms/adapter.js +1 -0
  546. package/dist/types/phases/transforms/phase.d.ts +40 -0
  547. package/dist/types/phases/transforms/phase.js +1 -0
  548. package/dist/types/plots/area/props.d.ts +10 -0
  549. package/dist/types/plots/area/props.js +1 -0
  550. package/dist/types/plots/area/state.d.ts +6 -0
  551. package/dist/types/plots/area/state.js +1 -0
  552. package/dist/types/plots/bar/props.d.ts +10 -0
  553. package/dist/types/plots/bar/props.js +1 -0
  554. package/dist/types/plots/bar/state.d.ts +6 -0
  555. package/dist/types/plots/bar/state.js +1 -0
  556. package/dist/types/plots/camera.d.ts +7 -17
  557. package/dist/types/plots/constants.d.ts +16 -8
  558. package/dist/types/plots/data/common.d.ts +25 -17
  559. package/dist/types/plots/data/geo.d.ts +26 -12
  560. package/dist/types/plots/gaps.d.ts +19 -38
  561. package/dist/types/plots/geo/props.d.ts +23 -0
  562. package/dist/types/plots/geo/props.js +1 -0
  563. package/dist/types/plots/geo/state.d.ts +82 -0
  564. package/dist/types/plots/geo/state.js +1 -0
  565. package/dist/types/plots/heatmap/props.d.ts +10 -0
  566. package/dist/types/plots/heatmap/props.js +1 -0
  567. package/dist/types/plots/heatmap/state.d.ts +28 -0
  568. package/dist/types/plots/heatmap/state.js +1 -0
  569. package/dist/types/plots/histogram/props.d.ts +18 -0
  570. package/dist/types/plots/histogram/props.js +1 -0
  571. package/dist/types/plots/histogram/state.d.ts +6 -0
  572. package/dist/types/plots/histogram/state.js +1 -0
  573. package/dist/types/plots/line/props.d.ts +10 -0
  574. package/dist/types/plots/line/props.js +1 -0
  575. package/dist/types/plots/line/state.d.ts +9 -0
  576. package/dist/types/plots/line/state.js +1 -0
  577. package/dist/types/plots/props.d.ts +143 -35
  578. package/dist/types/plots/pyramid/props.d.ts +10 -0
  579. package/dist/types/plots/pyramid/props.js +1 -0
  580. package/dist/types/plots/pyramid/state.d.ts +16 -0
  581. package/dist/types/plots/pyramid/state.js +1 -0
  582. package/dist/types/plots/scatter/props.d.ts +10 -0
  583. package/dist/types/plots/scatter/props.js +1 -0
  584. package/dist/types/plots/scatter/state.d.ts +6 -0
  585. package/dist/types/plots/scatter/state.js +1 -0
  586. package/dist/types/plots/segments/common.d.ts +1 -1
  587. package/dist/types/plots/segments/config.d.ts +12 -6
  588. package/dist/types/plots/styling.d.ts +5 -5
  589. package/dist/types/transforms/bin.d.ts +84 -0
  590. package/dist/types/transforms/bin.js +28 -0
  591. package/dist/types/transforms/bollinger.d.ts +21 -0
  592. package/dist/types/transforms/bollinger.js +1 -0
  593. package/dist/types/transforms/common.d.ts +29 -0
  594. package/dist/types/transforms/common.js +16 -0
  595. package/dist/types/transforms/density.d.ts +45 -0
  596. package/dist/types/transforms/density.js +10 -0
  597. package/dist/types/transforms/filter.d.ts +12 -0
  598. package/dist/types/transforms/filter.js +14 -0
  599. package/dist/types/transforms/group.d.ts +70 -0
  600. package/dist/types/transforms/group.js +8 -0
  601. package/dist/types/transforms/index.d.ts +36 -0
  602. package/dist/types/transforms/index.js +1 -0
  603. package/dist/types/transforms/interval.d.ts +21 -0
  604. package/dist/types/transforms/interval.js +14 -0
  605. package/dist/types/transforms/jitter.d.ts +34 -0
  606. package/dist/types/transforms/jitter.js +1 -0
  607. package/dist/types/transforms/map.d.ts +24 -0
  608. package/dist/types/transforms/map.js +1 -0
  609. package/dist/types/transforms/normalize.d.ts +36 -0
  610. package/dist/types/transforms/normalize.js +1 -0
  611. package/dist/types/transforms/select.d.ts +15 -0
  612. package/dist/types/transforms/select.js +1 -0
  613. package/dist/types/transforms/shift.d.ts +20 -0
  614. package/dist/types/transforms/shift.js +1 -0
  615. package/dist/types/transforms/sort.d.ts +31 -0
  616. package/dist/types/transforms/sort.js +14 -0
  617. package/dist/types/transforms/stack.d.ts +64 -0
  618. package/dist/types/transforms/stack.js +12 -0
  619. package/dist/types/transforms/window.d.ts +29 -0
  620. package/dist/types/transforms/window.js +1 -0
  621. package/dist/utils/ContinuousDomain.d.ts +12 -0
  622. package/dist/utils/ContinuousDomain.js +19 -0
  623. package/dist/utils/Interpolation.d.ts +26 -0
  624. package/dist/utils/Interpolation.js +65 -0
  625. package/dist/utils/{color.d.ts → color/contrast.d.ts} +0 -5
  626. package/dist/utils/color/contrast.js +40 -0
  627. package/dist/utils/color/cssColor.d.ts +4 -0
  628. package/dist/utils/color/cssColor.js +77 -0
  629. package/dist/utils/color/index.d.ts +3 -0
  630. package/dist/utils/color/index.js +3 -0
  631. package/dist/utils/color/ramp.d.ts +17 -0
  632. package/dist/utils/color/ramp.js +110 -0
  633. package/dist/utils/grouping.d.ts +9 -5
  634. package/dist/utils/grouping.js +19 -10
  635. package/dist/utils/merge.d.ts +7 -0
  636. package/dist/utils/merge.js +17 -0
  637. package/dist/utils/opacity.d.ts +9 -0
  638. package/dist/utils/opacity.js +38 -0
  639. package/dist/utils/symbol.d.ts +31 -0
  640. package/dist/utils/symbol.js +92 -0
  641. package/docs/architecture.md +137 -0
  642. package/docs/chrome.md +68 -0
  643. package/docs/composer.md +53 -0
  644. package/docs/concepts.md +99 -0
  645. package/docs/development.md +94 -0
  646. package/docs/facets.md +69 -0
  647. package/docs/geo.md +151 -0
  648. package/docs/getting-started.md +79 -0
  649. package/docs/legend.md +106 -0
  650. package/docs/markers.md +106 -0
  651. package/docs/plots.md +158 -0
  652. package/docs/scales.md +78 -0
  653. package/docs/state.md +71 -0
  654. package/docs/styles-and-segments.md +215 -0
  655. package/docs/theming.md +215 -0
  656. package/docs/timeline.md +94 -0
  657. package/docs/tooltip-and-hover.md +80 -0
  658. package/docs/transforms-and-statistics.md +88 -0
  659. package/examples/BarValues.svelte +14 -0
  660. package/examples/CustomTooltip.svelte +37 -0
  661. package/examples/Facets.svelte +15 -0
  662. package/examples/LegendReader.svelte +8 -0
  663. package/examples/LegendToggle.svelte +25 -0
  664. package/examples/ResponsiveLine.svelte +37 -0
  665. package/examples/Segments.svelte +17 -0
  666. package/examples/TimelinePlayer.svelte +20 -0
  667. package/examples/Tooltip.svelte +19 -0
  668. package/examples/TooltipCard.svelte +86 -0
  669. package/examples/data.ts +12 -0
  670. package/llms-full.txt +114 -0
  671. package/llms.txt +49 -0
  672. package/package.json +41 -5
  673. package/dist/charts/BaseChart.svelte +0 -149
  674. package/dist/charts/BaseChart.svelte.d.ts +0 -47
  675. package/dist/charts/bar/Chart.svelte +0 -110
  676. package/dist/charts/bar/Chart.svelte.d.ts +0 -26
  677. package/dist/charts/container/ChartContainer.svelte +0 -137
  678. package/dist/charts/container/ChartContainer.svelte.d.ts +0 -16
  679. package/dist/charts/heatmap/Chart.svelte +0 -114
  680. package/dist/charts/line/Chart.svelte +0 -112
  681. package/dist/charts/line/Chart.svelte.d.ts +0 -26
  682. package/dist/charts/pyramid/Chart.svelte +0 -134
  683. package/dist/charts/pyramid/Chart.svelte.d.ts +0 -30
  684. package/dist/charts/scatter/Chart.svelte +0 -95
  685. package/dist/charts/scatter/Chart.svelte.d.ts +0 -28
  686. package/dist/layout/coordinates/margins.d.ts +0 -16
  687. package/dist/layout/coordinates/margins.js +0 -11
  688. package/dist/layout/legend/interaction.svelte.d.ts +0 -15
  689. package/dist/layout/legend/interaction.svelte.js +0 -32
  690. package/dist/layout/plot/BasePlotLayout.svelte +0 -332
  691. package/dist/layout/plot/BasePlotLayout.svelte.d.ts +0 -122
  692. package/dist/layout/plot/margins.d.ts +0 -18
  693. package/dist/layout/plot/margins.js +0 -15
  694. package/dist/layout/plot/measureText.d.ts +0 -4
  695. package/dist/layout/plot/measureText.js +0 -19
  696. package/dist/layout/tooltip/TooltipLayout.svelte +0 -51
  697. package/dist/layout/tooltip/TooltipLayout.svelte.d.ts +0 -45
  698. package/dist/layout/tooltip/controller.svelte.d.ts +0 -61
  699. package/dist/layout/tooltip/controller.svelte.js +0 -173
  700. package/dist/layout/tooltip/hover.svelte.d.ts +0 -7
  701. package/dist/layout/tooltip/hover.svelte.js +0 -28
  702. package/dist/layout/tooltip/resolveTooltipPlacement.d.ts +0 -24
  703. package/dist/layout/tooltip/resolveTooltipPlacement.js +0 -49
  704. package/dist/layout/tooltip/utils.d.ts +0 -49
  705. package/dist/layout/tooltip/utils.js +0 -82
  706. package/dist/markers/CellMarker.svelte +0 -21
  707. package/dist/markers/ContourClipMarker.svelte +0 -77
  708. package/dist/markers/ContourMarker.svelte +0 -28
  709. package/dist/markers/DeltaMarker.svelte +0 -109
  710. package/dist/markers/DotMarker.svelte +0 -70
  711. package/dist/markers/GeoFeaturesMarker.svelte +0 -19
  712. package/dist/markers/GeoHoverMarker.svelte +0 -25
  713. package/dist/markers/GraticuleMarker.svelte +0 -18
  714. package/dist/markers/HoverMarker.svelte +0 -212
  715. package/dist/markers/LineMarker.svelte +0 -19
  716. package/dist/markers/LinkMarker.svelte +0 -42
  717. package/dist/markers/PeakMarker.svelte +0 -80
  718. package/dist/markers/PeakMarker.svelte.d.ts +0 -13
  719. package/dist/markers/RuleMarker.svelte +0 -24
  720. package/dist/markers/SphereMarker.svelte +0 -15
  721. package/dist/markers/TextMarker.svelte +0 -62
  722. package/dist/markers/VectorMarker.svelte +0 -20
  723. package/dist/plots/bar/ValueLabels.svelte +0 -149
  724. package/dist/plots/bar/ValueLabels.svelte.d.ts +0 -58
  725. package/dist/plots/bar/buildBarMarkers.d.ts +0 -27
  726. package/dist/plots/bar/buildBarMarkers.js +0 -151
  727. package/dist/plots/bar/hoverPoints.d.ts +0 -15
  728. package/dist/plots/bar/hoverPoints.js +0 -37
  729. package/dist/plots/bar/layout.svelte.d.ts +0 -42
  730. package/dist/plots/bar/layout.svelte.js +0 -182
  731. package/dist/plots/geo/buildGeoMarkers.d.ts +0 -33
  732. package/dist/plots/geo/buildGeoMarkers.js +0 -47
  733. package/dist/plots/heatmap/ValueLabels.svelte +0 -56
  734. package/dist/plots/heatmap/buildCellMarkers.d.ts +0 -21
  735. package/dist/plots/heatmap/buildCellMarkers.js +0 -25
  736. package/dist/plots/line/ValueLabels.svelte +0 -269
  737. package/dist/plots/line/ValueLabels.svelte.d.ts +0 -52
  738. package/dist/plots/line/buildGapMarkers.d.ts +0 -28
  739. package/dist/plots/line/buildGapMarkers.js +0 -74
  740. package/dist/plots/line/buildLineMarkers.d.ts +0 -16
  741. package/dist/plots/line/buildLineMarkers.js +0 -56
  742. package/dist/plots/line/valueLabelMargin.d.ts +0 -19
  743. package/dist/plots/line/valueLabelMargin.js +0 -65
  744. package/dist/plots/pyramid/ValueLabels.svelte +0 -139
  745. package/dist/plots/pyramid/ValueLabels.svelte.d.ts +0 -56
  746. package/dist/plots/pyramid/buildPyramidBarMarkers.d.ts +0 -26
  747. package/dist/plots/pyramid/buildPyramidBarMarkers.js +0 -72
  748. package/dist/plots/scatter/ValueLabels.svelte +0 -163
  749. package/dist/plots/scatter/ValueLabels.svelte.d.ts +0 -52
  750. package/dist/plots/scatter/buildScatterMarkers.d.ts +0 -12
  751. package/dist/plots/scatter/buildScatterMarkers.js +0 -36
  752. package/dist/plots/scatter/resolveRadiusPaddedDomain.d.ts +0 -10
  753. package/dist/plots/scatter/resolveRadiusPaddedDomain.js +0 -23
  754. package/dist/plots/utils/categoricalAxisMargin.d.ts +0 -14
  755. package/dist/plots/utils/categoricalAxisMargin.js +0 -20
  756. package/dist/plots/utils/declutter.d.ts +0 -120
  757. package/dist/plots/utils/declutter.js +0 -240
  758. package/dist/plots/utils/labelOverflow.svelte.d.ts +0 -107
  759. package/dist/plots/utils/labelOverflow.svelte.js +0 -257
  760. package/dist/plots/utils/legendDisabled.d.ts +0 -27
  761. package/dist/plots/utils/legendDisabled.js +0 -68
  762. package/dist/plots/utils/valueLabelMargin.d.ts +0 -67
  763. package/dist/plots/utils/valueLabelMargin.js +0 -60
  764. package/dist/types/charts/common.d.ts +0 -22
  765. package/dist/types/charts/props.d.ts +0 -50
  766. package/dist/types/markers/base.d.ts +0 -45
  767. package/dist/types/markers/line.d.ts +0 -34
  768. package/dist/types/markers/props.d.ts +0 -11
  769. package/dist/types/plots/data/scatter.d.ts +0 -13
  770. package/dist/utils/color.js +0 -141
  771. package/dist/utils/delta.d.ts +0 -12
  772. package/dist/utils/delta.js +0 -69
  773. package/dist/utils/edgeAwareAnchor.d.ts +0 -34
  774. package/dist/utils/edgeAwareAnchor.js +0 -60
  775. package/dist/utils/interpolate.d.ts +0 -31
  776. package/dist/utils/interpolate.js +0 -71
  777. /package/dist/types/{charts/common.js → layout/box.js} +0 -0
  778. /package/dist/types/{charts/interpolate.js → layout/composer.js} +0 -0
  779. /package/dist/types/{charts/props.js → layout/figure.js} +0 -0
  780. /package/dist/types/{markers/base.js → layout/grid.js} +0 -0
  781. /package/dist/types/{markers/line.js → layout/hover.js} +0 -0
  782. /package/dist/types/{markers/props.js → layout/mapping.js} +0 -0
  783. /package/dist/types/{plots/data/scatter.js → layout/plot.js} +0 -0
  784. /package/dist/types/{viewport.js → layout/statistics/bollinger.js} +0 -0
  785. /package/dist/types/{charts/interpolate.d.ts → misc/easing.d.ts} +0 -0
  786. /package/dist/types/{viewport.d.ts → misc/viewport.d.ts} +0 -0
@@ -1,14 +1,12 @@
1
1
  import type { Snippet } from 'svelte';
2
- import type { SvelteMap } from 'svelte/reactivity';
3
2
  import type { SymbolType, LineStyle } from '../plots/constants';
4
3
  import type { StrokeStyle, DotStyle } from '../plots/styling';
5
- export type LegendSectionType = 'discrete' | 'continuous';
4
+ import type { ColorScaleConfig, OpacityScaleConfig, SymbolScaleConfig } from './scales';
5
+ export type LegendSectionType = 'discrete' | 'continuous' | 'size' | 'symbol';
6
6
  /**
7
- * Style applied to whatever a legend interaction has turned "off" — a
8
- * toggled-off discrete series, or a datapoint/cell/feature outside an active
9
- * continuous range filter. `opacity` is a blanket convenience: any
10
- * `*Opacity` field a consumer doesn't set falls back to it, so
11
- * `{ opacity: 0.1 }` alone is enough to read as "disabled" everywhere.
7
+ * Style for whatever a legend has turned off: a toggled-off series, or a row
8
+ * outside a continuous range. `opacity` is the fallback for every
9
+ * `*Opacity` field left unset.
12
10
  */
13
11
  export type LegendDisabledStyle = {
14
12
  opacity?: number;
@@ -17,10 +15,17 @@ export type LegendDisabledStyle = {
17
15
  fill?: string;
18
16
  fillOpacity?: number;
19
17
  };
20
- /** What a legend toggle does to a series once it's off: `'style'` dims it in place, `'omit'` removes it from the plot entirely. */
18
+ /**
19
+ * What a legend toggle does to a series once it's off: `'dim'` dims it in
20
+ * place (styled by `style`), `'hide'` makes it fully transparent while the
21
+ * axes keep its range, `'omit'` removes it from the plot entirely, rescaling
22
+ * the axes to what's left.
23
+ */
21
24
  export type LegendDisabledAction = {
22
- mode: 'style';
25
+ mode: 'dim';
23
26
  style?: LegendDisabledStyle;
27
+ } | {
28
+ mode: 'hide';
24
29
  } | {
25
30
  mode: 'omit';
26
31
  };
@@ -29,16 +34,17 @@ export type LegendItem = {
29
34
  label?: string;
30
35
  color?: string;
31
36
  symbol?: SymbolType;
37
+ /** Whether the symbol is filled, or drawn as an outline. Defaults to `true`. */
38
+ filled?: boolean;
32
39
  opacity?: number;
33
40
  lineStyle?: LineStyle;
34
- /** Initial toggled-off state (uncontrolled — the user can still click it back on). */
41
+ /** Initial toggled-off state (uncontrolled - the user can still click it back on). */
35
42
  disabled?: boolean;
36
43
  };
37
44
  /**
38
- * How a discrete section's items flow. `'vertical'` stacks them in a
39
- * `columns`-wide grid; `'horizontal'` flows them left to right, paginating
40
- * past `maxRows` (default 1) with prev/next arrows; `'flex'` also flows them
41
- * left to right, but wraps onto as many rows as it takes instead of paginating.
45
+ * How a discrete section's items flow: `'vertical'` in a `columns`-wide grid,
46
+ * `'horizontal'` in rows paginated past `maxRows` (default 1), `'flex'` in
47
+ * wrapping rows.
42
48
  */
43
49
  export type LegendItemsLayout = {
44
50
  type: 'vertical';
@@ -68,14 +74,7 @@ export type LegendHandleContext = {
68
74
  };
69
75
  /** Custom drag-handle renderer for an interactive continuous section. */
70
76
  export type LegendHandleSnippet = Snippet<[LegendHandleContext]>;
71
- /**
72
- * Item look for an interactive discrete section. `'badge'` (the default once
73
- * `interactive.enabled` is on) draws each item as a pill filled with its
74
- * series color, with the symbol icon and label auto-contrasted against that
75
- * fill and an eye icon on the right — crossed out once the item is toggled
76
- * off. `'basic'` keeps the plain swatch + label, same as a non-interactive
77
- * section.
78
- */
77
+ /** Item look of an interactive discrete section: `'badge'` (default) pills with an eye toggle, or `'basic'` swatches. */
79
78
  export type LegendInteractiveStyle = 'badge' | 'basic';
80
79
  /** Click-to-toggle configuration for a discrete section: whether it's on, how toggled items look, and the style applied to a toggled-off one. */
81
80
  export type DiscreteInteractiveConfig = {
@@ -83,7 +82,7 @@ export type DiscreteInteractiveConfig = {
83
82
  enabled?: boolean;
84
83
  /** Item look while `enabled`. Defaults to `'badge'`. */
85
84
  legendStyle?: LegendInteractiveStyle;
86
- /** What happens to a toggled-off item. Defaults to `{ mode: 'style' }`. */
85
+ /** What happens to a toggled-off item. Defaults to `{ mode: 'dim' }`. */
87
86
  disabled?: LegendDisabledAction;
88
87
  /** Shows the symbol icon inside a `'badge'` pill. Defaults to `true`; ignored by `'basic'`, which always shows it. */
89
88
  showIcon?: boolean;
@@ -102,11 +101,7 @@ export type DiscreteLegendSection = {
102
101
  export type ContinuousInteractiveConfig = {
103
102
  /** Turns drag-to-narrow on, adding lo/hi handles at the edges of the excluded range. */
104
103
  enabled?: boolean;
105
- /**
106
- * How the color ramp responds to a narrowed range: `'rescale'` reprojects
107
- * it onto the new bounds, `'filter'` keeps the original domain and only
108
- * excludes out-of-range values. Defaults to `'filter'`.
109
- */
104
+ /** `'rescale'` refits the color ramp to the narrowed range; `'filter'` (default) keeps it and hides what's outside. */
110
105
  mode?: 'rescale' | 'filter';
111
106
  /** Style applied to the excluded (narrowed-out) range. Defaults to `{ opacity: cfg.legend.disabledOpacity }`. */
112
107
  disabledStyle?: LegendDisabledStyle;
@@ -121,38 +116,244 @@ export type ContinuousLegendSection = {
121
116
  max: number;
122
117
  colorMin?: string;
123
118
  colorMax?: string;
119
+ /** A named ramp (e.g. `'turbo'`) or 2+ colors to draw the bar in, over `colorMin`/`colorMax`. */
120
+ scheme?: string | string[];
121
+ /** Splits an array `scheme` into two halves meeting at this value (diverging). */
122
+ pivot?: number;
123
+ /** Draws the bar in one color (`colorMin`, the text color by default) fading across this opacity range, instead of a color ramp. */
124
+ opacity?: [number, number];
124
125
  ticks?: number[];
125
126
  width?: number;
126
127
  format?: (v: number) => string;
127
128
  interactive?: ContinuousInteractiveConfig;
128
129
  };
129
- export type LegendSection = DiscreteLegendSection | ContinuousLegendSection;
130
130
  /**
131
- * Shared legend-interaction state for cross-cutting legend → plot wiring.
132
- *
133
- * {@link BaseChart} provides one store via context (mirrors {@link HoverStore});
134
- * `DiscreteSection`/`ContinuousSection` write to it on click/drag, and every
135
- * plot kind (line/bar/pyramid/heatmap/geo) reads the same instance to know
136
- * what to dim. A standalone legend/plot with no provider falls back to its
137
- * own private store via `createLegendInteraction`.
131
+ * A continuous size scale - the `r` channel of a plot's dots: a few dots of
132
+ * the radius each value draws at, its value under each. `domain` maps to
133
+ * `range` (px) on a square-root scale, so a dot's area follows its value.
134
+ */
135
+ export type SizeLegendSection = {
136
+ type: 'size';
137
+ title?: string;
138
+ columns?: number;
139
+ domain: [number, number];
140
+ range: [number, number];
141
+ /** The values shown, one dot each. Defaults to a few round values across `domain`. */
142
+ values?: number[];
143
+ /** The dots' color. Defaults to the text color. */
144
+ color?: string;
145
+ /** Whether the dots are filled, or drawn as rings. Defaults to `true`. */
146
+ filled?: boolean;
147
+ /** The dots' shape. Defaults to `'circle'`. */
148
+ symbol?: SymbolType;
149
+ /** How each value reads. Defaults to the axes' own format (`axis.locale`, `axis.compactDisplay`). */
150
+ format?: (v: number) => string;
151
+ };
152
+ /**
153
+ * A categorical shape scale - the `symbol` channel of a plot's dots: each
154
+ * category next to the shape it draws as. Unlike a discrete section, its
155
+ * items name categories, not series, so they never toggle.
156
+ */
157
+ export type SymbolLegendSection = {
158
+ type: 'symbol';
159
+ title?: string;
160
+ columns?: number;
161
+ /** Item flow direction, as in a discrete section. */
162
+ layout?: LegendItemsLayout;
163
+ items: {
164
+ name: string;
165
+ label?: string;
166
+ symbol: SymbolType;
167
+ }[];
168
+ /** The shapes' color. Defaults to the text color. */
169
+ color?: string;
170
+ /** Whether the shapes are filled, or drawn as outlines. Defaults to `true`. */
171
+ filled?: boolean;
172
+ };
173
+ export type LegendSection = DiscreteLegendSection | ContinuousLegendSection | SizeLegendSection | SymbolLegendSection;
174
+ /** The narrowed range of an interactive continuous section: rows outside it dim, or the ramp refits to it. */
175
+ export type LegendRange = {
176
+ min: number;
177
+ max: number;
178
+ mode: 'rescale' | 'filter';
179
+ disabledStyle: LegendDisabledStyle;
180
+ };
181
+ /** How a series draws, as a legend shows it: the plot's own mark for it. */
182
+ export type LegendMark = 'line' | 'dot' | 'area' | 'bar' | 'cell' | 'rect' | 'geo';
183
+ /**
184
+ * What a plot draws that a legend can show - registered on the figure's
185
+ * `LegendState` as the plot resolves: a series (its name, color and how it
186
+ * draws), a segment or marker that names itself on the legend (`'mark'`), a
187
+ * continuous color scale (the domain its colors span), the opacity scale
188
+ * its marks fade across, the size scale its
189
+ * dots' `r` channel draws with, or the shapes its dots' `symbol` channel
190
+ * draws each category as.
191
+ */
192
+ export type LegendEntry = {
193
+ type: 'series' | 'mark';
194
+ name: string;
195
+ label?: string;
196
+ color?: string;
197
+ mark?: LegendMark;
198
+ symbol?: SymbolType;
199
+ filled?: boolean;
200
+ lineStyle?: LineStyle;
201
+ } | {
202
+ type: 'size';
203
+ channel: 'r';
204
+ title?: string;
205
+ domain: [number, number];
206
+ range: [number, number];
207
+ color?: string;
208
+ filled: boolean;
209
+ symbol?: SymbolType;
210
+ } | {
211
+ type: 'symbol';
212
+ channel: 'symbol';
213
+ title?: string;
214
+ items: {
215
+ name: string;
216
+ symbol: SymbolType;
217
+ }[];
218
+ color?: string;
219
+ filled: boolean;
220
+ } | {
221
+ type: 'scale';
222
+ channel: 'color';
223
+ title?: string;
224
+ min: number;
225
+ max: number;
226
+ colorMin?: string;
227
+ colorMax?: string;
228
+ scheme?: string | string[];
229
+ pivot?: number;
230
+ } | {
231
+ type: 'opacity';
232
+ channel: 'opacity';
233
+ title?: string;
234
+ min: number;
235
+ max: number;
236
+ /** The opacity at `min` and at `max`. */
237
+ opacityMin: number;
238
+ opacityMax: number;
239
+ /** The color the marks draw in. Defaults to the text color. */
240
+ color?: string;
241
+ };
242
+ /**
243
+ * How a segment or marker shows on its plot's automatic legend: its label, or
244
+ * the item itself. What the item leaves out - its color, its symbol, its line
245
+ * style - comes from how the segment or marker draws.
246
+ */
247
+ export type MarkLegend = string | (Omit<LegendItem, 'name' | 'disabled'> & {
248
+ label: string;
249
+ });
250
+ /** What a legend reads each automatic section from: the series, or the channel a scale encodes. */
251
+ export type LegendChannel = 'series' | 'color' | 'opacity' | 'size' | 'symbol';
252
+ /**
253
+ * How to adjust one automatic section: its own configuration, minus what the
254
+ * plots compute for it. An entry with a `match` (one, or several in a list) adjusts
255
+ * only the sections titled so - by the field or function name, or as the
256
+ * legend shows it - and one without adjusts all of that channel's.
257
+ */
258
+ export type LegendOverride<TSection extends {
259
+ type: string;
260
+ }, TComputed extends string> = (Omit<TSection, 'type' | TComputed> & {
261
+ match?: string;
262
+ }) | (Omit<TSection, 'type' | TComputed> & {
263
+ match?: string;
264
+ })[];
265
+ /**
266
+ * How to adjust what a `color` channel draws: the continuous section of a
267
+ * numeric one, or the discrete section of series a categorical one makes. It
268
+ * takes what both sections share, plus each one's own - what a section lacks
269
+ * is ignored. `interactive` takes either section's options.
270
+ */
271
+ export type ColorOverride = Omit<ContinuousLegendSection, 'type' | 'min' | 'max' | 'colorMin' | 'colorMax' | 'scheme' | 'pivot' | 'opacity' | 'interactive'> & Pick<DiscreteLegendSection, 'layout' | 'navButton'> & {
272
+ interactive?: ContinuousInteractiveConfig & DiscreteInteractiveConfig;
273
+ /** Adjusts only the continuous section titled so. */
274
+ match?: string;
275
+ };
276
+ /**
277
+ * What a figure adds to, or changes in, its automatic legend, keeping what
278
+ * its plots read as: `items` after the plots' own series, in the same
279
+ * section, `sections` after the automatic ones, and one key per channel to
280
+ * adjust the section that channel draws - `series` the discrete section,
281
+ * `color` and `opacity` the continuous ones, `size` and `symbol` theirs. A
282
+ * categorical `color` is the series, so `color` adjusts the discrete section
283
+ * too (`series` wins where both set the same). Only `color` can make a
284
+ * ramp `interactive`, and only its first ramp is.
138
285
  */
139
- export type LegendInteractionStore = {
140
- /** Legend item name → action to apply. Presence in the map means "disabled". */
141
- disabledSeries: SvelteMap<string, LegendDisabledAction>;
142
- /**
143
- * The active drag state of the (first) interactive continuous section, or
144
- * `null` when none is interactive or the user hasn't narrowed it yet (full
145
- * range — nothing hidden).
146
- */
147
- continuousRange: {
148
- min: number;
149
- max: number;
150
- mode: 'rescale' | 'filter';
151
- disabledStyle: LegendDisabledStyle;
152
- } | null;
153
- };
154
- /** Read-only view of which series a legend has toggled off, resolved from {@link BaseChart}'s legend-interaction store. */
155
- export type LegendPlotContext = {
156
- disabledSeries: ReadonlySet<string>;
157
- isDisabled: (name: string) => boolean;
286
+ export type LegendExtension = {
287
+ items?: LegendItem[];
288
+ sections?: LegendSection[];
289
+ series?: Omit<DiscreteLegendSection, 'type' | 'items'>;
290
+ color?: ColorOverride | ColorOverride[];
291
+ opacity?: LegendOverride<ContinuousLegendSection, 'min' | 'max' | 'colorMin' | 'colorMax' | 'scheme' | 'pivot' | 'opacity' | 'interactive'>;
292
+ size?: LegendOverride<SizeLegendSection, 'domain' | 'range' | 'color' | 'filled' | 'symbol'>;
293
+ symbol?: LegendOverride<SymbolLegendSection, 'items' | 'color' | 'filled'>;
294
+ };
295
+ /** A segment or marker as the legend reads it: whether it names itself, the channels it draws with and the colors it draws in. */
296
+ export type LegendSource = {
297
+ type?: string;
298
+ series?: string;
299
+ data?: unknown[];
300
+ color?: unknown;
301
+ opacity?: unknown;
302
+ r?: unknown;
303
+ symbol?: unknown;
304
+ scales?: {
305
+ color?: ColorScaleConfig;
306
+ opacity?: OpacityScaleConfig;
307
+ symbol?: SymbolScaleConfig;
308
+ };
309
+ legend?: MarkLegend;
310
+ fill?: unknown;
311
+ stroke?: unknown;
312
+ styles?: {
313
+ fill?: unknown;
314
+ stroke?: unknown;
315
+ dotFill?: unknown;
316
+ dotStroke?: unknown;
317
+ dotSymbol?: unknown;
318
+ strokeDasharray?: unknown;
319
+ };
320
+ };
321
+ /** What a plot hands the legend to read its entries from. */
322
+ export type LegendPlot = {
323
+ resolvedSeries?: {
324
+ name: string;
325
+ }[];
326
+ colorForSeries?: (name: string) => string;
327
+ markers?: LegendSource[];
328
+ segments?: Record<string, LegendSource[] | undefined>;
329
+ /** The `[min, max]` a plot-level color ramp spans, when the plot has no `color` channel to read it from. */
330
+ colorDomain?: [number, number];
331
+ /** The `[min, max]` of a plot-level numeric `opacity` channel. */
332
+ opacityDomain?: [number, number];
333
+ channels?: {
334
+ r?: {
335
+ source?: unknown;
336
+ };
337
+ symbol?: {
338
+ source?: unknown;
339
+ };
340
+ color?: {
341
+ source?: unknown;
342
+ };
343
+ opacity?: {
344
+ source?: unknown;
345
+ };
346
+ };
347
+ scales?: {
348
+ r?: {
349
+ domain?: [number, number];
350
+ range?: [number, number];
351
+ };
352
+ color?: {
353
+ domain?: unknown;
354
+ scheme?: unknown;
355
+ pivot?: number;
356
+ };
357
+ opacity?: OpacityScaleConfig;
358
+ };
158
359
  };
@@ -0,0 +1,68 @@
1
+ import type { Accessor } from '../plots/data/common';
2
+ export type AxisValue = number | string | Date;
3
+ /**
4
+ * Every channel a plot maps from its rows, and what its accessor yields per
5
+ * row. Every channel is available on every plot kind; a kind with no use for
6
+ * one ignores it.
7
+ */
8
+ export type ChannelValue = {
9
+ /** Horizontal position - configure its axis via `scales.x`. */
10
+ x: AxisValue;
11
+ /** Vertical position - configure its axis via `scales.y`. */
12
+ y: AxisValue;
13
+ /**
14
+ * Splits `data` into one series per distinct value - the structural
15
+ * grouping key. Defaults to `color` when omitted, so a single `color`
16
+ * accessor groups *and* colors series; pass both to split by one field
17
+ * while coloring by another.
18
+ */
19
+ grouping: unknown;
20
+ /**
21
+ * Color value - splits `data` into one series per distinct value when
22
+ * `grouping` is unset. Configure the ramp via `scales.color`.
23
+ */
24
+ color: unknown;
25
+ /** Continuous or categorical opacity value - configure the ramp via `scales.opacity`. */
26
+ opacity: unknown;
27
+ /** Categorical shape value - configure the mapping via `scales.symbol`. */
28
+ symbol: unknown;
29
+ /**
30
+ * Radius - bound to an auto sqrt scale, so *area* ends up proportional to
31
+ * the raw values (an already-scaled value gets double-scaled). A literal
32
+ * number is a fixed pixel radius instead. Configure via `scales.r`.
33
+ */
34
+ r: number;
35
+ /** Vector/spike magnitude - a literal number is a fixed pixel length. Configure via `scales.length`. */
36
+ length: number;
37
+ };
38
+ /** Every channel a plot maps from its rows. */
39
+ export type ChannelName = keyof ChannelValue;
40
+ /** The position channels, each bound to the one axis scale every mark shares. */
41
+ export type AxisChannelName = 'x' | 'y';
42
+ /**
43
+ * The channels each consumer scales on its own - a plot's `scales.color` and
44
+ * a marker's own `scales.color` can disagree on purpose.
45
+ */
46
+ export type IndependentChannelName = 'color' | 'grouping' | 'opacity' | 'symbol';
47
+ /** The size channels, which also take a literal number as a fixed pixel size that bypasses their scale. */
48
+ export type SizeChannelName = 'r' | 'length';
49
+ /** Every channel as a plot prop: a field key or accessor function (or a literal size, for a size channel). */
50
+ export type ChannelAccessors<TData extends Record<string, unknown>> = {
51
+ [K in keyof ChannelValue]?: Accessor<TData, ChannelValue[K]> | (K extends SizeChannelName ? number : never);
52
+ };
53
+ /** One channel's own resolved data accessor - mirrors svelteplot's own `ChannelAccessor`. */
54
+ export type ResolvedChannel<TData, TValue = AxisValue> = {
55
+ accessor: (row: TData) => TValue;
56
+ /** The channel as given - a field key or a function - unset when the channel falls back to a default. */
57
+ source?: string | ((row: TData) => TValue);
58
+ };
59
+ /**
60
+ * Every channel as the "mapping" phase resolves it. `x`/`y` are always
61
+ * resolved; any other channel only when its prop is set, and a size channel
62
+ * stays a literal number when given one.
63
+ */
64
+ export type ResolvedChannels<TData> = {
65
+ [K in keyof ChannelValue]?: ResolvedChannel<TData, ChannelValue[K]> | (K extends SizeChannelName ? number : never);
66
+ } & {
67
+ [K in AxisChannelName]: ResolvedChannel<TData, ChannelValue[K]>;
68
+ };
@@ -0,0 +1,41 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { TimeValue } from './timeline';
3
+ import type { GridPlacement } from './grid';
4
+ import type { MarginConfig, TooltipConfig } from '../plots/props';
5
+ /** Where one cell sits among the slices: the timeline step and the facet it shows. */
6
+ export type SlicePlace = {
7
+ time?: TimeValue;
8
+ facet?: {
9
+ facetValue: string;
10
+ row?: string;
11
+ col?: string;
12
+ };
13
+ };
14
+ /** What `Plot` hands each core it renders: one slice's rows and box. */
15
+ export type PlotCellContext<TRow extends Record<string, unknown>, TScales extends object = object> = {
16
+ /** This slice's rows - `undefined` when the plot draws from pre-built `series`. */
17
+ data: TRow[] | undefined;
18
+ width: number;
19
+ height: number;
20
+ /** Shared margin for every facet, when the facet config sizes one. */
21
+ margins?: MarginConfig;
22
+ tooltip?: TooltipConfig<TRow>;
23
+ /** Scales every slice shares, to merge under the author's own. */
24
+ scales?: TScales;
25
+ /** This slice's facet panel, as a {@link Pipeline.runData} over every panel resolved it. */
26
+ panel?: object;
27
+ /** Whether any row - the plot's own or a marker's - belongs in this slice; rows without a slicing field belong in all. */
28
+ keep: (row: TRow) => boolean;
29
+ };
30
+ export type PlotCellSnippet<TRow extends Record<string, unknown>, TScales extends object = object> = Snippet<[PlotCellContext<TRow, TScales>]>;
31
+ /** What `Plot` reads off a plot kind's core props. */
32
+ export type PlotCoreBase = GridPlacement & {
33
+ width: number;
34
+ height: number;
35
+ data?: unknown;
36
+ markers?: {
37
+ type: string;
38
+ }[];
39
+ scales?: object;
40
+ margins?: MarginConfig;
41
+ };
@@ -1,18 +1,88 @@
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];
2
79
  /**
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.
80
+ * Scale overrides for one plot axis - svelteplot's `ScaleOptions` and
81
+ * `XScaleOptions`, plus this package's own fields. `TData` is the row type
82
+ * {@link AxisScale.sort} compares.
13
83
  */
14
84
  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';
85
+ type?: 'auto' | ContinuousScaleType | TemporalScaleType | DiscreteScaleType | SequentialScaleType | DivergingScaleType | BinnedScaleType;
16
86
  domain?: (number | string | boolean | Date | null)[];
17
87
  range?: (number | string | boolean | Date | null)[];
18
88
  reverse?: boolean;
@@ -37,6 +107,8 @@ export type AxisScale<TData = Record<string, unknown>> = {
37
107
  strokeOpacity?: number;
38
108
  strokeDasharray?: string;
39
109
  };
110
+ /** Whether the axis' ticks and title draw: `'hidden'` keeps their space (so aligned panels stay aligned), `'none'` gives it back. Defaults to `'visible'`. */
111
+ axisDisplay?: 'visible' | 'hidden' | 'none';
40
112
  padding?: number;
41
113
  paddingInner?: number;
42
114
  paddingOuter?: number;
@@ -50,17 +122,13 @@ export type AxisScale<TData = Record<string, unknown>> = {
50
122
  tickPadding?: number;
51
123
  tickRotate?: number;
52
124
  tickFormat?: false | Intl.NumberFormatOptions | Intl.DateTimeFormatOptions | ((d: unknown, index: number, ticks: unknown[]) => string | string[]);
53
- seriesLayout?: 'overlap' | 'grouped' | 'stacked';
54
- seriesPadding?: number;
55
125
  };
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>;
126
+ /** Each {@link AxisChannelName}'s own scale-config shape - both use {@link AxisScale}. */
127
+ export type AxisChannelScaleConfig<TData = Record<string, unknown>> = {
128
+ [K in AxisChannelName]?: AxisScale<TData>;
66
129
  };
130
+ /** The `scales` prop of every axis-based plot kind. */
131
+ export type AxisBasedScalesConfig<TData = Record<string, unknown>> = AxisChannelScaleConfig<TData> & {
132
+ r?: RScaleConfig;
133
+ length?: LengthScaleConfig;
134
+ } & 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
+ };