@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,4 +1,7 @@
1
1
  import type { StrokeStyle, DotStyle, FontStyle, AreaStyle } from '../plots/styling';
2
+ import type { LineAnchor, SymbolType, TextAnchor } from '../plots/constants';
3
+ import type { PlotChromeEntry } from '../plots/props';
4
+ import type { EdgeTicksOptions } from '../layout/scales';
2
5
  export type TextStyle = {
3
6
  /** font-family */
4
7
  font: string;
@@ -13,17 +16,34 @@ export type TextStyle = {
13
16
  /** letter-spacing */
14
17
  spacing: string;
15
18
  };
16
- export type ChartConfig = {
19
+ /** How a chrome divider's line is drawn, as a CSS border style. */
20
+ export type DividerLineStyle = 'solid' | 'dashed' | 'dotted' | 'double';
21
+ export type PlotStylesConfig = {
17
22
  font: string;
18
23
  color: string;
19
24
  background: string;
20
- border: string;
21
25
  spacing: {
22
26
  headerPadding: string;
23
27
  legendPadding: string;
24
28
  captionPadding: string;
25
29
  bleed: string;
26
30
  };
31
+ /** The line every `'divider'` in a plot's chrome `order` draws. */
32
+ divider: {
33
+ color: string;
34
+ /** Line thickness, e.g. `'1px'`. */
35
+ width: string;
36
+ style: DividerLineStyle;
37
+ /** Space around the line, as a CSS `margin`. */
38
+ margin: string;
39
+ };
40
+ /** What a plot's or composer's chrome draws around it. */
41
+ chrome: {
42
+ /** The blocks, top to bottom, when a figure doesn't set its own `order` - see {@link PlotChromeEntry}. */
43
+ order: PlotChromeEntry[];
44
+ /** The space between the blocks of a row of the chrome, as a CSS length. */
45
+ rowGap: string;
46
+ };
27
47
  title: TextStyle;
28
48
  subtitle: TextStyle;
29
49
  caption: TextStyle;
@@ -40,6 +60,25 @@ export type ChartConfig = {
40
60
  swatchSize: string;
41
61
  /** Fallback opacity for a legend-disabled series/value when a section doesn't set its own style. */
42
62
  disabledOpacity: number;
63
+ /**
64
+ * Whether names read off the data show as words (`gdp_per_capita` as
65
+ * "Gdp per capita"): an item with no `label`, and the titles the
66
+ * automatic legend takes from field names. Display only - toggling
67
+ * still goes by the name itself.
68
+ */
69
+ pretty: boolean;
70
+ /**
71
+ * The automatic legend's series section, titled `text` once the legend
72
+ * shows other sections too - a size or shape scale, or sections it adds.
73
+ */
74
+ seriesTitle: {
75
+ enabled: boolean;
76
+ text: string;
77
+ };
78
+ /** A size section: `gap` is the room between its dots (CSS length). */
79
+ sizeScale: {
80
+ gap: string;
81
+ };
43
82
  /** Prev/next arrows shown when a `layout: { type: 'horizontal' }` discrete section overflows `maxRows`. */
44
83
  navButton: {
45
84
  background: string;
@@ -84,7 +123,7 @@ export type ChartConfig = {
84
123
  enabled: boolean;
85
124
  /** How many px of horizontal slack the two labels need between them before they're considered overlapping (and flipped). */
86
125
  margin: number;
87
- /** Rotation magnitude applied once overlapping — lo rotates by this amount, hi by its negation, so both still grow inward toward the bar instead of off its edges. */
126
+ /** Rotation magnitude applied once overlapping - lo rotates by this amount, hi by its negation, so both still grow inward toward the bar instead of off its edges. */
88
127
  rotate: string;
89
128
  };
90
129
  };
@@ -102,6 +141,10 @@ export type ChartConfig = {
102
141
  grid: boolean;
103
142
  locale: string;
104
143
  compactDisplay: 'short' | 'long';
144
+ edgeTicks: {
145
+ x: EdgeTicksOptions;
146
+ y: EdgeTicksOptions;
147
+ };
105
148
  };
106
149
  tooltip: {
107
150
  background: string;
@@ -113,8 +156,8 @@ export type ChartConfig = {
113
156
  };
114
157
  /**
115
158
  * Per-side plot margin. `'auto'` (the default) lets svelteplot size that
116
- * side to fit whatever it actually renders there — tick labels, an axis
117
- * title, rotated ticks — instead of clipping content or leaving unused
159
+ * side to fit whatever it actually renders there - tick labels, an axis
160
+ * title, rotated ticks - instead of clipping content or leaving unused
118
161
  * space. A number pins that side exactly, opting out of auto-sizing.
119
162
  */
120
163
  margins: {
@@ -123,20 +166,33 @@ export type ChartConfig = {
123
166
  bottom: number | 'auto';
124
167
  left: number | 'auto';
125
168
  };
169
+ /** Marker clipping to the plot's inner frame (see `FrameClip`). */
170
+ frameClip: {
171
+ /**
172
+ * How far (px) a clipped mark may reach past the frame before it's cut,
173
+ * so strokes and labels on the edge aren't shaved off. A number sets all
174
+ * four sides; a string takes CSS shorthand px values for 1-4 sides, e.g.
175
+ * `'4px'`, `'4px 8px'`, `'0 8px 4px'`, `'0 8px 4px 2px'`.
176
+ */
177
+ tolerance: number | string;
178
+ };
126
179
  /** Discrete categorical palette (grouped series). */
127
180
  palette: string[];
128
- /** Continuous gradient endpoints + on-cell label colour. */
181
+ /** Default shape cycle for the `symbol` channel, in order. */
182
+ symbols: SymbolType[];
183
+ /** Continuous gradient endpoints + on-cell label colour, plus the default opacity-channel range. */
129
184
  continuous: {
130
185
  min: string;
131
186
  max: string;
132
187
  labelColor: string;
188
+ opacityRange: [number, number];
133
189
  };
134
190
  /** Default line geometry. */
135
191
  line: {
136
192
  strokeWidth: number;
137
193
  dotRadius: number;
138
194
  /**
139
- * Default gap-fill bridge styling (`LinePlot`'s `styles.gaps`) — the
195
+ * Default gap-fill bridge styling (`LinePlot`'s `styles.gaps`) - the
140
196
  * fallback merged under whatever a gap zone's own `style` sets, the
141
197
  * same way `hover.rule`/`hover.dot` back every hover marker's style.
142
198
  */
@@ -144,40 +200,58 @@ export type ChartConfig = {
144
200
  stroke: StrokeStyle;
145
201
  dots: DotStyle;
146
202
  };
147
- /**
148
- * End-of-line value-label declutter geometry and connector styling —
149
- * `LinePlot`-specific, since only line charts spread colliding
150
- * end-point labels apart with elbow-routed leader lines.
151
- */
152
- valueLabels: {
153
- /** Shortest lane's distance (px) from the data point before a leader line bends. */
203
+ };
204
+ /** Default text-marker behavior. */
205
+ text: {
206
+ /** Geometry and connector of a decluttered text marker (`declutter`) - e.g. LinePlot's end-of-line value labels. */
207
+ declutter: {
208
+ /** Shortest lane's distance (px) from the point before a connector bends. */
154
209
  elbowGap: number;
155
- /** Extra distance (px) each subsequent lane sits out from the last. */
210
+ /** Extra distance (px) each further lane sits out from the last. */
156
211
  laneStep: number;
157
- /** Clearance (px) between the outermost lane and the label text it feeds into. */
212
+ /** Clearance (px) between the outermost lane and the label text. */
158
213
  labelGap: number;
159
- /** Default leader-line colour — overridable per-plot via `styles.values.strokeStyle`. */
160
- connectorColor: string;
161
- /** Default leader-line width — overridable per-plot via `styles.values.strokeStyle`. */
162
- connectorWidth: number;
214
+ /** Default connector stroke. */
215
+ connector: StrokeStyle;
163
216
  };
164
217
  };
165
218
  /** Default bar-mark styling. */
166
219
  bar: {
167
- /** Default gap-fill styling (`BarPlot`'s `styles.gaps`) — the fallback merged under whatever a gap zone's own `style` sets. */
220
+ /** Default gap-fill styling (`BarPlot`'s `styles.gaps`) - the fallback merged under whatever a gap zone's own `style` sets. */
168
221
  gap: AreaStyle;
169
- /** Fallback `scales.z.seriesPadding` (0–1) for 'grouped' series layout, when a plot doesn't set its own. */
222
+ /** Gap (0-1) between the bars of side-by-side series within one category, as a fraction of each bar's slice. */
170
223
  seriesPadding: number;
171
- /** Fallback gap (0–1) *between* category groups on BarPlot's own category axis, when a plot doesn't set its own `scales.x/y.paddingInner`. */
224
+ /** Fallback gap (0-1) *between* category groups on BarPlot's own category axis, when a plot doesn't set its own `scales.x/y.paddingInner`. */
172
225
  paddingInner: number;
173
- /** Fallback gap (0–1) before the first and after the last category group on BarPlot's own category axis, when a plot doesn't set its own `scales.x/y.paddingOuter`. */
226
+ /** Fallback gap (0-1) before the first and after the last category group on BarPlot's own category axis, when a plot doesn't set its own `scales.x/y.paddingOuter`. */
174
227
  paddingOuter: number;
175
228
  };
176
229
  /** Default pyramid-bar styling. */
177
230
  pyramid: {
178
- /** Default gap-fill styling (`PyramidPlot`'s `styles.gaps`) — the fallback merged under whatever a gap zone's own `style` sets. */
231
+ /** Default gap-fill styling (`PyramidPlot`'s `styles.gaps`) - the fallback merged under whatever a gap zone's own `style` sets. */
179
232
  gap: AreaStyle;
180
233
  };
234
+ /** Default area-plot styling. */
235
+ area: {
236
+ /** Fill opacity of every area marker that sets none of its own. */
237
+ fillOpacity: number;
238
+ };
239
+ /** Default histogram styling. */
240
+ histogram: {
241
+ /** Pixels taken off each side of every bar, so neighbouring bars leave a gap of twice this. */
242
+ inset: number;
243
+ /** Fill opacity of every bar, so a grouped histogram's bars behind another group's still show. */
244
+ fillOpacity: number;
245
+ };
246
+ /** Default box-plot styling. */
247
+ box: {
248
+ /** Fill opacity of every box that sets none of its own. */
249
+ fillOpacity: number;
250
+ /** Fallback gap (0-1) between the boxes of neighbouring categories, when a plot doesn't set its own `scales.x/y.paddingInner`. */
251
+ paddingInner: number;
252
+ /** Fallback gap (0-1) before the first and after the last box, when a plot doesn't set its own `scales.x/y.paddingOuter`. */
253
+ paddingOuter: number;
254
+ };
181
255
  /** Default scatter point geometry. */
182
256
  scatter: {
183
257
  dotRadius: number;
@@ -187,10 +261,74 @@ export type ChartConfig = {
187
261
  axisColor: string;
188
262
  activeColor: string;
189
263
  thickness: number;
264
+ /** Space between a plot (or a composition's panels) and its timeline, as a CSS length. */
265
+ gap: string;
266
+ /** The `'rule'` timeline beside a plot: a line with its steps written along it. */
267
+ rule: {
268
+ /** Font size of the steps, in px. */
269
+ fontSize: number;
270
+ /** Font size of the current step, in px. */
271
+ activeFontSize: number;
272
+ activeFontWeight: number | string;
273
+ /** Opacity of the steps other than the current one. */
274
+ labelOpacity: number;
275
+ /** Width of the line, in px. */
276
+ axisWidth: number;
277
+ axisOpacity: number;
278
+ };
279
+ /** The `'player'` timeline: a bar in the chrome with play, the current step, a slider and more. */
280
+ player: {
281
+ /** The controls it draws, in order, unless a timeline sets its own `player.controls`. */
282
+ controls: ('play' | 'value' | 'slider' | 'speed' | 'loop')[];
283
+ /** The speeds its speed control cycles through, as multiples of `stepDuration`. */
284
+ speeds: number[];
285
+ /** Milliseconds each step lasts at speed `1`. */
286
+ stepDuration: number;
287
+ background: string;
288
+ color: string;
289
+ /** CSS length. */
290
+ radius: string;
291
+ padding: string;
292
+ gap: string;
293
+ fontSize: string;
294
+ fontWeight: number | string;
295
+ /** Width reserved for the current step's text, so the slider doesn't shift as it changes. */
296
+ valueWidth: string;
297
+ /** The play and pause button. */
298
+ button: {
299
+ size: string;
300
+ background: string;
301
+ color: string;
302
+ hoverBackground: string;
303
+ radius: string;
304
+ };
305
+ /** The slider's line. */
306
+ track: {
307
+ height: string;
308
+ color: string;
309
+ fillColor: string;
310
+ radius: string;
311
+ };
312
+ /** The slider's handle. */
313
+ thumb: {
314
+ size: string;
315
+ color: string;
316
+ };
317
+ /** The speed and loop buttons. */
318
+ toggle: {
319
+ background: string;
320
+ color: string;
321
+ activeBackground: string;
322
+ activeColor: string;
323
+ radius: string;
324
+ fontSize: string;
325
+ padding: string;
326
+ };
327
+ };
190
328
  };
191
329
  /**
192
330
  * In-SVG hover highlight: crosshair rule, dot + value label, and the area
193
- * highlight — a restyled feature on `GeoPlot`, or an `areaX`/`areaY` band
331
+ * highlight - a restyled feature on `GeoPlot`, or an `areaX`/`areaY` band
194
332
  * on an axis-based plot's band scale.
195
333
  */
196
334
  hover: {
@@ -199,6 +337,15 @@ export type ChartConfig = {
199
337
  font: FontStyle;
200
338
  area: AreaStyle;
201
339
  };
340
+ /** The `delta` marker's label offset and anchor, per axis the delta is taken on. A marker's own `text` wins. */
341
+ delta: {
342
+ text: Record<'x' | 'y', {
343
+ dx: number;
344
+ dy: number;
345
+ lineAnchor: LineAnchor;
346
+ textAnchor: TextAnchor;
347
+ }>;
348
+ };
202
349
  facet: {
203
350
  /** Position badge shown in `carousel`/`paginated` facet modes. */
204
351
  indicator: {
@@ -220,7 +367,7 @@ export type ChartConfig = {
220
367
  };
221
368
  };
222
369
  /** Deep-partial input accepted by `setConfiguration`. */
223
- export type ChartConfigInput = DeepPartial<ChartConfig>;
370
+ export type PlotStylesConfigInput = DeepPartial<PlotStylesConfig>;
224
371
  type DeepPartial<T> = {
225
372
  [K in keyof T]?: T[K] extends (infer U)[] ? U[] : T[K] extends object ? DeepPartial<T[K]> : T[K];
226
373
  };
@@ -0,0 +1,24 @@
1
+ import type { Box } from '../../layout/margins/Box';
2
+ import type { MarginSide } from '../plots/props';
3
+ /** Where a box sits along one axis, next to a point: before it, centred on it, or after it. */
4
+ export type BoxAnchor = 'before' | 'middle' | 'after';
5
+ /** A {@link BoxAnchor} per axis. */
6
+ export type BoxAnchors = {
7
+ x: BoxAnchor;
8
+ y: BoxAnchor;
9
+ };
10
+ /** Where a box goes next to a point: the side it ends up on, per axis, and its offset from the point. */
11
+ export type BoxFlip = {
12
+ anchor: BoxAnchors;
13
+ dx: number;
14
+ dy: number;
15
+ };
16
+ /**
17
+ * A box placed around a point (its origin), and the plot edges that point
18
+ * can sit on: how far the box reaches past each of those edges is room the
19
+ * plot's margins keep for it - see `PlotMargins`.
20
+ */
21
+ export type EdgeBox = {
22
+ box: Box;
23
+ edges: MarginSide[];
24
+ };
@@ -0,0 +1,39 @@
1
+ import type { HoverStrategy } from './hover';
2
+ import type { Orientation, PlayerConfig, TimeInput, TimelineCallbacks, TimelineType } from './timeline';
3
+ /**
4
+ * How a `PlotComposer` arranges its panels: `areas` names the grid cells
5
+ * (one string per row, `.` for empty), else panels flow into `columns`;
6
+ * `widths`/`heights` are relative track sizes. `align` lines up every
7
+ * panel's plot area with its row and column, like facets do - for panels
8
+ * whose plots draw no chrome of their own.
9
+ */
10
+ export type ComposerLayout = {
11
+ areas?: string[];
12
+ columns?: number;
13
+ widths?: number[];
14
+ heights?: number[];
15
+ gap?: number;
16
+ align?: boolean;
17
+ };
18
+ /** Labels a composer stamps on its panels in order: `'A'` (A, B, C…), `'a'`, `'1'`, `'I'` (roman), or an explicit list. */
19
+ export type ComposerTags = 'A' | 'a' | '1' | 'I' | 'i' | string[];
20
+ /** One timeline for every panel: plots with a `timeline` follow its `progress` over `values`. */
21
+ export type ComposerTimelineConfig = TimelineCallbacks & {
22
+ progress?: number;
23
+ /** The steps: numbers, `Date`s or date strings. */
24
+ values: TimeInput[];
25
+ /** How a non-ISO date string in `values` reads. */
26
+ dateFormat?: string;
27
+ /** How it draws. Defaults to `'player'`. */
28
+ type?: TimelineType;
29
+ /** The player bar's own options, when `type` is `'player'`. */
30
+ player?: PlayerConfig;
31
+ orientation?: Orientation;
32
+ show?: boolean;
33
+ thickness?: number;
34
+ };
35
+ /** Hover shared by every panel: `sync` broadcasts one panel's hover to the others. */
36
+ export type ComposerHoverConfig = {
37
+ strategy?: HoverStrategy;
38
+ sync?: boolean;
39
+ };
@@ -1,14 +1,15 @@
1
1
  import type { GeoProjection } from 'd3-geo';
2
2
  import type { GeoCameraConfig } from '../plots/camera';
3
+ import type { ChannelScalesConfig, LengthScaleConfig } from './scales';
3
4
  /**
4
5
  * The projection names svelteplot's `<Plot projection>` accepts as a string
5
- * (svelteplot itself doesn't export this as a type — defined here so authors
6
+ * (svelteplot itself doesn't export this as a type - defined here so authors
6
7
  * get autocomplete/type-checking over the full supported set).
7
8
  */
8
9
  export type GeoProjectionName = 'albers-usa' | 'albers' | 'azimuthal-equal-area' | 'azimuthal-equidistant' | 'conic-conformal' | 'conic-equal-area' | 'conic-equidistant' | 'equal-earth' | 'equirectangular' | 'gnomonic' | 'identity' | 'reflect-y' | 'mercator' | 'orthographic' | 'stereographic' | 'transverse-mercator';
9
10
  /**
10
11
  * What a custom projection factory (e.g. `argentinaBicontinental` under
11
- * `$lib`'s geo projections) must return — just enough of d3's `GeoProjection`
12
+ * `$lib`'s geo projections) must return - just enough of d3's `GeoProjection`
12
13
  * for svelteplot to stream marks through it and invert pointer coordinates
13
14
  * back to lon/lat. Deliberately narrower than importing `GeoProjection`
14
15
  * itself, since a hand-tuned custom projection may not implement its full
@@ -37,24 +38,23 @@ export type GeoProjectionConfig = GeoProjectionName | {
37
38
  * instead of the projection's own default (whole-world-sized) framing,
38
39
  * regardless of which named projection is active. Also what makes
39
40
  * `'identity'`/`'reflect-y'` (which otherwise have no scale/translate of
40
- * their own — they pass lon/lat through as-is) size themselves to fill
41
+ * their own - they pass lon/lat through as-is) size themselves to fill
41
42
  * the plot. Pass `'data'` to fit to whatever was already given to the
42
43
  * plot's own `data` prop, instead of repeating it here.
43
44
  */
44
45
  domain?: GeoJSON.GeoJsonObject | GeoJSON.FeatureCollection | GeoJSON.Feature | 'data';
45
46
  };
46
47
  /**
47
- * `scales` prop for GeoPlot — the geo analog of `AxisBasedScalesConfig`.
48
- * A map has no x/y/z axis pair, so this only configures the choropleth
49
- * colour domain (the coordinate system itself is `coordinates.projection`).
48
+ * `scales` prop for GeoPlot - the geo analog of `AxisBasedScalesConfig`. A
49
+ * map has no x/y axis pair (the coordinate system is `coordinates.projection`),
50
+ * so this carries the channels in {@link ChannelScalesConfig} plus `length` -
51
+ * GeoPlot's own plot-wide-only channel (a `vector` marker's magnitude),
52
+ * the geo analog of `AxisBasedScalesConfig.r`.
50
53
  */
51
- export type GeoScalesConfig = {
52
- /** Continuous choropleth value domain — mirrors heatmap's `scales.z.domain`. */
53
- color?: {
54
- domain?: [number, number];
55
- };
54
+ export type GeoScalesConfig = ChannelScalesConfig & {
55
+ length?: LengthScaleConfig;
56
56
  };
57
- /** Wheel/pinch scale gesture only — see `CoordinatesConfig.pan` for drag-to-translate, and `.rotate` for drag-to-spin-the-globe. */
57
+ /** Wheel/pinch scale gesture only - see `CoordinatesConfig.pan` for drag-to-translate, and `.rotate` for drag-to-spin-the-globe. */
58
58
  export type GeoZoomConfig = {
59
59
  min?: number;
60
60
  max?: number;
@@ -65,7 +65,7 @@ export type GeoZoomConfig = {
65
65
  };
66
66
  };
67
67
  /**
68
- * `coordinates` prop for GeoPlot — bundles the projection, interactive
68
+ * `coordinates` prop for GeoPlot - bundles the projection, interactive
69
69
  * gestures, and the declarative `camera`, resolved by `CoordinatesLayout`.
70
70
  */
71
71
  export type CoordinatesConfig = {
@@ -77,6 +77,6 @@ export type CoordinatesConfig = {
77
77
  pan?: boolean;
78
78
  /** `true` enables drag-to-rotate on `orthographic` (claims the drag gesture from `pan`). */
79
79
  rotate?: boolean;
80
- /** `GeoPlot`'s own declarative "current viewpoint" — frame/zoom/anchor on a target, animated on change. See `GeoCameraConfig`. */
80
+ /** `GeoPlot`'s own declarative "current viewpoint" - frame/zoom/anchor on a target, animated on change. See `GeoCameraConfig`. */
81
81
  camera?: GeoCameraConfig;
82
82
  };
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  import type { Accessor } from '../plots/data/common';
3
3
  import type { MarginConfig } from '../plots/props';
4
+ import type { CellEdges } from './grid';
4
5
  export type Responsive<T> = T | {
5
6
  desktop: T;
6
7
  mobile: T;
@@ -8,13 +9,33 @@ export type Responsive<T> = T | {
8
9
  export type FacetColumns = Responsive<number>;
9
10
  export type FacetMode = 'grid' | 'carousel' | 'paginated';
10
11
  export type FacetNavLayout = 'overlay' | 'below';
12
+ /**
13
+ * Which position scales facets share: `'shared'` (default), `'free'`, or
14
+ * `'free-x'`/`'free-y'` for one axis. In a `rows`/`cols` grid a free x is
15
+ * shared down each column and a free y along each row.
16
+ */
17
+ export type FacetScales = 'shared' | 'free' | 'free-x' | 'free-y';
18
+ /**
19
+ * Which facets draw their axes: `'all'` (default), or `'outer'` for only the
20
+ * left column's y and the bottom row's x, with panels resized to equal boxes.
21
+ */
22
+ export type FacetAxes = 'all' | 'outer';
23
+ /** Where a facet sits in its grid - whether each of its sides is on the grid's outer edge. */
24
+ export type FacetEdges = CellEdges;
11
25
  export type FacetCellContext<TRow extends Record<string, unknown>> = {
26
+ /** The facet's label: its `by` value, or its `rows`/`cols` values joined. */
12
27
  facetValue: string;
28
+ /** The facet's `rows` value, in a `rows`/`cols` grid. */
29
+ row?: string;
30
+ /** The facet's `cols` value, in a `rows`/`cols` grid. */
31
+ col?: string;
13
32
  data: TRow[];
14
33
  width: number;
15
34
  height: number;
16
- /** Margin sized off every facet's own natural need, per side — see `marginsForFacet`. Present only when it's given. */
35
+ /** The margins pinned on the facet's plot so its panel lines up with its row and column - once every facet reported its own. */
17
36
  margins?: MarginConfig;
37
+ /** Which of the facet's sides sit on the grid's outer edge. */
38
+ edges: FacetEdges;
18
39
  };
19
40
  export type FacetCellSnippet<TRow extends Record<string, unknown>> = Snippet<[
20
41
  FacetCellContext<TRow>
@@ -31,11 +52,19 @@ export type FacetNavContext = {
31
52
  onclick: () => void;
32
53
  };
33
54
  export type FacetNavSnippet = Snippet<[FacetNavContext]>;
34
- export type FacetConfig<TRow extends Record<string, unknown>> = {
55
+ /** Options every facet layout shares. */
56
+ type FacetCommonConfig = {
57
+ gap?: number;
58
+ scales?: FacetScales;
59
+ axes?: FacetAxes;
60
+ };
61
+ /** One facet per `by` value, wrapped into `columns` - laid out all at once, paged, or as a carousel. */
62
+ export type FacetWrapConfig<TRow extends Record<string, unknown>> = FacetCommonConfig & {
35
63
  by: Accessor<TRow, unknown>;
64
+ rows?: never;
65
+ cols?: never;
36
66
  columns?: FacetColumns;
37
67
  values?: string[];
38
- gap?: number;
39
68
  mode?: Responsive<FacetMode>;
40
69
  visible?: number;
41
70
  pageSize?: number;
@@ -43,23 +72,16 @@ export type FacetConfig<TRow extends Record<string, unknown>> = {
43
72
  formatIndicator?: (current: number, total: number) => string;
44
73
  indicator?: FacetIndicatorSnippet;
45
74
  navButton?: FacetNavSnippet;
46
- /**
47
- * One facet's own natural margin need, per side — measured across every
48
- * facet and combined with `Math.max` per side (`FacetLayout`'s own
49
- * `cellMargins`) to size one shared margin every facet's `cell` receives
50
- * through its own `margins`, instead of each facet growing its own margin
51
- * independently off what its own content happens to need (which drifts
52
- * out of alignment facet to facet, and — for a facet cramped enough that
53
- * its content can never fully fit — can grow without bound). A plot type
54
- * that draws content needing this (a categorical axis's labels, a value
55
- * label's own text) implements this by calling its own margin-estimating
56
- * export against the facet's rows — e.g. `BarPlot`'s left margin from its
57
- * category labels, `LinePlot`'s right margin from its end-of-line value
58
- * labels (see each plot's own docs for what its estimator assumes, such as
59
- * `LinePlot`'s one-line-per-facet caveat) — this callback only carries
60
- * that per-facet result up to where every facet's results can be compared.
61
- * Any side left unset by every facet stays unpinned, falling back to the
62
- * plot's own default (`'auto'`) sizing.
63
- */
64
- marginsForFacet?: (rows: TRow[]) => MarginConfig;
65
75
  };
76
+ /** One facet per `rows` × `cols` combination, with each value labelled; combinations without rows stay empty. */
77
+ export type FacetGridConfig<TRow extends Record<string, unknown>> = FacetCommonConfig & {
78
+ by?: never;
79
+ rows?: Accessor<TRow, unknown>;
80
+ cols?: Accessor<TRow, unknown>;
81
+ /** The `rows` values to show, in order. Defaults to every value, in data order. */
82
+ rowValues?: string[];
83
+ /** The `cols` values to show, in order. Defaults to every value, in data order. */
84
+ colValues?: string[];
85
+ };
86
+ export type FacetConfig<TRow extends Record<string, unknown>> = FacetWrapConfig<TRow> | FacetGridConfig<TRow>;
87
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { Snippet } from 'svelte';
2
+ /** A box measured for a plot to draw into. */
3
+ export type PlotBoxContext = {
4
+ width: number;
5
+ height: number;
6
+ };
7
+ export type PlotBoxSnippet = Snippet<[PlotBoxContext]>;
@@ -1,16 +1,20 @@
1
- /** One resolved segment for scoped-marker rendering — see {@link ScopedMarkerGroup}. */
1
+ /** One resolved segment for scoped-marker rendering - see {@link ScopedMarkerGroup}. */
2
2
  export type ScopedMarkerSegment<TData> = {
3
3
  match: (row: TData) => boolean;
4
4
  color: string;
5
5
  };
6
6
  /**
7
7
  * One series' resolved context for rendering its `series`-scoped `'hover'`/
8
- * `'component'` markers — built by each `Plot.svelte`, consumed by
8
+ * `'component'` markers - built by each `Plot.svelte`, consumed by
9
9
  * `GeometryLayout`. Keeps `GeometryLayout` itself agnostic of each plot
10
10
  * kind's segment style shape (e.g. `fill` vs `stroke.stroke`).
11
11
  */
12
12
  export type ScopedMarkerGroup<TData> = {
13
13
  name: string;
14
+ /** The series' id, when it differs from its name - see `Series.id`. */
15
+ id?: string;
16
+ /** The facet panel the series belongs to. */
17
+ panel?: string;
14
18
  data: TData[];
15
19
  color: string;
16
20
  segments: ScopedMarkerSegment<TData>[];
@@ -0,0 +1,66 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { Margins } from '../../layout/margins/Margins';
3
+ /** Where a cell sits in its grid - whether each of its sides is on the grid's outer edge (no cell beyond it). */
4
+ export type CellEdges = {
5
+ top: boolean;
6
+ right: boolean;
7
+ bottom: boolean;
8
+ left: boolean;
9
+ };
10
+ /** A cell's slot: its top-left track and how many tracks it spans. */
11
+ export type GridSpan = {
12
+ row: number;
13
+ col: number;
14
+ rowSpan: number;
15
+ colSpan: number;
16
+ };
17
+ /** Where a cell asks to sit: a named `area`, an explicit `row`/`col`, or - with neither - the next free slot. */
18
+ export type GridCellSpec = {
19
+ area?: string;
20
+ row?: number;
21
+ col?: number;
22
+ rowSpan?: number;
23
+ colSpan?: number;
24
+ };
25
+ /** A floating cell's box as fractions of its area (or of the whole grid), from the left and bottom edges. */
26
+ export type GridInset = {
27
+ left: number;
28
+ bottom: number;
29
+ right: number;
30
+ top: number;
31
+ };
32
+ /**
33
+ * Where a figure drawn straight inside a `Grid` (a `PlotComposer`'s)
34
+ * sits: a named `area`, or - with `inset` - a box floating over its area.
35
+ * Without either, it takes the next free cell.
36
+ */
37
+ export type GridPlacement = {
38
+ area?: string;
39
+ inset?: GridInset;
40
+ };
41
+ /** The box a grid cell hands its content. */
42
+ export type GridCellContext = {
43
+ width: number;
44
+ height: number;
45
+ /** The margins pinned on the cell's plot so its panel lines up with its row and column - only in an aligned grid. */
46
+ margins?: Margins;
47
+ edges: CellEdges;
48
+ };
49
+ export type GridCellSnippet = Snippet<[GridCellContext]>;
50
+ /** One cell's box: its size and, in an aligned grid, the margins pinned on it. */
51
+ export type CellBox = {
52
+ width: number;
53
+ height: number;
54
+ margins?: Margins;
55
+ };
56
+ /** What a cell asks of its grid: a slot, or - with `inset` - a box floating over one. */
57
+ export type GridCellRequest = GridCellSpec & {
58
+ inset?: GridInset;
59
+ };
60
+ /** Where the grid put a cell: its CSS placement, its box and which sides face the grid's edge. */
61
+ export type GridCellLayout = {
62
+ gridRow?: string;
63
+ gridColumn?: string;
64
+ box: CellBox;
65
+ edges: CellEdges;
66
+ };