@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
@@ -0,0 +1,107 @@
1
+ import { Box } from '../margins/Box';
2
+ import { PlotMargins } from '../margins/PlotMargins.svelte';
3
+ import { resolveAccessor } from '../../plots/utils/accessors';
4
+ import { SERIES_KEY } from '../../phases/transforms/TransformsPhase';
5
+ import { ValueLabels } from '../styles/ValueLabels';
6
+ /** A tooltip anchor as the side of the point the tooltip sits on. */
7
+ const SIDES = {
8
+ left: 'before',
9
+ top: 'before',
10
+ middle: 'middle',
11
+ right: 'after',
12
+ bottom: 'after'
13
+ };
14
+ const STACKS = { x: 'stackX', y: 'stackY' };
15
+ /**
16
+ * One tooltip: how big it rendered (`width`, `height`, bound to its element),
17
+ * where that puts it (`box`) - beside its point on its preferred side, moving
18
+ * over where it would leave its plot's box, as the plot's {@link PlotMargins}
19
+ * places it - and how its rows read. Its statics are the text a plot's
20
+ * default tooltip reads. Create it during component init.
21
+ */
22
+ export class TooltipState {
23
+ width = $state(0);
24
+ height = $state(0);
25
+ #inputs;
26
+ #plotMargins = PlotMargins.current();
27
+ constructor(inputs) {
28
+ this.#inputs = inputs;
29
+ }
30
+ /** Where the tooltip sits. */
31
+ box = $derived.by(() => {
32
+ const size = Box.size(this.width, this.height);
33
+ const { x, y } = this.#inputs.anchor();
34
+ const anchor = { x: SIDES[x], y: SIDES[y] };
35
+ const point = this.#inputs.point();
36
+ const bounds = this.#inputs.bounds();
37
+ if (bounds)
38
+ return size.placeNear(point, anchor, Box.size(bounds.width, bounds.height));
39
+ return (this.#plotMargins?.place(size, point, anchor) ??
40
+ size.placeNear(point, anchor, Box.size(Infinity, Infinity)));
41
+ });
42
+ /** The text `rows` read as through `format`, one line each. */
43
+ static text(rows, format) {
44
+ return rows.map(format).join('\n');
45
+ }
46
+ /** A value as plain text: a date as a locale date, anything else as itself. */
47
+ static value(value) {
48
+ return value instanceof Date ? value.toLocaleDateString() : String(value);
49
+ }
50
+ /**
51
+ * How a hovered row reads by default, on every plot: its series, when the
52
+ * plot groups its rows; then where it sits - `category: value` when one
53
+ * axis is a band of categories (the row's own value, as its series reads
54
+ * it), else `x: y` as the transforms left them; then the value its color
55
+ * shows, when that is a number (a heatmap's cells).
56
+ */
57
+ static default(state) {
58
+ const processed = state.processedData;
59
+ if (!processed)
60
+ return () => '';
61
+ const x = TooltipState.#axisText(processed, 'x');
62
+ const y = TooltipState.#axisText(processed, 'y');
63
+ const bandX = state.axes?.bands.includes('x') ?? false;
64
+ const bandY = state.axes?.bands.includes('y') ?? false;
65
+ const valueOf = ValueLabels.valueOf(state);
66
+ const position = bandX && !bandY
67
+ ? (row) => `${x(row)}: ${TooltipState.value(valueOf(row))}`
68
+ : bandY && !bandX
69
+ ? (row) => `${y(row)}: ${TooltipState.value(valueOf(row))}`
70
+ : (row) => `${x(row)}: ${y(row)}`;
71
+ const grouped = state.channels?.grouping !== undefined;
72
+ const color = state.channels?.color;
73
+ const colorName = typeof color?.source === 'string' ? color.source : 'color';
74
+ return (row) => {
75
+ const lines = grouped ? [String(row[SERIES_KEY])] : [];
76
+ lines.push(position(row));
77
+ const shown = color?.accessor(row);
78
+ if (typeof shown === 'number' && Number.isFinite(shown)) {
79
+ lines.push(`${colorName}: ${TooltipState.value(shown)}`);
80
+ }
81
+ return lines.join('\n');
82
+ };
83
+ }
84
+ /**
85
+ * How one axis reads on a processed row: its own channel, else the range
86
+ * the transforms gave it - a stack's own share (`2 - 1`), any other span as `1-2`.
87
+ */
88
+ static #axisText(processed, axis) {
89
+ const { channels, transforms } = processed;
90
+ const read = (channel) => resolveAccessor(channel);
91
+ const point = channels[axis];
92
+ if (point !== undefined) {
93
+ const value = read(point);
94
+ return (row) => TooltipState.value(value(row));
95
+ }
96
+ const low = channels[`${axis}1`];
97
+ const high = channels[`${axis}2`];
98
+ if (low === undefined || high === undefined)
99
+ return () => '';
100
+ const from = read(low);
101
+ const to = read(high);
102
+ if (transforms.some((t) => t.type === STACKS[axis])) {
103
+ return (row) => TooltipState.value(Number(to(row)) - Number(from(row)));
104
+ }
105
+ return (row) => `${TooltipState.value(from(row))}-${TooltipState.value(to(row))}`;
106
+ }
107
+ }
@@ -0,0 +1,173 @@
1
+ import type { MarkerTraits } from '../types/markers/traits';
2
+ /**
3
+ * Every marker kind's traits, in one row each. Typed over every kind, so a
4
+ * new kind can't be added without declaring all of its traits here.
5
+ */
6
+ export declare class MarkerKinds {
7
+ static readonly traits: {
8
+ area: {
9
+ clip: true;
10
+ drawsRows: true;
11
+ legendSymbol: "area";
12
+ };
13
+ arrow: {
14
+ clip: false;
15
+ drawsRows: true;
16
+ };
17
+ bar: {
18
+ clip: true;
19
+ drawsRows: true;
20
+ legendSymbol: "bar";
21
+ };
22
+ bollinger: {
23
+ clip: true;
24
+ drawsRows: true;
25
+ legendSymbol: "line";
26
+ };
27
+ brush: {
28
+ clip: false;
29
+ drawsRows: false;
30
+ };
31
+ box: {
32
+ clip: true;
33
+ drawsRows: true;
34
+ legendSymbol: "bar";
35
+ };
36
+ cell: {
37
+ clip: true;
38
+ drawsRows: true;
39
+ legendSymbol: "cell";
40
+ };
41
+ component: {
42
+ clip: false;
43
+ drawsRows: false;
44
+ };
45
+ contour: {
46
+ clip: false;
47
+ drawsRows: false;
48
+ };
49
+ delaunayLink: {
50
+ clip: true;
51
+ drawsRows: true;
52
+ };
53
+ delaunayMesh: {
54
+ clip: true;
55
+ drawsRows: true;
56
+ };
57
+ delta: {
58
+ clip: false;
59
+ drawsRows: false;
60
+ };
61
+ density: {
62
+ clip: true;
63
+ drawsRows: true;
64
+ legendSymbol: "area";
65
+ };
66
+ difference: {
67
+ clip: true;
68
+ drawsRows: true;
69
+ legendSymbol: "area";
70
+ };
71
+ dot: {
72
+ clip: false;
73
+ drawsRows: true;
74
+ legendSymbol: "dot";
75
+ };
76
+ geo: {
77
+ clip: false;
78
+ drawsRows: false;
79
+ };
80
+ 'geo-component': {
81
+ clip: false;
82
+ drawsRows: true;
83
+ };
84
+ 'geo-hover': {
85
+ clip: false;
86
+ drawsRows: false;
87
+ };
88
+ graticule: {
89
+ clip: false;
90
+ drawsRows: false;
91
+ };
92
+ hover: {
93
+ clip: false;
94
+ drawsRows: false;
95
+ };
96
+ hull: {
97
+ clip: true;
98
+ drawsRows: true;
99
+ legendSymbol: "area";
100
+ };
101
+ image: {
102
+ clip: false;
103
+ drawsRows: true;
104
+ };
105
+ inset: {
106
+ clip: false;
107
+ drawsRows: false;
108
+ };
109
+ line: {
110
+ clip: true;
111
+ drawsRows: true;
112
+ legendSymbol: "line";
113
+ };
114
+ link: {
115
+ clip: false;
116
+ drawsRows: false;
117
+ };
118
+ raster: {
119
+ clip: true;
120
+ drawsRows: true;
121
+ };
122
+ rect: {
123
+ clip: true;
124
+ drawsRows: true;
125
+ legendSymbol: "rect";
126
+ };
127
+ regression: {
128
+ clip: true;
129
+ drawsRows: true;
130
+ legendSymbol: "line";
131
+ };
132
+ rule: {
133
+ clip: true;
134
+ drawsRows: false;
135
+ legendSymbol: "line";
136
+ };
137
+ sphere: {
138
+ clip: false;
139
+ drawsRows: false;
140
+ };
141
+ text: {
142
+ clip: false;
143
+ drawsRows: true;
144
+ };
145
+ tick: {
146
+ clip: true;
147
+ drawsRows: true;
148
+ };
149
+ trail: {
150
+ clip: true;
151
+ drawsRows: true;
152
+ legendSymbol: "line";
153
+ };
154
+ vector: {
155
+ clip: false;
156
+ drawsRows: false;
157
+ };
158
+ voronoi: {
159
+ clip: true;
160
+ drawsRows: true;
161
+ };
162
+ voronoiMesh: {
163
+ clip: true;
164
+ drawsRows: true;
165
+ };
166
+ waffle: {
167
+ clip: true;
168
+ drawsRows: true;
169
+ };
170
+ };
171
+ /** The traits of a marker kind, or `undefined` for a type no kind declares. */
172
+ static of(type: string | undefined): MarkerTraits | undefined;
173
+ }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Every marker kind's traits, in one row each. Typed over every kind, so a
3
+ * new kind can't be added without declaring all of its traits here.
4
+ */
5
+ export class MarkerKinds {
6
+ static traits = {
7
+ area: { clip: true, drawsRows: true, legendSymbol: 'area' },
8
+ arrow: { clip: false, drawsRows: true },
9
+ bar: { clip: true, drawsRows: true, legendSymbol: 'bar' },
10
+ bollinger: { clip: true, drawsRows: true, legendSymbol: 'line' },
11
+ brush: { clip: false, drawsRows: false },
12
+ box: { clip: true, drawsRows: true, legendSymbol: 'bar' },
13
+ cell: { clip: true, drawsRows: true, legendSymbol: 'cell' },
14
+ component: { clip: false, drawsRows: false },
15
+ contour: { clip: false, drawsRows: false },
16
+ delaunayLink: { clip: true, drawsRows: true },
17
+ delaunayMesh: { clip: true, drawsRows: true },
18
+ delta: { clip: false, drawsRows: false },
19
+ density: { clip: true, drawsRows: true, legendSymbol: 'area' },
20
+ difference: { clip: true, drawsRows: true, legendSymbol: 'area' },
21
+ dot: { clip: false, drawsRows: true, legendSymbol: 'dot' },
22
+ geo: { clip: false, drawsRows: false },
23
+ 'geo-component': { clip: false, drawsRows: true },
24
+ 'geo-hover': { clip: false, drawsRows: false },
25
+ graticule: { clip: false, drawsRows: false },
26
+ hover: { clip: false, drawsRows: false },
27
+ hull: { clip: true, drawsRows: true, legendSymbol: 'area' },
28
+ image: { clip: false, drawsRows: true },
29
+ inset: { clip: false, drawsRows: false },
30
+ line: { clip: true, drawsRows: true, legendSymbol: 'line' },
31
+ link: { clip: false, drawsRows: false },
32
+ raster: { clip: true, drawsRows: true },
33
+ rect: { clip: true, drawsRows: true, legendSymbol: 'rect' },
34
+ regression: { clip: true, drawsRows: true, legendSymbol: 'line' },
35
+ rule: { clip: true, drawsRows: false, legendSymbol: 'line' },
36
+ sphere: { clip: false, drawsRows: false },
37
+ text: { clip: false, drawsRows: true },
38
+ tick: { clip: true, drawsRows: true },
39
+ trail: { clip: true, drawsRows: true, legendSymbol: 'line' },
40
+ vector: { clip: false, drawsRows: false },
41
+ voronoi: { clip: true, drawsRows: true },
42
+ voronoiMesh: { clip: true, drawsRows: true },
43
+ waffle: { clip: true, drawsRows: true }
44
+ };
45
+ /** The traits of a marker kind, or `undefined` for a type no kind declares. */
46
+ static of(type) {
47
+ return type !== undefined && type in MarkerKinds.traits
48
+ ? MarkerKinds.traits[type]
49
+ : undefined;
50
+ }
51
+ }
@@ -0,0 +1,110 @@
1
+ <script lang="ts">
2
+ import { AreaX, AreaY } from 'svelteplot';
3
+ import { usePlot } from '../../layout/plot/usePlot';
4
+ import { MarkerChannels } from '../utils/MarkerChannels';
5
+ import { getConfiguration } from '../../configuration/config.svelte';
6
+ import type { AreaMarkerConfig } from '../../types/markers/common';
7
+
8
+ /**
9
+ * Renders one `'area'` marker as `<AreaX>` or `<AreaY>`, picked from the way the plot
10
+ * runs (`usePlot().axes`). Never stacked by svelteplot itself: stacking is the
11
+ * `stackY`/`stackX` transform's job, which supplies the band it draws. Without
12
+ * a band, the area runs from zero up to its own value.
13
+ */
14
+ let { marker }: { marker: AreaMarkerConfig } = $props();
15
+
16
+ const plot = usePlot();
17
+ const isHorizontal = $derived(plot.axes?.isHorizontal ?? false);
18
+
19
+ const cfg = $derived(getConfiguration());
20
+ const data = $derived(marker.data ?? []);
21
+ const channelFill = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
22
+ const opacityBuckets = $derived(
23
+ MarkerChannels.buildOpacityBuckets(data, marker.opacity, marker.scales, cfg)
24
+ );
25
+
26
+ const hasYBand = $derived(marker.y1 !== undefined || marker.y2 !== undefined);
27
+ const hasXBand = $derived(marker.x1 !== undefined || marker.x2 !== undefined);
28
+ const y1 = $derived(hasYBand ? marker.y1 : 0);
29
+ const y2 = $derived(hasYBand ? marker.y2 : (marker.y ?? 0));
30
+ const x1 = $derived(hasXBand ? marker.x1 : 0);
31
+ const x2 = $derived(hasXBand ? marker.x2 : (marker.x ?? 0));
32
+ </script>
33
+
34
+ {#if opacityBuckets}
35
+ {#each opacityBuckets as bucket (bucket.value)}
36
+ {#if isHorizontal}
37
+ <AreaX
38
+ data={bucket.data}
39
+ x={marker.x}
40
+ {x1}
41
+ {x2}
42
+ y={marker.y}
43
+ z={marker.grouping}
44
+ stack={false}
45
+ curve={marker.curve}
46
+ tension={marker.tension}
47
+ fill={channelFill ?? marker.styles?.fill}
48
+ fillOpacity={bucket.value}
49
+ stroke={marker.styles?.stroke}
50
+ strokeWidth={marker.styles?.strokeWidth}
51
+ strokeOpacity={marker.styles?.strokeOpacity}
52
+ strokeDasharray={marker.styles?.strokeDasharray}
53
+ />
54
+ {:else}
55
+ <AreaY
56
+ data={bucket.data}
57
+ x={marker.x}
58
+ y={marker.y}
59
+ {y1}
60
+ {y2}
61
+ z={marker.grouping}
62
+ stack={false}
63
+ curve={marker.curve}
64
+ tension={marker.tension}
65
+ fill={channelFill ?? marker.styles?.fill}
66
+ fillOpacity={bucket.value}
67
+ stroke={marker.styles?.stroke}
68
+ strokeWidth={marker.styles?.strokeWidth}
69
+ strokeOpacity={marker.styles?.strokeOpacity}
70
+ strokeDasharray={marker.styles?.strokeDasharray}
71
+ />
72
+ {/if}
73
+ {/each}
74
+ {:else if isHorizontal}
75
+ <AreaX
76
+ {data}
77
+ x={marker.x}
78
+ {x1}
79
+ {x2}
80
+ y={marker.y}
81
+ z={marker.grouping}
82
+ stack={false}
83
+ curve={marker.curve}
84
+ tension={marker.tension}
85
+ fill={channelFill ?? marker.styles?.fill}
86
+ fillOpacity={marker.styles?.fillOpacity ?? cfg.area.fillOpacity}
87
+ stroke={marker.styles?.stroke}
88
+ strokeWidth={marker.styles?.strokeWidth}
89
+ strokeOpacity={marker.styles?.strokeOpacity}
90
+ strokeDasharray={marker.styles?.strokeDasharray}
91
+ />
92
+ {:else}
93
+ <AreaY
94
+ {data}
95
+ x={marker.x}
96
+ y={marker.y}
97
+ {y1}
98
+ {y2}
99
+ z={marker.grouping}
100
+ stack={false}
101
+ curve={marker.curve}
102
+ tension={marker.tension}
103
+ fill={channelFill ?? marker.styles?.fill}
104
+ fillOpacity={marker.styles?.fillOpacity ?? cfg.area.fillOpacity}
105
+ stroke={marker.styles?.stroke}
106
+ strokeWidth={marker.styles?.strokeWidth}
107
+ strokeOpacity={marker.styles?.strokeOpacity}
108
+ strokeDasharray={marker.styles?.strokeDasharray}
109
+ />
110
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { AreaMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: AreaMarkerConfig;
4
+ };
5
+ declare const AreaMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type AreaMarker = ReturnType<typeof AreaMarker>;
7
+ export default AreaMarker;
@@ -0,0 +1,28 @@
1
+ <script lang="ts">
2
+ import { Arrow } from 'svelteplot';
3
+ import type { ArrowMarkerConfig } from '../../types/markers/common';
4
+
5
+ /** Renders one `'arrow'` marker as `<Arrow>` - a point-to-point annotation. Restates svelteplot's own defaults, which an explicit `undefined` would otherwise erase. */
6
+ let { marker }: { marker: ArrowMarkerConfig } = $props();
7
+
8
+ const data = $derived(marker.data ?? []);
9
+ </script>
10
+
11
+ <Arrow
12
+ {data}
13
+ x1={marker.x1}
14
+ y1={marker.y1}
15
+ x2={marker.x2}
16
+ y2={marker.y2}
17
+ bend={marker.bend}
18
+ headAngle={marker.headAngle ?? 60}
19
+ headLength={marker.headLength ?? 8}
20
+ inset={marker.inset ?? 0}
21
+ insetStart={marker.insetStart}
22
+ insetEnd={marker.insetEnd}
23
+ sweep={marker.sweep}
24
+ stroke={marker.styles?.stroke ?? 'currentColor'}
25
+ strokeWidth={marker.styles?.strokeWidth}
26
+ strokeOpacity={marker.styles?.strokeOpacity}
27
+ strokeDasharray={marker.styles?.strokeDasharray}
28
+ />
@@ -0,0 +1,7 @@
1
+ import type { ArrowMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: ArrowMarkerConfig;
4
+ };
5
+ declare const ArrowMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type ArrowMarker = ReturnType<typeof ArrowMarker>;
7
+ export default ArrowMarker;
@@ -1,6 +1,10 @@
1
1
  <script lang="ts">
2
- import { BarX, BarY, usePlot } from 'svelteplot';
3
- import type { BarMarkerConfig } from '../types/markers/common';
2
+ import { BarX, BarY } from 'svelteplot';
3
+ import { usePlot } from '../../layout/plot/usePlot';
4
+ import { PlotContext } from '../../layout/plot/PlotContext';
5
+ import { MarkerChannels } from '../utils/MarkerChannels';
6
+ import { getConfiguration } from '../../configuration/config.svelte';
7
+ import type { BarMarkerConfig } from '../../types/markers/common';
4
8
 
5
9
  /**
6
10
  * Renders one `'bar'` marker: `role: 'segment'` (visible bar via
@@ -9,7 +13,18 @@
9
13
  */
10
14
  let { marker }: { marker: BarMarkerConfig } = $props();
11
15
 
12
- const plot = usePlot();
16
+ const cfg = $derived(getConfiguration());
17
+ const data = $derived(marker.data ?? []);
18
+ const channelFill = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
19
+
20
+ const plot = usePlot().svelteplot;
21
+ const hover = PlotContext.current()?.hover;
22
+ const enter = $derived(
23
+ marker.hover
24
+ ? () => hover?.onPointer((marker.data ?? []) as Record<string, unknown>[])
25
+ : undefined
26
+ );
27
+ const leave = $derived(marker.hover ? hover?.onLeave : undefined);
13
28
  function categoryScaleFor(isHorizontal: boolean) {
14
29
  return isHorizontal ? plot.scales.y : plot.scales.x;
15
30
  }
@@ -23,18 +38,6 @@
23
38
  const b = Number(range[range.length - 1]);
24
39
  return [Math.min(a, b), Math.max(a, b)];
25
40
  }
26
- // A `'hitArea'` marker's own value-axis slice, mapped to pixels.
27
- function hitAreaValueRangeFor(
28
- isHorizontal: boolean,
29
- from: unknown,
30
- to: unknown
31
- ): [number, number] {
32
- if (typeof from !== 'number' || typeof to !== 'number') return valueExtentFor(isHorizontal);
33
- const scale = valueScaleFor(isHorizontal);
34
- const a = Number(scale?.fn?.(from) ?? 0);
35
- const b = Number(scale?.fn?.(to) ?? 0);
36
- return [Math.min(a, b), Math.max(a, b)];
37
- }
38
41
  </script>
39
42
 
40
43
  {#if marker.role === 'segment'}
@@ -42,35 +45,35 @@
42
45
  {@const bandwidth = categoryScale?.type === 'band' ? categoryScale.fn.bandwidth() : 0}
43
46
  {#if marker.isHorizontal}
44
47
  <BarX
45
- data={marker.data}
48
+ {data}
46
49
  y={marker.y}
47
50
  x1={marker.x1}
48
51
  x2={marker.x2}
49
52
  insetTop={marker.insetTop != null ? marker.insetTop * bandwidth : undefined}
50
53
  insetBottom={marker.insetBottom != null ? marker.insetBottom * bandwidth : undefined}
51
- fill={marker.style?.fill}
52
- fillOpacity={marker.style?.fillOpacity}
53
- stroke={marker.style?.stroke}
54
- strokeWidth={marker.style?.strokeWidth}
55
- strokeOpacity={marker.style?.strokeOpacity}
56
- strokeDasharray={marker.style?.strokeDasharray}
57
- borderRadius={marker.style?.borderRadius}
54
+ fill={channelFill ?? marker.styles?.fill}
55
+ fillOpacity={marker.styles?.fillOpacity}
56
+ stroke={marker.styles?.stroke}
57
+ strokeWidth={marker.styles?.strokeWidth}
58
+ strokeOpacity={marker.styles?.strokeOpacity}
59
+ strokeDasharray={marker.styles?.strokeDasharray}
60
+ borderRadius={marker.styles?.borderRadius}
58
61
  />
59
62
  {:else}
60
63
  <BarY
61
- data={marker.data}
64
+ {data}
62
65
  x={marker.x}
63
66
  y1={marker.y1}
64
67
  y2={marker.y2}
65
68
  insetLeft={marker.insetLeft != null ? marker.insetLeft * bandwidth : undefined}
66
69
  insetRight={marker.insetRight != null ? marker.insetRight * bandwidth : undefined}
67
- fill={marker.style?.fill}
68
- fillOpacity={marker.style?.fillOpacity}
69
- stroke={marker.style?.stroke}
70
- strokeWidth={marker.style?.strokeWidth}
71
- strokeOpacity={marker.style?.strokeOpacity}
72
- strokeDasharray={marker.style?.strokeDasharray}
73
- borderRadius={marker.style?.borderRadius}
70
+ fill={channelFill ?? marker.styles?.fill}
71
+ fillOpacity={marker.styles?.fillOpacity}
72
+ stroke={marker.styles?.stroke}
73
+ strokeWidth={marker.styles?.strokeWidth}
74
+ strokeOpacity={marker.styles?.strokeOpacity}
75
+ strokeDasharray={marker.styles?.strokeDasharray}
76
+ borderRadius={marker.styles?.borderRadius}
74
77
  />
75
78
  {/if}
76
79
  {:else}
@@ -83,9 +86,8 @@
83
86
  {@const insetTop = (marker.insetTop ?? 0) * bandwidth}
84
87
  {@const insetBottom = (marker.insetBottom ?? 0) * bandwidth}
85
88
  {#if marker.role === 'hitArea'}
86
- {@const [rangeMin, rangeMax] = marker.isHorizontal
87
- ? hitAreaValueRangeFor(marker.isHorizontal, marker.x1, marker.x2)
88
- : hitAreaValueRangeFor(marker.isHorizontal, marker.y1, marker.y2)}
89
+ <!-- The band runs the plot's whole value axis, so the pointer needn't be over the bar. -->
90
+ {@const [rangeMin, rangeMax] = valueExtentFor(marker.isHorizontal)}
89
91
  {#if marker.isHorizontal}
90
92
  <!-- svelte-ignore a11y_no_static_element_interactions -->
91
93
  <rect
@@ -95,8 +97,8 @@
95
97
  width={Math.max(0, rangeMax - rangeMin - insetLeft - insetRight)}
96
98
  height={Math.max(0, bandwidth - insetTop - insetBottom)}
97
99
  fill="transparent"
98
- onpointerenter={marker.onpointerenter}
99
- onpointerleave={marker.onpointerleave}
100
+ onpointerenter={enter}
101
+ onpointerleave={leave}
100
102
  />
101
103
  {:else}
102
104
  <!-- svelte-ignore a11y_no_static_element_interactions -->
@@ -107,8 +109,8 @@
107
109
  width={Math.max(0, bandwidth - insetLeft - insetRight)}
108
110
  height={Math.max(0, rangeMax - rangeMin - insetTop - insetBottom)}
109
111
  fill="transparent"
110
- onpointerenter={marker.onpointerenter}
111
- onpointerleave={marker.onpointerleave}
112
+ onpointerenter={enter}
113
+ onpointerleave={leave}
112
114
  />
113
115
  {/if}
114
116
  {:else}
@@ -122,13 +124,13 @@
122
124
  y={center - thickness / 2}
123
125
  width={Math.max(0, valueMax - valueMin)}
124
126
  height={thickness}
125
- fill={marker.style?.fill}
126
- fill-opacity={marker.style?.fillOpacity}
127
- stroke={marker.style?.stroke}
128
- stroke-width={marker.style?.strokeWidth}
129
- stroke-opacity={marker.style?.strokeOpacity}
130
- stroke-dasharray={marker.style?.strokeDasharray}
131
- rx={marker.style?.borderRadius}
127
+ fill={marker.styles?.fill}
128
+ fill-opacity={marker.styles?.fillOpacity}
129
+ stroke={marker.styles?.stroke}
130
+ stroke-width={marker.styles?.strokeWidth}
131
+ stroke-opacity={marker.styles?.strokeOpacity}
132
+ stroke-dasharray={marker.styles?.strokeDasharray}
133
+ rx={marker.styles?.borderRadius}
132
134
  pointer-events="none"
133
135
  />
134
136
  {:else}
@@ -140,13 +142,13 @@
140
142
  y={valueMin}
141
143
  width={thickness}
142
144
  height={Math.max(0, valueMax - valueMin)}
143
- fill={marker.style?.fill}
144
- fill-opacity={marker.style?.fillOpacity}
145
- stroke={marker.style?.stroke}
146
- stroke-width={marker.style?.strokeWidth}
147
- stroke-opacity={marker.style?.strokeOpacity}
148
- stroke-dasharray={marker.style?.strokeDasharray}
149
- ry={marker.style?.borderRadius}
145
+ fill={marker.styles?.fill}
146
+ fill-opacity={marker.styles?.fillOpacity}
147
+ stroke={marker.styles?.stroke}
148
+ stroke-width={marker.styles?.strokeWidth}
149
+ stroke-opacity={marker.styles?.strokeOpacity}
150
+ stroke-dasharray={marker.styles?.strokeDasharray}
151
+ ry={marker.styles?.borderRadius}
150
152
  pointer-events="none"
151
153
  />
152
154
  {/if}
@@ -1,4 +1,4 @@
1
- import type { BarMarkerConfig } from '../types/markers/common';
1
+ import type { BarMarkerConfig } from '../../types/markers/common';
2
2
  type $$ComponentProps = {
3
3
  marker: BarMarkerConfig;
4
4
  };