@sophistry/charts 0.0.0-stage → 0.0.1

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 (427) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +32 -2
  3. package/dist/3d/bar-chart3d.d.ts +56 -0
  4. package/dist/3d/bar-chart3d.d.ts.map +1 -0
  5. package/dist/3d/definitions.d.ts +38 -0
  6. package/dist/3d/definitions.d.ts.map +1 -0
  7. package/dist/3d/definitions.js +14 -0
  8. package/dist/3d/forward.d.ts +65 -0
  9. package/dist/3d/forward.d.ts.map +1 -0
  10. package/dist/3d/index.d.ts +31 -0
  11. package/dist/3d/index.d.ts.map +1 -0
  12. package/dist/3d/index.js +1 -0
  13. package/dist/3d/quiver3d.d.ts +53 -0
  14. package/dist/3d/quiver3d.d.ts.map +1 -0
  15. package/dist/3d/scatter3d.d.ts +45 -0
  16. package/dist/3d/scatter3d.d.ts.map +1 -0
  17. package/dist/3d/stem3d.d.ts +46 -0
  18. package/dist/3d/stem3d.d.ts.map +1 -0
  19. package/dist/3d/surface-grid3d.d.ts +34 -0
  20. package/dist/3d/surface-grid3d.d.ts.map +1 -0
  21. package/dist/3d/tri-surface3d.d.ts +46 -0
  22. package/dist/3d/tri-surface3d.d.ts.map +1 -0
  23. package/dist/3d/voxels3d.d.ts +26 -0
  24. package/dist/3d/voxels3d.d.ts.map +1 -0
  25. package/dist/3d/wireframe3d.d.ts +31 -0
  26. package/dist/3d/wireframe3d.d.ts.map +1 -0
  27. package/dist/band.d.ts +21 -0
  28. package/dist/band.d.ts.map +1 -0
  29. package/dist/bars/bar-chart.d.ts +144 -0
  30. package/dist/bars/bar-chart.d.ts.map +1 -0
  31. package/dist/bars/bar-labels.d.ts +117 -0
  32. package/dist/bars/bar-labels.d.ts.map +1 -0
  33. package/dist/bars/bars.d.ts +224 -0
  34. package/dist/bars/bars.d.ts.map +1 -0
  35. package/dist/bars/bullet.d.ts +158 -0
  36. package/dist/bars/bullet.d.ts.map +1 -0
  37. package/dist/bars/candlestick.d.ts +98 -0
  38. package/dist/bars/candlestick.d.ts.map +1 -0
  39. package/dist/bars/funnel.d.ts +91 -0
  40. package/dist/bars/funnel.d.ts.map +1 -0
  41. package/dist/bars/histogram.d.ts +109 -0
  42. package/dist/bars/histogram.d.ts.map +1 -0
  43. package/dist/bars/index.d.ts +23 -0
  44. package/dist/bars/index.d.ts.map +1 -0
  45. package/dist/bars/race.d.ts +29 -0
  46. package/dist/bars/race.d.ts.map +1 -0
  47. package/dist/bars/rules.d.ts +122 -0
  48. package/dist/bars/rules.d.ts.map +1 -0
  49. package/dist/bars/shared.d.ts +42 -0
  50. package/dist/bars/shared.d.ts.map +1 -0
  51. package/dist/bars/transforms.d.ts +250 -0
  52. package/dist/bars/transforms.d.ts.map +1 -0
  53. package/dist/bars/waterfall.d.ts +107 -0
  54. package/dist/bars/waterfall.d.ts.map +1 -0
  55. package/dist/batch.d.ts +143 -0
  56. package/dist/batch.d.ts.map +1 -0
  57. package/dist/channels-_Xf-p6Lx.js +56 -0
  58. package/dist/chart.d.ts +88 -0
  59. package/dist/chart.d.ts.map +1 -0
  60. package/dist/color-norm.d.ts +91 -0
  61. package/dist/color-norm.d.ts.map +1 -0
  62. package/dist/context.d.ts +112 -0
  63. package/dist/context.d.ts.map +1 -0
  64. package/dist/curves/density.d.ts +126 -0
  65. package/dist/curves/density.d.ts.map +1 -0
  66. package/dist/curves/ecdf.d.ts +73 -0
  67. package/dist/curves/ecdf.d.ts.map +1 -0
  68. package/dist/curves/fill-between.d.ts +101 -0
  69. package/dist/curves/fill-between.d.ts.map +1 -0
  70. package/dist/curves/index.d.ts +16 -0
  71. package/dist/curves/index.d.ts.map +1 -0
  72. package/dist/curves/line-plot.d.ts +105 -0
  73. package/dist/curves/line-plot.d.ts.map +1 -0
  74. package/dist/curves/regression.d.ts +125 -0
  75. package/dist/curves/regression.d.ts.map +1 -0
  76. package/dist/curves/shared.d.ts +53 -0
  77. package/dist/curves/shared.d.ts.map +1 -0
  78. package/dist/curves/stack-plot.d.ts +141 -0
  79. package/dist/curves/stack-plot.d.ts.map +1 -0
  80. package/dist/curves/stairs.d.ts +171 -0
  81. package/dist/curves/stairs.d.ts.map +1 -0
  82. package/dist/data/channels.d.ts +171 -0
  83. package/dist/data/channels.d.ts.map +1 -0
  84. package/dist/end-space.d.ts +82 -0
  85. package/dist/end-space.d.ts.map +1 -0
  86. package/dist/entries/definitions.d.ts +21 -0
  87. package/dist/entries/definitions.d.ts.map +1 -0
  88. package/dist/entries/definitions.js +6 -0
  89. package/dist/frame/band-axis.d.ts +43 -0
  90. package/dist/frame/band-axis.d.ts.map +1 -0
  91. package/dist/frame/coords.d.ts +112 -0
  92. package/dist/frame/coords.d.ts.map +1 -0
  93. package/dist/frame/fit.d.ts +171 -0
  94. package/dist/frame/fit.d.ts.map +1 -0
  95. package/dist/frame/format.d.ts +41 -0
  96. package/dist/frame/format.d.ts.map +1 -0
  97. package/dist/frame/guide-metrics.d.ts +37 -0
  98. package/dist/frame/guide-metrics.d.ts.map +1 -0
  99. package/dist/frame/guides.d.ts +68 -0
  100. package/dist/frame/guides.d.ts.map +1 -0
  101. package/dist/frame/keys.d.ts +97 -0
  102. package/dist/frame/keys.d.ts.map +1 -0
  103. package/dist/frame/layout.d.ts +146 -0
  104. package/dist/frame/layout.d.ts.map +1 -0
  105. package/dist/frame/registry.d.ts +32 -0
  106. package/dist/frame/registry.d.ts.map +1 -0
  107. package/dist/frame/reports.d.ts +54 -0
  108. package/dist/frame/reports.d.ts.map +1 -0
  109. package/dist/frame/secondary-axes.d.ts +74 -0
  110. package/dist/frame/secondary-axes.d.ts.map +1 -0
  111. package/dist/frame/secondary.d.ts +57 -0
  112. package/dist/frame/secondary.d.ts.map +1 -0
  113. package/dist/frame/tooltip-overlay.d.ts +65 -0
  114. package/dist/frame/tooltip-overlay.d.ts.map +1 -0
  115. package/dist/frame/types.d.ts +659 -0
  116. package/dist/frame/types.d.ts.map +1 -0
  117. package/dist/grids/barbs.d.ts +52 -0
  118. package/dist/grids/barbs.d.ts.map +1 -0
  119. package/dist/grids/cell-rects.d.ts +38 -0
  120. package/dist/grids/cell-rects.d.ts.map +1 -0
  121. package/dist/grids/cells.d.ts +131 -0
  122. package/dist/grids/cells.d.ts.map +1 -0
  123. package/dist/grids/contour-f.d.ts +81 -0
  124. package/dist/grids/contour-f.d.ts.map +1 -0
  125. package/dist/grids/contour-shared.d.ts +54 -0
  126. package/dist/grids/contour-shared.d.ts.map +1 -0
  127. package/dist/grids/contour.d.ts +85 -0
  128. package/dist/grids/contour.d.ts.map +1 -0
  129. package/dist/grids/dendrogram.d.ts +105 -0
  130. package/dist/grids/dendrogram.d.ts.map +1 -0
  131. package/dist/grids/heatmap.d.ts +164 -0
  132. package/dist/grids/heatmap.d.ts.map +1 -0
  133. package/dist/grids/hex-bin.d.ts +94 -0
  134. package/dist/grids/hex-bin.d.ts.map +1 -0
  135. package/dist/grids/hist2d.d.ts +108 -0
  136. package/dist/grids/hist2d.d.ts.map +1 -0
  137. package/dist/grids/imshow.d.ts +85 -0
  138. package/dist/grids/imshow.d.ts.map +1 -0
  139. package/dist/grids/index.d.ts +27 -0
  140. package/dist/grids/index.d.ts.map +1 -0
  141. package/dist/grids/pcolormesh.d.ts +91 -0
  142. package/dist/grids/pcolormesh.d.ts.map +1 -0
  143. package/dist/grids/ramp-cells.d.ts +67 -0
  144. package/dist/grids/ramp-cells.d.ts.map +1 -0
  145. package/dist/grids/tri-contour.d.ts +121 -0
  146. package/dist/grids/tri-contour.d.ts.map +1 -0
  147. package/dist/grids/tri-shared.d.ts +62 -0
  148. package/dist/grids/tri-shared.d.ts.map +1 -0
  149. package/dist/grids/tripcolor.d.ts +74 -0
  150. package/dist/grids/tripcolor.d.ts.map +1 -0
  151. package/dist/guides/colorbar.d.ts +111 -0
  152. package/dist/guides/colorbar.d.ts.map +1 -0
  153. package/dist/guides/index.d.ts +12 -0
  154. package/dist/guides/index.d.ts.map +1 -0
  155. package/dist/guides/legend.d.ts +119 -0
  156. package/dist/guides/legend.d.ts.map +1 -0
  157. package/dist/guides/nodes.d.ts +14 -0
  158. package/dist/guides/nodes.d.ts.map +1 -0
  159. package/dist/guides/size-legend.d.ts +234 -0
  160. package/dist/guides/size-legend.d.ts.map +1 -0
  161. package/dist/hierarchy/breadcrumbs.d.ts +134 -0
  162. package/dist/hierarchy/breadcrumbs.d.ts.map +1 -0
  163. package/dist/hierarchy/circle-pack.d.ts +73 -0
  164. package/dist/hierarchy/circle-pack.d.ts.map +1 -0
  165. package/dist/hierarchy/drill.d.ts +246 -0
  166. package/dist/hierarchy/drill.d.ts.map +1 -0
  167. package/dist/hierarchy/frame.d.ts +68 -0
  168. package/dist/hierarchy/frame.d.ts.map +1 -0
  169. package/dist/hierarchy/icicle.d.ts +77 -0
  170. package/dist/hierarchy/icicle.d.ts.map +1 -0
  171. package/dist/hierarchy/index.d.ts +21 -0
  172. package/dist/hierarchy/index.d.ts.map +1 -0
  173. package/dist/hierarchy/labels.d.ts +25 -0
  174. package/dist/hierarchy/labels.d.ts.map +1 -0
  175. package/dist/hierarchy/mosaic.d.ts +131 -0
  176. package/dist/hierarchy/mosaic.d.ts.map +1 -0
  177. package/dist/hierarchy/own-tooltip.d.ts +13 -0
  178. package/dist/hierarchy/own-tooltip.d.ts.map +1 -0
  179. package/dist/hierarchy/props.d.ts +14 -0
  180. package/dist/hierarchy/props.d.ts.map +1 -0
  181. package/dist/hierarchy/sankey.d.ts +133 -0
  182. package/dist/hierarchy/sankey.d.ts.map +1 -0
  183. package/dist/hierarchy/shared.d.ts +248 -0
  184. package/dist/hierarchy/shared.d.ts.map +1 -0
  185. package/dist/hierarchy/sunburst.d.ts +75 -0
  186. package/dist/hierarchy/sunburst.d.ts.map +1 -0
  187. package/dist/hierarchy/tree.d.ts +125 -0
  188. package/dist/hierarchy/tree.d.ts.map +1 -0
  189. package/dist/hierarchy/treemap.d.ts +77 -0
  190. package/dist/hierarchy/treemap.d.ts.map +1 -0
  191. package/dist/index.d.ts +30 -0
  192. package/dist/index.d.ts.map +1 -0
  193. package/dist/index.js +5 -0
  194. package/dist/item-tooltip.d.ts +34 -0
  195. package/dist/item-tooltip.d.ts.map +1 -0
  196. package/dist/join.d.ts +224 -0
  197. package/dist/join.d.ts.map +1 -0
  198. package/dist/math/3d/bar3d.d.ts +28 -0
  199. package/dist/math/3d/bar3d.d.ts.map +1 -0
  200. package/dist/math/3d/quiver3d.d.ts +27 -0
  201. package/dist/math/3d/quiver3d.d.ts.map +1 -0
  202. package/dist/math/3d/scatter3d.d.ts +16 -0
  203. package/dist/math/3d/scatter3d.d.ts.map +1 -0
  204. package/dist/math/3d/stem3d.d.ts +23 -0
  205. package/dist/math/3d/stem3d.d.ts.map +1 -0
  206. package/dist/math/3d/surfaceGrid3d.d.ts +34 -0
  207. package/dist/math/3d/surfaceGrid3d.d.ts.map +1 -0
  208. package/dist/math/3d/trisurface.d.ts +12 -0
  209. package/dist/math/3d/trisurface.d.ts.map +1 -0
  210. package/dist/math/3d/voxels.d.ts +18 -0
  211. package/dist/math/3d/voxels.d.ts.map +1 -0
  212. package/dist/math/aggregate.d.ts +69 -0
  213. package/dist/math/aggregate.d.ts.map +1 -0
  214. package/dist/math/bar.d.ts +32 -0
  215. package/dist/math/bar.d.ts.map +1 -0
  216. package/dist/math/barLabels.d.ts +84 -0
  217. package/dist/math/barLabels.d.ts.map +1 -0
  218. package/dist/math/barbs.d.ts +37 -0
  219. package/dist/math/barbs.d.ts.map +1 -0
  220. package/dist/math/boxplot.d.ts +37 -0
  221. package/dist/math/boxplot.d.ts.map +1 -0
  222. package/dist/math/breadcrumbs.d.ts +129 -0
  223. package/dist/math/breadcrumbs.d.ts.map +1 -0
  224. package/dist/math/bubble.d.ts +39 -0
  225. package/dist/math/bubble.d.ts.map +1 -0
  226. package/dist/math/bullet.d.ts +111 -0
  227. package/dist/math/bullet.d.ts.map +1 -0
  228. package/dist/math/chord.d.ts +104 -0
  229. package/dist/math/chord.d.ts.map +1 -0
  230. package/dist/math/cluster.d.ts +89 -0
  231. package/dist/math/cluster.d.ts.map +1 -0
  232. package/dist/math/contour.d.ts +49 -0
  233. package/dist/math/contour.d.ts.map +1 -0
  234. package/dist/math/contourf.d.ts +51 -0
  235. package/dist/math/contourf.d.ts.map +1 -0
  236. package/dist/math/dodge.d.ts +37 -0
  237. package/dist/math/dodge.d.ts.map +1 -0
  238. package/dist/math/ecdf.d.ts +42 -0
  239. package/dist/math/ecdf.d.ts.map +1 -0
  240. package/dist/math/errorbar.d.ts +28 -0
  241. package/dist/math/errorbar.d.ts.map +1 -0
  242. package/dist/math/eventplot.d.ts +27 -0
  243. package/dist/math/eventplot.d.ts.map +1 -0
  244. package/dist/math/facet.d.ts +91 -0
  245. package/dist/math/facet.d.ts.map +1 -0
  246. package/dist/math/fillBetween.d.ts +29 -0
  247. package/dist/math/fillBetween.d.ts.map +1 -0
  248. package/dist/math/gauge.d.ts +72 -0
  249. package/dist/math/gauge.d.ts.map +1 -0
  250. package/dist/math/hexbin.d.ts +21 -0
  251. package/dist/math/hexbin.d.ts.map +1 -0
  252. package/dist/math/hierarchy.d.ts +180 -0
  253. package/dist/math/hierarchy.d.ts.map +1 -0
  254. package/dist/math/hierarchyJoin.d.ts +60 -0
  255. package/dist/math/hierarchyJoin.d.ts.map +1 -0
  256. package/dist/math/histogram.d.ts +37 -0
  257. package/dist/math/histogram.d.ts.map +1 -0
  258. package/dist/math/histogram2d.d.ts +45 -0
  259. package/dist/math/histogram2d.d.ts.map +1 -0
  260. package/dist/math/imshow.d.ts +27 -0
  261. package/dist/math/imshow.d.ts.map +1 -0
  262. package/dist/math/index.d.ts +140 -0
  263. package/dist/math/index.d.ts.map +1 -0
  264. package/dist/math/index.js +3 -0
  265. package/dist/math/jitter.d.ts +17 -0
  266. package/dist/math/jitter.d.ts.map +1 -0
  267. package/dist/math/join.d.ts +136 -0
  268. package/dist/math/join.d.ts.map +1 -0
  269. package/dist/math/keyframes.d.ts +128 -0
  270. package/dist/math/keyframes.d.ts.map +1 -0
  271. package/dist/math/legend.d.ts +121 -0
  272. package/dist/math/legend.d.ts.map +1 -0
  273. package/dist/math/line.d.ts +54 -0
  274. package/dist/math/line.d.ts.map +1 -0
  275. package/dist/math/morph.d.ts +82 -0
  276. package/dist/math/morph.d.ts.map +1 -0
  277. package/dist/math/mosaic.d.ts +120 -0
  278. package/dist/math/mosaic.d.ts.map +1 -0
  279. package/dist/math/ordinal.d.ts +80 -0
  280. package/dist/math/ordinal.d.ts.map +1 -0
  281. package/dist/math/parallel.d.ts +39 -0
  282. package/dist/math/parallel.d.ts.map +1 -0
  283. package/dist/math/pcolormesh.d.ts +23 -0
  284. package/dist/math/pcolormesh.d.ts.map +1 -0
  285. package/dist/math/pie.d.ts +106 -0
  286. package/dist/math/pie.d.ts.map +1 -0
  287. package/dist/math/polarArea.d.ts +35 -0
  288. package/dist/math/polarArea.d.ts.map +1 -0
  289. package/dist/math/radar.d.ts +111 -0
  290. package/dist/math/radar.d.ts.map +1 -0
  291. package/dist/math/range.d.ts +99 -0
  292. package/dist/math/range.d.ts.map +1 -0
  293. package/dist/math/regression.d.ts +110 -0
  294. package/dist/math/regression.d.ts.map +1 -0
  295. package/dist/math/reveal.d.ts +64 -0
  296. package/dist/math/reveal.d.ts.map +1 -0
  297. package/dist/math/sankey.d.ts +155 -0
  298. package/dist/math/sankey.d.ts.map +1 -0
  299. package/dist/math/scatter.d.ts +15 -0
  300. package/dist/math/scatter.d.ts.map +1 -0
  301. package/dist/math/shared/binning.d.ts +24 -0
  302. package/dist/math/shared/binning.d.ts.map +1 -0
  303. package/dist/math/shared/gridCells.d.ts +42 -0
  304. package/dist/math/shared/gridCells.d.ts.map +1 -0
  305. package/dist/math/shared/gridExtent.d.ts +6 -0
  306. package/dist/math/shared/gridExtent.d.ts.map +1 -0
  307. package/dist/math/shared/pairs.d.ts +3 -0
  308. package/dist/math/shared/pairs.d.ts.map +1 -0
  309. package/dist/math/shared/polar.d.ts +24 -0
  310. package/dist/math/shared/polar.d.ts.map +1 -0
  311. package/dist/math/stack.d.ts +70 -0
  312. package/dist/math/stack.d.ts.map +1 -0
  313. package/dist/math/stackplot.d.ts +36 -0
  314. package/dist/math/stackplot.d.ts.map +1 -0
  315. package/dist/math/stairs.d.ts +18 -0
  316. package/dist/math/stairs.d.ts.map +1 -0
  317. package/dist/math/stem.d.ts +22 -0
  318. package/dist/math/stem.d.ts.map +1 -0
  319. package/dist/math/symbol.d.ts +26 -0
  320. package/dist/math/symbol.d.ts.map +1 -0
  321. package/dist/math/tree.d.ts +118 -0
  322. package/dist/math/tree.d.ts.map +1 -0
  323. package/dist/math/tricontour.d.ts +77 -0
  324. package/dist/math/tricontour.d.ts.map +1 -0
  325. package/dist/math/violin.d.ts +100 -0
  326. package/dist/math/violin.d.ts.map +1 -0
  327. package/dist/math/waffle.d.ts +49 -0
  328. package/dist/math/waffle.d.ts.map +1 -0
  329. package/dist/math/waterfall.d.ts +29 -0
  330. package/dist/math/waterfall.d.ts.map +1 -0
  331. package/dist/math-CSHNpGej.js +3648 -0
  332. package/dist/mix.d.ts +25 -0
  333. package/dist/mix.d.ts.map +1 -0
  334. package/dist/multiview/brush.d.ts +166 -0
  335. package/dist/multiview/brush.d.ts.map +1 -0
  336. package/dist/multiview/chart-group.d.ts +266 -0
  337. package/dist/multiview/chart-group.d.ts.map +1 -0
  338. package/dist/multiview/chart-link.d.ts +189 -0
  339. package/dist/multiview/chart-link.d.ts.map +1 -0
  340. package/dist/multiview/chart-zoom.d.ts +145 -0
  341. package/dist/multiview/chart-zoom.d.ts.map +1 -0
  342. package/dist/multiview/facet.d.ts +239 -0
  343. package/dist/multiview/facet.d.ts.map +1 -0
  344. package/dist/multiview/group-guides.d.ts +100 -0
  345. package/dist/multiview/group-guides.d.ts.map +1 -0
  346. package/dist/multiview/index.d.ts +18 -0
  347. package/dist/multiview/index.d.ts.map +1 -0
  348. package/dist/multiview/joint-plot.d.ts +115 -0
  349. package/dist/multiview/joint-plot.d.ts.map +1 -0
  350. package/dist/multiview/pair-plot.d.ts +154 -0
  351. package/dist/multiview/pair-plot.d.ts.map +1 -0
  352. package/dist/multiview/panels.d.ts +23 -0
  353. package/dist/multiview/panels.d.ts.map +1 -0
  354. package/dist/multiview/parallel-coordinates.d.ts +110 -0
  355. package/dist/multiview/parallel-coordinates.d.ts.map +1 -0
  356. package/dist/points/event-plot.d.ts +68 -0
  357. package/dist/points/event-plot.d.ts.map +1 -0
  358. package/dist/points/index.d.ts +20 -0
  359. package/dist/points/index.d.ts.map +1 -0
  360. package/dist/points/labels.d.ts +71 -0
  361. package/dist/points/labels.d.ts.map +1 -0
  362. package/dist/points/links.d.ts +124 -0
  363. package/dist/points/links.d.ts.map +1 -0
  364. package/dist/points/rects.d.ts +81 -0
  365. package/dist/points/rects.d.ts.map +1 -0
  366. package/dist/points/rug.d.ts +73 -0
  367. package/dist/points/rug.d.ts.map +1 -0
  368. package/dist/points/scatter.d.ts +170 -0
  369. package/dist/points/scatter.d.ts.map +1 -0
  370. package/dist/points/segment-marks.d.ts +40 -0
  371. package/dist/points/segment-marks.d.ts.map +1 -0
  372. package/dist/points/shared.d.ts +35 -0
  373. package/dist/points/shared.d.ts.map +1 -0
  374. package/dist/points/stem.d.ts +76 -0
  375. package/dist/points/stem.d.ts.map +1 -0
  376. package/dist/points/strip.d.ts +146 -0
  377. package/dist/points/strip.d.ts.map +1 -0
  378. package/dist/points/symbol-marker.d.ts +34 -0
  379. package/dist/points/symbol-marker.d.ts.map +1 -0
  380. package/dist/points/ticks.d.ts +103 -0
  381. package/dist/points/ticks.d.ts.map +1 -0
  382. package/dist/props.d.ts +127 -0
  383. package/dist/props.d.ts.map +1 -0
  384. package/dist/radial/chord.d.ts +149 -0
  385. package/dist/radial/chord.d.ts.map +1 -0
  386. package/dist/radial/gauge.d.ts +127 -0
  387. package/dist/radial/gauge.d.ts.map +1 -0
  388. package/dist/radial/index.d.ts +16 -0
  389. package/dist/radial/index.d.ts.map +1 -0
  390. package/dist/radial/pie-chart.d.ts +144 -0
  391. package/dist/radial/pie-chart.d.ts.map +1 -0
  392. package/dist/radial/polar-area-chart.d.ts +136 -0
  393. package/dist/radial/polar-area-chart.d.ts.map +1 -0
  394. package/dist/radial/radar-chart.d.ts +177 -0
  395. package/dist/radial/radar-chart.d.ts.map +1 -0
  396. package/dist/radial/radial-bar-chart.d.ts +117 -0
  397. package/dist/radial/radial-bar-chart.d.ts.map +1 -0
  398. package/dist/radial/shared.d.ts +79 -0
  399. package/dist/radial/shared.d.ts.map +1 -0
  400. package/dist/radial/waffle.d.ts +131 -0
  401. package/dist/radial/waffle.d.ts.map +1 -0
  402. package/dist/raster.d.ts +44 -0
  403. package/dist/raster.d.ts.map +1 -0
  404. package/dist/series.d.ts +72 -0
  405. package/dist/series.d.ts.map +1 -0
  406. package/dist/src-CwGo1bes.js +19221 -0
  407. package/dist/stagger.d.ts +55 -0
  408. package/dist/stagger.d.ts.map +1 -0
  409. package/dist/statistics/box-plot.d.ts +152 -0
  410. package/dist/statistics/box-plot.d.ts.map +1 -0
  411. package/dist/statistics/error-bar.d.ts +149 -0
  412. package/dist/statistics/error-bar.d.ts.map +1 -0
  413. package/dist/statistics/groups.d.ts +141 -0
  414. package/dist/statistics/groups.d.ts.map +1 -0
  415. package/dist/statistics/index.d.ts +8 -0
  416. package/dist/statistics/index.d.ts.map +1 -0
  417. package/dist/statistics/violin-plot.d.ts +144 -0
  418. package/dist/statistics/violin-plot.d.ts.map +1 -0
  419. package/dist/text-width.d.ts +10 -0
  420. package/dist/text-width.d.ts.map +1 -0
  421. package/dist/tooltip.d.ts +277 -0
  422. package/dist/tooltip.d.ts.map +1 -0
  423. package/dist/util.d.ts +34 -0
  424. package/dist/util.d.ts.map +1 -0
  425. package/dist/voxels-9lJ2TZS4.js +235 -0
  426. package/dist/wireframe3d-D157GZAq.js +345 -0
  427. package/package.json +86 -3
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Mosaic (Marimekko) layout: a two-way table as columns as wide as each
3
+ * column's share of the whole, split into segments as tall as each row's
4
+ * share within the column.
5
+ */
6
+ /**
7
+ * A category of a mosaic's columns or rows: a string or a number.
8
+ *
9
+ * @category Math & helpers
10
+ */
11
+ export type MosaicKey = string | number;
12
+ /**
13
+ * One entry of the long-form table a mosaic lays out.
14
+ *
15
+ * @category Math & helpers
16
+ */
17
+ export interface MosaicInput {
18
+ /** Column category. */
19
+ x: MosaicKey;
20
+ /** Row (segment) category. */
21
+ y: MosaicKey;
22
+ /** Amount; negative and non-finite values count as 0. */
23
+ value: number;
24
+ }
25
+ /** @category Math */
26
+ export interface MosaicOptions {
27
+ /**
28
+ * Column order: listed keys first, then unlisted ones in first-seen order. Defaults to
29
+ * first-seen order.
30
+ */
31
+ columns?: readonly MosaicKey[];
32
+ /** Row (segment) order, bottom first; same rules as `columns`. Defaults to first-seen order. */
33
+ rows?: readonly MosaicKey[];
34
+ /** Width of the layout box. @default 1 */
35
+ width?: number;
36
+ /** Height of the layout box. @default 1 */
37
+ height?: number;
38
+ /**
39
+ * Gap between neighbouring columns, and between segments in a column;
40
+ * capped at half the box's width (or height) in total.
41
+ * @default 0
42
+ */
43
+ padding?: number;
44
+ }
45
+ /**
46
+ * One laid-out column of a mosaic, in the layout box.
47
+ *
48
+ * @category Math & helpers
49
+ */
50
+ export interface MosaicColumn {
51
+ /** The column's category. */
52
+ key: MosaicKey;
53
+ /** Place among the drawn columns, left to right, 0-based. */
54
+ index: number;
55
+ /** Left edge. */
56
+ x0: number;
57
+ /** Right edge. */
58
+ x1: number;
59
+ /** Sum of the column's values. */
60
+ value: number;
61
+ /** The column's share of the grand total, 0..1. */
62
+ share: number;
63
+ /** Index of the first input entry with a positive value in the column. */
64
+ dataIndex: number;
65
+ }
66
+ /**
67
+ * One laid-out segment of a mosaic: a rectangle in the layout box, **y
68
+ * pointing down** (0 is the top edge).
69
+ *
70
+ * @category Math & helpers
71
+ */
72
+ export interface MosaicRect {
73
+ /** The column's category. */
74
+ column: MosaicKey;
75
+ /** The row's category. */
76
+ row: MosaicKey;
77
+ /** The column's place among the drawn columns, 0-based. */
78
+ columnIndex: number;
79
+ /** The row's place in {@link MosaicLayout.rows}, 0-based (stable across columns, for colour). */
80
+ rowIndex: number;
81
+ x0: number;
82
+ y0: number;
83
+ x1: number;
84
+ y1: number;
85
+ /** Sum of the values for this (column, row) pair. */
86
+ value: number;
87
+ /** The column's share of the grand total, 0..1 (the rectangle's width share). */
88
+ columnShare: number;
89
+ /** The segment's share of its column, 0..1 (its height share). */
90
+ rowShare: number;
91
+ /** Index of the first input entry with a positive value for this pair. */
92
+ dataIndex: number;
93
+ }
94
+ /**
95
+ * A mosaic laid out: see {@link mosaicLayout}.
96
+ *
97
+ * @category Math & helpers
98
+ */
99
+ export interface MosaicLayout {
100
+ /** Columns with a positive total, left to right. */
101
+ columns: MosaicColumn[];
102
+ /** Segments with a positive value, column by column, bottom to top. */
103
+ rects: MosaicRect[];
104
+ /** Every row category, in row order (including rows with no positive value). */
105
+ rows: MosaicKey[];
106
+ /** Sum of every value. */
107
+ total: number;
108
+ }
109
+ /**
110
+ * Lays out a mosaic from a long-form `{ x, y, value }` table: column widths
111
+ * by share of the total, segments stacked bottom-up in row order by share
112
+ * of their column, so areas are proportional to values. Duplicate pairs
113
+ * sum; nothing-positive columns and segments get no rectangle or gap. The
114
+ * box has **y pointing down**.
115
+ *
116
+ * @returns Columns, segment rectangles, row order and total; empty when nothing is positive.
117
+ * @category Math & helpers
118
+ */
119
+ export declare function mosaicLayout(cells: readonly MosaicInput[], options?: MosaicOptions): MosaicLayout;
120
+ //# sourceMappingURL=mosaic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mosaic.d.ts","sourceRoot":"","sources":["../../src/math/mosaic.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B,uBAAuB;IACvB,CAAC,EAAE,SAAS,CAAC;IACb,8BAA8B;IAC9B,CAAC,EAAE,SAAS,CAAC;IACb,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;CACd;AAED,qBAAqB;AACrB,MAAM,WAAW,aAAa;IAC7B;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC/B,gGAAgG;IAChG,IAAI,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC5B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC5B,6BAA6B;IAC7B,GAAG,EAAE,SAAS,CAAC;IACf,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IAC1B,6BAA6B;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,0BAA0B;IAC1B,GAAG,EAAE,SAAS,CAAC;IACf,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,iGAAiG;IACjG,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC5B,oDAAoD;IACpD,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,uEAAuE;IACvE,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,gFAAgF;IAChF,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;CACd;AA4CD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC3B,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,OAAO,GAAE,aAAkB,GACzB,YAAY,CA6Gd"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Categorical colour: an ordinal scale from category keys to colours, a few
3
+ * categorical schemes, and the per-datum keys that give marks their identity.
4
+ */
5
+ import type { BandKey } from "@sophistry/core/geometry";
6
+ /**
7
+ * An ordinal colour scale: category keys to colours, in domain order,
8
+ * cycling through `range` when there are more categories than colours.
9
+ *
10
+ * @category Math & helpers
11
+ */
12
+ export interface OrdinalColorScale {
13
+ /** The categories, in order, each once. */
14
+ readonly domain: readonly BandKey[];
15
+ /** The colours cycled over the domain. */
16
+ readonly range: readonly string[];
17
+ /** The colour of `key`; a key not in the domain gets `unknown`. */
18
+ (key: BandKey | null | undefined): string;
19
+ /** The position of `key` in the domain, or -1. */
20
+ index(key: BandKey | null | undefined): number;
21
+ }
22
+ /**
23
+ * Options for {@link ordinalColorScale}.
24
+ *
25
+ * @category Math & helpers
26
+ */
27
+ export interface OrdinalColorScaleOptions {
28
+ /**
29
+ * Colour for a key not in the domain, and for nullish keys. Defaults to the first colour of
30
+ * `range`.
31
+ */
32
+ unknown?: string;
33
+ }
34
+ /**
35
+ * The categories of `values` in first-seen order, each once; nullish
36
+ * entries are skipped. Like a band scale, `1` and `"1"` are different keys.
37
+ *
38
+ * @category Math & helpers
39
+ */
40
+ export declare function uniqueKeys(values: Iterable<BandKey | null | undefined>): BandKey[];
41
+ /**
42
+ * An ordinal colour scale: category `i` of `domain` gets
43
+ * `range[i % range.length]`. Pin the full domain to keep colours stable
44
+ * when data is filtered.
45
+ *
46
+ * @param domain - The categories, in order; duplicates and nullish entries are dropped.
47
+ * @throws {RangeError} If `range` is empty.
48
+ * @category Math & helpers
49
+ */
50
+ export declare function ordinalColorScale(domain: Iterable<BandKey | null | undefined>, range: readonly string[], options?: OrdinalColorScaleOptions): OrdinalColorScale;
51
+ /**
52
+ * Okabe & Ito's eight colours, distinct under common colour-vision
53
+ * deficiencies, with black swapped for a mid grey so it reads on dark grounds.
54
+ *
55
+ * @category Math & helpers
56
+ */
57
+ export declare const okabeIto: readonly string[];
58
+ /**
59
+ * Tableau's ten categorical colours (2016 revision).
60
+ *
61
+ * @category Math & helpers
62
+ */
63
+ export declare const tableau10: readonly string[];
64
+ /**
65
+ * Observable's ten categorical colours.
66
+ *
67
+ * @category Math & helpers
68
+ */
69
+ export declare const observable10: readonly string[];
70
+ /**
71
+ * One identity per datum, so marks keep their node across data changes: an
72
+ * explicit `key` wins (`"<key>#<n>"` for repeats), else the datum's place
73
+ * within its `series`, else its index. Keys are strings or numbers,
74
+ * compared with `===`, unique within the call.
75
+ *
76
+ * @param count - Number of data.
77
+ * @category Math & helpers
78
+ */
79
+ export declare function datumKeys(count: number, key?: (index: number) => BandKey | null | undefined, series?: (index: number) => BandKey | null | undefined): BandKey[];
80
+ //# sourceMappingURL=ordinal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ordinal.d.ts","sourceRoot":"","sources":["../../src/math/ordinal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAExD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IACjC,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,mEAAmE;IACnE,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC;IAC1C,kDAAkD;IAClD,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC;CAC/C;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACxC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACzB,MAAM,EAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,GAC1C,OAAO,EAAE,CAQX;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,EAC5C,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE,wBAA6B,GACpC,iBAAiB,CAwBnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EASpC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,MAAM,EAWrC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAWxC,CAAC;AAEH;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACxB,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GAAG,SAAS,EACnD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GAAG,SAAS,GACpD,OAAO,EAAE,CAyBX"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Parallel coordinates: each row of numbers becomes a polyline across a row
3
+ * of vertical axes, one axis per column.
4
+ */
5
+ import type { Point, Range } from "@sophistry/core/geometry";
6
+ /**
7
+ * Horizontal position of axis `index` of `count`, 0..1: evenly spaced, the
8
+ * first at 0 and the last at 1. A lone axis sits at 0.5.
9
+ *
10
+ * @category Math & helpers
11
+ */
12
+ export declare function parallelAxisX(index: number, count: number): number;
13
+ /**
14
+ * One row's polyline in normalized coordinates.
15
+ *
16
+ * @category Math & helpers
17
+ */
18
+ export interface ParallelLine {
19
+ /** Position of the row in the input. */
20
+ index: number;
21
+ /**
22
+ * Runs of consecutive usable values, each a polyline in the unit square
23
+ * (`y` 0 at the axis's `min`, 1 at `max`). Non-finite values break the
24
+ * line; a one-point run is kept.
25
+ */
26
+ segments: Point[][];
27
+ }
28
+ /**
29
+ * Maps rows of values onto parallel axes in normalized `[0, 1] × [0, 1]`
30
+ * coordinates (y up): axis `j` stands at `parallelAxisX(j, ranges.length)`
31
+ * and a value sits at `(v − min) / (max − min)` along it. Short rows miss
32
+ * their last axes; a degenerate range puts values at 0.5.
33
+ *
34
+ * @param rows - One array per datum, one value per axis.
35
+ * @param ranges - One linear `[min, max, step?]` per axis.
36
+ * @category Math & helpers
37
+ */
38
+ export declare function parallelLines(rows: readonly (readonly number[])[], ranges: readonly Range[]): ParallelLine[];
39
+ //# sourceMappingURL=parallel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parallel.d.ts","sourceRoot":"","sources":["../../src/math/parallel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC5B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC5B,IAAI,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACpC,MAAM,EAAE,SAAS,KAAK,EAAE,GACtB,YAAY,EAAE,CAsBhB"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Pseudocolour mesh on a regular grid: `X`/`Y` are 1D per-axis coordinates,
3
+ * either cell edges (`ncols + 1` / `nrows + 1`) or centres (`ncols` /
4
+ * `nrows`), and `Z` the `nrows x ncols` cell values.
5
+ */
6
+ import { type GridCell, type GridResult } from "./shared/gridCells";
7
+ /** @category Math */
8
+ export type PcolormeshCell = GridCell;
9
+ /** @category Math */
10
+ export type PcolormeshResult = GridResult;
11
+ /**
12
+ * Cells for the grid `Z`, positioned by `X`/`Y` edges or centres. Ragged
13
+ * rows are tolerated; `min`/`max` cover finite values only (`[0, 1]` when
14
+ * none).
15
+ *
16
+ * @param X - Column coordinates: `ncols` centres or `ncols + 1` edges.
17
+ * @param Y - Row coordinates: `nrows` centres or `nrows + 1` edges.
18
+ * @param Z - Samples as `Z[row][col]`.
19
+ * @throws If `X` or `Y` has neither the grid size nor the grid size plus one entries (and `Z` is non-empty).
20
+ * @category Math & helpers
21
+ */
22
+ export declare function pcolormeshCells(X: readonly number[], Y: readonly number[], Z: readonly (readonly number[])[]): PcolormeshResult;
23
+ //# sourceMappingURL=pcolormesh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pcolormesh.d.ts","sourceRoot":"","sources":["../../src/math/pcolormesh.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEN,KAAK,QAAQ,EACb,KAAK,UAAU,EAEf,MAAM,oBAAoB,CAAC;AAE5B,qBAAqB;AACrB,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;AACtC,qBAAqB;AACrB,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC;AA4B1C;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC9B,CAAC,EAAE,SAAS,MAAM,EAAE,EACpB,CAAC,EAAE,SAAS,MAAM,EAAE,EACpB,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAC/B,gBAAgB,CAmBlB"}
@@ -0,0 +1,106 @@
1
+ /** Pie geometry: consecutive angular slices sized by each value's share of the total, plus sweep and grow reveals. */
2
+ import type { BandKey, Point } from "@sophistry/core/geometry";
3
+ import type { PolarSweepOptions } from "./shared/polar";
4
+ /** @category Math */
5
+ export interface PieSlice {
6
+ /** Position in the input `values`; parallel `colors`/`labels` arrays index by this. */
7
+ index: number;
8
+ /** The (clamped) value this slice represents. */
9
+ value: number;
10
+ /** Radians from +x, as `Sector`'s `startAngle`. */
11
+ startAngle: number;
12
+ /** Radians from +x; `endAngle - startAngle` is the signed sweep for `Sector`'s `angle`. */
13
+ endAngle: number;
14
+ /** `value / total`: the slice's share of the pie. */
15
+ fraction: number;
16
+ }
17
+ /** @category Math */
18
+ export type PieOptions = PolarSweepOptions;
19
+ /**
20
+ * One slice per value, consecutive and summing to a full turn. A zero still
21
+ * gets a zero-sweep slice, so parallel `colors`/`labels` stay aligned.
22
+ *
23
+ * @param values - One value per slice; negative and non-finite entries clamp to 0.
24
+ * @returns One {@link PieSlice} per value, or `[]` when the total is not positive.
25
+ * @category Math & helpers
26
+ */
27
+ export declare function pieSlices(values: readonly number[], options?: PieOptions): PieSlice[];
28
+ /**
29
+ * How much of each slice a clockwise sweep from the first slice's start has
30
+ * uncovered at `progress`: slices appear in data order, each complete before
31
+ * the next begins.
32
+ *
33
+ * @param progress - The sweep, 0..1 of a full turn.
34
+ * @returns One fraction per slice, 0 (not reached) to 1 (fully swept).
35
+ * @category Math & helpers
36
+ */
37
+ export declare function pieSweep(slices: readonly PieSlice[], progress: number): number[];
38
+ /**
39
+ * The slices growing together: every sweep scaled by `progress`, all opening
40
+ * from `startAngle` at once and keeping their true shares, until they close
41
+ * the circle at 1.
42
+ *
43
+ * @returns The slices with scaled angles; `index`, `value` and `fraction` unchanged.
44
+ * @category Math & helpers
45
+ */
46
+ export declare function pieGrow(slices: readonly PieSlice[], progress: number): PieSlice[];
47
+ /** @category Math */
48
+ export interface SweepWedgeOptions extends PolarSweepOptions {
49
+ /** Centre. Defaults to the origin. */
50
+ center?: Point;
51
+ /** How far the wedge reaches; make it clear everything it uncovers. */
52
+ radius: number;
53
+ }
54
+ /**
55
+ * The wedge one angular sweep has uncovered, as a polygon from the centre:
56
+ * `progress` of a full turn from `startAngle`. A clip region for radial
57
+ * sweep reveals.
58
+ *
59
+ * @param progress - The sweep, 0..1.
60
+ * @returns The wedge, a lone centre point at 0, or undefined at `progress >= 1`.
61
+ * @category Math & helpers
62
+ */
63
+ export declare function sweepWedge(progress: number, options: SweepWedgeOptions): Point[] | undefined;
64
+ /** One slice of a ring on one frame: its angles, its share of the turn, and where that share starts. */
65
+ export interface RingSlice {
66
+ /** Radians from +x. */
67
+ startAngle: number;
68
+ /** Radians from +x. */
69
+ endAngle: number;
70
+ /** Its share of the turn, 0..1. */
71
+ fraction: number;
72
+ /** The turn before it, 0..1 from `startAngle`. */
73
+ offset: number;
74
+ }
75
+ /**
76
+ * The order a ring lays out both ends' keys of a keyed transition so that
77
+ * nothing crosses: entering keys open beside the key they follow in `to`,
78
+ * leaving keys stay after the one they follow in `from`. When shared keys
79
+ * are reordered, they follow `follow`'s end and {@link ringLayout} blends.
80
+ *
81
+ * @param follow - Whose order the shared keys keep.
82
+ */
83
+ export declare function ringOrder(from: readonly BandKey[], to: readonly BandKey[], follow: "from" | "to"): BandKey[];
84
+ /**
85
+ * A ring of slices (a pie's, a rose's) laid out by weight in each end's
86
+ * {@link ringOrder}; when the orders differ, angles blend between the two
87
+ * layouts by `u`. Keys with no weight get a zero-sweep slice.
88
+ *
89
+ * @param weight - Each key's weight on this frame (negative and non-finite count as 0).
90
+ * @param u - The update stage's progress, 0..1.
91
+ * @returns Each key's slice; empty when no key has weight.
92
+ */
93
+ export declare function ringLayout(orders: {
94
+ from: readonly BandKey[];
95
+ to: readonly BandKey[];
96
+ }, weight: (key: BandKey) => number, u: number, options?: PieOptions): Map<BandKey, RingSlice>;
97
+ /**
98
+ * How much of one slice a sweep has uncovered at `progress`, as {@link pieSweep}.
99
+ *
100
+ * @param progress - The sweep, 0..1 of a full turn.
101
+ */
102
+ export declare function sweepShare(slice: {
103
+ offset: number;
104
+ fraction: number;
105
+ }, progress: number): number;
106
+ //# sourceMappingURL=pie.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pie.d.ts","sourceRoot":"","sources":["../../src/math/pie.ts"],"names":[],"mappings":"AAAA,sHAAsH;AAEtH,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,qBAAqB;AACrB,MAAM,WAAW,QAAQ;IACxB,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,qBAAqB;AACrB,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAE3C;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACxB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,GAAE,UAAe,GACtB,QAAQ,EAAE,CAsBZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACvB,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,QAAQ,EAAE,MAAM,GACd,MAAM,EAAE,CASV;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CACtB,MAAM,EAAE,SAAS,QAAQ,EAAE,EAC3B,QAAQ,EAAE,MAAM,GACd,QAAQ,EAAE,CAOZ;AAED,qBAAqB;AACrB,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC3D,sCAAsC;IACtC,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,iBAAiB,GACxB,KAAK,EAAE,GAAG,SAAS,CAerB;AAOD,wGAAwG;AACxG,MAAM,WAAW,SAAS;IACzB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACxB,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,SAAS,OAAO,EAAE,EACtB,MAAM,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,EAAE,CAmBX;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACzB,MAAM,EAAE;IAAE,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,EAAE,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,EAC5D,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,EAChC,CAAC,EAAE,MAAM,EACT,OAAO,GAAE,UAAe,GACtB,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAkCzB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACzB,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC3C,QAAQ,EAAE,MAAM,GACd,MAAM,CAIR"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Polar area geometry: one wedge per value, the turn split evenly, each
3
+ * wedge's radius linear in its value.
4
+ */
5
+ import type { PolarSweepOptions } from "./shared/polar";
6
+ /** @category Math */
7
+ export interface PolarAreaSlice {
8
+ /** Position in the input `values` array. */
9
+ index: number;
10
+ /** The (clamped) value this wedge represents. */
11
+ value: number;
12
+ /** Radians from +x, as `Sector`'s `startAngle`. */
13
+ startAngle: number;
14
+ /** Radians from +x; `endAngle - startAngle` is the signed sweep for `Sector`'s `angle`. */
15
+ endAngle: number;
16
+ /** `value / maxValue`, 0..1: the fraction of the outer radius this wedge reaches. */
17
+ radius: number;
18
+ /** `value / total`: this wedge's share of all values. */
19
+ fraction: number;
20
+ }
21
+ /** @category Math */
22
+ export interface PolarAreaOptions extends PolarSweepOptions {
23
+ /** The value that reaches the outer radius. Defaults to the greatest finite value. */
24
+ maxValue?: number;
25
+ }
26
+ /**
27
+ * One wedge per value, each `2π / n` wide, its radius the value's share of
28
+ * `maxValue`. A zero still gets a wedge, so parallel `colors`/`labels` stay
29
+ * aligned.
30
+ *
31
+ * @param values - One value per wedge; negative and non-finite entries clamp to 0.
32
+ * @category Math & helpers
33
+ */
34
+ export declare function polarAreaSlices(values: readonly number[], options?: PolarAreaOptions): PolarAreaSlice[];
35
+ //# sourceMappingURL=polarArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polarArea.d.ts","sourceRoot":"","sources":["../../src/math/polarArea.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,qBAAqB;AACrB,MAAM,WAAW,cAAc;IAC9B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,qBAAqB;AACrB,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IAC1D,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,GAAE,gBAAqB,GAC5B,cAAc,EAAE,CAsBlB"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Radar geometry: one vertex per value, evenly spaced round a full turn by
3
+ * index, with the value mapped to radius.
4
+ */
5
+ import type { BandKey, Point } from "@sophistry/core/geometry";
6
+ import type { PolarSweepOptions } from "./shared/polar";
7
+ /** @category Math */
8
+ export interface RadarVertex extends Point {
9
+ /** Position in the input `values`, keeping per-axis labels aligned. */
10
+ index: number;
11
+ /** The (clamped) value this vertex represents. */
12
+ value: number;
13
+ /** Radians from +x this axis points along. */
14
+ angle: number;
15
+ }
16
+ /** @category Math */
17
+ export interface RadarOptions extends PolarSweepOptions {
18
+ /**
19
+ * The value that reaches the outer radius. Pass it when overlaying several
20
+ * series so they share one scale. Defaults to the greatest finite value in `values`.
21
+ */
22
+ maxValue?: number;
23
+ }
24
+ /**
25
+ * One vertex per value on the unit circle, scaled by the value's share of
26
+ * `maxValue`, returned open (`<Polygon>` closes it). A zero still gets a
27
+ * vertex at the origin, keeping `index` aligned with the axis labels.
28
+ *
29
+ * @param values - One value per axis; negative and non-finite entries clamp to 0.
30
+ * @returns One {@link RadarVertex} per value; `[]` for fewer than 3 values.
31
+ * @category Math & helpers
32
+ */
33
+ export declare function radarVertices(values: readonly number[], options?: RadarOptions): RadarVertex[];
34
+ /**
35
+ * Checks that every non-empty group has exactly one value per axis label.
36
+ *
37
+ * @throws If a non-empty group's length differs from `axisLabels.length`.
38
+ */
39
+ export declare function assertRadarShape(groups: readonly (readonly number[])[], axisLabels?: readonly string[]): void;
40
+ /**
41
+ * One axis of a radar chart on one frame of a keyed transition between two
42
+ * axis sets. See {@link radarAxisFrames}.
43
+ *
44
+ * @category Math & helpers
45
+ */
46
+ export interface RadarAxisFrame {
47
+ /** The axis's identity: its name, or its position when the axes are unnamed. */
48
+ key: BandKey;
49
+ /** Its place in the union of both ends' axes (`from`'s in order, then those only in `to`). */
50
+ slot: number;
51
+ /** Its index among `from`'s axes, or -1 when only `to` has it. */
52
+ from: number;
53
+ /** Its index among `to`'s axes, or -1 when only `from` has it (or without a `to`). */
54
+ to: number;
55
+ /** Whether both ends have it (always, without a `to`): it never folds away. */
56
+ anchor: boolean;
57
+ /** Radians from +x it points along on this frame. */
58
+ angle: number;
59
+ /** 0..1: how far it is unfolded (1 for an anchor, `1 − exit` leaving, `enter` arriving). */
60
+ weight: number;
61
+ }
62
+ /**
63
+ * Options for {@link radarAxisFrames}: the sweep, and each stage's progress.
64
+ *
65
+ * @category Math & helpers
66
+ */
67
+ export interface RadarAxisFrameOptions extends PolarSweepOptions {
68
+ /** Progress of the exit stage, 0..1. */
69
+ exit?: number;
70
+ /** Progress of the update stage, 0..1. */
71
+ update?: number;
72
+ /** Progress of the enter stage, 0..1. */
73
+ enter?: number;
74
+ }
75
+ /**
76
+ * A radar chart's axes on one frame of a keyed transition between two axis
77
+ * sets, matched by name (or position). Axes in both ends turn the short way
78
+ * on the update stage; others fold away (exit) or unfold (enter) between
79
+ * their neighbours. All stages at 0 gives `from`'s axes, at 1 `to`'s.
80
+ *
81
+ * @param to - The axis keys at the end; undefined without a transition.
82
+ * @returns Every axis of either end, in drawing order.
83
+ * @category Math & helpers
84
+ */
85
+ export declare function radarAxisFrames(from: readonly BandKey[], to: readonly BandKey[] | undefined, options?: RadarAxisFrameOptions): RadarAxisFrame[];
86
+ /**
87
+ * A radar polygon over {@link radarAxisFrames}' axes, in unit-circle
88
+ * coordinates. A folding axis, or one with no value, pulls its vertex onto
89
+ * the chord between its neighbours, so corners grow out of or flatten into
90
+ * the edge; with every axis whole this is {@link radarVertices}' polygon.
91
+ *
92
+ * @param valueAt - The series' value on an axis, or undefined where it has none.
93
+ * @returns The vertices; `[]` for fewer than 3.
94
+ * @category Math & helpers
95
+ */
96
+ export declare function radarFramePolygon(axes: readonly RadarAxisFrame[], valueAt: (axis: RadarAxisFrame) => number | undefined, maxValue: number): Point[];
97
+ /**
98
+ * Where an axis name's box centre sits relative to its spoke's outer end, so
99
+ * the box clears the ring by `gap` with its inner side facing the chart.
100
+ * Alignment blends smoothly within 15° of vertical and horizontal, so names
101
+ * on turning axes move without jumps.
102
+ *
103
+ * @param angle - The spoke's angle, radians from +x (y up).
104
+ * @param size - The name's box, in the units of the result.
105
+ * @category Math & helpers
106
+ */
107
+ export declare function radarLabelOffset(angle: number, size: {
108
+ width: number;
109
+ height: number;
110
+ }, gap: number): Point;
111
+ //# sourceMappingURL=radar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radar.d.ts","sourceRoot":"","sources":["../../src/math/radar.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,qBAAqB;AACrB,MAAM,WAAW,WAAY,SAAQ,KAAK;IACzC,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;CACd;AAED,qBAAqB;AACrB,MAAM,WAAW,YAAa,SAAQ,iBAAiB;IACtD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC5B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,GAAE,YAAiB,GACxB,WAAW,EAAE,CAqBf;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACtC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAC5B,IAAI,CASN;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC9B,gFAAgF;IAChF,GAAG,EAAE,OAAO,CAAC;IACb,8FAA8F;IAC9F,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,EAAE,EAAE,MAAM,CAAC;IACX,+EAA+E;IAC/E,MAAM,EAAE,OAAO,CAAC;IAChB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC/D,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAUD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC9B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,EAClC,OAAO,GAAE,qBAA0B,GACjC,cAAc,EAAE,CA4FlB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAChC,IAAI,EAAE,SAAS,cAAc,EAAE,EAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,MAAM,GAAG,SAAS,EACrD,QAAQ,EAAE,MAAM,GACd,KAAK,EAAE,CAsDT;AAKD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACvC,GAAG,EAAE,MAAM,GACT,KAAK,CAQP"}
@@ -0,0 +1,99 @@
1
+ /** Axis ranging for data plotted from raw values rather than a function. */
2
+ import type { Range, ScaleName, TimeZone } from "@sophistry/core/geometry";
3
+ /** @category Math */
4
+ export interface AutoRangeOptions {
5
+ /** Roughly how many ticks the rounded range should offer. @default 5 */
6
+ targetTicks?: number;
7
+ }
8
+ /**
9
+ * Rounds a data span out to a whole number of nice steps, always including
10
+ * zero (an axis starting at 90 exaggerates differences). For charts whose
11
+ * caller gave no explicit range.
12
+ *
13
+ * @param values - The data the axis must cover; non-finite entries are ignored.
14
+ * @returns `[min, max, step]` containing 0; `[0, 1, 1]` when there is no spread.
15
+ * @category Math & helpers
16
+ */
17
+ export declare function autoRange(values: readonly number[], options?: AutoRangeOptions): Range;
18
+ /**
19
+ * Options for {@link fitRange}.
20
+ *
21
+ * @category Math & helpers
22
+ */
23
+ export interface FitRangeOptions {
24
+ /**
25
+ * The scale the range is for, which decides what "round" means: a 1-2-5
26
+ * step for linear, sqrt and symlog, whole decades for log, calendar units
27
+ * for time and utc.
28
+ * @default "linear"
29
+ */
30
+ type?: ScaleName;
31
+ /**
32
+ * Stretch the range to include zero, for marks whose length encodes value
33
+ * (bars, areas, histograms). Ignored by log and time scales.
34
+ * @default false
35
+ */
36
+ zero?: boolean;
37
+ /**
38
+ * Round the ends out to tick values. `false` keeps the data's ends;
39
+ * `"tight"` rounds an end out only when the next tick is within a quarter
40
+ * step of the data (weeks 0–11 fit `[0, 11]`, not `[0, 15]`).
41
+ * @default true
42
+ */
43
+ nice?: boolean | "tight";
44
+ /** Roughly how many ticks the rounded range should offer. @default 5 */
45
+ targetTicks?: number;
46
+ /** Log base, when `type` is `"log"`. @default 10 */
47
+ base?: number;
48
+ /**
49
+ * The zone whose calendar a time range rounds to: an IANA name, `"UTC"` or
50
+ * `"local"`. Omitted, `"utc"` rounds in UTC and `"time"` in local time.
51
+ */
52
+ timeZone?: TimeZone;
53
+ /**
54
+ * Pad the data's extent by this fraction of its span on each side before
55
+ * rounding; a side pinned at zero by `zero` stays there. Ignored by log.
56
+ * @default 0
57
+ */
58
+ margin?: number;
59
+ }
60
+ /**
61
+ * The range an axis should span to show `values`: their extent, stretched to
62
+ * zero if asked, rounded out to ticks for the scale type. This is how
63
+ * `<Chart>` fits its axes. Non-finite values (and non-positive ones on a
64
+ * log scale) are ignored; one value or none still gets a usable span.
65
+ *
66
+ * @returns `[min, max, step]` on a nice linear-family range, `[min, max]` otherwise.
67
+ * @category Math & helpers
68
+ */
69
+ export declare function fitRange(values: readonly number[], options?: FitRangeOptions): Range;
70
+ /**
71
+ * Options for {@link alignedRange}.
72
+ *
73
+ * @category Math & helpers
74
+ */
75
+ export interface AlignedRangeOptions {
76
+ /** Keep zero in range (bars, areas). @default false */
77
+ zero?: boolean;
78
+ /**
79
+ * Pad the data's extent by this fraction of its span first, as {@link FitRangeOptions.margin}.
80
+ * @default 0
81
+ */
82
+ margin?: number;
83
+ /** The two axes run opposite ways (one is reversed). @default false */
84
+ opposite?: boolean;
85
+ }
86
+ /**
87
+ * A secondary axis range whose ticks fall exactly where the primary's do,
88
+ * so one grid serves both: the same number of tick intervals, with the
89
+ * smallest nice step (1, 2, 2.5 or 5 × 10ⁿ) that covers `values`. Linear
90
+ * axes only.
91
+ *
92
+ * @param primary - The primary axis's range, `[min, max, step?]` (either order).
93
+ * @param primaryTicks - The primary's major tick values, evenly spaced (at least two).
94
+ * @param values - The data the secondary axis must show.
95
+ * @returns `[min, max, step]` ascending, or undefined when the primary has fewer than two ticks.
96
+ * @category Math & helpers
97
+ */
98
+ export declare function alignedRange(primary: Range, primaryTicks: readonly number[], values: readonly number[], options?: AlignedRangeOptions): Range | undefined;
99
+ //# sourceMappingURL=range.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../src/math/range.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAS3E,qBAAqB;AACrB,MAAM,WAAW,gBAAgB;IAChC,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAkBD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACxB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,GAAE,gBAAqB,GAC5B,KAAK,CAEP;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACvB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,GAAE,eAAoB,GAC3B,KAAK,CA4CP;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IACnC,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC3B,OAAO,EAAE,KAAK,EACd,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,GAAE,mBAAwB,GAC/B,KAAK,GAAG,SAAS,CAkDnB"}