@fundar/data-chart-telling 0.0.63 → 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 -558
  4. package/dist/configuration/config.svelte.d.ts +5 -5
  5. package/dist/configuration/config.svelte.js +133 -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 +433 -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 +365 -335
  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 +39 -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 +158 -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 +258 -54
  387. package/dist/types/layout/mapping.d.ts +68 -0
  388. package/dist/types/layout/plot.d.ts +41 -0
  389. package/dist/types/layout/scales.d.ts +92 -24
  390. package/dist/types/layout/scales.js +19 -1
  391. package/dist/types/layout/statistics/bollinger.d.ts +18 -0
  392. package/dist/types/layout/statistics/box.d.ts +8 -0
  393. package/dist/types/layout/statistics/box.js +1 -0
  394. package/dist/types/layout/statistics/density.d.ts +27 -0
  395. package/dist/types/layout/statistics/density.js +1 -0
  396. package/dist/types/layout/statistics/index.d.ts +46 -0
  397. package/dist/types/layout/statistics/index.js +1 -0
  398. package/dist/types/layout/statistics/movingAverage.d.ts +12 -0
  399. package/dist/types/layout/statistics/movingAverage.js +1 -0
  400. package/dist/types/layout/statistics/regression.d.ts +20 -0
  401. package/dist/types/layout/statistics/regression.js +1 -0
  402. package/dist/types/layout/styles.d.ts +24 -35
  403. package/dist/types/layout/timeline.d.ts +51 -4
  404. package/dist/types/layout/tooltip.d.ts +7 -85
  405. package/dist/types/markers/all.d.ts +3 -4
  406. package/dist/types/markers/axis/area.d.ts +12 -0
  407. package/dist/types/markers/axis/area.js +1 -0
  408. package/dist/types/markers/axis/arrow.d.ts +15 -0
  409. package/dist/types/markers/axis/arrow.js +1 -0
  410. package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +29 -0
  411. package/dist/types/markers/axis/axisBasedMarkersConfig.js +1 -0
  412. package/dist/types/markers/axis/bar.d.ts +18 -0
  413. package/dist/types/markers/axis/bar.js +1 -0
  414. package/dist/types/markers/axis/bollinger.d.ts +6 -0
  415. package/dist/types/markers/axis/bollinger.js +1 -0
  416. package/dist/types/markers/axis/box.d.ts +14 -0
  417. package/dist/types/markers/axis/box.js +1 -0
  418. package/dist/types/markers/axis/brush.d.ts +28 -0
  419. package/dist/types/markers/axis/brush.js +1 -0
  420. package/dist/types/markers/axis/cell.d.ts +9 -0
  421. package/dist/types/markers/axis/cell.js +1 -0
  422. package/dist/types/markers/axis/component.d.ts +9 -0
  423. package/dist/types/markers/axis/component.js +1 -0
  424. package/dist/types/markers/axis/curveName.d.ts +2 -0
  425. package/dist/types/markers/axis/curveName.js +1 -0
  426. package/dist/types/markers/axis/delaunayLink.d.ts +7 -0
  427. package/dist/types/markers/axis/delaunayLink.js +1 -0
  428. package/dist/types/markers/axis/delaunayMesh.d.ts +7 -0
  429. package/dist/types/markers/axis/delaunayMesh.js +1 -0
  430. package/dist/types/markers/axis/delta.d.ts +27 -0
  431. package/dist/types/markers/axis/delta.js +1 -0
  432. package/dist/types/markers/axis/density.d.ts +12 -0
  433. package/dist/types/markers/axis/density.js +1 -0
  434. package/dist/types/markers/axis/difference.d.ts +12 -0
  435. package/dist/types/markers/axis/difference.js +1 -0
  436. package/dist/types/markers/axis/hover.d.ts +21 -0
  437. package/dist/types/markers/axis/hover.js +1 -0
  438. package/dist/types/markers/axis/hull.d.ts +7 -0
  439. package/dist/types/markers/axis/hull.js +1 -0
  440. package/dist/types/markers/axis/image.d.ts +12 -0
  441. package/dist/types/markers/axis/image.js +1 -0
  442. package/dist/types/markers/axis/line.d.ts +7 -0
  443. package/dist/types/markers/axis/line.js +1 -0
  444. package/dist/types/markers/axis/raster.d.ts +18 -0
  445. package/dist/types/markers/axis/raster.js +1 -0
  446. package/dist/types/markers/axis/rect.d.ts +15 -0
  447. package/dist/types/markers/axis/rect.js +1 -0
  448. package/dist/types/markers/axis/regression.d.ts +6 -0
  449. package/dist/types/markers/axis/regression.js +1 -0
  450. package/dist/types/markers/axis/rule.d.ts +15 -0
  451. package/dist/types/markers/axis/rule.js +1 -0
  452. package/dist/types/markers/axis/tick.d.ts +8 -0
  453. package/dist/types/markers/axis/tick.js +1 -0
  454. package/dist/types/markers/axis/trail.d.ts +14 -0
  455. package/dist/types/markers/axis/trail.js +1 -0
  456. package/dist/types/markers/axis/voronoi.d.ts +7 -0
  457. package/dist/types/markers/axis/voronoi.js +1 -0
  458. package/dist/types/markers/axis/voronoiMesh.d.ts +7 -0
  459. package/dist/types/markers/axis/voronoiMesh.js +1 -0
  460. package/dist/types/markers/axis/waffle.d.ts +13 -0
  461. package/dist/types/markers/axis/waffle.js +1 -0
  462. package/dist/types/markers/basic/basicMarkersConfig.d.ts +4 -0
  463. package/dist/types/markers/basic/basicMarkersConfig.js +1 -0
  464. package/dist/types/markers/basic/dot.d.ts +9 -0
  465. package/dist/types/markers/basic/dot.js +1 -0
  466. package/dist/types/markers/basic/text.d.ts +60 -0
  467. package/dist/types/markers/basic/text.js +1 -0
  468. package/dist/types/markers/basic.d.ts +4 -0
  469. package/dist/types/markers/basic.js +1 -0
  470. package/dist/types/markers/channels/commonMarkerConfig.d.ts +26 -0
  471. package/dist/types/markers/channels/commonMarkerConfig.js +1 -0
  472. package/dist/types/markers/channels/commonMarkerConfigWithArea.d.ts +6 -0
  473. package/dist/types/markers/channels/commonMarkerConfigWithArea.js +1 -0
  474. package/dist/types/markers/channels/commonMarkerConfigWithColor.d.ts +5 -0
  475. package/dist/types/markers/channels/commonMarkerConfigWithColor.js +1 -0
  476. package/dist/types/markers/channels/commonMarkerConfigWithInterval.d.ts +9 -0
  477. package/dist/types/markers/channels/commonMarkerConfigWithInterval.js +1 -0
  478. package/dist/types/markers/channels/commonMarkerConfigWithRadius.d.ts +5 -0
  479. package/dist/types/markers/channels/commonMarkerConfigWithRadius.js +1 -0
  480. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.d.ts +5 -0
  481. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.js +1 -0
  482. package/dist/types/markers/channels/commonMarkerConfigWithWeight.d.ts +5 -0
  483. package/dist/types/markers/channels/commonMarkerConfigWithWeight.js +1 -0
  484. package/dist/types/markers/common.d.ts +30 -103
  485. package/dist/types/markers/common.js +29 -1
  486. package/dist/types/markers/geo/contour.d.ts +27 -0
  487. package/dist/types/markers/geo/contour.js +1 -0
  488. package/dist/types/markers/geo/features.d.ts +12 -0
  489. package/dist/types/markers/geo/features.js +1 -0
  490. package/dist/types/markers/geo/geoComponent.d.ts +7 -0
  491. package/dist/types/markers/geo/geoComponent.js +1 -0
  492. package/dist/types/markers/geo/geoHover.d.ts +6 -0
  493. package/dist/types/markers/geo/geoHover.js +1 -0
  494. package/dist/types/markers/geo/geoMarkersConfig.d.ts +11 -0
  495. package/dist/types/markers/geo/geoMarkersConfig.js +1 -0
  496. package/dist/types/markers/geo/graticule.d.ts +11 -0
  497. package/dist/types/markers/geo/graticule.js +1 -0
  498. package/dist/types/markers/geo/inset.d.ts +50 -0
  499. package/dist/types/markers/geo/inset.js +1 -0
  500. package/dist/types/markers/geo/link.d.ts +13 -0
  501. package/dist/types/markers/geo/link.js +1 -0
  502. package/dist/types/markers/geo/sphere.d.ts +11 -0
  503. package/dist/types/markers/geo/sphere.js +1 -0
  504. package/dist/types/markers/geo/vector.d.ts +17 -0
  505. package/dist/types/markers/geo/vector.js +1 -0
  506. package/dist/types/markers/geo.d.ts +10 -212
  507. package/dist/types/markers/geo.js +10 -1
  508. package/dist/types/markers/traits.d.ts +22 -0
  509. package/dist/types/markers/traits.js +1 -0
  510. package/dist/types/misc/easing.js +1 -0
  511. package/dist/types/misc/viewport.js +1 -0
  512. package/dist/types/phases/data/axes.d.ts +18 -0
  513. package/dist/types/phases/data/axes.js +1 -0
  514. package/dist/types/phases/data/phase.d.ts +26 -0
  515. package/dist/types/phases/data/phase.js +2 -0
  516. package/dist/types/phases/facet/phase.d.ts +18 -0
  517. package/dist/types/phases/facet/phase.js +1 -0
  518. package/dist/types/phases/hover/phase.d.ts +34 -0
  519. package/dist/types/phases/hover/phase.js +1 -0
  520. package/dist/types/phases/index.d.ts +14 -0
  521. package/dist/types/phases/index.js +1 -0
  522. package/dist/types/phases/kind.d.ts +59 -0
  523. package/dist/types/phases/kind.js +1 -0
  524. package/dist/types/phases/mapping/phase.d.ts +5 -0
  525. package/dist/types/phases/mapping/phase.js +1 -0
  526. package/dist/types/phases/markers/phase.d.ts +13 -0
  527. package/dist/types/phases/markers/phase.js +1 -0
  528. package/dist/types/phases/pipeline.d.ts +10 -0
  529. package/dist/types/phases/pipeline.js +1 -0
  530. package/dist/types/phases/scales/phase.d.ts +26 -0
  531. package/dist/types/phases/scales/phase.js +1 -0
  532. package/dist/types/phases/sharedScales/phase.d.ts +12 -0
  533. package/dist/types/phases/sharedScales/phase.js +1 -0
  534. package/dist/types/phases/stage.d.ts +12 -0
  535. package/dist/types/phases/stage.js +1 -0
  536. package/dist/types/phases/state.d.ts +73 -0
  537. package/dist/types/phases/state.js +1 -0
  538. package/dist/types/phases/statistics/phase.d.ts +41 -0
  539. package/dist/types/phases/statistics/phase.js +1 -0
  540. package/dist/types/phases/statistics/source.d.ts +20 -0
  541. package/dist/types/phases/statistics/source.js +7 -0
  542. package/dist/types/phases/styles/phase.d.ts +24 -0
  543. package/dist/types/phases/styles/phase.js +1 -0
  544. package/dist/types/phases/transforms/adapter.d.ts +27 -0
  545. package/dist/types/phases/transforms/adapter.js +1 -0
  546. package/dist/types/phases/transforms/phase.d.ts +40 -0
  547. package/dist/types/phases/transforms/phase.js +1 -0
  548. package/dist/types/plots/area/props.d.ts +10 -0
  549. package/dist/types/plots/area/props.js +1 -0
  550. package/dist/types/plots/area/state.d.ts +6 -0
  551. package/dist/types/plots/area/state.js +1 -0
  552. package/dist/types/plots/bar/props.d.ts +10 -0
  553. package/dist/types/plots/bar/props.js +1 -0
  554. package/dist/types/plots/bar/state.d.ts +6 -0
  555. package/dist/types/plots/bar/state.js +1 -0
  556. package/dist/types/plots/camera.d.ts +7 -17
  557. package/dist/types/plots/constants.d.ts +16 -8
  558. package/dist/types/plots/data/common.d.ts +25 -17
  559. package/dist/types/plots/data/geo.d.ts +26 -12
  560. package/dist/types/plots/gaps.d.ts +19 -38
  561. package/dist/types/plots/geo/props.d.ts +23 -0
  562. package/dist/types/plots/geo/props.js +1 -0
  563. package/dist/types/plots/geo/state.d.ts +82 -0
  564. package/dist/types/plots/geo/state.js +1 -0
  565. package/dist/types/plots/heatmap/props.d.ts +10 -0
  566. package/dist/types/plots/heatmap/props.js +1 -0
  567. package/dist/types/plots/heatmap/state.d.ts +28 -0
  568. package/dist/types/plots/heatmap/state.js +1 -0
  569. package/dist/types/plots/histogram/props.d.ts +18 -0
  570. package/dist/types/plots/histogram/props.js +1 -0
  571. package/dist/types/plots/histogram/state.d.ts +6 -0
  572. package/dist/types/plots/histogram/state.js +1 -0
  573. package/dist/types/plots/line/props.d.ts +10 -0
  574. package/dist/types/plots/line/props.js +1 -0
  575. package/dist/types/plots/line/state.d.ts +9 -0
  576. package/dist/types/plots/line/state.js +1 -0
  577. package/dist/types/plots/props.d.ts +143 -35
  578. package/dist/types/plots/pyramid/props.d.ts +10 -0
  579. package/dist/types/plots/pyramid/props.js +1 -0
  580. package/dist/types/plots/pyramid/state.d.ts +16 -0
  581. package/dist/types/plots/pyramid/state.js +1 -0
  582. package/dist/types/plots/scatter/props.d.ts +10 -0
  583. package/dist/types/plots/scatter/props.js +1 -0
  584. package/dist/types/plots/scatter/state.d.ts +6 -0
  585. package/dist/types/plots/scatter/state.js +1 -0
  586. package/dist/types/plots/segments/common.d.ts +1 -1
  587. package/dist/types/plots/segments/config.d.ts +12 -6
  588. package/dist/types/plots/styling.d.ts +5 -5
  589. package/dist/types/transforms/bin.d.ts +84 -0
  590. package/dist/types/transforms/bin.js +28 -0
  591. package/dist/types/transforms/bollinger.d.ts +21 -0
  592. package/dist/types/transforms/bollinger.js +1 -0
  593. package/dist/types/transforms/common.d.ts +29 -0
  594. package/dist/types/transforms/common.js +16 -0
  595. package/dist/types/transforms/density.d.ts +45 -0
  596. package/dist/types/transforms/density.js +10 -0
  597. package/dist/types/transforms/filter.d.ts +12 -0
  598. package/dist/types/transforms/filter.js +14 -0
  599. package/dist/types/transforms/group.d.ts +70 -0
  600. package/dist/types/transforms/group.js +8 -0
  601. package/dist/types/transforms/index.d.ts +36 -0
  602. package/dist/types/transforms/index.js +1 -0
  603. package/dist/types/transforms/interval.d.ts +21 -0
  604. package/dist/types/transforms/interval.js +14 -0
  605. package/dist/types/transforms/jitter.d.ts +34 -0
  606. package/dist/types/transforms/jitter.js +1 -0
  607. package/dist/types/transforms/map.d.ts +24 -0
  608. package/dist/types/transforms/map.js +1 -0
  609. package/dist/types/transforms/normalize.d.ts +36 -0
  610. package/dist/types/transforms/normalize.js +1 -0
  611. package/dist/types/transforms/select.d.ts +15 -0
  612. package/dist/types/transforms/select.js +1 -0
  613. package/dist/types/transforms/shift.d.ts +20 -0
  614. package/dist/types/transforms/shift.js +1 -0
  615. package/dist/types/transforms/sort.d.ts +31 -0
  616. package/dist/types/transforms/sort.js +14 -0
  617. package/dist/types/transforms/stack.d.ts +64 -0
  618. package/dist/types/transforms/stack.js +12 -0
  619. package/dist/types/transforms/window.d.ts +29 -0
  620. package/dist/types/transforms/window.js +1 -0
  621. package/dist/utils/ContinuousDomain.d.ts +12 -0
  622. package/dist/utils/ContinuousDomain.js +19 -0
  623. package/dist/utils/Interpolation.d.ts +26 -0
  624. package/dist/utils/Interpolation.js +65 -0
  625. package/dist/utils/{color.d.ts → color/contrast.d.ts} +0 -5
  626. package/dist/utils/color/contrast.js +40 -0
  627. package/dist/utils/color/cssColor.d.ts +4 -0
  628. package/dist/utils/color/cssColor.js +77 -0
  629. package/dist/utils/color/index.d.ts +3 -0
  630. package/dist/utils/color/index.js +3 -0
  631. package/dist/utils/color/ramp.d.ts +17 -0
  632. package/dist/utils/color/ramp.js +110 -0
  633. package/dist/utils/grouping.d.ts +9 -5
  634. package/dist/utils/grouping.js +19 -10
  635. package/dist/utils/merge.d.ts +7 -0
  636. package/dist/utils/merge.js +17 -0
  637. package/dist/utils/opacity.d.ts +9 -0
  638. package/dist/utils/opacity.js +38 -0
  639. package/dist/utils/symbol.d.ts +31 -0
  640. package/dist/utils/symbol.js +92 -0
  641. package/docs/architecture.md +137 -0
  642. package/docs/chrome.md +68 -0
  643. package/docs/composer.md +53 -0
  644. package/docs/concepts.md +99 -0
  645. package/docs/development.md +94 -0
  646. package/docs/facets.md +69 -0
  647. package/docs/geo.md +151 -0
  648. package/docs/getting-started.md +79 -0
  649. package/docs/legend.md +106 -0
  650. package/docs/markers.md +106 -0
  651. package/docs/plots.md +158 -0
  652. package/docs/scales.md +78 -0
  653. package/docs/state.md +71 -0
  654. package/docs/styles-and-segments.md +215 -0
  655. package/docs/theming.md +215 -0
  656. package/docs/timeline.md +94 -0
  657. package/docs/tooltip-and-hover.md +80 -0
  658. package/docs/transforms-and-statistics.md +88 -0
  659. package/examples/BarValues.svelte +14 -0
  660. package/examples/CustomTooltip.svelte +37 -0
  661. package/examples/Facets.svelte +15 -0
  662. package/examples/LegendReader.svelte +8 -0
  663. package/examples/LegendToggle.svelte +25 -0
  664. package/examples/ResponsiveLine.svelte +37 -0
  665. package/examples/Segments.svelte +17 -0
  666. package/examples/TimelinePlayer.svelte +20 -0
  667. package/examples/Tooltip.svelte +19 -0
  668. package/examples/TooltipCard.svelte +86 -0
  669. package/examples/data.ts +12 -0
  670. package/llms-full.txt +114 -0
  671. package/llms.txt +49 -0
  672. package/package.json +41 -5
  673. package/dist/charts/BaseChart.svelte +0 -149
  674. package/dist/charts/BaseChart.svelte.d.ts +0 -47
  675. package/dist/charts/bar/Chart.svelte +0 -110
  676. package/dist/charts/bar/Chart.svelte.d.ts +0 -26
  677. package/dist/charts/container/ChartContainer.svelte +0 -137
  678. package/dist/charts/container/ChartContainer.svelte.d.ts +0 -16
  679. package/dist/charts/heatmap/Chart.svelte +0 -114
  680. package/dist/charts/line/Chart.svelte +0 -112
  681. package/dist/charts/line/Chart.svelte.d.ts +0 -26
  682. package/dist/charts/pyramid/Chart.svelte +0 -134
  683. package/dist/charts/pyramid/Chart.svelte.d.ts +0 -30
  684. package/dist/charts/scatter/Chart.svelte +0 -95
  685. package/dist/charts/scatter/Chart.svelte.d.ts +0 -28
  686. package/dist/layout/coordinates/margins.d.ts +0 -16
  687. package/dist/layout/coordinates/margins.js +0 -11
  688. package/dist/layout/legend/interaction.svelte.d.ts +0 -15
  689. package/dist/layout/legend/interaction.svelte.js +0 -32
  690. package/dist/layout/plot/BasePlotLayout.svelte +0 -332
  691. package/dist/layout/plot/BasePlotLayout.svelte.d.ts +0 -122
  692. package/dist/layout/plot/margins.d.ts +0 -18
  693. package/dist/layout/plot/margins.js +0 -15
  694. package/dist/layout/plot/measureText.d.ts +0 -4
  695. package/dist/layout/plot/measureText.js +0 -19
  696. package/dist/layout/tooltip/TooltipLayout.svelte +0 -51
  697. package/dist/layout/tooltip/TooltipLayout.svelte.d.ts +0 -45
  698. package/dist/layout/tooltip/controller.svelte.d.ts +0 -61
  699. package/dist/layout/tooltip/controller.svelte.js +0 -173
  700. package/dist/layout/tooltip/hover.svelte.d.ts +0 -7
  701. package/dist/layout/tooltip/hover.svelte.js +0 -28
  702. package/dist/layout/tooltip/resolveTooltipPlacement.d.ts +0 -24
  703. package/dist/layout/tooltip/resolveTooltipPlacement.js +0 -49
  704. package/dist/layout/tooltip/utils.d.ts +0 -49
  705. package/dist/layout/tooltip/utils.js +0 -82
  706. package/dist/markers/CellMarker.svelte +0 -21
  707. package/dist/markers/ContourClipMarker.svelte +0 -77
  708. package/dist/markers/ContourMarker.svelte +0 -28
  709. package/dist/markers/DeltaMarker.svelte +0 -109
  710. package/dist/markers/DotMarker.svelte +0 -70
  711. package/dist/markers/GeoFeaturesMarker.svelte +0 -19
  712. package/dist/markers/GeoHoverMarker.svelte +0 -25
  713. package/dist/markers/GraticuleMarker.svelte +0 -18
  714. package/dist/markers/HoverMarker.svelte +0 -212
  715. package/dist/markers/LineMarker.svelte +0 -19
  716. package/dist/markers/LinkMarker.svelte +0 -42
  717. package/dist/markers/PeakMarker.svelte +0 -80
  718. package/dist/markers/PeakMarker.svelte.d.ts +0 -13
  719. package/dist/markers/RuleMarker.svelte +0 -24
  720. package/dist/markers/SphereMarker.svelte +0 -15
  721. package/dist/markers/TextMarker.svelte +0 -62
  722. package/dist/markers/VectorMarker.svelte +0 -20
  723. package/dist/plots/bar/ValueLabels.svelte +0 -149
  724. package/dist/plots/bar/ValueLabels.svelte.d.ts +0 -58
  725. package/dist/plots/bar/buildBarMarkers.d.ts +0 -27
  726. package/dist/plots/bar/buildBarMarkers.js +0 -151
  727. package/dist/plots/bar/hoverPoints.d.ts +0 -15
  728. package/dist/plots/bar/hoverPoints.js +0 -37
  729. package/dist/plots/bar/layout.svelte.d.ts +0 -42
  730. package/dist/plots/bar/layout.svelte.js +0 -182
  731. package/dist/plots/geo/buildGeoMarkers.d.ts +0 -33
  732. package/dist/plots/geo/buildGeoMarkers.js +0 -47
  733. package/dist/plots/heatmap/ValueLabels.svelte +0 -56
  734. package/dist/plots/heatmap/buildCellMarkers.d.ts +0 -21
  735. package/dist/plots/heatmap/buildCellMarkers.js +0 -25
  736. package/dist/plots/line/ValueLabels.svelte +0 -269
  737. package/dist/plots/line/ValueLabels.svelte.d.ts +0 -52
  738. package/dist/plots/line/buildGapMarkers.d.ts +0 -28
  739. package/dist/plots/line/buildGapMarkers.js +0 -74
  740. package/dist/plots/line/buildLineMarkers.d.ts +0 -16
  741. package/dist/plots/line/buildLineMarkers.js +0 -56
  742. package/dist/plots/line/valueLabelMargin.d.ts +0 -19
  743. package/dist/plots/line/valueLabelMargin.js +0 -65
  744. package/dist/plots/pyramid/ValueLabels.svelte +0 -139
  745. package/dist/plots/pyramid/ValueLabels.svelte.d.ts +0 -56
  746. package/dist/plots/pyramid/buildPyramidBarMarkers.d.ts +0 -26
  747. package/dist/plots/pyramid/buildPyramidBarMarkers.js +0 -72
  748. package/dist/plots/scatter/ValueLabels.svelte +0 -163
  749. package/dist/plots/scatter/ValueLabels.svelte.d.ts +0 -52
  750. package/dist/plots/scatter/buildScatterMarkers.d.ts +0 -12
  751. package/dist/plots/scatter/buildScatterMarkers.js +0 -36
  752. package/dist/plots/scatter/resolveRadiusPaddedDomain.d.ts +0 -10
  753. package/dist/plots/scatter/resolveRadiusPaddedDomain.js +0 -23
  754. package/dist/plots/utils/categoricalAxisMargin.d.ts +0 -14
  755. package/dist/plots/utils/categoricalAxisMargin.js +0 -20
  756. package/dist/plots/utils/declutter.d.ts +0 -120
  757. package/dist/plots/utils/declutter.js +0 -240
  758. package/dist/plots/utils/labelOverflow.svelte.d.ts +0 -107
  759. package/dist/plots/utils/labelOverflow.svelte.js +0 -257
  760. package/dist/plots/utils/legendDisabled.d.ts +0 -27
  761. package/dist/plots/utils/legendDisabled.js +0 -68
  762. package/dist/plots/utils/valueLabelMargin.d.ts +0 -67
  763. package/dist/plots/utils/valueLabelMargin.js +0 -60
  764. package/dist/types/charts/common.d.ts +0 -22
  765. package/dist/types/charts/props.d.ts +0 -50
  766. package/dist/types/markers/base.d.ts +0 -45
  767. package/dist/types/markers/line.d.ts +0 -34
  768. package/dist/types/markers/props.d.ts +0 -11
  769. package/dist/types/plots/data/scatter.d.ts +0 -13
  770. package/dist/utils/color.js +0 -141
  771. package/dist/utils/delta.d.ts +0 -12
  772. package/dist/utils/delta.js +0 -69
  773. package/dist/utils/edgeAwareAnchor.d.ts +0 -34
  774. package/dist/utils/edgeAwareAnchor.js +0 -60
  775. package/dist/utils/interpolate.d.ts +0 -31
  776. package/dist/utils/interpolate.js +0 -71
  777. /package/dist/types/{charts/common.js → layout/box.js} +0 -0
  778. /package/dist/types/{charts/interpolate.js → layout/composer.js} +0 -0
  779. /package/dist/types/{charts/props.js → layout/figure.js} +0 -0
  780. /package/dist/types/{markers/base.js → layout/grid.js} +0 -0
  781. /package/dist/types/{markers/line.js → layout/hover.js} +0 -0
  782. /package/dist/types/{markers/props.js → layout/mapping.js} +0 -0
  783. /package/dist/types/{plots/data/scatter.js → layout/plot.js} +0 -0
  784. /package/dist/types/{viewport.js → layout/statistics/bollinger.js} +0 -0
  785. /package/dist/types/{charts/interpolate.d.ts → misc/easing.d.ts} +0 -0
  786. /package/dist/types/{viewport.d.ts → misc/viewport.d.ts} +0 -0
@@ -0,0 +1,61 @@
1
+ <script lang="ts" generics="TData extends Record<string, unknown>">
2
+ import { getConfiguration } from '../../configuration/config.svelte';
3
+ import { PlotInteraction } from '../interaction/PlotInteraction.svelte';
4
+ import BasePlotLayout from '../base/BasePlotLayout.svelte';
5
+ import { validateSegments } from '../../plots/utils/segments';
6
+ import type { Pipeline } from '../../phases/Pipeline';
7
+ import type { SegmentsConfig, MarginConfig } from '../../types/plots/props';
8
+ import type { FacetStageState } from '../../types/phases';
9
+
10
+ /**
11
+ * What every axis plot kind renders for one slice of its rows: its props
12
+ * run through the plot's `pipeline`, and the state that comes out drawn by
13
+ * `BasePlotLayout`. It sits under the plot's `Figure`, which provides the
14
+ * legend's toggles and the hover its phases read.
15
+ */
16
+ type Props = {
17
+ width: number;
18
+ height: number;
19
+ styles?: object;
20
+ segments?: SegmentsConfig<never>;
21
+ markers?: { type: string }[];
22
+ scales?: object;
23
+ margins?: MarginConfig;
24
+ panelState?: FacetStageState;
25
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
+ pipeline?: Pipeline<any, any>;
27
+ data?: TData[];
28
+ [prop: string]: unknown;
29
+ };
30
+
31
+ let {
32
+ width,
33
+ height,
34
+ styles = {},
35
+ segments = {},
36
+ markers = [],
37
+ scales = {},
38
+ margins = $bindable(),
39
+ panelState,
40
+ pipeline,
41
+ ...rest
42
+ }: Props = $props();
43
+
44
+ $effect(() => {
45
+ validateSegments(segments as never);
46
+ });
47
+
48
+ const cfg = $derived(getConfiguration());
49
+ const interaction = PlotInteraction.current(() => cfg);
50
+ const ctx = $derived({ cfg, interaction, range: interaction.legend?.range });
51
+
52
+ const plotState = $derived(
53
+ pipeline!.run(
54
+ { ...rest, width, height, styles, segments, markers, scales, margins },
55
+ ctx,
56
+ panelState
57
+ )
58
+ );
59
+ </script>
60
+
61
+ <BasePlotLayout {width} {height} state={plotState} bind:margins />
@@ -0,0 +1,41 @@
1
+ import type { Pipeline } from '../../phases/Pipeline';
2
+ import type { SegmentsConfig, MarginConfig } from '../../types/plots/props';
3
+ import type { FacetStageState } from '../../types/phases';
4
+ declare function $$render<TData extends Record<string, unknown>>(): {
5
+ props: {
6
+ [prop: string]: unknown;
7
+ width: number;
8
+ height: number;
9
+ styles?: object;
10
+ segments?: SegmentsConfig<never>;
11
+ markers?: {
12
+ type: string;
13
+ }[];
14
+ scales?: object;
15
+ margins?: MarginConfig;
16
+ panelState?: FacetStageState;
17
+ pipeline?: Pipeline<any, any>;
18
+ data?: TData[];
19
+ };
20
+ exports: {};
21
+ bindings: "margins";
22
+ slots: {};
23
+ events: {};
24
+ };
25
+ declare class __sveltets_Render<TData extends Record<string, unknown>> {
26
+ props(): ReturnType<typeof $$render<TData>>['props'];
27
+ events(): ReturnType<typeof $$render<TData>>['events'];
28
+ slots(): ReturnType<typeof $$render<TData>>['slots'];
29
+ bindings(): "margins";
30
+ exports(): {};
31
+ }
32
+ interface $$IsomorphicComponent {
33
+ new <TData extends Record<string, unknown>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TData>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TData>['props']>, ReturnType<__sveltets_Render<TData>['events']>, ReturnType<__sveltets_Render<TData>['slots']>> & {
34
+ $$bindings?: ReturnType<__sveltets_Render<TData>['bindings']>;
35
+ } & ReturnType<__sveltets_Render<TData>['exports']>;
36
+ <TData extends Record<string, unknown>>(internal: unknown, props: ReturnType<__sveltets_Render<TData>['props']> & {}): ReturnType<__sveltets_Render<TData>['exports']>;
37
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
38
+ }
39
+ declare const Core: $$IsomorphicComponent;
40
+ type Core<TData extends Record<string, unknown>> = InstanceType<typeof Core<TData>>;
41
+ export default Core;
@@ -0,0 +1,28 @@
1
+ <script lang="ts" generics="TRow extends Record<string, unknown>">
2
+ import { LegendState } from '../legend/LegendState.svelte';
3
+ import type { Snippet } from 'svelte';
4
+ import type { FacetStageState } from '../../types/phases';
5
+
6
+ /**
7
+ * Runs a plot's data phases once over `rows`, for every facet panel, under
8
+ * the legend in scope, and hands the result to `children`. `frame` is the
9
+ * same run over the same rows without the legend: reused while the legend
10
+ * omits no series, since only omitting one changes the data phases.
11
+ */
12
+ let {
13
+ rows,
14
+ run,
15
+ frame,
16
+ children
17
+ }: {
18
+ rows: TRow[];
19
+ run: (rows: TRow[], legend: LegendState | null) => FacetStageState;
20
+ frame?: FacetStageState;
21
+ children: Snippet<[FacetStageState]>;
22
+ } = $props();
23
+
24
+ const legend = LegendState.current();
25
+ const state = $derived(frame && !legend?.omits ? frame : run(rows, legend));
26
+ </script>
27
+
28
+ {@render children(state)}
@@ -1,8 +1,12 @@
1
- import type { Accessor } from '../../types/plots/data/common';
2
- import type { ChartProps } from '../../types/charts/props';
1
+ import { LegendState } from '../legend/LegendState.svelte';
2
+ import type { Snippet } from 'svelte';
3
+ import type { FacetStageState } from '../../types/phases';
3
4
  declare function $$render<TRow extends Record<string, unknown>>(): {
4
- props: ChartProps<TRow, import("../..").AreaStyle> & {
5
- z: Accessor<TRow, number>;
5
+ props: {
6
+ rows: TRow[];
7
+ run: (rows: TRow[], legend: LegendState | null) => FacetStageState;
8
+ frame?: FacetStageState;
9
+ children: Snippet<[FacetStageState]>;
6
10
  };
7
11
  exports: {};
8
12
  bindings: "";
@@ -23,6 +27,6 @@ interface $$IsomorphicComponent {
23
27
  <TRow extends Record<string, unknown>>(internal: unknown, props: ReturnType<__sveltets_Render<TRow>['props']> & {}): ReturnType<__sveltets_Render<TRow>['exports']>;
24
28
  z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
25
29
  }
26
- declare const Chart: $$IsomorphicComponent;
27
- type Chart<TRow extends Record<string, unknown>> = InstanceType<typeof Chart<TRow>>;
28
- export default Chart;
30
+ declare const PanelRun: $$IsomorphicComponent;
31
+ type PanelRun<TRow extends Record<string, unknown>> = InstanceType<typeof PanelRun<TRow>>;
32
+ export default PanelRun;
@@ -0,0 +1,284 @@
1
+ <script
2
+ lang="ts"
3
+ generics="TRow extends Record<string, unknown>, TScales extends object, TCore extends PlotCoreBase"
4
+ >
5
+ import type { Component } from 'svelte';
6
+ import Figure from '../figure/Figure.svelte';
7
+ import TimelineLayout from '../timeline/TimelineLayout.svelte';
8
+ import FacetLayout from '../facet/FacetLayout.svelte';
9
+ import HoverScope from '../hover/HoverScope.svelte';
10
+ import PanelRun from './PanelRun.svelte';
11
+ import GenericCore from './Core.svelte';
12
+ import { getConfiguration } from '../../configuration/config.svelte';
13
+ import { TimelineState } from '../timeline/TimelineState.svelte';
14
+ import { HoverState } from '../hover/HoverState.svelte';
15
+ import { HoverSettings } from '../hover/HoverSettings';
16
+ import { Interpolation } from '../../utils/Interpolation';
17
+ import { FacetPhase } from '../../phases/facet/FacetPhase';
18
+ import { merge } from '../../utils/merge';
19
+ import { Pipeline } from '../../phases/Pipeline';
20
+ import { Slice } from './Slice';
21
+ import type { TooltipProp } from '../../types/layout/tooltip';
22
+ import type { MarginConfig, PlotChromeConfig } from '../../types/plots/props';
23
+ import type { PlotCellContext, PlotCellSnippet, PlotCoreBase } from '../../types/layout/plot';
24
+ import type { FacetCellContext, FacetConfig } from '../../types/layout/facet';
25
+ import type { TimelineConfig, TimeValue } from '../../types/layout/timeline';
26
+ import type { LegendState } from '../legend/LegendState.svelte';
27
+ import type { AxisPlotDefaults, DataRunState, FacetStageState } from '../../types/phases';
28
+
29
+ /**
30
+ * Renders a plot's core from its `core` props, inside the plot's
31
+ * {@link Figure} (its box, stores and chrome): once, or once per slice of
32
+ * its `timeline` and `facet`. `slice` builds the core's props for one
33
+ * slice; by default it swaps in the slice's rows, box, margins and shared
34
+ * scales. The core is the generic one, which runs the kind's pipeline; a
35
+ * kind with its own rendering (a map) passes its `Core`. The `cell`
36
+ * snippet draws each slice instead -
37
+ * anything that takes `{ data, width, height }`. `defaults` builds the
38
+ * kind's defaults - or its own pipeline - once per plot: the {@link Pipeline}
39
+ * every core it renders runs, and the plot's hover and timeline defaults. `margins` is
40
+ * bindable: an unsliced core reports the margin it settled on. The plot's
41
+ * box is its own `width`/`height` or, drawn straight inside a
42
+ * `PlotComposer`, a cell (`area`, `inset`).
43
+ */
44
+ let {
45
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
46
+ Core = GenericCore as Component<any, Record<string, never>, 'margins'>,
47
+ core,
48
+ defaults,
49
+ slice,
50
+ cell,
51
+ margins = $bindable(),
52
+ tooltip,
53
+ data,
54
+ width,
55
+ height,
56
+ markers,
57
+ title,
58
+ subtitle,
59
+ caption,
60
+ header,
61
+ footer,
62
+ legend,
63
+ order,
64
+ timeline,
65
+ facet
66
+ }: PlotChromeConfig & {
67
+ // A generic plot core can't be typed against `core`'s own row type.
68
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
+ Core?: Component<any, Record<string, never>, 'margins'>;
70
+ core?: TCore;
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
+ defaults?: () => AxisPlotDefaults<any, any> | Pipeline<any, any>;
73
+ slice?: (cell: PlotCellContext<TRow, TScales>) => TCore;
74
+ cell?: PlotCellSnippet<TRow, TScales>;
75
+ margins?: MarginConfig;
76
+ tooltip?: TooltipProp<TRow>;
77
+ /** The rows `timeline` and `facet` slice. Defaults to `core.data`. */
78
+ data?: TRow[];
79
+ width?: number;
80
+ height?: number;
81
+ markers?: { type: string }[];
82
+ timeline?: TimelineConfig<TRow>;
83
+ facet?: FacetConfig<TRow>;
84
+ } = $props();
85
+
86
+ const cfg = $derived(getConfiguration());
87
+ // The kind's pipeline, built once per plot: every core it renders runs it.
88
+ const pipeline = $derived(defaults ? Pipeline.of(defaults()) : undefined);
89
+ const hoverSettings = $derived(
90
+ new HoverSettings(
91
+ tooltip,
92
+ markers ?? core?.markers,
93
+ pipeline?.hoverStrategy(core ?? {}, cfg) ?? 'x'
94
+ )
95
+ );
96
+ const tooltipConfig = $derived(hoverSettings.tooltip);
97
+ const rows = $derived(data ?? (core?.data as TRow[] | undefined));
98
+
99
+ // Inside a composer with a timeline, that one drives every panel; otherwise
100
+ // this plot has one of its own, which its figure draws when it's a player.
101
+ const outerTimeline = TimelineState.current();
102
+ const sharedTimeline = outerTimeline?.enabled ? outerTimeline : null;
103
+ const ownTimeline = sharedTimeline ? null : new TimelineState(() => timeline);
104
+ ownTimeline?.watch();
105
+ const timelineState = sharedTimeline ?? ownTimeline;
106
+ const parentScope = HoverState.scope();
107
+ const scopeOf = (facetValue: string) => {
108
+ const parent = parentScope();
109
+ return parent ? `${parent}/${facetValue}` : facetValue;
110
+ };
111
+
112
+ // How the rows divide into slices: timeline steps and facet panels.
113
+ const slicing = $derived(new Slice({ rows, timeline, facet, filterMode: pipeline?.filterMode }));
114
+ // A boolean, so a timeline step re-slicing the same rows invalidates nothing downstream.
115
+ const sliced = $derived(slicing.sliced);
116
+ $effect(() => {
117
+ for (const problem of slicing.problems) console.warn(`Plot: ${problem}`);
118
+ });
119
+
120
+ // With a facet, the kind's data phases run once over every panel (`dataRun`),
121
+ // and each panel's core runs only the phases after them. The run over every
122
+ // row, without the legend (the frame), also gives the domains that facets
123
+ // and timeline steps share.
124
+ const dataRun = $derived.by(() => {
125
+ const run = pipeline;
126
+ if (!sliced || !run?.facets) return undefined;
127
+ return (r: TRow[], f: FacetConfig<TRow> | undefined, legend: LegendState | null) =>
128
+ run.runData(core ?? {}, r, f as never, legend, cfg);
129
+ });
130
+ // Kept while its inputs are the same objects: a timeline step re-reads them without changing them.
131
+ let frame: { inputs: unknown[]; state: DataRunState | undefined } | undefined;
132
+ const frameState = $derived.by(() => {
133
+ const inputs = [dataRun, facet, rows];
134
+ if (frame?.inputs.every((input, i) => input === inputs[i])) return frame.state;
135
+ const state = dataRun && rows ? dataRun(rows, facet, null) : undefined;
136
+ frame = { inputs, state };
137
+ return state;
138
+ });
139
+ // The domains slices share, from the frame's "sharedScales" phase, keyed by facet panel.
140
+ const sharedScales = $derived(frameState?.sharedScales);
141
+
142
+ const timelineInterpolation = $derived.by(() => {
143
+ if (!timeline) return undefined;
144
+ const tween = pipeline?.interpolation<TRow>((core ?? {}) as { data?: TRow[] }, cfg);
145
+ if (tween) return Interpolation.buildTimeline(timeline.interpolate, tween);
146
+ return typeof timeline.interpolate === 'object' ? timeline.interpolate : undefined;
147
+ });
148
+
149
+ /** A core's props without `margins`, for a core that binds them instead. */
150
+ function withoutMargins<T extends object>(props: T): Omit<T, 'margins'> {
151
+ const rest = { ...props } as T & { margins?: unknown };
152
+ delete rest.margins;
153
+ return rest;
154
+ }
155
+
156
+ function buildSliceProps(ctx: PlotCellContext<TRow, TScales>) {
157
+ return {
158
+ ...core,
159
+ ...(ctx.data ? { data: ctx.data } : {}),
160
+ width: ctx.width,
161
+ height: ctx.height,
162
+ margins: ctx.margins ?? margins,
163
+ scales: merge(ctx.scales, core?.scales as TScales | undefined),
164
+ tooltip: ctx.tooltip,
165
+ ...(ctx.panel ? { panelState: ctx.panel } : {})
166
+ };
167
+ }
168
+ </script>
169
+
170
+ <!-- One slice: the kind's core with the slice's rows, box and scales, or the author's own `cell`. -->
171
+ {#snippet sliceCell(ctx: PlotCellContext<TRow, TScales>)}
172
+ {#if cell}
173
+ {@render cell(ctx)}
174
+ {:else if Core && sliced}
175
+ <Core {...(slice ?? buildSliceProps)(ctx)} {pipeline} />
176
+ {:else if Core}
177
+ <Core {...withoutMargins((slice ?? buildSliceProps)(ctx))} bind:margins {pipeline} />
178
+ {/if}
179
+ {/snippet}
180
+
181
+ {#snippet facetCell(
182
+ place: FacetCellContext<TRow>,
183
+ time: TimeValue | undefined,
184
+ panels: FacetStageState | undefined
185
+ )}
186
+ <HoverScope id={scopeOf(place.facetValue)}>
187
+ {@render sliceCell({
188
+ data: place.data,
189
+ width: place.width,
190
+ height: place.height,
191
+ margins: place.margins,
192
+ tooltip: tooltipConfig,
193
+ scales: slicing.facetScales<TScales>(sharedScales, place),
194
+ panel: panels ? FacetPhase.buildPanelState(panels, slicing.panelKey(place) ?? '') : undefined,
195
+ keep: slicing.keep({ time, facet: place })
196
+ })}
197
+ </HoverScope>
198
+ {/snippet}
199
+
200
+ {#snippet facetGrid(
201
+ stepRows: TRow[],
202
+ w: number,
203
+ h: number,
204
+ time: TimeValue | undefined,
205
+ panels: FacetStageState | undefined
206
+ )}
207
+ <FacetLayout data={stepRows} {...slicing.layout} width={w} height={h}>
208
+ {#snippet cell(place)}
209
+ {@render facetCell(place, time, panels)}
210
+ {/snippet}
211
+ </FacetLayout>
212
+ {/snippet}
213
+
214
+ {#snippet facetBody(
215
+ stepRows: TRow[] | undefined,
216
+ w: number,
217
+ h: number,
218
+ time: TimeValue | undefined
219
+ )}
220
+ {#if facet && stepRows && dataRun}
221
+ <PanelRun
222
+ rows={stepRows}
223
+ run={(r, legendInteraction) => dataRun(r, facet, legendInteraction)}
224
+ frame={stepRows === rows ? frameState : undefined}
225
+ >
226
+ {#snippet children(panels)}
227
+ {@render facetGrid(stepRows, w, h, time, panels)}
228
+ {/snippet}
229
+ </PanelRun>
230
+ {:else if facet && stepRows}
231
+ {@render facetGrid(stepRows, w, h, time, undefined)}
232
+ {:else}
233
+ {@render sliceCell({
234
+ data: stepRows,
235
+ width: w,
236
+ height: h,
237
+ tooltip: tooltipConfig,
238
+ scales: slicing.timelineScales<TScales>(sharedScales),
239
+ keep: slicing.keep({ time })
240
+ })}
241
+ {/if}
242
+ {/snippet}
243
+
244
+ {#snippet body({ width: w, height: h }: { width: number; height: number })}
245
+ {#if timeline && rows}
246
+ <TimelineLayout
247
+ data={rows}
248
+ accessor={timeline.accessor}
249
+ progress={timelineState?.progress ?? timeline.progress ?? 0}
250
+ values={sharedTimeline ? sharedTimeline.steps : timeline.values}
251
+ onsteps={ownTimeline ? (found) => ownTimeline.setSteps(found) : undefined}
252
+ orientation={timeline.orientation}
253
+ show={false}
254
+ filterMode={slicing.filterMode}
255
+ interpolate={timelineInterpolation}
256
+ width={w}
257
+ height={h}
258
+ >
259
+ {#snippet child({ data: stepRows, width: tw, height: th, selectedValue })}
260
+ {@render facetBody(stepRows, tw, th, selectedValue)}
261
+ {/snippet}
262
+ </TimelineLayout>
263
+ {:else}
264
+ {@render facetBody(rows, w, h, undefined)}
265
+ {/if}
266
+ {/snippet}
267
+
268
+ <Figure
269
+ width={width ?? core?.width}
270
+ height={height ?? core?.height}
271
+ area={core?.area}
272
+ inset={core?.inset}
273
+ {title}
274
+ {subtitle}
275
+ {caption}
276
+ {header}
277
+ {footer}
278
+ {legend}
279
+ {order}
280
+ hoverStrategy={hoverSettings.strategy}
281
+ hoverSync={hoverSettings.sync}
282
+ timelineState={ownTimeline}
283
+ {body}
284
+ />
@@ -0,0 +1,49 @@
1
+ import type { Component } from 'svelte';
2
+ import { Pipeline } from '../../phases/Pipeline';
3
+ import type { TooltipProp } from '../../types/layout/tooltip';
4
+ import type { MarginConfig, PlotChromeConfig } from '../../types/plots/props';
5
+ import type { PlotCellContext, PlotCellSnippet, PlotCoreBase } from '../../types/layout/plot';
6
+ import type { FacetConfig } from '../../types/layout/facet';
7
+ import type { TimelineConfig } from '../../types/layout/timeline';
8
+ import type { AxisPlotDefaults } from '../../types/phases';
9
+ declare function $$render<TRow extends Record<string, unknown>, TScales extends object, TCore extends PlotCoreBase>(): {
10
+ props: PlotChromeConfig & {
11
+ Core?: Component<any, Record<string, never>, "margins">;
12
+ core?: TCore;
13
+ defaults?: () => AxisPlotDefaults<any, any> | Pipeline<any, any>;
14
+ slice?: (cell: PlotCellContext<TRow, TScales>) => TCore;
15
+ cell?: PlotCellSnippet<TRow, TScales>;
16
+ margins?: MarginConfig;
17
+ tooltip?: TooltipProp<TRow>;
18
+ /** The rows `timeline` and `facet` slice. Defaults to `core.data`. */
19
+ data?: TRow[];
20
+ width?: number;
21
+ height?: number;
22
+ markers?: {
23
+ type: string;
24
+ }[];
25
+ timeline?: TimelineConfig<TRow>;
26
+ facet?: FacetConfig<TRow>;
27
+ };
28
+ exports: {};
29
+ bindings: "margins";
30
+ slots: {};
31
+ events: {};
32
+ };
33
+ declare class __sveltets_Render<TRow extends Record<string, unknown>, TScales extends object, TCore extends PlotCoreBase> {
34
+ props(): ReturnType<typeof $$render<TRow, TScales, TCore>>['props'];
35
+ events(): ReturnType<typeof $$render<TRow, TScales, TCore>>['events'];
36
+ slots(): ReturnType<typeof $$render<TRow, TScales, TCore>>['slots'];
37
+ bindings(): "margins";
38
+ exports(): {};
39
+ }
40
+ interface $$IsomorphicComponent {
41
+ new <TRow extends Record<string, unknown>, TScales extends object, TCore extends PlotCoreBase>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TRow, TScales, TCore>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TRow, TScales, TCore>['props']>, ReturnType<__sveltets_Render<TRow, TScales, TCore>['events']>, ReturnType<__sveltets_Render<TRow, TScales, TCore>['slots']>> & {
42
+ $$bindings?: ReturnType<__sveltets_Render<TRow, TScales, TCore>['bindings']>;
43
+ } & ReturnType<__sveltets_Render<TRow, TScales, TCore>['exports']>;
44
+ <TRow extends Record<string, unknown>, TScales extends object, TCore extends PlotCoreBase>(internal: unknown, props: ReturnType<__sveltets_Render<TRow, TScales, TCore>['props']> & {}): ReturnType<__sveltets_Render<TRow, TScales, TCore>['exports']>;
45
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
46
+ }
47
+ declare const Plot: $$IsomorphicComponent;
48
+ type Plot<TRow extends Record<string, unknown>, TScales extends object, TCore extends PlotCoreBase> = InstanceType<typeof Plot<TRow, TScales, TCore>>;
49
+ export default Plot;
@@ -0,0 +1,41 @@
1
+ import type { PlotHover } from '../hover/PlotHover.svelte';
2
+ import type { LegendState } from '../legend/LegendState.svelte';
3
+ import type { TimelineState } from '../timeline/TimelineState.svelte';
4
+ import type { PlotMargins } from '../margins/PlotMargins.svelte';
5
+ import type { PlotAxes } from '../../phases/data/PlotAxes';
6
+ /** What a plot's context is built from; the functions are read reactively. */
7
+ export type PlotContextParts<T extends Record<string, unknown>> = {
8
+ hover: PlotHover<T>;
9
+ legend: LegendState | null;
10
+ timeline: TimelineState | null;
11
+ margins: PlotMargins;
12
+ scales: () => object | undefined;
13
+ axes: () => PlotAxes | undefined;
14
+ data: () => T[];
15
+ size: () => {
16
+ width: number;
17
+ height: number;
18
+ };
19
+ };
20
+ /**
21
+ * Everything one plot is, gathered where what draws inside it can reach it:
22
+ * its hover, its figure's legend and timeline, its margins, scales, axes, rows and box. The
23
+ * mutable side; {@link PublicPlotContext} is what a user gets to read.
24
+ */
25
+ export declare class PlotContext<T extends Record<string, unknown> = Record<string, unknown>> {
26
+ #private;
27
+ readonly hover: PlotHover<T>;
28
+ readonly legend: LegendState | null;
29
+ readonly timeline: TimelineState | null;
30
+ readonly margins: PlotMargins;
31
+ constructor(parts: PlotContextParts<T>);
32
+ /** The enclosing plot's context, or `null` outside one. Call during component init. */
33
+ static current(): PlotContext | null;
34
+ /** A new context for everything drawn below. Call during component init. */
35
+ static provide<T extends Record<string, unknown>>(parts: PlotContextParts<T>): PlotContext<T>;
36
+ get scales(): object | undefined;
37
+ get axes(): PlotAxes | undefined;
38
+ get data(): T[];
39
+ get width(): number;
40
+ get height(): number;
41
+ }
@@ -0,0 +1,46 @@
1
+ import { getContext, setContext } from 'svelte';
2
+ const PLOT_CONTEXT_KEY = Symbol('dct-plot-context');
3
+ /**
4
+ * Everything one plot is, gathered where what draws inside it can reach it:
5
+ * its hover, its figure's legend and timeline, its margins, scales, axes, rows and box. The
6
+ * mutable side; {@link PublicPlotContext} is what a user gets to read.
7
+ */
8
+ export class PlotContext {
9
+ hover;
10
+ legend;
11
+ timeline;
12
+ margins;
13
+ #parts;
14
+ constructor(parts) {
15
+ this.#parts = parts;
16
+ this.hover = parts.hover;
17
+ this.legend = parts.legend;
18
+ this.timeline = parts.timeline;
19
+ this.margins = parts.margins;
20
+ }
21
+ /** The enclosing plot's context, or `null` outside one. Call during component init. */
22
+ static current() {
23
+ return getContext(PLOT_CONTEXT_KEY) ?? null;
24
+ }
25
+ /** A new context for everything drawn below. Call during component init. */
26
+ static provide(parts) {
27
+ const context = new PlotContext(parts);
28
+ setContext(PLOT_CONTEXT_KEY, context);
29
+ return context;
30
+ }
31
+ get scales() {
32
+ return this.#parts.scales();
33
+ }
34
+ get axes() {
35
+ return this.#parts.axes();
36
+ }
37
+ get data() {
38
+ return this.#parts.data();
39
+ }
40
+ get width() {
41
+ return this.#parts.size().width;
42
+ }
43
+ get height() {
44
+ return this.#parts.size().height;
45
+ }
46
+ }