@fundar/data-chart-telling 0.0.64 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (839) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -0
  3. package/README.md +112 -553
  4. package/dist/configuration/config.svelte.d.ts +5 -5
  5. package/dist/configuration/config.svelte.js +142 -46
  6. package/dist/configuration/fonts.d.ts +6 -0
  7. package/dist/configuration/fonts.js +6 -0
  8. package/dist/configuration/themes/compact.d.ts +2 -2
  9. package/dist/configuration/themes/compact.js +1 -1
  10. package/dist/configuration/themes/dark.d.ts +2 -2
  11. package/dist/configuration/themes/dark.js +5 -4
  12. package/dist/configuration/themes/default.d.ts +8 -3
  13. package/dist/configuration/themes/default.js +8 -2
  14. package/dist/configuration/themes/editorial.d.ts +2 -2
  15. package/dist/configuration/themes/editorial.js +2 -2
  16. package/dist/configuration/themes/index.d.ts +545 -80
  17. package/dist/configuration/themes/index.js +6 -5
  18. package/dist/index.d.ts +35 -48
  19. package/dist/index.js +20 -35
  20. package/dist/layout/base/BasePlotLayout.svelte +325 -0
  21. package/dist/layout/base/BasePlotLayout.svelte.d.ts +111 -0
  22. package/dist/layout/composer/PlotComposer.svelte +94 -0
  23. package/dist/layout/composer/PlotComposer.svelte.d.ts +13 -0
  24. package/dist/layout/coordinates/CameraFit.svelte +4 -4
  25. package/dist/layout/coordinates/CoordinatesLayout.svelte +11 -3
  26. package/dist/layout/coordinates/CoordinatesLayout.svelte.d.ts +6 -2
  27. package/dist/layout/coordinates/camera.svelte.d.ts +1 -1
  28. package/dist/layout/coordinates/camera.svelte.js +6 -6
  29. package/dist/layout/coordinates/projections/argentina.js +3 -3
  30. package/dist/layout/coordinates/projections/fit.js +1 -1
  31. package/dist/layout/coordinates/resolveCameraTarget.d.ts +1 -1
  32. package/dist/layout/coordinates/resolveProjection.d.ts +1 -1
  33. package/dist/layout/coordinates/resolveProjection.js +2 -2
  34. package/dist/layout/coordinates/rotate.svelte.d.ts +3 -3
  35. package/dist/layout/coordinates/rotate.svelte.js +8 -8
  36. package/dist/layout/coordinates/zoom.svelte.d.ts +1 -1
  37. package/dist/layout/facet/FacetIndicator.svelte +23 -23
  38. package/dist/layout/facet/FacetLayout.svelte +435 -398
  39. package/dist/layout/facet/FacetLayout.svelte.d.ts +9 -3
  40. package/dist/layout/facet/axes.d.ts +16 -0
  41. package/dist/layout/facet/axes.js +25 -0
  42. package/dist/layout/facet/config.d.ts +32 -0
  43. package/dist/layout/facet/config.js +82 -0
  44. package/dist/layout/figure/Figure.svelte +177 -0
  45. package/dist/layout/figure/Figure.svelte.d.ts +14 -0
  46. package/dist/layout/figure/FigureChrome.svelte +341 -0
  47. package/dist/layout/figure/FigureChrome.svelte.d.ts +21 -0
  48. package/dist/layout/geometry/FrameClip.svelte +45 -0
  49. package/dist/layout/geometry/FrameClip.svelte.d.ts +8 -0
  50. package/dist/layout/geometry/FrameClipping.d.ts +24 -0
  51. package/dist/layout/geometry/FrameClipping.js +40 -0
  52. package/dist/layout/geometry/GeometryLayout.svelte +287 -224
  53. package/dist/layout/geometry/GeometryLayout.svelte.d.ts +10 -10
  54. package/dist/layout/grid/Grid.svelte +194 -0
  55. package/dist/layout/grid/Grid.svelte.d.ts +26 -0
  56. package/dist/layout/grid/GridAlignment.svelte.d.ts +31 -0
  57. package/dist/layout/grid/GridAlignment.svelte.js +56 -0
  58. package/dist/layout/grid/GridCell.svelte +141 -0
  59. package/dist/layout/grid/GridCell.svelte.d.ts +17 -0
  60. package/dist/layout/grid/GridCellsRegistry.svelte.d.ts +52 -0
  61. package/dist/layout/grid/GridCellsRegistry.svelte.js +70 -0
  62. package/dist/layout/grid/GridPlan.d.ts +49 -0
  63. package/dist/layout/grid/GridPlan.js +167 -0
  64. package/dist/layout/grid/Tags.d.ts +8 -0
  65. package/dist/layout/grid/Tags.js +39 -0
  66. package/dist/layout/hover/HoverScope.svelte +11 -0
  67. package/dist/layout/hover/HoverScope.svelte.d.ts +8 -0
  68. package/dist/layout/hover/HoverSettings.d.ts +34 -0
  69. package/dist/layout/hover/HoverSettings.js +52 -0
  70. package/dist/layout/hover/HoverState.svelte.d.ts +47 -0
  71. package/dist/layout/hover/HoverState.svelte.js +99 -0
  72. package/dist/layout/hover/PlotHover.svelte.d.ts +63 -0
  73. package/dist/layout/hover/PlotHover.svelte.js +133 -0
  74. package/dist/layout/interaction/PlotInteraction.svelte.d.ts +38 -0
  75. package/dist/layout/interaction/PlotInteraction.svelte.js +56 -0
  76. package/dist/layout/legend/AxisNumberFormat.d.ts +12 -0
  77. package/dist/layout/legend/AxisNumberFormat.js +25 -0
  78. package/dist/layout/legend/ContinuousSection.svelte +363 -351
  79. package/dist/layout/legend/DisabledStyle.d.ts +19 -0
  80. package/dist/layout/legend/DisabledStyle.js +57 -0
  81. package/dist/layout/legend/DiscreteBadgeItem.svelte +6 -3
  82. package/dist/layout/legend/DiscreteSection.svelte +32 -32
  83. package/dist/layout/legend/DiscreteSwatchItem.svelte +4 -1
  84. package/dist/layout/legend/DiscreteSymbolIcon.svelte +14 -9
  85. package/dist/layout/legend/LegendChannels.d.ts +21 -0
  86. package/dist/layout/legend/LegendChannels.js +221 -0
  87. package/dist/layout/legend/LegendLayout.svelte +49 -43
  88. package/dist/layout/legend/LegendState.svelte.d.ts +84 -0
  89. package/dist/layout/legend/LegendState.svelte.js +333 -0
  90. package/dist/layout/legend/LegendText.d.ts +12 -0
  91. package/dist/layout/legend/LegendText.js +22 -0
  92. package/dist/layout/legend/SizeSection.svelte +84 -0
  93. package/dist/layout/legend/SizeSection.svelte.d.ts +7 -0
  94. package/dist/layout/legend/SymbolSection.svelte +31 -0
  95. package/dist/layout/legend/SymbolSection.svelte.d.ts +8 -0
  96. package/dist/layout/margins/Box.d.ts +84 -0
  97. package/dist/layout/margins/Box.js +138 -0
  98. package/dist/layout/margins/Margins.d.ts +37 -0
  99. package/dist/layout/margins/Margins.js +71 -0
  100. package/dist/layout/margins/PlotMargins.svelte.d.ts +101 -0
  101. package/dist/layout/margins/PlotMargins.svelte.js +219 -0
  102. package/dist/layout/plot/Core.svelte +61 -0
  103. package/dist/layout/plot/Core.svelte.d.ts +41 -0
  104. package/dist/layout/plot/PanelRun.svelte +28 -0
  105. package/dist/{charts/heatmap/Chart.svelte.d.ts → layout/plot/PanelRun.svelte.d.ts} +11 -7
  106. package/dist/layout/plot/Plot.svelte +287 -0
  107. package/dist/layout/plot/Plot.svelte.d.ts +49 -0
  108. package/dist/layout/plot/PlotContext.d.ts +41 -0
  109. package/dist/layout/plot/PlotContext.js +46 -0
  110. package/dist/layout/plot/PublicPlotContext.d.ts +131 -0
  111. package/dist/layout/plot/PublicPlotContext.js +240 -0
  112. package/dist/layout/plot/Slice.d.ts +44 -0
  113. package/dist/layout/plot/Slice.js +100 -0
  114. package/dist/layout/plot/usePlot.d.ts +9 -0
  115. package/dist/layout/plot/usePlot.js +13 -0
  116. package/dist/layout/scales/EdgeTicks.d.ts +39 -0
  117. package/dist/layout/scales/EdgeTicks.js +82 -0
  118. package/dist/layout/scales/NiceTicks.d.ts +40 -0
  119. package/dist/layout/scales/NiceTicks.js +72 -0
  120. package/dist/layout/scales/ScalesLayout.svelte +275 -206
  121. package/dist/layout/scales/ScalesLayout.svelte.d.ts +7 -1
  122. package/dist/layout/scales/SveltePlotScale.d.ts +15 -0
  123. package/dist/layout/scales/SveltePlotScale.js +79 -0
  124. package/dist/layout/styles/StylesLayout.svelte +65 -65
  125. package/dist/layout/styles/TileLayer.svelte +78 -76
  126. package/dist/layout/styles/TileLayer.svelte.d.ts +1 -1
  127. package/dist/layout/styles/ValueLabels.d.ts +97 -0
  128. package/dist/layout/styles/ValueLabels.js +238 -0
  129. package/dist/layout/timeline/Timeline.svelte +83 -74
  130. package/dist/layout/timeline/Timeline.svelte.d.ts +2 -0
  131. package/dist/layout/timeline/TimelineFrame.svelte +86 -0
  132. package/dist/layout/timeline/TimelineFrame.svelte.d.ts +16 -0
  133. package/dist/layout/timeline/TimelineLayout.svelte +140 -169
  134. package/dist/layout/timeline/TimelineLayout.svelte.d.ts +7 -3
  135. package/dist/layout/timeline/TimelinePlayer.svelte +195 -0
  136. package/dist/layout/timeline/TimelinePlayer.svelte.d.ts +7 -0
  137. package/dist/layout/timeline/TimelineRule.svelte +51 -0
  138. package/dist/layout/timeline/TimelineRule.svelte.d.ts +7 -0
  139. package/dist/layout/timeline/TimelineState.svelte.d.ts +90 -0
  140. package/dist/layout/timeline/TimelineState.svelte.js +260 -0
  141. package/dist/layout/timeline/TimelineSteps.d.ts +24 -0
  142. package/dist/layout/timeline/TimelineSteps.js +48 -0
  143. package/dist/layout/timeline/TimelineTime.d.ts +18 -0
  144. package/dist/layout/timeline/TimelineTime.js +117 -0
  145. package/dist/layout/tooltip/Tooltip.svelte +85 -85
  146. package/dist/layout/tooltip/Tooltip.svelte.d.ts +45 -24
  147. package/dist/layout/tooltip/TooltipState.svelte.d.ts +67 -0
  148. package/dist/layout/tooltip/TooltipState.svelte.js +126 -0
  149. package/dist/markers/MarkerKinds.d.ts +173 -0
  150. package/dist/markers/MarkerKinds.js +51 -0
  151. package/dist/markers/area/AreaMarker.svelte +110 -0
  152. package/dist/markers/area/AreaMarker.svelte.d.ts +7 -0
  153. package/dist/markers/arrow/ArrowMarker.svelte +28 -0
  154. package/dist/markers/arrow/ArrowMarker.svelte.d.ts +7 -0
  155. package/dist/markers/{BarMarker.svelte → bar/BarMarker.svelte} +54 -52
  156. package/dist/markers/{BarMarker.svelte.d.ts → bar/BarMarker.svelte.d.ts} +1 -1
  157. package/dist/markers/bollinger/BollingerMarker.svelte +44 -0
  158. package/dist/markers/bollinger/BollingerMarker.svelte.d.ts +7 -0
  159. package/dist/markers/box/BoxMarker.svelte +143 -0
  160. package/dist/markers/box/BoxMarker.svelte.d.ts +7 -0
  161. package/dist/markers/brush/BrushMarker.svelte +32 -0
  162. package/dist/markers/brush/BrushMarker.svelte.d.ts +7 -0
  163. package/dist/markers/cell/CellMarker.svelte +27 -0
  164. package/dist/markers/{CellMarker.svelte.d.ts → cell/CellMarker.svelte.d.ts} +1 -1
  165. package/dist/markers/contour/ContourClipMarker.svelte +83 -0
  166. package/dist/markers/{ContourClipMarker.svelte.d.ts → contour/ContourClipMarker.svelte.d.ts} +1 -1
  167. package/dist/markers/contour/ContourMarker.svelte +28 -0
  168. package/dist/markers/{ContourMarker.svelte.d.ts → contour/ContourMarker.svelte.d.ts} +1 -1
  169. package/dist/markers/delaunay/DelaunayLinkMarker.svelte +26 -0
  170. package/dist/markers/delaunay/DelaunayLinkMarker.svelte.d.ts +7 -0
  171. package/dist/markers/delaunay/DelaunayMeshMarker.svelte +26 -0
  172. package/dist/markers/delaunay/DelaunayMeshMarker.svelte.d.ts +7 -0
  173. package/dist/markers/delta/Delta.d.ts +21 -0
  174. package/dist/markers/delta/Delta.js +60 -0
  175. package/dist/markers/delta/DeltaMarker.svelte +96 -0
  176. package/dist/markers/{DeltaMarker.svelte.d.ts → delta/DeltaMarker.svelte.d.ts} +2 -2
  177. package/dist/markers/density/DensityMarker.svelte +63 -0
  178. package/dist/markers/density/DensityMarker.svelte.d.ts +7 -0
  179. package/dist/markers/difference/DifferenceMarker.svelte +30 -0
  180. package/dist/markers/difference/DifferenceMarker.svelte.d.ts +7 -0
  181. package/dist/markers/dot/DotMarker.svelte +102 -0
  182. package/dist/markers/{DotMarker.svelte.d.ts → dot/DotMarker.svelte.d.ts} +5 -17
  183. package/dist/markers/geo/GeoFeaturesMarker.svelte +39 -0
  184. package/dist/markers/{GeoFeaturesMarker.svelte.d.ts → geo/GeoFeaturesMarker.svelte.d.ts} +1 -1
  185. package/dist/markers/geo/GeoHoverMarker.svelte +28 -0
  186. package/dist/markers/{GeoHoverMarker.svelte.d.ts → geo/GeoHoverMarker.svelte.d.ts} +2 -2
  187. package/dist/markers/geo/GraticuleMarker.svelte +18 -0
  188. package/dist/markers/{GraticuleMarker.svelte.d.ts → geo/GraticuleMarker.svelte.d.ts} +1 -1
  189. package/dist/markers/geo/SphereMarker.svelte +15 -0
  190. package/dist/markers/{SphereMarker.svelte.d.ts → geo/SphereMarker.svelte.d.ts} +1 -1
  191. package/dist/markers/hover/HoverMarker.svelte +252 -0
  192. package/dist/markers/{HoverMarker.svelte.d.ts → hover/HoverMarker.svelte.d.ts} +10 -10
  193. package/dist/markers/hull/HullMarker.svelte +25 -0
  194. package/dist/markers/hull/HullMarker.svelte.d.ts +7 -0
  195. package/dist/markers/image/ImageMarker.svelte +22 -0
  196. package/dist/markers/image/ImageMarker.svelte.d.ts +7 -0
  197. package/dist/markers/inset/InsetMarker.svelte +184 -150
  198. package/dist/markers/inset/InsetMarker.svelte.d.ts +4 -4
  199. package/dist/markers/inset/insetLayout.d.ts +1 -1
  200. package/dist/markers/inset/insetLayout.js +6 -2
  201. package/dist/markers/inset/insetProjection.d.ts +1 -1
  202. package/dist/markers/inset/insetProjection.js +3 -3
  203. package/dist/markers/line/LineMarker.svelte +30 -0
  204. package/dist/markers/{LineMarker.svelte.d.ts → line/LineMarker.svelte.d.ts} +1 -1
  205. package/dist/markers/link/LinkMarker.svelte +47 -0
  206. package/dist/markers/{LinkMarker.svelte.d.ts → link/LinkMarker.svelte.d.ts} +1 -1
  207. package/dist/markers/raster/RasterMarker.svelte +31 -0
  208. package/dist/markers/raster/RasterMarker.svelte.d.ts +7 -0
  209. package/dist/markers/rect/RectMarker.svelte +62 -0
  210. package/dist/markers/rect/RectMarker.svelte.d.ts +7 -0
  211. package/dist/markers/regression/RegressionMarker.svelte +60 -0
  212. package/dist/markers/regression/RegressionMarker.svelte.d.ts +7 -0
  213. package/dist/markers/rule/RuleMarker.svelte +47 -0
  214. package/dist/markers/{RuleMarker.svelte.d.ts → rule/RuleMarker.svelte.d.ts} +2 -5
  215. package/dist/markers/text/Declutter.d.ts +35 -0
  216. package/dist/markers/text/Declutter.js +157 -0
  217. package/dist/markers/text/TextMarker.svelte +244 -0
  218. package/dist/markers/{TextMarker.svelte.d.ts → text/TextMarker.svelte.d.ts} +5 -9
  219. package/dist/markers/tick/TickMarker.svelte +44 -0
  220. package/dist/markers/tick/TickMarker.svelte.d.ts +7 -0
  221. package/dist/markers/trail/TrailMarker.svelte +27 -0
  222. package/dist/markers/trail/TrailMarker.svelte.d.ts +7 -0
  223. package/dist/markers/utils/BandNudge.d.ts +22 -0
  224. package/dist/markers/utils/BandNudge.js +23 -0
  225. package/dist/markers/utils/MarkerChannels.d.ts +49 -0
  226. package/dist/markers/utils/MarkerChannels.js +97 -0
  227. package/dist/markers/vector/VectorMarker.svelte +29 -0
  228. package/dist/markers/{VectorMarker.svelte.d.ts → vector/VectorMarker.svelte.d.ts} +1 -1
  229. package/dist/markers/voronoi/VoronoiMarker.svelte +26 -0
  230. package/dist/markers/voronoi/VoronoiMarker.svelte.d.ts +7 -0
  231. package/dist/markers/voronoi/VoronoiMeshMarker.svelte +26 -0
  232. package/dist/markers/voronoi/VoronoiMeshMarker.svelte.d.ts +7 -0
  233. package/dist/markers/waffle/WaffleMarker.svelte +56 -0
  234. package/dist/markers/waffle/WaffleMarker.svelte.d.ts +7 -0
  235. package/dist/phases/Pipeline.d.ts +108 -0
  236. package/dist/phases/Pipeline.js +227 -0
  237. package/dist/phases/data/DataPhase.d.ts +19 -0
  238. package/dist/phases/data/DataPhase.js +85 -0
  239. package/dist/phases/data/PlotAxes.d.ts +75 -0
  240. package/dist/phases/data/PlotAxes.js +151 -0
  241. package/dist/phases/facet/FacetPanels.d.ts +54 -0
  242. package/dist/phases/facet/FacetPanels.js +95 -0
  243. package/dist/phases/facet/FacetPhase.d.ts +11 -0
  244. package/dist/phases/facet/FacetPhase.js +28 -0
  245. package/dist/phases/hover/HoverPhase.d.ts +36 -0
  246. package/dist/phases/hover/HoverPhase.js +109 -0
  247. package/dist/phases/mapping/MappingPhase.d.ts +17 -0
  248. package/dist/phases/mapping/MappingPhase.js +40 -0
  249. package/dist/phases/markers/MarkersPhase.d.ts +14 -0
  250. package/dist/phases/markers/MarkersPhase.js +27 -0
  251. package/dist/phases/scales/MarkerAxisValues.d.ts +12 -0
  252. package/dist/phases/scales/MarkerAxisValues.js +34 -0
  253. package/dist/phases/scales/ScalesPhase.d.ts +29 -0
  254. package/dist/phases/scales/ScalesPhase.js +153 -0
  255. package/dist/phases/sharedScales/SharedScalesPhase.d.ts +58 -0
  256. package/dist/phases/sharedScales/SharedScalesPhase.js +171 -0
  257. package/dist/phases/statistics/AuthorMarkers.d.ts +43 -0
  258. package/dist/phases/statistics/AuthorMarkers.js +69 -0
  259. package/dist/phases/statistics/MarkerGrouping.d.ts +48 -0
  260. package/dist/phases/statistics/MarkerGrouping.js +113 -0
  261. package/dist/phases/statistics/Statistics.d.ts +53 -0
  262. package/dist/phases/statistics/Statistics.js +156 -0
  263. package/dist/phases/statistics/StatisticsPhase.d.ts +18 -0
  264. package/dist/phases/statistics/StatisticsPhase.js +67 -0
  265. package/dist/phases/statistics/methods/BollingerStatistic.d.ts +9 -0
  266. package/dist/phases/statistics/methods/BollingerStatistic.js +18 -0
  267. package/dist/phases/statistics/methods/BoxStatistic.d.ts +9 -0
  268. package/dist/phases/statistics/methods/BoxStatistic.js +18 -0
  269. package/dist/phases/statistics/methods/Density2dStatistic.d.ts +9 -0
  270. package/dist/phases/statistics/methods/Density2dStatistic.js +18 -0
  271. package/dist/phases/statistics/methods/DensityStatistic.d.ts +12 -0
  272. package/dist/phases/statistics/methods/DensityStatistic.js +29 -0
  273. package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +12 -0
  274. package/dist/phases/statistics/methods/MovingAverageStatistic.js +30 -0
  275. package/dist/phases/statistics/methods/RegressionStatistic.d.ts +9 -0
  276. package/dist/phases/statistics/methods/RegressionStatistic.js +21 -0
  277. package/dist/phases/styles/StylesPhase.d.ts +13 -0
  278. package/dist/phases/styles/StylesPhase.js +17 -0
  279. package/dist/phases/tooltip/TooltipPhase.d.ts +14 -0
  280. package/dist/phases/tooltip/TooltipPhase.js +17 -0
  281. package/dist/phases/transforms/ProcessedPositions.d.ts +30 -0
  282. package/dist/phases/transforms/ProcessedPositions.js +74 -0
  283. package/dist/phases/transforms/Transforms.d.ts +42 -0
  284. package/dist/phases/transforms/Transforms.js +130 -0
  285. package/dist/phases/transforms/TransformsPhase.d.ts +27 -0
  286. package/dist/phases/transforms/TransformsPhase.js +205 -0
  287. package/dist/phases/transforms/methods/AnchorBar.d.ts +13 -0
  288. package/dist/phases/transforms/methods/AnchorBar.js +21 -0
  289. package/dist/phases/transforms/methods/BinTransform.d.ts +7 -0
  290. package/dist/phases/transforms/methods/BinTransform.js +48 -0
  291. package/dist/phases/transforms/methods/DensityTransform.d.ts +6 -0
  292. package/dist/phases/transforms/methods/DensityTransform.js +13 -0
  293. package/dist/phases/transforms/methods/GroupTransform.d.ts +8 -0
  294. package/dist/phases/transforms/methods/GroupTransform.js +39 -0
  295. package/dist/phases/transforms/methods/NormalizeTransform.d.ts +10 -0
  296. package/dist/phases/transforms/methods/NormalizeTransform.js +30 -0
  297. package/dist/phases/transforms/methods/OrderTransform.d.ts +16 -0
  298. package/dist/phases/transforms/methods/OrderTransform.js +43 -0
  299. package/dist/phases/transforms/methods/PerGroup.d.ts +11 -0
  300. package/dist/phases/transforms/methods/PerGroup.js +39 -0
  301. package/dist/phases/transforms/methods/PositionTransform.d.ts +15 -0
  302. package/dist/phases/transforms/methods/PositionTransform.js +74 -0
  303. package/dist/phases/transforms/methods/StackTransform.d.ts +8 -0
  304. package/dist/phases/transforms/methods/StackTransform.js +29 -0
  305. package/dist/phases/transforms/methods/WindowTransform.d.ts +8 -0
  306. package/dist/phases/transforms/methods/WindowTransform.js +23 -0
  307. package/dist/plots/area/Plot.svelte +42 -0
  308. package/dist/plots/{heatmap/ValueLabels.svelte.d.ts → area/Plot.svelte.d.ts} +8 -16
  309. package/dist/plots/area/defaults.d.ts +4 -0
  310. package/dist/plots/area/defaults.js +21 -0
  311. package/dist/plots/area/markers.d.ts +14 -0
  312. package/dist/plots/area/markers.js +39 -0
  313. package/dist/plots/bar/Plot.svelte +33 -438
  314. package/dist/plots/bar/Plot.svelte.d.ts +5 -8
  315. package/dist/plots/bar/defaults.d.ts +9 -0
  316. package/dist/plots/bar/defaults.js +88 -0
  317. package/dist/plots/bar/markers.d.ts +45 -0
  318. package/dist/plots/bar/markers.js +233 -0
  319. package/dist/plots/box/BoxSummaries.d.ts +19 -0
  320. package/dist/plots/box/BoxSummaries.js +101 -0
  321. package/dist/plots/box/Plot.svelte +42 -0
  322. package/dist/plots/box/Plot.svelte.d.ts +26 -0
  323. package/dist/plots/box/defaults.d.ts +12 -0
  324. package/dist/plots/box/defaults.js +34 -0
  325. package/dist/plots/box/markers.d.ts +12 -0
  326. package/dist/plots/box/markers.js +34 -0
  327. package/dist/plots/geo/Core.svelte +151 -0
  328. package/dist/plots/geo/Core.svelte.d.ts +25 -0
  329. package/dist/plots/geo/Plot.svelte +103 -324
  330. package/dist/plots/geo/Plot.svelte.d.ts +5 -9
  331. package/dist/plots/geo/defaults.d.ts +4 -0
  332. package/dist/plots/geo/defaults.js +16 -0
  333. package/dist/plots/geo/features.svelte.d.ts +5 -0
  334. package/dist/plots/geo/features.svelte.js +44 -0
  335. package/dist/plots/geo/phases/data.d.ts +6 -0
  336. package/dist/plots/geo/phases/data.js +26 -0
  337. package/dist/plots/geo/phases/hover.d.ts +9 -0
  338. package/dist/plots/geo/phases/hover.js +45 -0
  339. package/dist/plots/geo/phases/markers.d.ts +9 -0
  340. package/dist/plots/geo/phases/markers.js +75 -0
  341. package/dist/plots/geo/phases/scales.d.ts +10 -0
  342. package/dist/plots/geo/phases/scales.js +85 -0
  343. package/dist/plots/geo/phases/tooltip.d.ts +3 -0
  344. package/dist/plots/geo/phases/tooltip.js +5 -0
  345. package/dist/plots/geo/slices.d.ts +18 -0
  346. package/dist/plots/geo/slices.js +59 -0
  347. package/dist/plots/heatmap/Plot.svelte +55 -249
  348. package/dist/plots/heatmap/Plot.svelte.d.ts +5 -8
  349. package/dist/plots/heatmap/defaults.d.ts +11 -0
  350. package/dist/plots/heatmap/defaults.js +91 -0
  351. package/dist/plots/heatmap/markers.d.ts +17 -0
  352. package/dist/plots/heatmap/markers.js +142 -0
  353. package/dist/plots/histogram/Plot.svelte +45 -0
  354. package/dist/plots/histogram/Plot.svelte.d.ts +26 -0
  355. package/dist/plots/histogram/defaults.d.ts +9 -0
  356. package/dist/plots/histogram/defaults.js +87 -0
  357. package/dist/plots/histogram/markers.d.ts +18 -0
  358. package/dist/plots/histogram/markers.js +89 -0
  359. package/dist/plots/line/Plot.svelte +37 -268
  360. package/dist/plots/line/Plot.svelte.d.ts +3 -7
  361. package/dist/plots/line/defaults.d.ts +4 -0
  362. package/dist/plots/line/defaults.js +29 -0
  363. package/dist/plots/line/markers.d.ts +49 -0
  364. package/dist/plots/line/markers.js +199 -0
  365. package/dist/plots/pyramid/Plot.svelte +34 -362
  366. package/dist/plots/pyramid/Plot.svelte.d.ts +5 -8
  367. package/dist/plots/pyramid/defaults.d.ts +13 -0
  368. package/dist/plots/pyramid/defaults.js +87 -0
  369. package/dist/plots/pyramid/markers.d.ts +21 -0
  370. package/dist/plots/pyramid/markers.js +156 -0
  371. package/dist/plots/scatter/Plot.svelte +34 -288
  372. package/dist/plots/scatter/Plot.svelte.d.ts +5 -8
  373. package/dist/plots/scatter/defaults.d.ts +4 -0
  374. package/dist/plots/scatter/defaults.js +80 -0
  375. package/dist/plots/scatter/markers.d.ts +19 -0
  376. package/dist/plots/scatter/markers.js +129 -0
  377. package/dist/plots/utils/ChannelName.d.ts +9 -0
  378. package/dist/plots/utils/ChannelName.js +14 -0
  379. package/dist/plots/utils/accessors.d.ts +1 -1
  380. package/dist/plots/utils/accessors.js +4 -2
  381. package/dist/plots/utils/gaps.d.ts +14 -19
  382. package/dist/plots/utils/gaps.js +38 -18
  383. package/dist/plots/utils/geoAccessors.d.ts +8 -8
  384. package/dist/plots/utils/geoAccessors.js +16 -12
  385. package/dist/plots/utils/geoSegments.d.ts +24 -9
  386. package/dist/plots/utils/geoSegments.js +31 -11
  387. package/dist/plots/utils/segments.d.ts +5 -16
  388. package/dist/plots/utils/segments.js +40 -52
  389. package/dist/plots/utils/tiles.d.ts +9 -9
  390. package/dist/plots/utils/tiles.js +35 -25
  391. package/dist/plots/utils/topojson.d.ts +1 -1
  392. package/dist/plots/utils/topojson.js +3 -3
  393. package/dist/stores/device.js +2 -4
  394. package/dist/types/configuration/styling.d.ts +174 -27
  395. package/dist/types/layout/box.d.ts +24 -0
  396. package/dist/types/layout/composer.d.ts +39 -0
  397. package/dist/types/layout/coordinates.d.ts +14 -14
  398. package/dist/types/layout/facet.d.ts +44 -22
  399. package/dist/types/layout/figure.d.ts +7 -0
  400. package/dist/types/layout/geometry.d.ts +6 -2
  401. package/dist/types/layout/grid.d.ts +66 -0
  402. package/dist/types/layout/hover.d.ts +48 -0
  403. package/dist/types/layout/legend.d.ts +256 -55
  404. package/dist/types/layout/mapping.d.ts +68 -0
  405. package/dist/types/layout/plot.d.ts +41 -0
  406. package/dist/types/layout/scales.d.ts +108 -24
  407. package/dist/types/layout/scales.js +19 -1
  408. package/dist/types/layout/statistics/bollinger.d.ts +18 -0
  409. package/dist/types/layout/statistics/box.d.ts +8 -0
  410. package/dist/types/layout/statistics/box.js +1 -0
  411. package/dist/types/layout/statistics/density.d.ts +27 -0
  412. package/dist/types/layout/statistics/density.js +1 -0
  413. package/dist/types/layout/statistics/index.d.ts +46 -0
  414. package/dist/types/layout/statistics/index.js +1 -0
  415. package/dist/types/layout/statistics/movingAverage.d.ts +12 -0
  416. package/dist/types/layout/statistics/movingAverage.js +1 -0
  417. package/dist/types/layout/statistics/regression.d.ts +20 -0
  418. package/dist/types/layout/statistics/regression.js +1 -0
  419. package/dist/types/layout/styles.d.ts +24 -35
  420. package/dist/types/layout/timeline.d.ts +62 -6
  421. package/dist/types/layout/tooltip.d.ts +7 -85
  422. package/dist/types/markers/all.d.ts +3 -4
  423. package/dist/types/markers/axis/area.d.ts +12 -0
  424. package/dist/types/markers/axis/area.js +1 -0
  425. package/dist/types/markers/axis/arrow.d.ts +15 -0
  426. package/dist/types/markers/axis/arrow.js +1 -0
  427. package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +29 -0
  428. package/dist/types/markers/axis/axisBasedMarkersConfig.js +1 -0
  429. package/dist/types/markers/axis/bar.d.ts +18 -0
  430. package/dist/types/markers/axis/bar.js +1 -0
  431. package/dist/types/markers/axis/bollinger.d.ts +6 -0
  432. package/dist/types/markers/axis/bollinger.js +1 -0
  433. package/dist/types/markers/axis/box.d.ts +14 -0
  434. package/dist/types/markers/axis/box.js +1 -0
  435. package/dist/types/markers/axis/brush.d.ts +28 -0
  436. package/dist/types/markers/axis/brush.js +1 -0
  437. package/dist/types/markers/axis/cell.d.ts +9 -0
  438. package/dist/types/markers/axis/cell.js +1 -0
  439. package/dist/types/markers/axis/component.d.ts +9 -0
  440. package/dist/types/markers/axis/component.js +1 -0
  441. package/dist/types/markers/axis/curveName.d.ts +2 -0
  442. package/dist/types/markers/axis/curveName.js +1 -0
  443. package/dist/types/markers/axis/delaunayLink.d.ts +7 -0
  444. package/dist/types/markers/axis/delaunayLink.js +1 -0
  445. package/dist/types/markers/axis/delaunayMesh.d.ts +7 -0
  446. package/dist/types/markers/axis/delaunayMesh.js +1 -0
  447. package/dist/types/markers/axis/delta.d.ts +27 -0
  448. package/dist/types/markers/axis/delta.js +1 -0
  449. package/dist/types/markers/axis/density.d.ts +12 -0
  450. package/dist/types/markers/axis/density.js +1 -0
  451. package/dist/types/markers/axis/difference.d.ts +12 -0
  452. package/dist/types/markers/axis/difference.js +1 -0
  453. package/dist/types/markers/axis/hover.d.ts +21 -0
  454. package/dist/types/markers/axis/hover.js +1 -0
  455. package/dist/types/markers/axis/hull.d.ts +7 -0
  456. package/dist/types/markers/axis/hull.js +1 -0
  457. package/dist/types/markers/axis/image.d.ts +12 -0
  458. package/dist/types/markers/axis/image.js +1 -0
  459. package/dist/types/markers/axis/line.d.ts +7 -0
  460. package/dist/types/markers/axis/line.js +1 -0
  461. package/dist/types/markers/axis/raster.d.ts +18 -0
  462. package/dist/types/markers/axis/raster.js +1 -0
  463. package/dist/types/markers/axis/rect.d.ts +15 -0
  464. package/dist/types/markers/axis/rect.js +1 -0
  465. package/dist/types/markers/axis/regression.d.ts +6 -0
  466. package/dist/types/markers/axis/regression.js +1 -0
  467. package/dist/types/markers/axis/rule.d.ts +15 -0
  468. package/dist/types/markers/axis/rule.js +1 -0
  469. package/dist/types/markers/axis/tick.d.ts +8 -0
  470. package/dist/types/markers/axis/tick.js +1 -0
  471. package/dist/types/markers/axis/trail.d.ts +14 -0
  472. package/dist/types/markers/axis/trail.js +1 -0
  473. package/dist/types/markers/axis/voronoi.d.ts +7 -0
  474. package/dist/types/markers/axis/voronoi.js +1 -0
  475. package/dist/types/markers/axis/voronoiMesh.d.ts +7 -0
  476. package/dist/types/markers/axis/voronoiMesh.js +1 -0
  477. package/dist/types/markers/axis/waffle.d.ts +13 -0
  478. package/dist/types/markers/axis/waffle.js +1 -0
  479. package/dist/types/markers/basic/basicMarkersConfig.d.ts +4 -0
  480. package/dist/types/markers/basic/basicMarkersConfig.js +1 -0
  481. package/dist/types/markers/basic/dot.d.ts +9 -0
  482. package/dist/types/markers/basic/dot.js +1 -0
  483. package/dist/types/markers/basic/text.d.ts +60 -0
  484. package/dist/types/markers/basic/text.js +1 -0
  485. package/dist/types/markers/basic.d.ts +4 -0
  486. package/dist/types/markers/basic.js +1 -0
  487. package/dist/types/markers/channels/commonMarkerConfig.d.ts +26 -0
  488. package/dist/types/markers/channels/commonMarkerConfig.js +1 -0
  489. package/dist/types/markers/channels/commonMarkerConfigWithArea.d.ts +6 -0
  490. package/dist/types/markers/channels/commonMarkerConfigWithArea.js +1 -0
  491. package/dist/types/markers/channels/commonMarkerConfigWithColor.d.ts +5 -0
  492. package/dist/types/markers/channels/commonMarkerConfigWithColor.js +1 -0
  493. package/dist/types/markers/channels/commonMarkerConfigWithInterval.d.ts +9 -0
  494. package/dist/types/markers/channels/commonMarkerConfigWithInterval.js +1 -0
  495. package/dist/types/markers/channels/commonMarkerConfigWithRadius.d.ts +5 -0
  496. package/dist/types/markers/channels/commonMarkerConfigWithRadius.js +1 -0
  497. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.d.ts +5 -0
  498. package/dist/types/markers/channels/commonMarkerConfigWithSymbol.js +1 -0
  499. package/dist/types/markers/channels/commonMarkerConfigWithWeight.d.ts +5 -0
  500. package/dist/types/markers/channels/commonMarkerConfigWithWeight.js +1 -0
  501. package/dist/types/markers/common.d.ts +30 -103
  502. package/dist/types/markers/common.js +29 -1
  503. package/dist/types/markers/geo/contour.d.ts +27 -0
  504. package/dist/types/markers/geo/contour.js +1 -0
  505. package/dist/types/markers/geo/features.d.ts +12 -0
  506. package/dist/types/markers/geo/features.js +1 -0
  507. package/dist/types/markers/geo/geoComponent.d.ts +7 -0
  508. package/dist/types/markers/geo/geoComponent.js +1 -0
  509. package/dist/types/markers/geo/geoHover.d.ts +6 -0
  510. package/dist/types/markers/geo/geoHover.js +1 -0
  511. package/dist/types/markers/geo/geoMarkersConfig.d.ts +11 -0
  512. package/dist/types/markers/geo/geoMarkersConfig.js +1 -0
  513. package/dist/types/markers/geo/graticule.d.ts +11 -0
  514. package/dist/types/markers/geo/graticule.js +1 -0
  515. package/dist/types/markers/geo/inset.d.ts +50 -0
  516. package/dist/types/markers/geo/inset.js +1 -0
  517. package/dist/types/markers/geo/link.d.ts +13 -0
  518. package/dist/types/markers/geo/link.js +1 -0
  519. package/dist/types/markers/geo/sphere.d.ts +11 -0
  520. package/dist/types/markers/geo/sphere.js +1 -0
  521. package/dist/types/markers/geo/vector.d.ts +17 -0
  522. package/dist/types/markers/geo/vector.js +1 -0
  523. package/dist/types/markers/geo.d.ts +10 -212
  524. package/dist/types/markers/geo.js +10 -1
  525. package/dist/types/markers/traits.d.ts +22 -0
  526. package/dist/types/markers/traits.js +1 -0
  527. package/dist/types/misc/easing.js +1 -0
  528. package/dist/types/misc/viewport.js +1 -0
  529. package/dist/types/phases/data/axes.d.ts +18 -0
  530. package/dist/types/phases/data/axes.js +1 -0
  531. package/dist/types/phases/data/phase.d.ts +26 -0
  532. package/dist/types/phases/data/phase.js +2 -0
  533. package/dist/types/phases/facet/phase.d.ts +18 -0
  534. package/dist/types/phases/facet/phase.js +1 -0
  535. package/dist/types/phases/hover/phase.d.ts +40 -0
  536. package/dist/types/phases/hover/phase.js +1 -0
  537. package/dist/types/phases/index.d.ts +14 -0
  538. package/dist/types/phases/index.js +1 -0
  539. package/dist/types/phases/kind.d.ts +59 -0
  540. package/dist/types/phases/kind.js +1 -0
  541. package/dist/types/phases/mapping/phase.d.ts +5 -0
  542. package/dist/types/phases/mapping/phase.js +1 -0
  543. package/dist/types/phases/markers/phase.d.ts +13 -0
  544. package/dist/types/phases/markers/phase.js +1 -0
  545. package/dist/types/phases/pipeline.d.ts +10 -0
  546. package/dist/types/phases/pipeline.js +1 -0
  547. package/dist/types/phases/scales/phase.d.ts +26 -0
  548. package/dist/types/phases/scales/phase.js +1 -0
  549. package/dist/types/phases/sharedScales/phase.d.ts +12 -0
  550. package/dist/types/phases/sharedScales/phase.js +1 -0
  551. package/dist/types/phases/stage.d.ts +12 -0
  552. package/dist/types/phases/stage.js +1 -0
  553. package/dist/types/phases/state.d.ts +76 -0
  554. package/dist/types/phases/state.js +1 -0
  555. package/dist/types/phases/statistics/phase.d.ts +43 -0
  556. package/dist/types/phases/statistics/phase.js +1 -0
  557. package/dist/types/phases/statistics/source.d.ts +20 -0
  558. package/dist/types/phases/statistics/source.js +7 -0
  559. package/dist/types/phases/styles/phase.d.ts +24 -0
  560. package/dist/types/phases/styles/phase.js +1 -0
  561. package/dist/types/phases/transforms/adapter.d.ts +27 -0
  562. package/dist/types/phases/transforms/adapter.js +1 -0
  563. package/dist/types/phases/transforms/phase.d.ts +50 -0
  564. package/dist/types/phases/transforms/phase.js +1 -0
  565. package/dist/types/plots/area/props.d.ts +10 -0
  566. package/dist/types/plots/area/props.js +1 -0
  567. package/dist/types/plots/area/state.d.ts +6 -0
  568. package/dist/types/plots/area/state.js +1 -0
  569. package/dist/types/plots/bar/props.d.ts +10 -0
  570. package/dist/types/plots/bar/props.js +1 -0
  571. package/dist/types/plots/bar/state.d.ts +6 -0
  572. package/dist/types/plots/bar/state.js +1 -0
  573. package/dist/types/plots/box/props.d.ts +10 -0
  574. package/dist/types/plots/box/props.js +1 -0
  575. package/dist/types/plots/box/state.d.ts +23 -0
  576. package/dist/types/plots/box/state.js +1 -0
  577. package/dist/types/plots/camera.d.ts +7 -17
  578. package/dist/types/plots/constants.d.ts +16 -8
  579. package/dist/types/plots/data/common.d.ts +25 -17
  580. package/dist/types/plots/data/geo.d.ts +26 -12
  581. package/dist/types/plots/gaps.d.ts +19 -38
  582. package/dist/types/plots/geo/props.d.ts +23 -0
  583. package/dist/types/plots/geo/props.js +1 -0
  584. package/dist/types/plots/geo/state.d.ts +82 -0
  585. package/dist/types/plots/geo/state.js +1 -0
  586. package/dist/types/plots/heatmap/props.d.ts +10 -0
  587. package/dist/types/plots/heatmap/props.js +1 -0
  588. package/dist/types/plots/heatmap/state.d.ts +28 -0
  589. package/dist/types/plots/heatmap/state.js +1 -0
  590. package/dist/types/plots/histogram/props.d.ts +18 -0
  591. package/dist/types/plots/histogram/props.js +1 -0
  592. package/dist/types/plots/histogram/state.d.ts +6 -0
  593. package/dist/types/plots/histogram/state.js +1 -0
  594. package/dist/types/plots/line/props.d.ts +10 -0
  595. package/dist/types/plots/line/props.js +1 -0
  596. package/dist/types/plots/line/state.d.ts +9 -0
  597. package/dist/types/plots/line/state.js +1 -0
  598. package/dist/types/plots/props.d.ts +145 -35
  599. package/dist/types/plots/pyramid/props.d.ts +10 -0
  600. package/dist/types/plots/pyramid/props.js +1 -0
  601. package/dist/types/plots/pyramid/state.d.ts +16 -0
  602. package/dist/types/plots/pyramid/state.js +1 -0
  603. package/dist/types/plots/scatter/props.d.ts +10 -0
  604. package/dist/types/plots/scatter/props.js +1 -0
  605. package/dist/types/plots/scatter/state.d.ts +6 -0
  606. package/dist/types/plots/scatter/state.js +1 -0
  607. package/dist/types/plots/segments/common.d.ts +1 -1
  608. package/dist/types/plots/segments/config.d.ts +12 -6
  609. package/dist/types/plots/styling.d.ts +5 -5
  610. package/dist/types/transforms/bin.d.ts +84 -0
  611. package/dist/types/transforms/bin.js +28 -0
  612. package/dist/types/transforms/bollinger.d.ts +21 -0
  613. package/dist/types/transforms/bollinger.js +1 -0
  614. package/dist/types/transforms/common.d.ts +29 -0
  615. package/dist/types/transforms/common.js +16 -0
  616. package/dist/types/transforms/density.d.ts +45 -0
  617. package/dist/types/transforms/density.js +10 -0
  618. package/dist/types/transforms/filter.d.ts +12 -0
  619. package/dist/types/transforms/filter.js +14 -0
  620. package/dist/types/transforms/group.d.ts +70 -0
  621. package/dist/types/transforms/group.js +8 -0
  622. package/dist/types/transforms/index.d.ts +36 -0
  623. package/dist/types/transforms/index.js +1 -0
  624. package/dist/types/transforms/interval.d.ts +21 -0
  625. package/dist/types/transforms/interval.js +14 -0
  626. package/dist/types/transforms/jitter.d.ts +34 -0
  627. package/dist/types/transforms/jitter.js +1 -0
  628. package/dist/types/transforms/map.d.ts +24 -0
  629. package/dist/types/transforms/map.js +1 -0
  630. package/dist/types/transforms/normalize.d.ts +36 -0
  631. package/dist/types/transforms/normalize.js +1 -0
  632. package/dist/types/transforms/select.d.ts +15 -0
  633. package/dist/types/transforms/select.js +1 -0
  634. package/dist/types/transforms/shift.d.ts +20 -0
  635. package/dist/types/transforms/shift.js +1 -0
  636. package/dist/types/transforms/sort.d.ts +31 -0
  637. package/dist/types/transforms/sort.js +14 -0
  638. package/dist/types/transforms/stack.d.ts +64 -0
  639. package/dist/types/transforms/stack.js +12 -0
  640. package/dist/types/transforms/window.d.ts +29 -0
  641. package/dist/types/transforms/window.js +1 -0
  642. package/dist/utils/ContinuousDomain.d.ts +12 -0
  643. package/dist/utils/ContinuousDomain.js +19 -0
  644. package/dist/utils/Interpolation.d.ts +26 -0
  645. package/dist/utils/Interpolation.js +65 -0
  646. package/dist/utils/{color.d.ts → color/contrast.d.ts} +0 -5
  647. package/dist/utils/color/contrast.js +40 -0
  648. package/dist/utils/color/cssColor.d.ts +4 -0
  649. package/dist/utils/color/cssColor.js +77 -0
  650. package/dist/utils/color/index.d.ts +3 -0
  651. package/dist/utils/color/index.js +3 -0
  652. package/dist/utils/color/ramp.d.ts +17 -0
  653. package/dist/utils/color/ramp.js +110 -0
  654. package/dist/utils/grouping.d.ts +9 -5
  655. package/dist/utils/grouping.js +19 -10
  656. package/dist/utils/merge.d.ts +7 -0
  657. package/dist/utils/merge.js +17 -0
  658. package/dist/utils/opacity.d.ts +9 -0
  659. package/dist/utils/opacity.js +38 -0
  660. package/dist/utils/symbol.d.ts +31 -0
  661. package/dist/utils/symbol.js +92 -0
  662. package/docs/architecture.md +137 -0
  663. package/docs/chrome.md +99 -0
  664. package/docs/composer.md +69 -0
  665. package/docs/concepts.md +99 -0
  666. package/docs/development.md +103 -0
  667. package/docs/facets.md +123 -0
  668. package/docs/geo.md +151 -0
  669. package/docs/getting-started.md +78 -0
  670. package/docs/legend.md +153 -0
  671. package/docs/markers.md +117 -0
  672. package/docs/plots.md +284 -0
  673. package/docs/scales.md +95 -0
  674. package/docs/state.md +71 -0
  675. package/docs/styles-and-segments.md +269 -0
  676. package/docs/theming.md +226 -0
  677. package/docs/timeline.md +128 -0
  678. package/docs/tooltip-and-hover.md +128 -0
  679. package/docs/transforms-and-statistics.md +118 -0
  680. package/examples/BarValues.svelte +14 -0
  681. package/examples/Box.svelte +7 -0
  682. package/examples/Chrome.svelte +17 -0
  683. package/examples/ChromeOrder.svelte +18 -0
  684. package/examples/Composer.svelte +23 -0
  685. package/examples/CustomTooltip.svelte +44 -0
  686. package/examples/Facets.svelte +15 -0
  687. package/examples/FacetsCarousel.svelte +14 -0
  688. package/examples/FacetsRowsCols.svelte +23 -0
  689. package/examples/FirstPlot.svelte +7 -0
  690. package/examples/Gaps.svelte +21 -0
  691. package/examples/GroupedBars.svelte +15 -0
  692. package/examples/Heatmap.svelte +7 -0
  693. package/examples/HeatmapSegments.svelte +26 -0
  694. package/examples/Histogram.svelte +14 -0
  695. package/examples/HorizontalBars.svelte +15 -0
  696. package/examples/LegendReader.svelte +8 -0
  697. package/examples/LegendSections.svelte +27 -0
  698. package/examples/LegendToggle.svelte +25 -0
  699. package/examples/LineByRegion.svelte +18 -0
  700. package/examples/LineDates.svelte +15 -0
  701. package/examples/Markers.svelte +27 -0
  702. package/examples/MovingAverage.svelte +15 -0
  703. package/examples/Pyramid.svelte +7 -0
  704. package/examples/Regression.svelte +14 -0
  705. package/examples/ResponsiveLine.svelte +37 -0
  706. package/examples/Scales.svelte +26 -0
  707. package/examples/Scatter.svelte +16 -0
  708. package/examples/SegmentHighlight.svelte +22 -0
  709. package/examples/Segments.svelte +25 -0
  710. package/examples/SegmentsBySeries.svelte +25 -0
  711. package/examples/StackedArea.svelte +16 -0
  712. package/examples/StackedBars.svelte +15 -0
  713. package/examples/TimelinePlayer.svelte +21 -0
  714. package/examples/TimelineRule.svelte +19 -0
  715. package/examples/Tooltip.svelte +19 -0
  716. package/examples/TooltipCard.svelte +86 -0
  717. package/examples/ValueLabels.svelte +21 -0
  718. package/examples/data.ts +324 -0
  719. package/llms-full.txt +142 -0
  720. package/llms.txt +77 -0
  721. package/package.json +42 -5
  722. package/dist/charts/BaseChart.svelte +0 -149
  723. package/dist/charts/BaseChart.svelte.d.ts +0 -47
  724. package/dist/charts/bar/Chart.svelte +0 -110
  725. package/dist/charts/bar/Chart.svelte.d.ts +0 -26
  726. package/dist/charts/container/ChartContainer.svelte +0 -137
  727. package/dist/charts/container/ChartContainer.svelte.d.ts +0 -16
  728. package/dist/charts/heatmap/Chart.svelte +0 -114
  729. package/dist/charts/line/Chart.svelte +0 -112
  730. package/dist/charts/line/Chart.svelte.d.ts +0 -26
  731. package/dist/charts/pyramid/Chart.svelte +0 -134
  732. package/dist/charts/pyramid/Chart.svelte.d.ts +0 -30
  733. package/dist/charts/scatter/Chart.svelte +0 -95
  734. package/dist/charts/scatter/Chart.svelte.d.ts +0 -28
  735. package/dist/layout/coordinates/margins.d.ts +0 -16
  736. package/dist/layout/coordinates/margins.js +0 -11
  737. package/dist/layout/legend/interaction.svelte.d.ts +0 -15
  738. package/dist/layout/legend/interaction.svelte.js +0 -32
  739. package/dist/layout/plot/BasePlotLayout.svelte +0 -332
  740. package/dist/layout/plot/BasePlotLayout.svelte.d.ts +0 -122
  741. package/dist/layout/plot/margins.d.ts +0 -18
  742. package/dist/layout/plot/margins.js +0 -15
  743. package/dist/layout/plot/measureText.d.ts +0 -4
  744. package/dist/layout/plot/measureText.js +0 -19
  745. package/dist/layout/scales/buildScale.d.ts +0 -25
  746. package/dist/layout/scales/buildScale.js +0 -90
  747. package/dist/layout/scales/niceDomain.d.ts +0 -23
  748. package/dist/layout/scales/niceDomain.js +0 -59
  749. package/dist/layout/tooltip/TooltipLayout.svelte +0 -51
  750. package/dist/layout/tooltip/TooltipLayout.svelte.d.ts +0 -45
  751. package/dist/layout/tooltip/controller.svelte.d.ts +0 -61
  752. package/dist/layout/tooltip/controller.svelte.js +0 -173
  753. package/dist/layout/tooltip/hover.svelte.d.ts +0 -7
  754. package/dist/layout/tooltip/hover.svelte.js +0 -28
  755. package/dist/layout/tooltip/resolveTooltipPlacement.d.ts +0 -24
  756. package/dist/layout/tooltip/resolveTooltipPlacement.js +0 -49
  757. package/dist/layout/tooltip/utils.d.ts +0 -49
  758. package/dist/layout/tooltip/utils.js +0 -82
  759. package/dist/markers/CellMarker.svelte +0 -21
  760. package/dist/markers/ContourClipMarker.svelte +0 -77
  761. package/dist/markers/ContourMarker.svelte +0 -28
  762. package/dist/markers/DeltaMarker.svelte +0 -109
  763. package/dist/markers/DotMarker.svelte +0 -70
  764. package/dist/markers/GeoFeaturesMarker.svelte +0 -19
  765. package/dist/markers/GeoHoverMarker.svelte +0 -25
  766. package/dist/markers/GraticuleMarker.svelte +0 -18
  767. package/dist/markers/HoverMarker.svelte +0 -212
  768. package/dist/markers/LineMarker.svelte +0 -19
  769. package/dist/markers/LinkMarker.svelte +0 -42
  770. package/dist/markers/PeakMarker.svelte +0 -80
  771. package/dist/markers/PeakMarker.svelte.d.ts +0 -13
  772. package/dist/markers/RuleMarker.svelte +0 -24
  773. package/dist/markers/SphereMarker.svelte +0 -15
  774. package/dist/markers/TextMarker.svelte +0 -62
  775. package/dist/markers/VectorMarker.svelte +0 -20
  776. package/dist/plots/bar/ValueLabels.svelte +0 -149
  777. package/dist/plots/bar/ValueLabels.svelte.d.ts +0 -58
  778. package/dist/plots/bar/buildBarMarkers.d.ts +0 -27
  779. package/dist/plots/bar/buildBarMarkers.js +0 -151
  780. package/dist/plots/bar/hoverPoints.d.ts +0 -15
  781. package/dist/plots/bar/hoverPoints.js +0 -37
  782. package/dist/plots/bar/layout.svelte.d.ts +0 -42
  783. package/dist/plots/bar/layout.svelte.js +0 -182
  784. package/dist/plots/geo/buildGeoMarkers.d.ts +0 -33
  785. package/dist/plots/geo/buildGeoMarkers.js +0 -47
  786. package/dist/plots/heatmap/ValueLabels.svelte +0 -56
  787. package/dist/plots/heatmap/buildCellMarkers.d.ts +0 -21
  788. package/dist/plots/heatmap/buildCellMarkers.js +0 -25
  789. package/dist/plots/line/ValueLabels.svelte +0 -269
  790. package/dist/plots/line/ValueLabels.svelte.d.ts +0 -52
  791. package/dist/plots/line/buildGapMarkers.d.ts +0 -28
  792. package/dist/plots/line/buildGapMarkers.js +0 -74
  793. package/dist/plots/line/buildLineMarkers.d.ts +0 -16
  794. package/dist/plots/line/buildLineMarkers.js +0 -56
  795. package/dist/plots/line/valueLabelMargin.d.ts +0 -19
  796. package/dist/plots/line/valueLabelMargin.js +0 -65
  797. package/dist/plots/pyramid/ValueLabels.svelte +0 -139
  798. package/dist/plots/pyramid/ValueLabels.svelte.d.ts +0 -56
  799. package/dist/plots/pyramid/buildPyramidBarMarkers.d.ts +0 -26
  800. package/dist/plots/pyramid/buildPyramidBarMarkers.js +0 -72
  801. package/dist/plots/scatter/ValueLabels.svelte +0 -163
  802. package/dist/plots/scatter/ValueLabels.svelte.d.ts +0 -52
  803. package/dist/plots/scatter/buildScatterMarkers.d.ts +0 -12
  804. package/dist/plots/scatter/buildScatterMarkers.js +0 -36
  805. package/dist/plots/scatter/resolveRadiusPaddedDomain.d.ts +0 -10
  806. package/dist/plots/scatter/resolveRadiusPaddedDomain.js +0 -23
  807. package/dist/plots/utils/categoricalAxisMargin.d.ts +0 -14
  808. package/dist/plots/utils/categoricalAxisMargin.js +0 -20
  809. package/dist/plots/utils/declutter.d.ts +0 -120
  810. package/dist/plots/utils/declutter.js +0 -240
  811. package/dist/plots/utils/labelOverflow.svelte.d.ts +0 -107
  812. package/dist/plots/utils/labelOverflow.svelte.js +0 -257
  813. package/dist/plots/utils/legendDisabled.d.ts +0 -27
  814. package/dist/plots/utils/legendDisabled.js +0 -68
  815. package/dist/plots/utils/valueLabelMargin.d.ts +0 -67
  816. package/dist/plots/utils/valueLabelMargin.js +0 -60
  817. package/dist/types/charts/common.d.ts +0 -22
  818. package/dist/types/charts/props.d.ts +0 -50
  819. package/dist/types/markers/base.d.ts +0 -45
  820. package/dist/types/markers/line.d.ts +0 -34
  821. package/dist/types/markers/props.d.ts +0 -11
  822. package/dist/types/plots/data/scatter.d.ts +0 -13
  823. package/dist/utils/color.js +0 -141
  824. package/dist/utils/delta.d.ts +0 -12
  825. package/dist/utils/delta.js +0 -69
  826. package/dist/utils/edgeAwareAnchor.d.ts +0 -34
  827. package/dist/utils/edgeAwareAnchor.js +0 -60
  828. package/dist/utils/interpolate.d.ts +0 -31
  829. package/dist/utils/interpolate.js +0 -71
  830. /package/dist/types/{charts/common.js → layout/box.js} +0 -0
  831. /package/dist/types/{charts/interpolate.js → layout/composer.js} +0 -0
  832. /package/dist/types/{charts/props.js → layout/figure.js} +0 -0
  833. /package/dist/types/{markers/base.js → layout/grid.js} +0 -0
  834. /package/dist/types/{markers/line.js → layout/hover.js} +0 -0
  835. /package/dist/types/{markers/props.js → layout/mapping.js} +0 -0
  836. /package/dist/types/{plots/data/scatter.js → layout/plot.js} +0 -0
  837. /package/dist/types/{viewport.js → layout/statistics/bollinger.js} +0 -0
  838. /package/dist/types/{charts/interpolate.d.ts → misc/easing.d.ts} +0 -0
  839. /package/dist/types/{viewport.d.ts → misc/viewport.d.ts} +0 -0
@@ -1,139 +0,0 @@
1
- <script lang="ts" generics="TData extends Record<string, unknown>">
2
- import { Text } from 'svelteplot';
3
- import { resolveAccessor } from '../utils/accessors';
4
- import { disabledFillOverride } from '../utils/legendDisabled';
5
- import { watchLabelOverflow } from '../utils/labelOverflow.svelte';
6
- import { isGapValue } from '../utils/gaps';
7
- import type { Series } from '../../types/plots/data/common';
8
- import type { ValuesStyle } from '../../types/layout/styles';
9
- import type { ValueAnchor } from '../../types/plots/constants';
10
- import type { BarSegmentStyle } from '../../types/plots/segments/common';
11
- import type { VisualGroup } from '../../types/plots/segments/config';
12
- import type { LegendDisabledStyle } from '../../types/layout/legend';
13
- import type { MarginOverflow } from '../utils/labelOverflow.svelte';
14
-
15
- /**
16
- * Renders one series' value label on a pyramid bar — anchor-driven default
17
- * position/offset, mirrored left/right of the shared zero baseline
18
- * depending on `group.series.side`, overridable per-field via
19
- * `styles.values.fontStyle`.
20
- */
21
- let {
22
- group,
23
- valAnchor,
24
- formatValue,
25
- values,
26
- axisColor,
27
- disabled,
28
- width,
29
- height,
30
- numericMargins,
31
- onHoverSeries,
32
- onHoverEnd,
33
- onOverflow,
34
- }: {
35
- group: VisualGroup<Series<TData> & { side: 'left' | 'right' }, BarSegmentStyle>;
36
- valAnchor: ValueAnchor;
37
- formatValue: (value: number, seriesName: string) => string;
38
- values: ValuesStyle | undefined;
39
- axisColor: string;
40
- /** Resolved legend/hover-isolate dimming style for this group's series, if any. */
41
- disabled?: LegendDisabledStyle;
42
- /** The plot's own pixel size — together with `numericMargins`, the ground truth for its content box (see `bounds()` below). */
43
- width: number;
44
- height: number;
45
- /** `BasePlotLayout`'s resolved margins, already numeric on every side. */
46
- numericMargins: { top: number; right: number; bottom: number; left: number };
47
- /** Fired when the pointer enters this series' label — only wired when hover-isolate is enabled. */
48
- onHoverSeries?: () => void;
49
- onHoverEnd?: () => void;
50
- /** Reports how far this label overflows the plot's own content box, in pixels, on each side (0 = no overflow). */
51
- onOverflow?: (overflow: MarginOverflow) => void;
52
- } = $props();
53
-
54
- const fillOverride = $derived(disabledFillOverride(disabled));
55
- let groupEl: SVGGElement | undefined = $state();
56
-
57
- watchLabelOverflow({
58
- el: () => groupEl,
59
- // Built from our own `width`/`height`/`numericMargins` rather than
60
- // `usePlot().scales.x/y.fn.range()` — see line/ValueLabels.svelte's
61
- // matching comment for why that scale's exposed range can't be trusted
62
- // once a caller fixes `width`/`height` explicitly (every plot kind here
63
- // does).
64
- bounds: () => {
65
- // getBBox() inside isn't itself tracked — depend on whatever actually
66
- // changes the rendered label layout so this re-measures.
67
- void group;
68
- void values;
69
- void valAnchor;
70
- return {
71
- left: numericMargins.left,
72
- right: width - numericMargins.right,
73
- top: numericMargins.top,
74
- bottom: height - numericMargins.bottom,
75
- };
76
- },
77
- onOverflow: (overflow) => onOverflow?.(overflow),
78
- });
79
-
80
- const isLeft = $derived(group.series.side === 'left');
81
- const getCategory = $derived(resolveAccessor(group.series.x));
82
- const getMagnitude = $derived(resolveAccessor(group.series.y));
83
- // A gap row — missing data, whether or not `styles.gaps` fills it with a
84
- // synthetic bar — never gets a value label, same as LinePlot's `lastPoints`.
85
- const labelData = $derived(group.series.data.filter((d) => !isGapValue(getMagnitude(d))));
86
- const signedValue = $derived((d: TData) => {
87
- const v = Math.abs(Number(getMagnitude(d)));
88
- return isLeft ? -v : v;
89
- });
90
-
91
- const xFn = $derived(
92
- valAnchor === 'middle'
93
- ? (d: TData) => signedValue(d) / 2
94
- : valAnchor === 'end'
95
- ? () => 0
96
- : (d: TData) => signedValue(d),
97
- );
98
- const defaultDx = $derived(
99
- valAnchor === 'middle' ? 0 : valAnchor === 'end' ? (isLeft ? -4 : 4) : isLeft ? -6 : 6,
100
- );
101
- const defaultTextAnchor = $derived(
102
- valAnchor === 'middle' ? ('middle' as const) : isLeft ? ('end' as const) : ('start' as const),
103
- );
104
-
105
- const font = $derived(values?.fontStyle);
106
- // 'outside' is a per-point escape hatch resolved by HoverMarker; pyramid's
107
- // own value labels already have their own `anchor: 'outside'` concept
108
- // (resolved above via `valAnchor`), so if it leaks through here just fall
109
- // back to the anchor-derived default.
110
- const resolvedTextAnchor = $derived(font?.textAnchor === 'outside' ? undefined : font?.textAnchor);
111
- </script>
112
-
113
- <!-- svelteplot's Text mark never wires pointer handlers to its DOM node,
114
- despite declaring them in its types — a wrapping <g> catches the
115
- boundary crossing instead (pointerenter/leave fire on every ancestor). -->
116
- <g bind:this={groupEl} role="presentation" onpointerenter={onHoverSeries} onpointerleave={onHoverEnd}>
117
- <Text
118
- data={labelData}
119
- x={xFn}
120
- y={getCategory}
121
- text={(d: TData) => formatValue(Math.abs(Number(getMagnitude(d))), group.series.name)}
122
- dx={font?.dx ?? defaultDx}
123
- dy={font?.dy ?? 0}
124
- textAnchor={resolvedTextAnchor ?? defaultTextAnchor}
125
- lineAnchor={font?.lineAnchor ?? 'middle'}
126
- lineHeight={font?.lineHeight}
127
- rotate={font?.rotate}
128
- class={font?.class}
129
- textClass={font?.textClass}
130
- fill={font?.fill ?? axisColor}
131
- fillOpacity={fillOverride?.fillOpacity}
132
- fontSize={font?.fontSize ?? 12}
133
- fontWeight={font?.fontWeight}
134
- fontStyle={font?.fontStyle}
135
- stroke={font?.stroke}
136
- strokeWidth={font?.strokeWidth}
137
- paintOrder={font?.paintOrder}
138
- />
139
- </g>
@@ -1,56 +0,0 @@
1
- import type { Series } from '../../types/plots/data/common';
2
- import type { ValuesStyle } from '../../types/layout/styles';
3
- import type { ValueAnchor } from '../../types/plots/constants';
4
- import type { BarSegmentStyle } from '../../types/plots/segments/common';
5
- import type { VisualGroup } from '../../types/plots/segments/config';
6
- import type { LegendDisabledStyle } from '../../types/layout/legend';
7
- import type { MarginOverflow } from '../utils/labelOverflow.svelte';
8
- declare function $$render<TData extends Record<string, unknown>>(): {
9
- props: {
10
- group: VisualGroup<Series<TData> & {
11
- side: "left" | "right";
12
- }, BarSegmentStyle>;
13
- valAnchor: ValueAnchor;
14
- formatValue: (value: number, seriesName: string) => string;
15
- values: ValuesStyle | undefined;
16
- axisColor: string;
17
- /** Resolved legend/hover-isolate dimming style for this group's series, if any. */
18
- disabled?: LegendDisabledStyle;
19
- /** The plot's own pixel size — together with `numericMargins`, the ground truth for its content box (see `bounds()` below). */
20
- width: number;
21
- height: number;
22
- /** `BasePlotLayout`'s resolved margins, already numeric on every side. */
23
- numericMargins: {
24
- top: number;
25
- right: number;
26
- bottom: number;
27
- left: number;
28
- };
29
- /** Fired when the pointer enters this series' label — only wired when hover-isolate is enabled. */
30
- onHoverSeries?: () => void;
31
- onHoverEnd?: () => void;
32
- /** Reports how far this label overflows the plot's own content box, in pixels, on each side (0 = no overflow). */
33
- onOverflow?: (overflow: MarginOverflow) => void;
34
- };
35
- exports: {};
36
- bindings: "";
37
- slots: {};
38
- events: {};
39
- };
40
- declare class __sveltets_Render<TData extends Record<string, unknown>> {
41
- props(): ReturnType<typeof $$render<TData>>['props'];
42
- events(): ReturnType<typeof $$render<TData>>['events'];
43
- slots(): ReturnType<typeof $$render<TData>>['slots'];
44
- bindings(): "";
45
- exports(): {};
46
- }
47
- interface $$IsomorphicComponent {
48
- 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']>> & {
49
- $$bindings?: ReturnType<__sveltets_Render<TData>['bindings']>;
50
- } & ReturnType<__sveltets_Render<TData>['exports']>;
51
- <TData extends Record<string, unknown>>(internal: unknown, props: ReturnType<__sveltets_Render<TData>['props']> & {}): ReturnType<__sveltets_Render<TData>['exports']>;
52
- z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
53
- }
54
- declare const ValueLabels: $$IsomorphicComponent;
55
- type ValueLabels<TData extends Record<string, unknown>> = InstanceType<typeof ValueLabels<TData>>;
56
- export default ValueLabels;
@@ -1,26 +0,0 @@
1
- import type { Series } from '../../types/plots/data/common';
2
- import type { BarSegmentStyle } from '../../types/plots/segments/common';
3
- import type { VisualGroup } from '../../types/plots/segments/config';
4
- import type { BarMarkerConfig } from '../../types/markers/common';
5
- import type { DiscreteGapFill } from '../utils/gaps';
6
- /**
7
- * Every `'bar'` marker for one PyramidPlot render — reuses `BarMarkerConfig`
8
- * directly, always horizontal (category on y, signed magnitude on x) and
9
- * with no insets. Emits no `role: 'hitArea'` markers, since PyramidPlot's
10
- * hover matches nearest points rather than hit-testing category bands. A
11
- * row whose value is missing and *not* filled by a `styles.gaps` zone is
12
- * skipped entirely; a filled one gets one additional, distinctly-styled
13
- * marker per zone kind, at its interpolated value.
14
- */
15
- export declare function buildPyramidBarMarkers<TData extends Record<string, unknown>, S extends Series<TData>>(args: {
16
- groupedSeries: VisualGroup<S, BarSegmentStyle>[];
17
- valueFor: (series: S, d: TData) => number;
18
- /** Signs an already-resolved magnitude (e.g. a gap-fill's interpolated value, which has no row of its own to read via `valueFor`). */
19
- signFor: (series: S, magnitude: number) => number;
20
- colorFor: (series: S) => string;
21
- disabledFillFor: (seriesName: string) => {
22
- fill?: string;
23
- fillOpacity?: number;
24
- } | undefined;
25
- gapFillMaps: Map<string, Map<TData, DiscreteGapFill<BarSegmentStyle>>>;
26
- }): BarMarkerConfig[];
@@ -1,72 +0,0 @@
1
- import { resolveAccessor } from '../utils/accessors';
2
- import { getConfiguration } from '../../configuration/config.svelte';
3
- import { isGapValue, resolveGapAreaStyle } from '../utils/gaps';
4
- const GAP_KINDS = ['start', 'middle', 'end'];
5
- /**
6
- * Every `'bar'` marker for one PyramidPlot render — reuses `BarMarkerConfig`
7
- * directly, always horizontal (category on y, signed magnitude on x) and
8
- * with no insets. Emits no `role: 'hitArea'` markers, since PyramidPlot's
9
- * hover matches nearest points rather than hit-testing category bands. A
10
- * row whose value is missing and *not* filled by a `styles.gaps` zone is
11
- * skipped entirely; a filled one gets one additional, distinctly-styled
12
- * marker per zone kind, at its interpolated value.
13
- */
14
- export function buildPyramidBarMarkers(args) {
15
- const { groupedSeries, valueFor, signFor, colorFor, disabledFillFor, gapFillMaps } = args;
16
- const gapDefaults = getConfiguration().pyramid.gap;
17
- const markers = [];
18
- for (const group of groupedSeries) {
19
- const getCategory = resolveAccessor(group.series.x);
20
- const getMagnitude = resolveAccessor(group.series.y);
21
- const defaultColor = colorFor(group.series);
22
- const disabledFill = disabledFillFor(group.series.name);
23
- for (const seg of group.visualSegments) {
24
- const realData = seg.data.filter((d) => !isGapValue(getMagnitude(d)));
25
- if (realData.length === 0)
26
- continue;
27
- markers.push({
28
- type: 'bar',
29
- role: 'segment',
30
- isHorizontal: true,
31
- data: realData,
32
- y: getCategory,
33
- x1: 0,
34
- x2: (d) => valueFor(group.series, d),
35
- style: {
36
- fill: disabledFill?.fill ?? seg.style.fill ?? defaultColor,
37
- fillOpacity: disabledFill?.fillOpacity ?? seg.style.fillOpacity ?? 1,
38
- },
39
- });
40
- }
41
- const fillMap = gapFillMaps.get(group.series.name) ?? new Map();
42
- for (const kind of GAP_KINDS) {
43
- const filledRows = group.series.data.filter((d) => fillMap.get(d)?.kind === kind);
44
- if (filledRows.length === 0)
45
- continue;
46
- const base = resolveGapAreaStyle(fillMap.get(filledRows[0]).style, defaultColor, gapDefaults);
47
- // svelteplot shallow-clones each row before invoking a mark's own
48
- // geometry accessors, so a `fillMap.get(d)` lookup inside `x2` would
49
- // see a clone, not the original key — tag the resolved value onto the
50
- // row as a plain field instead, which survives that clone.
51
- const taggedData = filledRows.map((d) => ({
52
- ...d,
53
- __gapValue: signFor(group.series, Math.abs(fillMap.get(d).value)),
54
- }));
55
- markers.push({
56
- type: 'bar',
57
- role: 'segment',
58
- isHorizontal: true,
59
- data: taggedData,
60
- y: getCategory,
61
- x1: 0,
62
- x2: (d) => d.__gapValue,
63
- style: {
64
- ...base,
65
- fill: disabledFill?.fill ?? base.fill,
66
- fillOpacity: disabledFill?.fillOpacity ?? base.fillOpacity,
67
- },
68
- });
69
- }
70
- }
71
- return markers;
72
- }
@@ -1,163 +0,0 @@
1
- <script lang="ts" generics="TData extends Record<string, unknown>">
2
- import { Text, usePlot } from 'svelteplot';
3
- import { SvelteMap } from 'svelte/reactivity';
4
- import { resolveAccessor } from '../utils/accessors';
5
- import { getConfiguration } from '../../configuration/config.svelte';
6
- import { disabledFillOverride } from '../utils/legendDisabled';
7
- import { watchLabelOverflow } from '../utils/labelOverflow.svelte';
8
- import { resolveEdgeAwareAnchor } from '../../utils/edgeAwareAnchor';
9
- import { measureTextWidth } from '../../layout/plot/measureText';
10
- import type { Series } from '../../types/plots/data/common';
11
- import type { ValuesStyle } from '../../types/layout/styles';
12
- import type { ScatterSegmentStyle } from '../../types/plots/segments/common';
13
- import type { VisualGroup } from '../../types/plots/segments/config';
14
- import type { LegendDisabledStyle } from '../../types/layout/legend';
15
- import type { MarginOverflow } from '../utils/labelOverflow.svelte';
16
-
17
- /**
18
- * Renders one series' point value labels — one `<Text>` mark per series
19
- * (mirrors line/bar/pyramid's own `ValueLabels`), so a legend-disabled or
20
- * hover-isolated series can carry its own constant `fillOpacity`. Labels
21
- * the Y value, matching the "Y is the value axis" convention every other
22
- * plot kind uses. Placement is edge-aware: a label whose default
23
- * anchor/offset would push it past the plot's own content box flips to
24
- * the opposite side instead of clipping — `onOverflow` below is a second,
25
- * coarser line of defense for whatever the flip still can't fit (e.g. a
26
- * corner point with no room in any direction).
27
- */
28
- let {
29
- group,
30
- formatValue,
31
- values,
32
- defaultColor,
33
- disabled,
34
- width,
35
- height,
36
- numericMargins,
37
- onHoverSeries,
38
- onHoverEnd,
39
- onOverflow,
40
- }: {
41
- group: VisualGroup<Series<TData>, ScatterSegmentStyle>;
42
- formatValue: (value: number, seriesName: string) => string;
43
- values: ValuesStyle | undefined;
44
- defaultColor: string;
45
- /** Resolved legend/hover-isolate dimming style for this group's series, if any. */
46
- disabled?: LegendDisabledStyle;
47
- /** The plot's own pixel size — together with `numericMargins`, the ground truth for its content box (see `bounds()` below). */
48
- width: number;
49
- height: number;
50
- /** `BasePlotLayout`'s resolved margins, already numeric on every side. */
51
- numericMargins: { top: number; right: number; bottom: number; left: number };
52
- /** Fired when the pointer enters this series' label — only wired when hover-isolate is enabled. */
53
- onHoverSeries?: () => void;
54
- onHoverEnd?: () => void;
55
- /** Reports how far this series' labels overflow the plot's own content box, in pixels, on each side (0 = no overflow). */
56
- onOverflow?: (overflow: MarginOverflow) => void;
57
- } = $props();
58
-
59
- const data = $derived(group.series.data);
60
- const getX = $derived(resolveAccessor(group.series.x));
61
- const getY = $derived(resolveAccessor(group.series.y));
62
- const plot = usePlot();
63
- let groupEl: SVGGElement | undefined = $state();
64
-
65
- watchLabelOverflow({
66
- el: () => groupEl,
67
- // Built from our own `width`/`height`/`numericMargins` rather than
68
- // `usePlot().scales.x/y.fn.range()` — see line/ValueLabels.svelte's
69
- // matching comment for why that scale's exposed range can't be trusted
70
- // once a caller fixes `width`/`height` explicitly (every plot kind here
71
- // does). `plot.plotWidth`/`plotHeight` (used below for edge-aware
72
- // placement) don't have this problem — only the scale's own `.range()`.
73
- bounds: () => {
74
- // getBBox() inside isn't itself tracked — depend on whatever actually
75
- // changes the rendered label layout so this re-measures.
76
- void data;
77
- void values;
78
- return {
79
- left: numericMargins.left,
80
- right: width - numericMargins.right,
81
- top: numericMargins.top,
82
- bottom: height - numericMargins.bottom,
83
- };
84
- },
85
- onOverflow: (overflow) => onOverflow?.(overflow),
86
- });
87
-
88
- const cfg = $derived(getConfiguration());
89
- const font = $derived(values?.fontStyle);
90
- const preferredTextAnchor = $derived(
91
- font?.textAnchor === 'outside' || font?.textAnchor === undefined ? 'start' : font.textAnchor,
92
- );
93
- const preferredLineAnchor = $derived(font?.lineAnchor ?? 'middle');
94
- const gapX = $derived(Math.abs(font?.dx ?? 8));
95
- const gapY = $derived(Math.abs(font?.dy ?? 0));
96
- const fontSize = $derived(typeof font?.fontSize === 'number' ? font.fontSize : 11);
97
- const canvasFont = $derived(`${fontSize}px ${cfg.font === 'inherit' ? 'sans-serif' : cfg.font}`);
98
- const fillOverride = $derived(disabledFillOverride(disabled));
99
-
100
- function textOf(d: TData): string {
101
- return formatValue(Number(getY(d)), group.series.name);
102
- }
103
-
104
- /** One placement per row, keyed by row reference — avoids recomputing the same scale/edge lookup for each of the four accessor channels below. */
105
- const placements = $derived.by(() => {
106
- const map = new SvelteMap<TData, ReturnType<typeof resolveEdgeAwareAnchor>>();
107
- const xFn = plot.scales.x?.fn;
108
- const yFn = plot.scales.y?.fn;
109
- if (!xFn || !yFn) return map;
110
- for (const d of data) {
111
- const px = Number(xFn(getX(d) as never));
112
- const py = Number(yFn(getY(d) as never));
113
- const text = textOf(d);
114
- map.set(
115
- d,
116
- resolveEdgeAwareAnchor({
117
- px,
118
- py,
119
- width: plot.plotWidth,
120
- height: plot.plotHeight,
121
- textAnchor: preferredTextAnchor,
122
- lineAnchor: preferredLineAnchor,
123
- gapX,
124
- gapY,
125
- extent: { width: measureTextWidth(text, canvasFont), height: fontSize * 1.2 },
126
- }),
127
- );
128
- }
129
- return map;
130
- });
131
- </script>
132
-
133
- <!-- svelteplot's Text mark never wires pointer handlers to its DOM node,
134
- despite declaring them in its types — a wrapping <g> catches the
135
- boundary crossing instead (pointerenter/leave fire on every ancestor). -->
136
- <g bind:this={groupEl} role="presentation" onpointerenter={onHoverSeries} onpointerleave={onHoverEnd}>
137
- <Text
138
- {data}
139
- x={getX}
140
- y={getY}
141
- text={(d: TData) => textOf(d)}
142
- fill={font?.fill ?? defaultColor}
143
- fillOpacity={fillOverride?.fillOpacity}
144
- {fontSize}
145
- fontWeight={font?.fontWeight ?? 500}
146
- fontStyle={font?.fontStyle}
147
- textAnchor={(d: TData) => placements.get(d)?.textAnchor ?? preferredTextAnchor}
148
- lineAnchor={
149
- // svelteplot's own `lineAnchor` accessor type isn't parameterized over the mark's row type like its siblings are.
150
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
151
- (d: any) => placements.get(d)?.lineAnchor ?? preferredLineAnchor
152
- }
153
- dx={(d: TData) => placements.get(d)?.dx ?? gapX}
154
- dy={(d: TData) => placements.get(d)?.dy ?? gapY}
155
- lineHeight={font?.lineHeight}
156
- rotate={font?.rotate}
157
- stroke={font?.stroke}
158
- strokeWidth={font?.strokeWidth}
159
- paintOrder={font?.paintOrder}
160
- class={font?.class}
161
- textClass={font?.textClass}
162
- />
163
- </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 { ScatterSegmentStyle } from '../../types/plots/segments/common';
4
- import type { VisualGroup } from '../../types/plots/segments/config';
5
- import type { LegendDisabledStyle } from '../../types/layout/legend';
6
- import type { MarginOverflow } from '../utils/labelOverflow.svelte';
7
- declare function $$render<TData extends Record<string, unknown>>(): {
8
- props: {
9
- group: VisualGroup<Series<TData>, ScatterSegmentStyle>;
10
- formatValue: (value: number, seriesName: string) => string;
11
- values: ValuesStyle | undefined;
12
- defaultColor: string;
13
- /** Resolved legend/hover-isolate dimming style for this group's series, if any. */
14
- disabled?: LegendDisabledStyle;
15
- /** The plot's own pixel size — together with `numericMargins`, the ground truth for its content box (see `bounds()` below). */
16
- width: number;
17
- height: number;
18
- /** `BasePlotLayout`'s resolved margins, already numeric on every side. */
19
- numericMargins: {
20
- top: number;
21
- right: number;
22
- bottom: number;
23
- left: number;
24
- };
25
- /** Fired when the pointer enters this series' label — only wired when hover-isolate is enabled. */
26
- onHoverSeries?: () => void;
27
- onHoverEnd?: () => void;
28
- /** Reports how far this series' labels overflow the plot's own content box, in pixels, on each side (0 = no overflow). */
29
- onOverflow?: (overflow: MarginOverflow) => 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,12 +0,0 @@
1
- import type { Series, Accessor } from '../../types/plots/data/common';
2
- import type { ScatterSegmentStyle } from '../../types/plots/segments/common';
3
- import type { VisualGroup } from '../../types/plots/segments/config';
4
- import type { DotStyle } from '../../types/plots/styling';
5
- import type { DotMarkerConfig } from '../../types/markers/common';
6
- /** Every `'dot'` marker for one ScatterPlot render: one per visual segment. */
7
- export declare function buildScatterMarkers<TData extends Record<string, unknown>>(args: {
8
- groupedSeries: VisualGroup<Series<TData>, ScatterSegmentStyle>[];
9
- r?: Accessor<TData, number> | number;
10
- colorFor: (seriesName: string) => string;
11
- disabledDotsFor: (seriesName: string) => DotStyle | undefined;
12
- }): DotMarkerConfig[];
@@ -1,36 +0,0 @@
1
- import { resolveAccessor } from '../utils/accessors';
2
- import { getConfiguration } from '../../configuration/config.svelte';
3
- /** Every `'dot'` marker for one ScatterPlot render: one per visual segment. */
4
- export function buildScatterMarkers(args) {
5
- const { groupedSeries, r, colorFor, disabledDotsFor } = args;
6
- const cfg = getConfiguration();
7
- const rFn = r === undefined || typeof r === 'number' ? r : resolveAccessor(r);
8
- const markers = [];
9
- groupedSeries.forEach((group) => {
10
- const defaultColor = colorFor(group.series.name);
11
- const disabledDots = disabledDotsFor(group.series.name);
12
- const xFn = resolveAccessor(group.series.x);
13
- const yFn = resolveAccessor(group.series.y);
14
- for (const seg of group.visualSegments) {
15
- const dotStyle = seg.style;
16
- markers.push({
17
- type: 'dot',
18
- data: seg.data,
19
- x: xFn,
20
- y: yFn,
21
- r: rFn,
22
- style: {
23
- dotRadius: disabledDots?.dotRadius ?? dotStyle.dotRadius ?? cfg.scatter.dotRadius,
24
- dotFill: disabledDots?.dotFill ?? dotStyle.dotFill ?? defaultColor,
25
- dotSymbol: disabledDots?.dotSymbol ?? dotStyle.dotSymbol,
26
- dotStroke: disabledDots?.dotStroke ?? dotStyle.dotStroke,
27
- dotStrokeWidth: disabledDots?.dotStrokeWidth ?? dotStyle.dotStrokeWidth,
28
- dotFillOpacity: disabledDots?.dotFillOpacity ?? dotStyle.dotFillOpacity,
29
- dotStrokeOpacity: disabledDots?.dotStrokeOpacity ?? dotStyle.dotStrokeOpacity,
30
- dotStrokeDasharray: disabledDots?.dotStrokeDasharray ?? dotStyle.dotStrokeDasharray,
31
- },
32
- });
33
- }
34
- });
35
- return markers;
36
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * Extends a `[min, max]` data domain so the largest rendered dot radius
3
- * doesn't get clipped by the plot's own frame — svelteplot's own `'auto'`
4
- * margin only measures axis chrome (tick labels), never mark geometry, so a
5
- * point sitting at the domain edge with a non-trivial radius otherwise
6
- * overflows past the frame. `innerSizePx` is an estimate (the real pixel
7
- * range isn't known until the scale itself is built from this domain), so
8
- * this errs generous rather than exact.
9
- */
10
- export declare function resolveRadiusPaddedDomain(values: number[], maxRadiusPx: number, innerSizePx: number): [number, number] | undefined;
@@ -1,23 +0,0 @@
1
- /**
2
- * Extends a `[min, max]` data domain so the largest rendered dot radius
3
- * doesn't get clipped by the plot's own frame — svelteplot's own `'auto'`
4
- * margin only measures axis chrome (tick labels), never mark geometry, so a
5
- * point sitting at the domain edge with a non-trivial radius otherwise
6
- * overflows past the frame. `innerSizePx` is an estimate (the real pixel
7
- * range isn't known until the scale itself is built from this domain), so
8
- * this errs generous rather than exact.
9
- */
10
- export function resolveRadiusPaddedDomain(values, maxRadiusPx, innerSizePx) {
11
- const finite = values.filter((v) => Number.isFinite(v));
12
- if (finite.length === 0 || innerSizePx <= 0 || maxRadiusPx <= 0)
13
- return undefined;
14
- const min = Math.min(...finite);
15
- const max = Math.max(...finite);
16
- if (min === max) {
17
- // A degenerate single-value domain has no data-per-pixel ratio to pad by — fall back to a fixed unit either side.
18
- return [min - 1, max + 1];
19
- }
20
- const dataPerPixel = (max - min) / innerSizePx;
21
- const pad = maxRadiusPx * dataPerPixel;
22
- return [min - pad, max + pad];
23
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * How much margin an axis needs to fit the widest of `labels` in the
3
- * theme's own axis font, plus its tick size/padding — any plot's own margin
4
- * whenever what sits along that axis is plain tick-label text: `BarPlot`'s
5
- * left margin when its main dimension draws as a category axis, or any
6
- * plot's numeric axis whose tick-label width can vary a lot (e.g. `"5"` vs
7
- * `"500,000"`). Off-DOM (canvas) and synchronous, so it's correct from the
8
- * very first render and stable across a timeline scrubber or dataset
9
- * change, the same way `estimateValueLabelMargin` is for value labels.
10
- * Exported for a faceted caller (e.g. `ChartPanel` in the consuming app) to
11
- * call per facet against that facet's own labels, building a shared
12
- * `FacetConfig.marginsForFacet`.
13
- */
14
- export declare function estimateCategoricalAxisMargin(labels: string[]): number;
@@ -1,20 +0,0 @@
1
- import { getConfiguration } from '../../configuration/config.svelte';
2
- import { measureMaxLabelWidth } from '../../layout/plot/measureText';
3
- /**
4
- * How much margin an axis needs to fit the widest of `labels` in the
5
- * theme's own axis font, plus its tick size/padding — any plot's own margin
6
- * whenever what sits along that axis is plain tick-label text: `BarPlot`'s
7
- * left margin when its main dimension draws as a category axis, or any
8
- * plot's numeric axis whose tick-label width can vary a lot (e.g. `"5"` vs
9
- * `"500,000"`). Off-DOM (canvas) and synchronous, so it's correct from the
10
- * very first render and stable across a timeline scrubber or dataset
11
- * change, the same way `estimateValueLabelMargin` is for value labels.
12
- * Exported for a faceted caller (e.g. `ChartPanel` in the consuming app) to
13
- * call per facet against that facet's own labels, building a shared
14
- * `FacetConfig.marginsForFacet`.
15
- */
16
- export function estimateCategoricalAxisMargin(labels) {
17
- const cfg = getConfiguration();
18
- const axisFont = `${cfg.axis.fontSize}px ${cfg.font === 'inherit' ? 'sans-serif' : cfg.font}`;
19
- return (Math.ceil(measureMaxLabelWidth(labels, axisFont)) + cfg.axis.yTickSize + cfg.axis.yTickPadding);
20
- }