@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,25 @@
1
+ <script lang="ts">
2
+ import { Hull } from 'svelteplot';
3
+ import { MarkerChannels } from '../utils/MarkerChannels';
4
+ import { getConfiguration } from '../../configuration/config.svelte';
5
+ import type { HullMarkerConfig } from '../../types/markers/common';
6
+
7
+ /** Renders one `'hull'` marker as `<Hull>` - the convex hull around a cluster of points. */
8
+ let { marker }: { marker: HullMarkerConfig } = $props();
9
+
10
+ const cfg = $derived(getConfiguration());
11
+ const data = $derived(marker.data ?? []);
12
+ const channelFill = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
13
+ </script>
14
+
15
+ <Hull
16
+ {data}
17
+ x={marker.x}
18
+ y={marker.y}
19
+ z={marker.grouping}
20
+ fill={marker.styles?.fill ?? channelFill ?? 'none'}
21
+ fillOpacity={marker.styles?.fillOpacity}
22
+ stroke={marker.styles?.stroke ?? channelFill}
23
+ strokeWidth={marker.styles?.strokeWidth}
24
+ strokeOpacity={marker.styles?.strokeOpacity}
25
+ />
@@ -0,0 +1,7 @@
1
+ import type { HullMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: HullMarkerConfig;
4
+ };
5
+ declare const HullMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type HullMarker = ReturnType<typeof HullMarker>;
7
+ export default HullMarker;
@@ -0,0 +1,22 @@
1
+ <script lang="ts">
2
+ import { Image } from 'svelteplot';
3
+ import type { ImageMarkerConfig } from '../../types/markers/common';
4
+
5
+ /** Renders one `'image'` marker as `<Image>` - an image centered on each row's `x`/`y`. */
6
+ let { marker }: { marker: ImageMarkerConfig } = $props();
7
+
8
+ const data = $derived(marker.data ?? []);
9
+ </script>
10
+
11
+ <Image
12
+ {data}
13
+ x={marker.x}
14
+ y={marker.y}
15
+ src={marker.src}
16
+ r={marker.r}
17
+ width={marker.width}
18
+ height={marker.height}
19
+ title={marker.title}
20
+ preserveAspectRatio={marker.preserveAspectRatio}
21
+ opacity={marker.opacity}
22
+ />
@@ -0,0 +1,7 @@
1
+ import type { ImageMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: ImageMarkerConfig;
4
+ };
5
+ declare const ImageMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type ImageMarker = ReturnType<typeof ImageMarker>;
7
+ export default ImageMarker;
@@ -1,163 +1,197 @@
1
1
  <script lang="ts" generics="TProps extends Record<string, unknown>">
2
- import { geoPath } from 'd3-geo';
3
- import { buildInsetProjection } from './insetProjection';
4
- import { insetBox } from './insetLayout';
5
- import { filterGeometryParts } from '../../plots/utils/geoAccessors';
6
- import TooltipLayout from '../../layout/tooltip/TooltipLayout.svelte';
7
- import type { GeoInsetMarkerConfig } from '../../types/markers/geo';
8
- import type { GeoFeature } from '../../types/plots/data/geo';
9
- import type { TooltipAnchorX, TooltipAnchorY } from '../../types/layout/tooltip';
2
+ import { geoPath } from 'd3-geo';
3
+ import { buildInsetProjection } from './insetProjection';
4
+ import { insetBox } from './insetLayout';
5
+ import { filterGeometryParts } from '../../plots/utils/geoAccessors';
6
+ import Tooltip from '../../layout/tooltip/Tooltip.svelte';
7
+ import type { GeoInsetMarkerConfig } from '../../types/markers/geo';
8
+ import type { GeoFeature } from '../../types/plots/data/geo';
9
+ import type { TooltipAnchorX, TooltipAnchorY } from '../../types/layout/tooltip';
10
10
 
11
- /**
12
- * A small, independently-projected map panel anchored to a corner/edge of
13
- * the plot — see `GeoInsetMarkerConfig`'s doc comment. Renders raw `<path>`s via
14
- * its own `d3-geo` `geoPath`, deliberately not svelteplot's `<Geo>` mark:
15
- * that mark is bound to the plot's *shared* projection scale, but an inset
16
- * needs its own, independently fit to just what it's showing.
17
- */
18
- let {
19
- marker,
20
- features,
21
- width,
22
- height,
23
- left = 0,
24
- top = 0,
25
- defaultFill,
26
- tooltipAnchorX,
27
- tooltipAnchorY,
28
- }: {
29
- marker: GeoInsetMarkerConfig<TProps>;
30
- /**
31
- * The plot's own already-tagged features (`__id` set), with full,
32
- * unreduced geometry regardless of the plot's own `excludeParts` — used
33
- * when `marker.data` is omitted, so an inset can show a part the main
34
- * map excludes without needing a separate dataset.
35
- */
36
- features: (GeoFeature<TProps> & { __id: string })[];
37
- /**
38
- * The plot's own *content* width/height — i.e. already net of margins,
39
- * matching the frame the map itself is actually drawn into (svelteplot
40
- * bakes margins into the projection's scale/translate rather than
41
- * wrapping marks in a translating `<g>`, so this needs to match, not the
42
- * plot's raw outer width/height) — `location`'s edge and `margin`'s gap
43
- * are both measured against this box, not the full canvas.
44
- */
45
- width: number;
46
- height: number;
47
- /** Top-left corner of that content box, in the plot's own absolute coordinate space (i.e. its margins). */
48
- left?: number;
49
- top?: number;
50
- defaultFill: string;
51
- /** The plot's own top-level `tooltip.anchorX`/`anchorY` — the fallback this inset's own tooltip inherits when its own is unset, before the system default. */
52
- tooltipAnchorX?: TooltipAnchorX;
53
- tooltipAnchorY?: TooltipAnchorY;
54
- } = $props();
11
+ /**
12
+ * A small, independently-projected map panel anchored to a corner/edge of
13
+ * the plot - see `GeoInsetMarkerConfig`'s doc comment. Renders raw `<path>`s via
14
+ * its own `d3-geo` `geoPath`, deliberately not svelteplot's `<Geo>` mark:
15
+ * that mark is bound to the plot's *shared* projection scale, but an inset
16
+ * needs its own, independently fit to just what it's showing.
17
+ */
18
+ let {
19
+ marker,
20
+ features,
21
+ width,
22
+ height,
23
+ left = 0,
24
+ top = 0,
25
+ defaultFill,
26
+ tooltipAnchorX,
27
+ tooltipAnchorY
28
+ }: {
29
+ marker: GeoInsetMarkerConfig<TProps>;
30
+ /**
31
+ * The plot's own already-tagged features (`__id` set), with full,
32
+ * unreduced geometry regardless of the plot's own `excludeParts` - used
33
+ * when `marker.data` is omitted, so an inset can show a part the main
34
+ * map excludes without needing a separate dataset.
35
+ */
36
+ features: (GeoFeature<TProps> & { __id: string })[];
37
+ /**
38
+ * The plot's own *content* width/height - i.e. already net of margins,
39
+ * matching the frame the map itself is actually drawn into (svelteplot
40
+ * bakes margins into the projection's scale/translate rather than
41
+ * wrapping marks in a translating `<g>`, so this needs to match, not the
42
+ * plot's raw outer width/height) - `location`'s edge and `margin`'s gap
43
+ * are both measured against this box, not the full canvas.
44
+ */
45
+ width: number;
46
+ height: number;
47
+ /** Top-left corner of that content box, in the plot's own absolute coordinate space (i.e. its margins). */
48
+ left?: number;
49
+ top?: number;
50
+ defaultFill: string;
51
+ /** The plot's own top-level `tooltip.anchorX`/`anchorY` - the fallback this inset's own tooltip inherits when its own is unset, before the system default. */
52
+ tooltipAnchorX?: TooltipAnchorX;
53
+ tooltipAnchorY?: TooltipAnchorY;
54
+ } = $props();
55
55
 
56
- const insetFeatures = $derived.by((): GeoFeature<Record<string, unknown>>[] => {
57
- if (marker.data) {
58
- return (
59
- Array.isArray(marker.data) ? marker.data : marker.data.features
60
- ) as GeoFeature<Record<string, unknown>>[];
61
- }
62
- if (marker.features?.length) {
63
- const wanted = new Set(marker.features);
64
- const matched = features.filter((f) => wanted.has(f.__id));
65
- if (!marker.featurePartsFilter) return matched;
66
- const partsFilter = marker.featurePartsFilter;
67
- return matched.flatMap((f) => {
68
- const geometry = filterGeometryParts(f.geometry, (part) => partsFilter(part, f));
69
- return geometry ? [{ ...f, geometry }] : [];
70
- });
71
- }
72
- return [];
73
- });
56
+ const insetFeatures = $derived.by((): GeoFeature<Record<string, unknown>>[] => {
57
+ if (marker.data) {
58
+ return (Array.isArray(marker.data) ? marker.data : marker.data.features) as GeoFeature<
59
+ Record<string, unknown>
60
+ >[];
61
+ }
62
+ if (marker.features?.length) {
63
+ const wanted = new Set(marker.features);
64
+ const matched = features.filter((f) => wanted.has(f.__id));
65
+ if (!marker.featurePartsFilter) return matched;
66
+ const partsFilter = marker.featurePartsFilter;
67
+ return matched.flatMap((f) => {
68
+ const geometry = filterGeometryParts(f.geometry, (part) => partsFilter(part, f));
69
+ return geometry ? [{ ...f, geometry }] : [];
70
+ });
71
+ }
72
+ return [];
73
+ });
74
74
 
75
- const box = $derived(
76
- insetBox(marker.location, marker.width ?? 0.26, marker.height ?? 0.22, marker.margin ?? 8, width, height),
77
- );
75
+ const box = $derived(
76
+ insetBox(
77
+ marker.location,
78
+ marker.width ?? 0.26,
79
+ marker.height ?? 0.22,
80
+ marker.margin ?? 8,
81
+ width,
82
+ height
83
+ )
84
+ );
78
85
 
79
- const path = $derived.by(() => {
80
- if (insetFeatures.length === 0 || box.width <= 0 || box.height <= 0) return null;
81
- const projection = buildInsetProjection(marker.projection);
82
- const collection: GeoJSON.FeatureCollection = { type: 'FeatureCollection', features: insetFeatures };
83
- projection.fitExtent(
84
- [
85
- [0, 0],
86
- [box.width, box.height],
87
- ],
88
- collection,
89
- );
90
- return geoPath(projection);
91
- });
86
+ const path = $derived.by(() => {
87
+ if (insetFeatures.length === 0 || box.width <= 0 || box.height <= 0) return null;
88
+ const projection = buildInsetProjection(marker.projection);
89
+ const collection: GeoJSON.FeatureCollection = {
90
+ type: 'FeatureCollection',
91
+ features: insetFeatures
92
+ };
93
+ projection.fitExtent(
94
+ [
95
+ [0, 0],
96
+ [box.width, box.height]
97
+ ],
98
+ collection
99
+ );
100
+ return geoPath(projection);
101
+ });
92
102
 
93
- let hovered = $state<{ feature: GeoFeature<Record<string, unknown>>; x: number; y: number } | null>(null);
103
+ let hovered = $state<{
104
+ feature: GeoFeature<Record<string, unknown>>;
105
+ x: number;
106
+ y: number;
107
+ } | null>(null);
94
108
 
95
- /**
96
- * Purely a coordinate reference (`pointer-events: none` — never itself a
97
- * hover target) sized exactly to the inset's own box, so `onInsetPointer*`
98
- * below can convert a screen-space pointer event into the same box-local
99
- * `x`/`y` space `TooltipLayout`'s `bounds` expects, the same way
100
- * `BasePlotLayout`'s own cursor tracking does for the main map.
101
- */
102
- let boxRectEl = $state<SVGRectElement>();
109
+ /**
110
+ * Purely a coordinate reference (`pointer-events: none` - never itself a
111
+ * hover target) sized exactly to the inset's own box, so `onInsetPointer*`
112
+ * below can convert a screen-space pointer event into the same box-local
113
+ * `x`/`y` space `Tooltip`'s `bounds` expects, the same way
114
+ * `BasePlotLayout`'s own cursor tracking does for the main map.
115
+ */
116
+ let boxRectEl = $state<SVGRectElement>();
103
117
 
104
- /**
105
- * Which exact feature `<path>` the browser's own SVG hit-testing resolved
106
- * the event to — mirrors the main map's own `<Geo onpointerenter>` (see
107
- * `Plot.svelte`) rather than approximating it by nearest centroid
108
- * distance, which used to make hover pick the wrong (if geometrically
109
- * nearer-by-centroid) neighboring feature, exactly the bug that fix
110
- * addressed for the main map.
111
- */
112
- function onInsetFeaturePointer(e: PointerEvent, f: GeoFeature<Record<string, unknown>>) {
113
- const rect = boxRectEl?.getBoundingClientRect();
114
- const x = e.clientX - (rect?.left ?? 0);
115
- const y = e.clientY - (rect?.top ?? 0);
116
- hovered = { feature: f, x, y };
117
- }
118
+ /**
119
+ * Which exact feature `<path>` the browser's own SVG hit-testing resolved
120
+ * the event to - mirrors the main map's own `<Geo onpointerenter>` (see
121
+ * `Plot.svelte`) rather than approximating it by nearest centroid
122
+ * distance, which used to make hover pick the wrong (if geometrically
123
+ * nearer-by-centroid) neighboring feature, exactly the bug that fix
124
+ * addressed for the main map.
125
+ */
126
+ function onInsetFeaturePointer(e: PointerEvent, f: GeoFeature<Record<string, unknown>>) {
127
+ const rect = boxRectEl?.getBoundingClientRect();
128
+ const x = e.clientX - (rect?.left ?? 0);
129
+ const y = e.clientY - (rect?.top ?? 0);
130
+ hovered = { feature: f, x, y };
131
+ }
118
132
 
119
- function onInsetFeatureLeave() {
120
- hovered = null;
121
- }
133
+ function onInsetFeatureLeave() {
134
+ hovered = null;
135
+ }
122
136
  </script>
123
137
 
124
138
  {#if path}
125
- <g class="dct-geo-inset" transform="translate({box.left + left}, {box.top + top})">
126
- {#each insetFeatures as f, i (i)}
127
- <!-- svelte-ignore a11y_no_static_element_interactions -->
128
- <path
129
- d={path(f as GeoJSON.Feature) ?? undefined}
130
- fill={marker.style?.fill ?? defaultFill}
131
- fill-opacity={marker.style?.fillOpacity}
132
- stroke={marker.style?.stroke ?? 'currentColor'}
133
- stroke-width={marker.style?.strokeWidth ?? 0.5}
134
- style="vector-effect: non-scaling-stroke"
135
- onpointerenter={marker.tooltip ? (e: PointerEvent) => onInsetFeaturePointer(e, f) : undefined}
136
- onpointermove={marker.tooltip ? (e: PointerEvent) => onInsetFeaturePointer(e, f) : undefined}
137
- onpointerleave={marker.tooltip ? onInsetFeatureLeave : undefined}
138
- />
139
- {/each}
140
- {#if marker.tooltip}
141
- <!-- svelte-ignore a11y_no_static_element_interactions -->
142
- <rect x={0} y={0} width={box.width} height={box.height} fill="transparent" pointer-events="none" bind:this={boxRectEl} />
143
- {/if}
144
- {#if marker.tooltip}
145
- {@const tooltip = marker.tooltip}
146
- <foreignObject x={0} y={0} width={box.width} height={box.height} style="overflow: visible; pointer-events: none;">
147
- <div xmlns="http://www.w3.org/1999/xhtml" style="position: relative; width: 100%; height: 100%;">
148
- <TooltipLayout
149
- visible={hovered != null}
150
- x={hovered?.x ?? 0}
151
- y={hovered?.y ?? 0}
152
- bounds={{ width: box.width, height: box.height }}
153
- rows={hovered ? [hovered.feature] : []}
154
- format={tooltip.format}
155
- content={tooltip.content}
156
- anchorX={tooltip.anchorX ?? tooltipAnchorX}
157
- anchorY={tooltip.anchorY ?? tooltipAnchorY}
158
- />
159
- </div>
160
- </foreignObject>
161
- {/if}
162
- </g>
139
+ <g class="dct-geo-inset" transform="translate({box.left + left}, {box.top + top})">
140
+ {#each insetFeatures as f, i (i)}
141
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
142
+ <path
143
+ d={path(f as GeoJSON.Feature) ?? undefined}
144
+ fill={marker.styles?.fill ?? defaultFill}
145
+ fill-opacity={marker.styles?.fillOpacity}
146
+ stroke={marker.styles?.stroke ?? 'currentColor'}
147
+ stroke-width={marker.styles?.strokeWidth ?? 0.5}
148
+ style="vector-effect: non-scaling-stroke"
149
+ onpointerenter={marker.tooltip
150
+ ? (e: PointerEvent) => onInsetFeaturePointer(e, f)
151
+ : undefined}
152
+ onpointermove={marker.tooltip
153
+ ? (e: PointerEvent) => onInsetFeaturePointer(e, f)
154
+ : undefined}
155
+ onpointerleave={marker.tooltip ? onInsetFeatureLeave : undefined}
156
+ />
157
+ {/each}
158
+ {#if marker.tooltip}
159
+ <rect
160
+ x={0}
161
+ y={0}
162
+ width={box.width}
163
+ height={box.height}
164
+ fill="transparent"
165
+ pointer-events="none"
166
+ bind:this={boxRectEl}
167
+ />
168
+ {/if}
169
+ {#if marker.tooltip}
170
+ {@const tooltip = marker.tooltip}
171
+ <foreignObject
172
+ x={0}
173
+ y={0}
174
+ width={box.width}
175
+ height={box.height}
176
+ style="overflow: visible; pointer-events: none;"
177
+ >
178
+ <div
179
+ xmlns="http://www.w3.org/1999/xhtml"
180
+ style="position: relative; width: 100%; height: 100%;"
181
+ >
182
+ <Tooltip
183
+ visible={hovered != null}
184
+ x={hovered?.x ?? 0}
185
+ y={hovered?.y ?? 0}
186
+ bounds={{ width: box.width, height: box.height }}
187
+ rows={hovered ? [hovered.feature] : []}
188
+ format={tooltip.format}
189
+ content={tooltip.content}
190
+ anchorX={tooltip.anchorX ?? tooltipAnchorX}
191
+ anchorY={tooltip.anchorY ?? tooltipAnchorY}
192
+ />
193
+ </div>
194
+ </foreignObject>
195
+ {/if}
196
+ </g>
163
197
  {/if}
@@ -6,7 +6,7 @@ declare function $$render<TProps extends Record<string, unknown>>(): {
6
6
  marker: GeoInsetMarkerConfig<TProps>;
7
7
  /**
8
8
  * The plot's own already-tagged features (`__id` set), with full,
9
- * unreduced geometry regardless of the plot's own `excludeParts` — used
9
+ * unreduced geometry regardless of the plot's own `excludeParts` - used
10
10
  * when `marker.data` is omitted, so an inset can show a part the main
11
11
  * map excludes without needing a separate dataset.
12
12
  */
@@ -14,11 +14,11 @@ declare function $$render<TProps extends Record<string, unknown>>(): {
14
14
  __id: string;
15
15
  })[];
16
16
  /**
17
- * The plot's own *content* width/height — i.e. already net of margins,
17
+ * The plot's own *content* width/height - i.e. already net of margins,
18
18
  * matching the frame the map itself is actually drawn into (svelteplot
19
19
  * bakes margins into the projection's scale/translate rather than
20
20
  * wrapping marks in a translating `<g>`, so this needs to match, not the
21
- * plot's raw outer width/height) — `location`'s edge and `margin`'s gap
21
+ * plot's raw outer width/height) - `location`'s edge and `margin`'s gap
22
22
  * are both measured against this box, not the full canvas.
23
23
  */
24
24
  width: number;
@@ -27,7 +27,7 @@ declare function $$render<TProps extends Record<string, unknown>>(): {
27
27
  left?: number;
28
28
  top?: number;
29
29
  defaultFill: string;
30
- /** The plot's own top-level `tooltip.anchorX`/`anchorY` — the fallback this inset's own tooltip inherits when its own is unset, before the system default. */
30
+ /** The plot's own top-level `tooltip.anchorX`/`anchorY` - the fallback this inset's own tooltip inherits when its own is unset, before the system default. */
31
31
  tooltipAnchorX?: TooltipAnchorX;
32
32
  tooltipAnchorY?: TooltipAnchorY;
33
33
  };
@@ -2,7 +2,7 @@ import type { GeoInsetLocation } from '../../types/markers/geo';
2
2
  type Horizontal = 'left' | 'middle' | 'right';
3
3
  type Vertical = 'top' | 'middle' | 'bottom';
4
4
  /**
5
- * Parses a `side-anchor` position string (either word order accepted — see
5
+ * Parses a `side-anchor` position string (either word order accepted - see
6
6
  * `GeoInsetLocation`) into independent horizontal/vertical placement
7
7
  * keywords.
8
8
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Parses a `side-anchor` position string (either word order accepted — see
2
+ * Parses a `side-anchor` position string (either word order accepted - see
3
3
  * `GeoInsetLocation`) into independent horizontal/vertical placement
4
4
  * keywords.
5
5
  */
@@ -34,6 +34,10 @@ export function insetBox(location, widthFraction, heightFraction, margin, frameW
34
34
  const width = frameWidth * widthFraction;
35
35
  const height = frameHeight * heightFraction;
36
36
  const left = h === 'left' ? margin : h === 'right' ? frameWidth - margin - width : (frameWidth - width) / 2;
37
- const top = v === 'top' ? margin : v === 'bottom' ? frameHeight - margin - height : (frameHeight - height) / 2;
37
+ const top = v === 'top'
38
+ ? margin
39
+ : v === 'bottom'
40
+ ? frameHeight - margin - height
41
+ : (frameHeight - height) / 2;
38
42
  return { left, top, width, height };
39
43
  }
@@ -2,7 +2,7 @@ import { type GeoProjection } from 'd3-geo';
2
2
  import type { GeoInsetProjectionConfig } from '../../types/markers/geo';
3
3
  /**
4
4
  * Builds a fresh, configured (but not yet fit) d3-geo projection instance
5
- * for an `inset` marker — the caller still needs to `.fitExtent()` it to
5
+ * for an `inset` marker - the caller still needs to `.fitExtent()` it to
6
6
  * whatever the inset ends up showing.
7
7
  */
8
8
  export declare function buildInsetProjection(config?: GeoInsetProjectionConfig): GeoProjection;
@@ -1,4 +1,4 @@
1
- import { geoAlbersUsa, geoAlbers, geoAzimuthalEqualArea, geoAzimuthalEquidistant, geoConicConformal, geoConicEqualArea, geoConicEquidistant, geoEqualEarth, geoEquirectangular, geoGnomonic, geoMercator, geoOrthographic, geoStereographic, geoTransverseMercator, } from 'd3-geo';
1
+ import { geoAlbersUsa, geoAlbers, geoAzimuthalEqualArea, geoAzimuthalEquidistant, geoConicConformal, geoConicEqualArea, geoConicEquidistant, geoEqualEarth, geoEquirectangular, geoGnomonic, geoMercator, geoOrthographic, geoStereographic, geoTransverseMercator } from 'd3-geo';
2
2
  const NAMED_PROJECTIONS = {
3
3
  'albers-usa': geoAlbersUsa,
4
4
  albers: geoAlbers,
@@ -13,11 +13,11 @@ const NAMED_PROJECTIONS = {
13
13
  mercator: geoMercator,
14
14
  orthographic: geoOrthographic,
15
15
  stereographic: geoStereographic,
16
- 'transverse-mercator': geoTransverseMercator,
16
+ 'transverse-mercator': geoTransverseMercator
17
17
  };
18
18
  /**
19
19
  * Builds a fresh, configured (but not yet fit) d3-geo projection instance
20
- * for an `inset` marker — the caller still needs to `.fitExtent()` it to
20
+ * for an `inset` marker - the caller still needs to `.fitExtent()` it to
21
21
  * whatever the inset ends up showing.
22
22
  */
23
23
  export function buildInsetProjection(config = 'mercator') {
@@ -0,0 +1,30 @@
1
+ <script lang="ts">
2
+ import { Line } from 'svelteplot';
3
+ import { MarkerChannels } from '../utils/MarkerChannels';
4
+ import { getConfiguration } from '../../configuration/config.svelte';
5
+ import type { LineMarkerConfig } from '../../types/markers/common';
6
+
7
+ /**
8
+ * Renders one `'line'` marker as a `<Line>` call - just the stroke. Endpoint
9
+ * dots are a separate `'dot'` marker. A `color` channel strokes each row by
10
+ * its color, so each `grouping`'s line takes its group's color.
11
+ */
12
+ let { marker }: { marker: LineMarkerConfig } = $props();
13
+
14
+ const cfg = $derived(getConfiguration());
15
+ const data = $derived(marker.data ?? []);
16
+ const channelStroke = $derived(MarkerChannels.buildFill(data, marker.color, marker.scales, cfg));
17
+ </script>
18
+
19
+ <Line
20
+ {data}
21
+ x={marker.x}
22
+ y={marker.y}
23
+ z={marker.grouping}
24
+ stroke={channelStroke ?? marker.styles?.stroke}
25
+ strokeWidth={marker.styles?.strokeWidth}
26
+ strokeOpacity={marker.styles?.strokeOpacity}
27
+ strokeDasharray={marker.styles?.strokeDasharray}
28
+ strokeLinejoin={marker.styles?.strokeLinejoin}
29
+ strokeLinecap={marker.styles?.strokeLinecap}
30
+ />
@@ -1,4 +1,4 @@
1
- import type { LineMarkerConfig } from '../types/markers/common';
1
+ import type { LineMarkerConfig } from '../../types/markers/common';
2
2
  type $$ComponentProps = {
3
3
  marker: LineMarkerConfig;
4
4
  };
@@ -0,0 +1,47 @@
1
+ <script lang="ts">
2
+ import { Geo } from 'svelteplot';
3
+ import { resolveAccessor } from '../../plots/utils/accessors';
4
+ import { greatCircleInterpolate } from '../../plots/utils/geoAccessors';
5
+ import type { GeoLinkMarkerConfig } from '../../types/markers/geo';
6
+
7
+ /** Renders one `'link'` marker - geodesic-aware lines between point pairs, as a synthetic `LineString` fed through `<Geo>`. */
8
+ let { marker }: { marker: GeoLinkMarkerConfig } = $props();
9
+
10
+ const getX1 = $derived(resolveAccessor(marker.x1));
11
+ const getY1 = $derived(resolveAccessor(marker.y1));
12
+ const getX2 = $derived(resolveAccessor(marker.x2));
13
+ const getY2 = $derived(resolveAccessor(marker.y2));
14
+
15
+ const linkFeatures = $derived(
16
+ marker.data.map((d) => ({
17
+ type: 'Feature' as const,
18
+ properties: {},
19
+ geometry: {
20
+ type: 'LineString' as const,
21
+ coordinates:
22
+ marker.curve === 'linear'
23
+ ? [
24
+ [Number(getX1(d)), Number(getY1(d))],
25
+ [Number(getX2(d)), Number(getY2(d))]
26
+ ]
27
+ : greatCircleInterpolate(
28
+ Number(getX1(d)),
29
+ Number(getY1(d)),
30
+ Number(getX2(d)),
31
+ Number(getY2(d))
32
+ )
33
+ }
34
+ }))
35
+ );
36
+ </script>
37
+
38
+ <!-- No `fill` prop: svelteplot treats any string as scale-worthy unless it's a real CSS color, so a literal `'none'` would run through the color scale instead of staying unfilled. Omitting it leaves svelteplot's own unfilled default in place. -->
39
+ <Geo
40
+ class="link"
41
+ data={linkFeatures}
42
+ stroke={marker.styles?.stroke ?? 'currentColor'}
43
+ strokeWidth={marker.styles?.strokeWidth ?? 1}
44
+ strokeOpacity={marker.styles?.strokeOpacity}
45
+ strokeDasharray={marker.styles?.strokeDasharray}
46
+ style="vector-effect: non-scaling-stroke"
47
+ />
@@ -1,4 +1,4 @@
1
- import type { GeoLinkMarkerConfig } from '../types/markers/geo';
1
+ import type { GeoLinkMarkerConfig } from '../../types/markers/geo';
2
2
  type $$ComponentProps = {
3
3
  marker: GeoLinkMarkerConfig;
4
4
  };
@@ -0,0 +1,31 @@
1
+ <script lang="ts">
2
+ import { Raster } from 'svelteplot';
3
+ import type { RasterMarkerConfig } from '../../types/markers/common';
4
+
5
+ /**
6
+ * Renders one `'raster'` marker as `<Raster>`. An empty `data` means
7
+ * svelteplot's function-sampling mode (`fill` as `(x, y) => value`, no rows),
8
+ * so it is forwarded as `null` rather than an empty array.
9
+ */
10
+ let { marker }: { marker: RasterMarkerConfig } = $props();
11
+
12
+ const data = $derived(marker.data?.length ? marker.data : null);
13
+ </script>
14
+
15
+ <Raster
16
+ {data}
17
+ x={marker.x}
18
+ y={marker.y}
19
+ fill={marker.fill}
20
+ fillOpacity={marker.fillOpacity}
21
+ x1={marker.x1}
22
+ x2={marker.x2}
23
+ y1={marker.y1}
24
+ y2={marker.y2}
25
+ width={marker.width}
26
+ height={marker.height}
27
+ pixelSize={marker.pixelSize}
28
+ blur={marker.blur}
29
+ interpolate={marker.interpolate}
30
+ imageRendering={marker.imageRendering}
31
+ />
@@ -0,0 +1,7 @@
1
+ import type { RasterMarkerConfig } from '../../types/markers/common';
2
+ type $$ComponentProps = {
3
+ marker: RasterMarkerConfig;
4
+ };
5
+ declare const RasterMarker: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type RasterMarker = ReturnType<typeof RasterMarker>;
7
+ export default RasterMarker;