@fundar/data-chart-telling 0.0.64 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (786) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +21 -0
  3. package/README.md +81 -561
  4. package/dist/configuration/config.svelte.d.ts +5 -5
  5. package/dist/configuration/config.svelte.js +130 -46
  6. package/dist/configuration/fonts.d.ts +6 -0
  7. package/dist/configuration/fonts.js +6 -0
  8. package/dist/configuration/themes/compact.d.ts +2 -2
  9. package/dist/configuration/themes/compact.js +1 -1
  10. package/dist/configuration/themes/dark.d.ts +2 -2
  11. package/dist/configuration/themes/dark.js +5 -4
  12. package/dist/configuration/themes/default.d.ts +8 -3
  13. package/dist/configuration/themes/default.js +8 -2
  14. package/dist/configuration/themes/editorial.d.ts +2 -2
  15. package/dist/configuration/themes/editorial.js +2 -2
  16. package/dist/configuration/themes/index.d.ts +421 -80
  17. package/dist/configuration/themes/index.js +6 -5
  18. package/dist/index.d.ts +34 -48
  19. package/dist/index.js +19 -35
  20. package/dist/layout/base/BasePlotLayout.svelte +312 -0
  21. package/dist/layout/base/BasePlotLayout.svelte.d.ts +111 -0
  22. package/dist/layout/composer/PlotComposer.svelte +94 -0
  23. package/dist/layout/composer/PlotComposer.svelte.d.ts +13 -0
  24. package/dist/layout/coordinates/CameraFit.svelte +4 -4
  25. package/dist/layout/coordinates/CoordinatesLayout.svelte +11 -3
  26. package/dist/layout/coordinates/CoordinatesLayout.svelte.d.ts +6 -2
  27. package/dist/layout/coordinates/camera.svelte.d.ts +1 -1
  28. package/dist/layout/coordinates/camera.svelte.js +6 -6
  29. package/dist/layout/coordinates/projections/argentina.js +3 -3
  30. package/dist/layout/coordinates/projections/fit.js +1 -1
  31. package/dist/layout/coordinates/resolveCameraTarget.d.ts +1 -1
  32. package/dist/layout/coordinates/resolveProjection.d.ts +1 -1
  33. package/dist/layout/coordinates/resolveProjection.js +2 -2
  34. package/dist/layout/coordinates/rotate.svelte.d.ts +3 -3
  35. package/dist/layout/coordinates/rotate.svelte.js +8 -8
  36. package/dist/layout/coordinates/zoom.svelte.d.ts +1 -1
  37. package/dist/layout/facet/FacetIndicator.svelte +23 -23
  38. package/dist/layout/facet/FacetLayout.svelte +435 -398
  39. package/dist/layout/facet/FacetLayout.svelte.d.ts +9 -3
  40. package/dist/layout/facet/axes.d.ts +16 -0
  41. package/dist/layout/facet/axes.js +25 -0
  42. package/dist/layout/facet/config.d.ts +32 -0
  43. package/dist/layout/facet/config.js +82 -0
  44. package/dist/layout/figure/Figure.svelte +177 -0
  45. package/dist/layout/figure/Figure.svelte.d.ts +14 -0
  46. package/dist/layout/figure/FigureChrome.svelte +341 -0
  47. package/dist/layout/figure/FigureChrome.svelte.d.ts +21 -0
  48. package/dist/layout/geometry/FrameClip.svelte +45 -0
  49. package/dist/layout/geometry/FrameClip.svelte.d.ts +8 -0
  50. package/dist/layout/geometry/FrameClipping.d.ts +24 -0
  51. package/dist/layout/geometry/FrameClipping.js +40 -0
  52. package/dist/layout/geometry/GeometryLayout.svelte +287 -224
  53. package/dist/layout/geometry/GeometryLayout.svelte.d.ts +10 -10
  54. package/dist/layout/grid/Grid.svelte +194 -0
  55. package/dist/layout/grid/Grid.svelte.d.ts +26 -0
  56. package/dist/layout/grid/GridAlignment.svelte.d.ts +31 -0
  57. package/dist/layout/grid/GridAlignment.svelte.js +56 -0
  58. package/dist/layout/grid/GridCell.svelte +141 -0
  59. package/dist/layout/grid/GridCell.svelte.d.ts +17 -0
  60. package/dist/layout/grid/GridCellsRegistry.svelte.d.ts +52 -0
  61. package/dist/layout/grid/GridCellsRegistry.svelte.js +70 -0
  62. package/dist/layout/grid/GridPlan.d.ts +49 -0
  63. package/dist/layout/grid/GridPlan.js +167 -0
  64. package/dist/layout/grid/Tags.d.ts +8 -0
  65. package/dist/layout/grid/Tags.js +39 -0
  66. package/dist/layout/hover/HoverScope.svelte +11 -0
  67. package/dist/layout/hover/HoverScope.svelte.d.ts +8 -0
  68. package/dist/layout/hover/HoverSettings.d.ts +20 -0
  69. package/dist/layout/hover/HoverSettings.js +27 -0
  70. package/dist/layout/hover/HoverState.svelte.d.ts +47 -0
  71. package/dist/layout/hover/HoverState.svelte.js +99 -0
  72. package/dist/layout/hover/PlotHover.svelte.d.ts +63 -0
  73. package/dist/layout/hover/PlotHover.svelte.js +133 -0
  74. package/dist/layout/interaction/PlotInteraction.svelte.d.ts +38 -0
  75. package/dist/layout/interaction/PlotInteraction.svelte.js +56 -0
  76. package/dist/layout/legend/AxisNumberFormat.d.ts +12 -0
  77. package/dist/layout/legend/AxisNumberFormat.js +25 -0
  78. package/dist/layout/legend/ContinuousSection.svelte +363 -351
  79. package/dist/layout/legend/DisabledStyle.d.ts +19 -0
  80. package/dist/layout/legend/DisabledStyle.js +57 -0
  81. package/dist/layout/legend/DiscreteBadgeItem.svelte +6 -3
  82. package/dist/layout/legend/DiscreteSection.svelte +32 -32
  83. package/dist/layout/legend/DiscreteSwatchItem.svelte +4 -1
  84. package/dist/layout/legend/DiscreteSymbolIcon.svelte +14 -9
  85. package/dist/layout/legend/LegendChannels.d.ts +21 -0
  86. package/dist/layout/legend/LegendChannels.js +221 -0
  87. package/dist/layout/legend/LegendLayout.svelte +49 -43
  88. package/dist/layout/legend/LegendState.svelte.d.ts +79 -0
  89. package/dist/layout/legend/LegendState.svelte.js +329 -0
  90. package/dist/layout/legend/LegendText.d.ts +12 -0
  91. package/dist/layout/legend/LegendText.js +22 -0
  92. package/dist/layout/legend/SizeSection.svelte +84 -0
  93. package/dist/layout/legend/SizeSection.svelte.d.ts +7 -0
  94. package/dist/layout/legend/SymbolSection.svelte +31 -0
  95. package/dist/layout/legend/SymbolSection.svelte.d.ts +8 -0
  96. package/dist/layout/margins/Box.d.ts +84 -0
  97. package/dist/layout/margins/Box.js +138 -0
  98. package/dist/layout/margins/Margins.d.ts +37 -0
  99. package/dist/layout/margins/Margins.js +71 -0
  100. package/dist/layout/margins/PlotMargins.svelte.d.ts +101 -0
  101. package/dist/layout/margins/PlotMargins.svelte.js +219 -0
  102. package/dist/layout/plot/Core.svelte +61 -0
  103. package/dist/layout/plot/Core.svelte.d.ts +41 -0
  104. package/dist/layout/plot/PanelRun.svelte +28 -0
  105. package/dist/{charts/heatmap/Chart.svelte.d.ts → layout/plot/PanelRun.svelte.d.ts} +11 -7
  106. package/dist/layout/plot/Plot.svelte +284 -0
  107. package/dist/layout/plot/Plot.svelte.d.ts +49 -0
  108. package/dist/layout/plot/PlotContext.d.ts +41 -0
  109. package/dist/layout/plot/PlotContext.js +46 -0
  110. package/dist/layout/plot/PublicPlotContext.d.ts +130 -0
  111. package/dist/layout/plot/PublicPlotContext.js +236 -0
  112. package/dist/layout/plot/Slice.d.ts +44 -0
  113. package/dist/layout/plot/Slice.js +98 -0
  114. package/dist/layout/plot/usePlot.d.ts +9 -0
  115. package/dist/layout/plot/usePlot.js +13 -0
  116. package/dist/layout/scales/ScalesLayout.svelte +241 -206
  117. package/dist/layout/scales/ScalesLayout.svelte.d.ts +2 -1
  118. package/dist/layout/scales/buildScale.d.ts +5 -22
  119. package/dist/layout/scales/buildScale.js +11 -34
  120. package/dist/layout/scales/niceDomain.d.ts +3 -3
  121. package/dist/layout/scales/niceDomain.js +4 -4
  122. package/dist/layout/styles/StylesLayout.svelte +65 -65
  123. package/dist/layout/styles/TileLayer.svelte +78 -76
  124. package/dist/layout/styles/TileLayer.svelte.d.ts +1 -1
  125. package/dist/layout/styles/ValueLabels.d.ts +97 -0
  126. package/dist/layout/styles/ValueLabels.js +237 -0
  127. package/dist/layout/timeline/Timeline.svelte +80 -74
  128. package/dist/layout/timeline/TimelineFrame.svelte +86 -0
  129. package/dist/layout/timeline/TimelineFrame.svelte.d.ts +16 -0
  130. package/dist/layout/timeline/TimelineLayout.svelte +114 -169
  131. package/dist/layout/timeline/TimelineLayout.svelte.d.ts +2 -0
  132. package/dist/layout/timeline/TimelinePlayer.svelte +195 -0
  133. package/dist/layout/timeline/TimelinePlayer.svelte.d.ts +7 -0
  134. package/dist/layout/timeline/TimelineRule.svelte +50 -0
  135. package/dist/layout/timeline/TimelineRule.svelte.d.ts +7 -0
  136. package/dist/layout/timeline/TimelineState.svelte.d.ts +82 -0
  137. package/dist/layout/timeline/TimelineState.svelte.js +226 -0
  138. package/dist/layout/timeline/TimelineSteps.d.ts +24 -0
  139. package/dist/layout/timeline/TimelineSteps.js +48 -0
  140. package/dist/layout/tooltip/Tooltip.svelte +82 -85
  141. package/dist/layout/tooltip/Tooltip.svelte.d.ts +43 -24
  142. package/dist/layout/tooltip/TooltipState.svelte.d.ts +61 -0
  143. package/dist/layout/tooltip/TooltipState.svelte.js +107 -0
  144. package/dist/markers/MarkerKinds.d.ts +173 -0
  145. package/dist/markers/MarkerKinds.js +51 -0
  146. package/dist/markers/area/AreaMarker.svelte +110 -0
  147. package/dist/markers/area/AreaMarker.svelte.d.ts +7 -0
  148. package/dist/markers/arrow/ArrowMarker.svelte +28 -0
  149. package/dist/markers/arrow/ArrowMarker.svelte.d.ts +7 -0
  150. package/dist/markers/{BarMarker.svelte → bar/BarMarker.svelte} +54 -52
  151. package/dist/markers/{BarMarker.svelte.d.ts → bar/BarMarker.svelte.d.ts} +1 -1
  152. package/dist/markers/bollinger/BollingerMarker.svelte +44 -0
  153. package/dist/markers/bollinger/BollingerMarker.svelte.d.ts +7 -0
  154. package/dist/markers/box/BoxMarker.svelte +143 -0
  155. package/dist/markers/box/BoxMarker.svelte.d.ts +7 -0
  156. package/dist/markers/brush/BrushMarker.svelte +32 -0
  157. package/dist/markers/brush/BrushMarker.svelte.d.ts +7 -0
  158. package/dist/markers/cell/CellMarker.svelte +27 -0
  159. package/dist/markers/{CellMarker.svelte.d.ts → cell/CellMarker.svelte.d.ts} +1 -1
  160. package/dist/markers/contour/ContourClipMarker.svelte +83 -0
  161. package/dist/markers/{ContourClipMarker.svelte.d.ts → contour/ContourClipMarker.svelte.d.ts} +1 -1
  162. package/dist/markers/contour/ContourMarker.svelte +28 -0
  163. package/dist/markers/{ContourMarker.svelte.d.ts → contour/ContourMarker.svelte.d.ts} +1 -1
  164. package/dist/markers/delaunay/DelaunayLinkMarker.svelte +26 -0
  165. package/dist/markers/delaunay/DelaunayLinkMarker.svelte.d.ts +7 -0
  166. package/dist/markers/delaunay/DelaunayMeshMarker.svelte +26 -0
  167. package/dist/markers/delaunay/DelaunayMeshMarker.svelte.d.ts +7 -0
  168. package/dist/markers/delta/Delta.d.ts +21 -0
  169. package/dist/markers/delta/Delta.js +60 -0
  170. package/dist/markers/delta/DeltaMarker.svelte +94 -0
  171. package/dist/markers/{DeltaMarker.svelte.d.ts → delta/DeltaMarker.svelte.d.ts} +2 -2
  172. package/dist/markers/density/DensityMarker.svelte +63 -0
  173. package/dist/markers/density/DensityMarker.svelte.d.ts +7 -0
  174. package/dist/markers/difference/DifferenceMarker.svelte +30 -0
  175. package/dist/markers/difference/DifferenceMarker.svelte.d.ts +7 -0
  176. package/dist/markers/dot/DotMarker.svelte +102 -0
  177. package/dist/markers/{DotMarker.svelte.d.ts → dot/DotMarker.svelte.d.ts} +5 -17
  178. package/dist/markers/geo/GeoFeaturesMarker.svelte +39 -0
  179. package/dist/markers/{GeoFeaturesMarker.svelte.d.ts → geo/GeoFeaturesMarker.svelte.d.ts} +1 -1
  180. package/dist/markers/geo/GeoHoverMarker.svelte +28 -0
  181. package/dist/markers/{GeoHoverMarker.svelte.d.ts → geo/GeoHoverMarker.svelte.d.ts} +2 -2
  182. package/dist/markers/geo/GraticuleMarker.svelte +18 -0
  183. package/dist/markers/{GraticuleMarker.svelte.d.ts → geo/GraticuleMarker.svelte.d.ts} +1 -1
  184. package/dist/markers/geo/SphereMarker.svelte +15 -0
  185. package/dist/markers/{SphereMarker.svelte.d.ts → geo/SphereMarker.svelte.d.ts} +1 -1
  186. package/dist/markers/hover/HoverMarker.svelte +252 -0
  187. package/dist/markers/{HoverMarker.svelte.d.ts → hover/HoverMarker.svelte.d.ts} +10 -10
  188. package/dist/markers/hull/HullMarker.svelte +25 -0
  189. package/dist/markers/hull/HullMarker.svelte.d.ts +7 -0
  190. package/dist/markers/image/ImageMarker.svelte +22 -0
  191. package/dist/markers/image/ImageMarker.svelte.d.ts +7 -0
  192. package/dist/markers/inset/InsetMarker.svelte +184 -150
  193. package/dist/markers/inset/InsetMarker.svelte.d.ts +4 -4
  194. package/dist/markers/inset/insetLayout.d.ts +1 -1
  195. package/dist/markers/inset/insetLayout.js +6 -2
  196. package/dist/markers/inset/insetProjection.d.ts +1 -1
  197. package/dist/markers/inset/insetProjection.js +3 -3
  198. package/dist/markers/line/LineMarker.svelte +30 -0
  199. package/dist/markers/{LineMarker.svelte.d.ts → line/LineMarker.svelte.d.ts} +1 -1
  200. package/dist/markers/link/LinkMarker.svelte +47 -0
  201. package/dist/markers/{LinkMarker.svelte.d.ts → link/LinkMarker.svelte.d.ts} +1 -1
  202. package/dist/markers/raster/RasterMarker.svelte +31 -0
  203. package/dist/markers/raster/RasterMarker.svelte.d.ts +7 -0
  204. package/dist/markers/rect/RectMarker.svelte +62 -0
  205. package/dist/markers/rect/RectMarker.svelte.d.ts +7 -0
  206. package/dist/markers/regression/RegressionMarker.svelte +60 -0
  207. package/dist/markers/regression/RegressionMarker.svelte.d.ts +7 -0
  208. package/dist/markers/rule/RuleMarker.svelte +47 -0
  209. package/dist/markers/{RuleMarker.svelte.d.ts → rule/RuleMarker.svelte.d.ts} +2 -5
  210. package/dist/markers/text/Declutter.d.ts +35 -0
  211. package/dist/markers/text/Declutter.js +157 -0
  212. package/dist/markers/text/TextMarker.svelte +244 -0
  213. package/dist/markers/{TextMarker.svelte.d.ts → text/TextMarker.svelte.d.ts} +5 -9
  214. package/dist/markers/tick/TickMarker.svelte +44 -0
  215. package/dist/markers/tick/TickMarker.svelte.d.ts +7 -0
  216. package/dist/markers/trail/TrailMarker.svelte +27 -0
  217. package/dist/markers/trail/TrailMarker.svelte.d.ts +7 -0
  218. package/dist/markers/utils/BandNudge.d.ts +22 -0
  219. package/dist/markers/utils/BandNudge.js +23 -0
  220. package/dist/markers/utils/MarkerChannels.d.ts +49 -0
  221. package/dist/markers/utils/MarkerChannels.js +97 -0
  222. package/dist/markers/vector/VectorMarker.svelte +29 -0
  223. package/dist/markers/{VectorMarker.svelte.d.ts → vector/VectorMarker.svelte.d.ts} +1 -1
  224. package/dist/markers/voronoi/VoronoiMarker.svelte +26 -0
  225. package/dist/markers/voronoi/VoronoiMarker.svelte.d.ts +7 -0
  226. package/dist/markers/voronoi/VoronoiMeshMarker.svelte +26 -0
  227. package/dist/markers/voronoi/VoronoiMeshMarker.svelte.d.ts +7 -0
  228. package/dist/markers/waffle/WaffleMarker.svelte +56 -0
  229. package/dist/markers/waffle/WaffleMarker.svelte.d.ts +7 -0
  230. package/dist/phases/Pipeline.d.ts +108 -0
  231. package/dist/phases/Pipeline.js +226 -0
  232. package/dist/phases/data/DataPhase.d.ts +25 -0
  233. package/dist/phases/data/DataPhase.js +82 -0
  234. package/dist/phases/data/PlotAxes.d.ts +75 -0
  235. package/dist/phases/data/PlotAxes.js +151 -0
  236. package/dist/phases/facet/FacetPhase.d.ts +52 -0
  237. package/dist/phases/facet/FacetPhase.js +114 -0
  238. package/dist/phases/hover/HoverPhase.d.ts +73 -0
  239. package/dist/phases/hover/HoverPhase.js +144 -0
  240. package/dist/phases/mapping/MappingPhase.d.ts +17 -0
  241. package/dist/phases/mapping/MappingPhase.js +42 -0
  242. package/dist/phases/markers/MarkersPhase.d.ts +14 -0
  243. package/dist/phases/markers/MarkersPhase.js +27 -0
  244. package/dist/phases/scales/MarkerAxisValues.d.ts +12 -0
  245. package/dist/phases/scales/MarkerAxisValues.js +34 -0
  246. package/dist/phases/scales/ScalesPhase.d.ts +31 -0
  247. package/dist/phases/scales/ScalesPhase.js +157 -0
  248. package/dist/phases/sharedScales/SharedScalesPhase.d.ts +55 -0
  249. package/dist/phases/sharedScales/SharedScalesPhase.js +168 -0
  250. package/dist/phases/statistics/AuthorMarkers.d.ts +43 -0
  251. package/dist/phases/statistics/AuthorMarkers.js +69 -0
  252. package/dist/phases/statistics/MarkerGrouping.d.ts +48 -0
  253. package/dist/phases/statistics/MarkerGrouping.js +113 -0
  254. package/dist/phases/statistics/Statistics.d.ts +53 -0
  255. package/dist/phases/statistics/Statistics.js +156 -0
  256. package/dist/phases/statistics/StatisticsPhase.d.ts +18 -0
  257. package/dist/phases/statistics/StatisticsPhase.js +68 -0
  258. package/dist/phases/statistics/methods/BollingerStatistic.d.ts +9 -0
  259. package/dist/phases/statistics/methods/BollingerStatistic.js +18 -0
  260. package/dist/phases/statistics/methods/BoxStatistic.d.ts +9 -0
  261. package/dist/phases/statistics/methods/BoxStatistic.js +18 -0
  262. package/dist/phases/statistics/methods/Density2dStatistic.d.ts +9 -0
  263. package/dist/phases/statistics/methods/Density2dStatistic.js +18 -0
  264. package/dist/phases/statistics/methods/DensityStatistic.d.ts +12 -0
  265. package/dist/phases/statistics/methods/DensityStatistic.js +29 -0
  266. package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +12 -0
  267. package/dist/phases/statistics/methods/MovingAverageStatistic.js +30 -0
  268. package/dist/phases/statistics/methods/RegressionStatistic.d.ts +9 -0
  269. package/dist/phases/statistics/methods/RegressionStatistic.js +21 -0
  270. package/dist/phases/styles/StylesPhase.d.ts +13 -0
  271. package/dist/phases/styles/StylesPhase.js +17 -0
  272. package/dist/phases/tooltip/TooltipPhase.d.ts +12 -0
  273. package/dist/phases/tooltip/TooltipPhase.js +10 -0
  274. package/dist/phases/transforms/Transforms.d.ts +42 -0
  275. package/dist/phases/transforms/Transforms.js +130 -0
  276. package/dist/phases/transforms/TransformsPhase.d.ts +64 -0
  277. package/dist/phases/transforms/TransformsPhase.js +242 -0
  278. package/dist/phases/transforms/methods/AnchorBar.d.ts +13 -0
  279. package/dist/phases/transforms/methods/AnchorBar.js +21 -0
  280. package/dist/phases/transforms/methods/BinTransform.d.ts +7 -0
  281. package/dist/phases/transforms/methods/BinTransform.js +48 -0
  282. package/dist/phases/transforms/methods/DensityTransform.d.ts +6 -0
  283. package/dist/phases/transforms/methods/DensityTransform.js +13 -0
  284. package/dist/phases/transforms/methods/GroupTransform.d.ts +8 -0
  285. package/dist/phases/transforms/methods/GroupTransform.js +39 -0
  286. package/dist/phases/transforms/methods/NormalizeTransform.d.ts +10 -0
  287. package/dist/phases/transforms/methods/NormalizeTransform.js +30 -0
  288. package/dist/phases/transforms/methods/OrderTransform.d.ts +16 -0
  289. package/dist/phases/transforms/methods/OrderTransform.js +43 -0
  290. package/dist/phases/transforms/methods/PerGroup.d.ts +11 -0
  291. package/dist/phases/transforms/methods/PerGroup.js +39 -0
  292. package/dist/phases/transforms/methods/PositionTransform.d.ts +15 -0
  293. package/dist/phases/transforms/methods/PositionTransform.js +74 -0
  294. package/dist/phases/transforms/methods/StackTransform.d.ts +8 -0
  295. package/dist/phases/transforms/methods/StackTransform.js +29 -0
  296. package/dist/phases/transforms/methods/WindowTransform.d.ts +8 -0
  297. package/dist/phases/transforms/methods/WindowTransform.js +23 -0
  298. package/dist/plots/area/Plot.svelte +42 -0
  299. package/dist/plots/{heatmap/ValueLabels.svelte.d.ts → area/Plot.svelte.d.ts} +8 -16
  300. package/dist/plots/area/defaults.d.ts +4 -0
  301. package/dist/plots/area/defaults.js +21 -0
  302. package/dist/plots/area/markers.d.ts +14 -0
  303. package/dist/plots/area/markers.js +40 -0
  304. package/dist/plots/bar/Plot.svelte +33 -438
  305. package/dist/plots/bar/Plot.svelte.d.ts +5 -8
  306. package/dist/plots/bar/defaults.d.ts +9 -0
  307. package/dist/plots/bar/defaults.js +92 -0
  308. package/dist/plots/bar/markers.d.ts +45 -0
  309. package/dist/plots/bar/markers.js +232 -0
  310. package/dist/plots/geo/Core.svelte +151 -0
  311. package/dist/plots/geo/Core.svelte.d.ts +25 -0
  312. package/dist/plots/geo/Plot.svelte +103 -324
  313. package/dist/plots/geo/Plot.svelte.d.ts +5 -9
  314. package/dist/plots/geo/defaults.d.ts +4 -0
  315. package/dist/plots/geo/defaults.js +16 -0
  316. package/dist/plots/geo/features.svelte.d.ts +5 -0
  317. package/dist/plots/geo/features.svelte.js +44 -0
  318. package/dist/plots/geo/phases/data.d.ts +6 -0
  319. package/dist/plots/geo/phases/data.js +26 -0
  320. package/dist/plots/geo/phases/hover.d.ts +9 -0
  321. package/dist/plots/geo/phases/hover.js +45 -0
  322. package/dist/plots/geo/phases/markers.d.ts +9 -0
  323. package/dist/plots/geo/phases/markers.js +76 -0
  324. package/dist/plots/geo/phases/scales.d.ts +10 -0
  325. package/dist/plots/geo/phases/scales.js +85 -0
  326. package/dist/plots/geo/phases/tooltip.d.ts +3 -0
  327. package/dist/plots/geo/phases/tooltip.js +5 -0
  328. package/dist/plots/geo/slices.d.ts +18 -0
  329. package/dist/plots/geo/slices.js +56 -0
  330. package/dist/plots/heatmap/Plot.svelte +55 -249
  331. package/dist/plots/heatmap/Plot.svelte.d.ts +5 -8
  332. package/dist/plots/heatmap/defaults.d.ts +11 -0
  333. package/dist/plots/heatmap/defaults.js +91 -0
  334. package/dist/plots/heatmap/markers.d.ts +17 -0
  335. package/dist/plots/heatmap/markers.js +141 -0
  336. package/dist/plots/histogram/Plot.svelte +45 -0
  337. package/dist/plots/histogram/Plot.svelte.d.ts +26 -0
  338. package/dist/plots/histogram/defaults.d.ts +9 -0
  339. package/dist/plots/histogram/defaults.js +87 -0
  340. package/dist/plots/histogram/markers.d.ts +18 -0
  341. package/dist/plots/histogram/markers.js +89 -0
  342. package/dist/plots/line/Plot.svelte +37 -268
  343. package/dist/plots/line/Plot.svelte.d.ts +3 -7
  344. package/dist/plots/line/defaults.d.ts +4 -0
  345. package/dist/plots/line/defaults.js +29 -0
  346. package/dist/plots/line/markers.d.ts +49 -0
  347. package/dist/plots/line/markers.js +200 -0
  348. package/dist/plots/pyramid/Plot.svelte +34 -362
  349. package/dist/plots/pyramid/Plot.svelte.d.ts +5 -8
  350. package/dist/plots/pyramid/defaults.d.ts +13 -0
  351. package/dist/plots/pyramid/defaults.js +86 -0
  352. package/dist/plots/pyramid/markers.d.ts +21 -0
  353. package/dist/plots/pyramid/markers.js +159 -0
  354. package/dist/plots/scatter/Plot.svelte +34 -288
  355. package/dist/plots/scatter/Plot.svelte.d.ts +5 -8
  356. package/dist/plots/scatter/defaults.d.ts +4 -0
  357. package/dist/plots/scatter/defaults.js +79 -0
  358. package/dist/plots/scatter/markers.d.ts +19 -0
  359. package/dist/plots/scatter/markers.js +128 -0
  360. package/dist/plots/utils/ChannelName.d.ts +9 -0
  361. package/dist/plots/utils/ChannelName.js +14 -0
  362. package/dist/plots/utils/accessors.d.ts +1 -1
  363. package/dist/plots/utils/accessors.js +4 -2
  364. package/dist/plots/utils/gaps.d.ts +14 -19
  365. package/dist/plots/utils/gaps.js +38 -18
  366. package/dist/plots/utils/geoAccessors.d.ts +8 -8
  367. package/dist/plots/utils/geoAccessors.js +16 -12
  368. package/dist/plots/utils/geoSegments.d.ts +24 -9
  369. package/dist/plots/utils/geoSegments.js +31 -11
  370. package/dist/plots/utils/segments.d.ts +5 -16
  371. package/dist/plots/utils/segments.js +40 -52
  372. package/dist/plots/utils/tiles.d.ts +9 -9
  373. package/dist/plots/utils/tiles.js +35 -25
  374. package/dist/plots/utils/topojson.d.ts +1 -1
  375. package/dist/plots/utils/topojson.js +3 -3
  376. package/dist/stores/device.js +2 -4
  377. package/dist/types/configuration/styling.d.ts +152 -27
  378. package/dist/types/layout/box.d.ts +24 -0
  379. package/dist/types/layout/composer.d.ts +36 -0
  380. package/dist/types/layout/coordinates.d.ts +14 -14
  381. package/dist/types/layout/facet.d.ts +44 -22
  382. package/dist/types/layout/figure.d.ts +7 -0
  383. package/dist/types/layout/geometry.d.ts +6 -2
  384. package/dist/types/layout/grid.d.ts +66 -0
  385. package/dist/types/layout/hover.d.ts +48 -0
  386. package/dist/types/layout/legend.d.ts +256 -55
  387. package/dist/types/layout/mapping.d.ts +68 -0
  388. package/dist/types/layout/plot.d.ts +41 -0
  389. package/dist/types/layout/scales.d.ts +92 -24
  390. package/dist/types/layout/scales.js +19 -1
  391. package/dist/types/layout/statistics/bollinger.d.ts +18 -0
  392. package/dist/types/layout/statistics/box.d.ts +8 -0
  393. package/dist/types/layout/statistics/box.js +1 -0
  394. package/dist/types/layout/statistics/density.d.ts +27 -0
  395. package/dist/types/layout/statistics/density.js +1 -0
  396. package/dist/types/layout/statistics/index.d.ts +46 -0
  397. package/dist/types/layout/statistics/index.js +1 -0
  398. package/dist/types/layout/statistics/movingAverage.d.ts +12 -0
  399. package/dist/types/layout/statistics/movingAverage.js +1 -0
  400. package/dist/types/layout/statistics/regression.d.ts +20 -0
  401. package/dist/types/layout/statistics/regression.js +1 -0
  402. package/dist/types/layout/styles.d.ts +24 -35
  403. package/dist/types/layout/timeline.d.ts +51 -4
  404. package/dist/types/layout/tooltip.d.ts +7 -85
  405. package/dist/types/markers/all.d.ts +3 -4
  406. package/dist/types/markers/axis/area.d.ts +12 -0
  407. package/dist/types/markers/axis/area.js +1 -0
  408. package/dist/types/markers/axis/arrow.d.ts +15 -0
  409. package/dist/types/markers/axis/arrow.js +1 -0
  410. package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +29 -0
  411. package/dist/types/markers/axis/axisBasedMarkersConfig.js +1 -0
  412. package/dist/types/markers/axis/bar.d.ts +18 -0
  413. package/dist/types/markers/axis/bar.js +1 -0
  414. package/dist/types/markers/axis/bollinger.d.ts +6 -0
  415. package/dist/types/markers/axis/bollinger.js +1 -0
  416. package/dist/types/markers/axis/box.d.ts +14 -0
  417. package/dist/types/markers/axis/box.js +1 -0
  418. package/dist/types/markers/axis/brush.d.ts +28 -0
  419. package/dist/types/markers/axis/brush.js +1 -0
  420. package/dist/types/markers/axis/cell.d.ts +9 -0
  421. package/dist/types/markers/axis/cell.js +1 -0
  422. package/dist/types/markers/axis/component.d.ts +9 -0
  423. package/dist/types/markers/axis/component.js +1 -0
  424. package/dist/types/markers/axis/curveName.d.ts +2 -0
  425. package/dist/types/markers/axis/curveName.js +1 -0
  426. package/dist/types/markers/axis/delaunayLink.d.ts +7 -0
  427. package/dist/types/markers/axis/delaunayLink.js +1 -0
  428. package/dist/types/markers/axis/delaunayMesh.d.ts +7 -0
  429. package/dist/types/markers/axis/delaunayMesh.js +1 -0
  430. package/dist/types/markers/axis/delta.d.ts +27 -0
  431. package/dist/types/markers/axis/delta.js +1 -0
  432. package/dist/types/markers/axis/density.d.ts +12 -0
  433. package/dist/types/markers/axis/density.js +1 -0
  434. package/dist/types/markers/axis/difference.d.ts +12 -0
  435. package/dist/types/markers/axis/difference.js +1 -0
  436. package/dist/types/markers/axis/hover.d.ts +21 -0
  437. package/dist/types/markers/axis/hover.js +1 -0
  438. package/dist/types/markers/axis/hull.d.ts +7 -0
  439. package/dist/types/markers/axis/hull.js +1 -0
  440. package/dist/types/markers/axis/image.d.ts +12 -0
  441. package/dist/types/markers/axis/image.js +1 -0
  442. package/dist/types/markers/axis/line.d.ts +7 -0
  443. package/dist/types/markers/axis/line.js +1 -0
  444. package/dist/types/markers/axis/raster.d.ts +18 -0
  445. package/dist/types/markers/axis/raster.js +1 -0
  446. package/dist/types/markers/axis/rect.d.ts +15 -0
  447. package/dist/types/markers/axis/rect.js +1 -0
  448. package/dist/types/markers/axis/regression.d.ts +6 -0
  449. package/dist/types/markers/axis/regression.js +1 -0
  450. package/dist/types/markers/axis/rule.d.ts +15 -0
  451. package/dist/types/markers/axis/rule.js +1 -0
  452. package/dist/types/markers/axis/tick.d.ts +8 -0
  453. package/dist/types/markers/axis/tick.js +1 -0
  454. package/dist/types/markers/axis/trail.d.ts +14 -0
  455. package/dist/types/markers/axis/trail.js +1 -0
  456. package/dist/types/markers/axis/voronoi.d.ts +7 -0
  457. package/dist/types/markers/axis/voronoi.js +1 -0
  458. package/dist/types/markers/axis/voronoiMesh.d.ts +7 -0
  459. package/dist/types/markers/axis/voronoiMesh.js +1 -0
  460. package/dist/types/markers/axis/waffle.d.ts +13 -0
  461. package/dist/types/markers/axis/waffle.js +1 -0
  462. package/dist/types/markers/basic/basicMarkersConfig.d.ts +4 -0
  463. package/dist/types/markers/basic/basicMarkersConfig.js +1 -0
  464. package/dist/types/markers/basic/dot.d.ts +9 -0
  465. package/dist/types/markers/basic/dot.js +1 -0
  466. package/dist/types/markers/basic/text.d.ts +60 -0
  467. package/dist/types/markers/basic/text.js +1 -0
  468. package/dist/types/markers/basic.d.ts +4 -0
  469. package/dist/types/markers/basic.js +1 -0
  470. package/dist/types/markers/channels/commonMarkerConfig.d.ts +26 -0
  471. package/dist/types/markers/channels/commonMarkerConfig.js +1 -0
  472. package/dist/types/markers/channels/commonMarkerConfigWithArea.d.ts +6 -0
  473. package/dist/types/markers/channels/commonMarkerConfigWithArea.js +1 -0
  474. package/dist/types/markers/channels/commonMarkerConfigWithColor.d.ts +5 -0
  475. package/dist/types/markers/channels/commonMarkerConfigWithColor.js +1 -0
  476. package/dist/types/markers/channels/commonMarkerConfigWithInterval.d.ts +9 -0
  477. package/dist/types/markers/channels/commonMarkerConfigWithInterval.js +1 -0
  478. package/dist/types/markers/channels/commonMarkerConfigWithRadius.d.ts +5 -0
  479. package/dist/types/markers/channels/commonMarkerConfigWithRadius.js +1 -0
  480. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.d.ts +5 -0
  481. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.js +1 -0
  482. package/dist/types/markers/channels/commonMarkerConfigWithWeight.d.ts +5 -0
  483. package/dist/types/markers/channels/commonMarkerConfigWithWeight.js +1 -0
  484. package/dist/types/markers/common.d.ts +30 -103
  485. package/dist/types/markers/common.js +29 -1
  486. package/dist/types/markers/geo/contour.d.ts +27 -0
  487. package/dist/types/markers/geo/contour.js +1 -0
  488. package/dist/types/markers/geo/features.d.ts +12 -0
  489. package/dist/types/markers/geo/features.js +1 -0
  490. package/dist/types/markers/geo/geoComponent.d.ts +7 -0
  491. package/dist/types/markers/geo/geoComponent.js +1 -0
  492. package/dist/types/markers/geo/geoHover.d.ts +6 -0
  493. package/dist/types/markers/geo/geoHover.js +1 -0
  494. package/dist/types/markers/geo/geoMarkersConfig.d.ts +11 -0
  495. package/dist/types/markers/geo/geoMarkersConfig.js +1 -0
  496. package/dist/types/markers/geo/graticule.d.ts +11 -0
  497. package/dist/types/markers/geo/graticule.js +1 -0
  498. package/dist/types/markers/geo/inset.d.ts +50 -0
  499. package/dist/types/markers/geo/inset.js +1 -0
  500. package/dist/types/markers/geo/link.d.ts +13 -0
  501. package/dist/types/markers/geo/link.js +1 -0
  502. package/dist/types/markers/geo/sphere.d.ts +11 -0
  503. package/dist/types/markers/geo/sphere.js +1 -0
  504. package/dist/types/markers/geo/vector.d.ts +17 -0
  505. package/dist/types/markers/geo/vector.js +1 -0
  506. package/dist/types/markers/geo.d.ts +10 -212
  507. package/dist/types/markers/geo.js +10 -1
  508. package/dist/types/markers/traits.d.ts +22 -0
  509. package/dist/types/markers/traits.js +1 -0
  510. package/dist/types/misc/easing.js +1 -0
  511. package/dist/types/misc/viewport.js +1 -0
  512. package/dist/types/phases/data/axes.d.ts +18 -0
  513. package/dist/types/phases/data/axes.js +1 -0
  514. package/dist/types/phases/data/phase.d.ts +26 -0
  515. package/dist/types/phases/data/phase.js +2 -0
  516. package/dist/types/phases/facet/phase.d.ts +18 -0
  517. package/dist/types/phases/facet/phase.js +1 -0
  518. package/dist/types/phases/hover/phase.d.ts +34 -0
  519. package/dist/types/phases/hover/phase.js +1 -0
  520. package/dist/types/phases/index.d.ts +14 -0
  521. package/dist/types/phases/index.js +1 -0
  522. package/dist/types/phases/kind.d.ts +59 -0
  523. package/dist/types/phases/kind.js +1 -0
  524. package/dist/types/phases/mapping/phase.d.ts +5 -0
  525. package/dist/types/phases/mapping/phase.js +1 -0
  526. package/dist/types/phases/markers/phase.d.ts +13 -0
  527. package/dist/types/phases/markers/phase.js +1 -0
  528. package/dist/types/phases/pipeline.d.ts +10 -0
  529. package/dist/types/phases/pipeline.js +1 -0
  530. package/dist/types/phases/scales/phase.d.ts +26 -0
  531. package/dist/types/phases/scales/phase.js +1 -0
  532. package/dist/types/phases/sharedScales/phase.d.ts +12 -0
  533. package/dist/types/phases/sharedScales/phase.js +1 -0
  534. package/dist/types/phases/stage.d.ts +12 -0
  535. package/dist/types/phases/stage.js +1 -0
  536. package/dist/types/phases/state.d.ts +73 -0
  537. package/dist/types/phases/state.js +1 -0
  538. package/dist/types/phases/statistics/phase.d.ts +41 -0
  539. package/dist/types/phases/statistics/phase.js +1 -0
  540. package/dist/types/phases/statistics/source.d.ts +20 -0
  541. package/dist/types/phases/statistics/source.js +7 -0
  542. package/dist/types/phases/styles/phase.d.ts +24 -0
  543. package/dist/types/phases/styles/phase.js +1 -0
  544. package/dist/types/phases/transforms/adapter.d.ts +27 -0
  545. package/dist/types/phases/transforms/adapter.js +1 -0
  546. package/dist/types/phases/transforms/phase.d.ts +40 -0
  547. package/dist/types/phases/transforms/phase.js +1 -0
  548. package/dist/types/plots/area/props.d.ts +10 -0
  549. package/dist/types/plots/area/props.js +1 -0
  550. package/dist/types/plots/area/state.d.ts +6 -0
  551. package/dist/types/plots/area/state.js +1 -0
  552. package/dist/types/plots/bar/props.d.ts +10 -0
  553. package/dist/types/plots/bar/props.js +1 -0
  554. package/dist/types/plots/bar/state.d.ts +6 -0
  555. package/dist/types/plots/bar/state.js +1 -0
  556. package/dist/types/plots/camera.d.ts +7 -17
  557. package/dist/types/plots/constants.d.ts +16 -8
  558. package/dist/types/plots/data/common.d.ts +25 -17
  559. package/dist/types/plots/data/geo.d.ts +26 -12
  560. package/dist/types/plots/gaps.d.ts +19 -38
  561. package/dist/types/plots/geo/props.d.ts +23 -0
  562. package/dist/types/plots/geo/props.js +1 -0
  563. package/dist/types/plots/geo/state.d.ts +82 -0
  564. package/dist/types/plots/geo/state.js +1 -0
  565. package/dist/types/plots/heatmap/props.d.ts +10 -0
  566. package/dist/types/plots/heatmap/props.js +1 -0
  567. package/dist/types/plots/heatmap/state.d.ts +28 -0
  568. package/dist/types/plots/heatmap/state.js +1 -0
  569. package/dist/types/plots/histogram/props.d.ts +18 -0
  570. package/dist/types/plots/histogram/props.js +1 -0
  571. package/dist/types/plots/histogram/state.d.ts +6 -0
  572. package/dist/types/plots/histogram/state.js +1 -0
  573. package/dist/types/plots/line/props.d.ts +10 -0
  574. package/dist/types/plots/line/props.js +1 -0
  575. package/dist/types/plots/line/state.d.ts +9 -0
  576. package/dist/types/plots/line/state.js +1 -0
  577. package/dist/types/plots/props.d.ts +143 -35
  578. package/dist/types/plots/pyramid/props.d.ts +10 -0
  579. package/dist/types/plots/pyramid/props.js +1 -0
  580. package/dist/types/plots/pyramid/state.d.ts +16 -0
  581. package/dist/types/plots/pyramid/state.js +1 -0
  582. package/dist/types/plots/scatter/props.d.ts +10 -0
  583. package/dist/types/plots/scatter/props.js +1 -0
  584. package/dist/types/plots/scatter/state.d.ts +6 -0
  585. package/dist/types/plots/scatter/state.js +1 -0
  586. package/dist/types/plots/segments/common.d.ts +1 -1
  587. package/dist/types/plots/segments/config.d.ts +12 -6
  588. package/dist/types/plots/styling.d.ts +5 -5
  589. package/dist/types/transforms/bin.d.ts +84 -0
  590. package/dist/types/transforms/bin.js +28 -0
  591. package/dist/types/transforms/bollinger.d.ts +21 -0
  592. package/dist/types/transforms/bollinger.js +1 -0
  593. package/dist/types/transforms/common.d.ts +29 -0
  594. package/dist/types/transforms/common.js +16 -0
  595. package/dist/types/transforms/density.d.ts +45 -0
  596. package/dist/types/transforms/density.js +10 -0
  597. package/dist/types/transforms/filter.d.ts +12 -0
  598. package/dist/types/transforms/filter.js +14 -0
  599. package/dist/types/transforms/group.d.ts +70 -0
  600. package/dist/types/transforms/group.js +8 -0
  601. package/dist/types/transforms/index.d.ts +36 -0
  602. package/dist/types/transforms/index.js +1 -0
  603. package/dist/types/transforms/interval.d.ts +21 -0
  604. package/dist/types/transforms/interval.js +14 -0
  605. package/dist/types/transforms/jitter.d.ts +34 -0
  606. package/dist/types/transforms/jitter.js +1 -0
  607. package/dist/types/transforms/map.d.ts +24 -0
  608. package/dist/types/transforms/map.js +1 -0
  609. package/dist/types/transforms/normalize.d.ts +36 -0
  610. package/dist/types/transforms/normalize.js +1 -0
  611. package/dist/types/transforms/select.d.ts +15 -0
  612. package/dist/types/transforms/select.js +1 -0
  613. package/dist/types/transforms/shift.d.ts +20 -0
  614. package/dist/types/transforms/shift.js +1 -0
  615. package/dist/types/transforms/sort.d.ts +31 -0
  616. package/dist/types/transforms/sort.js +14 -0
  617. package/dist/types/transforms/stack.d.ts +64 -0
  618. package/dist/types/transforms/stack.js +12 -0
  619. package/dist/types/transforms/window.d.ts +29 -0
  620. package/dist/types/transforms/window.js +1 -0
  621. package/dist/utils/ContinuousDomain.d.ts +12 -0
  622. package/dist/utils/ContinuousDomain.js +19 -0
  623. package/dist/utils/Interpolation.d.ts +26 -0
  624. package/dist/utils/Interpolation.js +65 -0
  625. package/dist/utils/{color.d.ts → color/contrast.d.ts} +0 -5
  626. package/dist/utils/color/contrast.js +40 -0
  627. package/dist/utils/color/cssColor.d.ts +4 -0
  628. package/dist/utils/color/cssColor.js +77 -0
  629. package/dist/utils/color/index.d.ts +3 -0
  630. package/dist/utils/color/index.js +3 -0
  631. package/dist/utils/color/ramp.d.ts +17 -0
  632. package/dist/utils/color/ramp.js +110 -0
  633. package/dist/utils/grouping.d.ts +9 -5
  634. package/dist/utils/grouping.js +19 -10
  635. package/dist/utils/merge.d.ts +7 -0
  636. package/dist/utils/merge.js +17 -0
  637. package/dist/utils/opacity.d.ts +9 -0
  638. package/dist/utils/opacity.js +38 -0
  639. package/dist/utils/symbol.d.ts +31 -0
  640. package/dist/utils/symbol.js +92 -0
  641. package/docs/architecture.md +137 -0
  642. package/docs/chrome.md +68 -0
  643. package/docs/composer.md +53 -0
  644. package/docs/concepts.md +99 -0
  645. package/docs/development.md +94 -0
  646. package/docs/facets.md +69 -0
  647. package/docs/geo.md +151 -0
  648. package/docs/getting-started.md +79 -0
  649. package/docs/legend.md +106 -0
  650. package/docs/markers.md +106 -0
  651. package/docs/plots.md +158 -0
  652. package/docs/scales.md +78 -0
  653. package/docs/state.md +71 -0
  654. package/docs/styles-and-segments.md +215 -0
  655. package/docs/theming.md +215 -0
  656. package/docs/timeline.md +94 -0
  657. package/docs/tooltip-and-hover.md +80 -0
  658. package/docs/transforms-and-statistics.md +88 -0
  659. package/examples/BarValues.svelte +14 -0
  660. package/examples/CustomTooltip.svelte +37 -0
  661. package/examples/Facets.svelte +15 -0
  662. package/examples/LegendReader.svelte +8 -0
  663. package/examples/LegendToggle.svelte +25 -0
  664. package/examples/ResponsiveLine.svelte +37 -0
  665. package/examples/Segments.svelte +17 -0
  666. package/examples/TimelinePlayer.svelte +20 -0
  667. package/examples/Tooltip.svelte +19 -0
  668. package/examples/TooltipCard.svelte +86 -0
  669. package/examples/data.ts +12 -0
  670. package/llms-full.txt +114 -0
  671. package/llms.txt +49 -0
  672. package/package.json +41 -5
  673. package/dist/charts/BaseChart.svelte +0 -149
  674. package/dist/charts/BaseChart.svelte.d.ts +0 -47
  675. package/dist/charts/bar/Chart.svelte +0 -110
  676. package/dist/charts/bar/Chart.svelte.d.ts +0 -26
  677. package/dist/charts/container/ChartContainer.svelte +0 -137
  678. package/dist/charts/container/ChartContainer.svelte.d.ts +0 -16
  679. package/dist/charts/heatmap/Chart.svelte +0 -114
  680. package/dist/charts/line/Chart.svelte +0 -112
  681. package/dist/charts/line/Chart.svelte.d.ts +0 -26
  682. package/dist/charts/pyramid/Chart.svelte +0 -134
  683. package/dist/charts/pyramid/Chart.svelte.d.ts +0 -30
  684. package/dist/charts/scatter/Chart.svelte +0 -95
  685. package/dist/charts/scatter/Chart.svelte.d.ts +0 -28
  686. package/dist/layout/coordinates/margins.d.ts +0 -16
  687. package/dist/layout/coordinates/margins.js +0 -11
  688. package/dist/layout/legend/interaction.svelte.d.ts +0 -15
  689. package/dist/layout/legend/interaction.svelte.js +0 -32
  690. package/dist/layout/plot/BasePlotLayout.svelte +0 -332
  691. package/dist/layout/plot/BasePlotLayout.svelte.d.ts +0 -122
  692. package/dist/layout/plot/margins.d.ts +0 -18
  693. package/dist/layout/plot/margins.js +0 -15
  694. package/dist/layout/plot/measureText.d.ts +0 -4
  695. package/dist/layout/plot/measureText.js +0 -19
  696. package/dist/layout/tooltip/TooltipLayout.svelte +0 -51
  697. package/dist/layout/tooltip/TooltipLayout.svelte.d.ts +0 -45
  698. package/dist/layout/tooltip/controller.svelte.d.ts +0 -61
  699. package/dist/layout/tooltip/controller.svelte.js +0 -173
  700. package/dist/layout/tooltip/hover.svelte.d.ts +0 -7
  701. package/dist/layout/tooltip/hover.svelte.js +0 -28
  702. package/dist/layout/tooltip/resolveTooltipPlacement.d.ts +0 -24
  703. package/dist/layout/tooltip/resolveTooltipPlacement.js +0 -49
  704. package/dist/layout/tooltip/utils.d.ts +0 -49
  705. package/dist/layout/tooltip/utils.js +0 -82
  706. package/dist/markers/CellMarker.svelte +0 -21
  707. package/dist/markers/ContourClipMarker.svelte +0 -77
  708. package/dist/markers/ContourMarker.svelte +0 -28
  709. package/dist/markers/DeltaMarker.svelte +0 -109
  710. package/dist/markers/DotMarker.svelte +0 -70
  711. package/dist/markers/GeoFeaturesMarker.svelte +0 -19
  712. package/dist/markers/GeoHoverMarker.svelte +0 -25
  713. package/dist/markers/GraticuleMarker.svelte +0 -18
  714. package/dist/markers/HoverMarker.svelte +0 -212
  715. package/dist/markers/LineMarker.svelte +0 -19
  716. package/dist/markers/LinkMarker.svelte +0 -42
  717. package/dist/markers/PeakMarker.svelte +0 -80
  718. package/dist/markers/PeakMarker.svelte.d.ts +0 -13
  719. package/dist/markers/RuleMarker.svelte +0 -24
  720. package/dist/markers/SphereMarker.svelte +0 -15
  721. package/dist/markers/TextMarker.svelte +0 -62
  722. package/dist/markers/VectorMarker.svelte +0 -20
  723. package/dist/plots/bar/ValueLabels.svelte +0 -149
  724. package/dist/plots/bar/ValueLabels.svelte.d.ts +0 -58
  725. package/dist/plots/bar/buildBarMarkers.d.ts +0 -27
  726. package/dist/plots/bar/buildBarMarkers.js +0 -151
  727. package/dist/plots/bar/hoverPoints.d.ts +0 -15
  728. package/dist/plots/bar/hoverPoints.js +0 -37
  729. package/dist/plots/bar/layout.svelte.d.ts +0 -42
  730. package/dist/plots/bar/layout.svelte.js +0 -182
  731. package/dist/plots/geo/buildGeoMarkers.d.ts +0 -33
  732. package/dist/plots/geo/buildGeoMarkers.js +0 -47
  733. package/dist/plots/heatmap/ValueLabels.svelte +0 -56
  734. package/dist/plots/heatmap/buildCellMarkers.d.ts +0 -21
  735. package/dist/plots/heatmap/buildCellMarkers.js +0 -25
  736. package/dist/plots/line/ValueLabels.svelte +0 -269
  737. package/dist/plots/line/ValueLabels.svelte.d.ts +0 -52
  738. package/dist/plots/line/buildGapMarkers.d.ts +0 -28
  739. package/dist/plots/line/buildGapMarkers.js +0 -74
  740. package/dist/plots/line/buildLineMarkers.d.ts +0 -16
  741. package/dist/plots/line/buildLineMarkers.js +0 -56
  742. package/dist/plots/line/valueLabelMargin.d.ts +0 -19
  743. package/dist/plots/line/valueLabelMargin.js +0 -65
  744. package/dist/plots/pyramid/ValueLabels.svelte +0 -139
  745. package/dist/plots/pyramid/ValueLabels.svelte.d.ts +0 -56
  746. package/dist/plots/pyramid/buildPyramidBarMarkers.d.ts +0 -26
  747. package/dist/plots/pyramid/buildPyramidBarMarkers.js +0 -72
  748. package/dist/plots/scatter/ValueLabels.svelte +0 -163
  749. package/dist/plots/scatter/ValueLabels.svelte.d.ts +0 -52
  750. package/dist/plots/scatter/buildScatterMarkers.d.ts +0 -12
  751. package/dist/plots/scatter/buildScatterMarkers.js +0 -36
  752. package/dist/plots/scatter/resolveRadiusPaddedDomain.d.ts +0 -10
  753. package/dist/plots/scatter/resolveRadiusPaddedDomain.js +0 -23
  754. package/dist/plots/utils/categoricalAxisMargin.d.ts +0 -14
  755. package/dist/plots/utils/categoricalAxisMargin.js +0 -20
  756. package/dist/plots/utils/declutter.d.ts +0 -120
  757. package/dist/plots/utils/declutter.js +0 -240
  758. package/dist/plots/utils/labelOverflow.svelte.d.ts +0 -107
  759. package/dist/plots/utils/labelOverflow.svelte.js +0 -257
  760. package/dist/plots/utils/legendDisabled.d.ts +0 -27
  761. package/dist/plots/utils/legendDisabled.js +0 -68
  762. package/dist/plots/utils/valueLabelMargin.d.ts +0 -67
  763. package/dist/plots/utils/valueLabelMargin.js +0 -60
  764. package/dist/types/charts/common.d.ts +0 -22
  765. package/dist/types/charts/props.d.ts +0 -50
  766. package/dist/types/markers/base.d.ts +0 -45
  767. package/dist/types/markers/line.d.ts +0 -34
  768. package/dist/types/markers/props.d.ts +0 -11
  769. package/dist/types/plots/data/scatter.d.ts +0 -13
  770. package/dist/utils/color.js +0 -141
  771. package/dist/utils/delta.d.ts +0 -12
  772. package/dist/utils/delta.js +0 -69
  773. package/dist/utils/edgeAwareAnchor.d.ts +0 -34
  774. package/dist/utils/edgeAwareAnchor.js +0 -60
  775. package/dist/utils/interpolate.d.ts +0 -31
  776. package/dist/utils/interpolate.js +0 -71
  777. /package/dist/types/{charts/common.js → layout/box.js} +0 -0
  778. /package/dist/types/{charts/interpolate.js → layout/composer.js} +0 -0
  779. /package/dist/types/{charts/props.js → layout/figure.js} +0 -0
  780. /package/dist/types/{markers/base.js → layout/grid.js} +0 -0
  781. /package/dist/types/{markers/line.js → layout/hover.js} +0 -0
  782. /package/dist/types/{markers/props.js → layout/mapping.js} +0 -0
  783. /package/dist/types/{plots/data/scatter.js → layout/plot.js} +0 -0
  784. /package/dist/types/{viewport.js → layout/statistics/bollinger.js} +0 -0
  785. /package/dist/types/{charts/interpolate.d.ts → misc/easing.d.ts} +0 -0
  786. /package/dist/types/{viewport.d.ts → misc/viewport.d.ts} +0 -0
@@ -1,269 +0,0 @@
1
- <script lang="ts" generics="TData extends Record<string, unknown>">
2
- import { SvelteMap } from 'svelte/reactivity';
3
- import { Text, usePlot } from 'svelteplot';
4
- import { resolveAccessor } from '../utils/accessors';
5
- import { getConfiguration } from '../../configuration/config.svelte';
6
- import { declutter1D, laneAssignment } from '../utils/declutter';
7
- import { disabledFillOverride, disabledStrokeOverride } from '../utils/legendDisabled';
8
- import { watchLabelOverflow } from '../utils/labelOverflow.svelte';
9
- import type { Series } from '../../types/plots/data/common';
10
- import type { ValuesStyle } from '../../types/layout/styles';
11
- import type { ValueAnchor } from '../../types/plots/constants';
12
- import type { LegendDisabledStyle } from '../../types/layout/legend';
13
- import type { MarginOverflow } from '../utils/labelOverflow.svelte';
14
-
15
- /**
16
- * End-of-line value labels for `LinePlot`, with automatic collision
17
- * resolution and shared horizontal alignment across labels.
18
- */
19
- let {
20
- lastPoints,
21
- values,
22
- width,
23
- height,
24
- numericMargins,
25
- onOverflow,
26
- disabledFor,
27
- onHoverSeries,
28
- onHoverEnd,
29
- }: {
30
- lastPoints: { series: Series<TData>; lastRow: TData; color: string }[];
31
- values: ValuesStyle | undefined;
32
- /** Plot pixel size, used with `numericMargins` to compute the content box. */
33
- width: number;
34
- height: number;
35
- /** `BasePlotLayout`'s resolved margins, already numeric on every side. */
36
- numericMargins: { top: number; right: number; bottom: number; left: number };
37
- /** Reports how far the rendered labels overflow the plot's own content box, in pixels, on each side (0 = no overflow). */
38
- onOverflow?: (overflow: MarginOverflow) => void;
39
- /** Resolved legend/hover-isolate dimming style for a series, if any. */
40
- disabledFor?: (name: string) => LegendDisabledStyle | undefined;
41
- /** Fired when the pointer enters a label — only wired when hover-isolate is enabled. */
42
- onHoverSeries?: (name: string) => void;
43
- onHoverEnd?: () => void;
44
- } = $props();
45
-
46
- const cfg = $derived(getConfiguration());
47
-
48
- // Elbow-routed leader line geometry (pixels), configurable via
49
- // `setConfiguration({ line: { valueLabels: {...} } })`. `connectorColor`/
50
- // `connectorWidth` default to a neutral look rather than each series' own
51
- // colour, overridable per-plot via `values.strokeStyle`.
52
- const elbowGap = $derived(cfg.line.valueLabels.elbowGap);
53
- const laneStep = $derived(cfg.line.valueLabels.laneStep);
54
- const labelGap = $derived(cfg.line.valueLabels.labelGap);
55
- const defaultConnectorColor = $derived(cfg.line.valueLabels.connectorColor);
56
- const defaultConnectorWidth = $derived(cfg.line.valueLabels.connectorWidth);
57
-
58
- const font = $derived(values?.fontStyle);
59
- const connector = $derived(values?.strokeStyle);
60
- const formatValue = $derived(values?.format ?? ((v: number, name: string) => `${name} - ${v}`));
61
- const valAnchor = $derived<ValueAnchor>(values?.anchor ?? 'start');
62
- // 'outside' is handled separately by HoverMarker, so it's treated as unset here.
63
- const resolvedTextAnchor = $derived(font?.textAnchor === 'outside' ? undefined : font?.textAnchor);
64
-
65
- const defaultDx = $derived(valAnchor === 'start' ? 6 : valAnchor === 'end' ? -6 : 0);
66
- const baseDx = $derived(font?.dx ?? defaultDx);
67
- const dir = $derived(Math.sign(baseDx) || 1);
68
- const defaultDy = $derived(valAnchor === 'outside' ? -8 : 0);
69
- const defaultTA = $derived(
70
- valAnchor === 'start' ? ('start' as const) : valAnchor === 'end' ? ('end' as const) : ('middle' as const),
71
- );
72
- const defaultLA = $derived(valAnchor === 'outside' ? ('bottom' as const) : ('middle' as const));
73
- const fontSize = $derived(typeof font?.fontSize === 'number' ? font.fontSize : 12);
74
-
75
- const plot = usePlot();
76
-
77
- // Measures how far the rendered labels extend past the plot's content box
78
- // and reports it to the caller (`Plot.svelte`), which grows its own local
79
- // margin state to fit. Reported via a plain callback rather than
80
- // svelteplot's shared margin context, to keep it local per `<Plot>`
81
- // instance.
82
- let groupEl: SVGGElement | undefined = $state();
83
-
84
- watchLabelOverflow({
85
- el: () => groupEl,
86
- // Built from `width`/`height`/`numericMargins` rather than the live
87
- // scale's own `.range()`, which doesn't reconcile with an explicitly
88
- // sized `<Plot>`.
89
- bounds: () => {
90
- // getBBox() isn't tracked reactively — depend on whatever changes the
91
- // label layout so this re-measures.
92
- void lastPoints;
93
- void values;
94
- return {
95
- left: numericMargins.left,
96
- right: width - numericMargins.right,
97
- top: numericMargins.top,
98
- bottom: height - numericMargins.bottom,
99
- };
100
- },
101
- onOverflow: (overflow) => onOverflow?.(overflow),
102
- });
103
-
104
- /**
105
- * Pixel-space collision fix-up for end-point labels: resolves each
106
- * label's pixel Y through the live y-scale, then declutters those pixels
107
- * to find how far each needs to move to clear its neighbours and stay
108
- * within the plot's own top/bottom edge (`extraDy` — applies even to a
109
- * lone label with no neighbours, if its own value sits close enough to
110
- * the edge). `rank`/`lanesUsed`/`runSize` come from `laneAssignment`,
111
- * which turns the decluttered runs into lane assignments.
112
- *
113
- * Horizontal placement (`aligned`/`reach`/`laneReach`/`dir`) is separate:
114
- * every label reaches out to the same shared lane column, not just the
115
- * ones in its own cluster, so the whole set of end-of-line labels lines
116
- * up on one horizontal line. A label gets a connector whenever either of
117
- * these moved it off its natural position — see the markup below.
118
- *
119
- * That shared column's direction can itself flip from `dir` to the right,
120
- * but only ever away from the left: a leftward fan (`dir === -1`) runs
121
- * into the Y axis's own tick labels once every point sits pinned against
122
- * that same edge (e.g. a scroll/scrub caller's first visible point), with
123
- * nowhere to reserve room without growing a margin purely to sit on top of
124
- * them. The right has no such fixed content by default, so flipping there
125
- * instead — for every aligned label at once — avoids the collision
126
- * without needing any extra margin at all. The mirror case is deliberately
127
- * left alone: a rightward fan's point is *always* pinned at the scale's
128
- * own right edge by construction (`available` below would read ~0 for it
129
- * too, same as the left), so the same check would flip the common case
130
- * right back into the plot over its own lines — margin growth (see
131
- * `Plot.svelte`'s `labelMargin`) is what actually handles that side.
132
- */
133
- const declutteredOffsets = $derived.by(() => {
134
- const map = new SvelteMap<
135
- string,
136
- { extraDy: number; aligned: boolean; rank: number; reach: number; laneReach: number; dir: number }
137
- >();
138
- if (lastPoints.length < 2) return map;
139
- const yScale = plot.scales.y?.fn;
140
- if (!yScale) return map;
141
- const xScale = plot.scales.x?.fn;
142
- const minGap = Math.max(16, fontSize * 1.4);
143
- const items = lastPoints.map(({ series: s, lastRow }) => ({
144
- name: s.name,
145
- pos: Number(yScale(Number(resolveAccessor(s.y)(lastRow)))),
146
- px: xScale ? Number(xScale(resolveAccessor(s.x)(lastRow))) : undefined,
147
- }));
148
- const sorted = [...items].sort((a, b) => a.pos - b.pos);
149
- // Same content-box source as `watchLabelOverflow`'s `bounds()` above.
150
- const bounds: [number, number] = [numericMargins.top, height - numericMargins.bottom];
151
- const { positions: spread, connected } = declutter1D(items, minGap, bounds);
152
- const spreadByName = new Map(spread.map((d) => [d.name, d.pos]));
153
- const originals = sorted.map((item) => item.pos);
154
- const finals = sorted.map((item) => spreadByName.get(item.name) ?? item.pos);
155
- const ranks = laneAssignment(originals, finals, connected);
156
-
157
- const anyGrouped = ranks.some((r) => r.runSize > 1);
158
- const globalLanes = anyGrouped ? Math.max(...ranks.map((r) => r.lanesUsed)) : 1;
159
- const reach = elbowGap + (globalLanes - 1) * laneStep + labelGap;
160
-
161
- let effectiveDir = dir;
162
- if (anyGrouped && dir === -1) {
163
- // -Infinity (not +Infinity) when the x-scale isn't resolved yet on an
164
- // early render — defaults to flipped until proven safe not to be,
165
- // rather than the other way around. Defaulting to "don't flip" here
166
- // briefly rendered the full leftward fan with no available-space data
167
- // at all, which `watchLabelOverflow` could catch and lock in via its
168
- // own monotonic growth before a later render corrected it — flipping
169
- // right is never wrong even when it turns out to be unnecessary (nothing
170
- // fixed lives there to run into), so there's no equivalent risk on
171
- // that side to defend against.
172
- const roomsLeft = sorted
173
- .filter((item): item is typeof item & { px: number } => item.px != null)
174
- .map((item) => item.px - numericMargins.left);
175
- const availableLeft = roomsLeft.length > 0 ? Math.min(...roomsLeft) : -Infinity;
176
- if (availableLeft < reach) effectiveDir = 1;
177
- }
178
-
179
- sorted.forEach((item, i) => {
180
- map.set(item.name, {
181
- extraDy: finals[i] - originals[i],
182
- aligned: anyGrouped,
183
- rank: ranks[i].rank,
184
- reach,
185
- laneReach: elbowGap + ranks[i].rank * laneStep,
186
- dir: effectiveDir,
187
- });
188
- });
189
- return map;
190
- });
191
- </script>
192
-
193
- <g bind:this={groupEl}>
194
- <!-- Nothing renders before both scales resolve: `declutteredOffsets` itself
195
- only needs the y-scale, so an early render with the x-scale still
196
- missing would otherwise fall back to plain `baseDx`, un-flipped — for a
197
- long 'end'-anchored label that's a real, if brief, overflow past the
198
- edge, and `watchLabelOverflow` can catch and lock that in via its own
199
- monotonic growth before a later, correctly-positioned render arrives. -->
200
- {#if plot.scales.x?.fn && plot.scales.y?.fn}
201
- {#each lastPoints as { series: s, lastRow, color: seriesColor } (s.name)}
202
- {@const xFn = resolveAccessor(s.x)}
203
- {@const yFn = resolveAccessor(s.y)}
204
- {@const offset = declutteredOffsets.get(s.name)}
205
- {@const extraDy = offset?.extraDy ?? 0}
206
- {@const effDir = offset?.aligned ? offset.dir : dir}
207
- {@const flipped = offset?.aligned && effDir !== dir}
208
- {@const labelDx = offset?.aligned ? effDir * offset.reach : baseDx}
209
- {@const text = formatValue(Number(yFn(lastRow)), s.name)}
210
- {@const preferredTA = resolvedTextAnchor ?? defaultTA}
211
- {@const finalTA = flipped
212
- ? preferredTA === 'start'
213
- ? 'end'
214
- : preferredTA === 'end'
215
- ? 'start'
216
- : preferredTA
217
- : preferredTA}
218
- {@const preferredLA = font?.lineAnchor ?? defaultLA}
219
- {@const disabled = disabledFor?.(s.name)}
220
- {@const disabledStroke = disabledStrokeOverride(disabled)}
221
- {@const disabledFill = disabledFillOverride(disabled)}
222
- {#if offset?.aligned || extraDy !== 0}
223
- {@const px = Number(plot.scales.x.fn(xFn(lastRow)))}
224
- {@const py = Number(plot.scales.y.fn(Number(yFn(lastRow))))}
225
- {@const laneX = offset?.aligned ? px + effDir * offset.laneReach : px + labelDx}
226
- {@const targetY = py + extraDy}
227
- <path
228
- d={`M ${px} ${py} H ${laneX} V ${targetY} H ${px + labelDx}`}
229
- fill="none"
230
- stroke={connector?.stroke ?? defaultConnectorColor}
231
- stroke-width={connector?.strokeWidth ?? defaultConnectorWidth}
232
- stroke-opacity={connector?.strokeOpacity ?? disabledStroke?.strokeOpacity ?? 1}
233
- stroke-dasharray={connector?.strokeDasharray}
234
- stroke-linecap={connector?.strokeLinecap ?? 'square'}
235
- stroke-linejoin={connector?.strokeLinejoin ?? 'miter'}
236
- />
237
- {/if}
238
- <!-- Text marks don't wire pointer handlers; a wrapping <g> catches them instead. -->
239
- <g
240
- role="presentation"
241
- onpointerenter={onHoverSeries && (() => onHoverSeries(s.name))}
242
- onpointerleave={onHoverEnd}
243
- >
244
- <Text
245
- data={[lastRow]}
246
- x={xFn}
247
- y={yFn}
248
- text={() => text}
249
- dx={labelDx}
250
- dy={(font?.dy ?? defaultDy) + extraDy}
251
- textAnchor={finalTA}
252
- lineAnchor={preferredLA}
253
- lineHeight={font?.lineHeight}
254
- rotate={font?.rotate}
255
- class={font?.class}
256
- textClass={font?.textClass}
257
- fill={font?.fill ?? seriesColor}
258
- fillOpacity={disabledFill?.fillOpacity}
259
- {fontSize}
260
- fontWeight={font?.fontWeight}
261
- fontStyle={font?.fontStyle}
262
- stroke={font?.stroke}
263
- strokeWidth={font?.strokeWidth}
264
- paintOrder={font?.paintOrder}
265
- />
266
- </g>
267
- {/each}
268
- {/if}
269
- </g>
@@ -1,52 +0,0 @@
1
- import type { Series } from '../../types/plots/data/common';
2
- import type { ValuesStyle } from '../../types/layout/styles';
3
- import type { LegendDisabledStyle } from '../../types/layout/legend';
4
- import type { MarginOverflow } from '../utils/labelOverflow.svelte';
5
- declare function $$render<TData extends Record<string, unknown>>(): {
6
- props: {
7
- lastPoints: {
8
- series: Series<TData>;
9
- lastRow: TData;
10
- color: string;
11
- }[];
12
- values: ValuesStyle | undefined;
13
- /** Plot pixel size, used with `numericMargins` to compute the content box. */
14
- width: number;
15
- height: number;
16
- /** `BasePlotLayout`'s resolved margins, already numeric on every side. */
17
- numericMargins: {
18
- top: number;
19
- right: number;
20
- bottom: number;
21
- left: number;
22
- };
23
- /** Reports how far the rendered labels overflow the plot's own content box, in pixels, on each side (0 = no overflow). */
24
- onOverflow?: (overflow: MarginOverflow) => void;
25
- /** Resolved legend/hover-isolate dimming style for a series, if any. */
26
- disabledFor?: (name: string) => LegendDisabledStyle | undefined;
27
- /** Fired when the pointer enters a label — only wired when hover-isolate is enabled. */
28
- onHoverSeries?: (name: string) => void;
29
- onHoverEnd?: () => void;
30
- };
31
- exports: {};
32
- bindings: "";
33
- slots: {};
34
- events: {};
35
- };
36
- declare class __sveltets_Render<TData extends Record<string, unknown>> {
37
- props(): ReturnType<typeof $$render<TData>>['props'];
38
- events(): ReturnType<typeof $$render<TData>>['events'];
39
- slots(): ReturnType<typeof $$render<TData>>['slots'];
40
- bindings(): "";
41
- exports(): {};
42
- }
43
- interface $$IsomorphicComponent {
44
- 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']>> & {
45
- $$bindings?: ReturnType<__sveltets_Render<TData>['bindings']>;
46
- } & ReturnType<__sveltets_Render<TData>['exports']>;
47
- <TData extends Record<string, unknown>>(internal: unknown, props: ReturnType<__sveltets_Render<TData>['props']> & {}): ReturnType<__sveltets_Render<TData>['exports']>;
48
- z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
49
- }
50
- declare const ValueLabels: $$IsomorphicComponent;
51
- type ValueLabels<TData extends Record<string, unknown>> = InstanceType<typeof ValueLabels<TData>>;
52
- export default ValueLabels;
@@ -1,28 +0,0 @@
1
- import type { Series } from '../../types/plots/data/common';
2
- import type { GapsConfig } from '../../types/plots/gaps';
3
- import type { LineSegmentStyle } from '../../types/plots/segments/common';
4
- import type { LineMarkerConfig, DotMarkerConfig } from '../../types/markers/common';
5
- import type { StrokeStyle, DotStyle } from '../../types/plots/styling';
6
- /**
7
- * One `'line'` (+ `'dot'`, when its zone sets `style.dots`) marker per
8
- * detected, configured gap run across every series — the interpolated
9
- * bridge drawn over a missing-data hole. `gaps` is resolved per series the
10
- * same way `segments` is (a named entry, falling back to `'default'` at
11
- * zone granularity — see `resolveGapsForSeries`). Defaults to the series'
12
- * own colour with `cfg.line.gap`'s stroke/dot styling (dashed and slightly
13
- * muted out of the box), so a gap-fill reads as estimated rather than real
14
- * data unless a zone or the global configuration overrides it. Dots (when
15
- * requested) are drawn only at a run's two endpoints, not along every
16
- * sampled bridge point. `disabledStrokeFor`/`disabledDotsFor` mirror
17
- * `buildLineMarkers`'s own params — a legend-disabled (or hover-isolated)
18
- * series must dim its gap bridge exactly like it dims the real line it's
19
- * bridging, so both take the same precedence: disabled override, then the
20
- * gap zone's own style, then the shared gap default.
21
- */
22
- export declare function buildGapMarkers<TData extends Record<string, unknown>>(args: {
23
- seriesList: Series<TData>[];
24
- gaps: GapsConfig<LineSegmentStyle>;
25
- colorFor: (seriesIndex: number) => string;
26
- disabledStrokeFor: (seriesName: string) => StrokeStyle | undefined;
27
- disabledDotsFor: (seriesName: string) => DotStyle | undefined;
28
- }): (LineMarkerConfig | DotMarkerConfig)[];
@@ -1,74 +0,0 @@
1
- import { resolveGapRuns, resolveGapsForSeries } from '../utils/gaps';
2
- import { getConfiguration } from '../../configuration/config.svelte';
3
- const gx = (p) => p.x;
4
- const gy = (p) => p.y;
5
- /**
6
- * One `'line'` (+ `'dot'`, when its zone sets `style.dots`) marker per
7
- * detected, configured gap run across every series — the interpolated
8
- * bridge drawn over a missing-data hole. `gaps` is resolved per series the
9
- * same way `segments` is (a named entry, falling back to `'default'` at
10
- * zone granularity — see `resolveGapsForSeries`). Defaults to the series'
11
- * own colour with `cfg.line.gap`'s stroke/dot styling (dashed and slightly
12
- * muted out of the box), so a gap-fill reads as estimated rather than real
13
- * data unless a zone or the global configuration overrides it. Dots (when
14
- * requested) are drawn only at a run's two endpoints, not along every
15
- * sampled bridge point. `disabledStrokeFor`/`disabledDotsFor` mirror
16
- * `buildLineMarkers`'s own params — a legend-disabled (or hover-isolated)
17
- * series must dim its gap bridge exactly like it dims the real line it's
18
- * bridging, so both take the same precedence: disabled override, then the
19
- * gap zone's own style, then the shared gap default.
20
- */
21
- export function buildGapMarkers(args) {
22
- const { seriesList, gaps, colorFor, disabledStrokeFor, disabledDotsFor } = args;
23
- const cfg = getConfiguration();
24
- const gapDefaults = cfg.line.gap;
25
- const markers = [];
26
- seriesList.forEach((series, seriesIndex) => {
27
- const zones = resolveGapsForSeries(gaps, series.name);
28
- const runs = resolveGapRuns(series, zones);
29
- if (runs.length === 0)
30
- return;
31
- const defaultColor = colorFor(seriesIndex);
32
- const disabledStroke = disabledStrokeFor(series.name);
33
- const disabledDots = disabledDotsFor(series.name);
34
- for (const run of runs) {
35
- const strokeStyle = run.zone.style?.stroke;
36
- const dotStyle = run.zone.style?.dots;
37
- markers.push({
38
- type: 'line',
39
- data: run.points,
40
- x: gx,
41
- y: gy,
42
- style: {
43
- stroke: disabledStroke?.stroke ?? strokeStyle?.stroke ?? defaultColor,
44
- strokeWidth: disabledStroke?.strokeWidth ?? strokeStyle?.strokeWidth ?? gapDefaults.stroke.strokeWidth ?? cfg.line.strokeWidth,
45
- strokeOpacity: disabledStroke?.strokeOpacity ?? strokeStyle?.strokeOpacity ?? gapDefaults.stroke.strokeOpacity,
46
- strokeDasharray: disabledStroke?.strokeDasharray ?? strokeStyle?.strokeDasharray ?? gapDefaults.stroke.strokeDasharray,
47
- strokeLinejoin: disabledStroke?.strokeLinejoin ?? strokeStyle?.strokeLinejoin ?? gapDefaults.stroke.strokeLinejoin,
48
- strokeLinecap: disabledStroke?.strokeLinecap ?? strokeStyle?.strokeLinecap ?? gapDefaults.stroke.strokeLinecap,
49
- },
50
- });
51
- if (!dotStyle)
52
- continue;
53
- const dotDefaults = gapDefaults.dots;
54
- const endpoints = [run.points[0], run.points[run.points.length - 1]];
55
- markers.push({
56
- type: 'dot',
57
- data: endpoints,
58
- x: gx,
59
- y: gy,
60
- style: {
61
- dotRadius: disabledDots?.dotRadius ?? dotStyle.dotRadius ?? dotDefaults.dotRadius ?? cfg.line.dotRadius,
62
- dotFill: disabledDots?.dotFill ?? dotStyle.dotFill ?? strokeStyle?.stroke ?? dotDefaults.dotFill ?? defaultColor,
63
- dotSymbol: disabledDots?.dotSymbol ?? dotStyle.dotSymbol ?? dotDefaults.dotSymbol ?? 'circle',
64
- dotStroke: disabledDots?.dotStroke ?? dotStyle.dotStroke ?? strokeStyle?.stroke ?? dotDefaults.dotStroke ?? defaultColor,
65
- dotStrokeWidth: disabledDots?.dotStrokeWidth ?? dotStyle.dotStrokeWidth ?? dotDefaults.dotStrokeWidth ?? 1,
66
- dotFillOpacity: disabledDots?.dotFillOpacity ?? dotStyle.dotFillOpacity ?? dotDefaults.dotFillOpacity ?? 1,
67
- dotStrokeOpacity: disabledDots?.dotStrokeOpacity ?? dotStyle.dotStrokeOpacity ?? dotDefaults.dotStrokeOpacity ?? 1,
68
- dotStrokeDasharray: disabledDots?.dotStrokeDasharray ?? dotStyle.dotStrokeDasharray ?? dotDefaults.dotStrokeDasharray,
69
- },
70
- });
71
- }
72
- });
73
- return markers;
74
- }
@@ -1,16 +0,0 @@
1
- import type { Series } from '../../types/plots/data/common';
2
- import type { LineSegmentStyle } from '../../types/plots/segments/common';
3
- import type { VisualGroup } from '../../types/plots/segments/config';
4
- import type { StrokeStyle, DotStyle } from '../../types/plots/styling';
5
- import type { LineMarkerConfig, DotMarkerConfig } from '../../types/markers/common';
6
- /**
7
- * Every `'line'` (+ `'dot'`, where a segment's style asks for them) marker
8
- * for one LinePlot render: one `'line'` marker per visual segment, plus a
9
- * `'dot'` marker right after it when that segment sets `style.dots`.
10
- */
11
- export declare function buildLineMarkers<TData extends Record<string, unknown>>(args: {
12
- groupedSeries: VisualGroup<Series<TData>, LineSegmentStyle>[];
13
- colorFor: (seriesName: string) => string;
14
- disabledStrokeFor: (seriesName: string) => StrokeStyle | undefined;
15
- disabledDotsFor: (seriesName: string) => DotStyle | undefined;
16
- }): (LineMarkerConfig | DotMarkerConfig)[];
@@ -1,56 +0,0 @@
1
- import { resolveAccessor } from '../utils/accessors';
2
- import { getConfiguration } from '../../configuration/config.svelte';
3
- /**
4
- * Every `'line'` (+ `'dot'`, where a segment's style asks for them) marker
5
- * for one LinePlot render: one `'line'` marker per visual segment, plus a
6
- * `'dot'` marker right after it when that segment sets `style.dots`.
7
- */
8
- export function buildLineMarkers(args) {
9
- const { groupedSeries, colorFor, disabledStrokeFor, disabledDotsFor } = args;
10
- const cfg = getConfiguration();
11
- const markers = [];
12
- groupedSeries.forEach((group) => {
13
- const defaultColor = colorFor(group.series.name);
14
- const disabledStroke = disabledStrokeFor(group.series.name);
15
- const disabledDots = disabledDotsFor(group.series.name);
16
- const xFn = resolveAccessor(group.series.x);
17
- const yFn = resolveAccessor(group.series.y);
18
- for (const seg of group.visualSegments) {
19
- const strokeStyle = seg.style.stroke;
20
- const dotStyle = seg.style.dots;
21
- markers.push({
22
- type: 'line',
23
- data: seg.data,
24
- x: xFn,
25
- y: yFn,
26
- style: {
27
- stroke: disabledStroke?.stroke ?? strokeStyle?.stroke ?? defaultColor,
28
- strokeWidth: disabledStroke?.strokeWidth ?? strokeStyle?.strokeWidth ?? cfg.line.strokeWidth,
29
- strokeOpacity: disabledStroke?.strokeOpacity ?? strokeStyle?.strokeOpacity ?? 1,
30
- strokeDasharray: disabledStroke?.strokeDasharray ?? strokeStyle?.strokeDasharray,
31
- strokeLinejoin: disabledStroke?.strokeLinejoin ?? strokeStyle?.strokeLinejoin,
32
- strokeLinecap: disabledStroke?.strokeLinecap ?? strokeStyle?.strokeLinecap,
33
- },
34
- });
35
- if (!dotStyle)
36
- continue;
37
- markers.push({
38
- type: 'dot',
39
- data: seg.data,
40
- x: xFn,
41
- y: yFn,
42
- style: {
43
- dotRadius: disabledDots?.dotRadius ?? dotStyle.dotRadius ?? cfg.line.dotRadius,
44
- dotFill: disabledDots?.dotFill ?? dotStyle.dotFill ?? strokeStyle?.stroke ?? defaultColor,
45
- dotSymbol: disabledDots?.dotSymbol ?? dotStyle.dotSymbol ?? 'circle',
46
- dotStroke: disabledDots?.dotStroke ?? dotStyle.dotStroke ?? strokeStyle?.stroke ?? defaultColor,
47
- dotStrokeWidth: disabledDots?.dotStrokeWidth ?? dotStyle.dotStrokeWidth ?? 1,
48
- dotFillOpacity: disabledDots?.dotFillOpacity ?? dotStyle.dotFillOpacity ?? strokeStyle?.strokeOpacity ?? 1,
49
- dotStrokeOpacity: disabledDots?.dotStrokeOpacity ?? dotStyle.dotStrokeOpacity ?? strokeStyle?.strokeOpacity ?? 1,
50
- dotStrokeDasharray: disabledDots?.dotStrokeDasharray ?? dotStyle.dotStrokeDasharray,
51
- },
52
- });
53
- }
54
- });
55
- return markers;
56
- }
@@ -1,19 +0,0 @@
1
- import type { MarginOverflow } from '../utils/labelOverflow.svelte';
2
- import type { Series } from '../../types/plots/data/common';
3
- import type { FontStyle } from '../../types/plots/styling';
4
- import type { ValueAnchor } from '../../types/plots/constants';
5
- /**
6
- * `LinePlot`'s value-label margin estimate: the end-of-line fan's
7
- * horizontal reach (`left` or `right`, whichever side it fans toward, with
8
- * the same amount mirrored to the other side for a fan that can flip),
9
- * plus the label text's own vertical reach on `top`/`bottom`. Stable across
10
- * a timeline scrubber or dataset change, not DOM-measured. Also used by a
11
- * faceted caller to build a shared `FacetConfig.marginsForFacet`.
12
- */
13
- export declare function estimateLineValueLabelMargin<TData extends Record<string, unknown>>(series: Series<TData>[], options?: {
14
- valAnchor?: ValueAnchor;
15
- fontStyle?: FontStyle;
16
- formatValue?: (value: number, name: string) => string;
17
- /** A pinned y domain (e.g. `scales.y.domain`), covering the whole range a timeline scrubber might reveal — see this function's own stability note above. Falls back to `series`'s own current values when omitted. */
18
- yDomain?: readonly (number | string | boolean | Date | null)[];
19
- }): MarginOverflow;
@@ -1,65 +0,0 @@
1
- import { resolveAccessor } from '../utils/accessors';
2
- import { getConfiguration } from '../../configuration/config.svelte';
3
- import { estimateValueLabelMargin, estimateValueLabelVerticalMargin, laneReachUpperBound } from '../utils/valueLabelMargin';
4
- /**
5
- * `LinePlot`'s value-label margin estimate: the end-of-line fan's
6
- * horizontal reach (`left` or `right`, whichever side it fans toward, with
7
- * the same amount mirrored to the other side for a fan that can flip),
8
- * plus the label text's own vertical reach on `top`/`bottom`. Stable across
9
- * a timeline scrubber or dataset change, not DOM-measured. Also used by a
10
- * faceted caller to build a shared `FacetConfig.marginsForFacet`.
11
- */
12
- export function estimateLineValueLabelMargin(series, options = {}) {
13
- const cfg = getConfiguration();
14
- const valAnchor = options.valAnchor ?? 'start';
15
- const formatValue = options.formatValue ?? ((v, name) => `${name} - ${v}`);
16
- const font = options.fontStyle;
17
- const defaultDx = valAnchor === 'start' ? 6 : valAnchor === 'end' ? -6 : 0;
18
- const baseDx = typeof font?.dx === 'number' ? font.dx : defaultDx;
19
- const dir = Math.sign(baseDx) || 1;
20
- const defaultTA = valAnchor === 'start' ? 'start' : valAnchor === 'end' ? 'end' : 'middle';
21
- const resolvedTextAnchor = font?.textAnchor === 'outside' ? undefined : font?.textAnchor;
22
- const preferredTA = resolvedTextAnchor ?? defaultTA;
23
- const outwardFraction = preferredTA === 'start' ? 1 : preferredTA === 'end' ? 0 : 0.5;
24
- const fontSize = typeof font?.fontSize === 'number' ? font.fontSize : 12;
25
- const canvasFont = `${fontSize}px ${cfg.font === 'inherit' ? 'sans-serif' : cfg.font}`;
26
- const seriesCount = series.length;
27
- const reach = seriesCount > 1 ? laneReachUpperBound(seriesCount, cfg.line.valueLabels) : Math.abs(baseDx);
28
- const texts = [];
29
- if (options.yDomain && options.yDomain.length >= 2) {
30
- const lo = Number(options.yDomain[0]);
31
- const hi = Number(options.yDomain[options.yDomain.length - 1]);
32
- for (const s of series) {
33
- texts.push(formatValue(lo, s.name), formatValue(hi, s.name));
34
- }
35
- }
36
- else {
37
- for (const s of series) {
38
- const sy = resolveAccessor(s.y);
39
- for (const d of s.data) {
40
- const v = Number(sy(d));
41
- if (Number.isNaN(v))
42
- continue;
43
- texts.push(formatValue(v, s.name));
44
- }
45
- }
46
- }
47
- // +2px: canvas text measurement and svelteplot's own rendered SVG text
48
- // can disagree by a pixel or so (different rendering engines) — a small
49
- // buffer that narrows, but doesn't eliminate, the gap noted above.
50
- const horizontal = estimateValueLabelMargin(texts, { canvasFont, textFraction: outwardFraction, reach }) + 2;
51
- const defaultDy = valAnchor === 'outside' ? -8 : 0;
52
- const defaultLA = valAnchor === 'outside' ? 'bottom' : 'middle';
53
- const dy = typeof font?.dy === 'number' ? font.dy : defaultDy;
54
- const { top, bottom } = estimateValueLabelVerticalMargin({
55
- fontSize,
56
- lineAnchor: font?.lineAnchor ?? defaultLA,
57
- dy
58
- });
59
- return {
60
- left: dir === -1 ? horizontal : 0,
61
- right: dir === 1 ? horizontal : seriesCount > 1 ? horizontal : 0,
62
- top,
63
- bottom
64
- };
65
- }