@fundar/data-chart-telling 1.0.0 → 1.2.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 (560) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +58 -19
  3. package/dist/configuration/config.svelte.d.ts +1 -1
  4. package/dist/configuration/config.svelte.js +172 -95
  5. package/dist/configuration/themes/index.d.ts +5 -1304
  6. package/dist/index.d.ts +24 -14
  7. package/dist/index.js +20 -10
  8. package/dist/layout/base/BasePlotLayout.svelte +129 -51
  9. package/dist/layout/base/BasePlotLayout.svelte.d.ts +1 -38
  10. package/dist/layout/coordinates/CoordinatesLayout.svelte +42 -40
  11. package/dist/layout/coordinates/CoordinatesLayout.svelte.d.ts +0 -2
  12. package/dist/layout/coordinates/ProjectionZoom.svelte +48 -0
  13. package/dist/layout/coordinates/ProjectionZoom.svelte.d.ts +10 -0
  14. package/dist/layout/coordinates/ZoomedProjection.d.ts +11 -0
  15. package/dist/layout/coordinates/ZoomedProjection.js +24 -0
  16. package/dist/layout/coordinates/camera.svelte.js +11 -8
  17. package/dist/layout/coordinates/projections/argentina.js +1 -1
  18. package/dist/layout/coordinates/projections/fit.d.ts +1 -1
  19. package/dist/layout/coordinates/projections/fit.js +1 -1
  20. package/dist/layout/coordinates/zoom.svelte.d.ts +4 -5
  21. package/dist/layout/coordinates/zoom.svelte.js +4 -5
  22. package/dist/layout/facet/FacetLayout.svelte +1 -1
  23. package/dist/layout/facet/config.js +1 -1
  24. package/dist/layout/figure/Figure.svelte +2 -0
  25. package/dist/layout/geometry/GeometryLayout.svelte +14 -9
  26. package/dist/layout/geometry/GeometryLayout.svelte.d.ts +0 -3
  27. package/dist/layout/geometry/MarkerOffset.svelte +28 -0
  28. package/dist/layout/geometry/MarkerOffset.svelte.d.ts +13 -0
  29. package/dist/layout/grid/GridCell.svelte +6 -8
  30. package/dist/layout/hover/HoverSettings.d.ts +20 -6
  31. package/dist/layout/hover/HoverSettings.js +29 -4
  32. package/dist/layout/legend/ContinuousSection.svelte +44 -9
  33. package/dist/layout/legend/DiscreteBadgeItem.svelte +2 -2
  34. package/dist/layout/legend/DiscreteSection.svelte +2 -2
  35. package/dist/layout/legend/DiscreteSymbolIcon.svelte +1 -1
  36. package/dist/layout/legend/LegendChannels.js +36 -12
  37. package/dist/layout/legend/LegendLayout.svelte +9 -1
  38. package/dist/layout/legend/LegendState.svelte.d.ts +9 -0
  39. package/dist/layout/legend/LegendState.svelte.js +24 -3
  40. package/dist/layout/legend/SizeSection.svelte +1 -1
  41. package/dist/layout/margins/PlotMargins.svelte.d.ts +2 -5
  42. package/dist/layout/margins/PlotMargins.svelte.js +4 -8
  43. package/dist/layout/plot/Plot.svelte +6 -3
  44. package/dist/layout/plot/PublicPlotContext.d.ts +5 -4
  45. package/dist/layout/plot/PublicPlotContext.js +7 -3
  46. package/dist/layout/plot/Slice.d.ts +5 -1
  47. package/dist/layout/plot/Slice.js +18 -6
  48. package/dist/layout/scales/EdgeTicks.d.ts +39 -0
  49. package/dist/layout/scales/EdgeTicks.js +82 -0
  50. package/dist/layout/scales/NiceTicks.d.ts +43 -0
  51. package/dist/layout/scales/NiceTicks.js +76 -0
  52. package/dist/layout/scales/ScalesLayout.svelte +133 -34
  53. package/dist/layout/scales/ScalesLayout.svelte.d.ts +10 -0
  54. package/dist/layout/scales/SveltePlotScale.d.ts +15 -0
  55. package/dist/layout/scales/SveltePlotScale.js +86 -0
  56. package/dist/layout/scales/TickLabels.d.ts +32 -0
  57. package/dist/layout/scales/TickLabels.js +55 -0
  58. package/dist/layout/styles/StylesLayout.svelte +2 -2
  59. package/dist/layout/styles/ValueLabels.d.ts +33 -5
  60. package/dist/layout/styles/ValueLabels.js +83 -23
  61. package/dist/layout/timeline/Timeline.svelte +5 -2
  62. package/dist/layout/timeline/Timeline.svelte.d.ts +2 -0
  63. package/dist/layout/timeline/TimelineLayout.svelte +39 -13
  64. package/dist/layout/timeline/TimelineLayout.svelte.d.ts +7 -5
  65. package/dist/layout/timeline/TimelineRule.svelte +1 -0
  66. package/dist/layout/timeline/TimelineState.svelte.d.ts +13 -5
  67. package/dist/layout/timeline/TimelineState.svelte.js +42 -8
  68. package/dist/layout/timeline/TimelineTime.d.ts +18 -0
  69. package/dist/layout/timeline/TimelineTime.js +117 -0
  70. package/dist/layout/tooltip/Tooltip.svelte +10 -7
  71. package/dist/layout/tooltip/Tooltip.svelte.d.ts +6 -4
  72. package/dist/layout/tooltip/TooltipState.svelte.d.ts +8 -2
  73. package/dist/layout/tooltip/TooltipState.svelte.js +23 -4
  74. package/dist/markers/MarkerKinds.d.ts +5 -0
  75. package/dist/markers/MarkerKinds.js +1 -0
  76. package/dist/markers/area/AreaMarker.svelte +15 -63
  77. package/dist/markers/arrow/ArrowMarker.svelte +51 -9
  78. package/dist/markers/bar/BarMarker.svelte +8 -4
  79. package/dist/markers/bollinger/BollingerMarker.svelte +33 -18
  80. package/dist/markers/box/BoxMarker.svelte +40 -9
  81. package/dist/markers/delta/Delta.js +1 -1
  82. package/dist/markers/delta/DeltaMarker.svelte +9 -7
  83. package/dist/markers/dot/DotMarker.svelte +24 -27
  84. package/dist/markers/image/ImageMarker.svelte +17 -12
  85. package/dist/markers/inset/InsetMarker.svelte +2 -2
  86. package/dist/markers/line/LineMarker.svelte +1 -0
  87. package/dist/markers/link/LinkMarker.svelte +174 -29
  88. package/dist/markers/regression/RegressionMarker.svelte +16 -33
  89. package/dist/markers/rule/RuleMarker.svelte +9 -3
  90. package/dist/markers/text/Declutter.d.ts +4 -0
  91. package/dist/markers/text/Declutter.js +26 -11
  92. package/dist/markers/text/TextMarker.svelte +91 -48
  93. package/dist/markers/tick/TickMarker.svelte +27 -25
  94. package/dist/markers/utils/MarkerChannels.d.ts +24 -0
  95. package/dist/markers/utils/MarkerChannels.js +42 -7
  96. package/dist/markers/utils/RowOffset.d.ts +23 -0
  97. package/dist/markers/utils/RowOffset.js +23 -0
  98. package/dist/markers/utils/RowOffsetMarks.svelte +30 -0
  99. package/dist/markers/utils/RowOffsetMarks.svelte.d.ts +33 -0
  100. package/dist/markers/utils/RowStroke.d.ts +31 -0
  101. package/dist/markers/utils/RowStroke.js +28 -0
  102. package/dist/markers/violin/ViolinMarker.svelte +75 -0
  103. package/dist/markers/violin/ViolinMarker.svelte.d.ts +7 -0
  104. package/dist/markers/violin/ViolinProfiles.d.ts +29 -0
  105. package/dist/markers/violin/ViolinProfiles.js +55 -0
  106. package/dist/markers/waffle/WaffleMarker.svelte +17 -37
  107. package/dist/phases/Pipeline.d.ts +5 -0
  108. package/dist/phases/Pipeline.js +8 -2
  109. package/dist/phases/data/DataPhase.d.ts +5 -11
  110. package/dist/phases/data/DataPhase.js +14 -11
  111. package/dist/phases/data/PlotAxes.d.ts +10 -0
  112. package/dist/phases/data/PlotAxes.js +14 -1
  113. package/dist/phases/facet/FacetPanels.d.ts +55 -0
  114. package/dist/phases/facet/FacetPanels.js +96 -0
  115. package/dist/phases/facet/FacetPhase.d.ts +1 -42
  116. package/dist/phases/facet/FacetPhase.js +1 -87
  117. package/dist/phases/hover/HoverPhase.d.ts +6 -43
  118. package/dist/phases/hover/HoverPhase.js +19 -54
  119. package/dist/phases/mapping/MappingPhase.d.ts +1 -1
  120. package/dist/phases/mapping/MappingPhase.js +3 -5
  121. package/dist/phases/markers/MarkersPhase.js +2 -1
  122. package/dist/phases/scales/CategoryOrder.d.ts +23 -0
  123. package/dist/phases/scales/CategoryOrder.js +73 -0
  124. package/dist/phases/scales/ScalesPhase.d.ts +1 -3
  125. package/dist/phases/scales/ScalesPhase.js +37 -27
  126. package/dist/phases/sharedScales/SharedScalesPhase.d.ts +6 -2
  127. package/dist/phases/sharedScales/SharedScalesPhase.js +14 -8
  128. package/dist/phases/statistics/Statistics.d.ts +10 -6
  129. package/dist/phases/statistics/Statistics.js +20 -10
  130. package/dist/phases/statistics/StatisticsPhase.js +10 -6
  131. package/dist/phases/statistics/methods/BollingerStatistic.d.ts +1 -1
  132. package/dist/phases/statistics/methods/BollingerStatistic.js +13 -11
  133. package/dist/phases/statistics/methods/BoxStatistic.d.ts +1 -1
  134. package/dist/phases/statistics/methods/BoxStatistic.js +14 -12
  135. package/dist/phases/statistics/methods/Density2dStatistic.d.ts +1 -1
  136. package/dist/phases/statistics/methods/Density2dStatistic.js +13 -11
  137. package/dist/phases/statistics/methods/DensityStatistic.d.ts +1 -1
  138. package/dist/phases/statistics/methods/DensityStatistic.js +11 -9
  139. package/dist/phases/statistics/methods/DeviationStatistic.d.ts +8 -0
  140. package/dist/phases/statistics/methods/DeviationStatistic.js +111 -0
  141. package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +1 -1
  142. package/dist/phases/statistics/methods/MovingAverageStatistic.js +11 -9
  143. package/dist/phases/statistics/methods/RegressionStatistic.d.ts +1 -1
  144. package/dist/phases/statistics/methods/RegressionStatistic.js +16 -14
  145. package/dist/phases/tooltip/TooltipPhase.d.ts +4 -2
  146. package/dist/phases/tooltip/TooltipPhase.js +10 -3
  147. package/dist/phases/transforms/ProcessedPositions.d.ts +30 -0
  148. package/dist/phases/transforms/ProcessedPositions.js +74 -0
  149. package/dist/phases/transforms/TransformsPhase.d.ts +5 -42
  150. package/dist/phases/transforms/TransformsPhase.js +67 -58
  151. package/dist/phases/transforms/ValueSelection.d.ts +30 -0
  152. package/dist/phases/transforms/ValueSelection.js +53 -0
  153. package/dist/plots/{heatmap → correlation/heatmap}/Plot.svelte +5 -2
  154. package/dist/plots/{heatmap → correlation/heatmap}/Plot.svelte.d.ts +2 -2
  155. package/dist/plots/{heatmap → correlation/heatmap}/defaults.d.ts +2 -2
  156. package/dist/plots/{heatmap → correlation/heatmap}/defaults.js +5 -5
  157. package/dist/plots/{heatmap → correlation/heatmap}/markers.d.ts +4 -4
  158. package/dist/plots/{heatmap → correlation/heatmap}/markers.js +4 -3
  159. package/dist/plots/{scatter → correlation/scatter}/Plot.svelte +5 -2
  160. package/dist/plots/{scatter → correlation/scatter}/Plot.svelte.d.ts +2 -2
  161. package/dist/plots/{scatter → correlation/scatter}/defaults.d.ts +2 -2
  162. package/dist/plots/{scatter → correlation/scatter}/defaults.js +6 -5
  163. package/dist/plots/{scatter → correlation/scatter}/markers.d.ts +4 -4
  164. package/dist/plots/{scatter → correlation/scatter}/markers.js +5 -4
  165. package/dist/plots/distribution/box/BoxSummaries.d.ts +19 -0
  166. package/dist/plots/distribution/box/BoxSummaries.js +101 -0
  167. package/dist/plots/distribution/box/Plot.svelte +42 -0
  168. package/dist/plots/distribution/box/Plot.svelte.d.ts +26 -0
  169. package/dist/plots/distribution/box/defaults.d.ts +12 -0
  170. package/dist/plots/distribution/box/defaults.js +34 -0
  171. package/dist/plots/distribution/box/markers.d.ts +12 -0
  172. package/dist/plots/distribution/box/markers.js +34 -0
  173. package/dist/plots/distribution/density/Plot.svelte +45 -0
  174. package/dist/plots/distribution/density/Plot.svelte.d.ts +26 -0
  175. package/dist/plots/distribution/density/defaults.d.ts +9 -0
  176. package/dist/plots/distribution/density/defaults.js +29 -0
  177. package/dist/plots/distribution/density/markers.d.ts +9 -0
  178. package/dist/plots/distribution/density/markers.js +42 -0
  179. package/dist/plots/{histogram → distribution/histogram}/Plot.svelte +2 -2
  180. package/dist/plots/{histogram → distribution/histogram}/Plot.svelte.d.ts +2 -2
  181. package/dist/plots/{histogram → distribution/histogram}/defaults.d.ts +2 -2
  182. package/dist/plots/{histogram → distribution/histogram}/defaults.js +4 -4
  183. package/dist/plots/{histogram → distribution/histogram}/markers.d.ts +3 -3
  184. package/dist/plots/{histogram → distribution/histogram}/markers.js +7 -7
  185. package/dist/plots/{pyramid → distribution/pyramid}/Plot.svelte +5 -2
  186. package/dist/plots/{pyramid → distribution/pyramid}/Plot.svelte.d.ts +2 -2
  187. package/dist/plots/{pyramid → distribution/pyramid}/defaults.d.ts +2 -2
  188. package/dist/plots/{pyramid → distribution/pyramid}/defaults.js +7 -6
  189. package/dist/plots/{pyramid → distribution/pyramid}/markers.d.ts +4 -4
  190. package/dist/plots/{pyramid → distribution/pyramid}/markers.js +8 -11
  191. package/dist/plots/distribution/violin/Plot.svelte +45 -0
  192. package/dist/plots/distribution/violin/Plot.svelte.d.ts +26 -0
  193. package/dist/plots/distribution/violin/defaults.d.ts +10 -0
  194. package/dist/plots/distribution/violin/defaults.js +58 -0
  195. package/dist/plots/distribution/violin/markers.d.ts +10 -0
  196. package/dist/plots/distribution/violin/markers.js +71 -0
  197. package/dist/plots/{area → evolution/area}/Plot.svelte +2 -2
  198. package/dist/plots/{area → evolution/area}/Plot.svelte.d.ts +2 -2
  199. package/dist/plots/{area → evolution/area}/defaults.d.ts +2 -2
  200. package/dist/plots/{area → evolution/area}/defaults.js +2 -0
  201. package/dist/plots/{area → evolution/area}/markers.d.ts +2 -2
  202. package/dist/plots/{area → evolution/area}/markers.js +2 -3
  203. package/dist/plots/{line → evolution/line}/Plot.svelte +2 -2
  204. package/dist/plots/{line → evolution/line}/Plot.svelte.d.ts +2 -2
  205. package/dist/plots/{line → evolution/line}/defaults.d.ts +2 -2
  206. package/dist/plots/{line → evolution/line}/defaults.js +2 -0
  207. package/dist/plots/{line → evolution/line}/markers.d.ts +11 -8
  208. package/dist/plots/{line → evolution/line}/markers.js +7 -6
  209. package/dist/plots/evolution/slope/Plot.svelte +42 -0
  210. package/dist/plots/evolution/slope/Plot.svelte.d.ts +26 -0
  211. package/dist/plots/evolution/slope/defaults.d.ts +8 -0
  212. package/dist/plots/evolution/slope/defaults.js +31 -0
  213. package/dist/plots/evolution/slope/markers.d.ts +16 -0
  214. package/dist/plots/evolution/slope/markers.js +79 -0
  215. package/dist/plots/evolution/sparkline/Plot.svelte +45 -0
  216. package/dist/plots/evolution/sparkline/Plot.svelte.d.ts +26 -0
  217. package/dist/plots/evolution/sparkline/defaults.d.ts +7 -0
  218. package/dist/plots/evolution/sparkline/defaults.js +23 -0
  219. package/dist/plots/evolution/sparkline/markers.d.ts +7 -0
  220. package/dist/plots/evolution/sparkline/markers.js +56 -0
  221. package/dist/plots/{geo → map/geo}/Core.svelte +11 -10
  222. package/dist/plots/{geo → map/geo}/Core.svelte.d.ts +1 -1
  223. package/dist/plots/map/geo/GeoFeatures.svelte.d.ts +9 -0
  224. package/dist/plots/map/geo/GeoFeatures.svelte.js +55 -0
  225. package/dist/plots/map/geo/GeoGeometry.d.ts +27 -0
  226. package/dist/plots/map/geo/GeoGeometry.js +142 -0
  227. package/dist/plots/map/geo/GeoSegments.d.ts +16 -0
  228. package/dist/plots/map/geo/GeoSegments.js +23 -0
  229. package/dist/plots/{geo → map/geo}/Plot.svelte +10 -10
  230. package/dist/plots/{geo → map/geo}/Plot.svelte.d.ts +2 -2
  231. package/dist/plots/{geo → map/geo}/defaults.d.ts +2 -2
  232. package/dist/plots/{geo → map/geo}/defaults.js +1 -1
  233. package/dist/plots/{geo → map/geo}/phases/data.d.ts +1 -1
  234. package/dist/plots/{geo → map/geo}/phases/data.js +7 -6
  235. package/dist/plots/{geo → map/geo}/phases/hover.d.ts +1 -1
  236. package/dist/plots/{geo → map/geo}/phases/hover.js +5 -5
  237. package/dist/plots/{geo → map/geo}/phases/markers.d.ts +1 -1
  238. package/dist/plots/{geo → map/geo}/phases/markers.js +8 -13
  239. package/dist/plots/{geo → map/geo}/phases/scales.d.ts +2 -2
  240. package/dist/plots/{geo → map/geo}/phases/scales.js +28 -12
  241. package/dist/plots/{geo → map/geo}/phases/tooltip.d.ts +1 -1
  242. package/dist/plots/map/geo/phases/tooltip.js +5 -0
  243. package/dist/plots/{geo → map/geo}/slices.d.ts +2 -2
  244. package/dist/plots/{geo → map/geo}/slices.js +7 -4
  245. package/dist/plots/{bar → ranking/bar}/Plot.svelte +2 -2
  246. package/dist/plots/{bar → ranking/bar}/Plot.svelte.d.ts +2 -2
  247. package/dist/plots/ranking/bar/defaults.d.ts +16 -0
  248. package/dist/plots/{bar → ranking/bar}/defaults.js +17 -15
  249. package/dist/plots/{bar → ranking/bar}/markers.d.ts +8 -8
  250. package/dist/plots/{bar → ranking/bar}/markers.js +11 -19
  251. package/dist/plots/ranking/bullet/Plot.svelte +42 -0
  252. package/dist/plots/ranking/bullet/Plot.svelte.d.ts +26 -0
  253. package/dist/plots/ranking/bullet/defaults.d.ts +8 -0
  254. package/dist/plots/ranking/bullet/defaults.js +24 -0
  255. package/dist/plots/ranking/bullet/markers.d.ts +10 -0
  256. package/dist/plots/ranking/bullet/markers.js +90 -0
  257. package/dist/plots/ranking/cleveland/ClevelandConnector.d.ts +48 -0
  258. package/dist/plots/ranking/cleveland/ClevelandConnector.js +140 -0
  259. package/dist/plots/ranking/cleveland/ClevelandMarkers.d.ts +33 -0
  260. package/dist/plots/ranking/cleveland/ClevelandMarkers.js +375 -0
  261. package/dist/plots/ranking/cleveland/ClevelandRanges.d.ts +31 -0
  262. package/dist/plots/ranking/cleveland/ClevelandRanges.js +116 -0
  263. package/dist/plots/ranking/cleveland/Plot.svelte +45 -0
  264. package/dist/plots/ranking/cleveland/Plot.svelte.d.ts +26 -0
  265. package/dist/plots/ranking/cleveland/defaults.d.ts +13 -0
  266. package/dist/plots/ranking/cleveland/defaults.js +66 -0
  267. package/dist/plots/ranking/dumbbell/Plot.svelte +45 -0
  268. package/dist/plots/ranking/dumbbell/Plot.svelte.d.ts +26 -0
  269. package/dist/plots/ranking/dumbbell/defaults.d.ts +9 -0
  270. package/dist/plots/ranking/dumbbell/defaults.js +19 -0
  271. package/dist/plots/ranking/forest/Plot.svelte +42 -0
  272. package/dist/plots/ranking/forest/Plot.svelte.d.ts +26 -0
  273. package/dist/plots/ranking/forest/defaults.d.ts +11 -0
  274. package/dist/plots/ranking/forest/defaults.js +20 -0
  275. package/dist/plots/ranking/lollipop/Plot.svelte +45 -0
  276. package/dist/plots/ranking/lollipop/Plot.svelte.d.ts +26 -0
  277. package/dist/plots/ranking/lollipop/defaults.d.ts +9 -0
  278. package/dist/plots/ranking/lollipop/defaults.js +18 -0
  279. package/dist/plots/utils/RowNumbers.d.ts +16 -0
  280. package/dist/plots/utils/RowNumbers.js +24 -0
  281. package/dist/plots/utils/gaps.js +1 -1
  282. package/dist/plots/utils/segments.js +1 -1
  283. package/dist/types/configuration/styling.d.ts +287 -132
  284. package/dist/types/layout/composer.d.ts +5 -2
  285. package/dist/types/layout/coordinates.d.ts +5 -4
  286. package/dist/types/layout/legend.d.ts +21 -5
  287. package/dist/types/layout/plot.d.ts +44 -1
  288. package/dist/types/layout/scales.d.ts +51 -3
  289. package/dist/types/layout/statistics/deviation.d.ts +40 -0
  290. package/dist/types/layout/statistics/index.d.ts +7 -2
  291. package/dist/types/layout/styles/base.d.ts +18 -0
  292. package/dist/types/layout/styles/bullet.d.ts +25 -0
  293. package/dist/types/layout/styles/connector.d.ts +98 -0
  294. package/dist/types/layout/styles/curve.d.ts +11 -0
  295. package/dist/types/layout/styles/frame.d.ts +17 -0
  296. package/dist/types/layout/styles/gaps.d.ts +12 -0
  297. package/dist/types/layout/styles/geo.d.ts +55 -0
  298. package/dist/types/layout/styles/index.d.ts +8 -0
  299. package/dist/types/layout/styles/index.js +8 -0
  300. package/dist/types/layout/styles/values.d.ts +47 -0
  301. package/dist/types/layout/timeline.d.ts +19 -7
  302. package/dist/types/layout/tooltip.d.ts +6 -2
  303. package/dist/types/markers/axis/area.d.ts +2 -2
  304. package/dist/types/markers/axis/arrow.d.ts +3 -0
  305. package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +2 -1
  306. package/dist/types/markers/axis/bar.d.ts +1 -1
  307. package/dist/types/markers/axis/box.d.ts +5 -0
  308. package/dist/types/markers/axis/difference.d.ts +2 -2
  309. package/dist/types/markers/axis/image.d.ts +3 -2
  310. package/dist/types/markers/axis/line.d.ts +2 -0
  311. package/dist/types/markers/axis/rule.d.ts +9 -0
  312. package/dist/types/markers/axis/trail.d.ts +2 -3
  313. package/dist/types/markers/axis/violin.d.ts +25 -0
  314. package/dist/types/markers/basic/dot.d.ts +3 -2
  315. package/dist/types/markers/basic/text.d.ts +13 -3
  316. package/dist/types/markers/channels/commonMarkerConfig.d.ts +7 -3
  317. package/dist/types/markers/channels/commonMarkerConfigWithRowOffset.d.ts +13 -0
  318. package/dist/types/markers/common.d.ts +1 -1
  319. package/dist/types/markers/common.js +1 -0
  320. package/dist/types/markers/geo/link.d.ts +5 -1
  321. package/dist/types/phases/hover/phase.d.ts +6 -0
  322. package/dist/types/phases/index.d.ts +1 -1
  323. package/dist/types/phases/scales/phase.d.ts +5 -1
  324. package/dist/types/phases/state.d.ts +20 -4
  325. package/dist/types/phases/statistics/phase.d.ts +3 -1
  326. package/dist/types/phases/statistics/source.d.ts +3 -1
  327. package/dist/types/phases/transforms/phase.d.ts +32 -0
  328. package/dist/types/plots/{heatmap → correlation/heatmap}/props.d.ts +6 -6
  329. package/dist/types/plots/{heatmap → correlation/heatmap}/state.d.ts +4 -4
  330. package/dist/types/plots/{scatter → correlation/scatter}/props.d.ts +6 -6
  331. package/dist/types/plots/{scatter → correlation/scatter}/state.d.ts +2 -2
  332. package/dist/types/plots/distribution/box/props.d.ts +10 -0
  333. package/dist/types/plots/distribution/box/state.d.ts +23 -0
  334. package/dist/types/plots/distribution/density/props.d.ts +23 -0
  335. package/dist/types/plots/distribution/density/state.d.ts +6 -0
  336. package/dist/types/plots/distribution/density/state.js +1 -0
  337. package/dist/types/plots/{histogram → distribution/histogram}/props.d.ts +7 -7
  338. package/dist/types/plots/distribution/histogram/props.js +1 -0
  339. package/dist/types/plots/{histogram → distribution/histogram}/state.d.ts +2 -2
  340. package/dist/types/plots/distribution/histogram/state.js +1 -0
  341. package/dist/types/plots/{pyramid → distribution/pyramid}/props.d.ts +6 -6
  342. package/dist/types/plots/distribution/pyramid/props.js +1 -0
  343. package/dist/types/plots/{pyramid → distribution/pyramid}/state.d.ts +3 -3
  344. package/dist/types/plots/distribution/pyramid/state.js +1 -0
  345. package/dist/types/plots/distribution/violin/props.d.ts +23 -0
  346. package/dist/types/plots/distribution/violin/props.js +1 -0
  347. package/dist/types/plots/distribution/violin/state.d.ts +6 -0
  348. package/dist/types/plots/distribution/violin/state.js +1 -0
  349. package/dist/types/plots/{area → evolution/area}/props.d.ts +6 -6
  350. package/dist/types/plots/evolution/area/props.js +1 -0
  351. package/dist/types/plots/{area → evolution/area}/state.d.ts +2 -2
  352. package/dist/types/plots/evolution/area/state.js +1 -0
  353. package/dist/types/plots/evolution/line/props.d.ts +10 -0
  354. package/dist/types/plots/evolution/line/props.js +1 -0
  355. package/dist/types/plots/{line → evolution/line}/state.d.ts +3 -3
  356. package/dist/types/plots/evolution/line/state.js +1 -0
  357. package/dist/types/plots/evolution/slope/props.d.ts +5 -0
  358. package/dist/types/plots/evolution/slope/props.js +1 -0
  359. package/dist/types/plots/evolution/slope/state.d.ts +5 -0
  360. package/dist/types/plots/evolution/slope/state.js +1 -0
  361. package/dist/types/plots/evolution/sparkline/props.d.ts +5 -0
  362. package/dist/types/plots/evolution/sparkline/props.js +1 -0
  363. package/dist/types/plots/evolution/sparkline/state.d.ts +5 -0
  364. package/dist/types/plots/evolution/sparkline/state.js +1 -0
  365. package/dist/types/plots/{geo → map/geo}/props.d.ts +8 -8
  366. package/dist/types/plots/map/geo/props.js +1 -0
  367. package/dist/types/plots/{geo → map/geo}/state.d.ts +18 -11
  368. package/dist/types/plots/map/geo/state.js +1 -0
  369. package/dist/types/plots/props.d.ts +3 -1
  370. package/dist/types/plots/{bar → ranking/bar}/props.d.ts +6 -6
  371. package/dist/types/plots/ranking/bar/props.js +1 -0
  372. package/dist/types/plots/{bar → ranking/bar}/state.d.ts +2 -2
  373. package/dist/types/plots/ranking/bar/state.js +1 -0
  374. package/dist/types/plots/ranking/bullet/props.d.ts +22 -0
  375. package/dist/types/plots/ranking/bullet/props.js +1 -0
  376. package/dist/types/plots/ranking/bullet/state.d.ts +5 -0
  377. package/dist/types/plots/ranking/bullet/state.js +1 -0
  378. package/dist/types/plots/ranking/cleveland/props.d.ts +10 -0
  379. package/dist/types/plots/ranking/cleveland/props.js +1 -0
  380. package/dist/types/plots/ranking/cleveland/state.d.ts +49 -0
  381. package/dist/types/plots/ranking/cleveland/state.js +1 -0
  382. package/dist/types/plots/ranking/dumbbell/props.d.ts +10 -0
  383. package/dist/types/plots/ranking/dumbbell/props.js +1 -0
  384. package/dist/types/plots/ranking/dumbbell/state.d.ts +5 -0
  385. package/dist/types/plots/ranking/dumbbell/state.js +1 -0
  386. package/dist/types/plots/ranking/forest/props.d.ts +23 -0
  387. package/dist/types/plots/ranking/forest/props.js +1 -0
  388. package/dist/types/plots/ranking/forest/state.d.ts +5 -0
  389. package/dist/types/plots/ranking/forest/state.js +1 -0
  390. package/dist/types/plots/ranking/lollipop/props.d.ts +10 -0
  391. package/dist/types/plots/ranking/lollipop/props.js +1 -0
  392. package/dist/types/plots/ranking/lollipop/state.d.ts +5 -0
  393. package/dist/types/plots/ranking/lollipop/state.js +1 -0
  394. package/dist/types/plots/segments/common.d.ts +4 -1
  395. package/dist/utils/OpacityScale.d.ts +14 -0
  396. package/dist/utils/OpacityScale.js +43 -0
  397. package/dist/utils/{symbol.d.ts → SymbolPath.d.ts} +0 -12
  398. package/dist/utils/{symbol.js → SymbolPath.js} +0 -24
  399. package/dist/utils/SymbolScale.d.ts +18 -0
  400. package/dist/utils/SymbolScale.js +29 -0
  401. package/dist/utils/color/ColorRamp.d.ts +27 -0
  402. package/dist/utils/color/ColorRamp.js +120 -0
  403. package/dist/utils/color/CssColor.d.ts +19 -0
  404. package/dist/utils/color/CssColor.js +114 -0
  405. package/dist/utils/color/Palette.d.ts +21 -0
  406. package/dist/utils/color/Palette.js +52 -0
  407. package/dist/utils/color/index.d.ts +11 -3
  408. package/dist/utils/color/index.js +14 -3
  409. package/dist/utils/grouping.js +1 -1
  410. package/docs/architecture.md +1 -1
  411. package/docs/chrome.md +39 -8
  412. package/docs/composer.md +19 -3
  413. package/docs/concepts.md +1 -1
  414. package/docs/development.md +14 -5
  415. package/docs/facets.md +62 -8
  416. package/docs/getting-started.md +8 -9
  417. package/docs/legend.md +73 -24
  418. package/docs/markers.md +45 -32
  419. package/docs/plots/correlation/heatmap.md +26 -0
  420. package/docs/plots/correlation/scatter.md +35 -0
  421. package/docs/plots/distribution/box.md +28 -0
  422. package/docs/plots/distribution/density.md +26 -0
  423. package/docs/plots/distribution/histogram.md +33 -0
  424. package/docs/plots/distribution/pyramid.md +31 -0
  425. package/docs/plots/distribution/violin.md +35 -0
  426. package/docs/plots/evolution/area.md +32 -0
  427. package/docs/plots/evolution/line.md +93 -0
  428. package/docs/plots/evolution/slope.md +39 -0
  429. package/docs/plots/evolution/sparkline.md +34 -0
  430. package/docs/plots/ranking/bar.md +59 -0
  431. package/docs/plots/ranking/bullet.md +37 -0
  432. package/docs/plots/ranking/cleveland.md +54 -0
  433. package/docs/plots/ranking/dumbbell.md +39 -0
  434. package/docs/plots/ranking/forest.md +40 -0
  435. package/docs/plots/ranking/lollipop.md +39 -0
  436. package/docs/plots.md +22 -154
  437. package/docs/scales.md +50 -27
  438. package/docs/state.md +1 -1
  439. package/docs/styles-and-segments.md +96 -39
  440. package/docs/theming.md +33 -19
  441. package/docs/timeline.md +62 -28
  442. package/docs/tooltip-and-hover.md +72 -24
  443. package/docs/transforms-and-statistics.md +56 -25
  444. package/examples/BarValues.svelte +2 -2
  445. package/examples/Box.svelte +7 -0
  446. package/examples/Bullet.svelte +17 -0
  447. package/examples/Chrome.svelte +17 -0
  448. package/examples/ChromeOrder.svelte +18 -0
  449. package/examples/Cleveland.svelte +15 -0
  450. package/examples/Composer.svelte +23 -0
  451. package/examples/CustomTooltip.svelte +21 -14
  452. package/examples/Density.svelte +7 -0
  453. package/examples/Dumbbell.svelte +16 -0
  454. package/examples/Facets.svelte +3 -3
  455. package/examples/FacetsCarousel.svelte +14 -0
  456. package/examples/FacetsRowsCols.svelte +23 -0
  457. package/examples/FirstPlot.svelte +7 -0
  458. package/examples/Forest.svelte +17 -0
  459. package/examples/Gaps.svelte +21 -0
  460. package/examples/GroupedBars.svelte +15 -0
  461. package/examples/Heatmap.svelte +7 -0
  462. package/examples/HeatmapSegments.svelte +26 -0
  463. package/examples/Histogram.svelte +14 -0
  464. package/examples/HorizontalBars.svelte +15 -0
  465. package/examples/LegendSections.svelte +27 -0
  466. package/examples/LegendToggle.svelte +3 -3
  467. package/examples/LineByRegion.svelte +18 -0
  468. package/examples/LineDates.svelte +15 -0
  469. package/examples/LineStep.svelte +16 -0
  470. package/examples/LineStepSegment.svelte +18 -0
  471. package/examples/Lollipop.svelte +17 -0
  472. package/examples/Markers.svelte +27 -0
  473. package/examples/MovingAverage.svelte +15 -0
  474. package/examples/Pyramid.svelte +14 -0
  475. package/examples/Regression.svelte +14 -0
  476. package/examples/ResponsiveLine.svelte +7 -7
  477. package/examples/Scales.svelte +26 -0
  478. package/examples/Scatter.svelte +16 -0
  479. package/examples/SegmentHighlight.svelte +22 -0
  480. package/examples/Segments.svelte +11 -3
  481. package/examples/SegmentsBySeries.svelte +25 -0
  482. package/examples/Slope.svelte +17 -0
  483. package/examples/Sparkline.svelte +14 -0
  484. package/examples/StackedArea.svelte +16 -0
  485. package/examples/StackedBars.svelte +15 -0
  486. package/examples/TimelinePlayer.svelte +8 -7
  487. package/examples/TimelineRule.svelte +19 -0
  488. package/examples/Tooltip.svelte +3 -3
  489. package/examples/ValueLabels.svelte +21 -0
  490. package/examples/Violin.svelte +14 -0
  491. package/examples/datasets/argentina-chile-trends.ts +34 -0
  492. package/examples/datasets/commodity-prices.ts +48 -0
  493. package/examples/datasets/countries-over-time.ts +368 -0
  494. package/examples/datasets/daily-temperature.ts +121 -0
  495. package/examples/datasets/earthquakes.ts +977 -0
  496. package/examples/datasets/flight-routes.ts +29 -0
  497. package/examples/datasets/height-density.ts +37 -0
  498. package/examples/datasets/heights.ts +370 -0
  499. package/examples/datasets/index.ts +24 -0
  500. package/examples/datasets/inflation-by-region.ts +44 -0
  501. package/examples/datasets/inflation-ranges.ts +34 -0
  502. package/examples/datasets/iris-flower.ts +207 -0
  503. package/examples/datasets/life-expectancy.ts +95 -0
  504. package/examples/datasets/napoleons-march.ts +182 -0
  505. package/examples/datasets/penguins.ts +54 -0
  506. package/examples/datasets/population-by-age-with-gaps.ts +23 -0
  507. package/examples/datasets/population-by-age.ts +890 -0
  508. package/examples/datasets/province-population.ts +521 -0
  509. package/examples/datasets/stock-prices.ts +63 -0
  510. package/examples/datasets/weather-stations-over-time.ts +31 -0
  511. package/examples/datasets/weather-stations.ts +22 -0
  512. package/examples/datasets/wind-vectors.ts +30 -0
  513. package/examples/datasets/world-temperature.ts +400 -0
  514. package/llms-full.txt +51 -12
  515. package/llms.txt +60 -4
  516. package/package.json +12 -2
  517. package/dist/layout/scales/buildScale.d.ts +0 -8
  518. package/dist/layout/scales/buildScale.js +0 -67
  519. package/dist/layout/scales/niceDomain.d.ts +0 -23
  520. package/dist/layout/scales/niceDomain.js +0 -59
  521. package/dist/plots/bar/defaults.d.ts +0 -9
  522. package/dist/plots/geo/features.svelte.d.ts +0 -5
  523. package/dist/plots/geo/features.svelte.js +0 -44
  524. package/dist/plots/geo/phases/tooltip.js +0 -5
  525. package/dist/plots/utils/geoAccessors.d.ts +0 -72
  526. package/dist/plots/utils/geoAccessors.js +0 -220
  527. package/dist/plots/utils/geoSegments.d.ts +0 -29
  528. package/dist/plots/utils/geoSegments.js +0 -37
  529. package/dist/types/layout/styles.d.ts +0 -122
  530. package/dist/types/markers/axis/curveName.d.ts +0 -2
  531. package/dist/types/plots/line/props.d.ts +0 -10
  532. package/dist/utils/color/contrast.d.ts +0 -9
  533. package/dist/utils/color/contrast.js +0 -40
  534. package/dist/utils/color/cssColor.d.ts +0 -4
  535. package/dist/utils/color/cssColor.js +0 -77
  536. package/dist/utils/color/ramp.d.ts +0 -17
  537. package/dist/utils/color/ramp.js +0 -110
  538. package/dist/utils/opacity.d.ts +0 -9
  539. package/dist/utils/opacity.js +0 -38
  540. package/examples/data.ts +0 -12
  541. /package/dist/types/layout/{styles.js → statistics/deviation.js} +0 -0
  542. /package/dist/types/{markers/axis/curveName.js → layout/styles/base.js} +0 -0
  543. /package/dist/types/{plots/area/props.js → layout/styles/bullet.js} +0 -0
  544. /package/dist/types/{plots/area/state.js → layout/styles/connector.js} +0 -0
  545. /package/dist/types/{plots/bar/props.js → layout/styles/curve.js} +0 -0
  546. /package/dist/types/{plots/bar/state.js → layout/styles/frame.js} +0 -0
  547. /package/dist/types/{plots/geo/props.js → layout/styles/gaps.js} +0 -0
  548. /package/dist/types/{plots/geo/state.js → layout/styles/geo.js} +0 -0
  549. /package/dist/types/{plots/heatmap/props.js → layout/styles/values.js} +0 -0
  550. /package/dist/types/{plots/heatmap/state.js → markers/axis/violin.js} +0 -0
  551. /package/dist/types/{plots/histogram/props.js → markers/channels/commonMarkerConfigWithRowOffset.js} +0 -0
  552. /package/dist/types/plots/{line → correlation/heatmap}/props.js +0 -0
  553. /package/dist/types/plots/{histogram → correlation/heatmap}/state.js +0 -0
  554. /package/dist/types/plots/{pyramid → correlation/scatter}/props.js +0 -0
  555. /package/dist/types/plots/{line → correlation/scatter}/state.js +0 -0
  556. /package/dist/types/plots/{scatter → distribution/box}/props.js +0 -0
  557. /package/dist/types/plots/{pyramid → distribution/box}/state.js +0 -0
  558. /package/dist/types/plots/{scatter/state.js → distribution/density/props.js} +0 -0
  559. /package/dist/{plots/utils → utils}/accessors.d.ts +0 -0
  560. /package/dist/{plots/utils → utils}/accessors.js +0 -0
@@ -1,9 +1,9 @@
1
- import type { BasePlotProps, PlotCoreProps } from '../props';
2
- import type { AxisBasedScalesConfig } from '../../layout/scales';
3
- import type { AxisBasedMarkersConfig } from '../../markers/common';
4
- import type { SeriesProps, DataProps } from '../data/common';
5
- import type { GapsAwarePlotStylesConfig } from '../../layout/styles';
6
- import type { BarSegmentStyle } from '../segments/common';
1
+ import type { BasePlotProps, PlotCoreProps } from '../../props';
2
+ import type { AxisBasedScalesConfig } from '../../../layout/scales';
3
+ import type { AxisBasedMarkersConfig } from '../../../markers/common';
4
+ import type { SeriesProps, DataProps } from '../../data/common';
5
+ import type { GapsAwarePlotStylesConfig } from '../../../layout/styles';
6
+ import type { BarSegmentStyle } from '../../segments/common';
7
7
  /** `PyramidPlot`'s public props. */
8
8
  export type PyramidPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, GapsAwarePlotStylesConfig<BarSegmentStyle>, BarSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
9
9
  /** What `PyramidPlot`'s core draws from. */
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,6 @@
1
- import type { Series } from '../data/common';
2
- import type { BarSegmentStyle } from '../segments/common';
3
- import type { AxisPlotState, AxisPlotCtx } from '../../phases';
1
+ import type { Series } from '../../data/common';
2
+ import type { BarSegmentStyle } from '../../segments/common';
3
+ import type { AxisPlotState, AxisPlotCtx } from '../../../phases';
4
4
  export type PyramidSide = 'left' | 'right';
5
5
  /** A resolved series tagged with which side of the shared zero baseline it renders on. */
6
6
  export type PyramidSeries<TData extends Record<string, unknown>> = Series<TData> & {
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ import type { BasePlotProps, PlotCoreProps } from '../../props';
2
+ import type { AxisBasedScalesConfig } from '../../../layout/scales';
3
+ import type { AxisBasedMarkersConfig } from '../../../markers/common';
4
+ import type { SeriesProps, DataProps } from '../../data/common';
5
+ import type { AxisBasedStylesConfig } from '../../../layout/styles';
6
+ import type { AreaStyle } from '../../styling';
7
+ import type { DensityKernel } from '../../../transforms/density';
8
+ /** `styles` of `ViolinPlot`: how each category's density is estimated and drawn. */
9
+ export type ViolinPlotStylesConfig = AxisBasedStylesConfig & {
10
+ kernel?: DensityKernel;
11
+ /** Kernel bandwidth in data units; Silverman's rule picks one per violin when unset. */
12
+ bandwidth?: number;
13
+ /** Cuts each violin at its values' own extent. Defaults to `true`; `false` lets the tails fade out past it, which the value axis does not reach. */
14
+ trim?: boolean;
15
+ /** `'width'` gives every violin the same full width; `'shared'` draws all of them on one density scale, so their areas compare. Defaults to `'width'`. */
16
+ scale?: 'width' | 'shared';
17
+ /** The box inside each violin: `false` leaves it out, a number sets its width in pixels. */
18
+ box?: boolean | number;
19
+ };
20
+ /** `ViolinPlot`'s public props. */
21
+ export type ViolinPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, ViolinPlotStylesConfig, AreaStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
22
+ /** What `ViolinPlot`'s core draws from. */
23
+ export type ViolinPlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | DataProps<TData>, TData, ViolinPlotStylesConfig, AreaStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { AreaStyle } from '../../styling';
2
+ import type { AxisPlotState, AxisPlotCtx } from '../../../phases';
3
+ /** ViolinPlot's pipeline state: the shared axis-based state, with no extras of its own. */
4
+ export type ViolinPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, AreaStyle>;
5
+ /** The environment every ViolinPlot phase reads from, alongside the growing state. */
6
+ export type ViolinPlotCtx = AxisPlotCtx;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,9 +1,9 @@
1
- import type { BasePlotProps, PlotCoreProps } from '../props';
2
- import type { AxisBasedScalesConfig } from '../../layout/scales';
3
- import type { AxisBasedMarkersConfig } from '../../markers/common';
4
- import type { SeriesProps, DataProps } from '../data/common';
5
- import type { AxisBasedStylesConfig } from '../../layout/styles';
6
- import type { AreaStyle } from '../styling';
1
+ import type { BasePlotProps, PlotCoreProps } from '../../props';
2
+ import type { AxisBasedScalesConfig } from '../../../layout/scales';
3
+ import type { AxisBasedMarkersConfig } from '../../../markers/common';
4
+ import type { SeriesProps, DataProps } from '../../data/common';
5
+ import type { AxisBasedStylesConfig } from '../../../layout/styles';
6
+ import type { AreaStyle } from '../../styling';
7
7
  /** `AreaPlot`'s public props. */
8
8
  export type AreaPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, AreaStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
9
9
  /** What `AreaPlot`'s core draws from. */
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
- import type { AreaStyle } from '../styling';
2
- import type { AxisPlotState, AxisPlotCtx } from '../../phases';
1
+ import type { AreaStyle } from '../../styling';
2
+ import type { AxisPlotState, AxisPlotCtx } from '../../../phases';
3
3
  /** AreaPlot's pipeline state: the shared axis-based state, with no extras of its own. */
4
4
  export type AreaPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, AreaStyle>;
5
5
  /** The environment every AreaPlot phase reads from, alongside the growing state. */
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { BasePlotProps, PlotCoreProps } from '../../props';
2
+ import type { AxisBasedScalesConfig } from '../../../layout/scales';
3
+ import type { AxisBasedMarkersConfig } from '../../../markers/common';
4
+ import type { SeriesProps, DataProps } from '../../data/common';
5
+ import type { CurveAwarePlotStylesConfig, GapsAwarePlotStylesConfig } from '../../../layout/styles';
6
+ import type { LineSegmentStyle } from '../../segments/common';
7
+ /** `LinePlot`'s public props. */
8
+ export type LinePlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, GapsAwarePlotStylesConfig<LineSegmentStyle> & CurveAwarePlotStylesConfig, LineSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
9
+ /** What `LinePlot`'s core draws from. */
10
+ export type LinePlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | DataProps<TData>, TData, GapsAwarePlotStylesConfig<LineSegmentStyle> & CurveAwarePlotStylesConfig, LineSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,6 @@
1
- import type { GapsConfig } from '../gaps';
2
- import type { LineSegmentStyle } from '../segments/common';
3
- import type { AxisPlotState, AxisPlotCtx } from '../../phases';
1
+ import type { GapsConfig } from '../../gaps';
2
+ import type { LineSegmentStyle } from '../../segments/common';
3
+ import type { AxisPlotState, AxisPlotCtx } from '../../../phases';
4
4
  /** LinePlot's pipeline state: the shared axis-based state plus its gaps. */
5
5
  export type LinePlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, LineSegmentStyle> & {
6
6
  gaps?: GapsConfig<LineSegmentStyle>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { LinePlotProps, LinePlotCoreProps } from '../line/props';
2
+ /** `SlopePlot`'s public props: a line plot's, over a category axis of two positions. */
3
+ export type SlopePlotProps<TData extends Record<string, unknown>> = LinePlotProps<TData>;
4
+ /** What `SlopePlot`'s core draws from. */
5
+ export type SlopePlotCoreProps<TData extends Record<string, unknown>> = LinePlotCoreProps<TData>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { LinePlotState, LinePlotCtx } from '../line/state';
2
+ /** SlopePlot's pipeline state: a LinePlot's. */
3
+ export type SlopePlotState<TData extends Record<string, unknown>> = LinePlotState<TData>;
4
+ /** The environment every SlopePlot phase reads from, alongside the growing state. */
5
+ export type SlopePlotCtx = LinePlotCtx;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { LinePlotProps, LinePlotCoreProps } from '../line/props';
2
+ /** `SparklinePlot`'s public props: a line plot's. */
3
+ export type SparklinePlotProps<TData extends Record<string, unknown>> = LinePlotProps<TData>;
4
+ /** What `SparklinePlot`'s core draws from. */
5
+ export type SparklinePlotCoreProps<TData extends Record<string, unknown>> = LinePlotCoreProps<TData>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { LinePlotState, LinePlotCtx } from '../line/state';
2
+ /** SparklinePlot's pipeline state: a LinePlot's. */
3
+ export type SparklinePlotState<TData extends Record<string, unknown>> = LinePlotState<TData>;
4
+ /** The environment every SparklinePlot phase reads from, alongside the growing state. */
5
+ export type SparklinePlotCtx = LinePlotCtx;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,11 +1,11 @@
1
- import type { BasePlotProps, PlotCoreProps } from '../props';
2
- import type { GeoScalesConfig, CoordinatesConfig } from '../../layout/coordinates';
3
- import type { GeoFeature, GeoDataProps } from '../data/geo';
4
- import type { GeoStylesConfig } from '../../layout/styles';
5
- import type { GeoSegmentStyle } from '../segments/common';
6
- import type { GeoMarkersConfig } from '../../markers/geo';
7
- import type { TimelineConfig } from '../../layout/timeline';
8
- import type { FacetConfig } from '../../layout/facet';
1
+ import type { BasePlotProps, PlotCoreProps } from '../../props';
2
+ import type { GeoScalesConfig, CoordinatesConfig } from '../../../layout/coordinates';
3
+ import type { GeoFeature, GeoDataProps } from '../../data/geo';
4
+ import type { GeoStylesConfig } from '../../../layout/styles';
5
+ import type { GeoSegmentStyle } from '../../segments/common';
6
+ import type { GeoMarkersConfig } from '../../../markers/geo';
7
+ import type { TimelineConfig } from '../../../layout/timeline';
8
+ import type { FacetConfig } from '../../../layout/facet';
9
9
  /** `Omit` on each member of a union, so the union (and what tells its members apart) survives. */
10
10
  type OmitEach<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
11
11
  /**
@@ -0,0 +1 @@
1
+ export {};
@@ -1,14 +1,15 @@
1
- import type { Accessor } from '../data/common';
2
- import type { GeoFeature } from '../data/geo';
3
- import type { GeoScalesConfig } from '../../layout/coordinates';
4
- import type { SegmentsConfig, MarginConfig, HoverConfig } from '../props';
5
- import type { HoverPosition } from '../../phases';
6
- import type { TooltipProp } from '../../layout/tooltip';
7
- import type { GeoSegmentStyle } from '../segments/common';
8
- import type { GeoMarkersConfig } from '../../markers/geo';
9
- import type { MarkerConfig } from '../../markers/all';
10
- import type { PlotStylesConfig } from '../../configuration/styling';
11
- import type { LegendDisabledStyle } from '../../layout/legend';
1
+ import type { Accessor } from '../../data/common';
2
+ import type { GeoFeature } from '../../data/geo';
3
+ import type { ColorScaleConfig } from '../../../layout/scales';
4
+ import type { GeoScalesConfig } from '../../../layout/coordinates';
5
+ import type { SegmentsConfig, MarginConfig, HoverConfig } from '../../props';
6
+ import type { HoverPosition } from '../../../phases';
7
+ import type { TooltipProp } from '../../../layout/tooltip';
8
+ import type { GeoSegmentStyle } from '../../segments/common';
9
+ import type { GeoMarkersConfig } from '../../../markers/geo';
10
+ import type { MarkerConfig } from '../../../markers/all';
11
+ import type { PlotStylesConfig } from '../../../configuration/styling';
12
+ import type { LegendDisabledStyle } from '../../../layout/legend';
12
13
  /** One feature tagged with its resolved id/centroid as plain fields. */
13
14
  export type TaggedGeoFeature<TProps extends Record<string, unknown>> = GeoFeature<TProps> & {
14
15
  __id: string;
@@ -56,6 +57,12 @@ export type GeoPlotState<TProps extends Record<string, unknown>> = {
56
57
  features?: TaggedGeoFeature<TProps>[];
57
58
  /** "scales" phase output: the `[min, max]` the color ramp spans, before any legend range narrows it - `undefined` without a `color`. */
58
59
  colorDomain?: [number, number];
60
+ /** "scales" phase output: the ramp of each segment that sets its own `scales.color`, over just its own features. */
61
+ colorRamps?: {
62
+ name: string;
63
+ domain: [number, number];
64
+ scale: ColorScaleConfig;
65
+ }[];
59
66
  /** "scales" phase output: the `[min, max]` of the `opacity` values - `undefined` without an `opacity`. */
60
67
  opacityDomain?: [number, number];
61
68
  /** "scales" phase output: each feature's own resolved color, composed from `color` and the color ramp - `undefined` where `color` itself is unset/returns nothing. */
@@ -0,0 +1 @@
1
+ export {};
@@ -48,8 +48,10 @@ export type HoverConfig<TRow extends Record<string, unknown>> = {
48
48
  strategy?: HoverStrategy;
49
49
  /** Resolved sync flag for the *local* hover store (ignored once a shared store is in scope). */
50
50
  sync?: boolean;
51
+ /** The resolved tooltip: its `format`, and the order its text reads the rows in (a `content` snippet gets them as matched). */
51
52
  tooltip?: TooltipConfig<TRow> & {
52
53
  format: (row: TRow) => string;
54
+ sort?: (a: TRow, b: TRow) => number;
53
55
  };
54
56
  /** When it returns `true`, that pointer event is treated as a leave instead of a move - lets a nested layout opt part of the plot out of hover matching. */
55
57
  exclude?: (e: PointerEvent) => boolean;
@@ -93,7 +95,7 @@ export type PlotChromeConfig = {
93
95
  * The figure's legend: unset or `true`, the one its plots read as - their
94
96
  * series, scales, and the segments and markers that name themselves; `false`,
95
97
  * none; a list of sections, exactly those; `{ items, sections }`, the
96
- * automatic one with those added, and `{ series, color, opacity, size,
98
+ * automatic one with those added, and `{ series, color, opacity, r,
97
99
  * symbol }`, with the section of each channel adjusted (see {@link LegendExtension}).
98
100
  */
99
101
  legend?: LegendSection[] | LegendExtension | boolean;
@@ -1,9 +1,9 @@
1
- import type { BasePlotProps, PlotCoreProps } from '../props';
2
- import type { AxisBasedScalesConfig } from '../../layout/scales';
3
- import type { AxisBasedMarkersConfig } from '../../markers/common';
4
- import type { SeriesProps, DataProps } from '../data/common';
5
- import type { GapsAwarePlotStylesConfig } from '../../layout/styles';
6
- import type { BarSegmentStyle } from '../segments/common';
1
+ import type { BasePlotProps, PlotCoreProps } from '../../props';
2
+ import type { AxisBasedScalesConfig } from '../../../layout/scales';
3
+ import type { AxisBasedMarkersConfig } from '../../../markers/common';
4
+ import type { SeriesProps, DataProps } from '../../data/common';
5
+ import type { GapsAwarePlotStylesConfig } from '../../../layout/styles';
6
+ import type { BarSegmentStyle } from '../../segments/common';
7
7
  /** `BarPlot`'s public props. */
8
8
  export type BarPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, GapsAwarePlotStylesConfig<BarSegmentStyle>, BarSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
9
9
  /** What `BarPlot`'s core draws from. */
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
- import type { AxisPlotState, AxisPlotCtx } from '../../phases';
2
- import type { BarSegmentStyle } from '../segments/common';
1
+ import type { AxisPlotState, AxisPlotCtx } from '../../../phases';
2
+ import type { BarSegmentStyle } from '../../segments/common';
3
3
  /** BarPlot's pipeline state: the shared axis-based state. */
4
4
  export type BarPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, BarSegmentStyle>;
5
5
  /** The environment every BarPlot phase reads from, alongside the growing state. */
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ import type { BulletStylesConfig } from '../../../layout/styles';
2
+ import type { BarPlotProps, BarPlotCoreProps } from '../bar/props';
3
+ import type { Accessor } from '../../data/common';
4
+ /**
5
+ * What a bullet plot measures each category against: a `target`, and the
6
+ * `ranges` that grade the value. Each is a field of the row, a function of
7
+ * it, or a number the same for every category.
8
+ */
9
+ export type BulletReferenceProps<TData extends Record<string, unknown>> = {
10
+ /** Where the value should get to: a tick across the category's band at this value. */
11
+ target?: Accessor<TData, number> | number;
12
+ /** The upper bounds of the bands that grade the value, in any order: each runs from the baseline to its bound, the smallest band darkest. */
13
+ ranges?: (Accessor<TData, number> | number)[];
14
+ };
15
+ /** `BulletPlot`'s public props: a bar plot with a target and ranges. */
16
+ export type BulletPlotProps<TData extends Record<string, unknown>> = Omit<BarPlotProps<TData>, 'styles'> & BulletReferenceProps<TData> & {
17
+ styles?: BulletStylesConfig;
18
+ };
19
+ /** What `BulletPlot`'s core draws from. */
20
+ export type BulletPlotCoreProps<TData extends Record<string, unknown>> = Omit<BarPlotCoreProps<TData>, 'styles'> & BulletReferenceProps<TData> & {
21
+ styles?: BulletStylesConfig;
22
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { BarPlotState, BarPlotCtx } from '../bar/state';
2
+ /** BulletPlot's pipeline state: a bar plot's, which already carries the `target` and `ranges` it measures against. */
3
+ export type BulletPlotState<TData extends Record<string, unknown>> = BarPlotState<TData>;
4
+ /** The environment every BulletPlot phase reads from. */
5
+ export type BulletPlotCtx = BarPlotCtx;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { BasePlotProps, PlotCoreProps } from '../../props';
2
+ import type { AxisBasedScalesConfig } from '../../../layout/scales';
3
+ import type { AxisBasedMarkersConfig } from '../../../markers/common';
4
+ import type { SeriesProps, DataProps } from '../../data/common';
5
+ import type { ConnectorBasedStylesConfig } from '../../../layout/styles';
6
+ import type { LineSegmentStyle } from '../../segments/common';
7
+ /** `ClevelandPlot`'s public props. */
8
+ export type ClevelandPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, ConnectorBasedStylesConfig, LineSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
9
+ /** What `ClevelandPlot`'s core draws from. */
10
+ export type ClevelandPlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | DataProps<TData>, TData, ConnectorBasedStylesConfig, LineSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,49 @@
1
+ import type { AxisPlotState, AxisPlotCtx, ProcessedRow } from '../../../phases';
2
+ import type { LineSegmentStyle } from '../../segments/common';
3
+ /** ClevelandPlot's pipeline state (shared by its wrappers): the shared axis-based state, with no extras of its own. */
4
+ export type ClevelandPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, LineSegmentStyle>;
5
+ /** The environment every ClevelandPlot phase reads from, alongside the growing state. */
6
+ export type ClevelandPlotCtx = AxisPlotCtx;
7
+ /** The configuration blocks the Cleveland-style plots draw their defaults from: one per plot. */
8
+ export type ClevelandConfigKey = 'lollipop' | 'dumbbell' | 'cleveland' | 'forest';
9
+ /** One category's dots along the value axis: the row each one draws, and the range they span. */
10
+ export type ClevelandEntry = {
11
+ category: unknown;
12
+ dots: {
13
+ row: ProcessedRow;
14
+ value: number;
15
+ series: string;
16
+ }[];
17
+ /** The smallest value of the category - or the baseline, when that is lower and counts as an end. */
18
+ from: number;
19
+ /** The largest value of the category - or the baseline, when that is higher and counts as an end. */
20
+ to: number;
21
+ /** The `to` series' value minus the `from` series' (the value minus the baseline, for a stem) - `undefined` when either has none. */
22
+ difference: number | undefined;
23
+ /** The stretch between the `from` series' dot and the `to` series' - lowest value first - `undefined` when either has none. With a baseline, the whole range. */
24
+ span: [number, number] | undefined;
25
+ /** Where the difference goes, from the `from` end to the `to` end - not sorted: an arrow's way. `undefined` when either end has no value. */
26
+ change: [number, number] | undefined;
27
+ };
28
+ /** Where a dot sits in its category's range: at the top end, at the bottom end, or between them. */
29
+ export type ClevelandRole = 'max' | 'min' | 'between';
30
+ /** What a wrapper plot checks about the layout of its series before drawing. */
31
+ export type ClevelandLayout = {
32
+ /** How many series the plot draws. */
33
+ seriesCount: number;
34
+ /** The most series any one category has a value in. */
35
+ maxSeriesPerCategory: number;
36
+ };
37
+ /** How a plot of the Cleveland family is set apart from its siblings. */
38
+ export type ClevelandOptions = {
39
+ /** Name the plot's warnings go under, such as `'DumbbellPlot'`. */
40
+ name: string;
41
+ /** The configuration block the plot reads its dot radius, stem width, padding and label gap from. */
42
+ config: ClevelandConfigKey;
43
+ /** Whether the baseline counts as one end of every range, so a lone value is a stem rising from it (`true`), or the range is only what the values span. */
44
+ fromBaseline?: boolean;
45
+ /** Whether each dot stands for an interval - its row's `lower` and `upper`, or `error` around it - which its connector spans, instead of the dots of its category. */
46
+ interval?: boolean;
47
+ /** What is wrong with the series layout, if anything: the plot warns once and draws anyway. */
48
+ validate?: (layout: ClevelandLayout) => string | undefined;
49
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { BasePlotProps, PlotCoreProps } from '../../props';
2
+ import type { AxisBasedScalesConfig } from '../../../layout/scales';
3
+ import type { AxisBasedMarkersConfig } from '../../../markers/common';
4
+ import type { SeriesProps, DataProps } from '../../data/common';
5
+ import type { ConnectorBasedStylesConfig } from '../../../layout/styles';
6
+ import type { LineSegmentStyle } from '../../segments/common';
7
+ /** `DumbbellPlot`'s public props. */
8
+ export type DumbbellPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, ConnectorBasedStylesConfig, LineSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
9
+ /** What `DumbbellPlot`'s core draws from. */
10
+ export type DumbbellPlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | DataProps<TData>, TData, ConnectorBasedStylesConfig, LineSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { ClevelandPlotState, ClevelandPlotCtx } from '../cleveland/state';
2
+ /** DumbbellPlot's pipeline state: a ClevelandPlot's. */
3
+ export type DumbbellPlotState<TData extends Record<string, unknown>> = ClevelandPlotState<TData>;
4
+ /** The environment every DumbbellPlot phase reads from, alongside the growing state. */
5
+ export type DumbbellPlotCtx = ClevelandPlotCtx;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ import type { BasePlotProps, PlotCoreProps } from '../../props';
2
+ import type { AxisBasedScalesConfig } from '../../../layout/scales';
3
+ import type { AxisBasedMarkersConfig } from '../../../markers/common';
4
+ import type { SeriesProps, DataProps, Accessor } from '../../data/common';
5
+ import type { ConnectorBasedStylesConfig } from '../../../layout/styles';
6
+ import type { LineSegmentStyle } from '../../segments/common';
7
+ /**
8
+ * The interval each point stands for, as fields of its row (or functions of
9
+ * it): its `lower` and `upper` ends, or an `error` that reaches that far either
10
+ * side of it. A point with none of them draws as a dot alone.
11
+ */
12
+ export type ForestIntervalProps<TData extends Record<string, unknown>> = {
13
+ /** The lower end of each row's interval. */
14
+ lower?: Accessor<TData, number>;
15
+ /** The upper end of each row's interval. */
16
+ upper?: Accessor<TData, number>;
17
+ /** The half-width of each row's interval: it reaches `error` below and above its value. `lower` and `upper` win where they are set. */
18
+ error?: Accessor<TData, number>;
19
+ };
20
+ /** `ForestPlot`'s public props. */
21
+ export type ForestPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, ConnectorBasedStylesConfig, LineSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>> & ForestIntervalProps<TData>;
22
+ /** What `ForestPlot`'s core draws from. */
23
+ export type ForestPlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | DataProps<TData>, TData, ConnectorBasedStylesConfig, LineSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>> & ForestIntervalProps<TData>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { ClevelandPlotState, ClevelandPlotCtx } from '../cleveland/state';
2
+ /** ForestPlot's pipeline state: a ClevelandPlot's. */
3
+ export type ForestPlotState<TData extends Record<string, unknown>> = ClevelandPlotState<TData>;
4
+ /** The environment every ForestPlot phase reads from, alongside the growing state. */
5
+ export type ForestPlotCtx = ClevelandPlotCtx;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { BasePlotProps, PlotCoreProps } from '../../props';
2
+ import type { AxisBasedScalesConfig } from '../../../layout/scales';
3
+ import type { AxisBasedMarkersConfig } from '../../../markers/common';
4
+ import type { SeriesProps, DataProps } from '../../data/common';
5
+ import type { ConnectorBasedStylesConfig } from '../../../layout/styles';
6
+ import type { LineSegmentStyle } from '../../segments/common';
7
+ /** `LollipopPlot`'s public props. */
8
+ export type LollipopPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, ConnectorBasedStylesConfig, LineSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
9
+ /** What `LollipopPlot`'s core draws from. */
10
+ export type LollipopPlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | DataProps<TData>, TData, ConnectorBasedStylesConfig, LineSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { ClevelandPlotState, ClevelandPlotCtx } from '../cleveland/state';
2
+ /** LollipopPlot's pipeline state: a ClevelandPlot's. */
3
+ export type LollipopPlotState<TData extends Record<string, unknown>> = ClevelandPlotState<TData>;
4
+ /** The environment every LollipopPlot phase reads from, alongside the growing state. */
5
+ export type LollipopPlotCtx = ClevelandPlotCtx;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,9 @@
1
1
  import type { StrokeStyle, DotStyle, AreaStyle } from '../styling';
2
- /** Per-segment styling for a line: its stroke and/or its endpoint dots. */
2
+ import type { CurveName } from '../../layout/styles/curve';
3
+ /** Per-segment styling for a line: its curve, its stroke and/or its endpoint dots. */
3
4
  export type LineSegmentStyle = {
5
+ /** How the segment joins its points; `'step'` and its kin draw stairs. Falls back to `styles.curve`, then `'linear'`. */
6
+ curve?: CurveName;
4
7
  stroke?: StrokeStyle;
5
8
  dots?: DotStyle;
6
9
  };
@@ -0,0 +1,14 @@
1
+ import type { OpacityScaleConfig } from '../types/layout/scales';
2
+ /** A value of the opacity channel mapped to an opacity. */
3
+ export declare class OpacityScale {
4
+ /**
5
+ * Resolves an {@link OpacityScaleConfig} into a `value => opacity` function -
6
+ * mirrors {@link ColorRamp.resolve}'s shape, but the output is always a number in
7
+ * roughly `[0,1]` instead of a CSS color string. Callers must apply the
8
+ * result as a literal constant per mark instance (never a per-row function
9
+ * handed straight to svelteplot) - see the type's own doc comment for why.
10
+ */
11
+ static resolve(config: OpacityScaleConfig | undefined, computedDomain: [number, number] | string[] | undefined, defaultRange: [number, number]): (value: unknown) => number;
12
+ }
13
+ /** The package's public function name, over {@link OpacityScale.resolve}. */
14
+ export declare const resolveOpacityScale: typeof OpacityScale.resolve;
@@ -0,0 +1,43 @@
1
+ import { ColorRamp } from './color';
2
+ /** A value of the opacity channel mapped to an opacity. */
3
+ export class OpacityScale {
4
+ /**
5
+ * Resolves an {@link OpacityScaleConfig} into a `value => opacity` function -
6
+ * mirrors {@link ColorRamp.resolve}'s shape, but the output is always a number in
7
+ * roughly `[0,1]` instead of a CSS color string. Callers must apply the
8
+ * result as a literal constant per mark instance (never a per-row function
9
+ * handed straight to svelteplot) - see the type's own doc comment for why.
10
+ */
11
+ static resolve(config, computedDomain, defaultRange) {
12
+ const domain = config?.domain ?? computedDomain;
13
+ const range = config?.range ?? defaultRange;
14
+ const unknown = config?.unknown ?? 1;
15
+ if (!domain || domain.length === 0)
16
+ return () => unknown;
17
+ if (typeof range === 'object' && !Array.isArray(range)) {
18
+ return (v) => (v == null ? unknown : (range[String(v)] ?? unknown));
19
+ }
20
+ if (typeof domain[0] === 'string') {
21
+ const categories = domain;
22
+ const [lo, hi] = range;
23
+ return (v) => {
24
+ if (v == null)
25
+ return unknown;
26
+ const idx = categories.indexOf(String(v));
27
+ if (idx < 0)
28
+ return unknown;
29
+ return categories.length > 1 ? lo + ((hi - lo) * idx) / (categories.length - 1) : lo;
30
+ };
31
+ }
32
+ const [dLo, dHi] = domain;
33
+ const [rLo, rHi] = range;
34
+ return (v) => {
35
+ if (v == null)
36
+ return unknown;
37
+ const t = ColorRamp.normalize(Number(v), dLo, dHi);
38
+ return rLo + (rHi - rLo) * t;
39
+ };
40
+ }
41
+ }
42
+ /** The package's public function name, over {@link OpacityScale.resolve}. */
43
+ export const resolveOpacityScale = OpacityScale.resolve;
@@ -1,16 +1,4 @@
1
- import type { SymbolScaleConfig } from '../types/layout/scales';
2
1
  import type { SymbolType } from '../types/plots/constants';
3
- /**
4
- * Resolves a {@link SymbolScaleConfig} into a `value => shape` function -
5
- * always a discrete category lookup, unlike every other channel here (there's
6
- * no continuous case for a shape). Resolves to a plain shape-name string,
7
- * which svelteplot recognizes as a literal and renders as-is - safe to hand
8
- * straight to a per-row accessor, unlike `resolveOpacityScale`'s output.
9
- * `defaultRange` mirrors `resolveOpacityScale`'s own required (not defaulted)
10
- * parameter - callers pass the theme's own `cfg.symbols` rather than this
11
- * module hardcoding a second copy of the default cycle.
12
- */
13
- export declare function resolveSymbolScale(config: SymbolScaleConfig | undefined, computedDomain: string[] | undefined, defaultRange: SymbolType[]): (value: unknown) => SymbolType;
14
2
  /**
15
3
  * A symbol's SVG path, as svelteplot's `dot` mark draws it: the same
16
4
  * d3-shape symbol, sized to the area of a circle of the given radius.