@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,4 +1,4 @@
1
- import type { AxisValue } from '../../types/layout/scales';
1
+ import type { AxisValue } from '../../types/layout/mapping';
2
2
  import type { Series } from '../../types/plots/data/common';
3
3
  import type { LineSegmentStyle } from '../../types/plots/segments/common';
4
4
  import type { Segment, VisualGroup } from '../../types/plots/segments/config';
@@ -18,21 +18,10 @@ export declare function matchesSegmentX<TStyle>(xVal: AxisValue, seg: Segment<TS
18
18
  * and in order, only the first one can ever match; later ones are dead code.
19
19
  */
20
20
  export declare function validateSegments<TStyle>(segments: SegmentsConfig<TStyle>): void;
21
- /**
22
- * Builds the full list of visual groups — one per series — ready to render.
23
- * Each group's `visualSegments` is derived by resolving the flat segment list
24
- * for that series from all groups in `segments`.
25
- *
26
- * `connect` bridges adjacent visual segments so a *continuous* mark (line)
27
- * has no visual gap at their boundary — the default, since `buildGroupedSeries`
28
- * itself defaults `TStyle` to {@link LineSegmentStyle}. Discrete marks (bar,
29
- * pyramid) have no gap to bridge; pass `connect: false` so boundary rows
30
- * aren't duplicated as an extra, separately-styled mark.
31
- */
32
- export declare function buildGroupedSeries<S extends Series<any>, TStyle = LineSegmentStyle>(seriesList: S[], segments: SegmentsConfig<TStyle>, connect?: boolean): VisualGroup<S, TStyle>[];
21
+ export declare function buildGroupedSeries<S extends Series<any>, TStyle = LineSegmentStyle>(seriesList: S[], segments?: SegmentsConfig<TStyle>, connect?: boolean): VisualGroup<S, TStyle>[];
33
22
  /**
34
23
  * Builds the `ScopedMarkerGroup[]` a `Plot.svelte` hands to `GeometryLayout`
35
- * for rendering `series`-scoped `hover`/`component` markers — one group per
24
+ * for rendering `series`-scoped `hover`/`component` markers - one group per
36
25
  * series, carrying its resolved segments' match predicates and colors.
37
26
  * `colorFor` resolves a series' own default color; `segmentColorFor` reads
38
27
  * whichever field counts as "color" out of that plot kind's segment style
@@ -41,7 +30,7 @@ export declare function buildGroupedSeries<S extends Series<any>, TStyle = LineS
41
30
  */
42
31
  export declare function buildScopedMarkerGroups<TData extends Record<string, unknown>, S extends Series<any>, TStyle>(args: {
43
32
  groupedSeries: VisualGroup<S, TStyle>[];
44
- segments: SegmentsConfig<TStyle>;
33
+ segments?: SegmentsConfig<TStyle>;
45
34
  colorFor: (series: S, seriesIndex: number) => string;
46
- segmentColorFor: (style: TStyle | undefined, defaultColor: string) => string;
35
+ segmentColorFor: (styles: TStyle | undefined, defaultColor: string) => string;
47
36
  }): ScopedMarkerGroup<TData>[];
@@ -1,4 +1,5 @@
1
1
  import { resolveAccessor } from './accessors';
2
+ import { merge } from '../../utils/merge';
2
3
  const DEFAULT_KEY = 'default';
3
4
  /**
4
5
  * Returns the flat {@link Segment} list for one series.
@@ -17,24 +18,22 @@ export function matchesSegmentX(xVal, seg) {
17
18
  return true;
18
19
  return areas.some((area) => areaMatchesX(xVal, area));
19
20
  }
21
+ /* eslint-disable @typescript-eslint/no-explicit-any -- axis values compare across number, string and Date */
20
22
  function areaMatchesX(xVal, area) {
21
23
  if (!area.x)
22
24
  return true;
23
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
- return (area.x.from === undefined || xVal >= area.x.from) &&
25
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
- (area.x.to === undefined || xVal <= area.x.to);
25
+ return ((area.x.from === undefined || xVal >= area.x.from) &&
26
+ (area.x.to === undefined || xVal <= area.x.to));
27
27
  }
28
28
  function areaMatchesXY(xVal, yVal, area) {
29
29
  if (!areaMatchesX(xVal, area))
30
30
  return false;
31
31
  if (!area.y)
32
32
  return true;
33
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
- return (area.y.from === undefined || yVal >= area.y.from) &&
35
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
- (area.y.to === undefined || yVal <= area.y.to);
33
+ return ((area.y.from === undefined || yVal >= area.y.from) &&
34
+ (area.y.to === undefined || yVal <= area.y.to));
37
35
  }
36
+ /* eslint-enable @typescript-eslint/no-explicit-any */
38
37
  /**
39
38
  * Warns about obvious configuration mistakes: multiple catch-all segments
40
39
  * (no `areas`) in the same series list. Since catch-alls are evaluated last
@@ -44,7 +43,7 @@ export function validateSegments(segments) {
44
43
  const check = (label, segs) => {
45
44
  const catchAlls = segs.filter((s) => !s.areas || s.areas.length === 0).length;
46
45
  if (catchAlls > 1) {
47
- console.warn(`segments ${label}: ${catchAlls} entries have no areas — ` +
46
+ console.warn(`segments ${label}: ${catchAlls} entries have no areas - ` +
48
47
  `only the first catch-all's style will be used.`);
49
48
  }
50
49
  };
@@ -52,34 +51,13 @@ export function validateSegments(segments) {
52
51
  check(key === DEFAULT_KEY ? '(default)' : `"${key}"`, segs);
53
52
  }
54
53
  }
55
- function isPlainObject(v) {
56
- return v !== null && typeof v === 'object' && !Array.isArray(v);
57
- }
58
- /**
59
- * Merges two style objects one level deep: for any key where both base and
60
- * override hold plain objects (e.g. `stroke`, `dots`), their fields are
61
- * merged — override wins on conflict. Primitive fields are overridden directly.
62
- */
63
- function mergeStyles(base, override) {
64
- const result = { ...base };
65
- for (const [key, val] of Object.entries(override)) {
66
- const baseVal = result[key];
67
- if (isPlainObject(val) && isPlainObject(baseVal)) {
68
- result[key] = { ...baseVal, ...val };
69
- }
70
- else {
71
- result[key] = val;
72
- }
73
- }
74
- return result;
75
- }
76
54
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
77
55
  function resolveSeriesSegments(series, segs, connect) {
78
56
  if (!segs.length) {
79
- return [{ data: series.data, style: {} }];
57
+ return [{ data: series.data, styles: {}, scales: undefined }];
80
58
  }
81
- const getX = resolveAccessor(series.x);
82
- const getY = resolveAccessor(series.y);
59
+ const getX = readChannel(series.x);
60
+ const getY = readChannel(series.y);
83
61
  // Evaluate area-specific segments before catch-alls (no areas), preserving
84
62
  // relative order within each group. This lets a catch-all placed first in
85
63
  // the list act as a fallback baseline rather than matching everything.
@@ -120,9 +98,10 @@ function resolveSeriesSegments(series, segs, connect) {
120
98
  // Dots are excluded to avoid duplicate marks at the shared boundary points.
121
99
  const catchAll = segs.find((s) => !s.areas || s.areas.length === 0);
122
100
  const connectorStyle = (() => {
123
- if (!catchAll?.style)
101
+ if (!catchAll?.styles)
124
102
  return {};
125
- const { dots: _, ...rest } = catchAll.style;
103
+ const rest = { ...catchAll.styles };
104
+ delete rest.dots;
126
105
  return rest;
127
106
  })();
128
107
  const defaultVisual = [];
@@ -133,7 +112,7 @@ function resolveSeriesSegments(series, segs, connect) {
133
112
  if (run.segIdx === -1) {
134
113
  // Unmatched run: for a continuous mark (line), insert bridge points so
135
114
  // it connects to adjacent user segments without a visual gap. Discrete
136
- // marks (bar, pyramid) have no such gap to bridge — bridging would just
115
+ // marks (bar, pyramid) have no such gap to bridge - bridging would just
137
116
  // duplicate the neighboring runs' boundary rows as an extra, wrongly
138
117
  // styled mark at that same category.
139
118
  const bridged = [...run.data];
@@ -143,29 +122,31 @@ function resolveSeriesSegments(series, segs, connect) {
143
122
  if (r < runs.length - 1)
144
123
  bridged.push(runs[r + 1].data[0]);
145
124
  }
146
- defaultVisual.push({ data: bridged, style: {} });
125
+ defaultVisual.push({ data: bridged, styles: {}, scales: undefined });
147
126
  }
148
127
  else {
149
128
  const seg = segs[run.segIdx];
150
- const segStyle = seg.style ?? {};
129
+ const segStyle = seg.styles ?? {};
151
130
  // Area-specific segments merge the catch-all as a baseline: catch-all
152
131
  // keys fill in whatever the area segment omits; the area wins on conflict.
153
132
  const isAreaSpecific = seg.areas != null && seg.areas.length > 0;
154
- const resolvedStyle = isAreaSpecific && catchAll?.style
155
- ? mergeStyles(catchAll.style, segStyle)
133
+ const resolvedStyle = isAreaSpecific && catchAll?.styles
134
+ ? merge(catchAll.styles, segStyle)
156
135
  : segStyle;
157
- userVisual.push({ data: run.data, style: resolvedStyle });
136
+ const resolvedScales = seg.scales ?? (isAreaSpecific && catchAll?.scales ? catchAll.scales : undefined);
137
+ userVisual.push({ data: run.data, styles: resolvedStyle, scales: resolvedScales });
158
138
  // When the next run is also a user segment (no unmatched data between them),
159
139
  // insert a line-only connector so the lines join without a gap. Using a
160
140
  // separate mark (rather than appending a bridge point to the current run)
161
141
  // avoids rendering an extra dot at the shared boundary point. Skipped
162
- // entirely for discrete marks (see above) — it would duplicate both
142
+ // entirely for discrete marks (see above) - it would duplicate both
163
143
  // runs' boundary rows as an extra mark.
164
144
  const nextRun = runs[r + 1];
165
145
  if (connect && nextRun && nextRun.segIdx !== -1) {
166
146
  connectors.push({
167
147
  data: [run.data[run.data.length - 1], nextRun.data[0]],
168
- style: connectorStyle,
148
+ styles: connectorStyle,
149
+ scales: undefined
169
150
  });
170
151
  }
171
152
  }
@@ -177,25 +158,30 @@ function resolveSeriesSegments(series, segs, connect) {
177
158
  return [...defaultVisual, ...connectors, ...userVisual];
178
159
  }
179
160
  /**
180
- * Builds the full list of visual groups — one per series — ready to render.
161
+ * Builds the full list of visual groups - one per series - ready to render.
181
162
  * Each group's `visualSegments` is derived by resolving the flat segment list
182
163
  * for that series from all groups in `segments`.
183
164
  *
184
165
  * `connect` bridges adjacent visual segments so a *continuous* mark (line)
185
- * has no visual gap at their boundary — the default, since `buildGroupedSeries`
166
+ * has no visual gap at their boundary - the default, since `buildGroupedSeries`
186
167
  * itself defaults `TStyle` to {@link LineSegmentStyle}. Discrete marks (bar,
187
168
  * pyramid) have no gap to bridge; pass `connect: false` so boundary rows
188
169
  * aren't duplicated as an extra, separately-styled mark.
189
170
  */
190
- export function buildGroupedSeries(seriesList, segments, connect = true) {
171
+ /** A position channel's accessor, reading nothing when the series doesn't set it. */
172
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
173
+ function readChannel(accessor) {
174
+ return accessor === undefined ? () => undefined : resolveAccessor(accessor);
175
+ }
176
+ export function buildGroupedSeries(seriesList, segments = {}, connect = true) {
191
177
  return seriesList.map((s) => ({
192
178
  series: s,
193
- visualSegments: resolveSeriesSegments(s, resolveSegmentsForSeries(segments, s.name), connect),
179
+ visualSegments: resolveSeriesSegments(s, resolveSegmentsForSeries(segments, s.name), connect)
194
180
  }));
195
181
  }
196
182
  /**
197
183
  * Builds the `ScopedMarkerGroup[]` a `Plot.svelte` hands to `GeometryLayout`
198
- * for rendering `series`-scoped `hover`/`component` markers — one group per
184
+ * for rendering `series`-scoped `hover`/`component` markers - one group per
199
185
  * series, carrying its resolved segments' match predicates and colors.
200
186
  * `colorFor` resolves a series' own default color; `segmentColorFor` reads
201
187
  * whichever field counts as "color" out of that plot kind's segment style
@@ -203,19 +189,21 @@ export function buildGroupedSeries(seriesList, segments, connect = true) {
203
189
  * that isn't shared across plot kinds.
204
190
  */
205
191
  export function buildScopedMarkerGroups(args) {
206
- const { groupedSeries, segments, colorFor, segmentColorFor } = args;
192
+ const { groupedSeries, segments = {}, colorFor, segmentColorFor } = args;
207
193
  return groupedSeries.map((group, seriesIndex) => {
208
194
  const defaultColor = colorFor(group.series, seriesIndex);
209
- const xFor = resolveAccessor(group.series.x);
195
+ const xFor = readChannel(group.series.x);
210
196
  const segs = resolveSegmentsForSeries(segments, group.series.name);
211
197
  return {
212
198
  name: group.series.name,
199
+ ...(group.series.id !== undefined ? { id: group.series.id } : {}),
200
+ ...(group.series.panel !== undefined ? { panel: group.series.panel } : {}),
213
201
  data: group.series.data,
214
202
  color: defaultColor,
215
203
  segments: segs.map((seg) => ({
216
204
  match: (row) => matchesSegmentX(xFor(row), seg),
217
- color: segmentColorFor(seg.style, defaultColor),
218
- })),
205
+ color: segmentColorFor(seg.styles, defaultColor)
206
+ }))
219
207
  };
220
208
  });
221
209
  }
@@ -14,7 +14,7 @@ export type ProjectionLike = {
14
14
  (point: [number, number]): [number, number] | null;
15
15
  invert?(point: [number, number]): [number, number] | null;
16
16
  };
17
- /** The minimal geometry-stream shape a projection's `.stream()` accepts — kept local instead of importing `d3-geo`'s own `GeoStream` type, so this module stays dependency-free. */
17
+ /** The minimal geometry-stream shape a projection's `.stream()` accepts - kept local instead of importing `d3-geo`'s own `GeoStream` type, so this module stays dependency-free. */
18
18
  type MinimalStream = {
19
19
  point: (x: number, y: number, z?: number) => void;
20
20
  lineStart: () => void;
@@ -30,7 +30,7 @@ export type StreamingProjection = {
30
30
  };
31
31
  /**
32
32
  * Adapts a svelteplot-resolved projection (which exposes `.stream()`/
33
- * `.invert()`, but — unlike a raw `d3-geo` projection instance — isn't
33
+ * `.invert()`, but - unlike a raw `d3-geo` projection instance - isn't
34
34
  * itself callable as `(point) => [x, y]`) into a `ProjectionLike`, by
35
35
  * feeding a single point through its stream pipeline and capturing the
36
36
  * projected output.
@@ -39,7 +39,7 @@ export declare function toProjectionLike(projection: StreamingProjection): Proje
39
39
  /**
40
40
  * Derives the visible XYZ tile grid from svelteplot's own already-fitted
41
41
  * projection (rather than this package computing/duplicating a `d3-geo` fit
42
- * itself) — see `TileLayer.svelte`. Only correct for Mercator-family
42
+ * itself) - see `TileLayer.svelte`. Only correct for Mercator-family
43
43
  * projections, where a screen-space rectangle maps back to a lon/lat bbox
44
44
  * whose tile coverage is well-defined; callers are responsible for the
45
45
  * projection-compatibility check (see `Plot.svelte`'s validation effect).
@@ -57,8 +57,8 @@ export type MercatorFit = {
57
57
  };
58
58
  /**
59
59
  * Builds an affine tile-space → screen-space mapping from two reliable
60
- * anchor points — `bounds`' own top-left/bottom-right corners, inverted
61
- * back to lon/lat — rather than forward-projecting each tile's own corners
60
+ * anchor points - `bounds`' own top-left/bottom-right corners, inverted
61
+ * back to lon/lat - rather than forward-projecting each tile's own corners
62
62
  * individually (what this replaced). That per-tile approach broke under a
63
63
  * projection whose scale/translate were fit to a *custom* domain rather
64
64
  * than set via its own `.scale()`/`.translate()`: `d3-geo`'s cylindrical
@@ -68,21 +68,21 @@ export type MercatorFit = {
68
68
  * blowup near the poles); svelteplot's own domain-fitting wraps the
69
69
  * *unmodified* projection instance in an external transform instead of
70
70
  * calling those setters, so that internal clip keeps silently rejecting
71
- * forward-projected points outside its stale bounds — nulling out most of
71
+ * forward-projected points outside its stale bounds - nulling out most of
72
72
  * a tile grid even for tiles nowhere near a pole. `.invert()` isn't routed
73
73
  * through that clip, so anchoring to two known-good inverted corners
74
- * sidesteps it entirely — sound because Mercator's tile space (longitude,
74
+ * sidesteps it entirely - sound because Mercator's tile space (longitude,
75
75
  * and the standard log-tan latitude transform used by `latToTileY`) is
76
76
  * affine in screen space by construction, so one linear fit applies
77
77
  * uniformly to every tile in the grid.
78
78
  */
79
79
  export declare function buildMercatorFit(projection: ProjectionLike, rawBounds: ScreenBounds, z: number, dataLonLatBounds?: [number, number, number, number] | null): MercatorFit | null;
80
- /** Places a tile on screen via a `MercatorFit` — `null` only if `tile` is from a different zoom level than the fit was built for. */
80
+ /** Places a tile on screen via a `MercatorFit` - `null` only if `tile` is from a different zoom level than the fit was built for. */
81
81
  export declare function tileScreenBounds(fit: MercatorFit, tile: TileCoord): ScreenBounds | null;
82
82
  /**
83
83
  * Fills `{z}/{x}/{y}` placeholders in a tile URL template. Also supports
84
84
  * `{-y}` for TMS-scheme sources (e.g. IGN's tile services), whose row index
85
- * counts from the south instead of the north — the standard XYZ-to-TMS
85
+ * counts from the south instead of the north - the standard XYZ-to-TMS
86
86
  * conversion `2^z - 1 - y`.
87
87
  */
88
88
  export declare function tileUrl(template: string, tile: TileCoord): string;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Adapts a svelteplot-resolved projection (which exposes `.stream()`/
3
- * `.invert()`, but — unlike a raw `d3-geo` projection instance — isn't
3
+ * `.invert()`, but - unlike a raw `d3-geo` projection instance - isn't
4
4
  * itself callable as `(point) => [x, y]`) into a `ProjectionLike`, by
5
5
  * feeding a single point through its stream pipeline and capturing the
6
6
  * projected output.
@@ -15,7 +15,7 @@ export function toProjectionLike(projection) {
15
15
  lineStart() { },
16
16
  lineEnd() { },
17
17
  polygonStart() { },
18
- polygonEnd() { },
18
+ polygonEnd() { }
19
19
  };
20
20
  projection.stream(sink).point(point[0], point[1]);
21
21
  return result;
@@ -33,7 +33,7 @@ function latToTileY(lat, z) {
33
33
  }
34
34
  /**
35
35
  * Picks an integer XYZ zoom level whose tile pixel density roughly matches
36
- * the projection's *current* pixels-per-degree at the map center — so tiles
36
+ * the projection's *current* pixels-per-degree at the map center - so tiles
37
37
  * neither look blurry (too coarse) nor waste bandwidth (too fine).
38
38
  */
39
39
  function estimateZoomLevel(projection, centerLon, centerLat, tileSize) {
@@ -73,28 +73,28 @@ function clampBoundsToWorld(projection, bounds) {
73
73
  }
74
74
  /**
75
75
  * How far a letterboxed tile margin may reach beyond the data's own
76
- * bounding box (see `Plot.svelte`'s `dataLonLatBounds`), on either side —
76
+ * bounding box (see `Plot.svelte`'s `dataLonLatBounds`), on either side -
77
77
  * the product-level cap on how much basemap "context" gets shown, well
78
78
  * inside `clampBoundsToWorld`'s own (much looser) antimeridian-safety cap.
79
79
  *
80
80
  * Picked to comfortably clear the nearest *other* landmass in any direction
81
- * from Argentina — this package's one real-world `domain: 'data'` +
81
+ * from Argentina - this package's one real-world `domain: 'data'` +
82
82
  * tile-layer consumer. The tightest real constraint is the Atlantic side:
83
83
  * Argentina's own east edge sits at -53°, and the nearest land across it
84
- * (West Africa) starts around -17° — a 36°-wide ocean gap. A flat 20° here
84
+ * (West Africa) starts around -17° - a 36°-wide ocean gap. A flat 20° here
85
85
  * stays comfortably inside that gap on the tight side, while every other
86
86
  * direction (west into the Pacific, especially) has far more real ocean to
87
87
  * spare than this uses.
88
88
  */
89
89
  const CONTEXT_PADDING_DEGREES = 20;
90
90
  /**
91
- * A raster tile is atomic — one straddling the padding boundary above still
91
+ * A raster tile is atomic - one straddling the padding boundary above still
92
92
  * renders in full, so at a low enough zoom a single tile can overshoot
93
93
  * `CONTEXT_PADDING_DEGREES` by tens of degrees (confirmed empirically: a
94
- * small facet cell naturally estimates z≈1–2, where a tile is 90°–180°
94
+ * small facet cell naturally estimates z≈1-2, where a tile is 90°-180°
95
95
  * wide, dragging in all of Africa well past the intended padding). Flooring
96
96
  * the zoom to at least this, whenever `clampBoundsToDataPadding` actually
97
- * reduced the bounds, guarantees a tile is at most 360/2⁶ = 5.625° wide —
97
+ * reduced the bounds, guarantees a tile is at most 360/2⁶ = 5.625° wide -
98
98
  * comfortably under half of `CONTEXT_PADDING_DEGREES`, so the worst-case
99
99
  * overshoot still lands well short of real land.
100
100
  */
@@ -102,10 +102,10 @@ const MIN_ZOOM_WHEN_CONTEXT_CLAMPED = 6;
102
102
  /**
103
103
  * Clamps `bounds`' horizontal extent to the data's own lon/lat bbox padded
104
104
  * by `CONTEXT_PADDING_DEGREES` on each side, at the box's own center
105
- * latitude — a no-op when `dataLonLatBounds` isn't supplied (a plot with no
105
+ * latitude - a no-op when `dataLonLatBounds` isn't supplied (a plot with no
106
106
  * tile-layer-relevant data footprint, e.g. not a `domain: 'data'` fit; see
107
107
  * `Plot.svelte`'s `usesDataFit`). Independent of, and applied on top of,
108
- * `clampBoundsToWorld`'s own antimeridian-safety cap — that cap alone still
108
+ * `clampBoundsToWorld`'s own antimeridian-safety cap - that cap alone still
109
109
  * permits up to a quarter-turn of the globe each way, comfortably reaching
110
110
  * an unrelated continent instead of just nearby ocean (see `GeoPlot/Facet`
111
111
  * stories' `Rows2Cols2` for the regression this fixes).
@@ -114,7 +114,10 @@ function clampBoundsToDataPadding(projection, bounds, dataLonLatBounds) {
114
114
  if (!dataLonLatBounds || !projection.invert)
115
115
  return bounds;
116
116
  const [minLon, , maxLon] = dataLonLatBounds;
117
- const centerLonLat = projection.invert([bounds.left + bounds.width / 2, bounds.top + bounds.height / 2]);
117
+ const centerLonLat = projection.invert([
118
+ bounds.left + bounds.width / 2,
119
+ bounds.top + bounds.height / 2
120
+ ]);
118
121
  if (!centerLonLat)
119
122
  return bounds;
120
123
  const west = projection([minLon - CONTEXT_PADDING_DEGREES, centerLonLat[1]]);
@@ -130,7 +133,7 @@ function clampBoundsToDataPadding(projection, bounds, dataLonLatBounds) {
130
133
  /**
131
134
  * Derives the visible XYZ tile grid from svelteplot's own already-fitted
132
135
  * projection (rather than this package computing/duplicating a `d3-geo` fit
133
- * itself) — see `TileLayer.svelte`. Only correct for Mercator-family
136
+ * itself) - see `TileLayer.svelte`. Only correct for Mercator-family
134
137
  * projections, where a screen-space rectangle maps back to a lon/lat bbox
135
138
  * whose tile coverage is well-defined; callers are responsible for the
136
139
  * projection-compatibility check (see `Plot.svelte`'s validation effect).
@@ -144,13 +147,20 @@ export function visibleTiles(projection, rawBounds, tileSize = 256, minZoom = 0,
144
147
  [bounds.left, bounds.top],
145
148
  [bounds.left + bounds.width, bounds.top],
146
149
  [bounds.left, bounds.top + bounds.height],
147
- [bounds.left + bounds.width, bounds.top + bounds.height],
150
+ [bounds.left + bounds.width, bounds.top + bounds.height]
148
151
  ];
149
- const lonLats = corners.map((c) => projection.invert(c)).filter((p) => p != null);
152
+ const lonLats = corners
153
+ .map((c) => projection.invert(c))
154
+ .filter((p) => p != null);
150
155
  if (lonLats.length === 0)
151
156
  return [];
152
- const effectiveMinZoom = contextClamped ? Math.max(minZoom, MIN_ZOOM_WHEN_CONTEXT_CLAMPED) : minZoom;
153
- const centerScreen = [bounds.left + bounds.width / 2, bounds.top + bounds.height / 2];
157
+ const effectiveMinZoom = contextClamped
158
+ ? Math.max(minZoom, MIN_ZOOM_WHEN_CONTEXT_CLAMPED)
159
+ : minZoom;
160
+ const centerScreen = [
161
+ bounds.left + bounds.width / 2,
162
+ bounds.top + bounds.height / 2
163
+ ];
154
164
  const center = projection.invert(centerScreen);
155
165
  const z = center
156
166
  ? Math.max(effectiveMinZoom, Math.min(maxZoom, estimateZoomLevel(projection, center[0], center[1], tileSize) ?? effectiveMinZoom))
@@ -172,8 +182,8 @@ export function visibleTiles(projection, rawBounds, tileSize = 256, minZoom = 0,
172
182
  }
173
183
  /**
174
184
  * Builds an affine tile-space → screen-space mapping from two reliable
175
- * anchor points — `bounds`' own top-left/bottom-right corners, inverted
176
- * back to lon/lat — rather than forward-projecting each tile's own corners
185
+ * anchor points - `bounds`' own top-left/bottom-right corners, inverted
186
+ * back to lon/lat - rather than forward-projecting each tile's own corners
177
187
  * individually (what this replaced). That per-tile approach broke under a
178
188
  * projection whose scale/translate were fit to a *custom* domain rather
179
189
  * than set via its own `.scale()`/`.translate()`: `d3-geo`'s cylindrical
@@ -183,10 +193,10 @@ export function visibleTiles(projection, rawBounds, tileSize = 256, minZoom = 0,
183
193
  * blowup near the poles); svelteplot's own domain-fitting wraps the
184
194
  * *unmodified* projection instance in an external transform instead of
185
195
  * calling those setters, so that internal clip keeps silently rejecting
186
- * forward-projected points outside its stale bounds — nulling out most of
196
+ * forward-projected points outside its stale bounds - nulling out most of
187
197
  * a tile grid even for tiles nowhere near a pole. `.invert()` isn't routed
188
198
  * through that clip, so anchoring to two known-good inverted corners
189
- * sidesteps it entirely — sound because Mercator's tile space (longitude,
199
+ * sidesteps it entirely - sound because Mercator's tile space (longitude,
190
200
  * and the standard log-tan latitude transform used by `latToTileY`) is
191
201
  * affine in screen space by construction, so one linear fit applies
192
202
  * uniformly to every tile in the grid.
@@ -212,10 +222,10 @@ export function buildMercatorFit(projection, rawBounds, z, dataLonLatBounds) {
212
222
  tileXAtLeft,
213
223
  tileYAtTop,
214
224
  pxPerTileX: bounds.width / (tileXAtRight - tileXAtLeft),
215
- pxPerTileY: bounds.height / (tileYAtBottom - tileYAtTop),
225
+ pxPerTileY: bounds.height / (tileYAtBottom - tileYAtTop)
216
226
  };
217
227
  }
218
- /** Places a tile on screen via a `MercatorFit` — `null` only if `tile` is from a different zoom level than the fit was built for. */
228
+ /** Places a tile on screen via a `MercatorFit` - `null` only if `tile` is from a different zoom level than the fit was built for. */
219
229
  export function tileScreenBounds(fit, tile) {
220
230
  if (tile.z !== fit.z)
221
231
  return null;
@@ -223,13 +233,13 @@ export function tileScreenBounds(fit, tile) {
223
233
  left: fit.screenLeft + (tile.x - fit.tileXAtLeft) * fit.pxPerTileX,
224
234
  top: fit.screenTop + (tile.y - fit.tileYAtTop) * fit.pxPerTileY,
225
235
  width: fit.pxPerTileX,
226
- height: fit.pxPerTileY,
236
+ height: fit.pxPerTileY
227
237
  };
228
238
  }
229
239
  /**
230
240
  * Fills `{z}/{x}/{y}` placeholders in a tile URL template. Also supports
231
241
  * `{-y}` for TMS-scheme sources (e.g. IGN's tile services), whose row index
232
- * counts from the south instead of the north — the standard XYZ-to-TMS
242
+ * counts from the south instead of the north - the standard XYZ-to-TMS
233
243
  * conversion `2^z - 1 - y`.
234
244
  */
235
245
  export function tileUrl(template, tile) {
@@ -3,7 +3,7 @@ export declare function isTopology(data: unknown): data is Topology;
3
3
  /**
4
4
  * Converts a TopoJSON `Topology` to GeoJSON via `topojson-client`'s
5
5
  * `feature()`, loaded with a dynamic import so the package works perfectly
6
- * for consumers who never install `topojson-client` — it's an optional peer
6
+ * for consumers who never install `topojson-client` - it's an optional peer
7
7
  * dependency (see package.json), never statically imported.
8
8
  */
9
9
  export declare function topologyToGeoJson<TProps extends Record<string, unknown>>(topology: Topology, object: string): Promise<GeoFeature<TProps>[]>;
@@ -4,7 +4,7 @@ export function isTopology(data) {
4
4
  /**
5
5
  * Converts a TopoJSON `Topology` to GeoJSON via `topojson-client`'s
6
6
  * `feature()`, loaded with a dynamic import so the package works perfectly
7
- * for consumers who never install `topojson-client` — it's an optional peer
7
+ * for consumers who never install `topojson-client` - it's an optional peer
8
8
  * dependency (see package.json), never statically imported.
9
9
  */
10
10
  export async function topologyToGeoJson(topology, object) {
@@ -14,7 +14,7 @@ export async function topologyToGeoJson(topology, object) {
14
14
  }
15
15
  let mod;
16
16
  try {
17
- // @ts-expect-error — topojson-client is an optional peer dependency; its
17
+ // @ts-expect-error - topojson-client is an optional peer dependency; its
18
18
  // type declarations are intentionally not resolved by our own build
19
19
  // (`Topology` above is typed structurally instead), so this import is
20
20
  // resolved purely at runtime.
@@ -22,7 +22,7 @@ export async function topologyToGeoJson(topology, object) {
22
22
  }
23
23
  catch {
24
24
  throw new Error("GeoPlot: `data` is a TopoJSON Topology, but 'topojson-client' isn't installed. " +
25
- 'Run `npm install topojson-client` (it\'s an optional peer dependency) or pass GeoJSON directly.');
25
+ "Run `npm install topojson-client` (it's an optional peer dependency) or pass GeoJSON directly.");
26
26
  }
27
27
  const { feature } = mod;
28
28
  const collection = feature(topology, obj);
@@ -30,10 +30,8 @@ const viewport = readable({ width: 0, height: 0 }, (set) => {
30
30
  };
31
31
  });
32
32
  export const isMobile = derived(viewport, ($viewport) => $viewport.width < 768);
33
- export const isTablet = derived(viewport, ($viewport) => ($viewport.width >= 768 &&
34
- $viewport.width < 1024));
35
- export const isLaptop = derived(viewport, ($viewport) => ($viewport.width >= 1024 &&
36
- $viewport.width < 1280));
33
+ export const isTablet = derived(viewport, ($viewport) => $viewport.width >= 768 && $viewport.width < 1024);
34
+ export const isLaptop = derived(viewport, ($viewport) => $viewport.width >= 1024 && $viewport.width < 1280);
37
35
  export const isDesktop = derived(viewport, ($viewport) => $viewport.width >= 1280);
38
36
  export const viewportWidth = derived(viewport, ($viewport) => $viewport.width);
39
37
  export const viewportHeight = derived(viewport, ($viewport) => $viewport.height);